Upload
This commit is contained in:
commit
43352ff262
1291 changed files with 220976 additions and 0 deletions
202
START/ASM.ASM
Normal file
202
START/ASM.ASM
Normal file
|
|
@ -0,0 +1,202 @@
|
|||
include clink.inc
|
||||
code SEGMENT para public 'CODE'
|
||||
ASSUME cs:code
|
||||
LOCALS
|
||||
.386
|
||||
|
||||
waitb PROC NEAR
|
||||
mov dx,3dah
|
||||
@@1: in al,dx
|
||||
test al,8
|
||||
jnz @@1
|
||||
@@2: in al,dx
|
||||
test al,8
|
||||
jz @@2
|
||||
ret
|
||||
waitb ENDP
|
||||
|
||||
PUBLIC _waitb
|
||||
_waitb PROC FAR
|
||||
CBEG
|
||||
call waitb
|
||||
CEND
|
||||
_waitb ENDP
|
||||
|
||||
PUBLIC _setborder
|
||||
_setborder PROC FAR
|
||||
CBEG
|
||||
mov dx,3dah
|
||||
in al,dx
|
||||
mov dx,3c0h
|
||||
mov al,11h+32
|
||||
out dx,al
|
||||
movpar ax,0
|
||||
out dx,al
|
||||
CEND
|
||||
_setborder ENDP
|
||||
|
||||
PUBLIC _initvideo
|
||||
_initvideo PROC FAR
|
||||
CBEG
|
||||
mov ax,13h
|
||||
int 10h
|
||||
call waitb
|
||||
;clear palette
|
||||
mov dx,3c8h
|
||||
xor al,al
|
||||
out dx,al
|
||||
inc dx
|
||||
mov cx,768
|
||||
@@1: out dx,al
|
||||
loop @@1
|
||||
;400 rows
|
||||
mov dx,3d4h
|
||||
mov ax,00009h
|
||||
out dx,ax
|
||||
;tweak
|
||||
mov ax,00014h
|
||||
out dx,ax
|
||||
mov ax,0e317h
|
||||
out dx,ax
|
||||
mov dx,3c4h
|
||||
mov ax,0604h
|
||||
out dx,ax
|
||||
;
|
||||
mov dx,3c4h
|
||||
mov ax,0f02h
|
||||
out dx,ax
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
xor di,di
|
||||
mov cx,32768
|
||||
xor ax,ax
|
||||
rep stosw
|
||||
;
|
||||
;640 wide
|
||||
mov dx,3d4h
|
||||
mov ax,05013h
|
||||
out dx,ax
|
||||
CEND
|
||||
_initvideo ENDP
|
||||
|
||||
PUBLIC _deinitvideo
|
||||
_deinitvideo PROC FAR
|
||||
CBEG
|
||||
mov ax,3h
|
||||
int 10h
|
||||
CEND
|
||||
_deinitvideo ENDP
|
||||
|
||||
PUBLIC _loadpal
|
||||
_loadpal PROC FAR
|
||||
CBEG
|
||||
call waitb
|
||||
;clear palette
|
||||
mov dx,3c8h
|
||||
xor al,al
|
||||
out dx,al
|
||||
inc dx
|
||||
mov cx,768
|
||||
movpar si,0
|
||||
movpar ds,1
|
||||
rep outsb
|
||||
CEND
|
||||
_loadpal ENDP
|
||||
|
||||
PUBLIC _lineblit
|
||||
_lineblit PROC FAR
|
||||
CBEG
|
||||
movpar ax,0
|
||||
mov cx,160
|
||||
mul cx
|
||||
mov di,ax
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
movpar si,1
|
||||
movpar ds,2
|
||||
zpl=0
|
||||
REPT 4
|
||||
mov dx,3c4h
|
||||
mov ax,02h+(100h shl zpl)
|
||||
out dx,ax
|
||||
zzz=0
|
||||
REPT 160/2
|
||||
mov al,ds:[si+(zzz+0)*4+zpl]
|
||||
mov ah,ds:[si+(zzz+1)*4+zpl]
|
||||
mov es:[di+zzz],ax
|
||||
zzz=zzz+2
|
||||
ENDM
|
||||
zpl=zpl+1
|
||||
ENDM
|
||||
rep outsb
|
||||
CEND
|
||||
_lineblit ENDP
|
||||
|
||||
PUBLIC _pget
|
||||
_pget PROC FAR
|
||||
CBEG
|
||||
movpar bx,1
|
||||
mov ax,160
|
||||
mul bx
|
||||
mov di,ax
|
||||
movpar dx,0
|
||||
mov ax,dx
|
||||
shr dx,2
|
||||
add di,dx
|
||||
mov ah,al
|
||||
and ah,3
|
||||
mov al,4
|
||||
mov dx,3ceh
|
||||
out dx,ax
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
mov al,es:[di]
|
||||
xor ah,ah
|
||||
CEND
|
||||
_pget ENDP
|
||||
|
||||
PUBLIC _pset
|
||||
_pset PROC FAR
|
||||
CBEG
|
||||
movpar bx,1
|
||||
mov ax,160
|
||||
mul bx
|
||||
mov di,ax
|
||||
movpar cx,0
|
||||
mov ax,cx
|
||||
shr ax,2
|
||||
add di,ax
|
||||
mov ax,0102h
|
||||
and cl,3
|
||||
shl ah,cl
|
||||
mov dx,3c4h
|
||||
out dx,ax
|
||||
mov ax,0a000h
|
||||
mov es,ax
|
||||
movpar ax,2
|
||||
mov es:[di],al
|
||||
CEND
|
||||
_pset ENDP
|
||||
|
||||
PUBLIC _setpalarea
|
||||
_setpalarea PROC FAR
|
||||
CBEG
|
||||
movpar si,0
|
||||
movpar ds,1
|
||||
movpar cx,3
|
||||
movpar ax,2
|
||||
mov dx,3c8h
|
||||
out dx,al
|
||||
movpar ax,3
|
||||
mov cx,ax
|
||||
shl cx,1
|
||||
add cx,ax
|
||||
inc dx
|
||||
rep outsb
|
||||
sti
|
||||
CEND
|
||||
_setpalarea ENDP
|
||||
|
||||
code ENDS
|
||||
END
|
||||
|
||||
Loading…
Reference in a new issue