;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