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.
333 lines
3.2 KiB
333 lines
3.2 KiB
extrn .begin,.chl,.swt
|
|
extrn zsave,zret
|
|
global termtype_,1
|
|
DSEG
|
|
public wy50row_
|
|
wy50row_:
|
|
DB 32
|
|
DB 33
|
|
DB 34
|
|
DB 35
|
|
DB 36
|
|
DB 37
|
|
DB 38
|
|
DB 39
|
|
DB 40
|
|
DB 41
|
|
DB 42
|
|
DB 43
|
|
DB 44
|
|
DB 45
|
|
DB 46
|
|
DB 47
|
|
DB 48
|
|
DB 49
|
|
DB 50
|
|
DB 51
|
|
DB 52
|
|
DB 53
|
|
DB 54
|
|
DB 55
|
|
CSEG
|
|
DSEG
|
|
public wy50col_
|
|
wy50col_:
|
|
DB 32
|
|
DB 33
|
|
DB 34
|
|
DB 35
|
|
DB 36
|
|
DB 37
|
|
DB 38
|
|
DB 39
|
|
DB 40
|
|
DB 41
|
|
DB 42
|
|
DB 43
|
|
DB 44
|
|
DB 45
|
|
DB 46
|
|
DB 47
|
|
DB 48
|
|
DB 49
|
|
DB 50
|
|
DB 51
|
|
DB 52
|
|
DB 53
|
|
DB 54
|
|
DB 55
|
|
DB 56
|
|
DB 57
|
|
DB 58
|
|
DB 59
|
|
DB 60
|
|
DB 61
|
|
DB 62
|
|
DB 63
|
|
DB 64
|
|
DB 65
|
|
DB 66
|
|
DB 67
|
|
DB 68
|
|
DB 69
|
|
DB 70
|
|
DB 71
|
|
DB 72
|
|
DB 73
|
|
DB 74
|
|
DB 75
|
|
DB 76
|
|
DB 77
|
|
DB 78
|
|
DB 79
|
|
DB 80
|
|
DB 81
|
|
DB 82
|
|
DB 83
|
|
DB 84
|
|
DB 85
|
|
DB 86
|
|
DB 87
|
|
DB 88
|
|
DB 89
|
|
DB 90
|
|
DB 91
|
|
DB 92
|
|
DB 93
|
|
DB 94
|
|
DB 95
|
|
DB 96
|
|
DB 97
|
|
DB 98
|
|
DB 99
|
|
DB 100
|
|
DB 101
|
|
DB 102
|
|
DB 103
|
|
DB 104
|
|
DB 105
|
|
DB 106
|
|
DB 107
|
|
DB 108
|
|
DB 109
|
|
DB 110
|
|
DB 111
|
|
CSEG
|
|
PUBLIC crtinit_
|
|
crtinit_: lxi d,.2
|
|
call zsave
|
|
LXI H,12-.2
|
|
DAD SP
|
|
MOV E,M
|
|
XCHG
|
|
MOV A,L
|
|
STA termtype_
|
|
RET
|
|
.2 EQU 0
|
|
PUBLIC crtclr_
|
|
crtclr_: lxi d,.3
|
|
call zsave
|
|
LDA termtype_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .4
|
|
.6:
|
|
LXI H,0
|
|
XCHG
|
|
LXI H,6-.3
|
|
DAD SP
|
|
MOV M,E
|
|
INX H
|
|
MOV M,D
|
|
JMP .8
|
|
.7:
|
|
LXI H,6-.3
|
|
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
|
|
.8:
|
|
LXI H,6-.3
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,43
|
|
CALL .lt
|
|
JZ .9
|
|
LXI H,10
|
|
PUSH H
|
|
LXI H,13
|
|
PUSH H
|
|
LXI H,.1+0
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
JMP .7
|
|
.9:
|
|
JMP .5
|
|
.10:
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.1+5
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
JMP .5
|
|
.11:
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.1+11
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
JMP .5
|
|
.12:
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.1+15
|
|
PUSH H
|
|
CALL printf_
|
|
POP D
|
|
POP D
|
|
POP D
|
|
JMP .5
|
|
.4:
|
|
CALL .swt
|
|
DW 4
|
|
DW 0,.6
|
|
DW 1,.10
|
|
DW 2,.11
|
|
DW 3,.12
|
|
DW .5
|
|
.5:
|
|
RET
|
|
.3 EQU -2
|
|
.1:
|
|
DB 37,99,37,99,0,37,99,91,50,74,0,37,99,43,0
|
|
DB 37,99,74,37,99,72,0
|
|
PUBLIC crtlc_
|
|
crtlc_: lxi d,.14
|
|
call zsave
|
|
LDA termtype_
|
|
MOV L,A
|
|
MVI H,0
|
|
JMP .15
|
|
.17:
|
|
JMP .16
|
|
.18:
|
|
LXI H,102
|
|
PUSH H
|
|
LXI H,16-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
PUSH D
|
|
LXI H,16-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
PUSH D
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.13+0
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,10
|
|
DAD SP
|
|
SPHL
|
|
JMP .16
|
|
.19:
|
|
LXI H,14-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,wy50col_
|
|
DAD D
|
|
DCX H
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,14-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,wy50row_
|
|
DAD D
|
|
DCX H
|
|
MOV E,M
|
|
MVI D,0
|
|
PUSH D
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.13+11
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,8
|
|
DAD SP
|
|
SPHL
|
|
JMP .16
|
|
.20:
|
|
LXI H,14-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,32
|
|
DAD D
|
|
PUSH H
|
|
LXI H,14-.14
|
|
DAD SP
|
|
MOV E,M
|
|
INX H
|
|
MOV D,M
|
|
LXI H,32
|
|
DAD D
|
|
PUSH H
|
|
LXI H,27
|
|
PUSH H
|
|
LXI H,.13+19
|
|
PUSH H
|
|
CALL printf_
|
|
XCHG
|
|
LXI H,8
|
|
DAD SP
|
|
SPHL
|
|
JMP .16
|
|
.15:
|
|
CALL .swt
|
|
DW 4
|
|
DW 0,.17
|
|
DW 1,.18
|
|
DW 2,.19
|
|
DW 3,.20
|
|
DW .16
|
|
.16:
|
|
RET
|
|
.14 EQU -2
|
|
.13:
|
|
DB 37,99,91,37,100,59,37,100,37,99,0,37,99,61,37
|
|
DB 99,37,99,0,37,99,89,37,99,37,99,0
|
|
extrn printf_
|
|
extrn .lt
|
|
END
|
|
|