mirror of
https://github.com/NishiOwO/VZEditor.git
synced 2025-04-22 00:54:40 +00:00
907 lines
15 KiB
Plaintext
907 lines
15 KiB
Plaintext
.xlist
|
||
;****************************
|
||
; 'vz.inc'
|
||
;****************************
|
||
|
||
;DEBUG equ TRUE
|
||
;NOSWAP equ TRUE
|
||
REXP equ TRUE ; VWX support by wing
|
||
NEWEXPR equ TRUE ; new pointer handler by Sakakibara
|
||
|
||
|
||
IFNDEF PC98
|
||
IFNDEF J31
|
||
IFNDEF IBMAX
|
||
IFNDEF US
|
||
;i186 equ TRUE
|
||
ENDIF
|
||
;NO2BYTEHAN equ TRUE
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
|
||
;IFDEF SLIM ; N/A from 1.6
|
||
; IFNDEF J31
|
||
; IFNDEF i186
|
||
;i186 equ TRUE
|
||
; ENDIF
|
||
; ENDIF
|
||
;ENDIF
|
||
|
||
;NEWBLOCK equ TRUE
|
||
|
||
include std.inc
|
||
|
||
.xlist
|
||
|
||
;****************************
|
||
; Equations
|
||
;****************************
|
||
;
|
||
;--- Assemble switches ---
|
||
|
||
IFDEF IBMV
|
||
DOSV equ TRUE
|
||
ENDIF
|
||
IFDEF IBMJ
|
||
DOSV equ TRUE
|
||
ENDIF
|
||
|
||
IFNDEF PC98
|
||
IFNDEF J31
|
||
IFNDEF JBM
|
||
IFNDEF IBM
|
||
IBM equ TRUE
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
|
||
IFNDEF PC98
|
||
IFNDEF J31
|
||
IFNDEF IBMJ
|
||
IFNDEF JBM
|
||
MSG_US equ TRUE
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
ENDIF
|
||
|
||
IFNDEF PC98
|
||
NO2BYTEHAN equ TRUE
|
||
ENDIF
|
||
|
||
;--- Hardware ID ---
|
||
|
||
ID_PC98 equ 00h
|
||
ID_PC98Hi equ 01h
|
||
ID_J31 equ 10h
|
||
ID_IBM equ 20h
|
||
ID_EGA equ 21h
|
||
ID_AX equ 02h
|
||
ID_DOSV equ 04h
|
||
ID_PS55 equ 28h
|
||
IDN_PC98 equ 0F0h
|
||
|
||
;--- Command code ---
|
||
|
||
CM_MAC equ 02
|
||
CM_ESC equ 03
|
||
CM_CR equ 04
|
||
CM_U equ 05
|
||
CM_D equ 06
|
||
CM_LEDIT equ 07
|
||
CM_L equ 07
|
||
CM_R equ 08
|
||
CM_COMMON equ 09
|
||
CM_WL equ 09
|
||
CM_WR equ 10
|
||
CM_TOUCH equ 14
|
||
CM_TAB equ 21
|
||
CM_CTRL equ 22
|
||
CM_SCOPY equ 24
|
||
CM_PUTLINE equ 29
|
||
CM_SEDIT equ 30
|
||
CM_FILER1 equ 43
|
||
CM_SFTCR equ 53
|
||
CM_CANCEL equ 54
|
||
CM_CHGTEXT equ 63
|
||
CM_OPENFILE equ 70
|
||
CM_READFILE equ 71
|
||
CM_NEWFILE equ 72
|
||
CM_APPEND equ 76
|
||
CM_RENAME equ 82
|
||
CM_SEDITMAX equ 85
|
||
CM_FILER equ 88
|
||
CM_DOS equ 95
|
||
CM_CONS equ 95
|
||
CM_ALIAS equ 96
|
||
CM_SPREAD equ 97
|
||
CM_TOFILER equ 98
|
||
CMCNT equ 100
|
||
CM_FILER3 equ 101
|
||
CM_FILER4 equ 122
|
||
|
||
;----- Event types -----
|
||
|
||
EV_ABORT equ 1
|
||
EV_START equ 2
|
||
EV_OPEN equ 3
|
||
EV_CLOSE equ 4
|
||
EV_EDIT equ 5
|
||
EV_VIEW equ 6
|
||
EV_TIMER equ 7
|
||
EV_FILER equ 8
|
||
EVENTCNT equ 8
|
||
|
||
;--- Messages ---
|
||
|
||
E_PATH equ 1
|
||
E_READ equ 2
|
||
E_WRITE equ 3
|
||
E_TEMP equ 4
|
||
E_NOLINE equ 5
|
||
E_OPEN equ 6
|
||
E_NODISK equ 7
|
||
E_NOTEXT equ 8
|
||
E_NOSTACK equ 9
|
||
E_NOMEM equ 10
|
||
E_NOBUFFER equ 11
|
||
E_EXEC equ 12
|
||
E_RECUST equ 13
|
||
|
||
M_QSAVE equ 14
|
||
M_SAVING equ 15
|
||
M_QSAVEM equ 16
|
||
M_QCLRSTK equ 17
|
||
M_QQUIT equ 18
|
||
M_XFOUND equ 19
|
||
M_QCHGALL equ 20
|
||
M_QRPLONE equ 21
|
||
M_RPLTOTAL equ 22
|
||
M_MOVE equ 23
|
||
M_COMPOK equ 24
|
||
M_COMPNG equ 25
|
||
M_XKAKO equ 26
|
||
M_OPENED equ 27
|
||
M_MARK equ 28
|
||
M_RECUST equ 29
|
||
M_EXIST equ 30
|
||
M_PATHERR equ 31
|
||
M_RDONLY equ 32
|
||
M_NEW equ 33
|
||
M_XSAVE equ 34
|
||
M_XAPPEND equ 35
|
||
M_NOTCHG equ 36
|
||
M_ABANDON equ 37
|
||
M_DELETE equ 38
|
||
|
||
;--- Text windows ---
|
||
|
||
W_READ equ 1
|
||
W_WRITE equ 2
|
||
W_NEW equ 3
|
||
W_APPEND equ 4
|
||
W_PATH equ 5
|
||
W_FIND equ 6
|
||
W_REPLACE equ 7
|
||
W_COPY equ 8
|
||
W_LINE equ 9
|
||
W_RENAME equ 10
|
||
W_FINDTTL equ 11
|
||
W_RENFILE equ 12
|
||
W_MKDIR equ 13
|
||
W_DOSBOX equ 14
|
||
W_CMDBOX equ 15
|
||
W_DSTBOX equ 16
|
||
|
||
;--- System mode ---
|
||
|
||
SYS_SEDIT equ 0
|
||
SYS_GETS equ 1
|
||
SYS_DOS equ 2
|
||
SYS_FILER equ 3
|
||
SYS_GETC equ 4
|
||
|
||
;--- Parse path result ---
|
||
|
||
PRS_WILD equ 00000001b
|
||
PRS_EXT equ 00000010b
|
||
PRS_NAME equ 00000100b
|
||
PRS_DIR equ 00001000b
|
||
PRS_DRV equ 00010000b
|
||
PRS_ROOT equ 00100000b
|
||
PRS_ENDDIR equ 10000000b
|
||
|
||
;--- Char attribute ---
|
||
|
||
ATR_TXT equ 0
|
||
ATR_CTR equ 1
|
||
ATR_NUM equ 2
|
||
ATR_BLK equ 3
|
||
ATR_STT equ 4
|
||
ATR_STT2 equ 5
|
||
ATR_STTR equ 6
|
||
ATR_MSG equ 7
|
||
ATR_WFRM equ 8
|
||
ATR_WTTL equ 9
|
||
ATR_WTXT equ 10
|
||
ATR_W1ST equ 11
|
||
ATR_WSEL equ 12
|
||
ATR_HELP equ 13
|
||
ATR_KEY equ 14
|
||
ATR_GRD equ 15
|
||
ATR_BCSR equ 16
|
||
ATR_FKEY equ 17
|
||
ATR_DOS equ 18
|
||
ATR_CTR2 equ 19
|
||
ATR_PATH equ 20
|
||
|
||
;--- Graphic char type ---
|
||
|
||
GRC equ 0F0h
|
||
GRC_H equ GRC+0
|
||
GRC_V equ GRC+1
|
||
GRC_TL equ GRC+2
|
||
GRC_TR equ GRC+3
|
||
GRC_BL equ GRC+4
|
||
GRC_BR equ GRC+5
|
||
GRC_VL equ GRC+6
|
||
GRC_VR equ GRC+7
|
||
GRC_TAB equ GRC+8
|
||
GRC_CR equ GRC+9
|
||
GRC_EOF equ GRC+10
|
||
|
||
;----- Control char attribute -----
|
||
|
||
CA_CTRL equ 00000001b
|
||
CA_CR equ 00000010b
|
||
CA_TAB equ 00000100b
|
||
CA_EOF equ 00001000b
|
||
CA_RMGN equ 00010000b
|
||
CA_ZENSPC equ 00100000b
|
||
CA_XZEN equ 01000000b
|
||
|
||
;--- Display switch ---
|
||
|
||
DSP_LINE equ 00000001b
|
||
DSP_CR equ 00000010b
|
||
DSP_TAB equ 00000100b
|
||
DSP_EOF equ 00001000b
|
||
DSP_RMGN equ 00010000b ; ##16
|
||
DSP_ZENSPC equ 00100000b ; ##16
|
||
DSP_NUM equ 01000000b
|
||
DSP_SYS equ 10000000b
|
||
DSP_BSLASH equ 0000000100000000b
|
||
DSP_UNDER equ 0000001000000000b
|
||
DSP_FULPATH equ 0000010000000000b
|
||
DSP_PATHCASE equ 0000100000000000b
|
||
DSP_IBMGRPH equ 0001000000000000b
|
||
DSP_98JIS83 equ 0001000000000000b ; ##156.106
|
||
DSP_DOSVFLICK equ 0001000000000000b ; ##156.131
|
||
DSP_STLHEAD equ 0010000000000000b ; ##156.99
|
||
DSP_SMOOTH equ 0100000000000000b ; ##16
|
||
|
||
;--- Edit switch ---
|
||
|
||
EDT_INDENT equ 00000001b
|
||
EDT_SCROLL equ 00000010b
|
||
EDT_EOF equ 00000100b
|
||
EDT_BACKUP equ 00001000b
|
||
EDT_UNTAB equ 00010000b
|
||
EDT_PASTE equ 00100000b
|
||
EDT_PGTTL equ 01000000b
|
||
EDT_PGHALF equ 10000000b
|
||
EDT_WRDSCH equ 0000000100000000b
|
||
EDT_ICASE equ 0000001000000000b
|
||
EDT_NOSTK equ 0000010000000000b
|
||
EDT_LOGMOVE equ 0000100000000000b
|
||
EDT_VIEW equ 0001000000000000b
|
||
EDT_AUTOWD equ 0010000000000000b
|
||
EDT_CUTSPC equ 0100000000000000b
|
||
EDT_INDENTZEN equ 1000000000000000b ; ##153.33
|
||
|
||
;--- System switch ---
|
||
|
||
SW_CON equ 00000010b
|
||
SW_SKIPESC equ 00000100b
|
||
SW_REDRAW equ 00001000b
|
||
SW_CLRSTACK equ 00010000b
|
||
SW_CLMOVW equ 00100000b ; Eo ##16
|
||
SW_YES equ 01000000b
|
||
SW_REVYN equ 10000000b ; YN ##16
|
||
SW_ASKNEW equ 0000000100000000b
|
||
SW_QUIT equ 0000001000000000b
|
||
SW_FP equ 0000010000000000b
|
||
SW_BEEP equ 0000100000000000b
|
||
SW_RO equ 0001000000000000b
|
||
SW_INIOPT equ 0010000000000000b ; Sz ##16
|
||
;SW_VIEWRET equ 0100000000000000b ; Sv ##16
|
||
|
||
;--- Extended switch ---
|
||
|
||
ESW_ESCKEY equ 00000001b
|
||
ESW_EZKEY equ 00000010b ; ##153.30
|
||
ESW_FPQUIT equ 00000100b ; ##156.109
|
||
ESW_TRUSH equ 00001000b ; ux
|
||
ESW_MAC equ 00010000b ; mx
|
||
ESW_VWX equ 00100000b ; +
|
||
ESW_IZENHAN equ 01000000b ; + VWX
|
||
ESW_REXP equ 10000000b ; +
|
||
ESW_FKEY equ 0000000100000000b
|
||
ESW_DEFTTL equ 0000001000000000b
|
||
|
||
;--- Command flag ---
|
||
|
||
CMF_TCH equ 00000001b
|
||
CMF_VMOVE equ 00000010b
|
||
CMF_VPOS equ 00000100b
|
||
CMF_REMAP equ 00001000b
|
||
CMF_VAL equ 10000000b
|
||
|
||
;----- DOS Command exec switch -----
|
||
|
||
DOS_TBOX equ 0001b
|
||
DOS_GO equ 0010b
|
||
DOS_RETURN equ 0100b
|
||
DOS_BOXTTL equ 1000b
|
||
|
||
;--- Macro extra char ---
|
||
|
||
MCHR_MENU equ 1
|
||
MCHR_CMD equ 2
|
||
MCHR_VAR equ 3
|
||
MCHR_CALL equ 4
|
||
MCHR_REM equ 5
|
||
MCHR_LABEL equ 6
|
||
MCHR_JUMP equ 7
|
||
MCHR_IF equ 8
|
||
MCHR_RET equ 9
|
||
MCHR_END equ 10
|
||
MCHR_CHR equ 11
|
||
MCHR_STR equ 12
|
||
|
||
;--- Block mode ---
|
||
|
||
BLK_LINE equ 1
|
||
BLK_CHAR equ 2
|
||
BLK_RECT equ 4
|
||
|
||
;----- Paging mode -----
|
||
|
||
PG_SCRN equ 0
|
||
PG_TTLSCH equ 1
|
||
PG_STRSCH equ 2
|
||
|
||
;--- Cursor type ---
|
||
|
||
CSR_INS equ 0
|
||
CSR_OVR equ 1
|
||
CSR_SYS equ 4
|
||
CSR_OFF equ -1
|
||
|
||
;--- Get string mode ---
|
||
|
||
GETS_INIT equ 0
|
||
GETS_COPY equ 1
|
||
GETS_DOS equ 4
|
||
GETS_DOSC equ 5
|
||
GETS_DOSBOX equ 8
|
||
|
||
;--- System menu ---
|
||
|
||
MNU_HELP equ 0
|
||
MNU_MACRO equ 1
|
||
MNU_ALIAS equ 2
|
||
MNU_TEXT equ 3
|
||
MNU_RPLMODE equ 4
|
||
MNU_FMASK equ 5
|
||
MNU_FSORT equ 6
|
||
MNU_FCOMP equ 7
|
||
MNU_FEXEC equ 8
|
||
MNU_FQUICK equ 9
|
||
MNU_MODULE equ 10
|
||
MNU_VZPATH equ 11
|
||
MNU_FATTR equ 12
|
||
MNU_FFILE equ 13
|
||
MENU_MODULE equ 97
|
||
MENU_MDLMAC equ 98
|
||
MENU_MACRO equ 99
|
||
MENUMASK equ 11100000b
|
||
|
||
IFDEF NEWEXPR
|
||
MENU_VAR equ 10000000b
|
||
ENDIF
|
||
|
||
;--- Split mode ---
|
||
|
||
SPLIT_A equ 0
|
||
SPLIT_H equ 2
|
||
SPLIT_U equ SPLIT_H
|
||
SPLIT_D equ SPLIT_H+1
|
||
SPLIT_V equ 4
|
||
SPLIT_L equ SPLIT_V
|
||
SPLIT_R equ SPLIT_V+1
|
||
|
||
;--- FEP controle code ---
|
||
|
||
FEP_ON equ 0
|
||
FEP_OFF equ 1
|
||
FEP_ACT equ 2
|
||
FEP_MASK equ 3
|
||
|
||
;--- Text modify mode ---
|
||
|
||
TCH_MOD equ 1
|
||
TCH_RO equ -1
|
||
TCH_VIEW equ 80h
|
||
|
||
;--- Large file mode --- ; ##16
|
||
|
||
FL_HEAD equ 00000001b
|
||
FL_TAIL equ 00000010b
|
||
FL_HEADX equ 00000100b
|
||
FL_TAILX equ 00001000b
|
||
FL_READEND equ 00010000b
|
||
FL_RENAME equ 00100000b
|
||
FL_LOG equ 01000000b
|
||
FL_BINARY equ 10000000b
|
||
|
||
;----- Module macro -----
|
||
|
||
MDL_SLEEP equ 00000001b
|
||
MDL_REMOVE equ 00000010b
|
||
MDL_EXT equ 00000100b
|
||
MDL_KEYMAC equ 10000000b
|
||
MDL_HEADER equ 0FFh
|
||
|
||
;----- Profile option -----
|
||
|
||
PRO_WRITE equ 0000001b
|
||
PRO_CREATE equ 0000010b
|
||
PRO_CLOSE equ 0000100b
|
||
PRO_AUTO equ 0001000b
|
||
PRO_LOGCLOSE equ 0010000b
|
||
PRO_CMDHIST equ 0100000b
|
||
PRO_NOHIST equ 1000000b
|
||
|
||
;--- Miscellaneous ---
|
||
|
||
NULLCODE equ 0FFh
|
||
WD equ 80
|
||
HIGHT equ 25
|
||
STRSZ equ 128
|
||
TTLSTRSZ equ 64
|
||
TMPSZ equ 256
|
||
PATHSZ equ 64
|
||
MASKSZ equ 32
|
||
BACKSLASH equ 0FCh
|
||
SYMCHR equ 27h
|
||
MARKCNT equ 4
|
||
ONEMS equ 0FFFh
|
||
MIN_TBSIZE equ 0400h
|
||
PACKSZ equ 13
|
||
TEXTTOP equ 2
|
||
TMPSLOTCNT equ 512
|
||
BMPSIZE equ 128
|
||
DOSLEN equ 128
|
||
PAGEMAX equ BMPSIZE*8
|
||
EMSMASK equ 0F0h
|
||
EMSMASKW equ 0F000h
|
||
TMAXMGN equ 0FFFDh
|
||
|
||
;****************************
|
||
; Segment definitions
|
||
;****************************
|
||
|
||
_work segment word public 'WORK'
|
||
_work ends
|
||
|
||
_data segment word public 'DATA'
|
||
_data ends
|
||
|
||
_base segment word public 'BASE'
|
||
_base ends
|
||
|
||
_code segment byte public 'CODE'
|
||
_code ends
|
||
|
||
_exec segment byte public 'EXEC'
|
||
_exec ends
|
||
|
||
_hard segment byte public 'HARD'
|
||
_hard ends
|
||
|
||
_init segment word public 'INIT'
|
||
_init ends
|
||
|
||
_tail segment word public 'TAIL'
|
||
_tail ends
|
||
|
||
cgroup group _work,_data,_base,_code,_exec,_hard,_init,_tail
|
||
|
||
wseg macro
|
||
_work segment
|
||
endm
|
||
|
||
endws macro
|
||
_work ends
|
||
endm
|
||
|
||
dseg macro
|
||
_data segment
|
||
endm
|
||
|
||
endds macro
|
||
_data ends
|
||
endm
|
||
|
||
bseg macro
|
||
_base segment
|
||
endm
|
||
|
||
endbs macro
|
||
_base ends
|
||
endm
|
||
|
||
cseg macro
|
||
_code segment
|
||
endm
|
||
|
||
endcs macro
|
||
_code ends
|
||
endm
|
||
|
||
eseg macro
|
||
_exec segment
|
||
endm
|
||
|
||
endes macro
|
||
_exec ends
|
||
endm
|
||
|
||
hseg macro
|
||
_hard segment
|
||
endm
|
||
|
||
endhs macro
|
||
_hard ends
|
||
endm
|
||
|
||
iseg macro
|
||
_init segment
|
||
endm
|
||
|
||
endis macro
|
||
_init ends
|
||
endm
|
||
|
||
;****************************
|
||
; Macro definitions
|
||
;****************************
|
||
|
||
GDATA macro sym,def,val1
|
||
public sym
|
||
sym def val1
|
||
endm
|
||
|
||
tstl macro var
|
||
mov ax,word ptr var
|
||
or ax,word ptr var+2
|
||
endm
|
||
|
||
clrl macro var
|
||
mov word ptr var,0
|
||
mov word ptr var+2,0
|
||
endm
|
||
|
||
ldl macro var
|
||
mov ax,word ptr var
|
||
mov dx,word ptr var+2
|
||
endm
|
||
|
||
stl macro var
|
||
mov word ptr var,ax
|
||
mov word ptr var+2,dx
|
||
endm
|
||
|
||
addl macro var
|
||
add ax,word ptr var
|
||
adc dx,word ptr var+2
|
||
endm
|
||
|
||
subl macro var
|
||
sub ax,word ptr var
|
||
sbb dx,word ptr var+2
|
||
endm
|
||
|
||
cmpl macro var
|
||
local cmpl1
|
||
cmp dx,word ptr var+2
|
||
jne cmpl1
|
||
cmp ax,word ptr var
|
||
cmpl1:
|
||
endm
|
||
|
||
cmphl macro reg_h,reg_l
|
||
local cmphl1
|
||
cmp dx,reg_h
|
||
jne cmphl1
|
||
cmp ax,reg_l
|
||
cmphl1:
|
||
endm
|
||
|
||
addlw macro var,reg
|
||
add word ptr var,reg
|
||
adc word ptr var+2,0
|
||
endm
|
||
|
||
sublw macro var,reg
|
||
sub word ptr var,reg
|
||
sbb word ptr var+2,0
|
||
endm
|
||
|
||
IFDEF DEBUG
|
||
IFDEF PC98
|
||
beep macro
|
||
pushf
|
||
pushm <ax,cx>
|
||
outi 37h,06h
|
||
mov cx,1000h
|
||
loop $
|
||
outi 37h,07h
|
||
popm <cx,ax>
|
||
popf
|
||
endm
|
||
|
||
beepon macro
|
||
push ax
|
||
outi 37h,6
|
||
pop ax
|
||
endm
|
||
|
||
beepoff macro
|
||
push ax
|
||
outi 37h,7
|
||
pop ax
|
||
endm
|
||
ELSE
|
||
beep macro
|
||
push ax
|
||
mov ax,0E07h
|
||
int 10h
|
||
pop ax
|
||
endm
|
||
ENDIF
|
||
ENDIF
|
||
|
||
ofs macro label
|
||
dw offset cgroup:label
|
||
endm
|
||
|
||
;****************************
|
||
; Structure definitions
|
||
;****************************
|
||
|
||
;--- Memory control block ---
|
||
|
||
_mcb struc
|
||
mcb_id db ?
|
||
mcb_psp dw ?
|
||
mcb_size dw ?
|
||
_mcb ends
|
||
|
||
;--- Screen record ---
|
||
|
||
_point struc
|
||
x db ?
|
||
y db ?
|
||
_point ends
|
||
|
||
_rect struc
|
||
px db ?
|
||
py db ?
|
||
sx db ?
|
||
sy db ?
|
||
_rect ends
|
||
|
||
;--- Menu record ---
|
||
|
||
_menu struc
|
||
mn_wd db ?
|
||
mn_c db ?
|
||
mn_valwd db ?
|
||
mn_sel db ? ; if -1, no cursor
|
||
mn_ext dw ? ; extern function ptr
|
||
_menu ends
|
||
|
||
;--- Menu bar record ---
|
||
|
||
_mbar struc
|
||
mb_px db ?
|
||
mb_py db ?
|
||
mb_sx db ?
|
||
mb_c db ?
|
||
mb_ttl dw ?
|
||
_mbar ends
|
||
|
||
;--- Directoy record ---
|
||
|
||
_dir struc
|
||
dr_attr db ?
|
||
dr_time dw ?
|
||
dr_date dw ?
|
||
dr_size dd ?
|
||
dr_pack db 13 dup(?)
|
||
_dir ends
|
||
|
||
;--- DTA record ---
|
||
|
||
_dta struc
|
||
db 15h dup(?)
|
||
dta_attr db ?
|
||
dta_time dw ?
|
||
dta_date dw ?
|
||
dta_size dd ?
|
||
dta_pack db PACKSZ dup(?)
|
||
_dta ends
|
||
|
||
;--- Filer window record ---
|
||
|
||
_filer struc
|
||
fl_back dw ?
|
||
fl_pooltop dw ?
|
||
fl_seg dw ?
|
||
fl_poolend dw ?
|
||
fl_poolp dw ?
|
||
fl_selcnt dw ?
|
||
fl_bcsr dw ?
|
||
fl_files dw ?
|
||
fl_home dw ?
|
||
fl_wpx db ?
|
||
fl_wpy db ?
|
||
fl_wsx db ?
|
||
fl_wsy db ?
|
||
fl_tsy dw ?
|
||
fl_ttlsx db ?
|
||
fl_which db ?
|
||
fl_free dd ?
|
||
fl_clust dw ?
|
||
fl_overflow db ?
|
||
fl_curf db ?
|
||
fl_path db PATHSZ dup(?)
|
||
fl_mask db MASKSZ dup(?)
|
||
fl_lastpath db PATHSZ dup(?)
|
||
_filer ends
|
||
|
||
;--- FEP descriptor ---
|
||
|
||
_fep struc
|
||
fp_int db ? ; INT No.
|
||
fp_idoff dw ? ; check offset
|
||
fp_absoff db ? ; 0=vector rel, 1=absolute
|
||
fp_id dw ? ; check word
|
||
_fep ends
|
||
|
||
;----- Log file table -----
|
||
|
||
_logtbl struc
|
||
lg_lnumb dw ?
|
||
lg_nowp dd ?
|
||
lg_eofp dd ?
|
||
lg_lf db ?
|
||
_logtbl ends
|
||
|
||
;----- Module Header -----
|
||
|
||
_mdlhead struc
|
||
mh_num db 0FFh ; Dummy No.(=Menu #31)
|
||
mh_size dw ? ; Header size
|
||
mh_flag db ? ;
|
||
mh_nextmdl dw ? ; Next module header ptr
|
||
mh_namelen dw ? ; module name length
|
||
_mdlhead ends
|
||
|
||
;--- Text record ---
|
||
|
||
_text struc
|
||
w_next dw ? ; next record link ptr
|
||
wnum db ? ; window number
|
||
tchf db ? ; touch flag (0=nop,1=modified,-1=RO)
|
||
wsplit db ? ; window split mode
|
||
blkm db ? ; block mode (1=line,2=char)
|
||
wy db ? ; y loc. in screen
|
||
wnxt db ? ; next line y loc. in screen
|
||
wys db ? ; wy keeper
|
||
|
||
nodnumb db ? ; disp number flag
|
||
lnumb dw ? ; line number
|
||
dnumb dw ? ; disp number
|
||
lnumb0 dw ? ; line number offset
|
||
dnumb0 dw ? ; disp number offset
|
||
|
||
ttops dw ? ; text area top seg
|
||
tends dw ? ; text area end seg or EMS entry
|
||
ttop dw ? ; text top ptr
|
||
tend dw ? ; text end ptr
|
||
tmax dw ? ; text buffer end ptr
|
||
thom dw ? ; screen home ptr
|
||
tbtm dw ? ; screen bottom ptr
|
||
tnow dw ? ; current line ptr
|
||
tnxt dw ? ; next line ptr
|
||
|
||
btop dw ? ; line buffer top ptr
|
||
bend dw ? ; line end ptr
|
||
tcp dw ? ; current ptr (common)
|
||
tfld dw ? ; field start ptr (common)
|
||
bmax dw ? ; line buffer end ptr
|
||
bhom dw ? ; screen home ptr (in buffer)
|
||
bbtm dw ? ; screen bottom ptr (in buffer)
|
||
lbseg dw ? ; line buffer seg
|
||
inbuf db ? ;
|
||
tw_px db ? ;+ text window
|
||
tw_py db ? ;+
|
||
tw_sx db ? ;+
|
||
tw_sy db ? ;+
|
||
tw_cy db ? ;+
|
||
fsiz db ? ; field size
|
||
fskp db ? ; display skip x
|
||
fofs db ? ; H-scroll offset x
|
||
lxs db ? ; lx keeper
|
||
lx db ? ; x loc. in field
|
||
ly db ? ; y loc. in line
|
||
tabr db ? ; Tab size
|
||
exttyp db ? ; file ext type
|
||
ctype db ? ; current char type
|
||
ckanj db ? ; 1=kanji
|
||
ccode dw ? ; current char code
|
||
namep dw ? ; file name ptr
|
||
|
||
largf db ? ; large text flag
|
||
temp db ? ; temporary file flag
|
||
readp dd ? ; text read long ptr
|
||
eofp dd ? ; EOF lptr
|
||
headp dd ? ; head lptr
|
||
headsz dw ? ; head size
|
||
tailp dd ? ; tail lptr
|
||
tailsz dw ? ; tail size
|
||
textid dw ? ; text ID No.
|
||
w1 dw ? ; work 1
|
||
w2 dw ? ; work 2
|
||
w3 dw ? ; work 3
|
||
bofs dw ? ; block mark offset in line
|
||
blkx db ? ; block mark x loc.
|
||
fsiz0 db ? ; save of fsiz
|
||
|
||
tbmax dw ? ; size of text buffer ##1.5
|
||
tbalt dw ? ; size of temp. block ##1.5
|
||
|
||
tblkp dd ? ; block lptr
|
||
tnowp dd ? ; current lptr
|
||
trgtp dd ? ; target lptr
|
||
toldp dd ? ; old current lptr
|
||
tretp dd ? ; return lptr
|
||
tmark dd MARKCNT dup(?) ; mark lptr
|
||
|
||
path db PATHSZ dup (?) ; path name area
|
||
tsstr dw ? ; title search string ptr
|
||
blktgt dw ? ; block target flag
|
||
inpcnt dw ? ; input counter
|
||
ektbl dw ? ; event key table ptr
|
||
extword dw ? ; file ext word
|
||
labelp dw ? ; label name ptr
|
||
lnumb9 dw ? ; last line number
|
||
dspsw1 db ? ; alternate dspsw
|
||
atrtxt1 db ?
|
||
atrstt1 db ?
|
||
atrpath1 db ?
|
||
_text ends
|
||
|
||
;****************************
|
||
; End of 'vz.inc'
|
||
; Copyright (C) 1989 by c.mos
|
||
;****************************
|
||
|
||
.list
|
||
assume cs:cgroup, ss:cgroup
|
||
|