home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hall of Fame Game Cube 1: DOS
/
aztechhalloffamegamecubedisc1-
/
baghdad
/
install
/
video.asm
< prev
next >
Wrap
Assembly Source File
|
1992-11-19
|
1KB
|
83 lines
LOCALS ;; Enable local labels
IDEAL ;; Use Turbo Assembler's IDEAL mode
JUMPS
; Driver load and unload calls. Requires that the application provide
; memory allocation functions and access to DOSCALLS.OBJ.
SMALL_MODEL equ 0 ;: True if declaring C procedures as near.
; It is false here because all procedures are
; far, so that you can link any memory model
; to theme. (They are prototyped as well.)
INCLUDE "PROLOGUE.MAC" ;; common prologue
SEGMENT _TEXT BYTE PUBLIC 'CODE' ;; Set up _TEXT segment
ENDS
ASSUME CS: _TEXT, DS: _TEXT, SS: NOTHING, ES: NOTHING
SEGMENT _TEXT
Macro CPROC name ; Macro to establish a C callable procedure.
public _&name
IF SMALL_MODEL
Proc _&name near
ELSE
Proc _&name far
ENDIF
endm
CPROC VidOn
mov ax,13h
int 10h
ret
endp
CPROC VidOff
mov ax,03
int 10h
ret
endp
CPROC DrawSound
ARG SOUND:DWORD,SWID:WORD,COLOR:WORD
PENTER 0
PushCREGS
mov ax,0A000h
mov es,ax ; VGA screen ram segment.
lds si,[SOUND]
mov bx,320
xor cx,cx ; Xlocation.
@@GO: mov al,[ds:si] ; Get sound value.
xor ah,ah ; Zero high byte.
shr ax,1
add ax,36 ; Adjust.
mul bx
add ax,cx ; Plus current xlocation.
mov di,ax
mov ax,[COLOR]
mov [byte es:di],al
inc cx
inc si
cmp cx,[SWID]
jne @@GO
PopCREGS
PLEAVE
ret
endp
ends
end