Aufruf/Bitte: Modulsoftware für BEIDE großen Standards!
von tfhh » Di 7. Dez 2010, 12:55Moin Moin,
ich möchte auf diesem Wege den Aufruf starten und alle Programmierer und Entwickler von Software für EPROM, ROM, Flash-ROM, SRAM usw. Modultechnik bitten, doch ihre Software künftig für "die beiden" am meisten genutzten Standards für Bankswitching-Module anzupassen.
Es gibt da einmal den Typ Module, bei denen die Bänke über die Adressleitungen ausgewählt werden und der andere Typus, bei dem das über die Datenleitungen geschieht.
Typ 1: MegaCart, in Teilen auch Corina uvm. (u.A. das 512 KB Flash-ROM Modul von Bernd/Dietrich/Hias) mit Datenleitungen, d.h. Auswahl der Bank über Schreibzugriff auf $D500-$D5FF (Adresse egal), Bit 7 schaltet Modul ein/aus, Bit 0-6 wählt Bank aus.
Typ 2: AtariMax/MegaMax uvm. mit Adressleitungen, d.h. Auswahl der Bank durch Lese-/Schreibzugriff auf $D500-$D5FF, wobei $D500-$D57F die Bank auswählt (und das Modul einschaltet) und ein Zugriff auf $D580-$D5FF das Modul abschaltet.
Die Software-Anpassungen sind derart minimal, daß es leicht umzusetzen ist. Beispiele:
Assembler-Beispiel für Auswahl einer Bank beim MegaCart-Standard:
Assembler-Beispiel für Auswahl einer Bank beim AtariMax-Standard:
Vorschlag zur universellen Anpassung:
Mit dieser minimalen Änderung laufen alle erzeugten Programme und Anwendungen auf beiden Modultechniken ohne weitere Änderungen.
Die von mir ursprünglich für das MegaMax-Cartridge in Entwicklung befindliche Software wird bei Veröffentlichung auch mit allen MegaCart-kompatiblen Modulen arbeiten und ohne Einschränkungen funktionieren. Es wäre schön, wenn andere diesem Beispiel folgen würden.
Gruß, Jürgen
ich möchte auf diesem Wege den Aufruf starten und alle Programmierer und Entwickler von Software für EPROM, ROM, Flash-ROM, SRAM usw. Modultechnik bitten, doch ihre Software künftig für "die beiden" am meisten genutzten Standards für Bankswitching-Module anzupassen.
Es gibt da einmal den Typ Module, bei denen die Bänke über die Adressleitungen ausgewählt werden und der andere Typus, bei dem das über die Datenleitungen geschieht.
Typ 1: MegaCart, in Teilen auch Corina uvm. (u.A. das 512 KB Flash-ROM Modul von Bernd/Dietrich/Hias) mit Datenleitungen, d.h. Auswahl der Bank über Schreibzugriff auf $D500-$D5FF (Adresse egal), Bit 7 schaltet Modul ein/aus, Bit 0-6 wählt Bank aus.
Typ 2: AtariMax/MegaMax uvm. mit Adressleitungen, d.h. Auswahl der Bank durch Lese-/Schreibzugriff auf $D500-$D5FF, wobei $D500-$D57F die Bank auswählt (und das Modul einschaltet) und ein Zugriff auf $D580-$D5FF das Modul abschaltet.
Die Software-Anpassungen sind derart minimal, daß es leicht umzusetzen ist. Beispiele:
Assembler-Beispiel für Auswahl einer Bank beim MegaCart-Standard:
- Code: Alles auswählen
LDA #$0F ; Bank 15 soll ausgewählt werden
STA $D500 ; auswählen - wobei hier $D500-$D5FF stehen kann (hinter "STA")
Assembler-Beispiel für Auswahl einer Bank beim AtariMax-Standard:
- Code: Alles auswählen
STA $D50F ; Bank 15 auswählen, der Wert, der geschrieben wird, ist völlig egal
Vorschlag zur universellen Anpassung:
- Code: Alles auswählen
LDA #$0F ; Bank 15 soll ausgewählt werden
TAY ; Akku nach Y kopieren
STA $D500,Y ; Wert des Akku nach $D500 + Y schreiben
Mit dieser minimalen Änderung laufen alle erzeugten Programme und Anwendungen auf beiden Modultechniken ohne weitere Änderungen.
Die von mir ursprünglich für das MegaMax-Cartridge in Entwicklung befindliche Software wird bei Veröffentlichung auch mit allen MegaCart-kompatiblen Modulen arbeiten und ohne Einschränkungen funktionieren. Es wäre schön, wenn andere diesem Beispiel folgen würden.
Gruß, Jürgen