acme/examples/macedit.a

81 lines
3.5 KiB
Plaintext

;ACME 0.95
; ist der komplette Sourcecode von MacEdit
; (80-Zeichen-Version)
; Version 0.7
; Weitere Informationen am Ende der Datei
; Parameter:
!to "macedit.o", cbm
;!sl "macedit.l"
*= $1300
!ct pet
!source <6502/std.a>
!ifndef lib_6502_std_a {
!serious "To assemble this program, you need to install the current ACME library."
}
!source "me/macros.a"
!source "me/const.a"
; Code:
jmp init ; zum Programm
!text "TekFile", 0 ; DateiFormat + 'program'
!word progend - keyb ; length
; Gelinkt wird:
keyb
!binary "me/tables.bin", 826
keytabs = keyb + 12 ; 6 Tastaturtabs &
atst = keytabs + $22e ; ASCII-2-Screen-Tabelle
!source "me/vars.a"
!source "me/core.a"
!source "me/file.a"
!source "me/out.a"
!source "me/cursor.a"
linebuf
progend = linebuf+128
!byte 0 ; 128 Byte Zeilenpuffer
!eof
Änderungen von Version 0.6 zu Version 0.7:
Das DCS-Window wurde implementiert, dadurch wurde auch ein Unterschied zwischen "Beenden" und "Basic" eingebaut (Bei ersterem erfolgt die DCS-Abfrage).
Die Strings der Windows liegen jetzt nicht mehr als Screencodes vor, sondern als PetSCII-Werte; die Routine ".makewin" konvertiert dies also.
Die Bedeutung des Flags "unnamed" wurde invertiert.
Spätere Änderungen am Source:
19. 4.1997: Durch Weiterentwicklung von V0.6 erzeugt (kommentarlos)
24. 9.1998: Kommentare von V0.6 wieder hinzugefügt
25. 9.1998: Umformatierung auf ACME-Syntax
10.10.1998: Ersetzen von "{" und "}" in Labels durch "_" und "__"
12.10.1998: Unterschiede zu v0.6 dokumentiert.
30.10.1998: "+ =" wieder zu "+=" korrigiert.
1.11.1998: Alle Labels wieder globalisiert.
2.11.1998: Tabulatorlayout wieder korrigiert und "~" durch "___" ersetzt.
3.11.1998: Label "notmany!" durch "notmany" ersetzt. Wo kam das bloß her ?
4.11.1998: Zwei fehlerhafte Auskommentierungen entsorgt. Die Stellen wurden mit "**mark**" gekennzeichnet. Wo kam das bloß her ? Außerdem wurde "< = >" in einem Textstring wieder zu "<=>" korrigiert. Das ist wohl beim automatischen Layout passiert.
4.11.1998: Top-Bit-Set-Zeichen aus Textstrings enfernt und byteweise eingefügt, z.B. auch "Cursor up/down/left/right"-Werte. Außerdem alle Filenamen angepaßt.
5.11.1998: Auch die Umlaute nun zu Bytewerten gewandelt.
19.11.1998: "!cbm" eingefügt, da geänderte ACME-Funktion "!text".
24.11.1998: Filenamen bei "!to" und "!bin" auf UNIX-Stil gebracht.
27.11.1998: Aufeinanderfolgende "!tx" und "!by" gemerged, BIT-Trick benutzt, Hexzahlen auf lowercase gebracht, Binärzahlen auf Spezialformat gebracht, Einrückungen dezimiert, Zahlen durch Label ersetzt, "firsttry" in "repeatedtry" umbenannt (war vorher unlogisch).
28.11.1998: Auf Benutzung von Modulen und lokalen Labels umgestellt.
30.11.1998: Alle "!module" durch "!zone" ersetzt (wegen ACME-Änderung).
1.12.1998: Mehrere Labels pro Zeile entzerrt (wegen ACME-Änderung).
2.12.1998: Multifile-Version, Änderungstext ans Ende verschoben.
10.12.1998: Makros eingebaut.
8. 1.1999: Library benutzt und daher Branch-Makros gelöscht, außerdem BIT-Trick durch Makroaufruf ersetzt.
24. 8.1999: An die leicht geänderte Syntax von ACME 007 angepaßt.
04 Jun 2005:
Adjusted to ACME 0.86 syntax (added output file format indicator).
26 Mar 2006:
Adjusted to ACME 0.91 syntax (anonymous labels)
Now throws serious error if the library file could not be loaded.
7 Apr 2013:
Converted to UTF-8
27 Jun 2013:
Adjusted to change in library.
1 Jun 2014:
Adjusted to experimental type system of ACME 0.95