Can be Auto-Compil in a Basic Text file...
Code: Select all
1 REM [ASM : \
;------- TASM ASM mnemonics. -------|\
; Compile this file using:|\
; Set TASMOPTS = -b|\
; tasm -80 ThisCode.tas MyBinary.BIN|\
;-----------------------------------|\
; Zx81 Program name: VB81 XuR [Decoder.p] :|\
; REM line name: D=16514/16562 : H=4082/40B2|\
|\
#define ORG .org ; TASM cross-assembler definitions|\
#define equ .equ|\
;-----------------------------------|\
|\
;------------------------------------|\
;-Basic sub-routine entry. -|\
;+----------------------------------+|\
; Lb4082 ; <- USR Basic Enty.|\
;+----------------------------------+|\
|\
;------- Rom and Ram Symbols -------|\
RAM_D_FILE equ $400C|\
EXTERR .equ $005B ; Basic Break function ! Ignore line instructions.|\
SPARE16 .equ $407B|\
|\
|\
ORG $4082 ; [@16514/@h4082]|\
Lb4082:|\
.db $76,$76|\
|\
Lb4086:|\
RST 20H|\
CALL $0D92|\
CALL $0BF5|\
LD L,B|\
LD H,C|\
CALL $09D8 ; offset to HL|\
LD BC,5|\
ADD HL,BC|\
EX DE,HL|\
|\
LD HL,(RAM_D_FILE) ; GET D-FILE|\
INC HL |\
Lb408D:|\
LD (IY+124),$01|\
LD A,(DE) |\
BIT 6,A |\
RES 6,A |\
LD (IY+123),A|\
JR Z, Lb40A4 ; [$40A4:16548]|\
INC DE |\
LD A,(DE) |\
LD (IY+124),A|\
CP $01 ; [1]|\
JP Z,EXTERR|\
Lb40A4:|\
LD BC,(SPARE16)|\
Lb40A7:|\
LD (HL),C |\
INC HL |\
BIT 6,(HL) |\
JR Z, Lb40AE ; [$40AE:16558]|\
INC HL |\
Lb40AE:|\
DJNZ Lb40A7 ; [$40A7:16551]|\
INC DE |\
JR Lb408D ; [$408D:16525]|\
.end|\
]
2 REM [HEX:\
40,39,87,04,40,1C,1B,81,80,01,40,1B,83,07,01,1B,84,04,40,19,81,01,00,09,00,02,82,40,17,87,80,01,40,02,87,05,00,02,01,40,0E,48,02,1B,40,03,87,81,89,09,40,02,1B,07,01,80,04,91,40,0C,04,07,03,80,07,01,C9,02,03,40,02,03,00,87,84,01,00,0B,C0,02,40,0A,83,81,03,40,02,02,05,40,07,C5,02,81,40,0D,04,80,82,40,05,0B,40,07,0B,91,9B,40,0C,91,84,01,07,40,0C,87,0B,84,05,40,0B,87,07,89,00,90,40,0C,02,01,85,05,40,0B,81,91,01,00,80,1B,04,40,03,82,83,40,04,1B,00,1B,85,0B,40,0A,87,9B,91,40,02,85,82,84,04,40,02,80,07,40,03,87,04,87,82,07,40,0A,02,03,87,01,40,03,84,80,02,0B,1B,05,03,01,82,81,80,82,03,91,80,04,40,0A,87,07,40,04,0B,84,80,1B,85,01,40,05,02,82,8A,C0,02,08,40,10,85,80,11,91,40,07,02,07,91,80,82,04,40,0F,81,80,04,07,40,08,91,8A,80,07,05,40,0E,87,C0,02,05,84,04,40,07,87,82,DB,02,84,40,0E,02,05,80,84,04,80,04,40,06,C1,02,0B,02,07,05,40,0E,C4,02,00,03,80,89,82,40,03,1B,8A,80,01,40,02,B1,82,40,0E,85,81,04,00,02,84,07,04,40,02,87,91,07,40,02,1B,91,84,1B,40,0D,0B,C2,02,04,00,02,84,80,40,02,80,01,40,04,02,84,05,40,04,48,0A,02,80,84,04,48,02,88,08,83,04,87,C3,0B,40,01 ]
3 REM [HEX:\
40,39,87,04,40,1C,1B,83,80,01,40,1B,87,80,01,98,82,40,19,87,81,03,87,05,01,80,04,40,17,04,07,01,40,02,85,40,02,82,40,0D,1B,87,C3,02,08,40,02,87,04,81,89,40,03,87,80,04,83,85,04,40,0B,04,07,03,85,81,03,C9,02,01,0B,00,02,01,00,91,98,00,0B,91,8A,9B,40,07,1B,04,81,41,02,40,02,02,07,0B,40,06,02,04,80,05,40,02,0B,03,01,40,06,87,81,82,80,05,40,04,09,40,08,02,84,0B,40,0B,91,85,9B,85,11,40,0A,1B,04,00,10,80,40,0B,87,9B,81,0B,91,04,40,05,1B,40,05,03,89,00,81,40,0B,81,87,07,00,85,01,00,1B,40,02,8A,82,08,40,06,1B,07,40,0A,91,9B,81,01,00,02,80,8A,82,40,02,91,82,90,40,03,87,04,87,80,05,40,09,81,01,04,01,40,03,C0,02,81,01,00,81,0B,02,01,80,CA,02,80,89,04,84,04,40,09,02,01,40,03,87,C0,03,01,00,90,40,06,85,80,8A,82,01,04,40,0C,87,80,84,07,0B,84,10,05,40,06,0B,C0,02,03,07,84,40,0C,91,9B,07,0B,00,91,85,01,40,07,91,80,04,47,02,40,0C,81,91,0B,40,02,80,91,11,40,07,02,80,01,82,05,40,0C,80,07,40,03,84,02,05,40,08,C0,03,0B,40,0C,80,05,40,03,0B,C0,02,1B,40,07,85,91,07,40,0C,1B,80,05,40,04,85,80,82,40,07,85,81,11,40,0C,10,C2,02,40,05,84,91,82,1B,40,05,02,C2,02,04,40,07,48,05,91,98,82,48,04,02,84,98,82,C3,06,81,82,80,C3,07,40,01 ]
4 REM [HEX:\
40,5B,87,04,40,1C,83,04,80,05,40,1A,87,80,01,44,02,84,40,18,04,07,01,40,02,0A,02,07,05,40,0B,1B,83,04,8A,C3,02,04,5B,02,83,8A,07,01,40,03,87,81,1B,00,84,40,08,87,83,04,07,01,00,0B,82,02,03,01,89,01,40,02,84,1B,00,C1,02,03,80,82,02,01,40,05,1B,07,84,80,01,40,04,89,40,08,85,87,80,01,00,0B,84,82,9B,40,05,81,B1,07,85,01,40,0D,10,88,07,40,03,0B,03,0B,40,04,87,9B,07,00,81,1B,40,0B,10,1B,0B,80,01,40,0A,91,31,05,00,80,04,40,05,08,40,05,0B,91,1B,85,40,0A,87,07,91,0B,00,84,82,87,40,02,85,05,84,04,40,06,87,81,40,09,04,07,87,07,40,02,85,80,98,82,00,85,89,04,03,40,02,1B,83,1B,00,89,05,40,09,01,1B,07,0B,40,02,81,C0,02,03,1B,07,00,02,01,84,8A,04,8A,02,05,0B,82,40,0A,0B,40,02,1B,04,C0,03,00,81,01,40,06,91,80,82,1B,81,04,40,0C,91,80,81,01,07,87,9B,40,07,85,C0,02,84,89,82,40,0C,80,91,01,85,07,81,0B,40,07,85,80,9B,02,84,91,01,40,0B,80,07,00,85,04,9B,40,08,85,8A,05,00,02,82,84,1B,40,09,87,80,01,00,0B,01,90,40,08,85,80,0B,40,02,02,80,82,40,09,91,80,40,03,84,80,40,08,85,91,40,04,91,81,04,40,07,04,80,9B,40,03,85,80,04,40,07,91,80,40,04,0B,84,82,40,06,1B,90,80,0B,40,03,85,82,80,04,40,06,91,81,04,40,04,91,81,04,40,03,48,02,91,07,87,C3,05,80,82,80,04,C3,05,04,80,81,C3,05,81,82,C3,03,40,01 ]
5 REM [HEX:\
40,7C,04,40,1B,1B,83,81,07,80,40,19,87,81,41,02,87,08,02,05,40,09,1B,08,1B,83,04,CA,02,83,1B,40,02,1B,C3,02,81,01,0B,40,02,10,04,84,82,40,07,87,81,84,80,03,01,40,02,91,98,01,89,07,41,02,00,87,1B,40,02,1B,81,05,00,85,04,40,05,91,89,81,03,80,0B,40,03,02,03,40,06,02,84,00,C1,02,41,02,80,18,84,40,04,87,07,91,01,87,9B,40,0D,02,80,84,05,40,02,02,80,81,40,04,85,01,07,00,85,05,40,0E,01,07,40,04,03,01,40,04,07,87,05,00,85,05,1B,40,03,1B,40,06,02,04,00,85,01,40,09,87,05,91,0B,00,85,82,01,40,02,87,82,5B,02,40,03,1B,00,09,00,85,0B,40,08,87,07,87,07,40,02,85,80,84,40,02,07,02,82,01,40,03,91,04,00,91,81,40,09,02,10,07,40,03,91,80,05,00,81,01,00,02,01,82,83,C9,02,85,1B,85,05,40,0A,09,40,02,87,81,C0,02,0B,91,9B,40,04,0B,02,84,C0,02,04,10,05,40,0D,85,89,80,90,87,07,40,07,91,80,07,84,00,90,40,0D,D1,02,07,86,07,40,07,87,07,80,01,02,01,84,40,0D,47,02,90,81,0B,40,07,85,91,07,40,02,84,91,04,40,0B,85,84,0B,90,9B,40,08,91,84,01,40,02,85,90,01,40,0A,1B,80,07,00,82,05,40,08,80,07,40,04,C4,02,40,09,87,07,80,01,10,07,05,40,07,87,84,0B,40,04,85,80,04,40,08,91,07,0B,00,0B,82,80,04,40,06,02,80,04,40,04,0B,82,80,04,40,05,C3,02,04,C3,04,8A,82,80,C3,07,82,80,04,C3,04,04,82,80,C3,05,40,01 ]
6 REM [HEX:\
40,7B,1B,04,40,1C,1B,83,81,80,40,19,1B,04,07,03,9B,1B,02,01,40,06,87,81,89,80,82,04,81,89,01,84,44,02,1B,00,1B,C3,02,81,07,01,40,02,0B,04,91,84,40,05,87,07,85,07,03,80,40,04,91,8A,02,01,89,41,02,09,87,1B,40,03,87,01,00,02,01,40,04,81,01,07,00,85,01,40,04,02,09,40,06,02,82,00,10,91,43,02,84,05,84,1B,40,02,87,9B,85,05,00,91,40,0E,02,83,8A,07,40,02,0B,C0,02,0B,00,1B,81,1B,07,40,02,90,40,0C,1B,00,10,80,81,0B,40,06,87,07,01,81,01,40,02,80,1B,40,03,87,40,07,02,90,00,91,01,40,07,03,31,98,0B,40,03,D1,02,04,00,87,80,04,87,40,08,80,40,0F,91,07,01,00,81,9B,84,81,01,40,03,1B,40,02,1B,9B,40,0D,87,80,07,01,87,81,01,40,02,02,84,82,04,98,84,02,85,80,01,40,0D,85,80,11,87,07,0B,40,05,0B,09,84,80,08,81,01,40,0E,85,02,81,01,40,09,85,80,0A,80,40,0F,C1,02,05,40,0A,C0,02,11,07,40,0E,1B,C0,02,01,40,09,91,C0,02,09,05,40,0E,85,80,81,90,40,08,87,07,80,D1,02,05,40,0D,87,81,80,91,01,40,06,1B,81,80,07,01,85,81,0B,40,0C,1B,07,81,84,07,40,06,87,07,80,07,40,02,85,80,40,0D,85,80,01,0B,40,07,91,81,01,40,03,85,91,04,40,0A,C3,02,04,C3,0A,81,04,87,83,04,08,87,80,98,82,48,09,40,01 ]
7 REM [HEX:\
40,5B,5B,02,40,1D,1B,81,05,40,1B,87,81,01,84,04,40,0E,5B,02,40,09,87,07,03,85,05,04,80,1B,40,07,87,04,8A,04,83,81,C9,02,82,83,04,40,02,87,C3,02,81,01,40,03,87,02,01,05,40,06,91,07,81,03,80,40,03,10,07,0B,01,84,80,01,0B,40,04,1B,87,80,5B,02,80,40,05,87,07,91,01,85,01,40,0C,91,1B,87,80,07,02,84,82,91,1B,40,04,91,31,9B,00,81,40,0D,0B,04,91,81,40,03,91,80,0B,40,03,1B,07,85,01,00,80,40,0B,1B,40,02,02,91,01,40,09,81,01,80,40,02,91,40,04,1B,40,06,02,05,00,0A,07,40,09,02,01,81,01,40,02,85,07,05,00,87,82,87,04,40,05,0B,00,85,01,40,09,1B,98,01,40,03,87,90,40,02,81,07,84,80,40,02,10,04,00,1B,00,91,40,0E,1B,04,07,0B,87,81,01,40,02,02,84,8A,80,90,80,B1,81,01,40,0E,10,07,86,81,07,01,40,05,0B,91,9B,04,81,01,40,0F,10,01,C0,02,1B,40,07,85,01,C0,02,40,10,87,80,01,80,82,40,07,81,87,80,07,40,10,85,80,11,85,80,04,40,05,1B,90,81,80,90,40,10,85,84,11,00,B1,80,40,04,81,84,80,07,80,01,40,0F,85,84,81,0B,00,07,84,40,03,85,82,81,07,03,01,40,0F,1B,C1,02,01,40,02,84,07,40,03,0B,85,80,05,40,11,0B,01,40,04,02,0B,40,04,02,80,82,40,0E,C3,10,80,81,04,C3,0D,40,01 ]
8 REM [HEX:\
40,5A,1B,81,0B,40,1B,87,81,01,84,04,40,1A,81,01,85,01,90,80,40,18,87,07,01,00,0B,81,02,01,05,40,0C,1B,C3,05,48,02,87,04,81,07,40,02,1B,87,80,83,04,84,40,09,48,02,04,07,01,00,80,04,02,03,01,03,40,02,10,04,00,91,81,00,02,82,81,05,40,06,81,84,C0,02,01,40,03,91,83,40,07,84,87,80,01,40,02,02,89,0B,40,05,81,01,07,31,07,40,04,09,03,5B,02,40,05,02,80,81,40,0A,85,9B,81,0B,10,05,40,0B,1B,00,87,81,01,40,09,1B,07,87,9B,00,10,01,40,0B,02,0B,02,84,40,09,87,81,01,81,0B,40,02,84,5B,02,40,02,91,87,04,40,07,07,40,09,0B,1B,81,01,40,03,02,82,01,0B,00,80,84,80,00,87,81,04,87,04,85,01,40,09,0B,09,0B,40,05,91,11,00,81,07,00,03,01,82,8A,9B,03,81,80,1B,40,10,04,07,87,81,80,01,40,04,10,82,87,C0,02,82,04,40,0E,85,84,86,C0,02,07,40,05,10,80,91,02,84,82,84,40,0E,02,82,C0,02,84,05,40,05,10,47,02,40,02,98,81,40,0F,85,80,89,82,84,04,40,04,85,82,05,00,87,80,01,40,10,80,82,02,82,84,04,40,03,C1,02,0B,81,82,9B,40,11,91,81,11,02,C0,02,00,1B,C0,02,01,85,80,01,0B,40,11,91,84,0B,00,85,81,8A,C0,02,01,00,02,01,40,13,91,07,40,02,0B,84,80,81,01,40,0E,48,09,02,05,48,04,89,05,48,0F,40,01 ]
9 REM [HEX:\
40,3B,04,40,1D,87,81,05,40,1B,87,81,01,87,84,04,40,19,04,07,00,B1,0A,80,82,40,17,87,80,01,40,02,85,04,00,85,05,40,0D,1B,87,04,08,40,02,1B,83,8A,07,0B,40,02,87,81,84,8A,1B,84,40,0B,1B,04,07,03,80,03,C9,03,03,40,02,83,00,87,80,01,00,02,C0,02,40,08,1B,83,04,07,01,40,02,84,01,40,06,0B,04,91,81,40,03,02,01,40,07,87,80,82,80,40,0D,91,80,9B,40,0B,1B,07,81,01,07,40,0B,87,1B,87,91,40,0C,81,DB,02,00,01,40,0B,02,01,0B,91,40,0B,87,9B,81,40,02,84,40,04,85,87,04,40,07,81,40,09,1B,04,07,85,05,40,02,02,01,0A,1B,00,85,82,90,40,03,81,1B,04,87,9B,40,09,03,01,81,07,40,04,01,82,01,00,80,0B,03,84,8A,81,80,89,84,C0,02,04,1B,40,08,91,01,40,06,85,05,85,9B,40,05,02,82,91,C0,02,07,82,40,10,81,1B,80,05,40,06,84,8A,05,0B,84,81,40,0F,87,80,85,80,11,40,06,02,07,82,00,85,80,40,0F,02,82,04,80,82,1B,40,06,90,91,00,85,80,40,11,02,80,07,82,40,03,87,83,81,82,07,87,81,80,40,12,02,80,07,82,00,80,07,C0,02,01,00,85,91,05,40,13,02,C0,02,1B,0B,43,02,0B,40,02,85,07,40,15,02,07,82,1B,40,05,0B,40,08,87,04,48,0D,89,80,01,48,0E,40,01 ]
# Use 'USR 16516,' and the picture line number (Line 2 to 255).
30 FOR P=2 TO 9
40 PRINT USR 16516,P
50 NEXT P
60 FOR P=8 TO 3
70 PRINT USR 16516,P
80 NEXT P
90 GOTO 30
100 SAVE "HORSE"
110 RUN