home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Collection of Hack-Phreak Scene Programs
/
cleanhpvac.zip
/
cleanhpvac
/
XBD2_SRC.ZIP
/
XBD2_SRC
/
GRAPH.ASM
< prev
next >
Wrap
Assembly Source File
|
1991-02-08
|
2KB
|
159 lines
TITLE SOUND.ASM
PAGE ,132
;----- Appel d'une fonction DOS.
;
WRITE_BM MACRO
movsw ; 16 words to write for
add di, cx ; drawing the bitmap in
movsw ; the active plan
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
movsw
add di, cx
ENDM
.MODEL SMALL
.CODE
;
; void drawPgm(int x, int y, char *pgm, char mode)
;
PUBLIC _drawPgm
_drawPgm PROC
push bp
mov bp, sp
push si
push di
push es
mov ax, 0A000h
mov es, ax
mov ax, word ptr [BP+06h] ; y
mov bx, ax
mov cl, 10
shl bx, cl ; y * 64 * 16
mov cl, 8
shl ax, cl ; y * 16 * 16
add bx, ax ; y * 80 = (y * 64) + (y * 16)
mov ax, word ptr [BP+04h] ; x
shl ax, 1
add bx, ax
mov si, word ptr [BP+08h] ; pgm
add si, 4
cld
mov dx, 03CEh
mov ax, 0FF08h ; All bits are writen
out dx, ax
mov ax, 0005h ; Write Mode 0
out dx, ax
mov ax, 0003h ; Mode Register SETed
out dx, ax
mov dx, 03C4h
mov cx, 78
mov di, bx
mov ax, 0102h ; Enable PLAN 0
out dx, ax
WRITE_BM
mov di, bx
shl ah, 1 ; Enable PLAN 1
out dx, ax
WRITE_BM
mov di, bx
shl ah, 1 ; Enable PLAN 2
out dx, ax
WRITE_BM
mov di, bx
shl ah, 1 ; Enable PLAN 3
out dx, ax
WRITE_BM
mov ax, 0F02h
out dx, ax
mov dx, 03CEh
xor ax, ax ; ax = 0000h
out dx, ax
inc ax ; ax = 0001h
out dx, ax
mov ax, 0FF08h
out dx, ax
pop es
pop di
pop si
mov sp, bp
pop bp
ret
_drawPgm ENDP
END