...
Code Block |
---|
10 REM ********************************** 20 REM Hexdump (C) Danny Langton * 30 REM Aware Technology, DECEMBER 1988 * 40 REM TO BE TREATED AS PUBLIC DOMAIN * 50 REM I.E. COPY AND USE BUT DON'T SELL * 60 REM ********************************** 70 PROCassemble 80 REPEAT 90 CLS:REPEATINPUT''"Name of file to dump : "'"(Use [ESCAPE] to quit)"SPC10""D$:UNTILLEND$ 100 X=OPENIN D$:IFX=0PRINT'"That file does not exist":GOTO90 110 PRINT"Use UP and DOWN cursor keys to move through file"'"a line at a time,"'"[SHIFT] and cursor keys for a page at a time"'"and [DEL] to quit":TIME=0:REPEATUNTILTIME>300 120 L%=0 130 CLS 140 REPEAT 150 PROCdump(L%) 160 CALL flush 170 G%=GET:IFG%=0 G%=GET 180 L%=L%+(G%=255)*16+(G%=251)*112-(G%=254)*16-(G%=250)*112 190 IF G%=246 L%=EXT#X-96-(EXT#X)MOD16 200 IF L%<0 OR L%>EXT#X OR G%=247L%=0 210 UNTILG%=127 220 UNTIL0 230 : 240 DEFPROCdump(L%) 250 CLS 260 PTR#X=L% 270 IFEXT#X-L%<112 F%=EXT#X-L% ELSE F%=112 280 R%=0:C%=0 290 PRINTTAB(0,0)STRING$(8-LENSTR$~L%,"0")STR$~L% 300 FOR M%=L% TO L%+F%-1 310 IFR%=7GOTO360 320 N%=BGET#X:N$=STR$~N%:IF LEN N$=1 N$="0"+N$ 330 PRINTTAB(12+C%*3,R%)N$TAB(64+C%,R%); 340 IFN%>31 AND N%<127 PRINTCHR$N%; ELSE PRINT"."; 350 C%=C%+1:IFC%=16 C%=0:R%=R%+1:IFR%<7PRINTTAB(0,R%)STRING$(8-LENSTR$~(L%+R%*16),"0")+STR$~(L%+R%*16) 360 NEXT 370 ENDPROC 380 : 390 DEFPROCassemble 400 DIMflush 50 410 FORpass=0TO2STEP2 420 P%=flush 430 [OPT pass 440 LD HL,0:ADD HL,SP:LD SP,(&1FFE):PUSH HL:CALL main:POP HL:LD SP,HL:RET 450 .main 460 RST &20 470 DEFB &33 480 RET 490 ] 500 NEXT 510 ENDPROC 520 : |
Music Program for the Z88
Written by J. Mark Stevenson in 1989 - note the warnings in the REM statements.
Code Block |
---|
10 REM J.MARK STEVENSON 12 FEB 89
20 REM JUST TO PROVE THE Z88 CAN MAKE MUSIC!
30 REM YOU ARE INVITED TO EXPERIMENT WITH THIS PROGRAM
40 REM BUT BEWARE - THIS MAY CAUSE THE MACHINE TO HANG
50 DIM Z% 200
60 FOR Y% = 0 TO 2 STEP 2
70 P%=Z%
80 [ OPT Y%
90 .cnt DEFW 0 :DEFW 0
100 .del1 DEFW 0 :DEFW 0
110 .del2 DEFW 0 :DEFW 0
120 .flag DEFW 0
130 .code
140 LD HL,(cnt)
150 .cnt_loop
160 LD A,(flag) :OR A :CALL Z,inc :DEC A :CALL Z,dec
170 LD BC,(del1) :CALL del_loop
180 LD A,(&4B0) :PUSH AF :OR &40 :OUT (&B0),A
190 LD BC,(del2) :CALL del_loop
200 POP AF :OUT (&B0),A
210 DEC HL :LD A,H :OR L :JR NZ,cnt_loop
220 RET
230 \
240 .del_loop DEC BC :LD A,B :OR C :JR NZ,del_loop :RET
250 \
260 .inc
270 LD DE,(del1) :INC DE :INC DE :LD (del1),DE
280 LD DE,(del2) :INC DE :INC DE :LD (del2),DE
290 RET
300 \
310 .dec
320 LD DE,(del1) :DEC DE :DEC DE :LD (del1),DE
330 LD DE,(del2) :DEC DE :DEC DE :LD (del2),DE
340 RET
350 ]
360 NEXT
370 :
380 FOR T%=0 TO 2
390 ?flag=T%
400 FOR R%= 90 TO 41 STEP -3
410 !cnt=3000/R% :!del1=R%*4 :!del2=R%*4
420 Q%=USR(code)
430 NEXT
440 NEXT |
Z88 Easter Eggs / ROM 2
There is a hidden message immediately before the internal ROM application front DOR in bank 7 at offset 3F57. Enter the command: .MV 3F57 07 in Gunther Strube's Intuition on the Assembler Workbench ROM.
...