2023
HOME

Retro Software in Z80-Asssembler
PRO-DOS-BASIC 1.1
Fenster und Grafik auf dem ZX-Spectrum im Jahr 1985 mit 3787 Bytes

Pro-Dos-Demo StartenEin Spaziergang im Netz findet ab und zu bekannte Dinge aus eigener Feder. Links der Startbildschirm einer Demo, die die neuen Möglichkeiten des erweiterten ZX-Basics im Jahr 1985 zeigt.

Mit Taste 1 erfolgt die Grafikerzeugung gepuffert, mit Taste 2 wird direkt auf den Bildschirm gezeichnet. Die Software wurde 1986/6 in der Zeitschrift Computer Kontakt, Heft 20, Seite 24 veröffentlicht und beschrieben. Das Internet-Archiv bietet den Artikel auch noch 2023 als Scan an. An anderen Stellen im Netz findet man lediglich die 3787 Bytes, also den Code selber, der ohne Dokumentation kaum nutzbar ist. Oftmals scheint man ein Spiel dahinter zu vermuten. Wer diese Demo "spielen" möchte, kann das auf der Seite Unreal Speccy Portable tun. Die Betätigung des Buttons Jugar en linea lädt das Basic-Programm und das Spiel beginnt mit Taste 1 oder 2.

Pro-Dos-Demo Starten



Pro-Dos-Demo StartenNeben einen damals beliebten kleineren Zeichensatz, brachte die Erweiterung die Fenstertechnik auf den Schirm und allerlei neue Grafikmöglichkeiten, wie z. B. eine Füllung mit Mustern, so dass Torten- und Balkendiagramme einfach erstellt werden konnten. Die mit einem * eingeleiteten neuen Befehle sind in nebenstehenden Artikel dokumentiert.

Pro-Dos-Demo StartenPro-Dos-Demo Starten

Der Kern besteht oder bestand aus den genannten 3787 Bytes, wobei jedes Bit handverlesen und geprüft ist. Programmiert wurde in Z80-Assembler, da das Spectrum ROM ebenfalls in dieser Sprache verfasst ist. Damals gab es einen HISOFT GENS3 Assembler, der die vorüberlegten Zeilen in die Sprache des Z80 übersetzte. Der Quelltext mit Anfang und Ende:

Copyright ? HISOFT 1983 
  All rights reserved

Pass 1 errors: 00

                 10 ;************************
                 20 ;PRODOS 1.1 (C)HJB 8.85
                 30 ;MIT HATCH UND MATCH
                 40 ;2.SCREEN=ALTSCR
                 50 ;HIER:ALTSCR=53000
                 60 ;GESAMTLAENGE DES PROG:
                 70 ;3787 BYTES
                 80 ;6144 BYTES FUER ALTSCR
                 90 ;---- SUMME
                100 ;9931 BYTES (LEIDER)
                110 ;
                120 ;FALLS JEMAND EINE ANDERE
                130 ;METHODE FUER HATCH KENNT
                140 ;BITTE MELDEN!!!!!!!!!!!!
                150 ;************************
                160 
2530            170 SYNTAX EQU  #2530
1C82            180 GETOP1 EQU  #1C82
1C7A            190 GETOP2 EQU  #1C7A
1E94            200 GETA   EQU  #1E94
1E99            210 GETBC  EQU  #1E99

EA60            220        ORG  60000
EA60 2A3D5C     230        LD   HL,(23613)
EA63 0179EA     240        LD   BC,START
EA66 71         250        LD   (HL),C
EA67 23         260        INC  HL
EA68 70         270        LD   (HL),B
EA69 2A4F5C     280 INIT   LD   HL,(#5C4F)
EA6C 110F00     290        LD   DE,15
EA6F 19         300        ADD  HL,DE
EA70 1162EC     310        LD   DE,OUTPUT
EA73 73         320        LD   (HL),E
EA74 23         330        INC  HL
EA75 72         340        LD   (HL),D
EA76 C374EB     350        JP   NEW
                360 ;______________________
EA79 3A3A5C     370 START  LD   A,(23610)
EA7C FDCB46C6   380        SET  0,(IY+70)
EA80 FE0B       390        CP   11
EA82 2826       400        JR   Z,NONS
EA84 CD3025     410 ERROR  CALL SYNTAX
EA87 200D       420        JR   NZ,RUNERR
EA89 2A5D5C     430 SYNERR LD   HL,(23645)
EA8C 225F5C     440        LD   (23647),HL
EA8F 2179EA     450        LD   HL,START
EA92 E5         460        PUSH HL
EA93 C3B712     470        JP   #12B7
EA96 CD0313     480 RUNERR CALL #1303
EA99 FD3600FF   490        LD   (IY+0),255
EA9D 2A595C     500        LD   HL,(23641)
EAA0 CDA711     510        CALL #11A7
EAA3 2179EA     520        LD   HL,START
EAA6 E5         530        PUSH HL
EAA7 C3B412     540        JP   #12B4
...
...
...
F916 220202   19700        DEFB  """,#02,#02
F919 FF1919   19710        DEFB  #FF,#19,#19
F91C 191919   19720        DEFB  #19,#19,#19
F91F 191F88   19730        DEFB  #19,#1F,#88
F922 8C8E8F   19740        DEFB  #8C,#8E,#8F
F925 8E8C88   19750        DEFB  #8E,#8C,#88
F928 F000     19760        DEFB  #F0,#00
              19770 *D+
              19780 *L+
6378600       19790        NOP  

Pass 2 errors: 00



Table used:  3402  from  3500 

Inzwischen soll ja sogar ein Raspberry Pi Pico mit RP2040 einen ZX-Spectrum als Hardware nachbilden können. Vielleicht erfreuen sich die 3787 Bytes auch in 2023 erneut hoher Beliebtheit! Hier ein Link für Liebhaber.


																	

												

3D-ZX-Spectrum-Grafik auf Pi-Pico
Mehr ZX-Spectrum
Mehr Software

.
Startseite Bücher Software Digital RTV Musik Kontakt

Für Inhalt und weitere Verzweigung externer Links sind die Betreiber der dortigen Seiten verantwortlich - H.-J. Berndt