forked from MirrorRepos/RomWBW
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.
448 lines
5.5 KiB
448 lines
5.5 KiB
extrn .begin,.chl,.swt
|
|
extrn csave,cret,.move
|
|
DSEG
|
|
public pPriFcb_
|
|
pPriFcb_:
|
|
DW 92
|
|
CSEG
|
|
DSEG
|
|
public pSecFcb_
|
|
pSecFcb_:
|
|
DW 108
|
|
CSEG
|
|
DSEG
|
|
public pDefBuf_
|
|
pDefBuf_:
|
|
DW 128
|
|
CSEG
|
|
DSEG
|
|
public pBIOS_
|
|
pBIOS_:
|
|
DW -6656
|
|
CSEG
|
|
global pDPB_,2
|
|
global pDPH_,2
|
|
global pINFOLIS_,2
|
|
global pCNFGDAT_,2
|
|
DSEG
|
|
public pSYSCFG_
|
|
pSYSCFG_:
|
|
DW -16384
|
|
CSEG
|
|
DSEG
|
|
public bRun_
|
|
bRun_:
|
|
DB 1
|
|
CSEG
|
|
global c_,1
|
|
DSEG
|
|
public newtt_
|
|
newtt_:
|
|
DB 255
|
|
CSEG
|
|
global tt_,1
|
|
global i_,2
|
|
PUBLIC main_
|
|
main_: lxi d,.2
|
|
call csave
|
|
LXI H,-4096
|
|
SHLD hregbc_
|
|
LXI H,-16384
|
|
SHLD hregde_
|
|
CALL diagnose_
|
|
LXI H,0
|
|
SHLD i_
|
|
JMP .4
|
|
.3:
|
|
LHLD i_
|
|
INX H
|
|
SHLD i_
|
|
.4:
|
|
LHLD i_
|
|
LXI D,25
|
|
XCHG
|
|
CALL .lt
|
|
JZ .5
|
|
LXI H,.1+0
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .3
|
|
.5:
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,5
|
|
PUSH H
|
|
LXI H,2
|
|
PUSH H
|
|
LXI H,2013
|
|
PUSH H
|
|
LXI H,31
|
|
PUSH H
|
|
LXI H,3
|
|
PUSH H
|
|
LXI H,.1+2
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,16
|
|
DAD SP
|
|
SPHL
|
|
.6:
|
|
LDA bRun_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,1
|
|
POP D
|
|
CALL .eq
|
|
JZ .7
|
|
LXI H,.1+72
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LHLD pSYSCFG_
|
|
LXI D,68
|
|
DAD D
|
|
MOV E,M
|
|
XCHG
|
|
MOV A,L
|
|
STA tt_
|
|
LDA tt_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .8
|
|
.10:
|
|
LXI H,.1+95
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .9
|
|
.11:
|
|
LXI H,.1+143
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .9
|
|
.12:
|
|
LXI H,.1+191
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .9
|
|
.13:
|
|
LXI H,.1+239
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .9
|
|
.14:
|
|
LXI H,.1+287
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
LXI H,.1+306
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
JMP .9
|
|
.8:
|
|
CALL .swt
|
|
DW 4
|
|
DW 0,.10
|
|
DW 1,.11
|
|
DW 2,.12
|
|
DW 3,.13
|
|
DW .14
|
|
.9:
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,0
|
|
PUSH H
|
|
LXI H,1
|
|
PUSH H
|
|
LXI H,5
|
|
PUSH H
|
|
CALL asmif_
|
|
XCHG
|
|
LXI H,8
|
|
DAD SP
|
|
SPHL
|
|
LDA xrega_
|
|
MOV L,A
|
|
MOV A,L
|
|
STA c_
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,113
|
|
POP D
|
|
CALL .eq
|
|
JZ .15
|
|
LXI H,0
|
|
MOV A,L
|
|
STA bRun_
|
|
.15:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,120
|
|
POP D
|
|
CALL .eq
|
|
JZ .16
|
|
LXI H,0
|
|
MOV A,L
|
|
STA bRun_
|
|
.16:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,81
|
|
POP D
|
|
CALL .eq
|
|
JZ .17
|
|
LXI H,0
|
|
MOV A,L
|
|
STA bRun_
|
|
.17:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,88
|
|
POP D
|
|
CALL .eq
|
|
JZ .18
|
|
LXI H,0
|
|
MOV A,L
|
|
STA bRun_
|
|
.18:
|
|
LDA tt_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .19
|
|
.21:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .22
|
|
.24:
|
|
.25:
|
|
LXI H,1
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .23
|
|
.26:
|
|
.27:
|
|
LXI H,2
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .23
|
|
.28:
|
|
.29:
|
|
LXI H,3
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .23
|
|
.22:
|
|
CALL .swt
|
|
DW 6
|
|
DW 65,.25
|
|
DW 86,.29
|
|
DW 87,.27
|
|
DW 97,.24
|
|
DW 118,.28
|
|
DW 119,.26
|
|
DW .23
|
|
.23:
|
|
JMP .20
|
|
.30:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .31
|
|
.33:
|
|
.34:
|
|
LXI H,0
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .32
|
|
.35:
|
|
.36:
|
|
LXI H,2
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .32
|
|
.37:
|
|
.38:
|
|
LXI H,3
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .32
|
|
.31:
|
|
CALL .swt
|
|
DW 6
|
|
DW 84,.34
|
|
DW 86,.38
|
|
DW 87,.36
|
|
DW 116,.33
|
|
DW 118,.37
|
|
DW 119,.35
|
|
DW .32
|
|
.32:
|
|
JMP .20
|
|
.39:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .40
|
|
.42:
|
|
.43:
|
|
LXI H,0
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .41
|
|
.44:
|
|
.45:
|
|
LXI H,1
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .41
|
|
.46:
|
|
.47:
|
|
LXI H,3
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .41
|
|
.40:
|
|
CALL .swt
|
|
DW 6
|
|
DW 65,.45
|
|
DW 84,.43
|
|
DW 86,.47
|
|
DW 97,.44
|
|
DW 116,.42
|
|
DW 118,.46
|
|
DW .41
|
|
.41:
|
|
JMP .20
|
|
.48:
|
|
LDA c_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .49
|
|
.51:
|
|
.52:
|
|
LXI H,0
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .50
|
|
.53:
|
|
.54:
|
|
LXI H,1
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .50
|
|
.55:
|
|
.56:
|
|
LXI H,2
|
|
MOV A,L
|
|
STA newtt_
|
|
JMP .50
|
|
.49:
|
|
CALL .swt
|
|
DW 6
|
|
DW 65,.54
|
|
DW 84,.52
|
|
DW 87,.56
|
|
DW 97,.53
|
|
DW 116,.51
|
|
DW 119,.55
|
|
DW .50
|
|
.50:
|
|
JMP .20
|
|
.57:
|
|
LXI H,7
|
|
PUSH H
|
|
LXI H,.1+347
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
JMP .20
|
|
.19:
|
|
CALL .swt
|
|
DW 4
|
|
DW 0,.21
|
|
DW 1,.30
|
|
DW 2,.39
|
|
DW 3,.48
|
|
DW .57
|
|
.20:
|
|
LDA newtt_
|
|
MOV L,A
|
|
MVI H,0
|
|
PUSH H
|
|
LXI H,255
|
|
POP D
|
|
CALL .ne
|
|
JZ .58
|
|
LDA newtt_
|
|
MOV L,A
|
|
PUSH H
|
|
LHLD pSYSCFG_
|
|
LXI D,68
|
|
DAD D
|
|
POP D
|
|
MOV M,E
|
|
LXI H,-3840
|
|
SHLD hregbc_
|
|
LXI H,-16384
|
|
SHLD hregde_
|
|
CALL diagnose_
|
|
.58:
|
|
JMP .6
|
|
.7:
|
|
RET
|
|
.2 EQU 0
|
|
.1:
|
|
DB 10,0,84,69,82,77,84,89,80,69,46,67,79,77,32
|
|
DB 37,100,47,37,100,47,37,100,32,37,100,46,37,100,46
|
|
DB 37,100,46,37,100,32,100,119,103,32,45,32,68,105,115
|
|
DB 112,108,97,121,47,67,104,97,110,103,101,32,84,101,114
|
|
DB 109,105,110,97,108,32,84,121,112,101,10,0,10,84,104
|
|
DB 101,32,84,101,114,109,105,110,97,108,32,84,121,112,101
|
|
DB 32,105,115,32,0,32,84,84,89,44,32,79,112,116,105
|
|
DB 111,110,115,58,32,97,40,110,115,105,41,44,32,119,40
|
|
DB 121,115,101,41,44,32,118,40,116,53,50,41,44,32,113
|
|
DB 40,117,105,116,41,32,63,0,65,78,83,73,44,32,79
|
|
DB 112,116,105,111,110,115,58,32,116,40,116,121,41,44,32
|
|
DB 32,119,40,121,115,101,41,44,32,118,40,116,53,50,41
|
|
DB 44,32,113,40,117,105,116,41,32,63,0,87,89,83,69
|
|
DB 44,32,79,112,116,105,111,110,115,58,32,116,40,116,121
|
|
DB 41,44,32,32,97,40,110,115,105,41,44,32,118,40,116
|
|
DB 53,50,41,44,32,113,40,117,105,116,41,32,63,0,86
|
|
DB 84,53,50,44,32,79,112,116,105,111,110,115,58,32,116
|
|
DB 40,116,121,41,44,32,32,97,40,110,115,105,41,44,32
|
|
DB 119,40,121,115,101,41,44,32,113,40,117,105,116,41,32
|
|
DB 63,0,85,110,107,110,111,119,110,44,32,79,112,116,105
|
|
DB 111,110,115,58,32,0,116,40,116,121,41,44,32,32,97
|
|
DB 40,110,115,105,41,44,32,119,40,121,115,101,41,44,32
|
|
DB 118,40,116,53,50,41,44,32,113,40,117,105,116,41,32
|
|
DB 63,0,37,99,0
|
|
extrn printf_
|
|
extrn asmif_
|
|
extrn xrega_
|
|
extrn diagnose_
|
|
extrn hregde_
|
|
extrn hregbc_
|
|
extrn .eq
|
|
extrn .ne
|
|
extrn .lt
|
|
END
|
|
|