Wie ich mich schon beim Thread ROMs Änderungen per disassembler herrausfinden?!? gefragt habe, ist zu den Atari PC1, PC2, PC3 BIOS Versionen nichts bekannt...
Nun hab ich mal bei meinem Atari PC1 das v3.05 ROM per "GETBIOS.COM" ausgelesen...
GETBIOS ist glaube ich nicht so ganz 100% zuverläßig... Ich müßte den ROM Baustein mal ausbauen und richtig auslesen... Aber naja...
C000.ROM scheint das richtige ROM zu sein. Strings aus diesem sind u.a.:
IBM EGA,CGA,MDA,HGC CMPTBL(C)COPYRIGHT NSI 1986 9/26/86
NSI LOGIC INCORPORATED ...SMART EGA (R)
MODE SAVE STATUS: $EGA$EGAM$CGA$MDA$
PALETTE SAVE STATUS : $USER $DEFAULT $PALETTE
SMART MODE STATUS: $ENABLED
$DISABLED
$PSQRVW
E000.ROM sieht für mich falsch aus, auch wenn es offenbar mit dem ASCII Zeichensatz endet, steht sonst nur "doppelte" Zeichen drin...
F000.ROM startet ebenfalls mit recht vielen Zeichen-Wiederholungen, aber dann kommt offenbar doch noch Code, beginnend mit dem String PSQRVWU der oben schon mal vorgekommen ist. Als Variable?!?
Ansonsten sind da noch diese Strings:
(C)Award 1986 IBM COMPATIBLE
INSERT SYSTEM DISK IN DRIVE A, AND PRESS ANY KEY
301
1801
KB MEMORY GOOD
201
601
ERROR.PRESS F1 KEY TO CONTINUE
PARITY CHECK 2
PARITY CHECK 1
(C) Copyright Award Software Inc. 1986
ALL RIGHTS RESERVED
ATARI PC COPYRIGHT 1987
PC BIOS V3.05 COPYRIGHT Award Software Inc. 1987
09/17/87
Display More
Ganz schön viele Copyrights, dafür das der ROM-Speicher kapp ist, was?
Beim Booten sieht man eigentlich nur:
Finde interessant, das kein konkretes Datum wie 09/17/87 zu sehen ist...
Hab mal ein Vergleich mit wxHexEditor zwischen meinen *.ROM Dateien und der v3.06 von http://www.ataripc.net/biosrom-images/ gemacht... Offensichtlich hat GETBIOS.COM die Dateien anders aufgeteilt, wie sie eigentlich sein sollten:
Offenbar gehören C000.ROM und die letzte "hälfte" (16384Bytes) von F000.ROM zusammen...
Das gab ich mal händisch korrigiert und dann 3.05 und 3.06 in wxHexEditor verglichen:
Die ersten 20734 Bytes sind identisch, aber 3.06 hat ein paar Strings mehr:
Ein Vergleich zwischen 3.06 und 3.07 sieht da deutlich anders aus: Dort sind die ersten ~8KB deutlich anders und danach fast identisch.
Bei 3.07 und 3.08 ist es so, das wieder der erste Teil gleich ist und danach komm ein neuer Code block, der vorher leer war, mit diesen Strings:
Andere Änderungen scheinen sehr klein zu sein.
Hier mal die internen Datumstempel, im Vergleich: Erstes Datum vom BIOS, zweite vom NSI Video
- v3.05 - 09/17/87 -> 17.09.1987 - 9/26/86 -> 26.09.1986
- v3.06 - 10/01/87 -> 01.10.1987 - 9/26/86 -> 26.09.1986
- v3.07 - 10/19/87 -> 19.10.1987 - 2/9/87 -> 09.02.1987
- v3.08 - 12/15/87 -> 15.12.1987 - 2/9/87 -> 09.02.1987
Ich Rate aus alle dem, folgendes:
- v3.05 -> v3.06: Parity checks eingebaut
- v3.06 -> v3.07: NSI Video BIOS aktualisiert
- v3.07 -> v3.08: RTC Support hinzugefügt
RTC finde ich ja interessant... Ist das ein Hinweis darauf, das eine RTC per ISA Slot möglich ist? Vielleicht die Lösung von https://github.com/spark2k06/RTC8088 ?!?