ZX-SPECTRUM EMULATOR V1.0 ========================= 1. EINLEITUNG ------------- WOZU a ZX-SPECTRUM EMULATOR? - Now, who this COMPUTER HOCHSTENS wards Name after knows, can OBIGE Question BERECHTIGT place. That at least just as ERFOLGREICHE NACHFOLGER of the LEGENDAREN ZX-81 is a 8-BIT Computer with 48 KB Main memory, 256 X 192 PIXEL GRAFIKSCHIRM in 16 Colour (MAX. 2 Colour PRO ZEICHENPOSITION) and PIEPS-SOUND. Hopeless VERALTET so for one VERWOHNTEN ST-USER. Who but, how that AUTOR, SEINERZEIT his first PROGRAMMIERFRUSTRATIONEN on ZX-81 ERLEBTE, and then hopeful on he who ZX-SPECTRUM WECHSELTE, getting this Appliance for always WOHLWOLLEND in Memory BEHALTEN. UMFANGREICHES BASIC, NAHEZU UNERSCHOPFLICHER Save (for ZX-81 VERHALTNISSE), UPPIGE FARBENPRACHT and even the Possibility TONE to ERZEUGEN. BINNEN KURZESTER Time broke one SOFTWAREFLUT Over this Computer HEREIN, because he Extreme simple and KOMFORTABEL to PROGRAMMIEREN was. ETLICHE that today on ST-SEKTOR acquaintance SOFTWARE-Firm have himself then on SPECTRUM first LORBEEREN GEHOLT. KURZUM: He is it already value, in Memory BEHALTEN to become, that ALTE "SPECCI" and that AUTOR HOFFT through the UBERTRAGUNG on he who ATARI ST still reach from and to one Glance on him throw to can. (Should yes final also on TT and perhaps also still on SF - so had to that NACHFOLGER of the TT LOGISCHERWEISE HEIBEN - still FUNKTIONSFAHIG be). And may be, that it still a pair LEUTCHEN give, the Similar feel... Him is this EMULATOR GEWIDMET! That AUTOR may on this Place whole specially CHRISTOPH ZWERSCHKE, wards VERFASSER of the SUPERBEN ZX-81-EMULATORS for he who ST, his Thanks AUSSPRECHEN. First ANGESICHTS this DEMONSTRATION that PRINZIPIELLEN MACHBARKEIT one ZX-EMULATORS was my MOTIVATION again once big enough, past the already JAHRELANG ANGESAMMELTEN Plans finally in the Did UMZUSETZEN. Gladly give I also to, in WERKE my VORBILDES me a few BELEHRT to have. After one half Year ZAHER OPTIMIERUNGEN and Fight past everyone TAKTZYKLUS, always again UNTERBROCHEN from GRAUSAMEN ABSTURZEN and WUNDERLICHEN EFFEKTEN on BILDSCHIRM can on that EIGENSTANDIGKEIT this PROGRAMMIEREPOS not GEZWEIFELT become. A RIESIGES DANKE also on my Woman (the now finally AUFATMEN can) for her Understanding and the mental Support in this Time. 2. LEISTUNG that EMULATION ------------------------- That ZX-SPECTRUM getting amazing complete EMULIERT. That only real ERWAHNENSWERTE Difference to the ORIGINAL is, that the HARDWARE-BLINKEN (FLASH), the that SPECTRUM as VIDEO-ATTRIBUT to the Direction place, from GESCHWINDIGKEITSGRUNDEN (perhaps on TT then) not supported getting. STATTDESSEN become Sign with wards FLASH-ATTRIBUT INVERS DARGESTELLT. On DEUTLICHSTEN to notice by CURSOR in ZX-BASIC, that on ORIGINAL BLINKT, by EMULATOR but bare INVERTIERT is. Therewith leave himself life. ANSONSTEN can but with following FEATURES AUFGEWARTET become: - The ZUGRUNDELIEGENDE EMULATION of the Z80-Processores supported SAMTLICHE OPCODES, also the OPERATIONEN with he who INDEXREGISTER-HALFTEN and the other 'NICHTOFFIZIELLE' Z80-Command, and the VOLLSTANDIGE INTERRUPTLOGIK of the Z80 (INTERRUPT-Fashion 2 getting in many Programs on SPECTRUM used). - The VIDEO-EMULATION place all 16 Colour of the SPECTRUM (8 FARBTONE in JEWEILS two INTENSITATEN) as well on FARBMONITOR, as also on MONOCHROMEN MONITOR (in Gray steps) DAR. - The I/O-OPERATIONEN for Keyboard, Loudspeaker and BORDER-Color (Color of the BILDSCHIRMRANDES) become ORIGINALGETREU UMGESETZT. A on JOYSTICK-PORT of the ST ANGESCHLOSSENER JOYSTICK getting as KEMPSTON- and IF2-KOMPATIBLER JOYSTICK (two STANDARDS on SPECTRUM) EMULIERT. - The KASSETTEN-HANDLING of the SPECTRUM getting complete on DISK UMGELENKT. At Statement one DATEINAMENS by Load (LOAD "name"), and by SPEICHERN (SAVE "name") is this Process TRANSPARENT. The Load of the ERSTBESTEN PROGRAMMES from Bindded VIA LOAD "", is naturally for DISKS senseless - it ERSCHEINT a FILESELEKTOR, from which one that VORHANDENEN Program AUSGEWAHLT become can. 3. START of the EMULATORS ---------------------- It become the File SPECCI.PRG and SPECCI.DAT in one BELIEBIGEN VERZEICHNIS on DISKETTE or FESTPLATTE BENOTIGT. After Start from SPECCI.PRG ERSCHEINT a TITELSCHIRM during the File SPECCI.DAT NACHGELADEN getting and the INITIALISIERUNG of the EMULATORS through getting. This last a few, because UMFANGREICHE TABELLEN in Save ANGELEGT become. It be supposed to also at least CA. 800 KB Save free be, so on ST'S with 512 KB RAM or 1040ERN with ZUVIELEN INSTALLIERTEN ACCESSORIES run the EMULATION not (it ERSCHEINT one ALERTBOX). Wrote and GETESTET honour that EMULATOR on one 1040 STF with 1 MB Save and TOS 1.0. He should but ZUMINDEST on ST under each TOS-VERSION run and himself also with FESTPLATTEN VERTRAGEN. SOLANGE bare enough Main memory available is... Falls that EMULATOR on FARBMONITOR used getting, please first in the NIEDRIGE Solution SCHALTEN (ANSONSTEN ERSCHEINT one ALERTBOX). In that MONOCHROMEN Solution become the Colour through Gray steps ERSETZT. After GEGLUCKTER INITILISIERUNG begin that NORMALE SPECTRUM-BOOTVORGANG, GEFOLGT from that EINSCHALTMELDUNG: that ST is now a NAHEZU ORIGINALER ZX-SPECTRUM. (Until on the Speed indeed, I DID MY BEST... on TT should the EMULATION CA. so fast how the ORIGINAL be - mark see). 4. BEDIENUNG of the EMULATORS -------------------------- The BELEGUNG that SPECTRUM-Keyboard honour so GETREU how possible on he who ST UBERTRAGEN. Following TABELLE show the BELEGUNG that SPECTRUM-Keys, the on ST either not as such EXISTIEREN or otherwise BELEGT are: ZX-SPECTRUM equals to on ST BEMERKUNG ----------------------------------------------------------------------- SYMBOL-SHIFT ALTERNATE or UMSCHALT-Key on SPECTRUM right SHIFT-Key CAPS-SHIFT LINKE SHIFT-Key TEMPORARE UMSCHALTUNG Big/Small Z Y Because SPECTRUM ENGLISCHE Keyboard has, Y Z honour this also on ST BEIBEHALTEN ZWECKS KOMFORT dignity some often VERWENDETEN ZX-SHIFT-KOMBINATIONEN on one that else UNBENUTZTEN ST-Keys GELEGT, how from NACHSTEHENDER TABELLE HERVORGEHT: ST-Key equals to on ZX-SPECTRUM BEMERKUNG ----------------------------------------------------------------------- CONTROL CAPS-SHIFT+SYMBOL-SHIFT EXTENDED-Fashion F1 CAPS-SHIFT+1 EDIT F2,CAPSLOCK CAPS-SHIFT+2 CAPS LOCK F3,TAB CAPS-SHIFT+3 TRUE VIDEO F4,ESC CAPS-SHIFT+4 INVERSE VIDEO CURSOR left CAPS-SHIFT+5 CURSOR after left CURSOR RUNTER CAPS-SHIFT+6 CURSOR after below CURSOR RAUF CAPS-SHIFT+7 CURSOR after above CURSOR to the right CAPS-SHIFT+8 CURSOR after to the right F9 CAPS-SHIFT+9 GRAPHICS-Fashion DELETE,BS CAPS-SHIFT+0 DELETE F10 CAPS-SHIFT+SPACE BREAK (PROGRAMMABBRUCH) < SYMBOL-SHIFT+O ; (STRICHPUNKT) ~ SYMBOL-SHIFT+P " (HOCHKOMMA) B SYMBOL-SHIFT+C ? (FRAGEZEICHEN) O SYMBOL-SHIFT+L = (Is same) A SYMBOL-SHIFT+Z : (Colon) U SYMBOL-SHIFT+2 @ (ABSATZ) EMULATOR-STEUERTASTEN: ST-Key Effect BEMERKUNG ----------------------------------------------------------------------- F6 RESET Equals to RESET-Button by SPECTRUM 1) HELP Keys-Help ZX-TASTATURSCHABLONE getting EINGEBLENDET 2) UNDO FARBSCHALTUNG UMSCHALTUNG FARBLOS-FARBDARSTELLUNG 3) INSERT UNTERBRECHUNG ERSCHEINT ALERT DESKTOP|RESET|CONTINUE SHIFT-F6 DESKTOP EMULATOR finish (without ABFRAGE) 1) One KOPIE of the ZX-ROMS getting in he who ROM-Scope of the EMULATORS wrote that Z80-EMULATOR ZURUCKGESETZT and begin again at PC=0. 2) On FARBMONITOR getting only a VIERTEL that SCHABLONE on once EINGEBLENDET, MEHRMALIGES Squeeze from HELP show the RESTLICHEN VIERTEL. JEDE Key out of HELP KEHRT to the EMULATION back, the Key getting same UBERNOMMEN. 3) That DISPLAY-FILE of the SPECTRUM BESTEHT from PIXELDATEN and ATTRIBUTDATEN. At 'FARBLOSER' DARSTELLUNG become the ATTRIBUTDATEN not BEACHTET - the EMULATION getting something faster. 5) Load and SPEICHERN from Programs ------------------------------------- Program, SPEICHERBEREICHE, STRINGS and ARRAYS become just as how on ORIGINAL GESPEICHERT: SAVE "name" [CODE, DATA, SCREEN$]. "name" should indeed only from MAXIMAL eight Sign exist (on SPECTRUM are 10 Sign possible). The Load FUNKTIONIERT ANALOG, with one Exception: WEIST on ORIGINAL that Command LOAD "" (LEERSTRING) on, the NACHSTE on Bindded DAHERKOMMENDE Program to load, so is this in DISKBETRIEB not ANWENDBAR. STATTDESSEN ERSCHEINT One Selection-MASKE. JE after, whether that LADEBEFEHL for Program, CODE-FILES or Variables was, ERSCHEINT only the LISTE that VORHANDENEN File of the JEWEILIGEN TYPS. ERLAUTERUNGEN to the DATEIAUSWAHLMASKE: NORAMLERWEISE getting VERSUCHT the File Content.INF in AKTUELLEN File EINZULESEN, WELCHE the Name and HEADERDATEN ALLER SPECTRUM-File in this VERZEICHNIS contain. Should the FILE Content.INF not available be (how said, for JEDES VERZEICHNIS SEPARAT), so getting the VERZEICHNIS after SPECTRUM-File 'DURCHGESCANNT', what some Time last can. On End getting VERSUCHT, the File Content.INF to write, what EVENTUELL to the SYSTEM-ALERT 'DISK SCHREIBGESCHUTZT' drived can - so on best DISKETTEN not with SCHREIBSCHUTZ insert. ANGEZEIGT become that DATEINAME, the Reach in BYTES and the STARTADRESSE (at Type CODE,DATA) or. Auto-START-Line (at BASIC-Programs). The Selection one File as result with he who CURSORTASTEN 'UP' and 'DOWN' and 'RETURN' to the Finish. On the superiors BILDSCHIRMRAND is that AKTUELLE PFAD ANGEZEIGT and can EDITIERT become. Has one one new PFAD gave (not with 'RETURN' ABSCHLIEBEN!) so can with Read.INF (F1) the Table of contents EINGELESEN become. The Table of contents getting by SPEICHERN from Programs, not automatic AKTUALISIERT, but have to means RESCAN (F2) new ERZEUGT become. With that Key 'ESCAPE' can the DATEIAUSWAHL leave become, without something to load (SPECTRUM 'TAPE LOADING ERROR'). 6. INTERNA ---------- That SPECTRUM-EMULATOR KREMPELT the SYSTEMVEKTOREN- and Worth fit past. VBL-Routines become ABGESCHALTEN, Keyboard and TIMER-VEKTOREN MANIPULIERT and that SOUNDCHIP UMPROGRAMMIERT. BUS- and ADRESSFEHLER become ABGEFANGEN and that ILLEGAL-VEKTOR for the INTERRUPT-SIMULATION of the Z80 used. Thence is it also quite possible, that the Program himself with other in Save LIEGENDEN VEKTORVERBIEGERN not tolerate. 7. Leave of the EMULATORS -------------------------- Through Squeeze from SHIFT-F6 getting without ABFRAGE immediately to the DESKTOP ZURUCKGEKEHRT. There become SAMTLICHE SYSTEMWERTE, the VERANDERT dignity (VEKTOREN, FARBPALETTE, SOUNDREGISTEREINSTELLUNG ETC.) on the ALTEN Worth ZURUCKGESETZT. 8. To the Finish some SPECTRUM-DOKUMENTATIONEN ----------------------------------------------- SPEICHERAUFTEILUNG (ADRESSBEREICH: 0-65535) -------------------------------------------------------------------------- 00000-16383 ROM 16384-22527 DISPLAY-FILE (PIXELDATEN) 22528-23295 ATTRIBUT-FILE (Colour and ATTRIBUTE, ZEICHENORIENTEIERT) 23296-23551 DRUCKER-BUFFER (BELIEBTER TEMPORARER Save) 23552-23733 SYSTEM-Variables 23734-23754 SYSTEMBEREICH for I/O 23755- BASIC-Program-Save + Variables On the superiors SPEICHERENDE JEDE MENGE SYSTEMBEREICHE, STACKS and USER-GRAFIK. INTERESSANTE SYSTEMVARIABLEN (Word are in LOW-HIGH-FORMAT!): Address Reach Name Description -------------------------------------------------------------------------- 23561 1 REPDEL Time in 1/50 Seconds for Keyboard-REPEAT 23562 1 REPPER Delay in 1/50 Seconds between REPEATS 23606 2 CHARS Hand on ZEICHENSATZADRESSE - 256 23609 1 PIP Reach of the TASTATURKLICKS (one attempt Z.B. 10) 23627 2 VARS Hand on Variables-Scope of the PROGRAMMS 23635 2 PROG Hand on Program-Scope (normally 23755) 23672 3 FRAMES 3 BYTE ZAHLER (LOW - HIGH). All 20MS INKREMENTIERT 23692 1 SCRCT Number that SCROLLS of the SCREENS before the Question "SCROLL?" ERSCHEINT. 23730 2 RAMTOP Address that last SPEICHERSTELLE for BASIC 23732 2 P-RAMT Address that PHYSIKALISCH last SPEICHERSTELLE INTERESSANTE SYSTEMAUFRUFE -------------------------------------------------------------------------- RANDOMIZE USR 3280 SCROLL past one Line after above PRINT 65536-USR 7962 Free Save RANDOMIZE USR 0 SOFT-RESET of the SPECTRUM 9. Read BUT need LEAST --------------------- The was'S. All JENEN, the he who SPECTRUM In general not know, his the Program "DEMO1" and "TUTOR" to the Summons EMPFOHLEN. WURDIGUNGEN, LOB, as soon as ANREGUNGEN and KOMMENTARE please on following Address: CHRISTIAN GANDLER PALETZGASSE 17/3/14 A-1160 WIEN Much Fun and CIAO! CG, 17.03.91 VERSION 1.1 from 14/05/1991 -------------------------- Some Deficiency (and also Error) dignity BEHOBEN, the BETRIEBSSICHERHEIT ERHOHT. By the way supported that EMULATOR NUNMEHR the BERUCHTIGTE INTERFACE I and the MICRODRIVES. In DETAIL are it following Alterations opposite that VERSION 1.0: - TRAP 7 VEKTOR honour by Leave of the EMULATORS not RUCKGESETZT. - FILESELEKTOR read Content.INF PROBLEMLOS a (In V1.0 was MITUNTER MEHRMALIGES Squeeze from F1 necessary). WEITERS remain the Side that LISTE active for he who next Summons. That BILDSCHIRM-MODUS getting not more UMGESCHALTEN, by Leave of the SELEKTORS. - By Load from ANWENDUNGEN out, ERSCHIEN in V1.0 automatic that FILE- SELEKTOR. NUMEHR become that Series after all File of the TYPS 'CODE' ANGE- offered, what in that Rule earlier or later to the Success drived. Through GEDRUCKTHALTEN from 'CONTROL' or 'ALTERNATE' by Summons that LADEOPERATION ERSCHEINT that FILESELEKTOR how GEWOHNT. - At UNTERBRECHUNG VIA 'INSERT' become now all Z80-REGISTER ANGEZEIGT. - GERINGFUGIGE BESCHLEUNIGUNG that EMULATION - INTERFACE 1 & MICRODRIVES: -------------------------- That AUTOR set VORAUS, that that LESER this Line Information know, what with INTERFACE I' and 'MICRODRIVE' common is, because for all, the therewith nothing begin can, a MEHRSEITIGER EXKURS necessary ware. Therefore only for ALTE SINCLAIR-HASEN following ERLAUTERUNGEN: Through GEDRUCKTHALTEN from 'CONTROL' or 'ALTERNATE' during of the EMULATORSTARTS from DESKTOP (until to the ERTONEN one GLOCKENSCHLAGS) getting that SPECTRUM with wards INTERFACE I AUSGESTATTET. It stand then so the FINGERVERSTAUCHENDEN KOMMANDOS how LOAD *"M";1;"name" to the Direction. Therewith a MICRODRIVE ANGESPROCHEN become can, is but still a few VORARBEIT necessary. First of all have to on IRGENDEINE WEISE - to the Example with one little one BASIC-Program (ST) one File NAMENS :MD1 (instead that '1' also 2...8, JE after under what Number the MICRODRIVE used become should) ERZEUGT become, the exactly 132240 BYTES Reach has. The is that BENOTIGTE Place for 254 SEKTOREN to 512 BYTES PLUS VERWALTUNGSBUFFER from 8192 BYTES. In GFA-BASIC Z.B. could so a Program so AUSSCHAUEN: OPEN #"O",#2,"\SPECTRUM\:MD1" X$=SPACE$(8192) PRINT #2;X$; X$=SPACE$(512) FOR I=1 TO 254 PRINT #2;X$; NEXT I CLOSE #2 This File have to how ANGEDEUTET in SELBEN VERZEICHNIS ANGELEGT become, in wards himself that EMULATOR (SPECCI.PRG) felt. From EMULATOR from have to the MICRODRIVE how on ORIGINAL first of all FORMATIERT become, before it used become can. This GESCHIEHT how GEWOHNT with wards Command FORMAT "M";1;"name". It stand from now SAMTLICHE MICRODRIVE-KOMMANDOS to the Direction. By the way can a DRUCKER Over RS232-KOMMANDOS BETRIEBEN become (also when he on CENTRONICS-PORT hang). Example: FORMAT "T",9600: LIST *T -> send a BASIC-LISTING on he who DRUCKER (or what always on that RS232 or CENTRONICS-SCHNITTSTELLE hang). VERSION 1.2 from 02/06/1991 -------------------------- That EMULATOR is now real GETESTER WEISE full HARDDISK-capable and run on MEGA STE 4 with 16 MHZ and EINGESCHALTENEM CACHE without Problem (and round duplicate so fast how on 1040). TT-VERSION from 23/07/1991 ------------------------- How to expect, could I not sooner calm sleep, before not one VERSION of the EMULATORS for he who ATARI TT PROGRAMMIERT was... AUFGRUND that different Processor-ARCHITEKTUR of the 68030 were ETLICHE Alterations in ALGORITHMUS necessary, so that I one own VERSION for he who TT ENTWICKELTE, past he who SOURCECODE not ALLZU UNUBERSICHTLICH become to leave. On TT have to the File SPECCITT.DAT in SPECCI.DAT UNBENANNT become, past he who EMULATOR EINZURICHTEN (ORIGINALE File SPECCI.DAT - the ST-VERSION - before LOSCHEN!). That EMULATOR run on TT in that NIEDRIGEN and HOHEN ST-Solution, WOBEI that CACHE of the 68030 EINGESCHALTET remain can. NEBENBEI have I now also the FLASH-ATTRIBUTE of the SPECTRUM EMULIERT, because that TT sufficient RECHENLEISTUNG for that has. The UNDO-Key SCHALTET now between three different BILDSCHIRMMODI past: 1) FLASH getting EMULIERT (After Summons active) 2) FLASH-ATTRIBUTE INVERS DARGESTELLT 3) ATTRIBUTLOSE DARSTELLUNG Unfortunatly is that SOUND on TT relative LEISE, because that Loudspeaker not more in MONITOR INTEGRIERT is. PUNCTO Speed leave himself say, that she in DURCHSCHNITT that of the ORIGINALS resemble. Indeed real only in DURCHSCHNITT - many Program run with 70%, the other for that again with 200% from. This lie at it, that the different Z80-Command UNTERSCHIEDLICH BESCHLEUNIGT become - a GENERELLES Problem that Processor-EMULATION. Still could I he who EMULATOR MANGELS TT-RAM still not in this SCHNELLEN RAM ABLAUFEN leave, but probable allowed the GESCHWINDIGKEITS-STEIGERUNG then almost already to high be. Therefore lay I now finally the Development of the ZX-SPECTRUM-EMULATORS (until on WIDERRUF) to he who Programmer-AKTEN (=BACKUPS) and Him the FERTIGE DING under Her SAMMLUNG. Falls She a SPECTRUM-FREAK were (are?), write She me yet, whether Him the EMULATION likes - honour me FREUEN! TSCHUB!