atari-home.de - Foren

Hardware => Hardware (Classic 16-/32-Bit) => Thema gestartet von: czietz am Fr 04.08.2017, 22:42:32

Titel: GameCart, ein undokumentiertes Register im STE
Beitrag von: czietz am Fr 04.08.2017, 22:42:32
Während ich mir die Adressdekodierung im Innenleben der GSTMCU [1] angeguckt habe, bin ich durch Zufall auf ein undokumentiertes Register gestoßen: $FF9000, Byte-Zugriff. Nur das unterste Bit wird genutzt, für eine Funktion namens GameCart. Setzt man das Bit auf '1' wird der Adressbereich des Cartridge-Ports auf $D80000 - $DFFFFF umgemappt. Ich habe an meinem STE getestet, dass das wirklich funktioniert!

Normalerweise nutzt der Cartridge-Port ja die Adressen $FA0000 - $FBFFFF, wobei $FAxxxx zum Chip-Select-Signal ROM4 führt und $FBxxxx zu ROM3. Mit dem GameCart-Bit ist $D80000 - $DBFFFF auf ROM4 abgebildet und $DC0000 - $DFFFFF auf ROM3. Zugriffe auf $FA0000 - $FBFFFF führen dann zum Bus-Error. Leider kann dieser erweiterte Adressbereich (512 kB statt 128 kB) nicht ohne weiteres genutzt werden, da am Cartridge-Port nur die Adressleitung bis einschließlich A15 anliegen und damit nur eine Adressierung von 2*64 kB erlauben.

Die Benennung dieses Bits lässt mich vermuten, dass Atari die STE-Hardware (insbes. die GSTMCU) als Basis für eine cartridge-basierte Spielekonsole verwenden wollte.

[1] http://www.chzsoft.de/asic-web/
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: 1ST1 am Sa 05.08.2017, 04:47:20
Wow, sehr interessant! Wie bst du denn auf die Bennennung des Portsbzw. Bits gekommen, steht das so im Schaltplan drin?

Im nächsten Schritt müsste man sich mal überlegen, in welchem zeitlichen Konsenz die Entwicklung der GSTMCU statt fand, und ob da überhaupt noch eine Spielekonsole auf STE-Basis (vor allem wegen der Grafikfähigkeiten) noch SInn machte, und ob man zu dem Zeitpunkt zeitgemäße Spiele überhaupt noch in 512 kB unterbringen konnte!
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: MJaap am Sa 05.08.2017, 08:37:43
Wow, sehr interessant! Wie bst du denn auf die Bennennung des Portsbzw. Bits gekommen, steht das so im Schaltplan drin?

Im nächsten Schritt müsste man sich mal überlegen, in welchem zeitlichen Konsenz die Entwicklung der GSTMCU statt fand, und ob da überhaupt noch eine Spielekonsole auf STE-Basis (vor allem wegen der Grafikfähigkeiten) noch SInn machte, und ob man zu dem Zeitpunkt zeitgemäße Spiele überhaupt noch in 512 kB unterbringen konnte!

512 KB entsprechen 4 Megabit. Sonic the Hedgehog 1 für das Mega Drive wurde auf einer 4-Megabit-Cartridge veröffentlicht. Zu dem Zeitpunkt wären also 512 KB für Konsolen-Spiele ausreichend gewesen. Später waren allerdings eher 8 Megabit die Norm, in der Spätphase erschienen auch Spiele auf 16 und 24 Megabit Cartridges (Neo Geo lasse ich mal weg). Eventuell hätte ein STEGS aber auch Bankswitching unterstützt, die Cartridge-Größe wäre als vermutlich das geringste Problem gewesen.

Die Grafikfähigkeiten wären nicht mehr zeitgemäß gewesen, ein STE stellt ohne Tricks weniger Farben dar als ein Mega Drive oder eine PC-Engine. Von der Technik abgesehen hätte es Atari auch noch schwergehabt, überhaupt Spiele für den STE zu entwickeln. Eigene Entwicklungsstudios waren enorm wichtig für den Erfolg der Konsolen von Nintendo und Sega.
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: czietz am Sa 05.08.2017, 09:04:47
512 KB entsprechen 4 Megabit. Sonic the Hedgehog 1 für das Mega Drive wurde auf einer 4-Megabit-Cartridge veröffentlicht. Zu dem Zeitpunkt wären also 512 KB für Konsolen-Spiele ausreichend gewesen.

Dazu kommt, dass die GSTMCU ja weitere Chipselects hat, die im STE weitgehend nicht genutzt werden. Das komplette Mapping:

D00000 - D3FFFF: ROM6
D40000 - D7FFFF: ROM5
D80000 - DBFFFF: ROM4, wenn GameCart Bit gesetzt, im STE für Cartridge-Port genutzt (FAxxxx)
DC0000 - DFFFFF: ROM3, wenn GameCart Bit gesetzt, im STE für Cartridge-Port genutzt (FBxxxx)
E00000 - E3FFFF: ROM2, im STE für TOS-ROM genutzt
E40000 - E7FFFF: ROM1
E80000 - EBFFFF: ROM0

Wenn man nun annimmt, dass eine Konsole kein TOS hätte, hätte man 1,75 MiB Adressbereich für ROMs, 1989 sicherlich genug.

Wow, sehr interessant! Wie bst du denn auf die Bennennung des Portsbzw. Bits gekommen, steht das so im Schaltplan drin?

Ja, das steht so im Schaltplan.
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: 1ST1 am Sa 05.08.2017, 09:26:49
Ok, 1,75MB wäre sicher genug. Aber die GSTMCU war ja so nicht schon in den ersten STE drin, sondern kam doch erst später? War die GSTMCU nicht die Version, wo dann auch schon der Blitter mit integriert ist?

Jetzt müsste man wirklich mal rausbekommen, was die konkret dafür geplant hatten, "STEGS" hört sich ja schonmal recht interessant an. Ich mutmaße mal:
1. DMA-Controller und Floppycontroller weg
2. Yamaha weg, das Gepiepse war nicht mehr zeitgemäß, Druckerport wurde sicher auch nicht gebraucht
3. Wenigstens der Midi-CIA weg, wenn nicht gar beide, wenn man nur die STE-Joysticks verwendet (also kein IKB anbindet)
4. 1-4 MB RAM, klar...
5. wie gehabt 68000-8
6. STE-DMA-Sound
7. STE-Grafik (möglicherweise ohne Mono-Detect/Out)
8. Cardridgeport mit 512kB bis 1,75 MB Adressraun, evtl. nicht komplett, sondern auch für internes ROM verwendet
9. Evtl. weitere Signale am Cardridgeport, für ein Modul, um daraus wieder einen vollständigen STE zu machen.

Verrückt wäre, wenn du jetzt in der GSTMCU eine Schaltung finden würdest, die das selbe macht wie AutoSwitchOverscan...
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: Lukas Frank am Sa 05.08.2017, 09:42:54
War schon in allen STE drin und auch im Mega STE ...

(http://forum.atari-home.de/index.php?action=dlattach;topic=13768.0;attach=14289;image)
Titel: Re: GameCart, ein undokumentiertes Register im STE
Beitrag von: czietz am Sa 28.09.2019, 18:14:45
"We Love Atari (Volume Two)" enthält übrigens Details über die von mir im Ursprungsposting vermutete Spielekonsole. "Project Robin" (S. 154) wäre eine Konsole auf Basis abgespeckter STE-Hardware geworden, mit 512 kB Cartridge-ROM. Passt zum Register, das ich damals entdeckt hatte.