Moin,
es gibt was neues und zwar 2 neue Modul-Generatoren:
make_64k_TC_Multifile-Multiload_EPROM-FILES_linux_x64
make_128k_TC_Multifile-Multiload_EPROM-FILES_linux_x64
TC steht hier für Tinycrunch !
Dieser Multifile-Multiload EPROM-Generator fuer das UNIPROM64-EPROM-Modul bestehent aus einer
Shell-Script-Datei (make_TC_Multifile-Multiload_EPROM.sh) und einer dazugehoehrigen Config-Datei
(multifilelist.conf).
Das Shell-Script erstellt zusammen mit der Config-Datei aus einem oder mehreren
PRG-Files ein 64kb bzw. 128kb grosses EPROM-File, welches auf einen 27C512-EPROM gebrannt werden
und dann mit der UNIPROM64-EPROM-Karte benutzt werden kann.
Beim Ausfuehren der Shell-Script-Datei unter Linux werden alle Files mittels
Tinycrunch inplace gepackt (-vi). Dadurch ist es auch möglich, z.b. Leveldaten über das
UNIPROM64-Modul nachzuladen und inplace zu entpacken ohne den restlichen Speicher anzutasten.
Über das Shell-Script wird vollautomatisch der dazugehörige Header-Quellcode assembliert, dann mit dem
entsprechenden Programmfiles zusammengefuegt und schliesslich die fertige BIN-Batei
in den Ordner "TC_Multifile-Multiload_64kb-EPROM-DATA" abgelegt.
Weiterhin wird fuer Testzwecke ein CRT-File erstellt, das man im Vice als Cartridge laden
kann um zu sehen, ob Alles zur Zufriedenheit erstellt wurde und auch laeuft.
Die gepackten Files sind Headerless, d..h. die Entpackroutine gibt es nur 1x im Modul - das spart Speicherplatz ....
Dieser Modulgenerator ist für gepatchte Nachlade-Programme !
Es kann alles kopiert/extrahiert werden zwischen $0200 und $FFFF - selbstverständlich auch unter den ROMs und unter den I/O-Bereichen.
Es werden nur folgende Zeropage/Stack-RAM-Adressen verwendet:
$02, $FA-$FF, $0100-$01C7
Der Rest steht im Modulcode oder wurde bereits vom Shellscript erledigt 
Das erste Programm wird nach dem RESET automatisch gestartet. In dem Programm sollte die Load-Routine für die Nachladung der nächsten Files mit der
Nachlade-Routine des UNIPROM64-Moduls ersetzt werden, und zwar wie folgt:
- Der nächste Programmteil o.ä. wird wie folgt geladen:
- -------------------------------------------------------
- sei ; IRQ sperren
- lda #$37 ;
- sta $01 ; Speicher auf ROM umschalten
- ldx #$00
- stx $DF00 ; UNIPROM64 - Bank0 einschalten
- ldx #$XX ; XX ist der Index des Files (Filenummer in der "multifilelist.conf"), welches
- ; geladen und ggf. gestartet werden soll
- ; der Index beginnt mit #$00(1. File), #$01(2.File), #$02(3.File) u.s.w.
- jsr $8009 ; Kopier-/Entpackroutine wird ausgeführt mit den Parametern, welche für das entsprechene File bei der
- ; ROM-Erstellung in der "multifilelist.conf" gesetzt waren.
- ; Falls das File mit einer startjump-Adresse angegeben ist, welche auf ein RTS zeigt
- ; (z.B. 0x008a oder 0x013d(RTS der Entpackroutine)),
- ; dann gehts im nächsten Schritt weiter zu ....
- jmp $ProgrammFortfuehrung
Display More
viel Spaß mit den neuen Features des UNIPROM64-Moduls 