61 lines
959 B
PHP
61 lines
959 B
PHP
include adata.inc
|
|
include aobj.inc
|
|
|
|
INT3 MACRO
|
|
int 3
|
|
ENDM
|
|
|
|
LOADDS MACRO
|
|
mov ax,SEG rows
|
|
mov ds,ax
|
|
ENDM
|
|
|
|
LOADGS MACRO
|
|
mov ax,SEG rows
|
|
mov gs,ax
|
|
ENDM
|
|
|
|
movpar MACRO reg,par ;loads parameter [par(0..)] to register [reg]
|
|
mov reg,word ptr [bp+par*2+6]
|
|
ENDM
|
|
|
|
CBEG MACRO ;C/Assembler procedure begin
|
|
push bp
|
|
mov bp,sp
|
|
push si
|
|
push di
|
|
push ds
|
|
ENDM
|
|
|
|
CEND MACRO ;C/Assembler procedure end
|
|
pop ds
|
|
pop di
|
|
pop si
|
|
pop bp
|
|
ret
|
|
ENDM
|
|
|
|
setborder MACRO col
|
|
mov al,col
|
|
push ax
|
|
; call _setborder
|
|
add sp,2
|
|
ENDM
|
|
|
|
LOCALS
|
|
|
|
;VID.ASM
|
|
global setvmode:far
|
|
global _setborder:far
|
|
VIDINIT equ ds:video[0]
|
|
VIDSWITCH equ ds:video[4]
|
|
VIDCLEAR64 equ ds:video[8]
|
|
VIDPSET equ ds:video[12]
|
|
VIDLINE equ ds:video[16]
|
|
VIDHLINE equ ds:video[20]
|
|
VIDHGROUP equ ds:video[24]
|
|
VIDTHGROUP equ ds:video[28]
|
|
VIDPOLYGROUP equ ds:video[32]
|
|
VIDCLEAR equ ds:video[36]
|
|
VIDWAITB equ ds:video[40]
|
|
VIDNEWPOLYGROUP equ ds:video[44]
|