Hallo Zusammen,
ich wollte hier mal etwas Eigenwerbung für mein neues Release von TinyASM für den VC20 machen.
Es handelt sich um einen Assembler für den VC20 ohne Speichererweiterung bzw. Zusatzmodul.
Er lässt sich von Diskette laden und läuft direkt im RAM. Als ich damit gestartet hatte dachte ich, sowas gibt es noch nicht.
Der Code wird sofort übersetzt und in den Speicher geschrieben, weshalb es sich auch eher um einen Monitor handeln könnte.
Aber ich wollte mal ein bisschen provozieren und habe es Assembler genannt 
(TinyMonitor klingt auch irgendwie nicht sol cool...)
Der Hauptfokus bei diesem Projekt liegt darauf, möglichst viel Speicher zum Programmieren freizulassen.
Das bedeutet leider, dass viele nützliche Features auf der Strecke geblieben sind.
Die Messlatte hatte ich mir bei min. 1024 Bytes gelegt.
Aktuell kann das eigene Programm beliebig zwischen $1931 und $1DFF liegen und somit kann ein Programm bis zu 1230 Bytes groß sein.
Auf der Zero Page sind die Adressen $01-$36 nutzbar.
Alle anderen Bereiche (wirklich alle) werden vom Assembler belegt.
Die Programmne lassen sich auf Diskette speichern und können mit dem passenden SYS-Befehl gestartet werden.
Das war ein hartes Stück Arbeit. Ich hoffe der ein oder andere hier hat Lust sich das mal anzusehen.
Wer Interesse hat, sollte unbedingt das Video ansehen. Ohne wäre es m.E. zu schwierig zu verstehen.
Hier die implementieren Funktionen im Überblick:
- .D - löscht eine Programmzeile (delete)
- .I$0a - fügt $nn Bytes (hier 10 Bytes) ein (insert)
- .J$1A00 - Zur Adresse $nnmm springen (jump)
- .L“NAME“,8 - Load programm
- .S“NAME“,8 - Lave programm
- .B - zwischen Code- and Byte-Anzeige umschalten
- .T“ABCD…“ - Text eingeben (text)
- .$01$02$03... - Bytes direkt eingeben (ohne Komma)
- .Mn – einfache Labels einfügen
- F1 – Führt euren Code aus
Hier geht's zum Download.
Über Euer Feedback würde ich mich sehr freuen 