98 lines
1.7 KiB
PHP
98 lines
1.7 KiB
PHP
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± ADATA.INC ±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
|
|
|
global newdata1:word
|
|
|
|
global projxmul:dword
|
|
global projymul:dword
|
|
global projxadd:word
|
|
global projyadd:word
|
|
global projminz:dword
|
|
global projminzshr:word
|
|
global wminx:word
|
|
global wminy:word
|
|
global wmaxx:word
|
|
global wmaxy:word
|
|
global vram:word
|
|
global rowsadd:word
|
|
global truerowsadd:word
|
|
global truevram:word
|
|
global rows:word
|
|
global framerate10:word
|
|
global color:word
|
|
global color1:byte
|
|
global color2:byte
|
|
global video:dword
|
|
global borders:word
|
|
|
|
global xadd:dword
|
|
global yadd:dword
|
|
global zadd:dword
|
|
|
|
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± AOBJ.INC ±±±±±±±±±±±±±±±±±±±±±±±±±±±
|
|
|
|
vobj struc
|
|
xyz dd 3 dup(0)
|
|
matrix dw 9 dup(0)
|
|
element dd 0
|
|
vobj ends
|
|
|
|
;±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±±± CINK.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]
|