mirror of https://github.com/wwarthen/RomWBW.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
656 lines
7.6 KiB
656 lines
7.6 KiB
extrn .begin,.chl,.swt
|
|
extrn csave,cret,.move
|
|
global pINFOLIS_,2
|
|
global metadata_,128
|
|
global pSYSCFG_,2
|
|
global pCBIOS_,2
|
|
PUBLIC main_
|
|
main_: lxi d,.2
|
|
call csave
|
|
LXI H,0
|
|
XCHG
|
|
LXI H,-132-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
LXI H,-6596
|
|
SHLD ireghl_
|
|
CALL bioscall_
|
|
LHLD ireghl_
|
|
SHLD pINFOLIS_
|
|
LHLD pINFOLIS_
|
|
PUSH H
|
|
LXI H,.1+0
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,-6656
|
|
SHLD pCBIOS_
|
|
LXI H,-4096
|
|
SHLD hregbc_
|
|
LXI H,-16384
|
|
SHLD hregde_
|
|
CALL diagnose_
|
|
LXI H,-16384
|
|
SHLD pSYSCFG_
|
|
LHLD pSYSCFG_
|
|
LXI D,68
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
CALL crtinit_
|
|
POP D
|
|
CALL crtclr_
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,2
|
|
PUSH H
|
|
LXI H,2012
|
|
PUSH H
|
|
LXI H,29
|
|
PUSH H
|
|
LXI H,8
|
|
PUSH H
|
|
LXI H,.1+31
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,16
|
|
DAD SP
|
|
SPHL
|
|
LXI H,.1+64
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LXI H,-4096
|
|
SHLD hregbc_
|
|
LXI H,-16384
|
|
SHLD hregde_
|
|
CALL diagnose_
|
|
LXI H,-16384
|
|
SHLD pSYSCFG_
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,2
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,3
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,.1+107
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,4
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,9
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+117
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,5
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,10
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+126
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,6
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,11
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+135
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,7
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,12
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+144
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,9
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,7
|
|
DAD D
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,2-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
LXI H,2-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,-16384
|
|
DAD D
|
|
SHLD dregde_
|
|
LXI H,9
|
|
SHLD dregbc_
|
|
CALL bdoscall_
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,10
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,5
|
|
DAD D
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,-16384
|
|
DAD D
|
|
XCHG
|
|
LXI H,0-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
LXI H,128
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memset_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,11
|
|
PUSH H
|
|
LXI H,2-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
PUSH D
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memcpy_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,-128-.2
|
|
DAD SP
|
|
PUSH H
|
|
LXI H,.1+153
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,3
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,.1+156
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,4
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pCBIOS_
|
|
LXI D,75
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+166
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,5
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pCBIOS_
|
|
LXI D,76
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+175
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,6
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pCBIOS_
|
|
LXI D,77
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+184
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,7
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pCBIOS_
|
|
LXI D,78
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,.1+193
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,9
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pINFOLIS_
|
|
LXI D,4
|
|
DAD D
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,2-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
LXI H,128
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memset_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,127
|
|
PUSH H
|
|
LXI H,4-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
PUSH D
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memcpy_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
XCHG
|
|
LXI H,-130-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
JMP .4
|
|
.3:
|
|
LXI H,-130-.2
|
|
DAD SP
|
|
PUSH H
|
|
MOV A,M
|
|
INX H
|
|
MOV H,M
|
|
MOV L,A
|
|
INX H
|
|
XCHG
|
|
POP H
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
.4:
|
|
LXI H,-130-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,128
|
|
CALL .ul
|
|
JZ .5
|
|
LXI H,-130-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,-128-.2
|
|
DAD SP
|
|
DAD D
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,45
|
|
POP D
|
|
CALL .eq
|
|
JZ .6
|
|
LXI H,-132-.2
|
|
DAD SP
|
|
mov a,m
|
|
inx h
|
|
ora m
|
|
JZ .7
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,-128-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,-126-.2
|
|
DAD SP
|
|
DAD D
|
|
POP D
|
|
MOV M,E
|
|
JMP .8
|
|
.7:
|
|
LXI H,1
|
|
XCHG
|
|
LXI H,-132-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
.8:
|
|
.6:
|
|
JMP .3
|
|
.5:
|
|
LXI H,-128-.2
|
|
DAD SP
|
|
PUSH H
|
|
LXI H,.1+202
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,26
|
|
PUSH H
|
|
LXI H,10
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LHLD pINFOLIS_
|
|
LXI D,6
|
|
DAD D
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,0-.2
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
LXI H,128
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memset_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,11
|
|
PUSH H
|
|
LXI H,2-.2
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
PUSH D
|
|
LXI H,-124-.2
|
|
DAD SP
|
|
PUSH H
|
|
CALL memcpy_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
LXI H,-128-.2
|
|
DAD SP
|
|
PUSH H
|
|
LXI H,.1+205
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,3
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,.1+208
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,4
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,2
|
|
PUSH H
|
|
LXI H,.1+219
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,5
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,.1+228
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,6
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,.1+237
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,7
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,.1+246
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
LXI H,52
|
|
PUSH H
|
|
LXI H,10
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
LXI H,29
|
|
PUSH H
|
|
LXI H,8
|
|
PUSH H
|
|
LXI H,12
|
|
PUSH H
|
|
LXI H,.1+255
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,8
|
|
DAD SP
|
|
SPHL
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,23
|
|
PUSH H
|
|
CALL crtlc_
|
|
POP D
|
|
POP D
|
|
RET
|
|
.2 EQU -136
|
|
.1:
|
|
DB 112,111,115,116,32,71,69,84,73,78,70,79,32,105,114
|
|
DB 101,103,104,108,32,105,115,32,48,120,37,48,52,120,10
|
|
DB 0,66,65,78,75,69,82,46,67,79,77,32,37,100,47
|
|
DB 37,100,47,37,100,32,118,37,100,46,37,100,46,37,100
|
|
DB 46,37,100,0,32,100,119,103,32,45,32,68,105,115,112
|
|
DB 108,97,121,32,77,101,109,111,114,121,32,66,97,110,107
|
|
DB 32,67,104,97,114,97,99,116,101,114,105,115,116,105,99
|
|
DB 115,0,82,79,77,32,66,97,110,107,49,0,82,77,74
|
|
DB 32,61,32,37,100,0,82,77,78,32,61,32,37,100,0
|
|
DB 82,85,80,32,61,32,37,100,0,82,84,80,32,61,32
|
|
DB 37,100,0,37,115,0,67,66,73,79,83,32,72,68,82
|
|
DB 0,82,77,74,32,61,32,37,100,0,82,77,78,32,61
|
|
DB 32,37,100,0,82,85,80,32,61,32,37,100,0,82,84
|
|
DB 80,32,61,32,37,100,0,37,115,0,37,115,0,66,65
|
|
DB 78,75,69,82,46,67,79,77,0,82,77,74,32,61,32
|
|
DB 37,100,0,82,77,78,32,61,32,37,100,0,82,85,80
|
|
DB 32,61,32,37,100,0,82,84,80,32,61,32,37,100,0
|
|
DB 37,48,50,100,37,48,50,100,37,48,50,100,0
|
|
extrn crtlc_
|
|
extrn crtclr_
|
|
extrn crtinit_
|
|
extrn printf_
|
|
extrn diagnose_
|
|
extrn hregde_
|
|
extrn hregbc_
|
|
extrn bioscall_
|
|
extrn ireghl_
|
|
extrn bdoscall_
|
|
extrn dregde_
|
|
extrn dregbc_
|
|
extrn memset_
|
|
extrn memcpy_
|
|
extrn .eq
|
|
extrn .ul
|
|
END
|
|
|