home *** CD-ROM | disk | FTP | other *** search
- 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!
-