Files
RomWBW/branches/wbw/Apps/crossdev/CHARS.ASM
2013-02-16 06:47:37 +00:00

970 lines
8.9 KiB
NASM
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
extrn .begin,.chl,.swt
extrn csave,cret,.move
global pDPHMAP_,2
global pDPHVEC_,24
DSEG
public pSYSCFG_
pSYSCFG_:
DW -16384
CSEG
DSEG
public map_
map_:
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 1
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 1
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
DB 0
CSEG
DSEG
public attroff_
attroff_:
DB 27
DB 91
DB 109
DB 0
CSEG
DSEG
public attrbold_
attrbold_:
DB 27
DB 91
DB 49
DB 109
DB 0
CSEG
DSEG
public attrlow_
attrlow_:
DB 27
DB 91
DB 50
DB 109
DB 0
CSEG
DSEG
public attrundr_
attrundr_:
DB 27
DB 91
DB 52
DB 109
DB 0
CSEG
DSEG
public attrblnk_
attrblnk_:
DB 27
DB 91
DB 53
DB 109
DB 0
CSEG
DSEG
public attrrevs_
attrrevs_:
DB 27
DB 91
DB 55
DB 109
DB 0
CSEG
DSEG
public attrinvs_
attrinvs_:
DB 27
DB 91
DB 56
DB 109
DB 0
CSEG
DSEG
public graphon_
graphon_:
DB 27
DB 70
DB 0
CSEG
DSEG
public graphoff_
graphoff_:
DB 27
DB 71
DB 0
CSEG
DSEG
public atreset_
atreset_:
DB 48
DB 0
CSEG
DSEG
public atbold_
atbold_:
DB 49
DB 0
CSEG
DSEG
public atdim_
atdim_:
DB 50
DB 0
CSEG
DSEG
public atundrsc_
atundrsc_:
DB 52
DB 0
CSEG
DSEG
public atblink_
atblink_:
DB 53
DB 0
CSEG
DSEG
public atrevs_
atrevs_:
DB 55
DB 0
CSEG
DSEG
public athidden_
athidden_:
DB 56
DB 0
CSEG
DSEG
public fgblack_
fgblack_:
DB 51
DB 48
DB 0
CSEG
DSEG
public fgred_
fgred_:
DB 51
DB 49
DB 0
CSEG
DSEG
public fggreen_
fggreen_:
DB 51
DB 50
DB 0
CSEG
DSEG
public fgyellow_
fgyellow_:
DB 51
DB 51
DB 0
CSEG
DSEG
public fgblue_
fgblue_:
DB 51
DB 52
DB 0
CSEG
DSEG
public fgmagent_
fgmagent_:
DB 51
DB 53
DB 0
CSEG
DSEG
public fgcyan_
fgcyan_:
DB 51
DB 54
DB 0
CSEG
DSEG
public fgwhite_
fgwhite_:
DB 51
DB 55
DB 0
CSEG
DSEG
public bgblack_
bgblack_:
DB 52
DB 48
DB 0
CSEG
DSEG
public bgred_
bgred_:
DB 52
DB 49
DB 0
CSEG
DSEG
public bggreen_
bggreen_:
DB 52
DB 50
DB 0
CSEG
DSEG
public bgyellow_
bgyellow_:
DB 52
DB 51
DB 0
CSEG
DSEG
public bgblue_
bgblue_:
DB 52
DB 52
DB 0
CSEG
DSEG
public bgmagent_
bgmagent_:
DB 52
DB 53
DB 0
CSEG
DSEG
public bgcyan_
bgcyan_:
DB 52
DB 54
DB 0
CSEG
DSEG
public bgwhite_
bgwhite_:
DB 52
DB 55
DB 0
CSEG
PUBLIC dispattr_
dispattr_: lxi d,.2
call csave
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,12-.2
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,27
PUSH H
LXI H,.1+0
PUSH H
CALL printf_
XCHG
LXI H,10
DAD SP
SPHL
RET
.2 EQU 0
.1:
DB 37,99,91,37,115,59,37,115,59,37,115,109,0
PUBLIC main_
main_: lxi d,.4
call csave
LXI H,1
XCHG
LXI H,8-.4
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .lt
JZ .5
LXI H,1
XCHG
LXI H,2-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .7
.6:
LXI H,2-.4
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
.7:
LXI H,2-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,8-.4
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
CALL .lt
JZ .8
LXI H,2-.4
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
DAD H
XCHG
LXI H,10-.4
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
DAD D
MOV E,M
INX H
MOV D,M
PUSH D
CALL atoi_
POP D
PUSH H
LXI H,.3+0
PUSH H
CALL printf_
POP D
POP D
JMP .6
.8:
JMP .9
.5:
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,bgblack_
PUSH H
LXI H,fggreen_
PUSH H
LXI H,atbold_
PUSH H
CALL dispattr_
POP D
POP D
POP D
LXI H,.3+3
PUSH H
CALL banner_
POP D
LXI H,attroff_
PUSH H
LXI H,.3+9
PUSH H
CALL printf_
POP D
POP D
LXI H,bgblack_
PUSH H
LXI H,fgcyan_
PUSH H
LXI H,atbold_
PUSH H
CALL dispattr_
POP D
POP D
POP D
LXI H,0
XCHG
LXI H,-4-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .11
.10:
LXI H,-4-.4
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
.11:
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16
CALL .lt
JZ .12
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
DAD H
DAD H
LXI D,9
DAD D
PUSH H
LXI H,6
PUSH H
CALL crtlc_
POP D
POP D
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.3+12
PUSH H
CALL printf_
POP D
POP D
JMP .10
.12:
LXI H,attroff_
PUSH H
LXI H,.3+17
PUSH H
CALL printf_
POP D
POP D
LXI H,0
XCHG
LXI H,-6-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .14
.13:
LXI H,-6-.4
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
.14:
LXI H,-6-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16
CALL .lt
JZ .15
LXI H,4
PUSH H
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,7
DAD D
PUSH H
CALL crtlc_
POP D
POP D
LXI H,bgblack_
PUSH H
LXI H,fgcyan_
PUSH H
LXI H,atbold_
PUSH H
CALL dispattr_
POP D
POP D
POP D
LXI H,-6-.4
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.3+20
PUSH H
CALL printf_
POP D
POP D
LXI H,attroff_
PUSH H
LXI H,.3+25
PUSH H
CALL printf_
POP D
POP D
LXI H,0
XCHG
LXI H,-4-.4
DAD SP
MOV M,E
INX H
MOV M,D
JMP .17
.16:
LXI H,-4-.4
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
.17:
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,16
CALL .lt
JZ .18
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
DAD H
DAD H
LXI D,10
DAD D
PUSH H
LXI H,-4-.4
DAD SP
MOV E,M
INX H
MOV D,M
LXI H,7
DAD D
PUSH H
CALL crtlc_
POP D
POP D
LXI H,-6-.4
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
DAD H
DAD H
DAD H
DAD H
XCHG
LXI H,-4-.4
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
DAD D
LXI D,map_
DAD D
MOV E,M
MVI D,0
PUSH D
LXI H,1
POP D
CALL .eq
JZ .19
LXI H,.3+28
PUSH H
CALL printf_
POP D
JMP .20
.19:
LXI H,-6-.4
DAD SP
MOV E,M
INX H
MOV D,M
XCHG
DAD H
DAD H
DAD H
DAD H
XCHG
LXI H,-4-.4
DAD SP
MOV A,M
INX H
MOV H,M
MOV L,A
DAD D
PUSH H
LXI H,.3+30
PUSH H
CALL printf_
POP D
POP D
.20:
JMP .16
.18:
LXI H,bgblack_
PUSH H
LXI H,fgcyan_
PUSH H
LXI H,atbold_
PUSH H
CALL dispattr_
POP D
POP D
POP D
LXI H,-6-.4
DAD SP
MOV E,M
INX H
MOV D,M
PUSH D
LXI H,.3+33
PUSH H
CALL printf_
POP D
POP D
LXI H,attroff_
PUSH H
LXI H,.3+40
PUSH H
CALL printf_
POP D
POP D
JMP .13
.15:
.9:
LXI H,0
RET
.4 EQU -10
.3:
DB 37,99,0,67,72,65,82,83,0,37,115,0,91,37,120
DB 93,0,37,115,0,91,37,120,93,0,37,115,0,46,0
DB 37,99,0,32,32,91,37,120,93,0,37,115,0
extrn atoi_
extrn printf_
extrn banner_
extrn crtlc_
extrn crtclr_
extrn crtinit_
extrn diagnose_
extrn hregde_
extrn hregbc_
extrn .eq
extrn .lt
END