home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
apps
/
misc
/
zx_sp207
/
source
/
zxm.gfa
(
.txt
)
< prev
next >
Wrap
GFA-BASIC Atari
|
1993-05-17
|
2KB
|
97 lines
$m5000
'
CLS
DEFMOUSE 0
HIDEM
PRINT "ZXM - ZX-Spectrum Monitor"
PRINT "* Demonstration-Version *"
PRINT "(c) 1993 Christian Gandler"
PRINT
'
IF BYTE{BASEPAGE+129}=189
'
' If called from emualtor, evaluate command-line
'
FOR j&=0 TO 5
x$=""
FOR i&=0 TO 7
x$=x$+CHR$(BYTE{BASEPAGE+130+j&*8+i&})
NEXT i&
x%=VAL("&h"+x$)
SELECT j&
CASE 0
setup%=x%+8 ! adress of setup-area
CASE 1
zxpage%=x% ! adress of SPECTRUM 64K-Page
CASE 2
zxregs%=x% ! adress of emulator-variables
CASE 3
sstore%=x% ! adress of saved screen
CASE 4
sup_ret%=x% ! adress for return-value (if any)
CASE 5
set_nr%=x% ! adress of BYTE active set 0..4
ENDSELECT
NEXT j&
'
' For this example, only display some of the Z80-Registers
'
RESTORE reg_struc
DO
READ r$
EXIT IF r$="*"
READ offs&
IF LEN(r$)=1
PRINT " ";r$;" = ";
w%=BYTE{zxregs%+offs&}
ELSE
PRINT r$;" = ";
w%=PEEK(zxregs%+offs&)*256+PEEK(zxregs%+offs&+1)
ENDIF
w$=HEX$(w%)
w$=RIGHT$(w$,MIN(4,LEN(w$)))
w$=STRING$(LEN(r$)*2-LEN(w$),"0")+w$
PRINT w$;" (";w%;") ";
IF LEN(r$)=1
IF w%>32 AND w%<127
PRINT CHR$(w%)
ELSE
PRINT
ENDIF
ELSE
PRINT SPACE$(25-CRSCOL);
FOR i&=0 TO 7
p%=BYTE{zxpage%+w%+i&}
IF p%>32 AND p%<127
PRINT CHR$(p%);
ELSE
PRINT ".";
ENDIF
NEXT i&
PRINT
ENDIF
LOOP
PRINT
PRINT "PRESS ANY KEY TO RETURN TO EMULATOR"
PRINT "HIT <ESC> TO RESET THE Z80-PROZESSOR"
REPEAT
k$=INKEY$
UNTIL k$<>""
IF k$=CHR$(27)
WORD{zxregs%+38}=0 ! PC=0 ( -> Spectrum will reset)
ENDIF
ELSE
PRINT "Can only run from emulator!"
REPEAT
UNTIL INKEY$<>""
ENDIF
END
'
reg_struc:
DATA "A",12
DATA "HL",0,"DE",2,"BC",4
DATA "IX",6,"IY",8,"IR",10
DATA "SP",36
DATA "PC",38
DATA "*"