152 lines
1.8 KiB
NASM
152 lines
1.8 KiB
NASM
include asm.inc
|
|
|
|
text__asm SEGMENT para public 'CODE'
|
|
ASSUME cs:text__asm
|
|
|
|
.386
|
|
|
|
tmp1 dw 0
|
|
tmp2 dw 0
|
|
|
|
PUBLIC _testpset
|
|
_testpset PROC FAR
|
|
CBEG
|
|
LOADDS
|
|
mov dx,3c4h
|
|
mov al,2
|
|
out dx,al
|
|
mov es,ds:vram
|
|
mov ax,[bp+10]
|
|
mov ds:color,ax
|
|
mov bx,[bp+8]
|
|
mov dx,[bp+6]
|
|
call VIDPSET
|
|
CEND
|
|
_testpset ENDP
|
|
|
|
PUBLIC _testline
|
|
_testline PROC FAR
|
|
CBEG
|
|
LOADDS
|
|
mov es,ds:vram
|
|
mov ax,[bp+14]
|
|
mov ds:color,ax
|
|
mov ax,[bp+12]
|
|
mov cx,[bp+10]
|
|
mov bx,[bp+8]
|
|
mov dx,[bp+6]
|
|
call VIDLINE
|
|
CEND
|
|
_testline ENDP
|
|
|
|
PUBLIC _testasm
|
|
_testasm PROC FAR
|
|
CBEG
|
|
LOADDS
|
|
mov si,OFFSET video
|
|
mov ax,0
|
|
call setvmode
|
|
call VIDINIT
|
|
CEND
|
|
|
|
CBEG
|
|
LOADDS
|
|
setborder 0
|
|
mov si,OFFSET video
|
|
mov ax,0
|
|
call setvmode
|
|
call VIDINIT
|
|
;call VIDSWITCH
|
|
;call VIDCLEAR64
|
|
mov ax,13h
|
|
int 10h
|
|
;
|
|
mov dx,3c8h
|
|
mov al,0
|
|
out dx,al
|
|
inc dx
|
|
xor al,al
|
|
out dx,al
|
|
out dx,al
|
|
out dx,al
|
|
mov al,11
|
|
mov cx,255
|
|
@@1: out dx,al
|
|
out dx,al
|
|
out dx,al
|
|
inc al
|
|
loop @@1
|
|
|
|
call VIDSWITCH
|
|
push ds:vram
|
|
call VIDSWITCH
|
|
pop ds:vram
|
|
|
|
mov ax,13h
|
|
int 10h
|
|
CEND
|
|
|
|
LOADDS
|
|
mov ds:color1,60
|
|
|
|
@@aga: LOADDS
|
|
call VIDSWITCH
|
|
|
|
mov dx,3c4h
|
|
mov al,2
|
|
out dx,al
|
|
|
|
add ds:color,1
|
|
add cs:tmp1,3
|
|
add cs:tmp2,4
|
|
mov cx,0
|
|
mov ax,cs:tmp1
|
|
shr ax,2
|
|
and ax,255
|
|
mov dx,cs:tmp2
|
|
shr dx,2
|
|
and dx,255
|
|
mov bx,199
|
|
mov es,ds:vram
|
|
call VIDLINE
|
|
mov ah,1
|
|
|
|
mov ax,3
|
|
int 10h
|
|
CEND
|
|
_testasm ENDP
|
|
|
|
PUBLIC _asmtestmode
|
|
_asmtestmode db 0
|
|
|
|
PUBLIC _asm
|
|
_asm PROC FAR
|
|
CBEG
|
|
LOADDS
|
|
push word ptr [bp+6]
|
|
push word ptr [bp+8]
|
|
cmp cs:_asmtestmode,0
|
|
je @@1
|
|
|
|
@@2: setborder 0
|
|
call VIDWAITB
|
|
call VIDWAITB
|
|
call VIDWAITB
|
|
mov ax,0a000h
|
|
mov es,ax
|
|
mov cx,32000
|
|
xor ax,ax
|
|
rep stosw
|
|
pop es
|
|
pop di
|
|
CEND
|
|
|
|
@@1: setborder 0
|
|
call VIDWAITB
|
|
pop es
|
|
pop di
|
|
CEND
|
|
_asm ENDP
|
|
|
|
text__asm ENDS
|
|
END
|