★ APPLICATIONS ★ DIVERS ★ Das Unding ★![]() |
MS-DOS-Emulator (CPC Amstrad International) | Applications Divers |
MS-DOS-Emulator für die CPCs Einige Leser unserer Zeitschrift hatten es schon lange vermutet, daß der Z80 des CPC (gleich welcher Marke) von Anfang an die Systemroutinen der CPU 8086/8088 enthält. Was viele Programmierer angezweifelt hatten, ist nun, dank unseres freien Mitarbeiters Adalbert Pril, endlich bewiesen worden: Die CPCs sind voll MS-DOS-tauglich. Alles was Sie brauchen, ist unser kleines Emulatorprogramm. Die Systemroutinen, die das eigentliche MS/DOS bilden, sind von vornherein in die sogenannten Hidden- RAMs implementiert worden. Das hört sich jetzt einfach an, ist es aber nicht. Diese Hidden-RAMs belegen nämlich den Speicherbereich von &10000 bis &FFFFF bei den CPCs, und damit beginnt auch schon die Schwierigkeit. Der CPC kann nämlich von sich aus nur den Speicherbereich von &0000 bis &FFFF adressieren, da der Adreßbus nur 16 Bit breit (von 0 — 65535) ist. Es gibt aber eine vom Hersteller dafür vorgesehene Speicherstelle, die den Adreßbereich von &0000-&FFFF nach &00000-&FFFFF umschaltet. Doch hier trifft man auf den heftigsten Widerstand. Wir schießen ein ROM Keine Angst, Ihr Rechner wird auf keinen Fall erledigt, auch wenn sich dieses in der letzten Überschrift so anhört. Vielmehr passiert folgendes: Da die anzusprechende Speicherstelle innerhalb des Firmware-ROMs liegt, ist es klar, daß hier ein einfacher POKE-Befehl nichts fruchtet. Es gibt aber eine Systemroutine namens SHOOT BIT PC, die auf eine Anweisung hin (die im Programm durch das kurze MC- Listing initialisiert wird) das achte Bit der Speicherstelle &FF0A im ROM durch Bit-Beschuß in ein nächsthöherwertiges, also neuntes, umwandelt. Damit werden gleichzeitig die Hidden-RAMs aktiviert, und alle MS-DOS-Befehle stehen auf Abruf bereit. Da MS-DOS aber alle Befehle auf Diskette sucht, müssen diese erst von den Hidden-RAMs auf Diskette kopiert werden. Der erste Teil dieses Programms erledigt diese Arbeiten. Das DOS-SHELL besteht eigentlich nur aus einer Stringabfrage, mit der der eigentliche Befehl von Diskette gesucht und ausgeführt wird. Haben Sie einen Fehler gemacht, wird durch eine interne Speicherabfrage zu einer Fehlerroutine abgezweigt, die auf Druck der Taste “H“ (wie HILFE) Informationen zum Programm abgibt. Übrigens brauchen Sie wegen des geschossenen Bits keine Sorgen zu haben. Wenn Sie den Rechner ausschalten und 20 Minuten stehen lassen, regeneriert sich alles automatisch wieder, und nach dem Einschalten stehen Ihnen alle BASIC-Befehle wieder zur Verfügung. Und nun viel Erfolg mit MS-DOS. Ein Tip, zeigen Sie Ihren Verwandten, die einen PC besitzen, doch einmal, zu welchen Leistungen Ihr Rechner fähig ist.
|