136 lines
3.8 KiB
Plaintext
136 lines
3.8 KiB
Plaintext
|
**************************************************************
|
|||
|
*
|
|||
|
* Software:
|
|||
|
* Initiated: 9/3/93
|
|||
|
*
|
|||
|
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
|||
|
*
|
|||
|
**************************************************************
|
|||
|
|
|||
|
|
|||
|
|
|||
|
.globl OFREE,OBJLST,BAKLST,DISPLAYON,SCRNRELV
|
|||
|
.globl GETOBJ,INSOBJ,DELOBJ,DELOBJA8
|
|||
|
.globl DISPLAY,OBJSTR
|
|||
|
.globl ANI,SCRTST,SCRTSTG,GANIOF,DELBOBJ
|
|||
|
.globl INSBOBJ,KILBOBJ
|
|||
|
.globl PULLBOBJ,PULLOBJ,GANISAG
|
|||
|
.globl QDMA,QDMAN,GETANIXY
|
|||
|
.globl obj_addworldxy
|
|||
|
.globl SCROLLX,SCROLLY,WORLDTLX,WORLDTLY,WORLDTL
|
|||
|
.globl SCRNTL,SCRNLR,GSCRNREL,ADJNEWTL
|
|||
|
.globl OBJSTR,SCREENTL,SCREENLR,DMAQCUR
|
|||
|
.globl dpage,dtype
|
|||
|
.globl dmaq0cnt,dmaq1cnt,dmaq0flg,dmaq1flg
|
|||
|
.globl dmaq0,dmaq1
|
|||
|
.globl STOPOBJS
|
|||
|
.globl FREEOBJ,EXISTOBJ
|
|||
|
.globl ISOBJ
|
|||
|
.globl BEGINOBJW,BEGINOBJ
|
|||
|
.globl BEGINOBJWP,BEGINOBJP
|
|||
|
|
|||
|
.globl obj_delc,obj_del1c,obj_aniq,obj_aniq_cnoff
|
|||
|
.globl obj_aniq_scld
|
|||
|
.globl DELOBJDIE,FRQDELDIE
|
|||
|
.globl scrn_scaleininit,scrn_scalein,scrn_scaleout
|
|||
|
.globl display_blank,display_unblank
|
|||
|
.globl display_2dsclmodeon,display_2dsclstarmodeon
|
|||
|
|
|||
|
*CONSTANTS
|
|||
|
|
|||
|
SCRNXP equ 56 ;Left X padding in bitmap
|
|||
|
SCRNST equ [0,-32] ;Top left of screen
|
|||
|
SCRNEND equ [254,432] ;Bottom right of screen
|
|||
|
SCRNMID equ [128,200] ;Midpoint of screen
|
|||
|
PAGE1YO equ 256 ;2nd page Y offset
|
|||
|
TSEC equ 53 ;Ticks per second
|
|||
|
|
|||
|
;HEBLNKINIT equ 32h ;Initial value for register
|
|||
|
HEBLNKINIT equ 65h ;Initial value for register
|
|||
|
|
|||
|
|
|||
|
OWSPD equ 18 ;Open window speed
|
|||
|
OWSPD2 equ 25
|
|||
|
CWSPD equ 40 ;Close win speed
|
|||
|
|
|||
|
RING_X_MID equ 1024
|
|||
|
|
|||
|
SCALETSIZE equ 40*4*16
|
|||
|
|
|||
|
|
|||
|
*STRUCT OBJ
|
|||
|
OLINK equ 000 ;UHL *next object block
|
|||
|
OXVEL equ 020h ;UHL X velocity 16:16
|
|||
|
OYVEL equ 040h ;UHL Y velocity 16:16
|
|||
|
OZVEL equ 060h ;UHL Z velocity 16:16
|
|||
|
OXVAL equ 080h ;UHL X position 16:16
|
|||
|
OXFRAC equ 080h ; X pos fraction
|
|||
|
OXPOS equ 090h ; X pos integer
|
|||
|
OYVAL equ 0a0h ;UHL Y position 16:16
|
|||
|
OYFRAC equ 0a0h ; Y pos frac
|
|||
|
OYPOS equ 0b0h ; Y pos int
|
|||
|
OZVAL equ 0c0h ;UHL Z position 16:16
|
|||
|
OZPOS equ 0d0h ; Z pos int
|
|||
|
OFLAGS equ 0e0h ;UHW Mode flags
|
|||
|
OCTRL equ 0f0h ;UHW DMA control
|
|||
|
OFSET equ 100h ;UHW Offset
|
|||
|
OSAG equ 110h ;UHL *Image data
|
|||
|
OSIZE equ 130h ;
|
|||
|
OSIZEX equ 130h ;UHW X size
|
|||
|
OSIZEY equ 140h ;UHW Y size
|
|||
|
OPAL equ 150h ;UHW Palette #
|
|||
|
OCONST equ 160h ;UHW Constant color
|
|||
|
OIMG equ 170h ;UHL *Image header
|
|||
|
OID equ 190h ;UHW Object ID
|
|||
|
OPLINK equ 1a0h ;UHL *Process
|
|||
|
ODATA_p equ 1c0h ;UHL *Scale table if scaled obj
|
|||
|
OXANI equ 1e0h ;SHL X scaled animation pt 16:16
|
|||
|
OMISC equ 210h ;UHW Misc data (3D mode Z offset)
|
|||
|
ODOFF equ 220h ;
|
|||
|
ODXOFF equ 220h ;SDW display x offset
|
|||
|
ODYOFF equ 230h ;SDW display y offset
|
|||
|
OSCALE EQU 240H ;UHL scale this object (set to 100% in BEGINOBJ)
|
|||
|
OBSIZ equ 260h
|
|||
|
*ENDSTRUCT
|
|||
|
|
|||
|
NOBJ equ 350 ;Total # objects
|
|||
|
|
|||
|
BQCELL equ 0c0h ;Size of DMA queue element
|
|||
|
|
|||
|
;Values for OFLAGS & OCTRL
|
|||
|
M_WRZERO equ 1 ;Write zero data
|
|||
|
M_WRNONZ equ 2 ;Write non-zero data
|
|||
|
M_CONZER equ 4 ;Replace zero data with constant
|
|||
|
M_CONNON equ 8 ;Replace non-zero data with constant
|
|||
|
M_CONST equ 0ch ;Replace all with constant
|
|||
|
M_FLIPH equ 10h ;Flip horizontally
|
|||
|
M_FLIPV equ 20h ;Flip vertically
|
|||
|
M_3DQ equ 40h ;Display in quick perspective
|
|||
|
M_NODISP equ 80H ;DONT DISPLAY THIS OBJ
|
|||
|
M_3D equ 100h ;Display in perspective using XYZ
|
|||
|
M_SHAD equ 200h ;Shadow
|
|||
|
M_PIXSCAN equ 400h ;Pixel scan on
|
|||
|
M_NOCOLL equ 800h ;Collisions off
|
|||
|
M_NOSCALE equ 1000h ;3D scaling off
|
|||
|
M_SCRNREL equ 2000h ;Screen relative XY on
|
|||
|
M_BOBJ equ 4000h ;background object (special flip)
|
|||
|
|
|||
|
;OFLAGS/OCTRL bits
|
|||
|
B_WRZERO equ 0
|
|||
|
B_WRNONZ equ 1
|
|||
|
B_CONZER equ 2
|
|||
|
B_CONNON equ 3
|
|||
|
B_FLIPH equ 4
|
|||
|
B_FLIPV equ 5
|
|||
|
B_3DQ equ 6
|
|||
|
B_NODISP equ 7 ;DONT DISPLAY THIS OBJ
|
|||
|
B_3D equ 8
|
|||
|
B_SHAD equ 9
|
|||
|
B_PIXSCAN equ 10
|
|||
|
B_NOCOLL equ 11
|
|||
|
B_NOSCALE equ 12
|
|||
|
B_SCRNREL equ 13
|
|||
|
B_BOBJ equ 14
|
|||
|
|
|||
|
******************************************************************************
|
|||
|
|