Hi!
My cartridge programs.
Cartridgeheader und Struktur für C16 und Plus/4 ?
-
cbmhardware -
9. Januar 2017 um 13:58 -
Erledigt
Es gibt 26 Antworten in diesem Thema, welches 11.456 mal aufgerufen wurde. Der letzte Beitrag (
-
-
Danke, aber da steige ich nicht durch.
Gruss
-
Bitte melde dich an, um diesen Link zu sehen.
Hier ist ein Source-Auszug des originale 3Plus1. Da sind der Programm-Rucksack und die Texteinblendungen mit drin. Das wird original in Bank $0c eingeblendet, also als internes Function-ROM.
Daraus muss dann Bank $02 werden, wie hier: Bitte melde dich an, um diesen Link zu sehen. . Da werden dann auch noch ein paar Vektoren initialisiert.Wenn Du dieses Prinzip verstanden hast, vergleichst Du das mit dem Quelltext von gerryke im Monitor.
Das Einblenden eines Moduls ist beim Plus/4 ein Flickwerk aus Einschleifen ins System, Jump-Code ins Modul und ggf. den Texteinblendungen mit anschließender Sys-Zeile.
-
Der 3-plus-1-Header ist universal und erkennt selbsttätig, auf welchem Steckplatz (in welcher Bank) das ROM sitzt. Genauer gesagt wird diese Info von dem Kernal-'ROM Walk' hinterlegt, wenn es beim Systemstart die ROMs eins nach dem anderen initialisiert. IIRC würde das sogar mit mehreren ROMs funktionieren, die dann auf verschiedene F-Tasten gelegt und wahlweise gestartet werden.
-
-
Der 3-plus-1-Header ist universal und erkennt selbsttätig, auf welchem Steckplatz (in welcher Bank) das ROM sitzt. Genauer gesagt wird diese Info von dem Kernal-'ROM Walk' hinterlegt, wenn es beim Systemstart die ROMs eins nach dem anderen initialisiert. IIRC würde das sogar mit mehreren ROMs funktionieren, die dann auf verschiedene F-Tasten gelegt und wahlweise gestartet werden.
Im 3plus1 steht wie in jedem anderen Modul die Bank, die von der Initialisierung des Rechners in eine Tabelle geschrieben und in Reihenfolge abgearbeitet werden. Die Nummer der F-Taste wird dann variabel vergeben.
Da sind einige ROMs per F-Tasten wählbar wenn die Header wie im 3plus1 verwendet wird. Wahrscheinlich einmal intern und zwei mal extern (mit Kernal). F1: intern, F2: extern 1, F3: extern 2. Und dann natürlich noch in kuriosen Bank-Mischungen.spacer: den Rest musst Du Dir schon selbst erarbeiten.
-
Danke für die Info.
Kann man mein Programm nicht irgendwo da Plazieren damit es läuft ?
Danke.
GRuss -