Let's go cruisin'
parent
aeea6c6a60
commit
587a912f9c
|
@ -0,0 +1,397 @@
|
|||
.FILE "ATTRACTA.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*ATTRACT MODE
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*
|
||||
|
||||
.include MPROC.EQU
|
||||
.include MACS.EQU
|
||||
.include OBJ.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SYS.EQU
|
||||
.include TEXT.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SNDTAB.EQU
|
||||
|
||||
|
||||
|
||||
.text
|
||||
NOVANITY .set 1
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
startthey .set 4.18894205 ;-deg(10)
|
||||
startthez .set 0.087266462 ; deg(5)
|
||||
CREATED_DCS .set PDATA+1
|
||||
DECOMP_COUNT .set PDATA+1
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*AR6 is set by the creator of this routine. 0= play dcs logo sound 1=don't play
|
||||
*
|
||||
_MIDWAYSPIN:
|
||||
LDI 0,AR6
|
||||
LDI @_ATTR_MODE,R0
|
||||
CMPI -2,R0
|
||||
BNE NO_NINTENDO
|
||||
LDI @ATTRWAVE,R0
|
||||
BNE NO_NINTENDO
|
||||
READADJ ADJ_ATTRACT_MODE_SOUND
|
||||
CMPI 0,R0
|
||||
BEQ NO_NINTENDO
|
||||
|
||||
READADJ ADJ_VOLUME ;make sure volume correct
|
||||
LDI R0,R1
|
||||
CALL SET_MASTER_VOL
|
||||
|
||||
|
||||
;if COMM on and SLAVE then NO NINTENDO
|
||||
;
|
||||
LDI @DIPRAM,R0
|
||||
TSTB DIP_COMMP,R0
|
||||
BNZ DOMUS
|
||||
TSTB CMDP_MASTER,R0
|
||||
BNZ NO_NINTENDO
|
||||
DOMUS
|
||||
|
||||
LDI 890,AR6 ;Length of sound
|
||||
SOND1 NINTENDO_SND
|
||||
|
||||
NO_NINTENDO
|
||||
CALL ULTRA_LOGO
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,*+AR7(DECOMP_COUNT)
|
||||
; STI R0,*+AR7(CREATED_DCS)
|
||||
LDI 0,R0
|
||||
STI R0,@BGNDCOLA
|
||||
|
||||
LDP @_CAMERAPOS+Y
|
||||
FLOAT -2780,R0
|
||||
STF R0,@_CAMERAPOS+Y
|
||||
SETDP
|
||||
|
||||
LDL midway,AR2
|
||||
CALL OBJ_GETE
|
||||
.if DEBUG
|
||||
BC $
|
||||
.endif
|
||||
LDI AR0,AR4
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
; FLOAT -480,R0
|
||||
FLOAT -910,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
FLOAT 5500,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
|
||||
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_ILLUM|O_NOUNIV|O_NOUROT,R0
|
||||
LDI 1,R1
|
||||
LS 16,R1
|
||||
OR R1,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR4(ORADX)
|
||||
LDF startthey,R2
|
||||
ADDF HALFPI,R2
|
||||
STF R2,*+AR4(ORADY)
|
||||
LDF startthez,R2
|
||||
STF R2,*+AR4(ORADZ)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
|
||||
LDF *+AR4(ORADY),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
|
||||
|
||||
; LDI 470,AR5
|
||||
MSLP1
|
||||
LDF 0.0174539,R0
|
||||
FLOAT @NFRAMES,R1
|
||||
MPYF R1,R0
|
||||
ADDF *+AR4(OUSR1),R0 ;ORADY
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDP @_CAMERARAD+Y
|
||||
SUBF @_CAMERARAD+Y,R0
|
||||
SETDP
|
||||
STF R0,*+AR4(ORADY)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
|
||||
MSLP2
|
||||
SLEEP 1
|
||||
CALL MSLP_CHECK
|
||||
BR MSLP1
|
||||
|
||||
MSLP_CHECK
|
||||
SUBI @NFRAMES,AR6
|
||||
|
||||
LDI @DECOMP_ACTIVE,R0
|
||||
CMPI 0,R0
|
||||
BNE MSLP3
|
||||
LDI *+AR7(DECOMP_COUNT),R0
|
||||
ADDI 1,R0
|
||||
STI R0,*+AR7(DECOMP_COUNT)
|
||||
CMPI 3,R0
|
||||
BGT MSLP4 ;Done Loading
|
||||
MSLP3
|
||||
RETS
|
||||
; BR MSLP1
|
||||
MSLP4
|
||||
CMPI 0,AR6
|
||||
RETSGT
|
||||
; BGT MSLP1
|
||||
MSLPX
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,@LOADED
|
||||
|
||||
POP BK ;POP return address
|
||||
BR CYCLE_ATTR
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
MIDWAYSPINENTER:
|
||||
|
||||
LDL midway,AR2
|
||||
CALL OBJ_GETE
|
||||
.if DEBUG
|
||||
BC $
|
||||
.endif
|
||||
LDI AR0,AR4
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
FLOAT -480,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
FLOAT 5500,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
|
||||
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_ILLUM|O_NOUNIV|O_NOUROT,R0
|
||||
LDI 1,R1
|
||||
LS 16,R1
|
||||
OR R1,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR4(ORADX)
|
||||
LDF startthey,R2
|
||||
ADDF PI,R2
|
||||
STF R2,*+AR4(ORADY)
|
||||
LDF startthez,R2
|
||||
STF R2,*+AR4(ORADZ)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
|
||||
LDF *+AR4(ORADY),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
|
||||
|
||||
LDI 690,AR5
|
||||
MSLP1a
|
||||
LDF *+AR4(OUSR1),R0 ;ORADY
|
||||
ADDF 0.0174539,R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDP @_CAMERARAD+Y
|
||||
SUBF @_CAMERARAD+Y,R0
|
||||
SETDP
|
||||
STF R0,*+AR4(ORADY)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,MSLP1a
|
||||
|
||||
CALL TEXT_INIT
|
||||
BR CYCLE_ATTR
|
||||
*----------------------------------------------------------------------------
|
||||
.globl SPIN_CAR
|
||||
SPIN_CARTABI .word SPIN_CARTAB
|
||||
romdata
|
||||
SPIN_CARTAB .word missle,hotrod,testor,cvette
|
||||
.text
|
||||
|
||||
SPIN_CAR:
|
||||
LDI 0,R0
|
||||
STI R0,*+AR7(DECOMP_COUNT)
|
||||
|
||||
LDIL logo,AR2
|
||||
CALL OBJ_GETE
|
||||
LDI O_IROT|O_NOROT|O_NOUROT|O_NOUNIV,R0
|
||||
OR *+AR0(OFLAGS),R0
|
||||
STI R0,*+AR0(OFLAGS)
|
||||
FLOAT -150,R0
|
||||
STF R0,*+AR0(OPOSX)
|
||||
FLOAT -110,R0
|
||||
STF R0,*+AR0(OPOSY)
|
||||
FLOAT 436,R0
|
||||
STF R0,*+AR0(OPOSZ)
|
||||
LDI AR0,AR2
|
||||
CALL OBJ_INSERT
|
||||
|
||||
CALL LOGO_SMALL
|
||||
|
||||
LDI @ATTRWAVE,AR2
|
||||
LSH -1,AR2
|
||||
SUBI 1,AR2
|
||||
AND 3,AR2
|
||||
ADDI @SPIN_CARTABI,AR2
|
||||
LDI *AR2,AR2
|
||||
CALL OBJ_GETE
|
||||
LDI O_IROT|O_NOROT|O_NOUROT|O_NOUNIV,R0
|
||||
OR *+AR0(OFLAGS),R0
|
||||
STI R0,*+AR0(OFLAGS)
|
||||
|
||||
FLOAT 1368,R0
|
||||
STF R0,*+AR0(OPOSZ)
|
||||
LDI AR0,AR4
|
||||
|
||||
LDF -0.196,R2
|
||||
STF R2,*+AR4(ORADX)
|
||||
|
||||
LDF 3.534,R2
|
||||
STF R2,*+AR4(ORADY)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
LDI 16,AR6
|
||||
SPIN_CAR_WAIT
|
||||
SLEEP 1
|
||||
SUBI 1,AR6
|
||||
CMPI 0,AR6
|
||||
BGT SPIN_CAR_WAIT
|
||||
|
||||
LDI 550,AR6
|
||||
SPIN_CARLP
|
||||
LDF *+AR4(ORADY),R2
|
||||
FLOAT @NFRAMES,R0
|
||||
MPYF 0.018,R0
|
||||
ADDF R0,R2
|
||||
STF R2,*+AR4(ORADY)
|
||||
|
||||
LDI AR4,R2
|
||||
ADDI ORADX,R2
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
CALL FIND_MATRIX
|
||||
|
||||
SLEEP 1
|
||||
CALL MSLP_CHECK
|
||||
BU SPIN_CARLP
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
TEXTTOGET:
|
||||
SLEEP 75
|
||||
|
||||
LDI @TEXT_ACTIVEI,AR0
|
||||
CLRF R1
|
||||
TXTLP LDI *AR0,R0
|
||||
BZ NXTWT
|
||||
LDI R0,AR0
|
||||
|
||||
STF R1,*+AR0(TEXT_VELX)
|
||||
BR TXTLP
|
||||
NXTWT
|
||||
SLEEP 460
|
||||
|
||||
LDI @TEXT_ACTIVEI,AR0
|
||||
LDF -6,R1
|
||||
TXTLPA LDI *AR0,R0
|
||||
BNZ TXTLPB
|
||||
BR SUICIDE
|
||||
TXTLPB
|
||||
LDI R0,AR0
|
||||
|
||||
STF R1,*+AR0(TEXT_VELY)
|
||||
BR TXTLPA
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
.data
|
||||
DEMOTHANKS_LISTI .word DEMOTHANKS_LIST
|
||||
.SECT "THEDATA"
|
||||
|
||||
DT1 .string "THANK YOU FOR PLAYING",0
|
||||
DT2 .string "CRUISIN USA",0
|
||||
DT3 .string "SNEAK PREVIEW",0
|
||||
|
||||
DEMOTHANKS_LIST
|
||||
.word 140,DT1
|
||||
.word 180,DT2
|
||||
.word 220,DT3
|
||||
|
||||
.text
|
||||
|
||||
DEMOTHANKS:
|
||||
LDI 1,R0
|
||||
STI R0,@COINOFF
|
||||
|
||||
CLRI R0
|
||||
STI R0,@BGNDCOLA ;COLORAM
|
||||
|
||||
LDI 2,AR5
|
||||
LDI @DEMOTHANKS_LISTI,AR4
|
||||
DTLP
|
||||
FLOAT 256,R2
|
||||
FLOAT *AR4++,R3
|
||||
LDI *AR4++,AR2
|
||||
LDI 9999,RC
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
|
||||
DBU AR5,DTLP
|
||||
|
||||
LDI -6,R0
|
||||
STI R0,@_ATTR_MODE
|
||||
|
||||
BR MIDWAYSPINENTER
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,374 @@
|
|||
; .FILE "AUDITS.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
.include C30.EQU
|
||||
.include MACS.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
.include DIRQ.EQU
|
||||
.include DIAG.EQU
|
||||
.include ERROR.EQU
|
||||
|
||||
|
||||
|
||||
.text
|
||||
*----------------------------------------------------------------------------
|
||||
*DISPLAYABLE AUDITS
|
||||
*
|
||||
* .word AUDIT_#,string
|
||||
*
|
||||
*
|
||||
AUDENT .MACRO AUDITI,ATEXT
|
||||
.word :AUDITI:,l?
|
||||
.sect "THEDATA"
|
||||
l? .string ":ATEXT:",0
|
||||
.text
|
||||
.ENDM
|
||||
|
||||
AUDENT_SPACER .MACRO
|
||||
.word -3
|
||||
.ENDM
|
||||
|
||||
AUDENT_PAGE .MACRO
|
||||
.word -1
|
||||
.ENDM
|
||||
|
||||
AUD_ROUTINE .set 5Ah
|
||||
AUD_ROUTINEH .set 5A0000h
|
||||
|
||||
AUDENTR .MACRO AUDITI,ATEXT,ROUTINE
|
||||
.word AUD_ROUTINEH|:AUDITI:,:ROUTINE:,l?
|
||||
.sect "THEDATA"
|
||||
l? .string ":ATEXT:",0
|
||||
.text
|
||||
.ENDM
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*RETURN
|
||||
* R0 VALUE
|
||||
*
|
||||
COMPUTE_FREEGAMES_PRCNT:
|
||||
READAUD AUD_GAMES_CONTINUES
|
||||
LDI R0,R1
|
||||
READAUD AUD_GAMES_START
|
||||
ADDI R0,R1
|
||||
LDIZ R1,R0
|
||||
RETSZ
|
||||
|
||||
READAUD AUD_TOTAL_FREEGAMES
|
||||
; ADDI R0,R1
|
||||
MPYI 100,R0
|
||||
|
||||
CALL DIV_I30
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*RETURN
|
||||
* R0 VALUE
|
||||
*
|
||||
COMPUTE_GAMETIME:
|
||||
READAUD AUD_GAMES_CONTINUES
|
||||
LDI R0,R1
|
||||
READAUD AUD_GAMES_START
|
||||
ADDI R0,R1
|
||||
READAUD AUD_GAMEON_TIME
|
||||
|
||||
CALL DIV_I30
|
||||
RETS
|
||||
|
||||
|
||||
AUDIT_LIST
|
||||
AUDENT AUD_COIN1,"LEFT COIN"
|
||||
AUDENT AUD_COIN2,"RIGHT COIN"
|
||||
AUDENT AUD_COIN3,"THIRD COIN"
|
||||
AUDENT AUD_COIN4,"FOURTH COIN"
|
||||
AUDENT AUD_SERVICE_CREDITS,"SERVICE CREDITS"
|
||||
AUDENT_SPACER
|
||||
|
||||
AUDENT AUD_GAMES_START,"TOTAL STARTS"
|
||||
AUDENT AUD_GAMES_CONTINUES,"TOTAL CONTINUES"
|
||||
AUDENT AUD_H2HGAMES,"HEAD 2 HEAD GAMES"
|
||||
AUDENT AUD_TOTAL_FREEGAMES,"FREE RACES"
|
||||
AUDENT AUD_GAMES_EXPIRED,"EXPIRED RACES"
|
||||
AUDENTR AUD_GAMEON_TIME,"FREE RACE PERCENTAGE",COMPUTE_FREEGAMES_PRCNT
|
||||
AUDENT_SPACER
|
||||
|
||||
; AUDENT ADJ_DIFFICULTY,"DIFFICULTY"
|
||||
; AUDENT ADJ_FIRST_PLACE_PERCENT,"1ST PLACE AUTO PERCENT"
|
||||
AUDENT AUD_POWERON_TIME,"POWER ON TIME SECS"
|
||||
AUDENT AUD_GAMEON_TIME,"GAME TIME SECS"
|
||||
AUDENTR AUD_GAMEON_TIME,"AVERAGE GAME TIME SECS",COMPUTE_GAMETIME
|
||||
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
|
||||
AUDENT AUD_AUTOMATIC_TRANS_SELECTED,"AUTOMATIC SELECTED"
|
||||
AUDENT AUD_MANUAL_TRANS_SELECTED,"MANUAL SELECTED"
|
||||
AUDENT_SPACER
|
||||
|
||||
AUDENT AUD_VETTE_SELECTED,"63 MUSCLE SELECTED"
|
||||
AUDENT AUD_LABOMBA_SELECTED,"LABOMBA SELECTED"
|
||||
AUDENT AUD_DEVASTATOR_SELECTED,"DEVASTATOR SELECTED"
|
||||
AUDENT AUD_ITALIA_SELECTED,"ITALIA SELECTED"
|
||||
AUDENT_SPACER
|
||||
AUDENT AUD_HID_JEEP_SELECTED,"JEEP SELECTED"
|
||||
AUDENT AUD_HID_COPCAR_SELECTED,"COPCAR SELECTED"
|
||||
AUDENT_SPACER
|
||||
|
||||
AUDENT AUD_VIEW1_TIME,"VIEW1 TIME SECS"
|
||||
AUDENT AUD_VIEW2_TIME,"VIEW2 TIME SECS"
|
||||
AUDENT AUD_VIEW3_TIME,"VIEW3 TIME SECS"
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
AUDENT AUD_LOG_COUNT,"EVENT"
|
||||
AUDENT AUD_NUM_UNFINISHED,"U-GAMES"
|
||||
AUDENT AUD_NUM_WATCHDOGS,"WATCHDOGS"
|
||||
AUDENT AUD_SUCCESSFULL_BURNINS,"BURNIN LOOPS"
|
||||
AUDENT_SPACER
|
||||
|
||||
AUDENT ADJ_DIFFICULTY,"GAME DIFFICULTY"
|
||||
; AUDENT ADJ_DIFF_LOCAL,"LOCAL DIFFICULTY"
|
||||
; AUDENT ADJ_FIRST_PLACE_PERCENT,"1ST PLACE AUTOPERCENTAGE"
|
||||
; AUDENT ADJ_RAMP_PERCENTAGE,"RAMP PERCENTAGE"
|
||||
; AUDENT ADJ_RAMPGAMES,"AUTO RAMP GAMES"
|
||||
; AUDENT ADJ_RAMP_COUNT,"RAMP COUNT"
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
AUDENT AUD_FS_AZ,"SELECT ARIZONA"
|
||||
AUDENT AUD_FS_US101,"SELECT US101"
|
||||
AUDENT AUD_FS_LA,"SELECT LA"
|
||||
AUDENT AUD_FS_IOWA,"SELECT IOWA"
|
||||
AUDENT AUD_FS_DV,"SELECT DEATH VALLEY"
|
||||
AUDENT AUD_FS_USA,"SELECT USA"
|
||||
AUDENT AUD_FS_BH,"SELECT BEVHILLS"
|
||||
AUDENT AUD_FS_APPL,"SELECT APPALACHIA"
|
||||
AUDENT AUD_FS_RW,"SELECT REDWOOD"
|
||||
AUDENT AUD_FS_RM,"SELECT RUSHMORE"
|
||||
AUDENT AUD_FS_CH,"SELECT CHICAGO"
|
||||
AUDENT_SPACER
|
||||
|
||||
AUDENT AUD_FS_HID_SF,"SELECT SANFRAN"
|
||||
AUDENT AUD_FS_HID_IN,"SELECT INDIANA"
|
||||
AUDENT AUD_FS_HID_GG,"SELECT GGATE"
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
AUDENT AUD_START_GGATE,"START GGATE"
|
||||
AUDENT AUD_START_SF,"START SF"
|
||||
AUDENT AUD_START_US101,"START US101"
|
||||
AUDENT AUD_START_REDWOOD,"START REDWOOD"
|
||||
AUDENT AUD_START_BEVHILLS,"START BEVHILLS"
|
||||
AUDENT AUD_START_LA,"START LA"
|
||||
AUDENT AUD_START_DV,"START DV"
|
||||
AUDENT AUD_START_ARIZONA,"START ARIZONA"
|
||||
AUDENT AUD_START_GC,"START GC"
|
||||
AUDENT AUD_START_IOWA,"START IOWA"
|
||||
AUDENT AUD_START_CHICAGO,"START CHICAGO"
|
||||
AUDENT AUD_START_INDIANA,"START INDIANA"
|
||||
AUDENT AUD_START_APPALACHIA,"START APPALACHIA"
|
||||
AUDENT AUD_START_DC,"START DC"
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
AUDENT AUD_WIN_GGATE,"GGATE WINS"
|
||||
AUDENT AUD_WIN_SF,"SANFRAN WINS"
|
||||
AUDENT AUD_WIN_US101,"US101 WINS"
|
||||
AUDENT AUD_WIN_REDWOOD,"REDWOOD WINS"
|
||||
AUDENT AUD_WIN_BEVHILLS,"BEVHILLS WINS"
|
||||
AUDENT AUD_WIN_LA,"LA WINS"
|
||||
AUDENT AUD_WIN_DV,"DEATHVALLEY WINS"
|
||||
AUDENT AUD_WIN_ARIZONA,"ARIZONA WINS"
|
||||
AUDENT AUD_WIN_GC,"GRAND CANYON WINS"
|
||||
AUDENT AUD_WIN_IOWA,"IOWA WINS"
|
||||
AUDENT AUD_WIN_CHICAGO,"CHICAGO WINS"
|
||||
AUDENT AUD_WIN_INDIANA,"INDIANA WINS"
|
||||
AUDENT AUD_WIN_APPALACHIA,"APPALACHIA WINS"
|
||||
AUDENT AUD_WIN_DC,"DC WINS"
|
||||
|
||||
AUDENT_PAGE
|
||||
;-------
|
||||
|
||||
.word -2 ;end of list
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*AUDITS DISPLAY
|
||||
*
|
||||
.bss OLDDIP,1
|
||||
AUDIT_DISPLAY:
|
||||
CALL SETUP_DIAG_SCREEN
|
||||
|
||||
CLRI AR4 ;page index
|
||||
|
||||
LDI DEFAULT_COLOR,RC
|
||||
TEXTITT "HIT VOLUME UP FOR NEXT PAGE",50,330
|
||||
|
||||
LDI @SOFT_AUDIT,R0
|
||||
BNZ KKLL
|
||||
|
||||
LDI DEFAULT_COLOR,RC
|
||||
TEXTITT "DIP SWITCH BANK 2 SELECTS COIN MODE",50,340
|
||||
|
||||
CALL TOEXIT
|
||||
KKLL IWINFR 10,40,400,220
|
||||
|
||||
|
||||
LDL AUDIT_LIST,AR5
|
||||
LYTL
|
||||
FILL 12,42,398,218,COL_LGREY
|
||||
LDI 50,R5
|
||||
|
||||
LDI DEFAULT_COLOR,RC
|
||||
LLTT LDI *AR5++,AR2
|
||||
CMPI -1,AR2
|
||||
BEQ LLRR
|
||||
CMPI -2,AR2
|
||||
BEQ KKLL
|
||||
CMPI -3,AR2
|
||||
BEQ JJTTA
|
||||
|
||||
|
||||
LDI AR2,R0
|
||||
RS 16,R0
|
||||
CMPI AUD_ROUTINE,R0
|
||||
BNE NOCALL
|
||||
LDI *AR5++,R0
|
||||
CALLU R0
|
||||
BU J22AB
|
||||
|
||||
NOCALL CALL AUDIT_READ
|
||||
|
||||
J22AB LDI R0,R2
|
||||
LDI @bufferI,AR2
|
||||
CALL _itoa
|
||||
J22A
|
||||
|
||||
LDI R5,R3
|
||||
LDI 250,R2
|
||||
LDI DEFAULT_COLOR,RC
|
||||
CALL _outtextxyc
|
||||
|
||||
LDI *AR5++,AR2
|
||||
LDI R5,R3
|
||||
LDI 20,R2
|
||||
LDI DEFAULT_COLOR,RC
|
||||
CALL _outtextxyc
|
||||
JJTTA ADDI 10,R5
|
||||
BU LLTT
|
||||
LLRR
|
||||
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,@OLDDIP
|
||||
|
||||
WL2A
|
||||
LDI @DIPRAM,R0
|
||||
LDI @OLDDIP,R1
|
||||
CMPI R0,R1
|
||||
BEQ NODIPPLOT
|
||||
|
||||
STI R0,@OLDDIP
|
||||
|
||||
LDI 50,AR2
|
||||
LDI 240,R2
|
||||
LDI 300,R3
|
||||
LDI 249,RC
|
||||
LDI 0,RS
|
||||
CALL _fill
|
||||
|
||||
; LDI @SOFT_AUDIT,R0
|
||||
; BZ KKL7
|
||||
;
|
||||
; CALL GETCOINTXT
|
||||
; LDI AR0,AR2
|
||||
; LDI DEFAULT_COLOR,RC
|
||||
; LDI 50,R2
|
||||
; LDI 240,R3
|
||||
; LDI R0,AR0
|
||||
; CALL _outtextxyc
|
||||
;
|
||||
;KKL7
|
||||
|
||||
NODIPPLOT
|
||||
LDI @_newbut,R0 ;old system method
|
||||
|
||||
|
||||
LDI @_newbut,R1 ;debounce
|
||||
TSTB SW_DIAG,R1 ;start to return to main
|
||||
BZ BOOKX
|
||||
|
||||
RS 16,R1
|
||||
TSTB SW_VIEW0_H,R1
|
||||
BNZ NOLOG
|
||||
|
||||
LDI @SOFT_AUDIT,R0 ;OPERATOR MAY NOT VIEW THESE
|
||||
BZ NOLOG
|
||||
CALL ERROR_LOG_DISPLAY
|
||||
BU AUDIT_DISPLAY
|
||||
NOLOG
|
||||
|
||||
TSTB SW_VOLPLUS,R0
|
||||
BZ DBNCE
|
||||
; BZ LYTL ;NEXT PAGE
|
||||
TSTB SW_VOLMINUS,R0
|
||||
BNZ FFB2
|
||||
; BZ LYTL ;NEXT PAGE
|
||||
|
||||
DBNCE NOT @_newbut,R1 ;debounce
|
||||
AND SW_VOLPLUS|SW_VOLMINUS,R1
|
||||
BNZ DBNCE
|
||||
BU LYTL
|
||||
|
||||
FFB2 TSTB SW_VIEW2_H,R1 ;view2 to display next audit page
|
||||
BNZ KKLL5
|
||||
|
||||
RB44 LDI @_newbut,R1 ;debounce
|
||||
RS 16,R1
|
||||
TSTB SW_VIEW2_H,R1 ;view2 to display next audit page
|
||||
BZ RB44
|
||||
BU LYTL ;NEXT PAGE
|
||||
KKLL5
|
||||
|
||||
LDI @SOFT_AUDIT,R0
|
||||
BZ KKL
|
||||
TSTB SW_VIEW1_H,R1 ;VIEW1 TO EXIT TO GAME (IN SECRET MODE)
|
||||
RETSZ
|
||||
KKL
|
||||
BU WL2A
|
||||
|
||||
BOOKX
|
||||
|
||||
WL266
|
||||
NOT @_newbut,R0
|
||||
AND SW_DIAG,R0
|
||||
BNZ WL266
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,12 @@
|
|||
.FILE "BSSSTART.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
|
||||
.globl BSSSTART
|
||||
lobss BSSSTART,0 ;THIS MUST BE THE FIRST SYMBOL IN BSS
|
|
@ -0,0 +1,51 @@
|
|||
*C30.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*STATUS WORD FLAGS
|
||||
INT0_M .set 1 ;DISPLAY INT
|
||||
INT1_M .set 2 ;TV30 INT
|
||||
INT2_M .set 4 ;COMM INT
|
||||
INT3_M .set 8 ;ATOD INT
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*ON CHIP RAM BLOCKS
|
||||
RAM0 .set 0809800h
|
||||
RAM1 .set 0809C00h
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*WAIT STATE GENERATION
|
||||
CPU_WS .set 0808064h ;WAIT STATE CPU CONTROL REGISTER
|
||||
|
||||
SOFT_WS .set 00470h
|
||||
|
||||
HARD_WS .set 01000h ;WAVE RAM & SCREEN RAM
|
||||
CMOS_WS .set 00090h ;CMOS ACCESS
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*TIMER DEFINES
|
||||
*
|
||||
TIMER_CNTL1 .set 808020h
|
||||
TIMER_CNTL2 .set 808030h
|
||||
TIMER_CNTR1 .set 808024h
|
||||
TIMER_CNTR2 .set 808034h
|
||||
TIMER_PERIOD1 .set 808028h
|
||||
TIMER_PERIOD2 .set 808038h
|
||||
|
||||
|
||||
TMR_GO .set 40h ;reset and start timer counter
|
||||
TMR_HOLD .set 80h ;=0 -> suspend
|
||||
|
||||
TMR_RESET_GO .set TMR_GO|TMR_HOLD
|
||||
TMR_SUSPEND .set 0
|
||||
|
||||
|
||||
.globl TIMER_RESET,TIMER_READ
|
||||
|
|
@ -0,0 +1 @@
|
|||
CHECKSUM_GEN .set 0
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,36 @@
|
|||
.FILE"CKSUM.ASM"
|
||||
*GENERATED BY D:\VUNIT\ROM\ROMGEN.EXE
|
||||
*WHICH WAS COMPILED Jun 24 1994 17:23:08
|
||||
*
|
||||
*
|
||||
|
||||
|
||||
|
||||
|
||||
.globl CHECKSUM_C00,CHECKSUM_C01,CHECKSUM_C02,CHECKSUM_C03
|
||||
.globl CHECKSUM_C80,CHECKSUM_C81,CHECKSUM_C82,CHECKSUM_C83
|
||||
.globl CHECKSUM_D00,CHECKSUM_D01,CHECKSUM_D02,CHECKSUM_D03
|
||||
.globl CHECKSUM_D80,CHECKSUM_D81,CHECKSUM_D82,CHECKSUM_D83
|
||||
.globl CHECKSUM_E00,CHECKSUM_E01,CHECKSUM_E02,CHECKSUM_E03
|
||||
|
||||
|
||||
CHECKSUM_C00 .word 05148h
|
||||
CHECKSUM_C01 .word 04894h
|
||||
CHECKSUM_C02 .word 078FDh
|
||||
CHECKSUM_C03 .word 03600h
|
||||
CHECKSUM_C80 .word 0CDE8h
|
||||
CHECKSUM_C81 .word 0E370h
|
||||
CHECKSUM_C82 .word 0599Ch
|
||||
CHECKSUM_C83 .word 0615Ah
|
||||
CHECKSUM_D00 .word 0C6FFh
|
||||
CHECKSUM_D01 .word 0D187h
|
||||
CHECKSUM_D02 .word 0224Eh
|
||||
CHECKSUM_D03 .word 0F113h
|
||||
CHECKSUM_D80 .word 04564h
|
||||
CHECKSUM_D81 .word 06600h
|
||||
CHECKSUM_D82 .word 0E866h
|
||||
CHECKSUM_D83 .word 09E8h
|
||||
CHECKSUM_E00 .word 021E1h
|
||||
CHECKSUM_E01 .word 0FF00h
|
||||
CHECKSUM_E02 .word 09E3h
|
||||
CHECKSUM_E03 .word 0CCCAh
|
|
@ -0,0 +1,22 @@
|
|||
*GENERATED BY D:\VUNIT\ROM\ROMGEN.EXE
|
||||
*WHICH WAS COMPILED Jan 31 1995 15:58:25
|
||||
CHECKSUM_C00 .set 087DFh
|
||||
CHECKSUM_C01 .set 06E35h
|
||||
CHECKSUM_C02 .set 04C08h
|
||||
CHECKSUM_C03 .set 043EAh
|
||||
CHECKSUM_C80 .set 02F5Ch
|
||||
CHECKSUM_C81 .set 0DDEAh
|
||||
CHECKSUM_C82 .set 0C318h
|
||||
CHECKSUM_C83 .set 07C1Fh
|
||||
CHECKSUM_D00 .set 02C8Ch
|
||||
CHECKSUM_D01 .set 03C13h
|
||||
CHECKSUM_D02 .set 0D9EEh
|
||||
CHECKSUM_D03 .set 05900h
|
||||
CHECKSUM_D80 .set 068E8h
|
||||
CHECKSUM_D81 .set 04C52h
|
||||
CHECKSUM_D82 .set 075CBh
|
||||
CHECKSUM_D83 .set 071A6h
|
||||
CHECKSUM_E00 .set 0B636h
|
||||
CHECKSUM_E01 .set 0E3BCh
|
||||
CHECKSUM_E02 .set 0B826h
|
||||
CHECKSUM_E03 .set 03BB0h
|
|
@ -0,0 +1,407 @@
|
|||
*CMOS.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
* CMOS DEFINES
|
||||
*
|
||||
* 8K X 8 CMOS RAM
|
||||
*BITS ARE: TTTT TTTT xxxx xxxx xxxx xxxx xxxx xxxx
|
||||
*
|
||||
*ADJUSTMENTS ARE FIRST, THEN AUDITS
|
||||
*SPACE FOR X AUDITS
|
||||
*
|
||||
*THEN HSTD SPACE
|
||||
*{
|
||||
* RACE_TABLE
|
||||
*} * NUM_RACES
|
||||
*
|
||||
|
||||
.globl CHECK_RACE_TABLE,INSERT_TABLE_ENTRY
|
||||
.globl TABLE_ENTRY_READ,GET_TABLE_ADDR
|
||||
.globl INIT_LASTHS_TABLE,CHECK_LASTHS
|
||||
.globl VALIDATE_HSTD_TABLES
|
||||
.globl INIT_HSTD_TABLES
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*HSTD ENTRY INFORMATION
|
||||
*
|
||||
*
|
||||
CMWS .set 4 ;CMOS WORD SIZE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*AUDIT AND ADJUSTMENTS
|
||||
*
|
||||
*
|
||||
ADJ_COINMODE .set 0 ;0-50,0
|
||||
ADJ_GASMIN .set 1 ;0-255,0
|
||||
ADJ_GASMAX .set 2 ;0-255,255
|
||||
ADJ_STEERMIN .set 3 ;0-255,0
|
||||
ADJ_STEERMAX .set 4 ;0-255,255
|
||||
ADJ_STEERCENTER .set 5 ;0-255,128
|
||||
ADJ_BRAKEMIN .set 6 ;0-255,0
|
||||
ADJ_BRAKEMAX .set 7 ;0-255,255
|
||||
ADJ_VOLUME .set 8 ;0-255,255
|
||||
|
||||
ADJ_COIN1_UNITS .set 9 ;0-100,1
|
||||
ADJ_COIN2_UNITS .set 10 ;0-100,1
|
||||
ADJ_COIN3_UNITS .set 11 ;0-100,1
|
||||
ADJ_COIN4_UNITS .set 12 ;0-100,1
|
||||
ADJ_UNITS_PER_CREDIT .set 13 ;0-100,1
|
||||
ADJ_BONUS_UNITS .set 14 ;0-100,0
|
||||
ADJ_UNITS_MIN .set 15 ;0-100,0
|
||||
ADJ_CREDITS_TO_START .set 16 ;0-100,3
|
||||
ADJ_CREDITS_TO_CONTINUE .set 17 ;0-100,3
|
||||
ADJ_SHOW_FRAC .set 18 ;0-1,1
|
||||
|
||||
ADJ_COIN1_COUNTER .set 19 ;0-127,1
|
||||
ADJ_COIN2_COUNTER .set 20 ;0-127,1
|
||||
ADJ_COIN3_COUNTER .set 21 ;0-127,1
|
||||
ADJ_COIN4_COUNTER .set 22 ;0-127,4
|
||||
|
||||
|
||||
|
||||
ADJ_STANDARD_PRICING .set 23 ;0-1,1
|
||||
ADJ_CUSTOM_PRICING .set 24 ;0-1,0
|
||||
ADJ_FREE_PLAY .set 25 ;0-1,0
|
||||
ADJ_FREEGAME .set 26 ;0-1,1
|
||||
ADJ_DIFFICULTY .set 27 ;0-10,7
|
||||
ADJ_TIME_TO_START .set 28 ;0-6,6
|
||||
ADJ_CHECKPOINT_BONUS .set 29 ;0-10,7
|
||||
ADJ_ATTRACT_MODE_SOUND .set 30 ;0-1,0
|
||||
ADJ_HIGH_SCORE_ENTRY .set 31 ;0-1,1
|
||||
ADJ_MIN_VOL_LEVEL .set 32 ;0-255,200
|
||||
ADJ_ACTUALHSTDRESET .set 33 ;0-25000,5000
|
||||
ADJ_MPHORKPM .set 34 ;0-1,0
|
||||
ADJ_ROADKILL .set 35 ;0-1,1
|
||||
ADJ_CLINTON .set 36 ;0-1,1
|
||||
ADJ_GIRLS .set 37 ;0-1,1
|
||||
ADJ_STEERING_SENSITIVITY .set 38 ;0-40,10
|
||||
ADJ_HIGHSCORE_RESET .set 39 ;1000,25000,5000
|
||||
ADJ_DIFF_LOCAL .set 40 ;0-100,50
|
||||
ADJ_OUTOFDIAG .set 41 ;have we just left diag???
|
||||
ADJ_RAMP_PERCENTAGE .set 42 ;0-30,20
|
||||
ADJ_RAMP_COUNT .set 43 ;0-5000,0
|
||||
ADJ_ENTER_INITS .set 44 ;0-1,1
|
||||
ADJ_MAX_CREDITS .set 45 ;10-50,30
|
||||
|
||||
NUM_ADJUSTMENTS .set 46
|
||||
|
||||
ADJ_WDOG .set 50 ;temp space
|
||||
ADJ_INITIALS .set 51 ;-1 if reset x|b|b|b
|
||||
ADJ_MOTION_PRESENT .set 52
|
||||
ADJ_CHECKSUM .set 53
|
||||
|
||||
MAX_ADJUSTMENTS .set 54
|
||||
|
||||
|
||||
;COIN BOOKEEPING
|
||||
AUD_COIN1 .set 100 ;*
|
||||
AUD_COIN2 .set 101 ;*
|
||||
AUD_COIN3 .set 102 ;*
|
||||
AUD_COIN4 .set 103 ;*
|
||||
|
||||
AUD_SERVICE_CREDITS .set 104 ;*
|
||||
AUD_PAID_CREDITS .set 105 ;*
|
||||
AUD_TOTAL_FREEGAMES .set 106 ;
|
||||
|
||||
AUD_FREE_TO_TOTAL .set 107 ; % FREE GAMES TO TOTAL PLAYS
|
||||
AUD_TOTAL_PLAYS .set 108
|
||||
AUD_TOTAL_STARTS .set 109
|
||||
AUD_TOTAL_CONTINUES .set 110
|
||||
|
||||
|
||||
|
||||
AUD_GAMENUMBER .set 111 ;
|
||||
AUD_PCREDITS .set 112 ;partial credits
|
||||
AUD_CREDITS .set 113 ;actual credits
|
||||
AUD_NUM_BUYINS .set 114 ;
|
||||
AUD_TOTAL_TIME .set 115 ;AUD_TOTAL_TIME/AUD_NUM_BUYINS / 100
|
||||
AUD_AVG_TIME .set 116 ;
|
||||
AUD_NUM_UNFINISHED .set 117 ;
|
||||
|
||||
AUD_POWERON_TIME .set 118 ;Measured in seconds...
|
||||
AUD_GAMEON_TIME .set 119 ;Measured in seconds...
|
||||
AUD_NUM_WATCHDOGS .set 120
|
||||
|
||||
|
||||
|
||||
AUD_TOTAL_UNLINKED_PLAYS .set 121
|
||||
AUD_TOTAL_UNLINKED_1STS .set 122
|
||||
AUD_UNLINKED_1ST_TO_TOTAL_UL .set 123
|
||||
AUD_TOTAL_UNLINKED_STARTS .set 124
|
||||
AUD_TOTAL_UNLINKED_CONTINUES .set 125
|
||||
AUD_CONTINUES_TO_PLAYS_UNLINKED .set 126
|
||||
AUD_TOTAL_UNLINKED_GAME_ENDS .set 127
|
||||
|
||||
AUD_RESET_TOTALLY .set 128
|
||||
;AUD_TOTAL_LINKED_PLAYS .set 74
|
||||
;AUD_TOTAL_LINKED_1STS .set 75
|
||||
AUD_LINKED_1ST_TO_TOTAL_UL .set 129
|
||||
AUD_TOTAL_LINKED_STARTS .set 130
|
||||
AUD_TOTAL_LINKED_CONTINUES .set 131
|
||||
AUD_CONTINUES_TO_PLAYS_LINKED .set 132
|
||||
AUD_TOTAL_LINKED_GAME_ENDS .set 133
|
||||
|
||||
AUD_LINKED_PLAYS_TO_TOTAL_PLAYS .set 134
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
AUD_TOTAL_ONTIME .set 135
|
||||
AUD_TOTAL_PLAYTIME .set 136
|
||||
AUD_TOTAL_LINKED_PLAYTIME .set 137
|
||||
AUD_TOTAL_UNLINKED_PLAYTIME .set 138
|
||||
|
||||
AUD_AVG_TIME_PER_CREDIT .set 139
|
||||
AUD_AVGCREDITS_PER_GAME .set 140
|
||||
AUD_COIN_DOOR_SLAMS .set 141
|
||||
AUD_SUCCESSFULL_BURNINS .set 142
|
||||
AUD_UNFINISHED_GAMES .set 143
|
||||
AUD_UNFINISHED_GAMES_FOUND .set 144
|
||||
|
||||
AUD_VIEW1_TIME .set 145
|
||||
AUD_VIEW2_TIME .set 146
|
||||
AUD_VIEW3_TIME .set 147
|
||||
|
||||
|
||||
AUD_RADIO_HITS .set 148 ;*
|
||||
AUD_AUTOMATIC_TRANS_SELECTED .set 149 ;*
|
||||
AUD_MANUAL_TRANS_SELECTED .set 150 ;*
|
||||
|
||||
AUD_GAMES_EXPIRED .set 151
|
||||
|
||||
AUD_GENERAL_CHKSUM .set 152
|
||||
|
||||
|
||||
|
||||
AUD_START_GGATE .set 153
|
||||
AUD_FINISH_GGATE .set 154
|
||||
AUD_START_SF .set 155
|
||||
AUD_FINISH_SF .set 156
|
||||
AUD_START_US101 .set 157
|
||||
AUD_FINISH_US101 .set 158
|
||||
AUD_START_REDWOOD .set 159
|
||||
AUD_FINISH_REDWOOD .set 160
|
||||
AUD_START_BEVHILLS .set 161
|
||||
AUD_FINISH_BEVHILLS .set 162
|
||||
AUD_START_LA .set 163
|
||||
AUD_FINISH_LA .set 164
|
||||
AUD_START_DV .set 165
|
||||
AUD_FINISH_DV .set 166
|
||||
AUD_START_ARIZONA .set 167
|
||||
AUD_FINISH_ARIZONA .set 168
|
||||
AUD_START_GC .set 169
|
||||
AUD_FINISH_GC .set 170
|
||||
AUD_START_IOWA .set 171
|
||||
AUD_FINISH_IOWA .set 172
|
||||
AUD_START_CHICAGO .set 173
|
||||
AUD_FINISH_CHICAGO .set 174
|
||||
AUD_START_INDIANA .set 175
|
||||
AUD_FINISH_INDIANA .set 176
|
||||
AUD_START_APPALACHIA .set 177
|
||||
AUD_FINISH_APPALACHIA .set 178
|
||||
AUD_START_DC .set 179
|
||||
AUD_FINISH_GAME .set 180
|
||||
|
||||
;these are actually accumulators
|
||||
;to get the actual value thou must
|
||||
; / AUD_FINISH_<NAME>
|
||||
;
|
||||
AUD_WIN_GGATE .set 181
|
||||
AUD_WIN_SF .set 182
|
||||
AUD_WIN_US101 .set 183
|
||||
AUD_WIN_REDWOOD .set 184
|
||||
AUD_WIN_BEVHILLS .set 185
|
||||
AUD_WIN_LA .set 186
|
||||
AUD_WIN_DV .set 187
|
||||
AUD_WIN_ARIZONA .set 188
|
||||
AUD_WIN_GC .set 189
|
||||
AUD_WIN_IOWA .set 190
|
||||
AUD_WIN_CHICAGO .set 191
|
||||
AUD_WIN_INDIANA .set 192
|
||||
AUD_WIN_APPALACHIA .set 193
|
||||
AUD_WIN_DC .set 194
|
||||
AUD_WIN_GAME .set 195
|
||||
|
||||
|
||||
AUD_GAMES_START .set 210
|
||||
AUD_GAMES_CONTINUES .set 211
|
||||
AUD_GAMES_ENDS .set 212
|
||||
AUD_BURNINS .set 213
|
||||
AUD_VERTFRAME .set 214
|
||||
AUD_POLYFRAME .set 215
|
||||
AUD_OBJFRAME .set 216
|
||||
AUD_FRAMEFRAME .set 217
|
||||
|
||||
|
||||
|
||||
|
||||
AUD_REPEAT_REDWOOD .set 218
|
||||
AUD_REPEAT_DEATHVALLEY .set 219
|
||||
AUD_REPEAT_GRANDCANYON .set 220
|
||||
AUD_REPEAT_CHICAGO .set 221
|
||||
|
||||
;Misc internal counts
|
||||
AUD_LOG_COUNT .set 222
|
||||
AUD_LAST_LEG .set 223 ;LAST LEG SETUP
|
||||
AUD_PLAYS_TO_HISCORE_RESET .set 224
|
||||
|
||||
AUD_VETTE_SELECTED .set 225
|
||||
AUD_CAR_SELECTION .set AUD_VETTE_SELECTED
|
||||
AUD_LABOMBA_SELECTED .set 226
|
||||
AUD_DEVASTATOR_SELECTED .set 227
|
||||
AUD_ITALIA_SELECTED .set 228
|
||||
AUD_HID_JEEP_SELECTED .set 229
|
||||
AUD_HID_SBUS_SELECTED .set 230
|
||||
AUD_HID_COPCAR_SELECTED .set 231
|
||||
AUD_HID_DIESEL_SELECTED .set 232
|
||||
|
||||
AUD_FS_AZ .set 233 ;free select ARIZONA
|
||||
AUD_FS_US101 .set 234
|
||||
AUD_FS_LA .set 235
|
||||
AUD_FS_IOWA .set 236
|
||||
AUD_FS_DV .set 237
|
||||
AUD_FS_USA .set 238
|
||||
AUD_FS_BH .set 239
|
||||
AUD_FS_APPL .set 240
|
||||
AUD_FS_RW .set 241
|
||||
AUD_FS_RM .set 242
|
||||
AUD_FS_CH .set 243
|
||||
AUD_FS_HID_SF .set 244
|
||||
AUD_FS_HID_IN .set 245
|
||||
AUD_FS_HID_GG .set 246
|
||||
|
||||
AUD_BCREDITS .set 247
|
||||
AUD_H2HGAMES .set 248
|
||||
NUM_AUDITS .set 249
|
||||
|
||||
|
||||
|
||||
AUD_VERSION .set 250
|
||||
AUD_HIGHSCORE_CHECKSUM .set 251
|
||||
AUD_CHIPTEST_DEDICATED .set 252
|
||||
AUD_CHECKSUM .set 253
|
||||
MAX_AUDITS .set 254
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
;EDIAG.ASM
|
||||
.globl FRAMTEST,SRAMTEST,CRAMTEST,BITMAPTEST
|
||||
.globl CHECK_RAM
|
||||
|
||||
;CMOS.ASM
|
||||
.globl CMOSI
|
||||
.globl HSTD_PAGEI
|
||||
.globl ALL_TIME_HSTDI
|
||||
.globl DAILY_HSTDI
|
||||
.globl HSTD_DEFAULTI
|
||||
.globl DAILY_DEFAULTI
|
||||
|
||||
.globl ADJUSTMENT_READ
|
||||
.globl ADJUSTMENT_WRITE
|
||||
.globl AUDIT_INC
|
||||
.globl AUDIT_ADD
|
||||
.globl AUDIT_READ
|
||||
.globl AUDIT_WRITE
|
||||
.globl GEN_CMOS_CHKSUM
|
||||
.globl CHECK_CMOS
|
||||
.globl CHKSUM_CMOS
|
||||
.globl RESET_CMOS
|
||||
.globl CLR_CMOS
|
||||
.globl _wr_cw,_rd_cw
|
||||
.globl _wr_cwR,_rd_cwR
|
||||
|
||||
|
||||
.globl VALIDATE_CMOS
|
||||
.globl CHECKSUM_PAGE
|
||||
.globl GEN_CHECKSUM511
|
||||
.globl SET_CHECKSUM
|
||||
.globl RESET_BOOKKEEPING
|
||||
.globl RESET_ADJUSTMENTS
|
||||
|
||||
|
||||
|
||||
;DIAG.ASM
|
||||
.globl ENTER_DIAG
|
||||
|
||||
|
||||
;HSTD.ASM
|
||||
.globl BUMP_ALLTIME,BUMP_DAILY
|
||||
.globl CHECK_ALLTIME,CHECK_DAILY
|
||||
.globl CHECK_TABLE
|
||||
.globl _HSTD_DISP
|
||||
.globl _hstd_alltime
|
||||
.globl RESET_ALL_TIME_CMOS
|
||||
.globl RESET_DAILY_CMOS
|
||||
.globl HSTD_DEFAULT
|
||||
.globl DAILY_DEFAULT
|
||||
|
||||
.globl CMOS_ON_C,CMOS_OFF_C,CMOS_WPON_C,CMOS_WPOFF_C
|
||||
|
||||
|
||||
CMOS_ON .MACRO
|
||||
CALL CMOS_ON_C
|
||||
.ENDM
|
||||
|
||||
CMOS_OFF .MACRO
|
||||
CALL CMOS_OFF_C
|
||||
.ENDM
|
||||
|
||||
CMOS_WP_ON .MACRO
|
||||
CALL CMOS_WPON_C
|
||||
.ENDM
|
||||
|
||||
CMOS_WP_OFF .MACRO
|
||||
CALL CMOS_WPOFF_C
|
||||
.ENDM
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*CMOS STRUCTURES
|
||||
*
|
||||
*
|
||||
*TOP RACE TIMES
|
||||
*
|
||||
*STRUCT RACEENTRY
|
||||
TE_TIME .set 0 ;TIME
|
||||
TE_INIT1 .set 4 ; }
|
||||
TE_INIT2 .set 5 ; } PLAYERS INITIALS
|
||||
TE_INIT3 .set 6 ; }
|
||||
TE_RANK .set 7 ;RANK
|
||||
*ENDSTRUCT
|
||||
TE_SIZE .set 8
|
||||
|
||||
NUM_RACES .set 15
|
||||
NUM_ENTRIES_PER_RACE .set 10
|
||||
RACE_TABLE_SIZE .set NUM_ENTRIES_PER_RACE*TE_SIZE
|
||||
|
||||
|
||||
*
|
||||
*
|
||||
*
|
||||
CMOS_PAGE .set 0800h ;page size (2048b in length, 512 words)
|
||||
HSTD_PAGE .set CMOS+(MAX_AUDITS*4)
|
||||
H280_RTABLE .set HSTD_PAGE
|
||||
SF_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE)
|
||||
RW_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*1)
|
||||
BEVLA_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*2)
|
||||
DVAZ_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*3)
|
||||
GC_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*4)
|
||||
IO_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*5)
|
||||
CH_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*6)
|
||||
AP_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*7)
|
||||
DC_RTABLE .set HSTD_PAGE+(RACE_TABLE_SIZE*8)
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,184 @@
|
|||
*COMM.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
CDEBUG .set 0
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*COMMUNICATION BUFFER
|
||||
*
|
||||
*in BUFSTATS
|
||||
*
|
||||
*
|
||||
BS_RDY_M .set 003h
|
||||
BS_RDYA .set 001h
|
||||
BS_RDYB .set 002h
|
||||
BS_FIL_M .set 030h
|
||||
BS_FILA .set 010h
|
||||
BS_FILB .set 020h
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*COMMUNICATION BLOCKS
|
||||
* (1 byte, all unique, NO masking)
|
||||
*
|
||||
|
||||
CB_NULL .set 0 ;Do nothing (Padder)
|
||||
CB_MODE .set 1 ;This is my MODE
|
||||
CB_TIMECODE .set 2 ;This is my _countdown
|
||||
CB_RACENUM .set 3 ;This is my CHOSEN_RACE
|
||||
CB_VEHICLE .set 4 ;This is my CHOSEN_VEHICLE
|
||||
CB_START_GAME .set 5 ;I HAVE BOUGHT INTO MY LINKED SYSTEM
|
||||
CB_FINISHED .set 6 ;I have finished the Race
|
||||
CB_CAR_UPDATE .set 7 ;UPDATE DATA BLOCK FOR CAR
|
||||
CB_END_GAME .set 8 ;I HAVE ENDED THE GAME (ON MY SYSTEM)
|
||||
CB_HEAD2HEADT .set 9 ;LINKED MESSAGE
|
||||
CB_HEAD2HEADF .set 10 ;LINKED MESSAGE
|
||||
CB_LINKCANCELLED .set 11 ;cancelled the linkup
|
||||
|
||||
CB_RACER_UPDATE .set 12 ;UPDATE DATA BLOCK FOR CAR
|
||||
CB_RACER_XSFER .set 13 ;XSFER DRONE TO OTHER MACHINE CONTROL
|
||||
CB_RACER_KILL .set 14 ;KILL CAR ID
|
||||
|
||||
CB_RHO_CREATE .set 15 ;CREATE CAR ID
|
||||
CB_RHO_KILL .set 16 ;KILL CAR ID
|
||||
CB_RHO_XSFER .set 17 ;XSFER CAR ID
|
||||
CB_RHO_UPDATE .set 18 ;UPDATE CAR ID
|
||||
|
||||
CB_FLY_KILL .set 19 ;KILL CAR ID
|
||||
CB_FLY_XSFER .set 20 ;XSFER CAR ID
|
||||
CB_FLY_UPDATE .set 21 ;UPDATE CAR ID
|
||||
|
||||
CB_WAVEFL_READY .set 22
|
||||
CB_WAVEFL_SET .set 23
|
||||
CB_WAVEFL_GO .set 24
|
||||
|
||||
CB_OM_TRACK .set 25
|
||||
|
||||
CB_BONUS_SYNC0 .set 26
|
||||
CB_BONUS_SYNC1 .set 27
|
||||
CB_BONUS_SYNC2 .set 28
|
||||
CB_BONUS_SYNC3 .set 29
|
||||
|
||||
CB_CHANGE_MUSIC .set 30
|
||||
CB_COINDROP .set 31
|
||||
CB_DIAGNOSTIC .set 32
|
||||
|
||||
CB_ATTRSND .set 33
|
||||
|
||||
CB_LASTMSG .set 34
|
||||
|
||||
*
|
||||
*
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
COMMDP .set 0997000h ;FOR DP
|
||||
COMM_CTL .set 0997001h ;direction
|
||||
|
||||
C_DE .set 04000h ;data enable
|
||||
C_CE .set 02000h ;control enable
|
||||
;ALWAYS 1 ALWAYS
|
||||
|
||||
C_SND .set C_DE|C_CE
|
||||
C_RCV .set C_CE
|
||||
|
||||
*default for everything is high
|
||||
|
||||
COMM_IO .set 0997000h ;data and control
|
||||
|
||||
C_IRQ .set 00800h ;MA NOT control, is actually interrupt 1 = INT, 0 = nothing
|
||||
C_C2 .set 00400h ;MA just control
|
||||
C_C1 .set 00200h ;SL just control
|
||||
C_C0 .set 00100h ;SL just control
|
||||
|
||||
C_IRQE .set 08000h ;MA NOT control enable, control enable
|
||||
C_CE2 .set 04000h ;MA just control
|
||||
C_CE1 .set 02000h ;SL just control
|
||||
C_CE0 .set 01000h ;SL just control
|
||||
|
||||
C_DMASK .set 000FFh
|
||||
|
||||
*we dedicate the lines by master/slave
|
||||
*
|
||||
C_MAS .set C_IRQE|C_CE2
|
||||
C_SLA .set C_CE1|C_CE0
|
||||
|
||||
|
||||
|
||||
|
||||
*FOR COMMQ.ASM
|
||||
*
|
||||
*
|
||||
|
||||
COMM_BUFFER_SIZE .set 600
|
||||
COMM_Q_FREEZE .set 99Ah ;LOGICAL == "I HAVE NOTHING TO SEND"
|
||||
COMM_Q_OPEN .set 878h ;LOGICAL == "I AM WORKING ON TRYING TO SEND SOMETHING"
|
||||
COMM_Q_READY .set 45Bh ;LOGICAL == "I HAVE SOMETHING READY TO SEND"
|
||||
|
||||
|
||||
;*** COMM.ASM
|
||||
.globl RECEIVE_BUFFERI
|
||||
.globl COMMQ_TMP_BUFFI
|
||||
|
||||
.globl COMMQ_TMP_BUFF
|
||||
.globl SEND_BUFFER_A
|
||||
.globl SEND_BUFFER_B
|
||||
.globl RECEIVE_BUFFER
|
||||
.globl RECEIVE_BUFFER_SIZE
|
||||
.globl SEND_BUFFER_SIZE
|
||||
.globl CURR_RCV_BUFFER
|
||||
.globl COMMQ_STATUS
|
||||
|
||||
.globl SBUFF_PTR,SBUFF_PTR_STRT
|
||||
.globl SBUFF_LEN
|
||||
.globl RBUFF_PTR
|
||||
.globl RBUFF_LEN
|
||||
|
||||
;*** COMMQ.ASM
|
||||
.globl SEND_CHANGE_MUSIC
|
||||
.globl COMMQ_INIT_F
|
||||
.globl COMMQ_INIT
|
||||
.globl COMMQ_FREEZE
|
||||
.globl COMMQ_READY
|
||||
.globl MESSAGE_ADD,MESSAGE_ADD_SB
|
||||
.globl DECODE_BUFFER,DECODE_BUFFER_SLAVE
|
||||
.globl SEND_TIMECODE
|
||||
.globl SEND_MODE,OM_MODE
|
||||
.globl SEND_RACENUM,OM_CHOSEN_RACE
|
||||
.globl SEND_PLAYERS_POS
|
||||
.globl OM_POS
|
||||
.globl SEND_OM_TRACK
|
||||
.globl SEND_BSYNC0
|
||||
.globl SEND_BSYNC1
|
||||
.globl SEND_BSYNC2
|
||||
.globl SEND_BSYNC3
|
||||
|
||||
|
||||
*
|
||||
*OM_STATE
|
||||
*
|
||||
*Lower two bytes are the state
|
||||
*
|
||||
*OMS_
|
||||
*
|
||||
*
|
||||
OMS_VEHICLE_M .set 0E0h
|
||||
OMS_XVEH .set 080h
|
||||
OMS_RACE_M .set 00Fh
|
||||
;use RACE_xx in sys.equ for actual race index
|
||||
|
||||
|
||||
OMS_CPOINT_M .set 00F00h ;this tells the mode
|
||||
OMS_CPOINT1 .set 00100h
|
||||
OMS_CPOINT2 .set 00200h
|
||||
OMS_CPOINT3 .set 00400h
|
||||
OMS_FINISHLINE .set 00800h
|
||||
|
|
@ -0,0 +1,406 @@
|
|||
.FILE "COMMDRNE.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
.include DELTA.EQU
|
||||
.include COMM.EQU
|
||||
.include RACER.EQU
|
||||
.include H2HOBJ.EQU
|
||||
|
||||
|
||||
.text
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*Startup Position Table
|
||||
*
|
||||
*39 words per plyr (13*3)
|
||||
*
|
||||
*
|
||||
STARTUP_POS_TABLEI .word STARTUP_POS_TABLE
|
||||
STARTUP_POS_TABLE: ;PLYR1 (on PLYR2)
|
||||
.float 576,-180,3287 ;GG
|
||||
.float -1928700,4654,584166 ;SF
|
||||
.float -2611877,14000,-628750 ;H280
|
||||
.float -3277335,15063,-1078194 ;RW
|
||||
.float -2257363,21013,-1158765 ;BH
|
||||
.float -2426363,10814,-2164529 ;LA
|
||||
.float -4120644,20316,-3599815 ;DV
|
||||
.float -4073652,24315,-3414549 ;AZ
|
||||
.float -2802001,12395,-3353785 ;GC
|
||||
.float -2465719,6191,-4562865 ;IOWA
|
||||
.float -3156184,-9609,-4101941 ;CH
|
||||
.float -3514890,-3107,-3573365 ;IN
|
||||
.float -2353033,-16317,-2927294 ;APPAL
|
||||
|
||||
;PLYR2 (on PLYR1)
|
||||
.float 1728,-177,2875 ;GG
|
||||
.float -1929780,4638,583767 ;SF
|
||||
.float -2611381,13982,-627690 ;H280
|
||||
.float -3276459,15050,-1078966 ;RW
|
||||
.float -2257834,21013,-1157630 ;BH
|
||||
.float -2426125,10798,-2163396 ;LA
|
||||
.float -4121699,20312,-3600288 ;DV
|
||||
.float -4074714,24350,-3414037 ;AZ
|
||||
.float -2802209,12410,-3355048 ;GC
|
||||
.float -2466458,6193,-4563828 ;IOWA
|
||||
.float -3157144,-9607,-4101204 ;CH
|
||||
.float -3515279,-3107,-3574450 ;IN
|
||||
.float -2353891,-16335,-2928112 ;APPAL
|
||||
|
||||
|
||||
.bss PLY2CAR,1
|
||||
*----------------------------------------------------------------------------
|
||||
*Communications drone
|
||||
*
|
||||
*
|
||||
*
|
||||
COMM_DRONE:
|
||||
|
||||
.if CDEBUG
|
||||
CMPI -1,R0
|
||||
BEQ $
|
||||
.endif
|
||||
|
||||
LDI R0,AR1
|
||||
CMPI 4,AR1
|
||||
LDIEQ JEEP_MOD,R0
|
||||
CMPI 5,AR1
|
||||
LDIEQ PLYR_SBUS_MOD,R0
|
||||
CMPI 6,AR1
|
||||
LDIEQ PLYR_COPCAR_MOD,R0
|
||||
|
||||
CMPI 7,AR1
|
||||
LDIEQ 3,R0
|
||||
DOGENRLB
|
||||
|
||||
STI R0,*+AR7(DELTA_MODEL)
|
||||
LDI R0,AR2
|
||||
LDI R0,AR5
|
||||
MPYI VEHTAB_SIZE,AR2
|
||||
ADDI @VEHICLE_TABLEI,AR2
|
||||
LDI *+AR2(VEHTAB_MODEL),AR2
|
||||
|
||||
CALL OBJ_GETE
|
||||
BC SUICIDE
|
||||
LDI AR0,AR4
|
||||
|
||||
|
||||
*STORE OBJECT POINTER
|
||||
|
||||
STI AR4,@PLY2CAR
|
||||
|
||||
|
||||
LDI R4,AR1
|
||||
ADDI @RACER_PTRI,AR1
|
||||
STI AR4,*AR1
|
||||
|
||||
LDI AR5,AR2
|
||||
CALL VEHICLE_ANI_INIT
|
||||
|
||||
CALL DELTA_OINIT
|
||||
|
||||
*SET PROPER PALETTE
|
||||
|
||||
; LDI *+AR7(INITINDEX),AR0
|
||||
;
|
||||
; LDI *+AR0(RD_PALETTE),R0
|
||||
; BZ NOOTHERPAL
|
||||
;
|
||||
; LDI R0,AR2
|
||||
; CALL PAL_FIND_RAW
|
||||
; STI R0,*+AR4(OPAL)
|
||||
; ORM O_1PAL,*+AR4(OFLAGS)
|
||||
;NOOTHERPAL
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,*+AR5(CAR_OM) ;SET OTHER MACHINES VEHICLE FLAG
|
||||
|
||||
LDF *+AR5(CARRDFR),R0
|
||||
MPYF 1.5,R0 ;OFFROAD = 1.5X ONROAD
|
||||
STF R0,*+AR5(CAROFRDFR)
|
||||
|
||||
LDI *+AR7(INITINDEX),AR0
|
||||
|
||||
LDF *+AR0(RD_XLANE),R0
|
||||
STF R0,*+AR7(DELTA_XLANE)
|
||||
STF R0,*+AR7(ROADOFFSET)
|
||||
|
||||
LDI 2,R2 ;SET LANE STATUS
|
||||
FLOAT 600,R1
|
||||
CMPF R1,R0
|
||||
LDIGT 3,R2
|
||||
STI R2,*+AR7(DELTA_STATUS)
|
||||
|
||||
|
||||
LDF 1.0,R0 ;FOR ATTRACT ALWAYS 1 DIFFICULTY
|
||||
MPYF *+AR0(RD_MAXACCEL),R0
|
||||
STF R0,*+AR5(CARMAXACCEL) ;SET ACCEL POWER
|
||||
|
||||
LDF *+AR0(RD_REL),R0
|
||||
STF R0,*+AR7(RELATIVITY) ;SET RELATIVITY COEFFICIENT
|
||||
*
|
||||
*INIT POSITION N ROAD PIECES FROM BEGINNING
|
||||
*
|
||||
LDI @DYNALIST_TRUEBEGIN,AR2
|
||||
LDI *+AR2(OUSR1),R0
|
||||
ANDN 0FFh,R0
|
||||
|
||||
LDI *+AR2(OLINK4),AR2 ;SKIP FIRST GROUP
|
||||
|
||||
LDI *+AR0(RD_POSITION),AR3 ;NUMBER OF PIECES AHEAD
|
||||
CALL SPOS_INIT ;INIT STARTING POSITION
|
||||
|
||||
;initialize Ytheta to the intentional direction
|
||||
STF R2,*+AR4(ORADY)
|
||||
STF R2,*+AR5(CARYROT)
|
||||
STF R2,*+AR5(CARVROT)
|
||||
|
||||
LDI AR4,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
CALL FIND_YMATRIX
|
||||
|
||||
LDI DRONE_C|VEHICLE_T|DRNE_RACER,R0
|
||||
STI R0,*+AR4(OID)
|
||||
STI R0,*+AR5(CAR_ID)
|
||||
STI R0,*+AR7(PID)
|
||||
|
||||
*INIT THROTTLE AND BRAKE
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR5(CARBRAKE)
|
||||
|
||||
|
||||
STF R0,*+AR5(CARSPEED)
|
||||
|
||||
|
||||
LDF 0.44,R0
|
||||
STF R0,*+AR5(CARTRACTION)
|
||||
|
||||
LDF 1.0,R0
|
||||
STF R0,*+AR7(DELTA_THROTTLE)
|
||||
STF R0,*+AR7(POWERSURGE)
|
||||
|
||||
LDF 0.05,R0
|
||||
CALL FRAND
|
||||
ADDF 1.20,R0
|
||||
STF R0,*+AR7(POWERCATCH) ;BLAST FROM START RANDOM TIME
|
||||
|
||||
LDI 120,R0 ;WAIT A LITTLE BEFORE UPDATE
|
||||
STI R0,*+AR7(SURGETIME)
|
||||
STI R0,*+AR7(CATCHTIME)
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,*+AR7(STEALTHMODE) ;NO STEALTH INIT
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_PULL
|
||||
CALL OBJ_INSERT
|
||||
|
||||
|
||||
LDI *+AR4(OCARBLK),AR5
|
||||
|
||||
LDI *+AR4(OCARBLK),R3 ;GET CAR DATA AREA
|
||||
CALL CAR_ROAD_COLL ;MAKE SORT WORK RIGHT
|
||||
|
||||
|
||||
LDF *+AR5(CARYROT),R2
|
||||
LDI @MATRIXAI,AR2
|
||||
CALL FIND_YMATRIX
|
||||
|
||||
LDI AR4,R2
|
||||
ADDI OMATRIX,R2
|
||||
LDI R2,R3
|
||||
CALL CONCATMAT ;FIX THE MATRIX
|
||||
|
||||
|
||||
LDL h2p1,AR2
|
||||
LDI *+AR7(DELTA_INIT),R0
|
||||
CMPI 8,R0
|
||||
BEQ NNDDF3
|
||||
LDL h2p2,AR2
|
||||
NNDDF3 CALL OBJ_GETE
|
||||
LDI AR0,AR2
|
||||
LDI AR0,AR6
|
||||
STI AR0,@COMM_DRONE_PTR
|
||||
CALL OBJ_INSERT
|
||||
LDI 1,R1
|
||||
LS O_3DROT_B,R1
|
||||
LDI *+AR6(OFLAGS),R0
|
||||
OR O_IROT|O_1PAL|O_NOROT,R0
|
||||
OR R1,R0
|
||||
STI R0,*+AR6(OFLAGS)
|
||||
|
||||
LDL H2HPAL1,AR2
|
||||
CALL PAL_FIND_RAW
|
||||
STI R0,*+AR6(OPAL)
|
||||
|
||||
LDI *+AR7(DELTA_INIT),R0
|
||||
STI R0,*+AR6(OCARBLK)
|
||||
|
||||
|
||||
CMPI @PLY2CAR,AR4
|
||||
BNE NOTPLYR
|
||||
LDI @CHOSEN_RACE,R0
|
||||
CMPI RACE_APPL,R0
|
||||
BGT NOTPLYR ;washington DC doesn't count
|
||||
|
||||
MPYI 3,R0
|
||||
LDI 0,AR2
|
||||
|
||||
LDI @DIPRAM,R1
|
||||
TSTB CMDP_MASTER,R1
|
||||
;Z == MASTER
|
||||
LDIZ 39,AR2
|
||||
ADDI R0,AR2
|
||||
|
||||
ADDI @STARTUP_POS_TABLEI,AR2
|
||||
|
||||
; LDF *AR2++,R0
|
||||
; STF R0,*+AR4(OPOSX)
|
||||
; LDF *AR2++,R0
|
||||
; STF R0,*+AR4(OPOSY)
|
||||
; LDF *AR2++,R0
|
||||
; STF R0,*+AR4(OPOSZ)
|
||||
|
||||
; LDI AR4,AR2
|
||||
; CALL OBJ_PULL
|
||||
; CALL OBJ_INSERT
|
||||
|
||||
NOTPLYR
|
||||
|
||||
CLRI R5 ;blink counter
|
||||
|
||||
|
||||
|
||||
|
||||
COMMDRNE_LP
|
||||
|
||||
PUSH R5
|
||||
PUSH AR6
|
||||
LDI *+AR4(OCARBLK),R3 ;GET CAR DATA AREA
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
CALL ROADSCAN ;MAKE SORT WORK RIGHT
|
||||
POP AR5
|
||||
POP AR4
|
||||
POP AR6
|
||||
POP R5
|
||||
|
||||
|
||||
CALL SEND_OM_TRACK
|
||||
SLEEP 1
|
||||
BU COMMDRNE_LP
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
COMM_DRONE_PTR_SORT:
|
||||
|
||||
LDI @COMM_DRONE_PTR,AR6
|
||||
LDI @PLY2CAR,AR4
|
||||
|
||||
REGULAR LDI *+AR4(ODIST),IR1
|
||||
ASH -4,IR1 ;quickly divide by 16
|
||||
LDI @INVTABI,AR2 ;inverse table dedicated ptr
|
||||
LDF *+AR2(IR1),R0
|
||||
CALL INV_F30
|
||||
CMPF 16,R0 ;
|
||||
LDFLT 16,R0 ;
|
||||
STF R0,*+AR6(OMAT00)
|
||||
STF R0,*+AR6(OMAT11)
|
||||
STF R0,*+AR6(OMAT22)
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
STF R0,*+AR6(OPOSX)
|
||||
LDF *+AR4(OPOSY),R0
|
||||
FLOAT 35,R1
|
||||
MPYF *+AR6(OMAT00),R1
|
||||
SUBF R1,R0
|
||||
SUBF 20,R0
|
||||
STF R0,*+AR6(OPOSY)
|
||||
LDF *+AR4(OPOSZ),R0
|
||||
STF R0,*+AR6(OPOSZ)
|
||||
|
||||
|
||||
LDI AR6,AR2
|
||||
CALL OBJ_PULL
|
||||
|
||||
LDI *AR4,R0
|
||||
STI R0,*AR6
|
||||
STI AR6,*AR4
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
AND O_LIST_M,R0
|
||||
OR *+AR6(OFLAGS),R0
|
||||
STI R0,*+AR6(OFLAGS)
|
||||
|
||||
;
|
||||
; CALL OBJ_INSERT
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
.globl OM_DRONE
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*OTHER MACHINE DRONE LOOP
|
||||
*
|
||||
OM_DRONE:
|
||||
|
||||
LDI 1,R0 ;OTHER GUYS CAR NOW....
|
||||
STI R0,*+AR5(CAR_OM)
|
||||
|
||||
|
||||
OM_DRONEL
|
||||
|
||||
LDI *+AR4(OCARBLK),R3 ;GET CAR DATA AREA
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
CALL ROADSCAN ;MAKE SORT WORK RIGHT
|
||||
POP AR5
|
||||
POP AR4
|
||||
|
||||
LDF 0,R0 ;CLEAR OUT SOME SHIT
|
||||
STF R0,*+AR5(CARDROT)
|
||||
STF R0,*+AR5(CARSPRAD)
|
||||
STF R0,*+AR5(CARSKID)
|
||||
|
||||
LDF *+AR5(CARYROT),R0
|
||||
STF R0,*+AR4(ORADY) ;STORE CAR OBJECT RADY
|
||||
|
||||
LDI 0,R0
|
||||
STF R0,*+AR5(CAR_SPIN)
|
||||
|
||||
******************************
|
||||
*TEST FOR NO UPDATE
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,*+AR5(CARUPD)
|
||||
SLEEP 1
|
||||
LDI *+AR5(CARUPD),R0
|
||||
BNE DRONELL
|
||||
NOP
|
||||
DRONELL
|
||||
************
|
||||
|
||||
B OM_DRONEL
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,702 @@
|
|||
.FILE "COMP.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*DECOMPRESSION SYSTEM
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include C30.EQU
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include VUNIT.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
|
||||
.bss PADDING,50
|
||||
|
||||
|
||||
.bss DECOMP_ACTIVE,1
|
||||
.bss HARD_SECTION_LOAD,1
|
||||
.bss FLUSH_COUNT,1
|
||||
|
||||
|
||||
.bss PACIFY_COUNT,1
|
||||
PACIFY_MOMENT .set 2048
|
||||
;PACIFY_MOMENT .set 512
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*REGISTER ALLOCATION
|
||||
*
|
||||
*AR0 SADDR (source addr or bitstream)
|
||||
*AR1 DADDR (dest addr)
|
||||
*AR2 scratch
|
||||
*AR3 DICTI
|
||||
*AR4 scratch
|
||||
*AR5 scratch
|
||||
*AR6 CURRENT_CODE_BITS
|
||||
*AR7 BIT_ADDR
|
||||
*
|
||||
*R0 scratch
|
||||
*R1 scratch
|
||||
*R2 scratch
|
||||
*R3 PUTC_SH
|
||||
*R4 new_code
|
||||
*R5 old_code
|
||||
*R6 character
|
||||
*R7 BUFCNT
|
||||
*
|
||||
*
|
||||
*IR0 CHARACTER (offset)
|
||||
*IR1 PUTC_BUF
|
||||
*BK NEXT_CODE
|
||||
*
|
||||
*RC count
|
||||
*RS
|
||||
*RE
|
||||
*
|
||||
*
|
||||
|
||||
|
||||
PUTC_SH EQU R3
|
||||
PUTC_BUF EQU IR1
|
||||
|
||||
new_code EQU R4
|
||||
old_code EQU R5
|
||||
character EQU R6
|
||||
bufcnt EQU R7
|
||||
|
||||
|
||||
count EQU RC
|
||||
|
||||
retval EQU R0
|
||||
|
||||
BIT_ADDR EQU AR7
|
||||
CURRENT_CODE_BITS EQU AR6
|
||||
NEXT_CODE EQU BK
|
||||
|
||||
|
||||
|
||||
*
|
||||
*
|
||||
BITS .set 12
|
||||
MAX_CODE .set (( 1 << BITS) -1 )
|
||||
TABLE_SIZE .set 4421
|
||||
|
||||
END_OF_STREAM .set 256
|
||||
BUMP_CODE .set 257
|
||||
FLUSH_CODE .set 258
|
||||
FIRST_CODE .set 259
|
||||
UNUSED .set -1
|
||||
*
|
||||
*
|
||||
|
||||
*STRUCT dictionary
|
||||
PARENT_CODE .set 0 ;UH LOWER HALF
|
||||
CODE_VALUE .set 0 ;UH UPPER HALF
|
||||
CHARACTER .set TABLE_SIZE ;UH LOWER 8 (bitchen jive techn.)
|
||||
DICT_SIZ .set 2 ;SIZ
|
||||
*ENDSTRUCT
|
||||
|
||||
|
||||
CPU_WSI .word CPU_WS
|
||||
|
||||
|
||||
DICTI .word DICT
|
||||
DECODE_STACKI .word DECODE_STACK
|
||||
|
||||
|
||||
hibss DICT,TABLE_SIZE*DICT_SIZ
|
||||
hibss DECODE_STACK,TABLE_SIZE
|
||||
.bss NEXT_BUMP_CODE,1
|
||||
|
||||
LINEBUFFERI .word LINEBUFFER
|
||||
lobss LINEBUFFER,64
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*BIT_ADDR
|
||||
*SADDR
|
||||
*CURRENT_CODE_BITS
|
||||
*
|
||||
*
|
||||
*
|
||||
INPUT_BITS:
|
||||
ADDI CURRENT_CODE_BITS,BIT_ADDR,R0
|
||||
IFI R0,GT,31,MULTIWORD
|
||||
|
||||
LDI *AR0,R0 ;get data
|
||||
LSH BIT_ADDR,R0
|
||||
LDI CURRENT_CODE_BITS,R1
|
||||
SUBI 32,R1
|
||||
LSH R1,R0
|
||||
ADDI CURRENT_CODE_BITS,BIT_ADDR
|
||||
RETS
|
||||
|
||||
MULTIWORD
|
||||
|
||||
LDI *AR0++,R1
|
||||
|
||||
LSH BIT_ADDR,R1 ;left justify
|
||||
LDI 32,R0
|
||||
SUBI BIT_ADDR,R0 ;how many bits in 1st word
|
||||
|
||||
LDI CURRENT_CODE_BITS,R2
|
||||
SUBI R0,R2 ;bits remaining in second word
|
||||
LDI R2,BIT_ADDR
|
||||
|
||||
LDI *AR0,R0
|
||||
SUBI 32,R2
|
||||
LSH R2,R0 ;second word now is right justified w/proper bits
|
||||
|
||||
LDI CURRENT_CODE_BITS,R2
|
||||
SUBI 32,R2
|
||||
LSH R2,R1
|
||||
OR R1,R0
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*PARAMETERS
|
||||
* R0 CHARACTER (BYTE) TO OUTPUT
|
||||
* AR1 DADDR
|
||||
*
|
||||
*
|
||||
PUTC:
|
||||
LDI @LINEBUFFERI,AR2
|
||||
ADDI bufcnt,AR2
|
||||
INC bufcnt
|
||||
|
||||
STI PUTC_BUF,*AR2 ;for AR timing
|
||||
CLRI PUTC_BUF
|
||||
CLRI PUTC_SH
|
||||
|
||||
CMPI 64,bufcnt
|
||||
RETSLT
|
||||
|
||||
; LDP @_newbut
|
||||
; NOT @_newbut,R0
|
||||
; TSTB SW_DIAG,R0
|
||||
; BNZ ENTER_DIAG
|
||||
; LDP @DIPRAM
|
||||
; NOT @DIPRAM,R0
|
||||
; TSTB DIP_DIAG,R0
|
||||
; BNZ ENTER_DIAG
|
||||
|
||||
|
||||
.if DEBUG
|
||||
LDI 0A0h,AR2
|
||||
LS 16,AR2
|
||||
CMPI AR2,AR1
|
||||
|
||||
SLOCKON LT,"COMP\PUTC ATTEMPT UNDER WRITE OF WAVERAM"
|
||||
|
||||
LDI 0BFh,AR2
|
||||
LS 16,AR2
|
||||
CMPI AR2,AR1
|
||||
|
||||
SLOCKON GT,"COMP\PUTC ATTEMPT OVER WRITE OF WAVERAM"
|
||||
.endif
|
||||
|
||||
|
||||
;PACIFY
|
||||
LDI @PACIFY_COUNT,R0
|
||||
ADDI 64,R0
|
||||
STI R0,@PACIFY_COUNT
|
||||
;
|
||||
|
||||
|
||||
CLRI bufcnt
|
||||
PUSH AR4
|
||||
LDI @LINEBUFFERI,AR4
|
||||
CLRI AR2 ;for dummy read
|
||||
|
||||
PUSH ST ;this push must be here
|
||||
PUSH RC
|
||||
PUSH RE
|
||||
PUSH RS
|
||||
PUSH R7
|
||||
|
||||
PUSH IE
|
||||
LDP @COMMINTM
|
||||
LDI @COMMINTM,IE
|
||||
SETDP
|
||||
|
||||
; PUSH IE ;disable interrupts
|
||||
; LDI 0,IE ;watch for pipeline conflicts
|
||||
LDI HARD_WS,R0
|
||||
LDI SOFT_WS,R1
|
||||
; AND 0DFFFh,ST ;turn off GIE.
|
||||
; POP IE
|
||||
|
||||
|
||||
LDP @CPU_WS
|
||||
STI R0,@CPU_WS ;set hard wait states
|
||||
|
||||
LDI 63,RC
|
||||
LDI -16,R7
|
||||
RPTB WVWRLP2
|
||||
LDI *AR4,R2 ;read from the buffer
|
||||
STI R2,*AR1++ ;write to wave ram
|
||||
LSH R7,*AR4++,R2 ;read/shift right
|
||||
WVWRLP2 STI R2,*AR1++ ;write to wave ram
|
||||
|
||||
|
||||
LDI *AR4,R2 ;DUMMY READ TO CLEAR THE LINE
|
||||
STI R1,@CPU_WS ;set soft wait states
|
||||
SETDP
|
||||
|
||||
POP IE
|
||||
|
||||
POP R7 ;this pop sequence must be here
|
||||
POP RS
|
||||
POP RE
|
||||
POP RC
|
||||
POP ST
|
||||
|
||||
BUD ENABLEGIE
|
||||
POP AR4
|
||||
CLRI PUTC_BUF
|
||||
CLRI PUTC_SH
|
||||
;----> BUD ENABLEGIE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR4 SADDR
|
||||
* AR5 DADDR
|
||||
*
|
||||
*
|
||||
DECOMPRESS:
|
||||
CALL PUSHALL
|
||||
|
||||
|
||||
;
|
||||
;NEW ADDITION. DONT F*CK THE WAVERAM
|
||||
;
|
||||
FIFO_CLRP R0 ;IS THE FIFO CLEAR
|
||||
DMA_WT R0
|
||||
CALL FIFO_RESET
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
LDI 1,R0
|
||||
STPI R0,@DECOMP_ACTIVE
|
||||
CLRI R0
|
||||
STPI R0,@FLUSH_COUNT
|
||||
|
||||
|
||||
|
||||
|
||||
LDI AR4,AR0 ;SADDR
|
||||
LDI AR5,AR1 ;DADDR
|
||||
|
||||
CLRI bufcnt
|
||||
|
||||
LDI @DICTI,AR3
|
||||
LDI CHARACTER,IR0
|
||||
CLRI BIT_ADDR
|
||||
|
||||
CLRI PUTC_BUF
|
||||
CLRI PUTC_SH
|
||||
|
||||
CALL SAVE_DECOMP_REGS
|
||||
|
||||
LDI @HARD_SECTION_LOAD,R0
|
||||
BZ NOHARDLOAD
|
||||
CALL DECOMPRESS_PROC
|
||||
|
||||
NOHARDLOAD
|
||||
|
||||
CALL POPALL
|
||||
RETS
|
||||
|
||||
|
||||
|
||||
|
||||
DECOMPRESS_TOPLP
|
||||
|
||||
; LDI @FLUSH_COUNT,R0
|
||||
; INC R0
|
||||
; STPI R0,@FLUSH_COUNT
|
||||
; IFI R0,LT,3,DECOMPRESS_TOPLP3
|
||||
; CLRI R0
|
||||
; STPI R0,@FLUSH_COUNT
|
||||
|
||||
|
||||
CALL FEED_WATCHDOG
|
||||
|
||||
;
|
||||
LDI @PACIFY_COUNT,R0
|
||||
CMPI PACIFY_MOMENT,R0
|
||||
BLT DECOMPRESS_TOPLP3
|
||||
;
|
||||
|
||||
|
||||
LDI @HARD_SECTION_LOAD,R0
|
||||
BZ CONT
|
||||
|
||||
LDI @BOOT_PACIFY_SCREEN_P,R0
|
||||
CALLNZ BOOT_PACIFY_SCREEN
|
||||
|
||||
BU DECOMPRESS_TOPLP3
|
||||
CONT
|
||||
|
||||
|
||||
CALL SAVE_DECOMP_REGS
|
||||
CALL POPALL
|
||||
|
||||
; CALL ENABLEGIE
|
||||
RETS
|
||||
|
||||
|
||||
DECOMPRESS_PROC:
|
||||
|
||||
LDI @DECOMP_ACTIVE,R0
|
||||
RETSZ
|
||||
|
||||
|
||||
;
|
||||
;NEW ADDITION. DONT F*CK THE WAVERAM
|
||||
;
|
||||
FIFO_CLRP R0 ;IS THE FIFO CLEAR
|
||||
DMA_WT R0
|
||||
CALL FIFO_RESET
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
|
||||
|
||||
;PACIFIER
|
||||
CLRI R0
|
||||
STPI R0,@PACIFY_COUNT
|
||||
;
|
||||
|
||||
; PUSH IE ;disable interrupts
|
||||
; LDI 0,IE ;watch for pipeline conflicts
|
||||
; LDI HARD_WS,R0
|
||||
; LDI SOFT_WS,R1
|
||||
; AND 0DFFFh,ST ;turn off GIE.
|
||||
; POP IE
|
||||
|
||||
|
||||
|
||||
|
||||
DECOMPRESS_TOPLP2
|
||||
CALL PUSHALL
|
||||
CALL RESTORE_DECOMP_REGS
|
||||
; CALL FEED_WATCHDOG
|
||||
|
||||
DECOMPRESS_TOPLP3
|
||||
LDI FIRST_CODE,NEXT_CODE
|
||||
LDI 9,CURRENT_CODE_BITS
|
||||
LDI 511,R0
|
||||
STPI R0,@NEXT_BUMP_CODE
|
||||
|
||||
|
||||
CALL INPUT_BITS ;returns in R0
|
||||
LDI R0,old_code ;old_code = INPUTBITS()
|
||||
IFI old_code,EQ,END_OF_STREAM,DECOMPRESSX
|
||||
LDI old_code,character ;character = old_code
|
||||
|
||||
;redun LDI old_code,R0
|
||||
|
||||
LSH PUTC_SH,R0 ;this is inlined!
|
||||
OR R0,PUTC_BUF ;
|
||||
ADDI 8,PUTC_SH ;
|
||||
CMPI 32,PUTC_SH ;
|
||||
CALLGE PUTC
|
||||
|
||||
|
||||
; CALL PUTC ;
|
||||
|
||||
|
||||
DECOMPRESSLP
|
||||
|
||||
CALL INPUT_BITS
|
||||
LDI retval,new_code
|
||||
CMPI END_OF_STREAM,new_code
|
||||
BEQ DECOMPRESSX
|
||||
|
||||
CMPI FLUSH_CODE,new_code
|
||||
BEQ DECOMPRESS_TOPLP
|
||||
|
||||
CMPI BUMP_CODE,new_code
|
||||
BNE NOBUMP
|
||||
|
||||
INC CURRENT_CODE_BITS
|
||||
BU DECOMPRESSLP
|
||||
NOBUMP
|
||||
|
||||
CMPI NEXT_CODE,new_code
|
||||
BLTD NODS
|
||||
|
||||
LDP @DECODE_STACKI
|
||||
LDI @DECODE_STACKI,AR4
|
||||
CLRI count
|
||||
; NOP
|
||||
;----> BLTD NODS
|
||||
|
||||
BUD NODSRT
|
||||
STI character,*AR4++ ;decode_stack[0] = character
|
||||
LDI 1,count ;count
|
||||
LDI old_code,AR5 ;code
|
||||
;----> BUD NODSRT
|
||||
NODS
|
||||
; CLRI count
|
||||
LDI new_code,AR5
|
||||
NODSRT
|
||||
|
||||
|
||||
|
||||
IFI AR5,LE,255,DECODEL1i ;while( code > 255) {
|
||||
DECODEL3i
|
||||
ADDI AR3,AR5
|
||||
LDI *+AR5(IR0),R0 ;CHARACTER
|
||||
STI R0,*AR4++ ;decode_stack[ count++] = DICT[ code].character
|
||||
INC count ;must keep counter correct
|
||||
LDI *+AR5(PARENT_CODE),AR5 ;code = DICT[code].parent_code
|
||||
CMPI 255,AR5
|
||||
BGT DECODEL3i
|
||||
|
||||
DECODEL1i
|
||||
|
||||
LDI AR5,character
|
||||
LDI AR5,R0 ;setup the first write
|
||||
|
||||
RPTB BLOOPER
|
||||
LSH PUTC_SH,R0 ;this is inlined!
|
||||
OR R0,PUTC_BUF ;
|
||||
ADDI 8,PUTC_SH ;
|
||||
CMPI 32,PUTC_SH ;
|
||||
CALLGE PUTC
|
||||
|
||||
;CALL PUTC
|
||||
BLOOPER LDI *--AR4,R0 ;and this becomes a pre-decrement
|
||||
|
||||
ADDI NEXT_CODE,AR3,AR2
|
||||
STI old_code,*+AR2(PARENT_CODE) ;DICT[next_code].parent = old_code
|
||||
|
||||
BUD DECOMPRESSLP
|
||||
STI character,*+AR2(IR0) ;DICT[next_code].character = character
|
||||
INC NEXT_CODE
|
||||
LDI new_code,old_code
|
||||
;----> BUD DECOMPRESSLP
|
||||
|
||||
DECOMPRESSX
|
||||
|
||||
CLRI R0
|
||||
STPI R0,@DECOMP_ACTIVE
|
||||
STPI R0,@HARD_SECTION_LOAD
|
||||
CALL POPALL
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
SAVESPCI .word SAVESPC+1
|
||||
.bss SAVESPC,25
|
||||
*----------------------------------------------------------------------------
|
||||
SAVE_DECOMP_REGS:
|
||||
LDP @SAVESPC
|
||||
STI AR0,@SAVESPC
|
||||
|
||||
LDI @SAVESPCI,AR0
|
||||
STI AR1,*AR0++
|
||||
STI AR2,*AR0++
|
||||
STI AR3,*AR0++
|
||||
STI AR4,*AR0++
|
||||
STI AR5,*AR0++
|
||||
STI AR6,*AR0++
|
||||
STI AR7,*AR0++
|
||||
|
||||
STI R1,*AR0++
|
||||
STI R2,*AR0++
|
||||
STI R3,*AR0++
|
||||
STI R4,*AR0++
|
||||
STI R5,*AR0++
|
||||
STI R6,*AR0++
|
||||
STI R7,*AR0++
|
||||
|
||||
STI RC,*AR0++
|
||||
STI RE,*AR0++
|
||||
STI RS,*AR0++
|
||||
STI IR0,*AR0++
|
||||
STI IR1,*AR0++
|
||||
STI BK,*AR0++
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
RESTORE_DECOMP_REGS:
|
||||
|
||||
LDI @SAVESPCI,AR0
|
||||
LDI *AR0++,AR1
|
||||
LDI *AR0++,AR2
|
||||
LDI *AR0++,AR3
|
||||
LDI *AR0++,AR4
|
||||
LDI *AR0++,AR5
|
||||
LDI *AR0++,AR6
|
||||
LDI *AR0++,AR7
|
||||
|
||||
LDI *AR0++,R1
|
||||
LDI *AR0++,R2
|
||||
LDI *AR0++,R3
|
||||
LDI *AR0++,R4
|
||||
LDI *AR0++,R5
|
||||
LDI *AR0++,R6
|
||||
LDI *AR0++,R7
|
||||
|
||||
LDI *AR0++,RC
|
||||
LDI *AR0++,RE
|
||||
LDI *AR0++,RS
|
||||
LDI *AR0++,IR0
|
||||
LDI *AR0++,IR1
|
||||
LDI *AR0++,BK
|
||||
|
||||
LDP @SAVESPC
|
||||
LDI @SAVESPC,AR0
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
MIN_X .set 240 ;if this changes modify CUSA.ASM
|
||||
MAX_X .set 300
|
||||
|
||||
BOOT_PACIFY_SCREEN_P .word 1
|
||||
|
||||
.bss PREVX,1
|
||||
.bss DELTA,1
|
||||
|
||||
;PREVX .word MIN_X
|
||||
;DELTA .word 1
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
BOOT_PACIFY_SCREEN:
|
||||
|
||||
CALL SAVE_DECOMP_REGS
|
||||
|
||||
LDI @PREVX,R6
|
||||
|
||||
LDI R6,AR2
|
||||
LDI R6,R3
|
||||
LDI 111,R2
|
||||
LDI 116,RC
|
||||
|
||||
; LDI @DELTA,R0
|
||||
; LDILT 0,RS
|
||||
; LDIGT 11,RS
|
||||
LDI 0,RS
|
||||
CALL _line
|
||||
|
||||
LDI @PREVX,R6
|
||||
LDI @DELTA,R7
|
||||
ADDI R7,R6
|
||||
STI R6,@PREVX
|
||||
|
||||
LDI R6,AR2
|
||||
LDI R6,R3
|
||||
LDI 111,R2
|
||||
LDI 116,RC
|
||||
LDI 3,RS
|
||||
CALL _line
|
||||
|
||||
|
||||
LDI @PREVX,R6
|
||||
CMPI MIN_X,R6
|
||||
BGT LL
|
||||
LDI 1,R7
|
||||
STPI R7,@DELTA
|
||||
LL
|
||||
CMPI MAX_X,R6
|
||||
BLT LLL
|
||||
LDI -1,R7
|
||||
STPI R7,@DELTA
|
||||
LLL
|
||||
|
||||
CALL RESTORE_DECOMP_REGS
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*SECTION LOAD REQUEST
|
||||
* IF ACTIVE THEN REQUEST IS QUEUED BY CREATING A PROCESS
|
||||
*
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 POINTER TO SECTION CONTROL
|
||||
*
|
||||
.bss LASTLOAD,1 ;CACHE THE LAST LOAD
|
||||
|
||||
LOAD_SECTION_REQ:
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
|
||||
LDI @DECOMP_ACTIVE,R0
|
||||
BZ NOWTLD
|
||||
|
||||
;a decompression is executing, queue the request
|
||||
;
|
||||
;
|
||||
PUSH R2
|
||||
PUSH AR0
|
||||
PUSH AR4
|
||||
LDI AR2,AR4
|
||||
CREATE REQWAIT,SPAWNER_C|LOAD_REQ_T
|
||||
POP AR4
|
||||
POP AR0
|
||||
POP R2
|
||||
BU NOLOAD
|
||||
NOWTLD
|
||||
; LDI @LASTLOAD,AR0
|
||||
; CMPI AR0,AR2
|
||||
; BEQ NOLOAD
|
||||
; STI AR2,@LASTLOAD
|
||||
|
||||
|
||||
|
||||
|
||||
LDI *AR2++,AR4
|
||||
LDI *AR2++,AR5
|
||||
CALL DECOMPRESS
|
||||
NOLOAD
|
||||
POP AR5
|
||||
POP AR4
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
REQWAIT:
|
||||
SLEEP 1
|
||||
LDI @DECOMP_ACTIVE,R0
|
||||
BNZ REQWAIT
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL LOAD_SECTION_REQ
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,38 @@
|
|||
* h2h.pol
|
||||
*
|
||||
* Copyright (C) 1995 by TV Games, Inc.
|
||||
* All Right Reserved
|
||||
*
|
||||
|
||||
|
||||
;head2head
|
||||
;we are about 485 lines, so lets say 490
|
||||
;befa00 == 1efa00 == line(15860)
|
||||
;
|
||||
|
||||
;corn flakes shit
|
||||
;about 200 lines long, but not to clobber
|
||||
;head2head shit
|
||||
;
|
||||
;line(15660) ((* 64))
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
.vect C14400
|
||||
.blow 809C00
|
||||
.caddr C16800
|
||||
|
||||
|
||||
.startpos 0,0,0
|
||||
.startrad 0
|
||||
|
||||
.tyco \m\dc;\m\rm;\m\gg;\m\sf;\m\pch;\m\dv;\m\tun;\m\phoe1;\m\gc;\m\mw;\m\appl;\m\ch;
|
||||
|
||||
.sect corn,AF4B00
|
||||
.dir hed2hed
|
||||
|
||||
cornpops
|
||||
|
||||
.dir
|
||||
|
|
@ -0,0 +1,38 @@
|
|||
* h2h.pol
|
||||
*
|
||||
* Copyright (C) 1995 by TV Games, Inc.
|
||||
* All Right Reserved
|
||||
*
|
||||
|
||||
|
||||
;head2head
|
||||
;we are about 485 lines, so lets say 490
|
||||
;befa00 == 1efa00 == line(15860)
|
||||
;
|
||||
|
||||
;corn flakes shit
|
||||
;about 200 lines long, but not to clobber
|
||||
;head2head shit
|
||||
;
|
||||
;line(15660) ((* 64))
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
.vect C14400
|
||||
.blow 809C00
|
||||
.caddr C16800
|
||||
|
||||
|
||||
.startpos 0,0,0
|
||||
.startrad 0
|
||||
|
||||
.tyco \m\dc;\m\rm;\m\gg;\m\sf;\m\pch;\m\dv;\m\tun;\m\phoe1;\m\gc;\m\mw;\m\appl;\m\ch;
|
||||
|
||||
.sect corn,AF4B00
|
||||
.dir hed2hed
|
||||
|
||||
cornpops
|
||||
|
||||
.dir
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
pcomp corn -s -m
|
||||
move objects.asm cornobj.asm
|
||||
move objects.equ cornobj.equ
|
|
@ -0,0 +1,27 @@
|
|||
.FILE "OBJECTS.ASM"
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
.def _PALLIST,_PALROM
|
||||
.bss _PALLIST,256
|
||||
_PALROM:
|
||||
.word 0C14400h
|
||||
.globl TYCO_TRKI
|
||||
TYCO_TRKI: .word 00h
|
||||
.globl ROAD_MAPI
|
||||
ROAD_MAPI: .word 00h
|
||||
|
||||
|
||||
;SECTION DATA
|
||||
.globl _SECcorn
|
||||
_SECcorn: ;(15779 lines, 98.62%)
|
||||
.word 0C16800h ;Src (Compressed) Addr
|
||||
.word 0BE9600h ;Dest Addr
|
||||
|
||||
.globl corn_PALETTES
|
||||
corn_PALETTES:
|
||||
.word 0,0
|
|
@ -0,0 +1,21 @@
|
|||
*OBJECTS.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
num_palettes .set 1
|
||||
cornpops_p .set 0
|
||||
|
||||
|
||||
num_objects .set 1
|
||||
cornpops .set 0C14482h
|
||||
cornpops_I .set 03D2Ch
|
||||
|
||||
|
||||
num_sections .set 1
|
||||
;corn .set 0AF4B00h ;1DC0
|
||||
.globl _SECcorn
|
||||
.globl corn_PALETTES
|
|
@ -0,0 +1,12 @@
|
|||
|
||||
|
||||
----------------
|
||||
Symbol Table
|
||||
----------------
|
||||
|
||||
Name Type Addr Name Type Addr
|
||||
------ ---- ------ ------ ---- ------
|
||||
corn sect AF4B00 cornpops pal C14400
|
||||
cornpops pal C14400 cornpops vector C14482
|
||||
|
||||
[3 symbols]
|
|
@ -0,0 +1,79 @@
|
|||
PComp v2.41
|
||||
Copyright (C) 1994 by TV Games, Inc. All Rights Reserved
|
||||
|
||||
File: corn.pol
|
||||
Compiled: Tue Jan 31 15:49:06 1995
|
||||
|
||||
Vector_ADDR( 0C14400h)
|
||||
Blist_ADDR( 0809C00h)
|
||||
Compressed_ADDR( 0C16800h)
|
||||
|
||||
Section Compressed Locations and Sizes
|
||||
|
||||
Section Name Address Length
|
||||
|
||||
vector C14400h 0000FDh 253 ( 0kb)
|
||||
corn C16800h 000B71h 2929 ( 11kb)
|
||||
|
||||
Statistics
|
||||
|
||||
vertices = 28
|
||||
polygons = 13
|
||||
objects = 1
|
||||
groups = 0
|
||||
palettes = 1
|
||||
GTMs = 0
|
||||
track sections = 0
|
||||
pixels = 30464
|
||||
sections = 1
|
||||
compression ratio = 2.60 to 1
|
||||
|
||||
Avg vertices/object = 28.00
|
||||
Avg polygons/object = 13.00
|
||||
Number of objects = 1
|
||||
Approximate binary size of object space: 124 words (0kB)
|
||||
|
||||
Avg objects/group = -nan
|
||||
Number of groups = 0
|
||||
Approximate binary size of group space: 0 words (0kB)
|
||||
|
||||
Avg entries/palette = 256.00
|
||||
Number of palettes = 1
|
||||
Approximate binary size of palettes: 130 words
|
||||
|
||||
119 lines, 0% capacity
|
||||
|
||||
Section Costs
|
||||
|
||||
Name Vsize Wsize YLines Pals Max_Lines Max_Pals
|
||||
|
||||
corn 253 7616 119 0 119 0
|
||||
Vtotal = 253 (0 3F4h) (0kb)
|
||||
Wtotal = 7616 (0 7700h) (29kb)
|
||||
|
||||
|
||||
|
||||
List of Objects with Textures
|
||||
|
||||
Name Vsize Wsize (YLines) Accs Section
|
||||
|
||||
cornpops 124 7616 119 0 corn
|
||||
|
||||
|
||||
Group Costs
|
||||
|
||||
Name Vsize Wsize YLines Objs
|
||||
|
||||
|
||||
Vtotal = 0
|
||||
Wtotal = 0
|
||||
|
||||
Largest Maps in system
|
||||
|
||||
YLines Image Name YLines Image Name
|
||||
|
||||
119 cornpops 119 cornpops
|
||||
|
||||
Groups not referenced on the track
|
||||
|
||||
No errors, No warnings
|
|
@ -0,0 +1,5 @@
|
|||
VUNIT-C30 RPD Loader Version 1.07
|
||||
Copyright (C) 1994 by TV Games, Inc.
|
||||
|
||||
vector C14000,180 100
|
||||
head2head C15000,1441 71%100
|
|
@ -0,0 +1,27 @@
|
|||
.FILE "OBJECTS.ASM"
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
; .def _PALLIST,_PALROM
|
||||
; .bss _PALLIST,256
|
||||
;_PALROM:
|
||||
; .word 0C14400h
|
||||
; .globl TYCO_TRKI
|
||||
;TYCO_TRKI: .word 00h
|
||||
; .globl ROAD_MAPI
|
||||
;ROAD_MAPI: .word 00h
|
||||
;
|
||||
|
||||
;SECTION DATA
|
||||
.globl _SECcorn
|
||||
_SECcorn: ;(15779 lines, 98.62%)
|
||||
.word 0C16800h ;Src (Compressed) Addr
|
||||
.word 0BE9600h ;Dest Addr
|
||||
|
||||
; .globl corn_PALETTES
|
||||
;corn_PALETTES:
|
||||
; .word 0,0
|
|
@ -0,0 +1,24 @@
|
|||
*OBJECTS.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
;num_palettes .set 1
|
||||
;cornpops_p .set 0
|
||||
;
|
||||
;
|
||||
;num_objects .set 1
|
||||
cornpops .set 0C14482h
|
||||
cornpops_I .set 03D2Ch
|
||||
|
||||
|
||||
;num_sections .set 1
|
||||
;corn .set 0AF4B00h ;1DC0
|
||||
.globl _SECcorn
|
||||
.globl corn_PALETTES
|
||||
|
||||
CORNPAL .set 0C14400h
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,128 @@
|
|||
/* Cruisin USA
|
||||
*
|
||||
* Copyright (C) 1994 by TV Games, Inc.
|
||||
* All Rights Reserved
|
||||
*
|
||||
* LNK_OPTIONS=-q -ic:\c30tools
|
||||
*/
|
||||
|
||||
-o e:cusa.out
|
||||
-m e:cusa.map
|
||||
|
||||
|
||||
e:bssstart.obj
|
||||
|
||||
/* SYSTEM MODULES */
|
||||
e:dirq.obj /* transformation system THIS MUST BE THE FIRST .OBJ */
|
||||
e:cusa.obj /* main loop, inits. */
|
||||
e:mproc.obj /* multi-processor */
|
||||
e:obj.obj /* object system */
|
||||
e:pall.obj /* pallette system */
|
||||
e:util.obj /* general utilities */
|
||||
e:infin.obj /* infinity roiutines */
|
||||
|
||||
/*e:audits.obj*/
|
||||
|
||||
e:attrdrne.obj
|
||||
e:attracta.obj
|
||||
e:backgrnd.obj /* background system */
|
||||
e:bonus.obj
|
||||
|
||||
|
||||
e:chopper.obj
|
||||
e:coin.obj
|
||||
e:colla.obj /* Collision system */
|
||||
e:comm.obj /* Communications */
|
||||
e:commdrne.obj
|
||||
e:commq.obj /* Communications Queue */
|
||||
e:comp.obj /* memory */
|
||||
e:cornobj.obj
|
||||
e:delta.obj /* DELTA drone */
|
||||
e:drones.obj
|
||||
e:effects.obj
|
||||
e:error.obj
|
||||
e:flame.obj
|
||||
e:heads.obj
|
||||
e:hottub.obj
|
||||
e:hpmath.obj /* High Precision Math */
|
||||
e:hstdp.obj
|
||||
e:hud.obj /* heads up display */
|
||||
e:intro.obj
|
||||
e:invtab30.obj /* inverse 1/Z table */
|
||||
e:leg.obj
|
||||
e:line.obj
|
||||
e:map.obj
|
||||
e:math.obj /* Math functions */
|
||||
e:overlay.obj
|
||||
e:plyr.obj
|
||||
e:racer.obj /* RACER drone */
|
||||
e:rho.obj /* RHO drone */
|
||||
e:rroad.obj
|
||||
e:roadblck.obj
|
||||
e:roadkill.obj
|
||||
e:routs.obj /* C runtime routines */
|
||||
e:setups.obj
|
||||
e:sigma.obj /* SIGMA drone */
|
||||
e:snd.obj /* sound system */
|
||||
e:sndtaba.obj /* sound data base */
|
||||
e:smoke.obj
|
||||
e:text.obj /* DMA text display */
|
||||
e:texttab.obj /* DMA text tables */
|
||||
e:trans.obj /* choose transmission */
|
||||
e:tracksel.obj /* choose race */
|
||||
e:totala.obj
|
||||
e:wave.obj /* wave routines */
|
||||
e:wheel.obj
|
||||
|
||||
|
||||
e:h2hobj.obj
|
||||
|
||||
|
||||
/* PCOMP Modules
|
||||
*/
|
||||
e:objects.obj
|
||||
|
||||
e:font.obj /* CPU font */
|
||||
e:font1a.obj /* CPU text display */
|
||||
|
||||
/* CMOS related stuff
|
||||
*/
|
||||
e:cmos.obj
|
||||
e:cointab.obj
|
||||
e:memtest.obj
|
||||
e:motion.obj
|
||||
e:diag.obj
|
||||
|
||||
|
||||
MEMORY
|
||||
{
|
||||
VECTOR : org = 0x000000, len = 0x040
|
||||
FASTRAM : org = 0x000040, len = 0x1EFC0
|
||||
PFASTRAM: org = 0x01F000, len = 0x007FF
|
||||
FRAM : org = 0x8099DB, len = 0x200
|
||||
THEROM : org = 0xC10000, len = 0x7FFF
|
||||
}
|
||||
|
||||
|
||||
SECTIONS
|
||||
{
|
||||
.text : {} > FASTRAM
|
||||
.data : {} > FASTRAM
|
||||
.cinit : {} > FASTRAM
|
||||
.const : {} > FASTRAM
|
||||
pbsss : {} > FASTRAM
|
||||
pbss : {} > FASTRAM /* Protected bss (only clr'd at powerup) */
|
||||
pbsse : {} > FASTRAM
|
||||
lobss : {} > FASTRAM
|
||||
.bss : {} > FASTRAM /* must start at a known location */
|
||||
hibss : {} > FASTRAM /* DP doesn't care */
|
||||
|
||||
phibss : {} > PFASTRAM /* protected hi bss (commq buffers) */
|
||||
|
||||
oncram : {} > FRAM
|
||||
|
||||
THECODE : {} > THEROM
|
||||
THEDATA : {} > THEROM
|
||||
TWODATA : {} > THEROM
|
||||
}
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
|
||||
.globl DATE_STAMP
|
||||
DATE_STAMP:
|
||||
.string "WED MAR 15 10:52:28 1995",0
|
||||
|
|
@ -0,0 +1,287 @@
|
|||
.FILE "DELTA.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*DELTA DRONE
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include C30.EQU
|
||||
.include OBJ.EQU
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
.include DELTA.EQU
|
||||
|
||||
|
||||
|
||||
.text
|
||||
*----------------------------------------------------------------------------
|
||||
*GENERAL DRONE OBJECT INITIALIZATION
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR4 OBJECT (NOT INSERTED)
|
||||
* AR7 PROCESS (DELTA STYLE)
|
||||
*RETURNS
|
||||
* AR5 CAR BLOCK
|
||||
*
|
||||
DELTA_OINIT:
|
||||
LDI *+AR7(DELTA_MODEL),R0
|
||||
CALL _CARV0 ;RETURNS BLOCK PTR IN AR0
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERT
|
||||
CALL ADD_DRONE
|
||||
STI AR7,*+AR4(OPLINK)
|
||||
|
||||
LDI 1,R0
|
||||
LS O_PROC_B,R0
|
||||
OR *+AR4(OFLAGS),R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
|
||||
LDI DM_NORMAL,R0
|
||||
STI R0,*+AR7(DELTA_MODE)
|
||||
|
||||
LDI *+AR4(OCARBLK),AR5
|
||||
|
||||
LDF THROTTLE_INIT,R0 ;INITIALIZE THROTTLE AND BRAKE
|
||||
STF R0,*+AR5(CARTHROTTLE)
|
||||
CLRF R0
|
||||
STF R0,*+AR5(CARBRAKE)
|
||||
|
||||
LDF MAX_ACCEL_INIT,R0
|
||||
STF R0,*+AR5(CARMAXACCEL) ;SET ACCEL POWER
|
||||
|
||||
LDF 1.0,R0
|
||||
STF R0,*+AR7(DELTA_THROTTLE)
|
||||
|
||||
LDI 0101h,R0 ;SET THE STARTUP LAST KNOWN OID
|
||||
STI R0,*+AR7(DELTA_LAST_OID)
|
||||
|
||||
LDI *+AR7(DELTA_MODEL),AR2
|
||||
MPYI VEHTAB_SIZE,AR2
|
||||
ADDI @VEHICLE_TABLEI,AR2
|
||||
LDF *+AR2(VEHTAB_MASS),R0
|
||||
STF R0,*+AR5(CARMASS)
|
||||
|
||||
LDI *+AR2(VEHTAB_DMODEL),R0
|
||||
BZ NOTDEGRADE
|
||||
STI R0,*+AR4(ODEGRADE_ROM)
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_DEGRADE,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
LDI *+AR2(VEHTAB_DMODEL2),R0
|
||||
BZ NOTDEGRADE
|
||||
STI R0,*+AR4(ODEGRADE_ROM2)
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_DEGRADE2,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
NOTDEGRADE
|
||||
|
||||
|
||||
LDI *+AR4(OID),R0
|
||||
CMPI DRONE_C|VEHICLE_T|DRNE_RHO,R0
|
||||
BEQ NODYNAX1
|
||||
|
||||
LDI *+AR2(VEHTAB_DDYNATAB),R0
|
||||
BZ NODYNAX1
|
||||
LDI R0,AR2
|
||||
CALL DDYNA_INIT
|
||||
NODYNAX1
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*DDYNA_INIT
|
||||
*
|
||||
*DRONE (STRIPPED DOWN) DYNAMIC OBJECT
|
||||
*
|
||||
*GET DYNAMIC OBJECTS FOR A CAR
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 TABLE POINTER
|
||||
* AR4 CAR OBJECT
|
||||
*
|
||||
DDYNA_INIT:
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R6
|
||||
PUSH AR0
|
||||
PUSH AR2
|
||||
PUSH AR3
|
||||
|
||||
|
||||
LDI O_DYNAMIC,R0 ;MAKE PARENT OBJECT DYNAMIC
|
||||
LDI *+AR4(OFLAGS),R1
|
||||
TSTB R0,R1
|
||||
BNZ VANIX
|
||||
|
||||
OR R0,R1
|
||||
STI R1,*+AR4(OFLAGS)
|
||||
|
||||
;INITIALIZE CENTERXYZ,TRANSXYZ,VERTS
|
||||
;
|
||||
LDI AR4,AR3
|
||||
ADDI ODYNALIST,AR3
|
||||
|
||||
LDI *AR2++,RC ;GET DYNAMIC OBJECT COUNT
|
||||
DEC RC
|
||||
LDI *AR2++,R6 ;GET NUMBER OF VERTICES
|
||||
RPTB WHEELLP
|
||||
|
||||
CALL GETDYNA ;LINK HIM INTO LIST
|
||||
STI AR0,*AR3
|
||||
|
||||
LDI *AR2++,R0
|
||||
SUBI R0,R6
|
||||
SUBI 1,R0
|
||||
STI R0,*+AR0(DYNANVERTS)
|
||||
|
||||
FLOAT *AR2++,R0
|
||||
STF R0,*+AR0(DYNACENTERX)
|
||||
STF R0,*+AR0(DYNATRANSX)
|
||||
FLOAT *AR2++,R0
|
||||
STF R0,*+AR0(DYNACENTERY)
|
||||
STF R0,*+AR0(DYNATRANSY)
|
||||
FLOAT *AR2++,R0
|
||||
STF R0,*+AR0(DYNACENTERZ)
|
||||
STF R0,*+AR0(DYNATRANSZ)
|
||||
WHEELLP LDI AR0,AR3
|
||||
|
||||
CALL GETDYNA ;LINK HIM INTO LIST
|
||||
STI AR0,*AR3
|
||||
|
||||
SUBI 1,R6
|
||||
STI R6,*+AR0(DYNANVERTS)
|
||||
|
||||
CLRF R0
|
||||
STF R0,*+AR0(DYNACENTERX)
|
||||
STF R0,*+AR0(DYNATRANSX)
|
||||
STF R0,*+AR0(DYNACENTERY)
|
||||
STF R0,*+AR0(DYNATRANSY)
|
||||
STF R0,*+AR0(DYNACENTERZ)
|
||||
STF R0,*+AR0(DYNATRANSZ)
|
||||
LDI AR0,AR3
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,*AR3 ;LAST LINK IS ZERO, DUDES
|
||||
|
||||
ADDI DYNAMATRIX,AR0
|
||||
CALL INITMAT
|
||||
|
||||
|
||||
*GET A CAR PROCESS
|
||||
LDI @DRONE_DANI_PROCI,AR2
|
||||
LDI DRONE_C|ANI_T,R2 ;PID
|
||||
CALL PRC_CREATE_CHILD
|
||||
STI AR0,*+AR4(ORADZ) ;DOUBLING AS A PROC PTR
|
||||
VANIX
|
||||
POP AR3
|
||||
POP AR2
|
||||
POP AR0
|
||||
POP R6
|
||||
POP R2
|
||||
POP R1
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*DRONE DYNA ANIMATION PROCESS
|
||||
*
|
||||
* SPINS WHEELS (ONLY!)
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR4 CAR OBJECT
|
||||
* AR5 CAR BLOCK
|
||||
* R6 X RADIANS ;FOR WHEEL SPIN
|
||||
*USES
|
||||
* AR3 DYNA OBJECT
|
||||
* AR4 MASTER OBJECT
|
||||
* AR5 CAR BLOCK
|
||||
* AR6 DYNAMATRIX
|
||||
* R4 OLD ORADY
|
||||
* R5 Z RADIANS FOR BODY LEAN
|
||||
* R6 X RADIANS FOR BODY LEAN
|
||||
* R7 OLD CAR SPEED
|
||||
* PDATA OLD CAR ORADY
|
||||
* PDATA+1 BODY LEAN Z RADIANS
|
||||
* PDATA+2 X RADIANS FOR WHEEL SPIN
|
||||
*
|
||||
DRONE_DANI_PROCI .word DRONE_DANI_PROC
|
||||
DRONE_DANI_PROC:
|
||||
LDI *+AR4(OCARBLK),AR5
|
||||
|
||||
LDF 0,R6 ;INIT SPIN RADIANS
|
||||
STF R6,*+AR7(PDATA+2) ;SAVE WHEEL X RADIANS
|
||||
|
||||
LDF *+AR5(CARSPEED),R0 ;INIT SPEED
|
||||
LDF R0,R7
|
||||
|
||||
CARPROCL
|
||||
LDI 3,AR2 ;SLEEP TIME
|
||||
LDI @SUSPEND_MODE,R0
|
||||
CMPI SM_HALT,R0
|
||||
BEQ CARSLP
|
||||
|
||||
LDI *+AR4(ODIST),R0
|
||||
CMPI 20000,R0 ;FAR OFF JUST SLEEP
|
||||
BGT CARSLP
|
||||
|
||||
|
||||
;
|
||||
;GET WHEEL SPIN MATRIX
|
||||
;
|
||||
LDF *+AR5(CARSPEED),R2
|
||||
MPYF 0.02,R2 ;FUDGE FACTOR
|
||||
|
||||
ADDF *+AR7(PDATA+2),R2
|
||||
STF R2,*+AR7(PDATA+2) ;SAVE WHEEL X RADIANS
|
||||
|
||||
LDI @MATRIXBI,AR2 ;GET X SPIN IN MATRIXB
|
||||
CALL FIND_XMATRIX
|
||||
LDI AR2,AR3 ;SAVE REAR WHEEL MATRIX PTR
|
||||
|
||||
;STUFF YOUR DYNAMIC MATRICES
|
||||
;
|
||||
LDI *+AR4(ODYNALIST),R0
|
||||
SLOCKON Z,"DELTA\DRONE_DANI_PROC 1"
|
||||
|
||||
CDTOP
|
||||
LDI R0,AR0
|
||||
LDI *AR0,R0
|
||||
BZ CARSLP
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI DYNAMATRIX,AR2
|
||||
|
||||
;STUFF WHEEL
|
||||
;
|
||||
LDF *AR3++,R0
|
||||
RPTS 7
|
||||
LDF *AR3++,R0
|
||||
|| STF R0,*AR2++
|
||||
STF R0,*AR2++
|
||||
NOP *AR3--(9)
|
||||
|
||||
|
||||
LDI *AR0,R0
|
||||
BNZ CDTOP
|
||||
|
||||
CARSLP
|
||||
SLEEP 3
|
||||
B CARPROCL
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,216 @@
|
|||
*DELTA.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
|
||||
|
||||
DELTA_SAFETYWIDTH .set 850
|
||||
DELTA_WIDTH .set 500
|
||||
DELTA_HALF_WIDTH .set 300
|
||||
DELTAX_MIN .set 0
|
||||
|
||||
;DELTAX_MAX .set 1920
|
||||
;DELTAX_MAX_2LN .set 1050
|
||||
DELTAX_MAX .set 2020
|
||||
DELTAX_MAX_2LN .set 1050
|
||||
|
||||
|
||||
MAX_DRONES .set 11 ;MAXIMUM DRONES IN UNIVERSE
|
||||
|
||||
.globl SUSPEND_MODE
|
||||
|
||||
|
||||
;*** DELTA.ASM
|
||||
.globl RACER_PTRI,RACER_PTR
|
||||
.globl DELTA_OINIT
|
||||
.globl GET_TRACK_POS
|
||||
.globl GET_TRACK_POS_RVS
|
||||
.globl GET_TRACK_POS_RVS_XLANE
|
||||
.globl DELTA_GET_TRACK_POS
|
||||
.globl DELTA_SUB_FUNCTION
|
||||
|
||||
.globl LANEPI,LANEP,LANESI,LANES,LANES4
|
||||
|
||||
.globl LANESI,LANES
|
||||
.globl LANE2MLT,LANE4MLT
|
||||
.globl VEHICLESI,VEHICLES
|
||||
|
||||
|
||||
;*** SIGMA.ASM
|
||||
.globl SIGMA_DRONE
|
||||
|
||||
;*** RHO.ASM
|
||||
.globl RHO_DRONE
|
||||
.globl RHO_DIE ;generalized drone die routine
|
||||
|
||||
;*** CHOPPER.ASM
|
||||
.globl CHOPPER
|
||||
|
||||
;*** COPCAR.ASM
|
||||
.globl AHEAD_OF_PLAYER_P
|
||||
|
||||
;*** DRONES.ASM
|
||||
.globl REGISTER_RACER
|
||||
.globl SET_DRONE_PAL
|
||||
.globl TRAFFIC,GET_LANES,DIST_TO_PLYR
|
||||
.globl INIT_TRACKING_PIECE,GET_TRACK_POS_RVS,GET_TRACK_POS,GET_TRACK_POS_RVS_XLANE
|
||||
; .globl GET_STEALTH_POS
|
||||
.globl SUB_FUNCTION_RVS,SUB_FUNCTION,SUB_FUNCTION_RVS_XLANE
|
||||
.globl SUB_FUNCTION_XLANE
|
||||
; .globl FIND_MAPENTRY
|
||||
.globl INIT_DRONES,ADD_DRONE,FREE_DRONE
|
||||
.globl PTS,FIND_PLYR_RANK
|
||||
.globl PRECOLLIDE_PLYR
|
||||
.globl DRONE_RIDE_RIGHT
|
||||
.globl AVOID_CAR_OBSTACLES
|
||||
|
||||
.globl ROAD_MAPI ;TYCO.ASM
|
||||
|
||||
.globl RACER_GRID_START ;Starting Index
|
||||
|
||||
|
||||
*STRUCT REGRAC
|
||||
REGRAC_POSITION .set 0 ;UD THIS IS COMPUTED
|
||||
REGRAC_OBJECT .set 1 ;UH PTR TO RACER #X OBJECT
|
||||
REGRAC_CARBLOCK .set 2 ;UH PTR TO RACER #X CARBLOCK
|
||||
REGRAC_PROC .set 3 ;UH PTR TO RACER #X PROCESS
|
||||
*ENDSTRUCT
|
||||
REGRAC_SIZE .set 4 ;SIZ
|
||||
NUM_RACERS .set 8
|
||||
|
||||
.globl REGISTER ;(DRONES.ASM)
|
||||
|
||||
|
||||
|
||||
*SUSPEND_MODE
|
||||
*
|
||||
SM_GO .set 5577h ;REGULAR DRONE PROCESSING
|
||||
SM_HALT .set 33BBh ;FREEZE DRONES ... DONT MOVE (COIN IN, ETC.)
|
||||
|
||||
|
||||
THROTTLE_INIT .set 0.8
|
||||
MIN_THROTTLE .set 0.35
|
||||
MIN_FBTHROTTLE .set 0.65
|
||||
MAX_THROTTLE .set 1.0
|
||||
FREE_THROTTLE .set 0.65 ;MAX_THROTTLE-MIN_THROTTLE
|
||||
;(TI ASM WONT ASSEMBLY FP CONSTANT MATH)
|
||||
|
||||
MAX_SIGMA_THROTTLE .set 0.50
|
||||
MAX_COPCAR_THROTTLE .set 0.50
|
||||
|
||||
|
||||
RHO_MAX_ACCEL_INIT .set 0.40 ;(0.82 == PLYR)
|
||||
MAX_ACCEL_INIT .set 0.70 ;(0.82 == PLYR)
|
||||
DELTA_MAX_ACCEL_INIT .set 0.90 ;(0.82 == PLYR)
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*STRUCT DELTA (WITHIN PROCESS BLOCK)
|
||||
*
|
||||
DELTA_STATUS .set PDATA+0 ;UH GENERAL STATUS
|
||||
DELTA_RADYDELTA .set PDATA+1 ;UH Y theta Delta
|
||||
DELTA_INIT .set PDATA+2 ;SD INITIAL POSITION PARAMETER
|
||||
DELTA_THROTTLE .set PDATA+3 ;FL throttle level
|
||||
DELTA_TPIECE .set PDATA+4 ;UH ROAD TRACKED PIECE
|
||||
DELTA_MODE .set PDATA+5 ;UH TRACKING MODE FLAGS (NORMAL/STEALTH)
|
||||
DELTA_SPTR .set PDATA+6 ;UH STEALTH POINTER
|
||||
DELTA_LAST_OID .set PDATA+7 ;UH *LAST KNOWN OID TO SEARCH FOR
|
||||
DELTA_PSTAT .set PDATA+8 ;UH 0=behind plyr, 1=ahead of plyr
|
||||
DELTA_PLAYIT .set PDATA+9 ;UH WAY THE GAME IS BEING PLAYED
|
||||
;
|
||||
PLAYIT_LOGIC .set 0FF00h
|
||||
KAMIKAZE .set 00200h
|
||||
FALL_BACK .set 00300h
|
||||
;
|
||||
DELTA_LANE .set PDATA+10 ;FL LANE
|
||||
DELTA_PLYRDIST .set PDATA+11 ;FL
|
||||
DELTA_OPLYRDIST .set PDATA+12 ;FL
|
||||
DELTA_MODEL .set PDATA+13 ;UD
|
||||
DELTA_LANE_SWITCH_TMR .set PDATA+14 ;UD
|
||||
DELTA_XLANE .set PDATA+15 ;UD extended lanes
|
||||
DELTA_MIN_THROTTLE .set PDATA+16 ;FL
|
||||
DELTA_MAX_THROTTLE .set PDATA+17 ;FL
|
||||
DELTA_UPDATE_FL .set PDATA+18 ;UD comm update flag 1=just updated
|
||||
|
||||
|
||||
;DELTA_OM .set PDATA+19 ;UD 1=Other Machine controls this vehicle
|
||||
*ENDSTRUCT
|
||||
|
||||
SUBDRNSTRT .set PDATA+20
|
||||
|
||||
RHO_NOISE .set SUBDRNSTRT+0 ;UH FLG WHETHER IT HAS RAZZED THE PLYR
|
||||
RHO_YELL .set SUBDRNSTRT+1 ;UH FLG WHETHER IT HAS YELLED THE PLYR
|
||||
RHO_INIT .set SUBDRNSTRT+2 ;UH IDX INITIAL RHO TYPE
|
||||
RHO_THETA .set SUBDRNSTRT+3 ;FL
|
||||
RHO_THETA_DELTA .set SUBDRNSTRT+4 ;FL
|
||||
RHO_AMP .set SUBDRNSTRT+5 ;FL
|
||||
RHO_XHEAD .set SUBDRNSTRT+6 ;FL
|
||||
|
||||
SIGMA_ONCE .set SUBDRNSTRT+0 ;UH FLG THE DRONE HAS BEEN ON AT LEAST ONCE (BREAKDOWN FLAG)
|
||||
SIGMA_YELL .set SUBDRNSTRT+1 ;UH FLG WHETHER PLYR HAS RAZZED THE SIGMA
|
||||
SIGMA_MODEL .set SUBDRNSTRT+2
|
||||
SIGMA_FLAG .set SUBDRNSTRT+3
|
||||
|
||||
|
||||
;Change to make copcar compatible with the racers object avoidence routines
|
||||
;ROADOFFSET .set SUBDRNSTRT ;TRACKING OFFSET TO CENTER OF ROAD
|
||||
COPCAR_ONCE .set SUBDRNSTRT+1 ;UH FLG THE DRONE HAS BEEN ON AT LEAST ONCE (BREAKDOWN FLAG)
|
||||
COPCAR_CHASE .set SUBDRNSTRT+2
|
||||
COPCAR_REACTION .set SUBDRNSTRT+3 ;FL 0.1-1.0 DELTA_XLANE ratio tracking
|
||||
COPCAR_SPEED_MOD .set SUBDRNSTRT+4 ;FL overtake speed varience
|
||||
COPCAR_SIREN .set SUBDRNSTRT+5 ;UH sound call to use
|
||||
|
||||
|
||||
|
||||
ROADOFFSET .set SUBDRNSTRT ;TRACKING OFFSET TO CENTER OF ROAD
|
||||
POWERSURGE .set SUBDRNSTRT+1 ;POWER SURGE VALUE
|
||||
POWERCATCH .set SUBDRNSTRT+2 ;POWER CATCHUP VALUE
|
||||
SURGETIME .set SUBDRNSTRT+3 ;TIMER FOR NEW SURGE
|
||||
CATCHTIME .set SUBDRNSTRT+4 ;TIMER FOR NEW CATCHUP
|
||||
STEALTHMODE .set SUBDRNSTRT+5 ;STEALTH MODE FLAG 0=NO,1=AHEAD,-1=BEHND
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
;* = MUST BE INITIALIZED ON STARTUP
|
||||
;
|
||||
|
||||
DM_MMODE .set 0FFh ;MODE MASK
|
||||
DM_NORMAL .set 1 ;REGULAR DYNAfLEX TRACKING MODE
|
||||
DM_STEALTH .set 2 ;STEALTH (MAP) TRACKING MODE (LINEAR)
|
||||
DM_ST_BEYOND .set 100h ;ENTERED BECAUSE TO FAR AHEAD
|
||||
DM_ST_BELOW .set 200h ;ENTERED BECAUSE TO FAR BEHIND
|
||||
|
||||
DELTA_STATUS_LANE .set 03h
|
||||
|
||||
*DELTA_SSTAT
|
||||
* 0 Regular Player-Windowed Behavior
|
||||
* 1 Ignore players movement
|
||||
*
|
||||
|
||||
|
||||
|
||||
*MODELS
|
||||
VETTE_MOD .set 0
|
||||
HOTROD_MOD .set 1
|
||||
BULLET_MOD .set 2
|
||||
TESTOR_MOD .set 3
|
||||
|
||||
GTRUCK_MOD .set 4
|
||||
FTRUCK_MOD .set 5
|
||||
CBUS_MOD .set 6
|
||||
COPCAR_MOD .set 7
|
||||
MUSCLE_MOD .set 8
|
||||
CARAVAN_MOD .set 9
|
||||
SBUS_MOD .set 10
|
||||
PTRUCKG_MOD .set 11
|
||||
MUSTANG_MOD .set 12
|
||||
;**reserved .set 13
|
||||
JEEP_MOD .set 14
|
||||
PLYR_COPCAR_MOD .set 15
|
||||
PLYR_GTRUCK_MOD .set 16
|
||||
PLYR_SBUS_MOD .set 17
|
||||
|
|
@ -0,0 +1,327 @@
|
|||
*DIAG.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
|
||||
|
||||
COL_WHITE .set 1
|
||||
COL_GREY .set 2
|
||||
COL_RED .set 3
|
||||
COL_GREEN .set 4
|
||||
COL_BLUE .set 5 ;paled for sky
|
||||
COL_YELLOW .set 6
|
||||
COL_CYAN .set 7
|
||||
COL_BLACK .set 8
|
||||
COL_TBLUE .set 9
|
||||
COL_AMBER .set 10
|
||||
COL_DGREY .set 11
|
||||
COL_LGREY .set 12
|
||||
COL_LGREY2 .set 13
|
||||
COL_LGREY3 .set 14
|
||||
COL_VDGREY .set 15
|
||||
;COL_VDGREY .set 2
|
||||
DEFAULT_COLOR .set COL_VDGREY
|
||||
;DEFAULT_COLOR .set COL_GREY
|
||||
|
||||
|
||||
|
||||
;WT_START .MACRO
|
||||
;wt67?
|
||||
;; CALL DIAG_ACTIVEP
|
||||
; LDI @_newbut,R0
|
||||
; TSTB SW_DIAG,R0
|
||||
; BNZ wt67?
|
||||
; .ENDM
|
||||
;
|
||||
;WT_NSTART .MACRO
|
||||
;wt67?
|
||||
;; CALL DIAG_ACTIVEP
|
||||
; LDI @_newbut,R0
|
||||
; TSTB SW_DIAG,R0
|
||||
; BZ wt67?
|
||||
; .ENDM
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
;BEEP .MACRO
|
||||
; LDI 980,AR2
|
||||
; CALL SENDSND
|
||||
; .ENDM
|
||||
|
||||
;KEYPAUSE .MACRO
|
||||
;WL1? CALL DIAG_ACTIVEP
|
||||
;; LDP @_newbut
|
||||
; NOT @_newbut,R0
|
||||
; AND SW_DIAG,R0
|
||||
; BZ WL1?
|
||||
;WL2?
|
||||
;; LDP @_newbut
|
||||
; ; NOT @_newbut,R0
|
||||
; ; AND SW_DIAG,R0
|
||||
; ;; BNZ WL2?
|
||||
; .ENDM
|
||||
|
||||
WAIT_MAC_NOREPEAT .MACRO
|
||||
wt? LDI @_newbut,R0
|
||||
AND SW_VOLPLUS|SW_VOLMINUS|SW_DIAG,R0
|
||||
CMPI SW_VOLPLUS|SW_VOLMINUS|SW_DIAG,R0
|
||||
BNE wt?
|
||||
.ENDM
|
||||
|
||||
|
||||
WAIT_MAC .MACRO
|
||||
|
||||
PUSH R1
|
||||
LDI 5000,R1
|
||||
MPYI 55,R1
|
||||
|
||||
wt?
|
||||
DEC R1
|
||||
BLT wtt?
|
||||
|
||||
LDI @_newbut,R0
|
||||
AND SW_VOLPLUS|SW_VOLMINUS,R0
|
||||
CMPI SW_VOLPLUS|SW_VOLMINUS,R0
|
||||
BNE wt?
|
||||
wtt?
|
||||
POP R1
|
||||
.ENDM
|
||||
|
||||
LINE .MACRO X1,Y1,X2,Y2,COLOR
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI :COLOR:,RS
|
||||
CALL _line
|
||||
.ENDM
|
||||
|
||||
FILL .MACRO X1,Y1,X2,Y2,COLOR
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI :COLOR:,RS
|
||||
CALL _fill
|
||||
.ENDM
|
||||
|
||||
|
||||
FILLW .MACRO X1,Y1,W,H,COLOR
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X1:+:W:,R3
|
||||
LDI :Y1:+:H:,RC
|
||||
LDI :COLOR:,RS
|
||||
CALL _fill
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
.globl MAKE_WINDOW
|
||||
WINDOW .MACRO X1,Y1,X2,Y2
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
.globl MAKE_WINDOW
|
||||
CALL MAKE_WINDOW
|
||||
; LDI COL_LGREY,RS
|
||||
; CALL _fill
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y1:,RC
|
||||
; LDI COL_LGREY2,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X1:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_LGREY2,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X2:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_DGREY,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y2:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_DGREY,RS
|
||||
; CALL _line
|
||||
.ENDM
|
||||
|
||||
|
||||
IWINDOW .MACRO X1,Y1,X2,Y2
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
.globl MAKE_IWINDOW
|
||||
CALL MAKE_IWINDOW
|
||||
; LDI COL_LGREY,RS
|
||||
; CALL _fill
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y1:,RC
|
||||
; LDI COL_DGREY,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X1:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_DGREY,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X2:,AR2
|
||||
; LDI :Y1:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_LGREY2,RS
|
||||
; CALL _line
|
||||
;
|
||||
; LDI :X1:,AR2
|
||||
; LDI :Y2:,R2
|
||||
; LDI :X2:,R3
|
||||
; LDI :Y2:,RC
|
||||
; LDI COL_LGREY2,RS
|
||||
; CALL _line
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
IWINFR .MACRO X1,Y1,X2,Y2
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y1:,RC
|
||||
; .globl MAKE_IWINFR
|
||||
; CALL MAKE_IWINFR
|
||||
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X1:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
|
||||
LDI :X2:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
|
||||
LDI :X1:,AR2
|
||||
LDI :Y2:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
|
||||
PIXEL .MACRO X,Y,COLOR
|
||||
LDI :X:,AR2
|
||||
LDI :Y:,R2
|
||||
LDI :COLOR:,R3
|
||||
CALL _pixel
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
GROUP .MACRO X1,Y1,X2,Y2
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y1:,RC
|
||||
; .globl MAKE_GROUP
|
||||
; CALL MAKE_GROUP
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
LDI :X1:+1,AR2
|
||||
LDI :Y1:+1,R2
|
||||
LDI :X2:-1,R3
|
||||
LDI :Y1:+1,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
|
||||
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X1:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
LDI :X1:+1,AR2
|
||||
LDI :Y1:+1,R2
|
||||
LDI :X1:+1,R3
|
||||
LDI :Y2:-1,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
|
||||
|
||||
LDI :X2:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
LDI :X2:-1,AR2
|
||||
LDI :Y1:+1,R2
|
||||
LDI :X2:-1,R3
|
||||
LDI :Y2:-1,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
|
||||
LDI :X1:+1,AR2
|
||||
LDI :Y2:,R2
|
||||
LDI :X2:-1,R3
|
||||
LDI :Y2:,RC
|
||||
LDI COL_LGREY2,RS
|
||||
CALL _line
|
||||
LDI :X1:+2,AR2
|
||||
LDI :Y2:-1,R2
|
||||
LDI :X2:-2,R3
|
||||
LDI :Y2:-1,RC
|
||||
LDI COL_DGREY,RS
|
||||
CALL _line
|
||||
.ENDM
|
||||
|
||||
RECT .MACRO X1,Y1,X2,Y2,COLOR
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI :COLOR:,RS
|
||||
CALL _rectangle
|
||||
.ENDM
|
||||
|
||||
|
||||
RECTW .MACRO X1,Y1,W,H,COLOR
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X1:+:W:,R3
|
||||
LDI :Y1:+:H:,RC
|
||||
LDI :COLOR:,RS
|
||||
CALL _rectangle
|
||||
.ENDM
|
||||
|
||||
|
|
@ -0,0 +1,71 @@
|
|||
*DIRQ.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*
|
||||
*ALL INTERNAL RAM VARIABLES MUST BE DEFINED HERE, THIS .EQU IS NOT
|
||||
*AUTOMATICALLY INCLUDED IN FILES (ALPHA.H) THEREFORE TO REFERENCE
|
||||
*THESE VARIABLES YOU MUST ACTUALLY INCLUDE THIS FILE, OR ASSUME
|
||||
*THAT THESE VARIABLES ARE EXTERNAL. - THE ONLY PROBLEM WITH ASSUMING
|
||||
*EXTERNAL VARIABLES IS THAT YOU CAN NOT USE AN EXTERNAL VARIABLE IN
|
||||
*A .SET STATEMENT.
|
||||
*
|
||||
|
||||
|
||||
*
|
||||
*INTERNAL RAM VARIABLES
|
||||
*
|
||||
|
||||
_CAMERAPOS .set RAM0+0 ;1x3 Camera position vector (floating point)
|
||||
_CAMERAVEL .set RAM0+3 ;1x3 Camera velocity vector
|
||||
_CAMERARAD .set RAM0+6 ;1x3 Camera radians vector
|
||||
_CAMERAMATRIX .set RAM0+9 ;3x3 Camera rotation matrix
|
||||
_LIGHT .set RAM0+18 ;1x3 universe illumination vector
|
||||
|
||||
;DIRQ PERCULIARITIES
|
||||
;
|
||||
TMPMAT .set RAM0+21 ;1x3 temp vector
|
||||
ROTATION_MATRIX .set RAM0+24 ;3x3 translator matrix
|
||||
TRANSVECTOR .set RAM0+33 ;1x3 translator vector
|
||||
LOCTEMPER_MAT .set RAM0+36 ;3x3 scratch matrix for other routines
|
||||
POSTERMATRIX .set RAM0+45 ;3x3 poster style matrix (X/Z) else Frnt face
|
||||
|
||||
;USER SPACE
|
||||
;temporary user scratch space
|
||||
;NOT intended for system use.
|
||||
;
|
||||
_MATRIXA .set RAM0+55 ;3x3 these are three 3x3 scratch matrixes
|
||||
_MATRIXB .set RAM0+65 ;3x3 they may NOT be used by any routine
|
||||
_MATRIXC .set RAM0+75 ;3x3 called via the interrupt
|
||||
_VECTORA .set RAM0+85 ;1x3 ditto here except 1x3s
|
||||
_VECTORB .set RAM0+90 ;1x3
|
||||
_VECTORC .set RAM0+95 ;1x3
|
||||
_VECTORD .set RAM0+100 ;1x3
|
||||
|
||||
|
||||
|
||||
CLIPRAM .set RAM0+137 ;(320w) RECURSIVE CLIP STACK(320 WORDS)
|
||||
CLIPRAML .set 320
|
||||
CLIPLIM .set RAM0+137+320-80 ;
|
||||
|
||||
;next_entry unknown .set RAM0+473+-??? ;(551 ??? remain)
|
||||
|
||||
;
|
||||
;RAM0+512 to RAM0+1023
|
||||
;is now reserved for use in FBSS space
|
||||
;see mac.equ FBSS .macro definition for use, basically to allocate a space
|
||||
;in ON-CHIP RAM use the example
|
||||
; FBSS symbolname,size
|
||||
;
|
||||
|
||||
;
|
||||
;insert new variable definitions here
|
||||
;
|
||||
|
||||
*EACH RAM BLOCK HAS 1024 WORDS
|
||||
|
||||
FASTSTK .set RAM1 ;256 WORDS
|
||||
BLOWLIST .set RAM1+256 ;TRANSFORMED POINTS STORED (256 vertices) (768 WORDS)
|
||||
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
pcomp corn -s -m
|
||||
move objects.asm cornobj.asm
|
||||
move objects.equ cornobj.equ
|
File diff suppressed because it is too large
Load Diff
|
@ -0,0 +1,444 @@
|
|||
.FILE "EFFECTS.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include SYSID.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include OBJECTS.EQU
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*ADVANCED FEATURES
|
||||
*
|
||||
*it would be best to do open and close via the same process
|
||||
*also, sideways wipes // or \\ up, down, left or right can be specified
|
||||
*via on word ala:
|
||||
*
|
||||
* SCW_OPEN .set 0
|
||||
* SCW_CLOSE .set 1
|
||||
* SCW_L .set 10h ;these specifiy the
|
||||
* SCW_R .set 20h ;single panels
|
||||
* SCW_T .set 40h ;
|
||||
* SCW_B .set 80h ;
|
||||
*
|
||||
*for convience:
|
||||
* SCW_OPEN_H .set 030h
|
||||
* SCW_CLOSE_H .set 031h
|
||||
* SCW_OPEN_V .set 0C0h
|
||||
* SCW_CLOSE_V .set 0C1h
|
||||
*
|
||||
*also can be added: (S = straight instead of diagonal)
|
||||
*
|
||||
* SCW_LS .set 12h ;these specifiy the
|
||||
* SCW_RS .set 22h ;single panels
|
||||
* SCW_TS .set 42h ;
|
||||
* SCW_BS .set 82h ;
|
||||
*
|
||||
*
|
||||
*these parameters would be encoded into AR2 when calling SCREEN_WIPE
|
||||
*and from there it would be moved to AR6, and checked each tik.
|
||||
*
|
||||
|
||||
|
||||
MONKEYOBJRVI .word mnkrv
|
||||
MONKEYOBJLVI .word mnklv
|
||||
MONKEYOBJUHI .word mnkuh
|
||||
MONKEYOBJLHI .word mnklh
|
||||
|
||||
|
||||
|
||||
.bss SCREENWIPE_DONE,1
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
SCREENWIPE_OPEN:
|
||||
CLRI R0
|
||||
STPI R0,@SCREENWIPE_DONE
|
||||
CREATEC SCREENWIPE_OPEN_PRC,UTIL_C|MONKEY_T
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
SCREENWIPE_CLOSE:
|
||||
CLRI R0
|
||||
STPI R0,@SCREENWIPE_DONE
|
||||
CREATE SCREENWIPE_CLOSE_PRC,UTIL_C|MONKEY_T
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
SCREENWIPE_OPEN_PRC_FAST:
|
||||
|
||||
LONGROUT
|
||||
LDF 1.9,R0
|
||||
BR L55
|
||||
|
||||
.text
|
||||
|
||||
SCREENWIPE_OPEN_PRC:
|
||||
|
||||
LONGROUT
|
||||
|
||||
LDF 1.1,R0
|
||||
L55 STF R0,*+AR7(PDATA+7)
|
||||
|
||||
CALL GET_EFFECTS_OBJS
|
||||
|
||||
|
||||
SLEEP 19
|
||||
|
||||
LDI 64,AR5
|
||||
CLRF R6
|
||||
LDF 2,R7
|
||||
SWCL1
|
||||
|
||||
MPYF *+AR7(PDATA+7),R7
|
||||
; MPYF 1.1,R7
|
||||
|
||||
ADDF 0.2,R6
|
||||
LDF R6,R2
|
||||
LDPI @MATRIXAI,AR2
|
||||
CALL FIND_ZMATRIX
|
||||
|
||||
|
||||
LDI *+AR7(PDATA),AR0
|
||||
LDF *+AR0(OUSR1),R0
|
||||
ADDF R7,R0
|
||||
STF R0,*+AR0(OUSR1)
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+1),AR0
|
||||
LDF *+AR0(OUSR1),R0
|
||||
SUBF R7,R0
|
||||
STF R0,*+AR0(OUSR1)
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDPI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+2),AR0
|
||||
LDF *+AR0(OUSR2),R0
|
||||
SUBF R7,R0
|
||||
STF R0,*+AR0(OUSR2)
|
||||
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+3),AR0
|
||||
LDF *+AR0(OUSR2),R0
|
||||
ADDF R7,R0
|
||||
STF R0,*+AR0(OUSR2)
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,SWCL1
|
||||
|
||||
|
||||
LDI *+AR7(PDATA),AR2
|
||||
CALL OBJ_DELETE
|
||||
LDI *+AR7(PDATA+1),AR2
|
||||
CALL OBJ_DELETE
|
||||
LDI *+AR7(PDATA+2),AR2
|
||||
CALL OBJ_DELETE
|
||||
LDI *+AR7(PDATA+3),AR2
|
||||
CALL OBJ_DELETE
|
||||
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@SCREENWIPE_DONE
|
||||
DIE
|
||||
|
||||
END_LONGROUT
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
SCREENWIPE_CLOSE_PRC:
|
||||
|
||||
LONGROUT
|
||||
|
||||
CALL GET_EFFECTS_OBJS
|
||||
|
||||
LDI 100,AR5
|
||||
|
||||
LDF 12.8,R6
|
||||
LDLFH 28530.66038,R7
|
||||
|
||||
|
||||
SWCL1C
|
||||
|
||||
MPYF 0.91,R7
|
||||
|
||||
SUBF 0.2,R6
|
||||
LDF R6,R2
|
||||
LDI @MATRIXAI,AR2
|
||||
CALL FIND_ZMATRIX
|
||||
|
||||
|
||||
LDI *+AR7(PDATA),AR0
|
||||
STF R7,*+AR0(OUSR1)
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+1),AR0
|
||||
NEGF R7,R0
|
||||
STF R0,*+AR0(OUSR1)
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+2),AR0
|
||||
NEGF R7,R0
|
||||
STF R0,*+AR0(OUSR2)
|
||||
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
|
||||
|
||||
LDI *+AR7(PDATA+3),AR0
|
||||
STF R7,*+AR0(OUSR2)
|
||||
|
||||
|
||||
LDI AR0,AR2
|
||||
ADDI OUSR1,AR2
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
LDI AR0,AR1
|
||||
ADDI OMATRIX,AR1
|
||||
LDI R2,AR0
|
||||
LDI 8,RC
|
||||
CALL MEMCPY
|
||||
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,SWCL1C
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@SCREENWIPE_DONE
|
||||
DIE
|
||||
|
||||
END_LONGROUT
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
GET_EFFECTS_OBJS:
|
||||
|
||||
LONGROUT
|
||||
|
||||
|
||||
LDI @MONKEYOBJRVI,AR1
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
LDLH O_3DROT|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
STI AR0,*+AR7(PDATA)
|
||||
STI AR1,*+AR4(OROMDATA)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDF *+AR4(OPOSY),R0
|
||||
STF R0,*+AR4(OUSR2)
|
||||
LDF *+AR4(OPOSZ),R0
|
||||
STF R0,*+AR4(OUSR3)
|
||||
|
||||
|
||||
LDI @MONKEYOBJLVI,AR1
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
LDLH O_3DROT|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
STI AR0,*+AR7(PDATA+1)
|
||||
STI AR1,*+AR4(OROMDATA)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
LDI AR0,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDF *+AR4(OPOSY),R0
|
||||
STF R0,*+AR4(OUSR2)
|
||||
LDF *+AR4(OPOSZ),R0
|
||||
STF R0,*+AR4(OUSR3)
|
||||
|
||||
|
||||
|
||||
LDI @MONKEYOBJUHI,AR1
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
LDLH O_3DROT|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
STI AR0,*+AR7(PDATA+2)
|
||||
STI AR1,*+AR4(OROMDATA)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDF *+AR4(OPOSY),R0
|
||||
STF R0,*+AR4(OUSR2)
|
||||
LDF *+AR4(OPOSZ),R0
|
||||
STF R0,*+AR4(OUSR3)
|
||||
|
||||
|
||||
|
||||
|
||||
LDI @MONKEYOBJLHI,AR1
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
LDLH O_3DROT|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
STI AR0,*+AR7(PDATA+3)
|
||||
STI AR1,*+AR4(OROMDATA)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
STF R0,*+AR4(OUSR1)
|
||||
LDF *+AR4(OPOSY),R0
|
||||
STF R0,*+AR4(OUSR2)
|
||||
LDF *+AR4(OPOSZ),R0
|
||||
STF R0,*+AR4(OUSR3)
|
||||
RETS
|
||||
|
||||
END_LONGROUT
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*MEMCPY
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR0 SOURCE POINTER
|
||||
* AR1 DEST POINTER
|
||||
* RC LENGTH -1
|
||||
*
|
||||
MEMCPY:
|
||||
LONGROUT
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH R0
|
||||
|
||||
RPTB MEMCPYL
|
||||
LDI *AR0++,R0
|
||||
MEMCPYL STI R0,*AR1++
|
||||
|
||||
POP R0
|
||||
POP AR1
|
||||
POP AR0
|
||||
RETS
|
||||
END_LONGROUT
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,359 @@
|
|||
.FILE "ERROR.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
.include DIAG.EQU
|
||||
.include ERROR.EQU
|
||||
|
||||
|
||||
*STRUCT ERROR
|
||||
ERR_PROC_ID .set 0
|
||||
ERR_WAKE_ADDR .set 1
|
||||
ERR_DP .set 2
|
||||
ERR_SP .set 3
|
||||
ERR_AR0 .set 4
|
||||
ERR_AR1 .set 5
|
||||
ERR_AR2 .set 6
|
||||
ERR_AR3 .set 7 ;USING AS *+AR2(OID)
|
||||
ERR_AR4 .set 8
|
||||
ERR_AR5 .set 9 ;USING AS _MODE
|
||||
ERR_AR6 .set 10 ;USING AS *+AR2(PID)
|
||||
ERR_AR7 .set 11
|
||||
ERR_AR4_OID .set 12
|
||||
ERR_RACENUM .set 13
|
||||
ERR_UNFINISHED_GAME .set 14
|
||||
ERR_CLOSETRAK .set 15
|
||||
*ENDSTRUCT
|
||||
ERR_SIZE .set 16
|
||||
|
||||
MAX_LOGS .set 30
|
||||
|
||||
|
||||
PSS_AR7 .set 0
|
||||
PSS_AR6 .set 1
|
||||
PSS_AR5 .set 2
|
||||
PSS_AR4 .set 3
|
||||
PSS_AR3 .set 4
|
||||
PSS_AR2 .set 5
|
||||
PSS_AR1 .set 6
|
||||
PSS_AR0 .set 7
|
||||
PSS_DP .set 8
|
||||
PSS_SP .set 9
|
||||
PSS_R0 .set 10
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
ERROR_LOG:
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH R4
|
||||
PUSH R0
|
||||
|
||||
PUSH R0
|
||||
PUSH DP
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH AR3
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
PUSH AR6
|
||||
PUSH AR7
|
||||
|
||||
LDI SP,AR3 ;SAVE FRAME POINTER!! (all regs saved)
|
||||
|
||||
SETDP
|
||||
READAUD AUD_LOG_COUNT
|
||||
INC R0
|
||||
CMPI MAX_LOGS-1,R0
|
||||
BGE ERROR_X
|
||||
|
||||
LDI R0,R2
|
||||
SETAUD AUD_LOG_COUNT
|
||||
DEC R0
|
||||
MPYI ERR_SIZE*4,R0 ;ERR_SIZE * CMOS_WORD_SIZE
|
||||
LDI R0,AR2
|
||||
|
||||
ADDI RACE_TABLE_SIZE*NUM_RACES+NUM_RACES,AR2
|
||||
ADDI MAX_AUDITS*4,AR2
|
||||
ADDI @CMOSI,AR2
|
||||
|
||||
LDI *-AR3(PSS_R0),R2 ;ERROR TYPE
|
||||
CALL _wr_cw
|
||||
LDI @CURRENT_PROC,AR0
|
||||
LDI *+AR0(PWAKE),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI *-AR3(PSS_DP),R2
|
||||
CALL _wr_cw
|
||||
LDI *-AR3(PSS_SP),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI *-AR3(PSS_AR0),R2
|
||||
CALL _wr_cw
|
||||
LDI *-AR3(PSS_AR1),R2
|
||||
CALL _wr_cw
|
||||
LDI *-AR3(PSS_AR2),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI *-AR3(PSS_AR2),AR0
|
||||
LDI *+AR0(OID),R2
|
||||
; LDI *-AR3(PSS_AR3),R2
|
||||
CALL _wr_cw
|
||||
LDI *-AR3(PSS_AR4),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI @_MODE,R2
|
||||
; LDI *-AR3(PSS_AR5),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI *-AR3(PSS_AR2),AR0
|
||||
LDI *+AR0(PID),R2
|
||||
; LDI *-AR3(PSS_AR6),R2
|
||||
CALL _wr_cw
|
||||
LDI *-AR3(PSS_AR7),R2
|
||||
CALL _wr_cw
|
||||
|
||||
LDI @CURRENT_PROC,AR0
|
||||
LDI *+AR0(PID),R2
|
||||
CALL _wr_cw
|
||||
|
||||
PUSH AR2
|
||||
READAUD AUD_GAMENUMBER
|
||||
POP AR2
|
||||
LDI R0,R2
|
||||
CALL _wr_cw
|
||||
|
||||
PUSH AR2
|
||||
READAUD AUD_NUM_UNFINISHED
|
||||
POP AR2
|
||||
LDI R0,R2
|
||||
CALL _wr_cw
|
||||
|
||||
PUSH AR2
|
||||
LDI @PLYCAR,AR2
|
||||
LDI *+AR2(CARTRAK),AR2
|
||||
LDI *+AR2(OUSR1),R2
|
||||
POP AR2
|
||||
CALL _wr_cw
|
||||
|
||||
ERROR_X
|
||||
POP AR7
|
||||
POP AR6
|
||||
POP AR5
|
||||
POP AR4
|
||||
POP AR3
|
||||
POP AR2
|
||||
POP AR1
|
||||
POP AR0
|
||||
POP DP
|
||||
POP R0
|
||||
|
||||
POP R0
|
||||
POP R4
|
||||
POP R3
|
||||
POP R2
|
||||
POP R1
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*TO BE REACHED VIA THE CONSOLE (NO SWITCHES)
|
||||
*
|
||||
* ONCE ENTERED, USER MUST SCROLL THROUGH ALL
|
||||
* OF THE LOGS. ROUTINE THEN RETURNS.
|
||||
*
|
||||
*
|
||||
ERROR_LOG_DISPLAY:
|
||||
CALL CLRSCRN
|
||||
CALL SETPAGE0
|
||||
|
||||
LDIL SCREEN0,R0 ;set active screen to 1 (writeable)
|
||||
STI R0,@ACTIVE_SCREEN
|
||||
|
||||
LDI COL_VDGREY,RC
|
||||
TEXTITT "VIEW 1 TO EXIT",10,310
|
||||
TEXTITT "VIEW 3 NEXT PAGE",10,320
|
||||
TEXTITT "VIEW 3 + VIEW 2 + VIEW 1 CLEAR LOG",10,330
|
||||
|
||||
|
||||
|
||||
ERRLOG_D
|
||||
LDI RACE_TABLE_SIZE*NUM_RACES+NUM_RACES,AR2
|
||||
ADDI MAX_AUDITS*4,AR2
|
||||
ADDI @CMOSI,AR2
|
||||
CLRI AR6
|
||||
|
||||
NEXT_PAGE
|
||||
PUSH AR2
|
||||
IWINDOW 5,35,510,295
|
||||
; FILL 10,40,510,300,0
|
||||
POP AR2
|
||||
|
||||
PUSH AR2
|
||||
READAUD AUD_LOG_COUNT
|
||||
POP AR2
|
||||
CMPI 0,R0
|
||||
BGT ERRLOG_D2
|
||||
TEXTITT "NO ERRORS",10,50
|
||||
ERRLOG_D2
|
||||
|
||||
LDI 5,R4
|
||||
LDI 10,R6
|
||||
LDI 50,R7
|
||||
BIGLOOP
|
||||
PUSH AR2
|
||||
READAUD AUD_LOG_COUNT
|
||||
POP AR2
|
||||
CMPI R0,AR6
|
||||
BEQ LLPPT
|
||||
|
||||
CMPI 0,R0
|
||||
BEQ LLPPT
|
||||
|
||||
CMPI MAX_LOGS,AR6
|
||||
BGE ERRLOG_D
|
||||
|
||||
|
||||
PUSH AR2
|
||||
|
||||
.globl OBJSTRI
|
||||
LDI @OBJSTRI,AR2
|
||||
LDI AR6,R2
|
||||
INC R2
|
||||
CALL _itoa
|
||||
LDI 135,R2
|
||||
LDI R7,R3
|
||||
SUBI 10,R3
|
||||
LDI @OBJSTRI,AR2
|
||||
LDI DEFAULT_COLOR,RC
|
||||
CALL _outtextxyc
|
||||
|
||||
.data
|
||||
TIBO .string "LOG",0
|
||||
.text
|
||||
|
||||
LDI 100,R2
|
||||
LDI R7,R3
|
||||
SUBI 10,R3
|
||||
LDL TIBO,AR2
|
||||
LDI DEFAULT_COLOR,RC
|
||||
CALL _outtextxyc
|
||||
|
||||
POP AR2
|
||||
|
||||
|
||||
|
||||
;R6 X Position
|
||||
;R7 Y Height
|
||||
;
|
||||
|
||||
LDI ERR_SIZE-1,AR5
|
||||
ONE_LOG
|
||||
CALL _rd_cw
|
||||
LDI R0,R2
|
||||
|
||||
PUSH AR2
|
||||
|
||||
.globl OBJSTRI
|
||||
LDI @OBJSTRI,AR2
|
||||
CALL HEX2ASC
|
||||
|
||||
LDI R6,R2
|
||||
LDI R7,R3
|
||||
LDI @OBJSTRI,AR2
|
||||
LDI DEFAULT_COLOR,RC
|
||||
CALL _outtextxyc
|
||||
POP AR2
|
||||
|
||||
ADDI 70,R6
|
||||
CMPI 450,R6
|
||||
BLT ION
|
||||
LDI 10,R6
|
||||
ADDI 10,R7
|
||||
ION DBU AR5,ONE_LOG
|
||||
|
||||
LDI 10,R6
|
||||
ADDI 20,R7
|
||||
|
||||
INC AR6
|
||||
|
||||
DEC R4
|
||||
BLT LLPPT
|
||||
BU BIGLOOP
|
||||
|
||||
|
||||
|
||||
LLPPT
|
||||
CALL WAIT_FOR_VBLANK
|
||||
|
||||
|
||||
|
||||
LDI @_newbut,R1 ;debounce
|
||||
TSTB SW_DIAG,R1 ;start to return to main
|
||||
BZ BOOKX
|
||||
|
||||
RS 16,R1
|
||||
|
||||
LDI R1,R0
|
||||
AND SW_VIEW1_H|SW_VIEW0_H|SW_VIEW2_H,R0
|
||||
; CMPI SW_VIEW1_H|SW_VIEW0_H|SW_VIEW2_H,R0
|
||||
BNE NOCLEAR
|
||||
CLRI R2
|
||||
SETAUD AUD_LOG_COUNT
|
||||
CALL WAIT_FOR_VBLANK
|
||||
CALL WAIT_FOR_VBLANK
|
||||
CALL WAIT_FOR_VBLANK
|
||||
BU ERROR_LOG_DISPLAY
|
||||
NOCLEAR
|
||||
|
||||
|
||||
TSTB SW_VIEW2_H,R1
|
||||
BNZ NOT_NEXT_PAGE
|
||||
|
||||
PUSH AR2
|
||||
READAUD AUD_LOG_COUNT
|
||||
POP AR2
|
||||
CMPI R0,AR6
|
||||
BGE ERRLOG_D
|
||||
|
||||
BU NEXT_PAGE
|
||||
NOT_NEXT_PAGE
|
||||
|
||||
TSTB SW_VIEW0_H,R1
|
||||
BZ BOOKX2
|
||||
BU LLPPT
|
||||
|
||||
|
||||
BOOKX2 LDI @_newbut,R1 ;debounce
|
||||
RS 16,R1
|
||||
TSTB SW_VIEW0_H,R1 ;start to return to main
|
||||
BNZ BOOKX2
|
||||
RETS
|
||||
|
||||
|
||||
BOOKX NOT @_newbut,R0
|
||||
AND SW_DIAG,R0
|
||||
BNZ BOOKX
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,44 @@
|
|||
*ERROR.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
.globl ERROR_LOG
|
||||
.globl ERROR_LOG_DISPLAY
|
||||
|
||||
|
||||
|
||||
*ERROR CODE IDS
|
||||
*
|
||||
*ID = xxxxCCTS
|
||||
*
|
||||
* x unused
|
||||
* C class
|
||||
* T type
|
||||
* S subtype
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
|
||||
EC_MASK .set 0FF00h
|
||||
ET_MASK .set 000F0h
|
||||
ES_MASK .set 0000Fh
|
||||
|
||||
|
||||
EC_OBJ .set 00100h
|
||||
ET_ALLOC .set 00010h
|
||||
ET_DELETE .set 00020h
|
||||
|
||||
EC_PROC .set 00200h
|
||||
EC_COLL .set 00300h
|
||||
EC_PALL .set 00400h
|
||||
EC_BGND .set 00500h
|
||||
EC_WATCHDOG .set 00600h
|
||||
EC_UNFINISHED .set 00700h
|
||||
EC_WATCHDOG2 .set 00800h ;reset triggered by > 100 frames (CUSA.ASM)
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,289 @@
|
|||
.FILE "FLAME.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
.data
|
||||
FLAMEANII .word FLAMEANI
|
||||
FLAME_POSI .word FLAME_POS
|
||||
|
||||
.SECT "THEDATA"
|
||||
FLAME_POS
|
||||
.word 180,87,-450 ;Vette
|
||||
.word 130,105,-586 ;Coope
|
||||
.word 140,107,-460 ;Missle
|
||||
.word 160,70,-460 ;Ferrari
|
||||
.word 180,87,-450 ;JEEP
|
||||
.word 190,87,-650 ;SBUSP
|
||||
.word 160,155,-500 ;COPCAR
|
||||
|
||||
FLAMEANI
|
||||
.word sparc1,sparc3,sparc5,sparc7,sparc9,sparc7
|
||||
.word sparc5,sparc3,sparc1,-1
|
||||
|
||||
.text
|
||||
*----------------------------------------------------------------------------
|
||||
* FLAME PROC
|
||||
*
|
||||
FRAME_ON .set PDATA+1
|
||||
CARBODY_MATRIX .set PDATA+2
|
||||
|
||||
FLAME_PRC:
|
||||
LDI PLYR_C|PLYR_FLAMES_S,AR2
|
||||
CALL OBJ_FIND_FIRST
|
||||
BC FLAME_DIE ;Only one set of flames at a time
|
||||
|
||||
LDI PLYR_C,AR2
|
||||
CALL OBJ_FIND_FIRST
|
||||
BNC FLAME_DIE ;IF there is no player object then bail.
|
||||
LDI AR0,AR6
|
||||
LDI *+AR0(OCARBLK),AR1
|
||||
LDI *+AR1(CAR_SPIN),R0
|
||||
BNZ FLAME_DIE ;YES, the no flames
|
||||
|
||||
LDI AR0,AR2
|
||||
CALL GETCARBODY
|
||||
|
||||
STI AR0,*+AR7(CARBODY_MATRIX)
|
||||
|
||||
LDI 0,R0
|
||||
STI R0,*+AR7(FRAME_ON) ;Reset animation counter
|
||||
CALL OBJ_GET
|
||||
BC FLAME_DIE
|
||||
LDI AR0,AR4 ;Left flame
|
||||
|
||||
; LDI @CHOSEN_VEHICLE,R0
|
||||
LDI @CHOOSENCAR,R0
|
||||
MPYI 3,R0
|
||||
ADDI @FLAME_POSI,R0
|
||||
LDI R0,AR0
|
||||
FLOAT *+AR0(X),R1
|
||||
FLOAT *+AR0(Y),R2
|
||||
FLOAT *+AR0(Z),R3
|
||||
STF R1,*+AR4(OVELX)
|
||||
STF R2,*+AR4(OVELY)
|
||||
STF R3,*+AR4(OVELZ)
|
||||
|
||||
LDI PLYR_C|PLYR_FLAMES_S,R0
|
||||
STI R0,*+AR4(OID)
|
||||
|
||||
|
||||
CALL OBJ_GET
|
||||
BC FLAME_DIE
|
||||
LDI AR0,AR5 ;Right frame
|
||||
LDF PI,R0
|
||||
STF R0,*+AR5(ORADY)
|
||||
FLOAT 180,R0
|
||||
NEGF R1 ;opposite side
|
||||
STF R1,*+AR5(OVELX)
|
||||
STF R2,*+AR5(OVELY)
|
||||
STF R3,*+AR5(OVELZ)
|
||||
LDI PLYR_C|PLYR_FLAMES_S,R0
|
||||
STI R0,*+AR5(OID)
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERT
|
||||
LDI AR5,AR2
|
||||
CALL OBJ_INSERT
|
||||
|
||||
LDI 9-1,R5
|
||||
FLAME_ANI_LOOP
|
||||
LDI *+AR6(OCARBLK),AR1
|
||||
LDI *+AR1(CAR_SPIN),R0
|
||||
BNZ FLAME_ANIX ;YES, the kill the flames
|
||||
|
||||
LDI *+AR7(CARBODY_MATRIX),AR2
|
||||
LDI AR6,R2
|
||||
ADDI OMATRIX,R2
|
||||
LDI @MATRIXAI,R3
|
||||
CALL CONCATMATV
|
||||
|
||||
LDI @MATRIXAI,AR3
|
||||
LDI AR4,AR0
|
||||
LDI *+AR7(FRAME_ON),IR0
|
||||
LDI @FLAMEANII,AR1
|
||||
CALL animate_child
|
||||
|
||||
LDI @MATRIXAI,AR3
|
||||
LDI *+AR7(FRAME_ON),IR0
|
||||
LDI @FLAMEANII,AR1
|
||||
LDI AR5,AR0
|
||||
CALL animate_child
|
||||
STI R0,*+AR7(FRAME_ON)
|
||||
|
||||
SLEEP 1
|
||||
SUBI 1,R5
|
||||
BP FLAME_ANI_LOOP
|
||||
FLAME_ANIX
|
||||
LDI PLYR_C|PLYR_FLAMES_S,AR2
|
||||
CALL OBJ_FIND_FIRST
|
||||
BNC FLANX1
|
||||
LDI AR0,AR2
|
||||
CALL OBJ_DELETE
|
||||
BR FLAME_ANIX
|
||||
FLANX1
|
||||
|
||||
FLAME_DIE
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
*Input
|
||||
* AR0 = object to position and ani
|
||||
* OVELX/Y/Z = offset from parent
|
||||
* AR6 = object to position reletive to
|
||||
* AR1 = Animation list
|
||||
* IR0 = Frame on
|
||||
*OUTPUT
|
||||
* IR0 = Next frame
|
||||
*TRASHES AR2,R1,R2,R3
|
||||
|
||||
animate_child:
|
||||
;Set the Frame
|
||||
set_frame
|
||||
LDI *+AR1(IR0),R1
|
||||
LDIN 0,IR0
|
||||
BN set_frame
|
||||
ADDI 1,IR0
|
||||
STI R1,*+AR0(OROMDATA)
|
||||
PUSH IR0
|
||||
;Set the position reletive to the parent object.
|
||||
LDI AR3,R2
|
||||
LDI AR0,AR2
|
||||
ADDI OMATRIX,AR2
|
||||
CALL CPYMAT
|
||||
|
||||
LDI AR0,AR2 ;rotate the position reletive to parent
|
||||
ADDI OVELX,AR2
|
||||
LDI AR0,R2 ;Source 3X3
|
||||
ADDI OMATRIX,R2
|
||||
LDI AR0,R3 ;Dest 1X3
|
||||
ADDI OPOSX,R3
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDF *+AR6(OPOSX),R2 ;Set the position
|
||||
ADDF *+AR0(OPOSX),R2
|
||||
STF R2,*+AR0(OPOSX)
|
||||
|
||||
LDF *+AR6(OPOSY),R2
|
||||
ADDF *+AR0(OPOSY),R2
|
||||
STF R2,*+AR0(OPOSY)
|
||||
|
||||
LDF *+AR6(OPOSZ),R2
|
||||
ADDF *+AR0(OPOSZ),R2
|
||||
STF R2,*+AR0(OPOSZ)
|
||||
|
||||
LDI @MATRIXBI,AR2
|
||||
LDI AR0,R2
|
||||
ADDI ORADX,R2
|
||||
CALL FIND_MATRIX
|
||||
|
||||
LDI AR3,AR2
|
||||
LDI @MATRIXBI,R2
|
||||
LDI AR0,R3
|
||||
ADDI OMATRIX,R3
|
||||
CALL CONCATMATV
|
||||
|
||||
POP R0
|
||||
RETS
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*CALLED BY ZSORTWT in obj.asm just after the players car is linked in.
|
||||
*PUTS THE FLAMES JUST BEHIND THE PLAYERS CAR
|
||||
|
||||
FLAMESORT:
|
||||
LDI @OACTIVE,AR0
|
||||
CMPI 0,AR0
|
||||
BEQ FLMSORTX ;NO LIST... NO GO
|
||||
FLMSORT_LOOP
|
||||
LDI PLYR_C|PLYR_FLAMES_S,R1
|
||||
CALL FIND_NEXT_OBJ
|
||||
BC FLMSORTX
|
||||
LDI AR0,AR4
|
||||
CALL FIND_NEXT_OBJ
|
||||
BC FLMSORTX
|
||||
LDI AR0,AR5
|
||||
|
||||
LDI *+AR4(OFLAGS),R0 ;SAVE the flages
|
||||
LDI *+AR5(OFLAGS),R1 ;SAVE the flages
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_PULL
|
||||
LDI AR5,AR2
|
||||
CALL OBJ_PULL
|
||||
STI R0,*+AR4(OFLAGS) ;RESTORE the flags
|
||||
STI R1,*+AR5(OFLAGS) ;RESTORE the flags
|
||||
|
||||
LDI PLYR_C,AR2
|
||||
CALL OBJ_FIND_FIRST
|
||||
BNC FLMSORTX ;NO PLAYER?
|
||||
|
||||
STI AR5,*AR4 ;Link flame2 to flame1
|
||||
|
||||
LDI *AR0,R0 ;Get link to next object
|
||||
STI AR4,*AR0 ;link the flames to the players object
|
||||
STI R0,*AR5 ;link back in the object behind the player
|
||||
|
||||
FLMSORTX
|
||||
RETS
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*FIND THE MATRIX IN THE DYNALIST OF THE CAR POINTED TO BY AR2
|
||||
*INPUT AR2 = CARS OBJECT
|
||||
*OUTPUT AR0 = MATRIX OF THE BODY
|
||||
* SCRAMBLES R0,R1
|
||||
|
||||
GETCARBODY:
|
||||
LDI *+AR2(ODYNALIST),R0
|
||||
SLOCKON Z,"UTIL\CARPROC dynamic objects not found"
|
||||
FBLOOP
|
||||
LDI R0,AR0
|
||||
LDI *+AR0(DYNAFLAG),R1
|
||||
BZ FOUND_BODY ;0 = car body
|
||||
LDI *AR0,R0
|
||||
BR FBLOOP
|
||||
FOUND_BODY
|
||||
ADDI DYNAMATRIX,AR0
|
||||
RETS
|
||||
|
||||
FIND_NEXT_OBJ:
|
||||
PUSH R0
|
||||
PUSHF R0
|
||||
PUSH AR5
|
||||
|
||||
LDI *AR0,AR5
|
||||
|
||||
OFN LDI AR5,R0
|
||||
LDI R0,AR0
|
||||
BZ OFNX ;NONE FOUND. This routine is passive
|
||||
LDI *AR0,AR5
|
||||
LDI *+AR0(OID),R0
|
||||
CMPI R1,R0
|
||||
BNE OFN
|
||||
OFNX
|
||||
CLRC
|
||||
CMPI 0,AR0
|
||||
BNE OFNX1
|
||||
SETC
|
||||
OFNX1
|
||||
POP AR5
|
||||
POPF R0
|
||||
POP R0
|
||||
RETS
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,483 @@
|
|||
.FILE "FONT.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*FONT.ASM
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*SLOW ROM
|
||||
*
|
||||
|
||||
.def _font1
|
||||
|
||||
.sect "THEDATA"
|
||||
_font1
|
||||
.word 0001100b
|
||||
.word 0111000b
|
||||
.word 1110000b
|
||||
.word 1100000b
|
||||
.word 1110000b
|
||||
.word 0111000b
|
||||
.word 0001100b
|
||||
|
||||
.word 0011000b
|
||||
.word 0001110b
|
||||
.word 0000111b
|
||||
.word 0000011b
|
||||
.word 0000111b
|
||||
.word 0001110b
|
||||
.word 0011000b
|
||||
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
.word 0011000b
|
||||
.word 1111110b
|
||||
.word 0011000b
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
|
||||
.word 0000000b
|
||||
.word 0001000b
|
||||
.word 0001000b
|
||||
.word 0111110b
|
||||
.word 0001000b
|
||||
.word 0001000b
|
||||
.word 0000000b
|
||||
|
||||
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
|
||||
|
||||
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0111110b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
|
||||
.word 0000001b
|
||||
.word 0000011b
|
||||
.word 0000110b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
.word 1100000b
|
||||
|
||||
.word 0111100b ;0
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 0001100b
|
||||
.word 0011100b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 0000110b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
.word 1111110b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 0000110b
|
||||
.word 0011100b
|
||||
.word 0000110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 0100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
|
||||
.word 1111110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 0111100b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0111100b
|
||||
|
||||
.word 0111110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 1111110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
|
||||
.word 0111110b ;9
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
|
||||
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0000000b
|
||||
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0000000b
|
||||
.word 0001100b
|
||||
.word 0001100b
|
||||
.word 0000100b
|
||||
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
.word 1100000b
|
||||
.word 0110000b
|
||||
.word 0011000b
|
||||
.word 0001100b
|
||||
|
||||
.word 0000000b
|
||||
.word 0111110b
|
||||
.word 0111110b
|
||||
.word 0000000b
|
||||
.word 0111110b
|
||||
.word 0111110b
|
||||
.word 0000000b
|
||||
|
||||
.word 0110000b
|
||||
.word 0011000b
|
||||
.word 0001100b
|
||||
.word 0000110b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
|
||||
.word 0011100b
|
||||
.word 0110100b
|
||||
.word 0000100b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0000000b
|
||||
.word 0011000b
|
||||
|
||||
|
||||
.word 0000001b
|
||||
.word 0000011b
|
||||
.word 0000110b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
.word 1100000b
|
||||
|
||||
; .word 0011100b
|
||||
; .word 1100110b
|
||||
; .word 1000110b
|
||||
; .word 1011110b
|
||||
; .word 1001100b
|
||||
; .word 1100000b
|
||||
; .word 0111110b
|
||||
|
||||
|
||||
.word 1111100b ;A
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111100b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111100b
|
||||
|
||||
.word 1111110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1111000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1111110b
|
||||
|
||||
.word 1111110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1111000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1101110b
|
||||
.word 1100110b
|
||||
.word 0111110b
|
||||
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
|
||||
.word 0111100b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0111100b
|
||||
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 1100010b
|
||||
.word 1100110b
|
||||
.word 1101100b
|
||||
.word 1111000b
|
||||
.word 1101100b
|
||||
.word 1100110b
|
||||
.word 1100010b
|
||||
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1111110b
|
||||
|
||||
.word 1100011b
|
||||
.word 1110111b
|
||||
.word 1101011b
|
||||
.word 1101011b
|
||||
.word 1100011b
|
||||
.word 1100011b
|
||||
.word 1100011b
|
||||
|
||||
.word 1100110b
|
||||
.word 1110110b
|
||||
.word 1111110b
|
||||
.word 1111110b
|
||||
.word 1101110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111100b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
|
||||
.word 0011000b
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1101110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
.word 0011010b
|
||||
|
||||
|
||||
.word 1111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1111100b
|
||||
.word 1111000b
|
||||
.word 1101100b
|
||||
.word 1100110b
|
||||
|
||||
.word 0111110b
|
||||
.word 1100000b
|
||||
.word 1100000b
|
||||
.word 0111100b
|
||||
.word 0000110b
|
||||
.word 0000110b
|
||||
.word 1111100b
|
||||
|
||||
.word 1111110b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
|
||||
.word 1100011b
|
||||
.word 1100011b
|
||||
.word 1100011b
|
||||
.word 0110110b
|
||||
.word 0111110b
|
||||
.word 0011100b
|
||||
.word 0011100b
|
||||
|
||||
.word 1100011b
|
||||
.word 1100011b
|
||||
.word 1101011b
|
||||
.word 1111111b
|
||||
.word 1111111b
|
||||
.word 1110111b
|
||||
.word 1100011b
|
||||
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
.word 0011000b
|
||||
.word 0111100b
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
|
||||
.word 1100110b
|
||||
.word 1100110b
|
||||
.word 0111100b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
|
||||
.word 1111110b
|
||||
.word 0000110b
|
||||
.word 0001100b
|
||||
.word 0011000b
|
||||
.word 0110000b
|
||||
.word 1100000b
|
||||
.word 1111110b
|
||||
|
||||
.word 0111000b
|
||||
.word 0110000b
|
||||
.word 0110000b
|
||||
.word 0110000b
|
||||
.word 0110000b
|
||||
.word 0110000b
|
||||
.word 0111000b
|
||||
.word 1100000b
|
||||
.word 0110000b
|
||||
.word 0011000b
|
||||
.word 0001100b
|
||||
.word 0000110b
|
||||
.word 0000011b
|
||||
.word 0000000b
|
||||
.word 0111000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0011000b
|
||||
.word 0111000b
|
||||
.word 0010000b
|
||||
.word 0101000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 1111110b
|
||||
.word 0100000b
|
||||
.word 0110000b
|
||||
.word 0010000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
.word 0000000b
|
||||
|
||||
.END
|
||||
|
|
@ -0,0 +1,474 @@
|
|||
.FILE "FONT1A.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*FONT1A.ASM
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*PACKED FONT STYLE CPU PLOTTING
|
||||
*(DIAGNOSTICS ONLY! NOT DURING ASIC OPERATION)
|
||||
*
|
||||
*
|
||||
.include C30.EQU
|
||||
.include VUNIT.EQU
|
||||
.include MACS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
|
||||
;ref
|
||||
.globl DIV_I30,MOD_I30 ;ROUTS.ASM
|
||||
.globl ACTIVE_SCREEN ;start of active screen (not visual screen)
|
||||
.globl _font1
|
||||
.globl PRINTER_LOG_SYMBOLIC
|
||||
.globl COMMINTM
|
||||
|
||||
;def
|
||||
.globl _ftoa,_itoa,_pixel,_outtextxyc,_fill,_itoaLZ
|
||||
.globl HEX2ASC
|
||||
|
||||
|
||||
_font1I .word _font1
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
ENABLEGIE RETI
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
POINT .string ".",0
|
||||
.bss ftoa_tmp,2
|
||||
_ftoa:
|
||||
PUSH R0
|
||||
PUSH R2
|
||||
PUSH AR2
|
||||
|
||||
PUSH AR2
|
||||
PUSHFL R2
|
||||
FIX R2
|
||||
CALL _itoa
|
||||
LDL POINT,AR1
|
||||
LDI AR2,AR0
|
||||
CALL STRCAT
|
||||
|
||||
POPFL R2
|
||||
LDL ftoa_tmp,AR2
|
||||
FIX R2,R0
|
||||
FLOAT R0
|
||||
SUBF R0,R2
|
||||
FIX R2
|
||||
MPYI 100,R2
|
||||
CALL _itoa
|
||||
LDI AR2,AR1
|
||||
POP AR0
|
||||
CALL STRCAT
|
||||
POP AR2
|
||||
POP R2
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*INTEGER TO ASCIZ (PACKED)
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 STRING SPACE
|
||||
* R2 NUMBER
|
||||
*RETS
|
||||
* AR2 POINTING TO SPACE
|
||||
* R0 HAVING THE SHIFT COUNT
|
||||
*
|
||||
*
|
||||
*INTEGER TO ASCIZ WITH LEADING ZERO
|
||||
_itoaLZ:
|
||||
PUSH R0 ;this entry includes a leading zero
|
||||
PUSH R1 ;if the value is 9 or less
|
||||
PUSH R2 ;
|
||||
PUSH R3 ;
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH AR7
|
||||
|
||||
PUSH R6
|
||||
PUSH R7
|
||||
CLRI R7 ;flag if negative
|
||||
CMPI 0,R2
|
||||
BZD ISZERO2
|
||||
LDILT 1,R7
|
||||
ABSI R2
|
||||
CLRI R3
|
||||
|
||||
CMPI 9,R2
|
||||
BGT itoa1
|
||||
LDI 1,AR7
|
||||
|
||||
BU itoa1
|
||||
|
||||
_itoa:
|
||||
PUSH R0
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH AR7
|
||||
PUSH R6
|
||||
PUSH R7
|
||||
|
||||
|
||||
CLRI R7 ;flag if negative
|
||||
CMPI 0,R2
|
||||
BZD ISZERO
|
||||
LDILT 1,R7
|
||||
|
||||
CLRI AR7
|
||||
|
||||
ABSI R2
|
||||
CLRI R3
|
||||
itoa1 LDI 10,R1 ;this loop generates the ASCII
|
||||
LDI R2,R0 ;pieces and pushes them on the stack
|
||||
CALL MOD_I30
|
||||
|
||||
OR 30h,R0
|
||||
PUSH R0
|
||||
INC R3
|
||||
|
||||
LDI 10,R1
|
||||
LDI R2,R0
|
||||
CALL DIV_I30
|
||||
LDI R0,R2
|
||||
BGT itoa1
|
||||
|
||||
|
||||
CMPI 1,AR7
|
||||
BNE NOLEADINGZERO
|
||||
LDI 30h,R0
|
||||
PUSH R0
|
||||
INC R3
|
||||
NOLEADINGZERO
|
||||
|
||||
|
||||
CLRI R6 ;this loop pops the ASCII pieces off
|
||||
CLRI R1 ;the stack and packs them into the
|
||||
CMPI 0,R7 ;destination space
|
||||
BEQ NOTNEG ;check sign flag
|
||||
LDI MINUS_CHAR,R1
|
||||
ADDI 8,R6
|
||||
NOTNEG
|
||||
|
||||
LOOP2 POP R0
|
||||
LSH R6,R0
|
||||
OR R0,R1
|
||||
ADDI 8,R6
|
||||
CMPI 32,R6
|
||||
BLT DALOP
|
||||
STI R1,*AR2++
|
||||
CLRI R1
|
||||
CLRI R6
|
||||
|
||||
DALOP DEC R3
|
||||
BGT LOOP2
|
||||
|
||||
LDI 0,R0 ;NULL terminator
|
||||
LSH R6,R0
|
||||
OR R0,R1
|
||||
STI R1,*AR2
|
||||
|
||||
LDI R6,R0
|
||||
|
||||
itoaX
|
||||
POP R7
|
||||
POP R6
|
||||
POP AR7
|
||||
POP AR2
|
||||
POP AR1
|
||||
POP AR0
|
||||
POP R3
|
||||
POP R2
|
||||
POP R1
|
||||
POP R0
|
||||
RETS
|
||||
|
||||
ISZERO2
|
||||
BUD itoaX
|
||||
LDI 03030h,R0 ;case when number is zero
|
||||
STI R0,*AR2
|
||||
LDI 16,R0
|
||||
;----> BUD itoaX
|
||||
|
||||
ISZERO
|
||||
BUD itoaX
|
||||
LDI 030h,R0 ;case when number is zero
|
||||
STI R0,*AR2
|
||||
LDI 8,R0
|
||||
;----> BUD itoaX
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*HEX2ASC CONVERT HEX TO ASCII
|
||||
*
|
||||
*PARAMETERS
|
||||
* R2 NUMBER
|
||||
* AR2 BUFFER
|
||||
*
|
||||
*
|
||||
HEX2ASC:
|
||||
PUSH R0
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH AR7
|
||||
PUSH R6
|
||||
PUSH R7
|
||||
|
||||
|
||||
CMPI 0,R2
|
||||
BZD ISZEROH
|
||||
|
||||
; LS 16,R2
|
||||
; RS 16,R2
|
||||
CLRI R3
|
||||
htoa1
|
||||
LDI R2,R0
|
||||
AND 0Fh,R0
|
||||
CMPI 10,R0
|
||||
BLT DDJ
|
||||
ADDI 'A'-10,R0
|
||||
BU JJK
|
||||
DDJ ADDI 30h,R0
|
||||
|
||||
JJK PUSH R0
|
||||
INC R3
|
||||
RS 4,R2
|
||||
BGT htoa1
|
||||
|
||||
CLRI R6 ;this loop pops the ASCII pieces off
|
||||
CLRI R1 ;the stack and packs them into the
|
||||
|
||||
LOOP2H POP R0
|
||||
LSH R6,R0
|
||||
OR R0,R1
|
||||
ADDI 8,R6
|
||||
CMPI 32,R6
|
||||
BLT HDALOP
|
||||
STI R1,*AR2++
|
||||
CLRI R1
|
||||
CLRI R6
|
||||
|
||||
HDALOP DEC R3
|
||||
BGT LOOP2H
|
||||
|
||||
LDI 0,R0 ;NULL terminator
|
||||
LSH R6,R0
|
||||
OR R0,R1
|
||||
STI R1,*AR2
|
||||
|
||||
LDI R6,R0
|
||||
|
||||
htoaX
|
||||
POP R7
|
||||
POP R6
|
||||
POP AR7
|
||||
POP AR2
|
||||
POP AR1
|
||||
POP AR0
|
||||
POP R3
|
||||
POP R2
|
||||
POP R1
|
||||
POP R0
|
||||
RETS
|
||||
ISZEROH
|
||||
BUD htoaX
|
||||
LDI 030h,R0 ;case when number is zero
|
||||
STI R0,*AR2
|
||||
LDI 8,R0
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*fill(int x1,int y1,int x2,int y2,int color)
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 X1
|
||||
* R2 Y1
|
||||
* R3 X2
|
||||
* RC Y2
|
||||
* RS COLOR
|
||||
*
|
||||
*
|
||||
_fill:
|
||||
PUSH AR2
|
||||
FILLLP1
|
||||
PUSH R3
|
||||
LDI RS,R3
|
||||
|
||||
CALL _pixel
|
||||
|
||||
POP R3
|
||||
INC AR2
|
||||
CMPI AR2,R3
|
||||
BGE FILLLP1
|
||||
POP AR2
|
||||
PUSH AR2
|
||||
|
||||
INC R2
|
||||
CMPI R2,RC
|
||||
BGE FILLLP1
|
||||
POP AR2
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*OUTPUT TEXT STRING AT X,Y PACKED CHARACTERS
|
||||
*void outtextxyc(Pchar *,int x,int y,int color_pal);
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 STRING
|
||||
* R2 X LOC
|
||||
* R3 Y LOC
|
||||
* RC COLOR
|
||||
*
|
||||
* print a text string with the .string (packed)
|
||||
*
|
||||
*CLOBBERS RS,RE,RC
|
||||
*
|
||||
_outtextxyc:
|
||||
PUSH R4
|
||||
PUSH R5
|
||||
|
||||
LDI 3,RS
|
||||
CLRI RS
|
||||
OLP CMPI -32,RS
|
||||
BNE REGLP
|
||||
CLRI RS
|
||||
NOP *AR2++
|
||||
REGLP
|
||||
LDI *AR2,AR0
|
||||
LSH RS,AR0
|
||||
SUBI 8,RS
|
||||
AND 0FFh,AR0
|
||||
CMPI 0,AR0
|
||||
BZ oucX
|
||||
CMPI ' ',AR0
|
||||
BEQ NXTCHAR
|
||||
SUBI '(',AR0 ;the start of the font
|
||||
|
||||
;NOW PLOT OT THE CHARACTER
|
||||
MPYI 7,AR0 ;index to character
|
||||
ADDI @_font1I,AR0 ;pointing to font data
|
||||
|
||||
|
||||
LDI 7,R5 ;Y count
|
||||
OUTRLP
|
||||
LDI *AR0++,R1
|
||||
LS 24,R1
|
||||
LDI 8,R4
|
||||
LOOP1 ASH 1,R1
|
||||
BNC NPLOT
|
||||
|
||||
PUSH AR2
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
|
||||
LDI R2,AR2
|
||||
LDI R3,R2
|
||||
LDI RC,R3
|
||||
CALL _pixel
|
||||
|
||||
POP R3
|
||||
POP R2
|
||||
POP AR2
|
||||
|
||||
|
||||
NPLOT INC R2 ;advance to next pixel
|
||||
DEC R4
|
||||
BGT LOOP1
|
||||
|
||||
SUBI 8,R2 ;reset X position
|
||||
INC R3 ;increment Y position
|
||||
|
||||
DEC R5
|
||||
BGT OUTRLP
|
||||
|
||||
SUBI 7,R3 ;reset Y position
|
||||
NXTCHAR ADDI 8,R2 ;to next X position
|
||||
BU OLP
|
||||
|
||||
oucX
|
||||
POP R5
|
||||
POP R4
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*PIXEL ROUTINE
|
||||
*
|
||||
*NOTE : other routines rely on the spec being exactly as they are specified
|
||||
*here. DO NOT TRASH OTHER REGISTERS!!!
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 X COORD
|
||||
* R2 Y COORD
|
||||
* R3 COLOR
|
||||
*
|
||||
*R3 : [ xxxxPPCC ]
|
||||
* PP PALETTE CODE
|
||||
* CC COLOR CODE
|
||||
*
|
||||
*CLOBBERS R0,AR1
|
||||
*
|
||||
_pixel:
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH R2
|
||||
|
||||
PUSH IE
|
||||
|
||||
LDP @COMMINTM
|
||||
LDI @COMMINTM,IE
|
||||
SETDP
|
||||
|
||||
LDP @CPU_WS
|
||||
LDI HARD_WS,AR1
|
||||
AND 0DFFFh,ST ;turn off GIE.
|
||||
POP IE
|
||||
|
||||
STI AR1,@CPU_WS ;SET WAITSTATE MODE
|
||||
SETDP
|
||||
|
||||
LDI 0,AR1 ;DUMMY READ ADDR
|
||||
LSH 9,R2
|
||||
ADDI @ACTIVE_SCREEN,AR2 ;GET CURRENT SCREEN PAGE
|
||||
ADDI R2,AR2
|
||||
|
||||
LDP @CPU_WS
|
||||
STI R3,*AR2 ;store to screen
|
||||
LDI *AR1,R2 ;DUMMY READ
|
||||
LDI SOFT_WS,R2
|
||||
STI R2,@CPU_WS
|
||||
SETDP
|
||||
|
||||
CALL ENABLEGIE
|
||||
|
||||
POP R2
|
||||
POP AR2
|
||||
POP AR1
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,29 @@
|
|||
.FILE "GALIL.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
|
||||
.bss GALIL_RESPONSE,80
|
||||
|
||||
*
|
||||
*GALIL_RESET
|
||||
*SEND_GCMD
|
||||
*GET_GACK
|
||||
*
|
||||
*
|
|
@ -0,0 +1,689 @@
|
|||
*globals.equ
|
||||
|
||||
*obj.asm
|
||||
.globl COMM_DRONE_PTR
|
||||
*
|
||||
*auto generated by tvg/brief
|
||||
*
|
||||
*
|
||||
|
||||
|
||||
*attracta.asm
|
||||
.globl _ATTR_MODE
|
||||
.globl _MIDWAYSPIN
|
||||
.globl VANITY
|
||||
.globl TITLES,TEXTTABSI
|
||||
|
||||
*attrdrne.asm
|
||||
.globl ATTRWAVE,LOAD_ATTR_LEG
|
||||
|
||||
*audits.asm
|
||||
.globl AUDIT_DISPLAY
|
||||
|
||||
*babe.asm
|
||||
.globl CROWD_IT
|
||||
.globl BABE_TROPHY
|
||||
.globl BABE_WAVEFLAG
|
||||
.globl BABE_CONTROL
|
||||
|
||||
*backgrnd.asm
|
||||
.globl RACE_STARTING_POINTSI,RACE_STARTING_POINTS
|
||||
.globl LOAD_SINGLE_SECTION_OFFSET
|
||||
.globl FIND_STARTING_VALUES
|
||||
.globl LOAD_TUNNEL,FINISH_LINE
|
||||
.globl DRIVE_LIST,CAR_LIST,BUILD_LIST,SIGN_LIST,GROUND_LIST
|
||||
.globl NEWSUBLIST_TOP
|
||||
.globl BGD_INIT
|
||||
.globl STARTSECTION,START_POS,START_RADY
|
||||
.globl DGROUPSI
|
||||
.globl DGROUPS
|
||||
.globl DGROUP_COUNT
|
||||
.globl DGROUP_AW
|
||||
.globl DYNALIST_TRUEBEGIN
|
||||
.globl DYNALIST_BEGIN
|
||||
.globl DYNALIST_END
|
||||
.globl STARTS
|
||||
.globl SECTIONIDX
|
||||
.globl TYCO_TRACK
|
||||
.globl TYCO_TRACK_NTL
|
||||
.globl LOAD_SINGLE_SECTION,SINGLE_SECTION_TEMPPTR
|
||||
.globl GET_XZ_DISTANCE
|
||||
.globl AMBIENCE_SOUND
|
||||
|
||||
*bssstart.asm
|
||||
.globl BSSSTART
|
||||
|
||||
*bonus.asm
|
||||
.globl WAS_HEAD2HEAD_ON
|
||||
.globl ETIME
|
||||
.globl DO_FOLDFLAG
|
||||
.globl I_TIMED_OUT
|
||||
.globl DID_TIMED_OUT
|
||||
.globl KILL_THEM
|
||||
.globl FULLSETUP_TABLEI,BONUS_POSTLAUNCHI
|
||||
.globl CHALLENGE_RACE
|
||||
.globl NEXT_STARTUP,BONUS_WAVE
|
||||
.globl BLINK_FREEBE
|
||||
.globl MAXMPH,CAR_COLLS,MISC_COLLS
|
||||
.globl MAXMPH
|
||||
.globl TIMED_OUT
|
||||
.globl BONUS_WAVE
|
||||
.globl BONUS_TABLEI
|
||||
.globl BONUS_NUMBER
|
||||
.globl BONUS1,BONUS2,BONUS3,BONUS4
|
||||
.globl BONUS5,BONUS6,BONUS7,BONUS8
|
||||
.globl BONUS9,BONUS10,BONUS11,BONUS12
|
||||
.globl BONUS13,BONUS14
|
||||
.globl GAMETRAKI,GAMETRAK
|
||||
.globl LEG_NAMESI,LEG_NAMES
|
||||
|
||||
*challeng.asm
|
||||
.globl CHECK_CHALLENGER
|
||||
.globl AWAITING_CHALLENGER
|
||||
.globl ISSUED_CHALLENGE
|
||||
.globl CHALLENGE_ACCEPTED
|
||||
|
||||
*chopper.asm
|
||||
.globl CHOPPER
|
||||
.globl GET_CLOSEST_TRAK
|
||||
.globl HELI_ABORT
|
||||
|
||||
*cmos.asm
|
||||
.globl RESET_DAILY_CMOS,HSTDEC
|
||||
.globl CHECK_CMOS
|
||||
.globl _wr_cw,_rd_cw
|
||||
.globl CMOSI,HSTD_PAGEI,ALL_TIME_HSTDI,DAILY_HSTDI
|
||||
.globl GEN_CMOS_CHKSUM
|
||||
|
||||
*colla.asm
|
||||
.globl plyr1I
|
||||
.globl _CARV0,_CARVCT
|
||||
.globl _PLAYER_ROAD_COLL,CAR_ROAD_COLL
|
||||
.globl _coll_road
|
||||
.globl _obj_coll,COLLIDE
|
||||
.globl _makbox
|
||||
.globl COLSCC
|
||||
.globl COLSCAN,COLSCPRC
|
||||
.globl BOXSCAN
|
||||
.globl OBJSCAN
|
||||
.globl CAMSCAN
|
||||
.globl COLCHK
|
||||
.globl ROADSCAN,DRONESND,DRONESND1,FLYCAR1,SCOLLTABI
|
||||
.globl BOXSCRAMI
|
||||
.globl FLYCOLLPI
|
||||
.globl COLSGCK
|
||||
|
||||
*coin.asm
|
||||
.globl ICF
|
||||
.globl SERV_COIN
|
||||
.globl COIN_TABLEI
|
||||
.globl INSERT_COINS
|
||||
.globl COIN1,COIN2,CHECK_CREDITS
|
||||
.globl COIN3,COIN4
|
||||
.globl COINOFF
|
||||
.globl VOLUME_DISPLAY,VOLUME_ACTIVE
|
||||
.globl INSERT_MORE_COINS
|
||||
.globl COIN_COUNTER
|
||||
.globl CMOS_WP_WORD_SHADOW,COIN_COUNTER1,COIN_COUNTER2
|
||||
.globl COUNTER_IDX,COUNTER_MODE
|
||||
.globl GETCOINTXT
|
||||
.globl INIT_CUSTOM_COIN
|
||||
|
||||
*comp.asm
|
||||
.globl DECOMPRESS
|
||||
.globl HARD_SECTION_LOAD
|
||||
.globl DECOMPRESS_PROC
|
||||
.globl DECOMP_ACTIVE
|
||||
.globl BOOT_PACIFY_SCREEN_P
|
||||
.globl LOAD_SECTION_REQ
|
||||
.globl PREVX,DELTA
|
||||
|
||||
*comm.asm
|
||||
.globl NOLINK
|
||||
.globl NOLINK_COUNT
|
||||
.globl POWERUP_MODE
|
||||
.globl TRANSMISSION_ACTIVE
|
||||
.globl CLRONE
|
||||
.globl SETONE
|
||||
.globl COMM_ENABLE_INT2
|
||||
.globl COMM_MASTER_SEND_SYNC
|
||||
.globl COMM_INIT
|
||||
.globl COMM_ROUTINE
|
||||
.globl COMM_IRQ
|
||||
|
||||
*commdrne.asm
|
||||
.globl COMM_DRONE_PTR_SORT
|
||||
.globl PLY2CAR
|
||||
.globl COMM_DRONE
|
||||
|
||||
*commq.asm
|
||||
.globl SEND_ATTRSND
|
||||
.globl OM_POSITION
|
||||
.globl SAVED_PLY2CAR
|
||||
.globl OM_DIFF
|
||||
.globl COINDROP
|
||||
.globl SEND_COINDROP
|
||||
.globl OM_RACE_MODE
|
||||
.globl OM_BSYNC
|
||||
.globl BSYNC
|
||||
.globl OM_HIDDEN_ON
|
||||
.globl SEND_WAVEFL_GO
|
||||
.globl SEND_WAVEFL_SET
|
||||
.globl SEND_WAVEFL_READY
|
||||
.globl IGNORE_UPDATES
|
||||
.globl CLEAR_LINK
|
||||
.globl COMMQ_TMP_BUFFI
|
||||
.globl SEND_LINKCANCELLED
|
||||
.globl LINKEDP
|
||||
.globl MY_LINKWAIT
|
||||
.globl OM_LINKWAIT
|
||||
.globl MY_LINKWAIT
|
||||
.globl HEAD2HEAD_ON
|
||||
.globl OLD_OM_ATTR_MODE
|
||||
.globl OM_ATTR_MODE
|
||||
.globl SEND_BUFFER_B_LEN
|
||||
.globl SEND_BUFFER_A_LEN
|
||||
.globl SEND_BUFFER_B
|
||||
.globl SEND_BUFFER_A
|
||||
.globl SEND_BUFFER_BI
|
||||
.globl SEND_BUFFER_AI
|
||||
.globl COMMQ_READY_TO_SEND
|
||||
.globl COMMQ_PACKET_INIT
|
||||
.globl BUFSTATS
|
||||
.globl RDYSBUFF_LEN
|
||||
.globl RDYBUFF_PTR
|
||||
.globl FILLBUFF_LEN
|
||||
.globl FILLBUFF_PTR
|
||||
.globl COMMQ_STATUS
|
||||
.globl CURR_RCV_BUFFER
|
||||
.globl RECEIVE_BUFFER
|
||||
.globl OM_MODE,OM_CHOSEN_RACE,OM_VEHICLE
|
||||
.globl OM_STATE,MY_STATE
|
||||
.globl SEND_CHECKPOINT
|
||||
.globl HEAD2HEAD_ON
|
||||
.globl CHECKPOINTS_HIT
|
||||
.globl CHECKPOINTS_RECEIVED
|
||||
.globl SEND_START_GAME
|
||||
.globl SEND_END_GAME
|
||||
.globl SEND_VEHICLE
|
||||
.globl INIT_COMM_VALUES
|
||||
|
||||
*cusa.asm
|
||||
.globl FRAMRATE
|
||||
.globl ENABLEGIE
|
||||
.globl COMMINTM
|
||||
.globl _c_int00
|
||||
.globl VERIFY_CODE_INTEGRITY
|
||||
.globl FEED_WATCHDOG
|
||||
.globl INT0 ;DISPLAY INT
|
||||
.globl DIAG_RETURN
|
||||
.globl COLD_ENTER
|
||||
.globl CLEARRDY
|
||||
.globl SWRAM
|
||||
.globl NOAERASE
|
||||
.globl BUTTON_STATUS
|
||||
.globl INFRAMES,NFRAMES
|
||||
.globl WAIT_FOR_VBLANK
|
||||
.globl _newbut
|
||||
.globl CHECKDIAG
|
||||
.globl FIFO_RESET
|
||||
.globl ENABLEGIE
|
||||
.globl SWITCHBUTS
|
||||
.globl DIAG_ACTIVE
|
||||
.globl CLR_RAM
|
||||
.globl GAME_TIMER
|
||||
.globl ST_POLYGONS
|
||||
.globl ST_VERTICES
|
||||
.globl ST_OBJECTS
|
||||
.globl NFRAMES,INFRAMES
|
||||
.globl SWITCHBUTS,BGNDCOLA,DIAG_ACTIVE,GAME_TIMER
|
||||
.globl _MODE,SYSCNTL,_pot0,_pot1,_pot2
|
||||
.globl RDPOT,_systime,_gametime,_sectime
|
||||
.globl CLEARRDY,NOAERASE,DISPLAY_PAGE
|
||||
.globl NOSWAP
|
||||
.globl FRAMRATE,TIMECLR
|
||||
.globl FRAMETIME,HISCAN
|
||||
.globl VERSION_STAMP
|
||||
|
||||
*date.asm
|
||||
.globl DATE_STAMP
|
||||
|
||||
*delta.asm
|
||||
.globl DELTA_DRONE
|
||||
.globl ATTRACT_DELTA
|
||||
|
||||
*drones.asm
|
||||
.globl DRONE_CLR
|
||||
.globl DRONENUM
|
||||
.globl DRONE_PTR_ADD
|
||||
.globl SMOKE_COUNT
|
||||
.globl FIND_PLAYERS_POSITION,POSITION_FINDER
|
||||
.globl INIT_DRONES,ADD_DRONE,FREE_DRONE
|
||||
.globl DRONE_COUNT,FINISHED_DRONES,MIN_TRACK_TIME
|
||||
.globl PLYR_RIDE_RIGHT,DRONE_RIDE_RIGHT
|
||||
.globl DD_SLP,DD_VAR,DD_MAX_DRONES
|
||||
.globl EXP_PUFF,SMOKE_PUFF,DROP_COCONUTS
|
||||
.globl SIGMA_DISPATCHER,RHO_DISPATCHER
|
||||
.globl DRONE_DISPATCH_P
|
||||
.globl MODELTABI,TEXTTABSI,TABING
|
||||
.globl FIND_PLAYERS_POSITION
|
||||
.globl COCONUT_COUNT
|
||||
.globl DIST_TO_PLYR
|
||||
|
||||
*dirq.asm
|
||||
.globl DIRQ
|
||||
.globl RAND,_MODE
|
||||
.globl OACTIVE,OFREE,OACTIVE_PRIORITY,IDLE_LIST
|
||||
.globl OLOW_PRIORITY
|
||||
.globl OACTIVEI,OACTIVE_PRIORITYI,IDLE_LISTI
|
||||
.globl _LIGHT
|
||||
.globl _CAMERAPOS,_CAMERAVEL,_CAMERARAD,_CAMERAMATRIX
|
||||
.globl CAMERAPOSI,CAMERARADI,CAMERAMATRIXI
|
||||
.globl BLOWLIST,TMPMAT,ROTATION_MATRIX
|
||||
.globl POSTERMATI
|
||||
.globl TRANSVECTOR
|
||||
.globl DRIVE_LISTI,CAR_LISTI,SIGN_LISTI,GROUND_LISTI
|
||||
.globl DECOMP_LINE_BUFFER
|
||||
.globl LOCTEMPER_MATI
|
||||
.globl LIGHTIY
|
||||
.globl transmatrixI,transvectorYI
|
||||
.globl BLOWLISTI,tmpmatI,tmpmatY,INVTABI
|
||||
.globl SCRNHXI,SCRNHYI
|
||||
.globl LOW_TOSS_LEVELI,LOW_CLIP_LEVELI,HIGH_CLIP_LEVELI,HIGH_CLIP_LEV8,MAXZI
|
||||
.globl CENTSI,_PALLISTI,FASTSTKI
|
||||
.globl _ACMAP,_ARPS,_AIVI,_ADDRL,_ACNTL
|
||||
.globl _MATRIXA,_MATRIXB,_MATRIXC,_VECTORA,_VECTORB,_VECTORC,_VECTORD
|
||||
.globl MATRIXAI,MATRIXBI,MATRIXCI,VECTORAI,VECTORBI,VECTORCI,VECTORDI
|
||||
.globl ASHADOW
|
||||
|
||||
*diag.asm
|
||||
.globl ENTER_DIAG
|
||||
.globl HARD_LOAD_DIAGPAL
|
||||
.globl TOEXIT
|
||||
.globl SOFT_AUDIT
|
||||
.globl bufferI
|
||||
.globl DIAG_ACTIVEP
|
||||
.globl SETUP_DIAG_SCREEN
|
||||
.globl NULLSTR
|
||||
|
||||
*effects.asm
|
||||
.globl SCREENWIPE_OPEN
|
||||
.globl SCREENWIPE_OPEN_PRC
|
||||
.globl SCREENWIPE_CLOSE
|
||||
.globl SCREENWIPE_CLOSE_PRC
|
||||
.globl SCREENWIPE_DONE
|
||||
.globl SCREENWIPE_OPEN_PRC_FAST
|
||||
|
||||
*flame.asm
|
||||
.globl FLAME_PRC,FLAMESORT,GETCARBODY
|
||||
.globl FIND_NEXT_OBJ
|
||||
|
||||
*font1a.asm
|
||||
.globl _outtextxyc
|
||||
.globl _itoa,_itoaLZ
|
||||
.globl _ftoa
|
||||
.globl _pixel
|
||||
.globl _fill
|
||||
.globl HEX2ASC
|
||||
|
||||
*hottub.asm
|
||||
.globl HOTTUB_SCENE
|
||||
|
||||
*hpmath.c
|
||||
.globl _HPcos,_HPsin
|
||||
|
||||
*hstdp.asm
|
||||
.globl DISPLAY_HIGH_SCORES
|
||||
.globl STR23DF
|
||||
.globl STR2FORMOFFSET
|
||||
.globl STR2FORM
|
||||
.globl TOFORM,COLORFORM,INSFORM,PULFORM,PULINS
|
||||
.globl MKHSTDFORM
|
||||
.globl UPDTFORM
|
||||
.globl DISPLAY_TABLE
|
||||
.globl _HSTD_DISP
|
||||
.globl SPININIT
|
||||
.globl ENTERTEXT
|
||||
.globl ENTER_INITIALS
|
||||
.globl LET3D,LET3DI
|
||||
.globl MIDWAYSPINENTER
|
||||
.globl LOGO_PROC
|
||||
.globl RBMATTR_CHECK
|
||||
.globl INTO_TABLE_P
|
||||
|
||||
*hud.asm
|
||||
.globl MOVEIN_OFFSET
|
||||
.globl MOVEIN_HUD_EQUIP
|
||||
.globl MOVEOUT_HUD_EQUIP
|
||||
.globl POSITION
|
||||
.globl POS_TABLEI
|
||||
.globl HARDalloc_section
|
||||
.globl _countdown,SCORE,_MPH
|
||||
.globl INFINITY
|
||||
.globl HUD
|
||||
.globl alloc_section
|
||||
.globl dealloc_section
|
||||
.globl _find_pal
|
||||
.globl COUNTDOWN_BUFI
|
||||
.globl INFIN_CORRECT
|
||||
.globl VAR_ROAD_KFACTOR
|
||||
.globl MAXMPH_COUNT
|
||||
.globl FILL_PLOT
|
||||
.globl FILL_DITHER
|
||||
|
||||
*intro.asm
|
||||
.globl ISSUE_STARTGAME_TSEL
|
||||
.globl BONUS_WAITFLAG
|
||||
.globl OM_BONUS_WAITFLAG
|
||||
.globl BONUS_WAITFLAG
|
||||
.globl INSMORE_NOCOUNTDOWN
|
||||
.globl PLYR_INTRO
|
||||
.globl H2H_FLAGSTATE
|
||||
.globl REAL_CHECKPOINTS
|
||||
.globl FIRST_RACE
|
||||
.globl ISSUE_STARTGAME
|
||||
.globl WAIT_FOR_CHALLENGER
|
||||
.globl LOGO_SMALL
|
||||
.globl HEAD2HEAD_LOGO_WAIT
|
||||
.globl HEAD2HEAD_LOGO
|
||||
.globl GAMEDIFF
|
||||
.globl CHOOSE_NEXT_RACE
|
||||
.globl CHECKPOINT_NUM
|
||||
.globl INIT_GAMELEG
|
||||
.globl CHOSEN_VEHICLE
|
||||
.globl CHOSEN_TRANSMISSION,CHOICENOW
|
||||
.globl INIT_PEDALCHK,PEDALCHK
|
||||
.globl GETCHOICE
|
||||
.globl POSES
|
||||
.globl CPOINT_LIGHT
|
||||
.globl END_OF_GAMEP
|
||||
.globl JOININGAME
|
||||
.globl _debug,_start
|
||||
.globl LOGO,GETTILE_BACKGRND
|
||||
.globl _timeout,_timer
|
||||
.globl SET_ATTR,CYCLE_ATTR
|
||||
.globl INTROTIMER,RACESEL_TIMER
|
||||
.globl ENDPLAYER
|
||||
.globl INTRO_SKY_SPIN
|
||||
.globl CHOOSENCAR
|
||||
.globl INSMORE
|
||||
.globl LOAD_SHARED
|
||||
.globl DIRTY_SHARED
|
||||
.globl GETTILE_BACKGRND
|
||||
.globl RATING_TAG
|
||||
.globl TRAFFIC_LIGHT
|
||||
.globl TRANSCHOICE
|
||||
.globl DIAL_ROUT
|
||||
.globl SHOW_CAR_STATISTICS
|
||||
.globl ROUNDER
|
||||
.globl GETTHECARS
|
||||
.globl LASTCHOICE
|
||||
.globl START_NOW_P
|
||||
.globl ULTRA_LOGO
|
||||
.globl START_HIT
|
||||
.globl CHOSEN_RACE
|
||||
.globl THE_CAR_CHOICE_PROC
|
||||
|
||||
*invtab30.asm
|
||||
.globl INVTAB
|
||||
|
||||
*leg.asm
|
||||
.globl LEG_INIT
|
||||
.globl LEG_GENERATE_MAP
|
||||
.globl LEG_MAP,LEG_MAPI
|
||||
.globl FINISH_ID
|
||||
|
||||
*line.c
|
||||
.globl _rectangle,_line
|
||||
|
||||
*math.asm
|
||||
.globl GEN_NORMAL
|
||||
.globl _SINE,_COSI
|
||||
.globl ARCTANF
|
||||
.globl HALFPII,PII,TWOPII
|
||||
.globl FIND_MATRIX
|
||||
.globl INITMAT
|
||||
.globl FIND_XMATRIX,FIND_YMATRIX,FIND_ZMATRIX
|
||||
.globl _find_Ymatrix
|
||||
.globl HPFIND_YMATRIX
|
||||
.globl NORMAT,NORMALIZE
|
||||
.globl NORMIT,NORMITS
|
||||
.globl MATRIX_MUL
|
||||
.globl CONCAT201
|
||||
.globl CONCATMATV,CONCATMAT
|
||||
.globl VECTLEN,DOT,CPYMAT,CPYIMAT
|
||||
.globl GETTHETADIFF
|
||||
.globl VECT_COLL
|
||||
.globl DIST_PT2LINE,GETLINE_EQ_2D
|
||||
.globl CLR_VECTORA
|
||||
.globl SCALE_MATRIX
|
||||
|
||||
*map.asm
|
||||
.globl THIS_MACHINE_AHEAD
|
||||
.globl FOLDMAP,UNFOLDMAP
|
||||
.globl STOPWATCH,STOPWATCH_CNTL
|
||||
.globl TIME2STR
|
||||
.globl CVTTIME
|
||||
.globl UNFOLDMAP_NOPAL
|
||||
.globl RADAR_PLOT
|
||||
|
||||
*memtest.asm
|
||||
.globl TEST_CHIPS
|
||||
.globl TEST_STATIC_CHIPS
|
||||
|
||||
*motion.asm
|
||||
.globl INITIALIZATION_MOTION_CHECK
|
||||
.globl MOTION_RCV_TIKS
|
||||
.globl MOTION_STOP_HIT
|
||||
.globl LATCH_ERROR
|
||||
.globl PLMOTION,INITIALIZE_GALIL
|
||||
.globl LEVEL_THE_MOTION
|
||||
.globl MOTION_DLPROG
|
||||
.globl GALIL_NOTPRESENT
|
||||
.globl POWERUP_INITIALIZE_GALIL
|
||||
.globl MOTION_TESTX,MOTION_TESTY,MOTION_TESTZ
|
||||
.globl MOTION_BURNIN
|
||||
.globl RESET_GALIL
|
||||
.globl MOTION_DLPROG
|
||||
|
||||
*objects.asm
|
||||
.globl _PALLIST,_PALROM
|
||||
.globl TYCO_TRKI
|
||||
|
||||
*overlay.asm
|
||||
.globl REAL_CHECKPOINTS
|
||||
.globl CHECKPOINT_HIT_R
|
||||
.globl LOAD_LOOK
|
||||
.globl SECTION_ROUTINE
|
||||
.globl SECTION_SETUP
|
||||
.globl CHECKPOINT_TIME_BONUS
|
||||
.globl CHECKPOINT_HIT
|
||||
|
||||
*plyr.asm
|
||||
.globl _plyr1
|
||||
.globl _viewswitch
|
||||
.globl PLYR_CAR_INIT
|
||||
.globl PLYR_INTRO_ENTER
|
||||
.globl PLYPOS2Z,PLYPOS2Y
|
||||
.globl _PLYR,DRONEGO,GETSPD,OVELADD
|
||||
.globl STEERMX,STEERMN,STEERCT,STEERFR,PEDALMX,PEDALMN
|
||||
.globl GETCMOS_VALUES
|
||||
.globl GETTRAK
|
||||
.globl CAMYADJ
|
||||
.globl _on_brake,_off_brake
|
||||
.globl PLYSTAT,PLYCAR,PLYPROC,PLYCBLK
|
||||
.globl _VIEW0,_VIEW1,_VIEW2,CAMVIEW
|
||||
.globl OFFROAD_TMR,OVELNADD
|
||||
.globl MKFXSND
|
||||
.globl OLD_VIEWPOINT
|
||||
.globl GETRDIR
|
||||
.globl ZOOM,ZOOMI,ZOOMD
|
||||
.globl BONUS_WAIT_LOOP
|
||||
|
||||
*racer.asm
|
||||
.globl RACER_PTRI
|
||||
.globl RACER_DRONE
|
||||
.globl CARSCAN,OBSTABINIT,PLSCAN,GETRDOFFSET
|
||||
.globl DIFF_CHANGE,DIFF_TRICKLE
|
||||
|
||||
*rho.asm
|
||||
.globl SMOKE_PUFF
|
||||
.globl NOLONG_VEHICLES
|
||||
|
||||
*roadblck.asm
|
||||
.globl INIT_RDDEBRIS,ADD_RDDEBRIS,FREE_RDDEBRIS
|
||||
.globl ROAD_DEBRISI,ROAD_DEBRIS
|
||||
.globl DEBRIS_SORT
|
||||
|
||||
*roadkill.asm
|
||||
.globl ROADKILL_HIT,ROADKILL_FLYERP
|
||||
.globl ROADKILL_SETKILL
|
||||
.globl GET_ROADKILL_TRACK,PROC_COUNT,OBJ_MOVE_GROUND
|
||||
.globl ROADKILL_SOUND_TIMER
|
||||
.globl DELETE_SPLAT,BUG_SPAWNER_PROC,PLYRROADKILL
|
||||
.globl DEER_SPAWNER_PROC,DEER_EXPLODE,FLYING_PARTS
|
||||
.globl GEESE_SPAWNER
|
||||
.globl COW_SPAWNER_PROC
|
||||
|
||||
*routs.asm
|
||||
.globl SQRT
|
||||
.globl DIV_F,DIV_F30
|
||||
.globl DIV_I,DIV_I30
|
||||
.globl DIV_U30
|
||||
.globl INV_F30
|
||||
.globl MOD_I30
|
||||
.globl MOD_U30
|
||||
|
||||
*rroad.asm
|
||||
.globl GETFLYMAT_TRAIN,FLYTRAINPI,FLYTRAIN
|
||||
.globl FREEZE_IT
|
||||
.globl RR_CARSI
|
||||
.globl RRSTART_ENGINE,RRSTART_FLATBED,RRSTART_BOXCAR
|
||||
.globl FLYCARP,CARSMASH,FLYTRAIN
|
||||
.globl DEADCARA
|
||||
.globl RAMPDOWNTRAINSND
|
||||
|
||||
*setups.asm
|
||||
.globl LOADSECTION_TABLEI
|
||||
.globl CLEANUP_PALS
|
||||
|
||||
*skid.asm
|
||||
.globl INITSKIDOBJS
|
||||
.globl SKIDP
|
||||
|
||||
*smoke.asm
|
||||
.globl SMOKE_PROC,TIRE_SMOKE_COUNT
|
||||
.globl SORT_SMOKE
|
||||
|
||||
*snd.asm
|
||||
.globl SET_TUNE_LINKED
|
||||
.globl SET_TUNE_LINKED
|
||||
.globl SET_TUNE_LINKED
|
||||
.globl PLYR_ENGINE
|
||||
.globl SNDSTR,SNDSTRI
|
||||
.globl ONESND,ONESNDFX
|
||||
.globl SNDPROC
|
||||
.globl CLRSNDDB
|
||||
.globl SENDSND
|
||||
.globl SND_RESET_QUIET
|
||||
.globl RESET_SNDBRD
|
||||
.globl SILENT
|
||||
.globl SET_TUNE
|
||||
.globl RESUME_TUNE,LOOP_TUNE,TUNE_IDX,RESUME_TUNE_MK
|
||||
.globl SET_TRACK_VOL,SET_MASTER_VOL
|
||||
.globl RESUME_TUNE_NT
|
||||
.globl GETPRI
|
||||
.globl SET_STATION
|
||||
.globl CHANGE_STATION
|
||||
.globl RADIO_BUT
|
||||
.globl SNDTABI
|
||||
.globl KILLSNDFX
|
||||
.globl VOLSNDFX
|
||||
.globl IN_RESET_MODE
|
||||
|
||||
*sndtab.asm
|
||||
.globl SNDTAB
|
||||
|
||||
*spark.asm
|
||||
.globl SPARK_PROC,SPARK_COLLA_PROC,OBJ_MOVE,WALL_SPARK,IMPACT_SPARK
|
||||
.globl SKID_SPARK,ROAD_IMPACT_SPARK,INIT_SPARK
|
||||
|
||||
*trans.asm
|
||||
.globl CHOOSE_TRANSMISSION
|
||||
.globl EPALR,EPALL,EPALRR,EPALRL
|
||||
.globl SIDE_DOOR,TILTWORLD
|
||||
.globl ZOOMTOCAR
|
||||
.globl DROPTHECYCLE,DROPTHETURN
|
||||
.globl DROPTHEWHEEL,DROPTHEOTHER
|
||||
.globl DOORLISTI,DOORLIST
|
||||
.globl DOOR_OPENING
|
||||
.globl WHEEL_ROUT
|
||||
.globl DOOR_ELEMENT_DELETE_ALL
|
||||
.globl DOOR_ELEMENT_DELETE
|
||||
.globl TRANSCHOICE
|
||||
.globl GET_UNIT_WHEEL
|
||||
.globl FIX_TRANSMISSION_SCREEN
|
||||
.globl CYCLE_PUSH,TURNTO_SELECT
|
||||
.globl ADD_TO_DOOR_LIST
|
||||
.globl ENGINE_COLOR_INIT
|
||||
.globl ENGINE_COLOR
|
||||
.globl TRANSCHOICE
|
||||
|
||||
*tracksel.asm
|
||||
.globl HIDDEN_ON
|
||||
.globl VALID_RACENUM
|
||||
.globl TRACK_SELECTION
|
||||
.globl CLEANUP_TRACKSEL_PALS
|
||||
|
||||
*totala.asm
|
||||
.globl BLTMOD2D_NOPAL
|
||||
.globl _stuff_fpga
|
||||
.globl _rdma
|
||||
.globl BLTMOD2D
|
||||
.globl BLTMOD2DH
|
||||
.globl BLTMOD2D_DS
|
||||
|
||||
*util.asm
|
||||
.globl RAND,CRTCTLRAM,ACTIVE_SCREEN
|
||||
.globl SETPAGE0,SETPAGE1
|
||||
.globl FASTCLR0,FASTCLR1
|
||||
.globl CLRSCRN,CLRSCRN0,CLRSCRN1,SCREEN_FILL
|
||||
.globl CLR255,CLR511,SCRNFIL
|
||||
.globl CLRCRAM
|
||||
.globl RANDOM,FRAND,SFRAND
|
||||
.globl RANDU0,RANDU,SRAND,RANDPER
|
||||
.globl INIT_LINKED_LIST
|
||||
.globl GET_LLIST,ALLOC_LLIST
|
||||
.globl FREE_LLIST,DEL_LLIST
|
||||
.globl VEHICLE_ANI_INIT,CARPROC,LEAN
|
||||
.globl DYNALIST,DYNAFREE,NULL
|
||||
.globl DYNALISTI,DYNAFREEI,NULLI
|
||||
.globl DYNAOBJ_INIT,GETDYNA,DELDYNA
|
||||
.globl CARLIST,CARFREE,CAR_COUNT
|
||||
.globl CARLISTI,CARFREEI,CAR_COUNTI
|
||||
.globl CARB_INIT
|
||||
.globl GETCAR,DELCAR
|
||||
.globl SCAN_OBJECTS
|
||||
.globl PUSHALL,POPALL
|
||||
.globl DISTANCE_2D
|
||||
.globl FORWARD
|
||||
|
||||
*wave.asm
|
||||
.globl LOADED
|
||||
.globl WAVE
|
||||
.globl INIT_SYSTEM
|
||||
.globl FIXEDPAL
|
||||
.globl ILLUM_PAL
|
||||
.globl LOAD_FIXED_PALETTES
|
||||
.globl VEHICLE_TABLE,VEHICLE_TABLEI
|
||||
.globl tower_bgrey
|
||||
.globl TEASE_COUNT,ATTR_MODEL
|
||||
.globl LOAD_STARTUP_PALS
|
||||
.globl WAVEFLAG
|
||||
.globl bnout1_smoke
|
||||
|
||||
*wheel.asm
|
||||
.globl WHEELPWR,WHEELPOS,WHEELMAX,WHEELVEL
|
||||
.globl NUWHEEL,POSE
|
||||
.globl TOWHEEL
|
||||
|
|
@ -0,0 +1,36 @@
|
|||
* h2h.pol
|
||||
*
|
||||
* Copyright (C) 1994 by TV Games, Inc.
|
||||
* All Right Reserved
|
||||
*
|
||||
|
||||
|
||||
;
|
||||
;we are about 485 lines, so lets say 490
|
||||
;befa00 == 1efa00 == line(15860)
|
||||
;
|
||||
;
|
||||
|
||||
|
||||
.vect C14000
|
||||
.blow 809C00
|
||||
.caddr C15000
|
||||
|
||||
|
||||
.startpos 0,0,0
|
||||
.startrad 0
|
||||
|
||||
.tyco \m\dc;\m\rm;\m\gg;\m\sf;\m\pch;\m\dv;\m\tun;\m\phoe1;\m\gc;\m\mw;\m\appl;\m\ch;
|
||||
|
||||
;.sect head2head,A00000
|
||||
.sect head2head,AF7D00
|
||||
.dir hed2hed
|
||||
|
||||
p1,p2
|
||||
p1a,p2b
|
||||
redhd1,yelhd1
|
||||
big2
|
||||
|
||||
|
||||
.dir
|
||||
|
|
@ -0,0 +1,28 @@
|
|||
.FILE "OBJECTS.ASM"
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
; .def _PALLIST,_PALROM
|
||||
; .bss _PALLIST,256
|
||||
;_PALROM:
|
||||
; .word 0C14000h,0C1404Eh,0C140EFh
|
||||
; .globl TYCO_TRKI
|
||||
;TYCO_TRKI: .word 00h
|
||||
; .globl ROAD_MAPI
|
||||
;ROAD_MAPI: .word 00h
|
||||
;
|
||||
|
||||
;SECTION DATA
|
||||
.globl _SEChead2head
|
||||
_SEChead2head: ;(16345 lines, 102.16%)
|
||||
.word 0C15000h ;Src (Compressed) Addr
|
||||
.word 0BEFA00h ;Dest Addr
|
||||
|
||||
; .globl head2head_PALETTES
|
||||
;head2head_PALETTES:
|
||||
; .word 0,0
|
||||
;
|
|
@ -0,0 +1,45 @@
|
|||
*OBJECTS.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by PComp v2.41
|
||||
*
|
||||
|
||||
;num_palettes .set 3
|
||||
;p1_p .set 0
|
||||
;redhd1_p .set 1
|
||||
;big2_p .set 2
|
||||
;
|
||||
;
|
||||
;num_objects .set 7
|
||||
h2p1 .set 0C1400Fh
|
||||
h2p1_I .set 03DF4h
|
||||
h2p2 .set 0C1401Fh
|
||||
h2p2_I .set 03DF4h
|
||||
h2p1a .set 0C1402Fh
|
||||
h2p1a_I .set 03DF4h
|
||||
h2p2b .set 0C1403Fh
|
||||
h2p2b_I .set 03DF4h
|
||||
redhd1 .set 0C140D0h
|
||||
redhd1_I .set 03E1Eh
|
||||
yelhd1 .set 0C140E0h
|
||||
yelhd1_I .set 03E1Eh
|
||||
big2 .set 0C14171h
|
||||
big2_I .set 03F5Bh
|
||||
|
||||
|
||||
;num_sections .set 1
|
||||
head2head .set 0AF7D00h ;7940
|
||||
.globl _SEChead2head
|
||||
; .globl head2head_PALETTES
|
||||
|
||||
|
||||
H2HPAL1 .set 0C14000h
|
||||
H2HPAL2 .set 0C1404Eh
|
||||
H2HPAL3 .set 0C140EFh
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,489 @@
|
|||
.FILE "HEADS.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
|
||||
HEADTYPE .set 88D0h
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
TEXTDELER:
|
||||
|
||||
|
||||
LDI @TEXT_ACTIVEI,AR4
|
||||
TEXTDELERLP
|
||||
LDI *AR4,R0
|
||||
BZ TXTXX
|
||||
TTEST LDI R0,AR4
|
||||
|
||||
LDF *+AR4(TEXT_POSY),R0
|
||||
CMPF -25,R0
|
||||
BGT TEXTDELERLP
|
||||
|
||||
|
||||
LDI *AR4,R7
|
||||
|
||||
LDI @TEXT_ACTIVEI,R1 ;get free list pointer
|
||||
DELLP LDI R1,AR1
|
||||
LDI *AR1,R1
|
||||
.if DEBUG
|
||||
BZ $ ;lockup on end of list found
|
||||
.endif
|
||||
|
||||
CMPI R1,AR4
|
||||
BNE DELLP
|
||||
|
||||
LDI *AR4,R1
|
||||
STI R1,*AR1 ;LINK AROUND
|
||||
|
||||
LDI @TEXT_FREE_COUNT,R1
|
||||
INC R1
|
||||
STI R1,@TEXT_FREE_COUNT
|
||||
|
||||
LDI @TEXT_FREEI,AR1 ;get free list pointer
|
||||
LDI *AR1,R1
|
||||
STI R1,*AR4
|
||||
STI AR4,*AR1
|
||||
LDI R7,R0
|
||||
BZ TXTXX
|
||||
BU TTEST
|
||||
|
||||
TXTXX
|
||||
SLEEP 1
|
||||
BU TEXTDELER
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
HEADS .word jeno
|
||||
.word marc
|
||||
.word pet
|
||||
.word xion
|
||||
.word ted
|
||||
.word matt
|
||||
.word vince
|
||||
.word carl
|
||||
.word glen
|
||||
.word ken
|
||||
.word eric
|
||||
.word -1
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*
|
||||
VANITY_HEADS:
|
||||
SETDP
|
||||
|
||||
LDI @CAMERAPOSI,AR6
|
||||
CLRF R0
|
||||
STF R0,*+AR6(X)
|
||||
STF R0,*+AR6(Y)
|
||||
STF R0,*+AR6(Z)
|
||||
|
||||
|
||||
LDL theheads_PALETTES,AR2
|
||||
CALL alloc_section
|
||||
|
||||
|
||||
FIFO_CLRP R0 ;IS THE FIFO CLEAR
|
||||
DMA_WT R0
|
||||
CALL FIFO_RESET
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@HARD_SECTION_LOAD
|
||||
LDL _SECtheheads,AR2
|
||||
CALL LOAD_SECTION_REQ
|
||||
|
||||
|
||||
LDL HEADS,AR5
|
||||
; CLRF R6
|
||||
LDF PI,R6
|
||||
|
||||
|
||||
VANHDLP
|
||||
LDI *AR5++,R0
|
||||
BN VHIX
|
||||
LDI R0,AR2
|
||||
CALL OBJ_GETE
|
||||
|
||||
|
||||
LDF R6,R2
|
||||
; CALL _SINE
|
||||
PUSH AR0
|
||||
CALL _HPsin
|
||||
POP AR0
|
||||
MPYF 130,R0
|
||||
STF R0,*+AR0(OPOSX)
|
||||
|
||||
LDF R6,R2
|
||||
; CALL _COSI
|
||||
PUSH AR0
|
||||
CALL _HPcos
|
||||
POP AR0
|
||||
MPYF 130,R0
|
||||
STF R0,*+AR0(OPOSY)
|
||||
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR0(OPOSZ)
|
||||
STF R6,*+AR0(ORADY)
|
||||
|
||||
|
||||
LDI AR0,AR2
|
||||
CALL OBJ_INSERT
|
||||
|
||||
SUBF 0.571,R6
|
||||
B VANHDLP
|
||||
|
||||
|
||||
VHIX
|
||||
|
||||
; DIE
|
||||
|
||||
VANITY_HEADS_LP
|
||||
LDI @OACTIVEI,AR0
|
||||
|
||||
VOLP
|
||||
LDI *AR0,R0
|
||||
BZ VOSLP
|
||||
LDI R0,AR0
|
||||
LDF *+AR0(ORADY),R2
|
||||
ADDF 0.01,R2
|
||||
STF R2,*+AR0(ORADY)
|
||||
|
||||
LDF R2,R6
|
||||
|
||||
CALL _SINE
|
||||
MPYF 130,R0
|
||||
STF R0,*+AR0(OPOSX)
|
||||
|
||||
LDF R6,R2
|
||||
CALL _COSI
|
||||
MPYF 130,R0
|
||||
STF R0,*+AR0(OPOSY)
|
||||
|
||||
|
||||
BU VOLP
|
||||
|
||||
VOSLP SLEEP 1
|
||||
BU VANITY_HEADS_LP
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
SET18FONTDS_WHITE:
|
||||
CALL SET18FONTDS
|
||||
.globl font18_white
|
||||
LDL font18_white,AR2
|
||||
CALL PAL_FIND_RAW
|
||||
STI R0,*+AR0(TEXT_PAL)
|
||||
STI R0,*+AR1(TEXT_PAL)
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
.bss YINCREMENT,1
|
||||
*----------------------------------------------------------------------------
|
||||
.globl VANITY,VANITY_SUB
|
||||
VANITY:
|
||||
JSRP VANITY_SUB
|
||||
BR CYCLE_ATTR
|
||||
|
||||
|
||||
VANITY_SUB:
|
||||
LDI MATTR,R0
|
||||
STI R0,@_MODE
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@COINOFF
|
||||
CLRI R0
|
||||
STI R0,@BGNDCOLA
|
||||
STI R0,@NOAERASE
|
||||
|
||||
|
||||
LDI @CAMERAPOSI,AR6
|
||||
CLRF R2
|
||||
STF R2,*+AR6(X)
|
||||
STF R2,*+AR6(Y)
|
||||
STF R2,*+AR6(Z)
|
||||
LDI @CAMERARADI,AR6
|
||||
STF R2,*+AR6(X)
|
||||
STF R2,*+AR6(Y)
|
||||
STF R2,*+AR6(Z)
|
||||
LDI @CAMERAMATRIXI,AR2
|
||||
CALL FIND_YMATRIX
|
||||
|
||||
SLEEP 1
|
||||
|
||||
CREATE VANITY_HEADS,HEADTYPE
|
||||
|
||||
|
||||
CREATE TEXTDELER,HEADTYPE
|
||||
; CREATE LOGO_WATCH,UTIL_C
|
||||
|
||||
LDL SET18FONTDS_WHITE,R0
|
||||
STI R0,@FONTUSED
|
||||
|
||||
LDF 24,R0
|
||||
STF R0,@YINCREMENT
|
||||
|
||||
FLOAT 420,R6
|
||||
LDI 2,AR5
|
||||
LDI @THANKS_TABLEI,AR4
|
||||
DTLP2
|
||||
ADDF @YINCREMENT,R6 ;ADDF 24,R6
|
||||
|
||||
KKPD FLOAT 402,R0
|
||||
CMPF R0,R6
|
||||
BLT JJDDA
|
||||
SLEEP 1
|
||||
SUBF 1,R6
|
||||
BU KKPD
|
||||
JJDDA
|
||||
|
||||
LDI *AR4++,R7 ;number of entries
|
||||
|
||||
CMPI 10,R7
|
||||
BNE NOT10
|
||||
LDI *AR4++,R0
|
||||
STI R0,@FONTUSED
|
||||
|
||||
LDF 10,R0
|
||||
STF R0,@YINCREMENT
|
||||
|
||||
BU KKPD
|
||||
NOT10
|
||||
|
||||
CMPI 8,R7
|
||||
BNE NOTSPEC8
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
BU DTLP2
|
||||
NOTSPEC8
|
||||
|
||||
|
||||
CMPI 7,R7
|
||||
BNE NOTSPEC7
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
CALL RIGHTEM
|
||||
BU DTLP2
|
||||
NOTSPEC7
|
||||
|
||||
|
||||
|
||||
CMPI 4,R7
|
||||
BNE NOTSPEC4
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@TEXT_FREEZE
|
||||
SLEEP 60
|
||||
CLRI R0
|
||||
STI R0,@TEXT_FREEZE
|
||||
BU KKPD
|
||||
|
||||
NOTSPEC4
|
||||
|
||||
CMPI 99,R7
|
||||
BNE NOTSPEC99
|
||||
|
||||
FLOAT *AR4++,R2
|
||||
|
||||
FLOAT (256-600),R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
CALL CENTEREM
|
||||
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
LDI AR0,AR4
|
||||
LDI AR1,AR5
|
||||
CREATE KRIS,HEADTYPE
|
||||
POP AR5
|
||||
POP AR4
|
||||
BU DTLP2
|
||||
|
||||
KRIS: SLEEP 1
|
||||
|
||||
LDF *+AR4(TEXT_POSX),R0
|
||||
FLOAT 259,R1
|
||||
SUBF R0,R1
|
||||
MPYF 0.05,R1
|
||||
ADDF R1,R0
|
||||
STF R0,*+AR4(TEXT_POSX)
|
||||
|
||||
LDF *+AR5(TEXT_POSX),R0
|
||||
FLOAT 256,R1
|
||||
SUBF R0,R1
|
||||
MPYF 0.05,R1
|
||||
ADDF R1,R0
|
||||
STF R0,*+AR5(TEXT_POSX)
|
||||
BU KRIS
|
||||
|
||||
|
||||
|
||||
NOTSPEC99
|
||||
|
||||
CMPI 3,R7
|
||||
BNE NOTSPEC3
|
||||
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
CALL CENTEREM
|
||||
|
||||
|
||||
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
LDI AR0,AR4
|
||||
LDI AR1,AR5
|
||||
CREATE ADAMSTOPRIBYL,HEADTYPE
|
||||
POP AR5
|
||||
POP AR4
|
||||
BU DTLP2
|
||||
|
||||
CHISPRIB SPTR "CHRISTINE PRIBYL"
|
||||
ADAMSTOPRIBYL:
|
||||
|
||||
SLEEP 1
|
||||
LDF *+AR4(TEXT_POSY),R0
|
||||
FLOAT 250,R1
|
||||
CMPF R1,R0
|
||||
BGT ADAMSTOPRIBYL
|
||||
|
||||
LDI @CHISPRIB,R0
|
||||
STI R0,*+AR4(TEXT_PTR)
|
||||
STI R0,*+AR5(TEXT_PTR)
|
||||
DIE
|
||||
|
||||
|
||||
NOTSPEC3
|
||||
CMPI -1,R7
|
||||
BEQ WTD55
|
||||
CMPI 0,R7
|
||||
BNE NOT0
|
||||
|
||||
BU DTLP2
|
||||
|
||||
NOT0
|
||||
CMPI 2,R7
|
||||
BEQ TWO
|
||||
|
||||
;ONE
|
||||
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
CALL CENTEREM
|
||||
|
||||
BU DTLP2
|
||||
|
||||
TWO
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
|
||||
|
||||
FLOAT *AR4++,R2
|
||||
LDF R6,R3
|
||||
LDI *AR4++,AR2
|
||||
CALL GETT
|
||||
CALL RIGHTEM
|
||||
BU DTLP2
|
||||
|
||||
WTD55
|
||||
|
||||
LDI HEADTYPE,R0
|
||||
LDI -1,R1
|
||||
CALL PRC_KILLALL
|
||||
RETP
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*SUBROUTINE FOR THE ABOVE
|
||||
*
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 STRING
|
||||
* R2 X
|
||||
* R3 Y
|
||||
* R4 FONT
|
||||
*RETURNS
|
||||
* AR0 S1
|
||||
* AR1 S2
|
||||
*
|
||||
|
||||
.bss FONTUSED,1
|
||||
; LDL SET18FONTDS
|
||||
; LDL SETFIXEDFONTDS
|
||||
GETT:
|
||||
LDI 9999,RC
|
||||
CALL TEXT_ADDDS
|
||||
|
||||
LDF -1,R0
|
||||
STF R0,*+AR0(TEXT_VELY)
|
||||
STF R0,*+AR1(TEXT_VELY)
|
||||
|
||||
LDI @FONTUSED,R0
|
||||
CALLU R0
|
||||
RETS
|
||||
|
||||
CENTEREM:
|
||||
LDI *+AR0(TEXT_COLOR),R0
|
||||
OR TXT_CENTER,R0
|
||||
STI R0,*+AR0(TEXT_COLOR)
|
||||
LDI *+AR1(TEXT_COLOR),R0
|
||||
OR TXT_CENTER,R0
|
||||
STI R0,*+AR1(TEXT_COLOR)
|
||||
RETS
|
||||
|
||||
RIGHTEM:
|
||||
LDI *+AR0(TEXT_COLOR),R0
|
||||
OR TXT_RIGHT,R0
|
||||
STI R0,*+AR0(TEXT_COLOR)
|
||||
LDI *+AR1(TEXT_COLOR),R0
|
||||
OR TXT_RIGHT,R0
|
||||
STI R0,*+AR1(TEXT_COLOR)
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
romdata
|
||||
.string "DONT DISASSEMBLE MY CODE!!! YOU WONT"
|
||||
.string "FIND ANYTHING BUT BUGS AND PULLED OUT HAIR"
|
||||
.string "AND MAYBE SOME FERRET TURDS"
|
||||
.string "LIVE LONG AND ENJOY LIFE. WE ONLY LIVE ONCE,"
|
||||
.string "AND THERES FAR TOO MUCH CODE LEFT TO BE WRITTEN"
|
||||
.string "ERIC L PRIBYL AUG 15,1994"
|
||||
.text
|
||||
|
||||
|
||||
.include VANTAB.INC
|
||||
|
|
@ -0,0 +1,849 @@
|
|||
.FILE "HOTTUB.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
|
||||
|
||||
|
||||
.globl HT_HOTTUB,HT_RADAR,HT_STAGENT
|
||||
|
||||
|
||||
|
||||
BABA1 SPTR "THE PRESIDENT OF"
|
||||
BABA2 SPTR "THE UNITED STATES"
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*JSRPed from BONUS SCREEN
|
||||
*
|
||||
HOTTUB_SCENE:
|
||||
LDI 1,R0
|
||||
.globl DO_FOLDFLAG
|
||||
STI R0,@DO_FOLDFLAG ;whoosh the text away
|
||||
|
||||
CLRI R0
|
||||
STI R0,@NOAERASE
|
||||
|
||||
LDI @_MODE,R0
|
||||
OR MINFIN|MWATER,R0
|
||||
STI R0,@_MODE
|
||||
|
||||
FLOAT 0,R0
|
||||
STF R0,@INFIN_CORRECT
|
||||
|
||||
|
||||
|
||||
CALL OBJ_INIT
|
||||
|
||||
|
||||
LDI @CAMERAPOSI,AR6
|
||||
FLOAT -600,R0 ;-100
|
||||
STF R0,*+AR6(Y)
|
||||
CLRF R0
|
||||
STF R0,*+AR6(X)
|
||||
FLOAT -12000,R0
|
||||
STF R0,*+AR6(Z)
|
||||
|
||||
|
||||
LDF 0,R2
|
||||
LDP @_CAMERARAD
|
||||
STF R2,@_CAMERARAD+Y
|
||||
SETDP
|
||||
LDI @CAMERAMATRIXI,AR2
|
||||
CALL FIND_YMATRIX
|
||||
|
||||
|
||||
|
||||
LDL dc_PALETTES,AR2
|
||||
CALL dealloc_section
|
||||
|
||||
LDL dc_shared_PALETTES,AR2
|
||||
CALL alloc_section
|
||||
LDL finale_PALETTES,AR2
|
||||
CALL alloc_section
|
||||
|
||||
|
||||
|
||||
FIFO_CLRP R0 ;IS THE FIFO CLEAR
|
||||
DMA_WT R0
|
||||
CALL FIFO_RESET
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@HARD_SECTION_LOAD
|
||||
LDL _SECdc_shared,AR2
|
||||
CALL LOAD_SECTION_REQ
|
||||
|
||||
LDI 1,R0
|
||||
STI R0,@HARD_SECTION_LOAD
|
||||
LDL _SECfinale,AR2
|
||||
CALL LOAD_SECTION_REQ
|
||||
|
||||
LDL _SECdc_shared,AR2
|
||||
CALL LOAD_SECTION_REQ
|
||||
|
||||
|
||||
|
||||
|
||||
LDI @_MODE,R0
|
||||
ANDN MINFIN|MWATER,R0
|
||||
STI R0,@_MODE
|
||||
|
||||
|
||||
SOND1 LOWCOUNTRY
|
||||
SOND1 THEPRES ;"Ladies and gentlemen...
|
||||
|
||||
|
||||
LDL preseal2,AR2
|
||||
CLRI R2
|
||||
LDI -30,R3
|
||||
LDI 368,RC
|
||||
CALL OBJ_QMAKE
|
||||
.bss PRES,1
|
||||
ORM O_NOUNIV|O_POSTER|O_NOUROT,*+AR0(OFLAGS)
|
||||
LDI AR0,AR2
|
||||
STI AR2,@PRES
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
|
||||
LDI @BABA1,AR2
|
||||
FLOAT 256,R2
|
||||
FLOAT 270,R3
|
||||
LDI 46,RC
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
|
||||
LDI @BABA2,AR2
|
||||
FLOAT 256,R2
|
||||
FLOAT 300,R3
|
||||
LDI 46,RC
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
|
||||
CREATE POLITICAL_CARTOON_NOTICE,1234h
|
||||
|
||||
SLEEP 15
|
||||
|
||||
|
||||
CALL SCREENWIPE_OPEN
|
||||
LDL whitehse_grp,AR2
|
||||
CALL LOAD_SINGLE_SECTION
|
||||
CALL START_ANIMATIONS
|
||||
CREATE HOTTUB_WATERVOL,1235h
|
||||
|
||||
|
||||
LDI @_MODE,R0
|
||||
OR MINFIN|MWATER,R0
|
||||
STI R0,@_MODE
|
||||
|
||||
SLEEP 5
|
||||
|
||||
CREATE PREZSPEAK,1234h
|
||||
|
||||
SLEEP 25
|
||||
LDI @PRES,AR2
|
||||
CALL OBJ_DELETE
|
||||
|
||||
SLEEP 30
|
||||
LDI 1,R0
|
||||
STI R0,@NOAERASE
|
||||
|
||||
LDI 180,AR5
|
||||
; LDI 210,AR5
|
||||
HOTTUB_LPB
|
||||
LDI @CAMERAPOSI,AR6
|
||||
|
||||
LDF *+AR6(Z),R0
|
||||
FLOAT -1500,R1
|
||||
SUBF R0,R1,R2
|
||||
; MPYF 0.02,R2
|
||||
MPYF 0.017,R2
|
||||
ADDF R2,R0
|
||||
STF R0,*+AR6(Z)
|
||||
|
||||
LDF *+AR6(Y),R0
|
||||
FLOAT -4300,R1
|
||||
SUBF R0,R1,R2
|
||||
MPYF 0.04,R2
|
||||
ADDF R2,R0
|
||||
STF R0,*+AR6(Y)
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,HOTTUB_LPB
|
||||
SLEEP 300
|
||||
|
||||
CALL SCREENWIPE_CLOSE
|
||||
|
||||
LDI 1235h,R0
|
||||
LDI -1,R1
|
||||
CALL PRC_KILLALL
|
||||
LDI FIREHYDRSND,AR2
|
||||
CALL KILLSNDFX
|
||||
|
||||
SOND1 CLIN8
|
||||
|
||||
SLEEP 15
|
||||
|
||||
|
||||
SONDFX CROWD1
|
||||
SONDFX CROWDROAR
|
||||
|
||||
LDI 100,AR5
|
||||
HOTTUB_LPB2
|
||||
LDI @CAMERAPOSI,AR6
|
||||
|
||||
LDF *+AR6(Z),R0
|
||||
FLOAT -12000,R1
|
||||
SUBF R0,R1,R2
|
||||
MPYF 0.01,R2
|
||||
ADDF R2,R0
|
||||
STF R0,*+AR6(Z)
|
||||
|
||||
CMPI 60,AR5
|
||||
BNE HOTTT
|
||||
SOND1 CLIN5
|
||||
LDI 3,R0 ;COOL LAST YEEHAH
|
||||
LDI 130,R1
|
||||
CALL SET_TRACK_VOL
|
||||
|
||||
HOTTT
|
||||
SLEEP 1
|
||||
DBU AR5,HOTTUB_LPB2
|
||||
|
||||
|
||||
;moved to bonus.asm
|
||||
;Wed Mar 8 09:52:21 1995
|
||||
;
|
||||
; SLEEP 1
|
||||
;
|
||||
; CALL OBJ_INIT
|
||||
; CALL INIT_DRONES ;initialize DRONE tracker system
|
||||
; CALL DYNAOBJ_INIT ;initialize DYNAMIC OBJECTS
|
||||
; CALL CARB_INIT ;initialize CAR BLOCKS
|
||||
; CALL INIT_RDDEBRIS ;initialize ROAD DEBRIS list(s)
|
||||
;
|
||||
;
|
||||
; LDI 1234h,R0
|
||||
; LDI -1,R1
|
||||
; CALL PRC_KILLALL
|
||||
;
|
||||
;
|
||||
; LDI SPAWNER_C|ANIMATION_T,R0
|
||||
; LDI -1,R1
|
||||
; CALL PRC_KILLALL
|
||||
;
|
||||
;
|
||||
; LDL dc_shared_PALETTES,AR2
|
||||
; CALL dealloc_section
|
||||
; LDL finale_PALETTES,AR2
|
||||
; CALL dealloc_section
|
||||
|
||||
RETP
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
HOTTUB_WATERVOL:
|
||||
|
||||
LDI @WATCHOBJ,AR4
|
||||
LDF *+AR4(OPOSX),R0
|
||||
LDI @CAMERAPOSI,AR0
|
||||
SUBF *+AR0(X),R0
|
||||
MPYF R0,R0
|
||||
|
||||
LDF *+AR4(OPOSZ),R2
|
||||
SUBF *+AR0(Z),R2
|
||||
MPYF R2,R2
|
||||
|
||||
ADDF R0,R2
|
||||
CALL SQRT
|
||||
|
||||
|
||||
;from 0-12,000 255
|
||||
;12,001-64,000 255-110
|
||||
;
|
||||
FLOAT 2000,R1
|
||||
CMPF R1,R0
|
||||
BGT NDOO
|
||||
|
||||
LDI 205,R2
|
||||
BU BIBO
|
||||
|
||||
NBIBO LDI 10,R2
|
||||
BU BIBO
|
||||
NDOO
|
||||
|
||||
FLOAT 12000,R2
|
||||
CMPF R2,R0
|
||||
BGT NBIBO
|
||||
|
||||
SUBF R1,R0
|
||||
MPYFL 0.0001,R0 ;1/50,000
|
||||
SUBRF 1.0,R0
|
||||
MPYF 205,R0
|
||||
FIX R0,R2
|
||||
|
||||
CMPI 180,R2
|
||||
LDIGT 180,R2
|
||||
|
||||
BIBO LDI FIREHYDRSND,AR2
|
||||
CALL AMBIENCE_SOUND
|
||||
SLEEP 1
|
||||
BU HOTTUB_WATERVOL
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
PREZSPEAK:
|
||||
SLEEP 25
|
||||
SONDFX CROWDROAR
|
||||
SLEEP 25
|
||||
SOND1 CLIN1 ;Croozin USA
|
||||
SLEEP 44
|
||||
SOND1 CLIN2 ;Come on Down
|
||||
SONDFX CROWD1
|
||||
SLEEP 75
|
||||
SOND1 CLIN3 ;I luv this job
|
||||
SONDFX CROWDROAR
|
||||
SLEEP 50
|
||||
SOND1 CLIN5 ;Yee HAW
|
||||
SLEEP 40
|
||||
SOND1 CLIN4 ;Come in the hot tub
|
||||
SLEEP 60
|
||||
SOND1 CHICKCHEER
|
||||
SLEEP 70
|
||||
SOND1 CLIN6 ;Well Hoo Eee
|
||||
SLEEP 30
|
||||
SONDFX MOO
|
||||
SLEEP 40
|
||||
SOND1 CLIN7 ;Hey Doggie
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
START_ANIMATIONS:
|
||||
|
||||
LDI @OACTIVEI,AR4
|
||||
|
||||
ODC LDI *AR4,R3
|
||||
BZ ODCX
|
||||
|
||||
LDI R3,AR4
|
||||
ODCL2 LDI *+AR4(OID),R2
|
||||
|
||||
CMPI 6D0h,R2
|
||||
BNE HHTT
|
||||
CALL HT_HUNGH
|
||||
BU ODC
|
||||
|
||||
|
||||
HHTT
|
||||
CMPI 621h,R2
|
||||
BNE NTT1
|
||||
|
||||
CALL HT_HOTTUB
|
||||
BU ODC
|
||||
NTT1
|
||||
CMPI 622h,R2
|
||||
BNE NTT1A
|
||||
|
||||
CALL HT_HILLY
|
||||
BU ODC
|
||||
NTT1A
|
||||
CMPI 623h,R2
|
||||
BNE NTT1B
|
||||
|
||||
CALL HT_GIRL
|
||||
BU ODC
|
||||
NTT1B
|
||||
|
||||
|
||||
CMPI 615h,R2
|
||||
BNE NTT2
|
||||
|
||||
CALL HT_RADAR
|
||||
BU ODC
|
||||
NTT2 CMPI 616h,R2
|
||||
BNE ODC
|
||||
|
||||
CALL HT_STAGENT
|
||||
BU ODC
|
||||
ODCX
|
||||
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
ANI_HOTTUBI .word ANI_HOTTUB
|
||||
ANI_HOTTUB .word htub,htub1,htub2,htub3,htub4,htub5,-1
|
||||
|
||||
HILLANII .word HILLANI
|
||||
HILLANI .word hilly1,hilly2,hilly3,hilly4,hilly5,hilly6,-1
|
||||
|
||||
GIRLANII .word GIRLANI
|
||||
GIRLANI .word girl1,girl2,girl3,girl4,girl5,girl6,-1
|
||||
|
||||
;hott1,hott2,hott3,hott4,hott5,hott6,-1
|
||||
|
||||
ANI_RADARI .word ANI_RADAR
|
||||
ANI_RADAR .word rad1,rad2,rad3,rad4,rad5,rad6,rad7,rad8,rad9,-1
|
||||
|
||||
ANI_STAGI .word ANI_STAG
|
||||
ANI_STAG .word stagent1,stagent2,stagent3,5,stagent2,-1
|
||||
|
||||
|
||||
HT_HUNGH:
|
||||
PUSH AR6
|
||||
|
||||
; LDI *+AR4(OPLINK),AR2
|
||||
; CALL PRC_KILL
|
||||
|
||||
; LDI *+AR4(OFLAGS),R0
|
||||
; ANDN O_POSTER,R0
|
||||
; STI R0,*+AR4(OFLAGS)
|
||||
|
||||
LDF 1.2,R0
|
||||
STF R0,*+AR4(OMAT00)
|
||||
STF R0,*+AR4(OMAT11)
|
||||
STF R0,*+AR4(OMAT22)
|
||||
|
||||
|
||||
.globl HUNGH_ANISI
|
||||
LDI @HUNGH_ANISI,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
HT_RUT:
|
||||
PUSH AR6
|
||||
|
||||
LDI *+AR4(OPLINK),AR2
|
||||
CALL PRC_KILL
|
||||
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
ANDN O_POSTER,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
.globl RUT_ANISI
|
||||
LDI @RUT_ANISI,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
|
||||
|
||||
.bss WATCHOBJ,1
|
||||
HT_HILLY:
|
||||
PUSH AR6
|
||||
LDI @HILLANII,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
|
||||
HT_GIRL:
|
||||
PUSH AR6
|
||||
LDI @GIRLANII,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
|
||||
HT_HOTTUB:
|
||||
PUSH AR6
|
||||
STI AR4,@WATCHOBJ
|
||||
LDI @ANI_HOTTUBI,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
|
||||
HT_RADAR:
|
||||
PUSH AR6
|
||||
LDI @ANI_RADARI,AR6
|
||||
CREATE PLAINANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
HT_STAGENT:
|
||||
PUSH AR6
|
||||
LDI @ANI_STAGI,AR6
|
||||
CREATE AGENTANI_PROC,SPAWNER_C|ANIMATION_T
|
||||
POP AR6
|
||||
RETS
|
||||
|
||||
|
||||
PLAINANI_PROC:
|
||||
LDI AR6,AR5
|
||||
PLAINANI_LP
|
||||
LDI *AR5++,R0
|
||||
BLT PLAINANI_PROC
|
||||
STI R0,*+AR4(OROMDATA)
|
||||
|
||||
LDI 9,R4
|
||||
RANDN 3
|
||||
ADDI R0,R4
|
||||
|
||||
PPDD SLEEP 1
|
||||
SUBI @NFRAMES,R4
|
||||
BLE PLAINANI_LP
|
||||
BU PPDD
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
AGENTANI_PROC:
|
||||
|
||||
RANDN 50
|
||||
LDI R0,AR2
|
||||
ADDI 20,AR2
|
||||
CALL SLEEP
|
||||
|
||||
|
||||
LDI AR6,AR5
|
||||
AGENTANI_LP
|
||||
|
||||
LDI *AR5++,R0
|
||||
BLT AGENTANI_PROC
|
||||
|
||||
CMPI 5,R0
|
||||
BNE JKG
|
||||
SLEEP 12
|
||||
BU AGENTANI_LP
|
||||
|
||||
JKG STI R0,*+AR4(OROMDATA)
|
||||
|
||||
LDI 15,R4
|
||||
PPDDA SLEEP 1
|
||||
SUBI @NFRAMES,R4
|
||||
BLE AGENTANI_LP
|
||||
BU PPDDA
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
PC1 SPTR "CELEBRITY IMPERSONATION"
|
||||
PC2 SPTR "POLITICAL CARTOON"
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
POLITICAL_CARTOON_NOTICE:
|
||||
|
||||
LDI @PC1,AR2
|
||||
LDI 15,RC
|
||||
CALL POLTXT
|
||||
|
||||
SLEEP 26
|
||||
|
||||
LDI @PC2,AR2
|
||||
LDI 20,RC
|
||||
CALL POLTXT
|
||||
DIE
|
||||
|
||||
POLTXT:
|
||||
FLOAT 256,R2
|
||||
FLOAT 20,R3
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
|
||||
.globl font18_white
|
||||
LDL font18_white,AR2
|
||||
CALL PAL_FIND_RAW
|
||||
STI R0,*+AR0(TEXT_PAL)
|
||||
STI R0,*+AR1(TEXT_PAL)
|
||||
RETS
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
BABE_ASTRT .set PDATA
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
CROWD_IT:
|
||||
LDI 255,R2
|
||||
LDI CROWD1,AR2
|
||||
CALL AMBIENCE_SOUND
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
BABE_TROPHY:
|
||||
|
||||
; SLEEP 6
|
||||
LDI 12,AR5
|
||||
DABLP3 SLEEP 1
|
||||
SUBI @NFRAMES,AR5
|
||||
CMPI 0,AR5
|
||||
LDILT 0,AR5
|
||||
DBU AR5,DABLP3
|
||||
|
||||
SOND1 GETREADYTUNE
|
||||
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
|
||||
FLOAT -50,R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
FLOAT 310,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_POSTER|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
LDL here1,R0
|
||||
STI R0,*+AR4(OROMDATA)
|
||||
|
||||
|
||||
READAUD ADJ_GIRLS
|
||||
CMPI 0,R0
|
||||
BEQ NODA
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
NODA
|
||||
|
||||
LDL BABE_TROPHY_SCRIPT,AR6
|
||||
STI AR6,*+AR7(BABE_ASTRT)
|
||||
|
||||
LDI 11,AR5
|
||||
BABE_LP
|
||||
LDF *+AR4(OPOSY),R0
|
||||
SUBF 3,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
|
||||
CALL BABE_ANI
|
||||
CALL CROWD_IT
|
||||
|
||||
SLEEP 1
|
||||
|
||||
LDF *+AR4(OPOSY),R0
|
||||
SUBF 3,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
CALL CROWD_IT
|
||||
SLEEP 1
|
||||
|
||||
LDF *+AR4(OPOSY),R0
|
||||
SUBF 3,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
CALL CROWD_IT
|
||||
SLEEP 1
|
||||
DBU AR5,BABE_LP
|
||||
|
||||
|
||||
LDI 13,AR5
|
||||
BBD CALL BABE_ANI
|
||||
CALL CROWD_IT
|
||||
SLEEP 3
|
||||
DBU AR5,BBD
|
||||
|
||||
SONDFX CHICK_LAUGH
|
||||
|
||||
|
||||
LDI 27,AR5
|
||||
BABE_LP2
|
||||
CALL BABE_ANI
|
||||
CALL CROWD_IT
|
||||
|
||||
SLEEP 3
|
||||
DBU AR5,BABE_LP2
|
||||
|
||||
|
||||
; LDI 25-1,AR5
|
||||
LDI 50-1,AR5
|
||||
BABLP3 SLEEP 1
|
||||
SUBI @NFRAMES,AR5
|
||||
CMPI 0,AR5
|
||||
LDILT 0,AR5
|
||||
DBU AR5,BABLP3
|
||||
|
||||
BABE_TROPHYX
|
||||
|
||||
CREATEC BABE_IBO,UTIL_C
|
||||
LDI *+AR7(BABE_ASTRT),R0
|
||||
STI R0,*+AR0(BABE_ASTRT)
|
||||
RETP
|
||||
|
||||
*
|
||||
*
|
||||
BABE_IBO:
|
||||
LDI 6,AR5
|
||||
BABE_LP3
|
||||
LDF *+AR4(OPOSY),R0
|
||||
ADDF 15,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
SLEEP 1
|
||||
|
||||
LDF *+AR4(OPOSY),R0
|
||||
ADDF 15,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
SLEEP 1
|
||||
|
||||
LDF *+AR4(OPOSY),R0
|
||||
ADDF 15,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
SLEEP 1
|
||||
|
||||
DBU AR5,BABE_LP3
|
||||
|
||||
LDI 0,R0
|
||||
LDI 100,R1
|
||||
CALL SET_TRACK_VOL
|
||||
SOND1 MAPTUNE
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
BABE_ANI:
|
||||
LONGROUT
|
||||
BABE_ANIKK
|
||||
LDI *AR6++,R0
|
||||
BN BX
|
||||
STI R0,*+AR4(OROMDATA)
|
||||
RETS
|
||||
BX LDI *+AR7(BABE_ASTRT),AR6
|
||||
BU BABE_ANIKK
|
||||
END_LONGROUT
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
BABE_TROPHY_SCRIPT
|
||||
.word here1
|
||||
.word here2
|
||||
.word here3
|
||||
.word here4
|
||||
.word here5
|
||||
.word here6
|
||||
.word -1
|
||||
|
||||
|
||||
BABE_FLAG_SCRIPT
|
||||
.word flag1
|
||||
.word flag2
|
||||
.word flag3
|
||||
.word flag4
|
||||
.word flag5
|
||||
.word flag6
|
||||
.word flag7
|
||||
.word -1
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
BABE_WAVEFLAG:
|
||||
READAUD ADJ_GIRLS
|
||||
CMPI 0,R0
|
||||
BEQ SUICIDE
|
||||
|
||||
CALL OBJ_GET
|
||||
LDI AR0,AR4
|
||||
|
||||
FLOAT -350,R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
FLOAT 40,R0
|
||||
STF R0,*+AR4(OPOSY)
|
||||
FLOAT 368,R0
|
||||
STF R0,*+AR4(OPOSZ)
|
||||
|
||||
LDI *+AR4(OFLAGS),R0
|
||||
OR O_POSTER|O_NOUROT|O_NOUNIV,R0
|
||||
STI R0,*+AR4(OFLAGS)
|
||||
|
||||
LDL flag1,R0
|
||||
STI R0,*+AR4(OROMDATA)
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_INSERTP
|
||||
|
||||
|
||||
BABEWTLP
|
||||
LDI @BABE_CONTROL,R0
|
||||
BNZ BABEGO
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
FLOAT -200,R1
|
||||
CMPF R1,R0
|
||||
BGE IBO2
|
||||
ADDF 5,R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
IBO2
|
||||
|
||||
SLEEP 1
|
||||
BU BABEWTLP
|
||||
|
||||
BABEGO
|
||||
|
||||
LDI 17,AR5
|
||||
BABERST
|
||||
LDL BABE_FLAG_SCRIPT,AR6
|
||||
BABE_LPWF
|
||||
LDI *AR6++,R0
|
||||
BN BABERST
|
||||
STI R0,*+AR4(OROMDATA)
|
||||
|
||||
SLEEP 2
|
||||
DBU AR5,BABE_LPWF
|
||||
|
||||
SLEEP 5
|
||||
|
||||
|
||||
|
||||
LDI 16,AR5
|
||||
BABEOFF
|
||||
LDF *+AR4(OPOSX),R0
|
||||
SUBF 6,R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
|
||||
SLEEP 1
|
||||
|
||||
LDF *+AR4(OPOSX),R0
|
||||
SUBF 6,R0
|
||||
STF R0,*+AR4(OPOSX)
|
||||
SLEEP 1
|
||||
DBU AR5,BABEOFF
|
||||
|
||||
|
||||
LDI AR4,AR2
|
||||
CALL OBJ_DELETE
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,168 @@
|
|||
******************************************************
|
||||
* TMS320C30 C COMPILER Version 4.50
|
||||
******************************************************
|
||||
; C:\BIN\ac30.exe -mr -ic:\c30tools -x -q hpmath.c e:\hpmath.if
|
||||
; C:\BIN\opt30.exe -m -r -a -q -O2 e:\hpmath.if e:\hpmath.opt
|
||||
; C:\BIN\cg30.exe -o -n -b -m -p -a -c -q e:\hpmath.opt hpmath.asm e:\hpmath.tmp
|
||||
.version 30
|
||||
FP .set AR3
|
||||
.file "hpmath.c"
|
||||
|
||||
.sym _HPsin,_HPsin,38,2,0
|
||||
.globl _HPsin
|
||||
|
||||
.func 51
|
||||
******************************************************
|
||||
* FUNCTION DEF : _HPsin
|
||||
******************************************************
|
||||
_HPsin:
|
||||
PUSH R4
|
||||
.sym _x,2,6,17,32
|
||||
*
|
||||
* R2 assigned to parameter x
|
||||
* R3 assigned to variable sgn
|
||||
* R4 assigned to variable xn
|
||||
*
|
||||
.sym _x,2,6,4,32
|
||||
.sym _sgn,3,6,4,32
|
||||
.sym C$2,2,6,4,32
|
||||
.sym C$1,4,6,4,32
|
||||
.sym _xn,4,6,4,32
|
||||
.sym C$3,19,4,4,32
|
||||
.line 2
|
||||
.line 4
|
||||
CMPF 0,R2
|
||||
LDFLT -1.0,R3
|
||||
LDFGE 1.0,R3
|
||||
ABSF R2
|
||||
.line 9
|
||||
LDP @CONST+0
|
||||
LDF @CONST+0,R0
|
||||
MPYF R0,R2,R1
|
||||
ADDF 5.0e-1,R1
|
||||
FIX R1,RC
|
||||
FLOAT RC,R4
|
||||
.line 14
|
||||
LDI RC,R0
|
||||
LDI 2,R1
|
||||
CALL MOD_I30
|
||||
BZ LL3
|
||||
NEGF R3
|
||||
LL3:
|
||||
LDF 3.140625,R0
|
||||
MPYF R0,R4,R1
|
||||
SUBF R1,R2,R1
|
||||
LDP @CONST+1
|
||||
MPYF @CONST+1,R4
|
||||
SUBF R4,R1,R4
|
||||
.line 28
|
||||
MPYF R4,R4,R2
|
||||
LDP @CONST+2
|
||||
LDF @CONST+2,R1
|
||||
MPYF R1,R2,R0
|
||||
LDP @CONST+3
|
||||
ADDF @CONST+3,R0
|
||||
MPYF R2,R0
|
||||
LDP @CONST+4
|
||||
ADDF @CONST+4,R0
|
||||
MPYF R2,R0
|
||||
LDP @CONST+5
|
||||
ADDF @CONST+5,R0
|
||||
MPYF R2,R0
|
||||
MPYF R4,R0
|
||||
ADDF R4,R0
|
||||
MPYF R3,R0
|
||||
EPI0_1:
|
||||
.line 29
|
||||
POP R4
|
||||
RETS
|
||||
|
||||
.endfunc 79,000000010H,0
|
||||
|
||||
.sym _HPcos,_HPcos,38,2,0
|
||||
.globl _HPcos
|
||||
|
||||
.func 98
|
||||
******************************************************
|
||||
* FUNCTION DEF : _HPcos
|
||||
******************************************************
|
||||
_HPcos:
|
||||
PUSH R4
|
||||
.sym _x,2,6,17,32
|
||||
*
|
||||
* R2 assigned to variable xn
|
||||
* R3 assigned to variable x
|
||||
* R4 assigned to variable sgn
|
||||
*
|
||||
.sym C$2,2,6,4,32
|
||||
.sym C$1,3,6,4,32
|
||||
.sym _xn,2,6,4,32
|
||||
.sym _x,3,6,4,32
|
||||
.sym C$3,19,4,4,32
|
||||
.sym _sgn,4,6,4,32
|
||||
.sym C$4,2,6,4,32
|
||||
.line 2
|
||||
ABSF R2,R3
|
||||
.line 16
|
||||
LDP @CONST+6
|
||||
LDF @CONST+6,R0
|
||||
ADDF R0,R3,R1
|
||||
LDP @CONST+0
|
||||
MPYF @CONST+0,R1
|
||||
LDF 5.0e-1,R2
|
||||
ADDF R2,R1
|
||||
FIX R1,RC
|
||||
FLOAT RC,R1
|
||||
SUBF R2,R1,R2
|
||||
.line 21
|
||||
LDI RC,R0
|
||||
LDI 2,R1
|
||||
CALL MOD_I30
|
||||
LDFNZ -1.0,R4
|
||||
LDFZ 1.0,R4
|
||||
LDF 3.140625,R0
|
||||
MPYF R0,R2,R1
|
||||
SUBF R1,R3
|
||||
LDP @CONST+1
|
||||
MPYF @CONST+1,R2
|
||||
SUBF R2,R3
|
||||
.line 34
|
||||
MPYF R3,R3,R2
|
||||
LDP @CONST+2
|
||||
LDF @CONST+2,R1
|
||||
MPYF R1,R2,R0
|
||||
LDP @CONST+3
|
||||
ADDF @CONST+3,R0
|
||||
MPYF R2,R0
|
||||
LDP @CONST+4
|
||||
ADDF @CONST+4,R0
|
||||
MPYF R2,R0
|
||||
LDP @CONST+5
|
||||
ADDF @CONST+5,R0
|
||||
MPYF R2,R0
|
||||
MPYF R3,R0
|
||||
ADDF R3,R0
|
||||
MPYF R4,R0
|
||||
EPI0_2:
|
||||
.line 35
|
||||
POP R4
|
||||
RETS
|
||||
|
||||
.endfunc 132,000000010H,0
|
||||
******************************************************
|
||||
* DEFINE CONSTANTS *
|
||||
******************************************************
|
||||
.sect ".const"
|
||||
CONST:
|
||||
.float 3.1830988618379067154e-1;0
|
||||
.float 9.67653589793e-4 ;1
|
||||
.float 2.601903036e-6 ;2
|
||||
.float -1.980741872e-4 ;3
|
||||
.float 8.333025139e-3 ;4
|
||||
.float -1.666665668e-1 ;5
|
||||
.float 1.57079632679489661923;6
|
||||
******************************************************
|
||||
* UNDEFINED REFERENCES *
|
||||
******************************************************
|
||||
.globl MOD_I30
|
||||
.end
|
|
@ -0,0 +1,132 @@
|
|||
/* HPmath.c
|
||||
*
|
||||
* Copyright (C) 1994 by TV Games, Inc.
|
||||
* All Rights Reserved
|
||||
*
|
||||
* These routines are for use only when a high degree of precision
|
||||
* are nessesary.
|
||||
*/
|
||||
|
||||
|
||||
|
||||
#define BITS 23 /* There are 23 bits in the mantissa */
|
||||
#define MAXX 88.72283906 /* ln(HUGE_VAL) */
|
||||
#define MAXH 89.41598624 /* ln(HUGE_VAL) + ln(2) */
|
||||
#define TWO23 8388608 /* 2 ^ BITS */
|
||||
#define XBIG 8.664339757 /* (BITS/2 + 1) * ln(2) */
|
||||
|
||||
|
||||
/* macros used in sin and cos */
|
||||
|
||||
#define INVSPI 0.31830988618379067154
|
||||
#define HALFPI 1.57079632679489661923
|
||||
|
||||
#define C1 3.140625
|
||||
#define C2 9.67653589793e-4
|
||||
|
||||
#define R1 -0.1666665668e+0
|
||||
#define R2 0.8333025139e-2
|
||||
#define R3 -0.1980741872e-3
|
||||
#define R4 0.2601903036e-5
|
||||
|
||||
|
||||
|
||||
/* HPsin() - High Precision sine
|
||||
*
|
||||
* Based on the algorithm from "Software Manual for the Elementary
|
||||
* Functions", Cody and Waite, Prentice Hall 1980, chapter 8.
|
||||
*
|
||||
* N = round(x / PI)
|
||||
* f = x - N * PI
|
||||
* g = f * f
|
||||
* R = polynomial expansion
|
||||
*
|
||||
* result = f + f * R
|
||||
*
|
||||
* if x < 0, result = - result
|
||||
* if N is even, result = - result
|
||||
*
|
||||
* This will return the wrong result for x >= MAXINT * PI
|
||||
*/
|
||||
double HPsin(double x)
|
||||
{
|
||||
double d,y,xn,f,g,rg;
|
||||
float sgn = (x < 0) ? -1.0 : 1.0;
|
||||
int n;
|
||||
|
||||
x = fabs(x);
|
||||
n = (int) ((x * INVSPI) + 0.5);
|
||||
xn = (double) n;
|
||||
|
||||
/*
|
||||
* if n is odd, negate the sign
|
||||
*/
|
||||
if (n % 2) sgn = -sgn;
|
||||
|
||||
/*
|
||||
* f = x - xn * PI (but mathematically more stable)
|
||||
*/
|
||||
f = (x - xn * C1) - xn * C2;
|
||||
|
||||
/*
|
||||
* determine polynomial expression
|
||||
*/
|
||||
g = f * f;
|
||||
|
||||
rg = (((R4 * g + R3) * g + R2) * g + R1) * g;
|
||||
|
||||
return (sgn * (f + f * rg));
|
||||
}
|
||||
|
||||
|
||||
|
||||
/* HPcos() - High Precision Cosine
|
||||
*
|
||||
* Based on the algorithm from "Software Manual for the Elementary
|
||||
* Functions", Cody and Waite, Prentice Hall 1980, chapter 8.
|
||||
*
|
||||
* N = round(x / PI + 1/2) - 0.5
|
||||
* f = x - N * PI
|
||||
* g = f * f
|
||||
* R = polynomial expression
|
||||
*
|
||||
* result = f + f * R
|
||||
* if N is even, result = - result
|
||||
*
|
||||
* This will return the wrong result for x >= MAXINT * PI
|
||||
*/
|
||||
double HPcos(double x)
|
||||
{
|
||||
float sgn; /* the sign of the result */
|
||||
double xn,f,g,rg;
|
||||
int n;
|
||||
|
||||
/*
|
||||
* cos(x) = cos(-x)
|
||||
*/
|
||||
x = fabs(x);
|
||||
|
||||
/*
|
||||
* n = round(x/PI + 1/2) (can be rounded this way, since positive number)
|
||||
*/
|
||||
n = (int) (((x + HALFPI) * INVSPI) + 0.5);
|
||||
xn = (double) n - 0.5;
|
||||
|
||||
/*
|
||||
* if n is odd, negate the sign
|
||||
*/
|
||||
sgn = (n % 2) ? -1.0 : 1.0;
|
||||
|
||||
/*
|
||||
* f = x - xn * PI (but more mathematically stable)
|
||||
*/
|
||||
f = (x - xn * C1) - xn * C2;
|
||||
|
||||
/*
|
||||
* determine polynomial expression
|
||||
*/
|
||||
g = f * f;
|
||||
|
||||
rg = (((R4 * g + R3) * g + R2) * g + R1) * g;
|
||||
return (sgn * (f + f * rg));
|
||||
}
|
|
@ -0,0 +1,711 @@
|
|||
.FILE "HUD.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*HEADS UP DISPLAY ROUTINES
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include C30.EQU
|
||||
.include MACS.EQU
|
||||
.include MPROC.EQU
|
||||
.include OBJ.EQU
|
||||
.include VUNIT.EQU
|
||||
.include CMOS.EQU
|
||||
.include SYSID.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SNDTAB.EQU
|
||||
.include PALL.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include TEXT.EQU
|
||||
.include DIRQ.EQU
|
||||
|
||||
SECTION_COUNTER .set 0 ;1 = TURN ON UL CRNR
|
||||
|
||||
|
||||
|
||||
COUNTDOWN_BUFI .word COUNTDOWN_BUF
|
||||
.bss COUNTDOWN_BUF,2
|
||||
|
||||
MPH_BUFFERI .word MPH_BUFFER
|
||||
.bss MPH_BUFFER,2
|
||||
|
||||
.bss _countdown,1 ;SD
|
||||
.bss _MPH,1 ;UD
|
||||
.bss SCORE,1 ;UD
|
||||
.bss POSITION,1 ;UD
|
||||
.bss MAXMPH_COUNT,1 ;FL
|
||||
|
||||
STOPBUFFI .word STOPBUFFER
|
||||
.bss STOPBUFFER,4
|
||||
|
||||
romdata
|
||||
YOURLOSTTXT .string "YOU ARE LOST",0
|
||||
OFFROADTXT .string "OFFROAD",0
|
||||
.text
|
||||
.bss OFFROADBUFF,2
|
||||
|
||||
|
||||
|
||||
|
||||
.globl MOTION_STOP_HIT,MOTION_SAFETY_ON
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
.bss MOVEIN_OFFSET,1
|
||||
MOVEIN_HUD_EQUIP:
|
||||
LDI 150,R0
|
||||
STI R0,@MOVEIN_OFFSET
|
||||
|
||||
LIU8 LDI @_MODE,R0
|
||||
TSTB MHUD,R0
|
||||
BNZ M2L
|
||||
SLEEP 1
|
||||
BU LIU8
|
||||
|
||||
|
||||
M2L LDI 25-1,AR5
|
||||
MIHEL
|
||||
LDI @MOVEIN_OFFSET,R0
|
||||
SUBI 6,R0
|
||||
STI R0,@MOVEIN_OFFSET
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,MIHEL
|
||||
|
||||
CLRI R0
|
||||
STI R0,@MOVEIN_OFFSET
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
MOVEOUT_HUD_EQUIP:
|
||||
|
||||
LDI 25-1,AR5
|
||||
MIHEL2
|
||||
LDI @MOVEIN_OFFSET,R0
|
||||
ADDI 6,R0
|
||||
STI R0,@MOVEIN_OFFSET
|
||||
|
||||
SLEEP 1
|
||||
DBU AR5,MIHEL2
|
||||
|
||||
LDI 150,R0
|
||||
STI R0,@MOVEIN_OFFSET
|
||||
DIE
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*HEADS UP DISPLAY ROUTINE
|
||||
*CALL FROM MAIN LOOP
|
||||
*
|
||||
*SHOULD ONLY BE CALLED DURING GAME PLAY
|
||||
*
|
||||
HUD:
|
||||
CALL TACHOMETER_ANIMATE
|
||||
CALL RADAR_PLOT
|
||||
|
||||
;
|
||||
;MOTION SAFETY ON
|
||||
;
|
||||
READAUD ADJ_MOTION_PRESENT
|
||||
CMPI 0,R0
|
||||
BEQ NOMOTIONMSGS
|
||||
|
||||
LDI @MOTION_STOP_HIT,R0
|
||||
BNZ NOMOTIONMSGS
|
||||
|
||||
|
||||
.globl MOTION_SAFETY_ON
|
||||
LDI @MOTION_SAFETY_ON,R0
|
||||
BZ BLAHBLAH
|
||||
|
||||
.data
|
||||
|
||||
SAFETSI .word SAFETS
|
||||
romdata
|
||||
SAFETS .word MSAF,BSAF,OSAF,MSSM
|
||||
MSAF .string "SAFETY MAT ACTIVATED",0
|
||||
BSAF .string "SAFETY BEAM ACTIVATED",0
|
||||
OSAF .string "FAIL SAFE SWITCH ACTIVATED",0
|
||||
MSSM .string "MOTION STOP BUTTON HIT",0
|
||||
|
||||
.text
|
||||
|
||||
|
||||
LDI @SAFETSI,AR2
|
||||
.globl MOTION_SAFETY_TYPE
|
||||
ADDI @MOTION_SAFETY_TYPE,AR2
|
||||
LDI *AR2,AR2
|
||||
|
||||
FLOAT 256,R2
|
||||
FLOAT 310,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
BLAHBLAH
|
||||
;
|
||||
;
|
||||
NOMOTIONMSGS
|
||||
|
||||
|
||||
|
||||
;-------OFF ROAD TIMER
|
||||
;
|
||||
;
|
||||
LDI @_MODE,R0
|
||||
ANDN MMODE,R0
|
||||
CMPI MGAME,R0
|
||||
BNE NOT_OFFROAD
|
||||
|
||||
LDI @OFFROAD_TMR,R2
|
||||
CMPI 10,R2
|
||||
BGE NOT_OFFROAD
|
||||
|
||||
CMPI 3,R2
|
||||
BGT NOTLOST
|
||||
|
||||
|
||||
LDL YOURLOSTTXT,AR2
|
||||
FLOAT 256,R2
|
||||
FLOAT 5,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
CALL SET18FONTDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
BU OFJN
|
||||
NOTLOST
|
||||
LDL OFFROADTXT,AR2
|
||||
FLOAT 256,R2
|
||||
FLOAT 5,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
CALL SET18FONTDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
OFJN
|
||||
|
||||
LDI @OFFROAD_TMR,R2
|
||||
LDL OFFROADBUFF,AR2
|
||||
CALL _itoa
|
||||
FLOAT 256,R2
|
||||
FLOAT 30,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_CENTER,*+AR1(TEXT_COLOR)
|
||||
NOT_OFFROAD
|
||||
|
||||
|
||||
|
||||
|
||||
;-------ELAPSED TIME,SPEED TEXT
|
||||
;
|
||||
;
|
||||
LDL rpm,AR2
|
||||
LDI 420,R2 ;R2 POS X
|
||||
ADDI @MOVEIN_OFFSET,R2
|
||||
LDI 290,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
|
||||
|
||||
LDI @CHOSEN_TRANSMISSION,R0
|
||||
CMPI AUTO_TRANSMISSION,R0
|
||||
BEQ ISAUTOTRNS
|
||||
|
||||
LDL rpmman,AR2
|
||||
LDI 463,R2 ;R2 POS X
|
||||
ADDI @MOVEIN_OFFSET,R2
|
||||
LDI 380,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
BU DNDNL
|
||||
ISAUTOTRNS
|
||||
LDL rpmauto,AR2
|
||||
LDI 470,R2 ;R2 POS X
|
||||
ADDI @MOVEIN_OFFSET,R2
|
||||
LDI 380,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
DNDNL
|
||||
|
||||
|
||||
|
||||
|
||||
;show gear digit
|
||||
;
|
||||
;
|
||||
LDI @PLYCBLK,AR0
|
||||
LDI *+AR0(CARGEAR),AR2
|
||||
ADDI @GEARI,AR2
|
||||
LDI *AR2,AR2
|
||||
FLOAT 458,R2 ;R2 POS X
|
||||
FLOAT @MOVEIN_OFFSET,R0
|
||||
ADDF R0,R2
|
||||
FLOAT 360,R3 ;R3 POS Y
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADD
|
||||
CALL SETSMDIGITFONT
|
||||
|
||||
.data
|
||||
GEARI .word GEARS
|
||||
GEARS .word GEARN,GEAR1,GEAR2,GEAR3,GEAR4
|
||||
GEAR1 .string "1",0
|
||||
GEAR2 .string "2",0
|
||||
GEAR3 .string "3",0
|
||||
GEAR4 .string "4",0
|
||||
GEARN .string ";",0
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
;show MPH or KPH
|
||||
;
|
||||
LDL mph,AR2
|
||||
LDI 0,R2 ;R2 POS X
|
||||
SUBI @MOVEIN_OFFSET,R2
|
||||
LDI 335,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
|
||||
READAUD ADJ_MPHORKPM
|
||||
CMPI 0,R0
|
||||
BEQ ISMPHT
|
||||
|
||||
LDL kph,AR2
|
||||
LDI 50,R2 ;R2 POS X
|
||||
SUBI @MOVEIN_OFFSET,R2
|
||||
LDI 385,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
BU ISDNN
|
||||
ISMPHT
|
||||
|
||||
LDL mphmph,AR2
|
||||
LDI 50,R2 ;R2 POS X
|
||||
SUBI @MOVEIN_OFFSET,R2
|
||||
LDI 385,R3 ;R3 POS Y
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D
|
||||
ISDNN
|
||||
|
||||
|
||||
;-------time remaining
|
||||
;
|
||||
LDL time,AR2
|
||||
LDI 242,R2 ;R2 POS X
|
||||
LDI 9,R3 ;R3 POS Y
|
||||
SUBI @MOVEIN_OFFSET,R3
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D_DS
|
||||
|
||||
|
||||
;-------TIME (_countdown)
|
||||
;
|
||||
;
|
||||
LDI @_countdown,R2
|
||||
LDI @COUNTDOWN_BUFI,AR2
|
||||
CALL _itoa
|
||||
FLOAT 256,R2
|
||||
FLOAT 24,R3
|
||||
FLOAT @MOVEIN_OFFSET,R0
|
||||
SUBF R0,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADD
|
||||
CALL SETN43FONT
|
||||
ORM TXT_CENTER,*+AR0(TEXT_COLOR)
|
||||
.globl lgnum43_coolyelo
|
||||
LDL lgnum43_coolyelo,AR2
|
||||
CALL PAL_FIND_RAW
|
||||
STI R0,*+AR0(TEXT_PAL)
|
||||
|
||||
|
||||
|
||||
;-------LAST 3/10 SECONDS OF TIME (_countdown)
|
||||
;
|
||||
;
|
||||
LDI @_MODE,R0
|
||||
AND MMODE,R0
|
||||
CMPI MGAME,R0
|
||||
BNE NBEEP
|
||||
.bss LASTSEC,1
|
||||
LDI @_countdown,R0
|
||||
CMPI 10,R0
|
||||
BGT NBEEP
|
||||
BLT NOINITBP
|
||||
LDI @LASTSEC,R1
|
||||
CMPI R1,R0
|
||||
BEQ NBEEP
|
||||
STI R0,@LASTSEC
|
||||
SOND1 GV_TENSECONDS
|
||||
BU NBEEP
|
||||
NOINITBP
|
||||
LDI @LASTSEC,R1
|
||||
CMPI R1,R0
|
||||
BEQ NBEEP
|
||||
STI R0,@LASTSEC
|
||||
|
||||
CMPI 3,R0
|
||||
BGT NBEEP
|
||||
SOND1 BASICBEEPH
|
||||
NBEEP
|
||||
|
||||
|
||||
|
||||
;-------SPEED
|
||||
;
|
||||
;
|
||||
;PLOT SPEED
|
||||
|
||||
READAUD ADJ_MPHORKPM
|
||||
CMPI 0,R0
|
||||
BEQ ISMPH
|
||||
|
||||
FLOAT @_MPH,R2
|
||||
MPYF 1.6666,R2
|
||||
FIX R2
|
||||
BU ISKPH
|
||||
|
||||
ISMPH LDI @_MPH,R2
|
||||
ISKPH LDI @MPH_BUFFERI,AR2
|
||||
CALL _itoa
|
||||
FLOAT 66,R2
|
||||
FLOAT @MOVEIN_OFFSET,R0
|
||||
SUBF R0,R2
|
||||
FLOAT 346,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
CALL SETLGDIGITFONTDS
|
||||
ORM TXT_RIGHT,*+AR0(TEXT_COLOR)
|
||||
ORM TXT_RIGHT,*+AR1(TEXT_COLOR)
|
||||
.globl dnums_amber
|
||||
LDL dnums_amber,AR2
|
||||
CALL PAL_FIND_RAW
|
||||
STI R0,*+AR0(TEXT_PAL)
|
||||
STI R0,*+AR1(TEXT_PAL)
|
||||
|
||||
|
||||
;-------STOPWATCH (actual elapsed time)
|
||||
;
|
||||
;
|
||||
LDI 8,R0
|
||||
LDI 19,R1
|
||||
SUBI @MOVEIN_OFFSET,R1
|
||||
LDI 106,R2
|
||||
LDI 30,R3
|
||||
CALL FILL_DITHER
|
||||
|
||||
LDL elap,AR2
|
||||
LDI 10,R2 ;R2 POS X
|
||||
LDI 20,R3 ;R3 POS Y
|
||||
SUBI @MOVEIN_OFFSET,R3
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D_DS
|
||||
|
||||
|
||||
LDI @STOPWATCH,R0
|
||||
LDI @STOPBUFFI,AR2
|
||||
CALL TIME2STR
|
||||
FLOAT 20,R2
|
||||
FLOAT 33,R3
|
||||
FLOAT @MOVEIN_OFFSET,R0
|
||||
SUBF R0,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADDDS
|
||||
CALL SETSMDIGITFONTDS
|
||||
|
||||
|
||||
;-------POSITION
|
||||
;(PLAYERS RANK)
|
||||
;
|
||||
LDI @POSITION,AR4
|
||||
SUBI 1,AR4
|
||||
MPYI 3,AR4
|
||||
ADDI @POS_TABLEI,AR4
|
||||
LDI *AR4++,AR2
|
||||
LDI 415,R2
|
||||
ADDI *+AR4,R2
|
||||
LDI 20,R3
|
||||
SUBI @MOVEIN_OFFSET,R3
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D_DS
|
||||
|
||||
LDI *AR4++,AR2
|
||||
LDI 450,R2
|
||||
LDI 20,R3
|
||||
SUBI @MOVEIN_OFFSET,R3
|
||||
LDI TM|ZS,R4
|
||||
CALL BLTMOD2D_DS
|
||||
|
||||
|
||||
.data
|
||||
POS_TABLEI .word POS_TABLE
|
||||
POS_TABLE
|
||||
.word scred1,dst,7
|
||||
.word scred2,dnd,0
|
||||
.word scred3,drd,0
|
||||
.word scred4,dth,0
|
||||
.word scred5,dth,0
|
||||
.word scred6,dth,0
|
||||
.word scred7,dth,0
|
||||
.word scred8,dth,0
|
||||
.word scred9,dth,0
|
||||
.word scred10,dth,-20
|
||||
.text
|
||||
|
||||
|
||||
|
||||
|
||||
.if SECTION_COUNTER
|
||||
;-------DEBUGGING SECTION_COUNTER
|
||||
;
|
||||
;
|
||||
.bss SECIDX,2
|
||||
LDI @PLYCBLK,AR0
|
||||
LDI *+AR0(CARTRAK),AR0
|
||||
LDI *+AR0(OUSR1),R2
|
||||
RS 8,R2
|
||||
LDL SECIDX,AR2
|
||||
CALL _itoa
|
||||
FLOAT 10,R2
|
||||
FLOAT 50,R3
|
||||
LDI 1,RC
|
||||
CALL TEXT_ADD
|
||||
.endif
|
||||
|
||||
|
||||
;-------LOGIC: MAXMPH COMPUTATION
|
||||
;(COMPUTE FOR BONUS SCREEN...)
|
||||
;
|
||||
;
|
||||
FLOAT @_MPH,R2
|
||||
.globl CHEAT
|
||||
MPYF @CHEAT,R2 ;DO THE CHEAT THING !!!
|
||||
FLOAT @NFRAMES,R0
|
||||
MPYF R0,R2
|
||||
ADDF @MAXMPH,R2
|
||||
STF R2,@MAXMPH
|
||||
|
||||
ADDF @MAXMPH_COUNT,R0
|
||||
; LDF @MAXMPH_COUNT,R0
|
||||
; INCF R0
|
||||
|
||||
STF R0,@MAXMPH_COUNT
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*ALLOCATE PALETTES FOR A SECTION
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 PTR TO SECTION HEADER
|
||||
*
|
||||
SECTION_PALETTE_ALLOC:
|
||||
alloc_section:
|
||||
HARDalloc_section:
|
||||
LDI *AR2++,AR6
|
||||
LDI *AR2,AR5
|
||||
|
||||
DEC AR5
|
||||
alloc_LPA
|
||||
LDI AR6,AR2
|
||||
CALL PAL_ALLOC
|
||||
INC AR6
|
||||
DBU AR5,alloc_LPA
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*DEALLOCATE PALETTES USED FOR A SECTION
|
||||
*
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 SECTION POINTER
|
||||
*
|
||||
dealloc_section:
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
PUSH AR6
|
||||
LDI *AR2++,AR6
|
||||
LDI *AR2,AR5
|
||||
DEC AR5
|
||||
deal_LP
|
||||
LDI AR6,AR2
|
||||
CALL PAL_DELETE
|
||||
INC AR6
|
||||
DBU AR5,deal_LP
|
||||
POP AR6
|
||||
POP AR5
|
||||
POP AR4
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
.include RPM.PAL
|
||||
|
||||
.bss TACHOMETER_PAL,32
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
TACHOMETER_ANIMATE:
|
||||
|
||||
LDL TACH_GRADIENT,AR0
|
||||
LDL TACHOMETER_PAL,AR1
|
||||
|
||||
LDI 22-1,RC
|
||||
RPTB LP89
|
||||
LDI *AR0++,R0
|
||||
LP89 STI R0,*AR1++
|
||||
|
||||
LDI @PLYCBLK,AR0
|
||||
LDF *+AR0(CARRPM),R0
|
||||
MPYF 0.4583,R0 ;22/48
|
||||
; MPYF 0.729,R0 ;35/48
|
||||
; MPYF 0.6041,R0 ;29/48
|
||||
FIX R0
|
||||
CMPI 22,R0
|
||||
LDIGT 22,R0
|
||||
|
||||
CMPI 0,R0
|
||||
LDILT 0,R0
|
||||
LDI R0,RC
|
||||
SUBRI 22,RC
|
||||
|
||||
LDL TACHOMETER_PAL,AR1
|
||||
ADDI R0,AR1
|
||||
CLRI R1
|
||||
RPTS RC
|
||||
STI R1,*AR1++
|
||||
|
||||
|
||||
LDI rpm_p,AR2
|
||||
CALL PAL_FIND
|
||||
PUSH R0
|
||||
LDI R0,R2
|
||||
ADDI 256-22,R2
|
||||
|
||||
LDL TACHOMETER_PAL,AR2
|
||||
LDI 22,R3
|
||||
CALL PAL_SET
|
||||
|
||||
|
||||
|
||||
LDI @PLYCBLK,AR0
|
||||
LDI *+AR0(CARGEAR),R0
|
||||
|
||||
CLRI R1 ;ASSUME NEUTRAL
|
||||
LDL GEARPAL,AR2
|
||||
CMPI 1,R0
|
||||
LDIEQ 4,R1
|
||||
|
||||
CMPI 2,R0
|
||||
LDIEQ 3,R1
|
||||
|
||||
CMPI 3,R0
|
||||
LDIEQ 2,R1
|
||||
|
||||
CMPI 4,R0
|
||||
LDIEQ 1,R1
|
||||
|
||||
POP R2
|
||||
ADDI 1,R2
|
||||
ADDI R1,AR2
|
||||
LDI 4,R3
|
||||
CALL PAL_SET
|
||||
RETS
|
||||
|
||||
GEARPAL
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
RGB 0,255,255
|
||||
.word 0
|
||||
.word 0
|
||||
.word 0
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*PARAMETERS
|
||||
* R0 X POS
|
||||
* R1 Y POS
|
||||
* R2 X WIDTH
|
||||
* R3 Y WIDTH
|
||||
*
|
||||
*
|
||||
FILL_DITHER:
|
||||
PUSH R0
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH R4
|
||||
|
||||
;background
|
||||
LDI CC|DITHER|8,R4
|
||||
BD ENTER2
|
||||
STI R4,@_ACNTL
|
||||
|
||||
CLRI R4
|
||||
STI R4,@_ACMAP
|
||||
;----> BD ENTER2
|
||||
|
||||
FILL_PLOT:
|
||||
PUSH R0
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH R4
|
||||
|
||||
|
||||
; ;background
|
||||
; LDI CC|DITHER|8,R4
|
||||
; STI R4,@_ACNTL
|
||||
ENTER2
|
||||
|
||||
STI R0,@(_ARPS+(0*3))
|
||||
STI R0,@(_ARPS+(3*3))
|
||||
|
||||
ADDI R2,R0
|
||||
STI R0,@(_ARPS+(1*3))
|
||||
STI R0,@(_ARPS+(2*3))
|
||||
|
||||
STI R1,@(_ARPS+(0*3)+1)
|
||||
STI R1,@(_ARPS+(1*3)+1)
|
||||
|
||||
ADDI R3,R1,R0
|
||||
STI R0,@(_ARPS+(3*3)+1)
|
||||
STI R0,@(_ARPS+(2*3)+1)
|
||||
CLRI R0
|
||||
STI R0,@_ADDRL
|
||||
|
||||
CALL _stuff_fpga
|
||||
|
||||
POP R4
|
||||
POP R3
|
||||
POP R2
|
||||
POP R1
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,895 @@
|
|||
.FILE "INFIN.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
.include MACS.EQU
|
||||
.include OBJ.EQU
|
||||
.include OBJECTS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include SYS.EQU
|
||||
.include VUNIT.EQU
|
||||
.include PALL.EQU
|
||||
|
||||
|
||||
.bss CAMRADY,1 ;NORMALIZED 0-2PI CAMERA RAD
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*SEARCH THE ROAD OBJECTS AND FIND THE HIGHEST POSITIONED OBJECT.
|
||||
*
|
||||
*Note that the case of the player being inverted can not happen because the
|
||||
*infinity plane would freak out, and who knows what would happen then, so we
|
||||
*assume that this case is not present. Therefore we can simply say the the
|
||||
*highest valued Y position of the objects is the highest Y position, and then
|
||||
*only that value must be projected in Y.
|
||||
*
|
||||
*
|
||||
HIGH_CLIP_LEVEL .set (5000-1) ;ACTUAL # OF ENTRIES
|
||||
|
||||
.bss HIGHEST_ROADY,1 ;FL CLIP LEVEL IN Y
|
||||
.bss HIGHEST_ROADY_X,1 ;FL CLIP LEVEL IN Y
|
||||
|
||||
.bss VAR_ROAD_KFACTOR,1 ;FL CLIPPING OVERSHOOT FACTOR
|
||||
|
||||
FIND_HIGHEST_ROADY:
|
||||
PUSH R0
|
||||
PUSH R1
|
||||
PUSH R2
|
||||
PUSH R3
|
||||
PUSH R6
|
||||
PUSH R7
|
||||
PUSH AR2
|
||||
|
||||
|
||||
FLOAT 512,R6
|
||||
STPF R6,@HIGHEST_ROADY
|
||||
|
||||
CLRF R7 ;CORRESPONDING Z POS
|
||||
|
||||
LDI @DYNALIST_BEGIN,AR2
|
||||
CMPI 0,AR2
|
||||
BEQ FHRY_X
|
||||
|
||||
FHRYLP
|
||||
LDI *+AR2(OFLAGS),R0
|
||||
AND O_LIST_M,R0
|
||||
CMPI O_LIST1,R0 ;OACTIVE ONLY!
|
||||
BNE NOCHANCE
|
||||
|
||||
|
||||
|
||||
;use leftover CAMERAMATRIX
|
||||
;
|
||||
LDI @VECTORAI,AR1
|
||||
|
||||
LDP @_CAMERAPOS+X
|
||||
LDF *+AR2(OPOSX),R0
|
||||
SUBF @_CAMERAPOS+X,R0
|
||||
STF R0,*+AR1(X)
|
||||
|
||||
LDF *+AR2(OPOSY),R0
|
||||
SUBF @_CAMERAPOS+Y,R0
|
||||
STF R0,*+AR1(Y)
|
||||
|
||||
LDF *+AR2(OPOSZ),R0
|
||||
SUBF @_CAMERAPOS+Z,R0
|
||||
STF R0,*+AR1(Z)
|
||||
SETDP
|
||||
|
||||
LDI AR1,AR0
|
||||
LDI @CAMERAMATRIXI,AR1 ;AR1 IS 3X3 MATRIX
|
||||
|
||||
;matrix mul really only concerned with Y
|
||||
;
|
||||
MPYF *AR0++,*AR1++,R0
|
||||
MPYF *AR0,*AR1++,R2
|
||||
MPYF *+AR0(1),*AR1++,R0
|
||||
|| ADDF R0,R2
|
||||
|
||||
MPYF *-AR0(1),*AR1++,R0
|
||||
|| ADDF R0,R2
|
||||
PUSHF R2
|
||||
|
||||
MPYF *AR0,*AR1++,R2
|
||||
MPYF *+AR0(1),*AR1++,R0
|
||||
|| ADDF R0,R2
|
||||
|
||||
ADDF R0,R2
|
||||
;
|
||||
|
||||
|
||||
POPF R3
|
||||
LDI *+AR2(ODIST),AR1
|
||||
CMPI 0,AR1
|
||||
BLE NOCHANCE
|
||||
RS 4,AR1 ;/16
|
||||
CMPI HIGH_CLIP_LEVEL,AR1
|
||||
BGE NOCHANCE
|
||||
|
||||
ADDI @INVTABI,AR1
|
||||
MPYF *AR1,R3
|
||||
ADDF @SCRNHXI,R3 ;this is the clip level (in Y)
|
||||
CMPF 0,R3
|
||||
BLT NOCHANCE
|
||||
|
||||
FLOAT 512,R0
|
||||
CMPF R0,R3
|
||||
BGT NOCHANCE
|
||||
|
||||
MPYF *AR1,R2
|
||||
ADDF @SCRNHYI,R2 ;this is the clip level (in Y)
|
||||
|
||||
CMPF R2,R6
|
||||
LDFGT R2,R6
|
||||
LDFGT R3,R7 ;SAVE X VALUE
|
||||
|
||||
NOCHANCE
|
||||
LDI *+AR2(OLINK4),AR2
|
||||
CMPI 0,AR2
|
||||
BNE FHRYLP
|
||||
|
||||
;no kludge factor nessesary
|
||||
|
||||
|
||||
|
||||
ADDF @VAR_ROAD_KFACTOR,R6 ;pixels UNDER (overshoot)
|
||||
|
||||
CMPF 0,R6
|
||||
LDFLT 0,R6
|
||||
STPF R6,@HIGHEST_ROADY
|
||||
STPF R7,@HIGHEST_ROADY_X ;SAVE X VALUE
|
||||
|
||||
FHRY_X
|
||||
|
||||
POP AR2
|
||||
POP R7
|
||||
POP R6
|
||||
POP R3
|
||||
POP R2
|
||||
POP R1
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*PLOT INFINITY PLANE
|
||||
*
|
||||
*VERTICES TRANSFORMED AS
|
||||
* 1 3 5
|
||||
*
|
||||
* 0 2 4 etc.
|
||||
*
|
||||
*
|
||||
.bss AMOUNT_CLIPPED,1
|
||||
|
||||
FORMULA .float -244.4619926 ;(6*256)/2PI (convert radians to length of infinity plane)
|
||||
|
||||
LOWVAL .float -1536
|
||||
HIGHVAL .float 1536
|
||||
|
||||
LOIVAL .word -768
|
||||
HIGHIVAL .word 1536
|
||||
|
||||
INFPROJ .float 0.0064
|
||||
INFVAL .float 80000
|
||||
*
|
||||
*
|
||||
*
|
||||
INFINITY:
|
||||
LDI @_MODE,R0
|
||||
TSTB MINTUNNEL,R0
|
||||
RETSNZ
|
||||
AND MMODE,R0
|
||||
CMPI MGAME,R0
|
||||
CALLEQ FIND_HIGHEST_ROADY
|
||||
|
||||
|
||||
;KEEP CAMERARAD Y IN RANGE +-2 PI
|
||||
LDP @_CAMERARAD
|
||||
LDF @_CAMERARAD+Y,R2
|
||||
SETDP
|
||||
BLT INFF0
|
||||
|
||||
CMPF @TWOPII,R2
|
||||
BLT INFF1
|
||||
INFF0
|
||||
SETDP
|
||||
CALL NORMIT ;SAVE TRUNCATED VERSION
|
||||
LDP @_CAMERARAD
|
||||
STF R2,@_CAMERARAD+Y
|
||||
SETDP
|
||||
INFF1
|
||||
STF R2,@CAMRADY
|
||||
;
|
||||
|
||||
|
||||
|
||||
;FIND HORIZON X OFFSET
|
||||
MPYF @FORMULA,R2
|
||||
FIX R2
|
||||
CMPI @HIGHIVAL,R2
|
||||
BLT OK23
|
||||
SUBI @HIGHIVAL,R2
|
||||
OK23
|
||||
|
||||
CMPI @LOIVAL,R2
|
||||
BGT OK554
|
||||
ADDI @HIGHIVAL,R2
|
||||
OK554
|
||||
FLOAT R2,R6 ;R6 = HORIZON X OFFSET
|
||||
|
||||
|
||||
|
||||
|
||||
;REMOVE Y AXIS ROTATION FROM CAMERA MATRIX
|
||||
;
|
||||
;
|
||||
LDI @MATRIXAI,AR2 ;find_Ymatrix(&MATRIXA, -CAMERARAD.y);
|
||||
NEGF @CAMRADY,R2 ;concatmat(&MATRIXA, &CAMERAMATRIX, &MATRIXA);
|
||||
CALL FIND_YMATRIX
|
||||
|
||||
LDI AR2,R3
|
||||
LDI @CAMERAMATRIXI,R2
|
||||
CALL CONCATMAT
|
||||
|
||||
|
||||
;GET Y HEIGHT OF CLIP ELEMENT
|
||||
LDF @HIGHEST_ROADY,R0
|
||||
ADDF 25,R0
|
||||
LDF @INFIN_CORRECT,R1
|
||||
ADDF @SCRNHYI,R1
|
||||
SUBF R1,R0
|
||||
LDFLT 0,R0
|
||||
|
||||
LDI @_MODE,R1
|
||||
AND MMODE,R1
|
||||
CMPI MGAME,R1
|
||||
LDFNE 0,R0
|
||||
STF R0,@AMOUNT_CLIPPED
|
||||
|
||||
;
|
||||
;a2c = hsy - hy
|
||||
;0 - amount to clip
|
||||
|
||||
|
||||
;ROTATE INFINITY PLANE COORDS
|
||||
LDI @INFINITY_POINTS,AR5
|
||||
LDI @BLOWLISTI,AR6
|
||||
LDI 33,AR4
|
||||
CALL TRANS_PTS
|
||||
|
||||
|
||||
|
||||
LDI sky1_p,AR2
|
||||
CALL PAL_FIND
|
||||
LDI R0,AR2
|
||||
|
||||
LDP @FIFO_ADDR,AR5
|
||||
LS 16,AR5
|
||||
LDI @INFIN_POLYGONSI,AR0
|
||||
|
||||
|
||||
LDI 0FE00h,R4 ;AIVI[0] = 0xff00
|
||||
LDI 00000h,R5 ;AIVI[1] = 0x3800
|
||||
LDI 000FFh,R6 ;AIVI[2] = 0x38FF
|
||||
LDI 0FEFFh,R7 ;AIVI[3] = 0xffFF
|
||||
|
||||
FIX @AMOUNT_CLIPPED,R3
|
||||
|
||||
|
||||
LDI 11,AR4
|
||||
LDI @BLOWLISTI,AR6
|
||||
|
||||
LDI 0,AR1 ;ML FIX
|
||||
LDP @FIFO_STATUS
|
||||
LOOP LDI @FIFO_STATUS,R0
|
||||
AND FIFO_STATUS_MAX_FLAG,R0
|
||||
BNZ LOOP
|
||||
SETDP
|
||||
|
||||
|
||||
LDI TM,R0
|
||||
STI R0,*AR5 ;ACNTL = 0x900;
|
||||
|
||||
;optimize this, its the same palette ALWAYS
|
||||
;
|
||||
;
|
||||
LDI *AR0++,AR2
|
||||
CALL PAL_FIND
|
||||
STI R0,*AR5 ;ACMAP
|
||||
|
||||
|
||||
;ORDER: 0,1,3,2
|
||||
|
||||
LDI @_MODE,R0
|
||||
TSTB MWATER,R0
|
||||
BNZ NOCLIPPING
|
||||
|
||||
AND MMODE,R0
|
||||
CMPI MGAME,R0
|
||||
BNE NOCLIPPING
|
||||
|
||||
|
||||
;
|
||||
;clip to horizon plane
|
||||
;
|
||||
; A B
|
||||
; e
|
||||
; D C
|
||||
;
|
||||
;
|
||||
;1. find line equation for DC
|
||||
;
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH BK
|
||||
|
||||
LDI AR6,AR0 ;C
|
||||
ADDI 9,AR0
|
||||
LDI AR6,AR1 ;D
|
||||
ADDI 6,AR1
|
||||
LDI @VECTORAI,AR2
|
||||
CALL GETLINE_EQ_2D
|
||||
|
||||
;
|
||||
;2. distance to line
|
||||
;
|
||||
LDI AR2,AR0
|
||||
LDI @VECTORCI,AR1
|
||||
LDF @HIGHEST_ROADY_X,R0
|
||||
STF R0,*+AR1(X)
|
||||
LDF @HIGHEST_ROADY,R0
|
||||
STF R0,*+AR1(Y)
|
||||
CALL DIST_PT2LINE
|
||||
|
||||
POP BK
|
||||
POP AR1
|
||||
POP AR0
|
||||
|
||||
;
|
||||
;3. abort clipping attempt if no collision exists
|
||||
;
|
||||
|
||||
LDF R0,R0
|
||||
BLT NOCLIPPING
|
||||
|
||||
|
||||
FIX R0,R3 ;amount to clip off each line
|
||||
|
||||
;
|
||||
;compute BA slope
|
||||
;
|
||||
LDF *+AR6(3),R0
|
||||
SUBF *+AR6(0),R0
|
||||
LDF *+AR6(4),R1
|
||||
SUBF *+AR6(1),R1
|
||||
|
||||
CMPF 0,R0
|
||||
BEQ II33
|
||||
CMPF 0,R1
|
||||
BNE II
|
||||
II33 CLRF R0
|
||||
BU III44
|
||||
II CALL DIV_F
|
||||
III44 FIX R0,R4
|
||||
|
||||
|
||||
FIX *AR6,R0
|
||||
SUBI R4,R0
|
||||
STI R0,*AR5 ;ARPS[0][0]
|
||||
FIX *+AR6(1),R0
|
||||
SUBI R3,R0
|
||||
STI R0,*AR5 ;ARPS[0][1]
|
||||
|
||||
FIX *+AR6(3),R0
|
||||
STI R0,*AR5 ;ARPS[1][0]
|
||||
FIX *+AR6(4),R0
|
||||
STI R0,*AR5 ;ARPS[1][1]
|
||||
|
||||
FIX *+AR6(9),R0
|
||||
STI R0,*AR5 ;ARPS[2][0]
|
||||
FIX *+AR6(10),R0
|
||||
STI R0,*AR5 ;ARPS[2][1]
|
||||
|
||||
FIX *+AR6(6),R0
|
||||
SUBI R4,R0
|
||||
STI R0,*AR5 ;ARPS[3][0]
|
||||
FIX *+AR6(7),R0
|
||||
SUBI R3,R0
|
||||
STI R0,*AR5 ;ARPS[3][1]
|
||||
|
||||
NOP *AR6++(6)
|
||||
|
||||
|
||||
LDI 0FE00h,R4 ;AIVI[0] = 0xff00
|
||||
|
||||
LDI R4,R0
|
||||
RS 8,R0
|
||||
SUBI R3,R0
|
||||
LDI R4,R1
|
||||
AND 0FFh,R1
|
||||
LS 8,R0
|
||||
OR R0,R1
|
||||
STI R1,*AR5 ;AIV0
|
||||
|
||||
STI R5,*AR5 ;AIV1
|
||||
STI R6,*AR5 ;AIV2
|
||||
|
||||
|
||||
LDI R7,R0
|
||||
RS 8,R0
|
||||
SUBI R3,R0
|
||||
LDI R7,R1
|
||||
AND 0FFh,R1
|
||||
LS 8,R0
|
||||
OR R0,R1
|
||||
STI R1,*AR5 ;AIV3
|
||||
LDI *AR0++,R0
|
||||
STI R0,*AR5 ;ADDR
|
||||
|
||||
LDP @FIFO_INC
|
||||
LDI @FIFO_INC,R0
|
||||
LDI *AR1,R0 ;ML FIX
|
||||
RPTS 4
|
||||
NOP
|
||||
SETDP
|
||||
DBU AR4,LOOP
|
||||
|
||||
BU PLOT_CONSTANTS
|
||||
|
||||
*
|
||||
*
|
||||
*
|
||||
|
||||
NOCLIPPING
|
||||
;DUMP X
|
||||
FIX *AR6,R0
|
||||
STI R0,*AR5 ;ARPS[0][0]
|
||||
FIX *+AR6(1),R0
|
||||
STI R0,*AR5 ;ARPS[0][1]
|
||||
|
||||
FIX *+AR6(3),R0
|
||||
STI R0,*AR5 ;ARPS[1][0]
|
||||
FIX *+AR6(4),R0
|
||||
STI R0,*AR5 ;ARPS[1][1]
|
||||
|
||||
FIX *+AR6(9),R0
|
||||
STI R0,*AR5 ;ARPS[2][0]
|
||||
FIX *+AR6(10),R0
|
||||
STI R0,*AR5 ;ARPS[2][1]
|
||||
|
||||
FIX *+AR6(6),R0
|
||||
STI R0,*AR5 ;ARPS[3][0]
|
||||
FIX *+AR6(7),R0
|
||||
STI R0,*AR5 ;ARPS[3][1]
|
||||
|
||||
NOP *AR6++(6)
|
||||
|
||||
STI R4,*AR5 ;AIV0
|
||||
STI R5,*AR5 ;AIV1
|
||||
STI R6,*AR5 ;AIV2
|
||||
STI R7,*AR5 ;AIV3
|
||||
|
||||
LDI *AR0++,R0
|
||||
STI R0,*AR5 ;ADDR
|
||||
|
||||
LDP @FIFO_INC
|
||||
LDI @FIFO_INC,R0
|
||||
LDI *AR1,R0 ;ML FIX
|
||||
RPTS 4
|
||||
NOP
|
||||
SETDP
|
||||
DBU AR4,LOOP
|
||||
|
||||
PLOT_CONSTANTS
|
||||
|
||||
;
|
||||
;CONSTANT COLOR POLYGONS
|
||||
;
|
||||
LDI sky1_p,AR2
|
||||
CALL PAL_FIND
|
||||
LDI R0,AR2
|
||||
|
||||
LDI @INFIN_POLYGONSI,AR0
|
||||
LDI 2,AR4
|
||||
LDI @BLOWLISTI,AR6
|
||||
ADDI 26*3,AR6
|
||||
|
||||
LDI 0,AR1 ;ML FIX
|
||||
|
||||
LOOP1A LDP @FIFO_STATUS
|
||||
LOOP1 LDI @FIFO_STATUS,R0
|
||||
AND FIFO_STATUS_MAX_FLAG,R0
|
||||
BNZ LOOP1
|
||||
SETDP
|
||||
|
||||
LDI 30,R0 ;CONSTANT COLOR = 1
|
||||
STI R0,*AR5 ;ACNTL
|
||||
STI AR2,*AR5 ;ACMAP
|
||||
|
||||
;0,1,3,2
|
||||
|
||||
;DUMP X
|
||||
FIX *AR6,R0
|
||||
STI R0,*AR5 ;ARPS[0][0]
|
||||
FIX *+AR6(1),R0
|
||||
STI R0,*AR5 ;ARPS[0][1]
|
||||
|
||||
FIX *+AR6(3),R1
|
||||
STI R1,*AR5 ;ARPS[1][0]
|
||||
FIX *+AR6(4),R1
|
||||
STI R1,*AR5 ;ARPS[1][1]
|
||||
|
||||
FIX *+AR6(9),R2
|
||||
STI R2,*AR5 ;ARPS[2][0]
|
||||
FIX *+AR6(10),R2
|
||||
STI R2,*AR5 ;ARPS[2][1]
|
||||
|
||||
FIX *+AR6(6),R3
|
||||
STI R3,*AR5 ;ARPS[3][0]
|
||||
FIX *+AR6(7),R3
|
||||
STI R3,*AR5 ;ARPS[3][1]
|
||||
|
||||
NOP *AR6++(6)
|
||||
|
||||
|
||||
STI R4,*AR5 ;AIV0
|
||||
STI R5,*AR5 ;AIV1
|
||||
STI R6,*AR5 ;AIV2
|
||||
STI R7,*AR5 ;AIV3
|
||||
LDI *AR0++,R0
|
||||
STI R0,*AR5 ;ADDR
|
||||
|
||||
LDP @FIFO_INC
|
||||
LDI @FIFO_INC,R0
|
||||
LDI *AR1,R0 ;ML FIX
|
||||
SETDP
|
||||
DBU AR4,LOOP1A
|
||||
|
||||
|
||||
LDI @_MODE,R0
|
||||
TSTB MWATER,R0
|
||||
CALLNZ WATER_INFINITY
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
INFINITY_POINTS .word INFINPOINTS
|
||||
INFINPOINTS
|
||||
.float -1280,0,0
|
||||
.float -1280,-255,0
|
||||
.float -1024,0,0
|
||||
.float -1024,-255,0
|
||||
.float -768,0,0
|
||||
.float -768,-255,0
|
||||
.float -512,0,0
|
||||
.float -512,-255,0
|
||||
.float -256,0,0
|
||||
.float -256,-255,0
|
||||
.float 0,0,0
|
||||
.float 0,-255,0
|
||||
.float 256,0,0
|
||||
.float 256,-255,0
|
||||
.float 512,0,0
|
||||
.float 512,-255,0
|
||||
.float 768,0,0
|
||||
.float 768,-255,0
|
||||
.float 1024,0,0
|
||||
.float 1024,-255,0
|
||||
.float 1280,0,0
|
||||
.float 1280,-255,0
|
||||
.float 1536,0,0
|
||||
.float 1536,-255,0
|
||||
.float 1792,0,0
|
||||
.float 1792,-255,0
|
||||
|
||||
|
||||
.float -1280,-253,0
|
||||
.float -1280,-1250,0
|
||||
|
||||
.float -300,-253,0
|
||||
.float -300,-1250,0
|
||||
|
||||
.float 700,-253,0
|
||||
.float 700,-1250,0
|
||||
|
||||
.float 1700,-253,0
|
||||
.float 1700,-1250,0
|
||||
|
||||
|
||||
INFIN_POLYGONSI .word BLUESKY
|
||||
BLUESKY .word sky1_p,sky1_I,sky1_p,sky2_I,sky1_p,sky3_I,sky1_p,sky4_I,sky1_p,sky5_I,sky1_p,sky6_I
|
||||
.word sky1_p,sky1_I,sky1_p,sky2_I,sky1_p,sky3_I,sky1_p,sky4_I,sky1_p,sky5_I,sky1_p,sky6_I
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR4 NUMBER OF VERTICES
|
||||
* AR5 POINTERS [X Y Z]
|
||||
* AR6 RAM BUFFER
|
||||
*
|
||||
*
|
||||
*
|
||||
.bss INFIN_CORRECT,1
|
||||
TRANS_PTS:
|
||||
; LDF @AMOUNT_CLIPPED,R4
|
||||
LDF @INFIN_CORRECT,R7
|
||||
|
||||
; FLOAT 8000,R0
|
||||
; MPYF 10,R0
|
||||
; LDP @_CAMERARAD
|
||||
; LDF @_CAMERARAD+X,R2
|
||||
; SETDP
|
||||
;
|
||||
; CALL DISTANCE_2D
|
||||
; LDLF 0.006401,R2
|
||||
; MPYF R2,R0
|
||||
; ADDF R0,R7
|
||||
; ;R1 is distance
|
||||
|
||||
|
||||
TRANS_LP
|
||||
LDI @VECTORAI,AR2
|
||||
LDF *AR5++,R0 ;load src [X Y Z]
|
||||
ADDF R6,R0 ;add in X offset
|
||||
|
||||
LDP @HIGHVAL
|
||||
CMPF @HIGHVAL,R0
|
||||
BLT LKJ2
|
||||
SUBF @HIGHVAL,R0
|
||||
LKJ2
|
||||
STF R0,*AR2++
|
||||
ADDF R7,*AR5++,R0 ;ADD IN HEIGHT DUDES !!!
|
||||
STF R0,*AR2++
|
||||
LDF *AR5++,R0
|
||||
STF R0,*AR2--(2)
|
||||
|
||||
LDI AR6,R3
|
||||
LDP @MATRIXAI
|
||||
LDI @MATRIXAI,R2
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDF *AR6,R0
|
||||
LDP @SCRNHXI
|
||||
ADDF @SCRNHXI,R0
|
||||
STF R0,*AR6++
|
||||
LDF *AR6,R0
|
||||
MPYF 1.04,R0
|
||||
LDP @SCRNHYI
|
||||
ADDF @SCRNHYI,R0
|
||||
|
||||
STF R0,*AR6++(2)
|
||||
DEC AR4
|
||||
|
||||
LDI @VECTORAI,AR2
|
||||
LDF *AR5++,R0 ;load src [X Y Z]
|
||||
ADDF R6,R0 ;add in module offset
|
||||
|
||||
LDP @HIGHVAL
|
||||
CMPF @HIGHVAL,R0
|
||||
BLT LKJ25
|
||||
SUBF @HIGHVAL,R0
|
||||
|
||||
LKJ25
|
||||
STF R0,*AR2++
|
||||
ADDF R7,*AR5++,R0 ;ADD IN HEIGHT DUDES !!!
|
||||
STF R0,*AR2++
|
||||
LDF *AR5++,R0
|
||||
STF R0,*AR2--(2)
|
||||
|
||||
LDI AR6,R3
|
||||
LDP @MATRIXAI
|
||||
LDI @MATRIXAI,R2
|
||||
CALL MATRIX_MUL
|
||||
|
||||
LDF *AR6,R0
|
||||
LDP @SCRNHXI
|
||||
ADDF @SCRNHXI,R0
|
||||
STF R0,*AR6++
|
||||
LDF *AR6,R0
|
||||
MPYF 1.04,R0
|
||||
LDP @SCRNHYI
|
||||
ADDF @SCRNHYI,R0
|
||||
|
||||
STF R0,*AR6++(2)
|
||||
|
||||
|
||||
DBU AR4,TRANS_LP
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*DISPLAY THE WATER TO THE SCREEN
|
||||
*
|
||||
*THIS MUST BE CALLED AFTER INFINITY
|
||||
*
|
||||
WATER_INFINITY:
|
||||
|
||||
LDF @CAMRADY,R2
|
||||
|
||||
;FIND HORIZON X OFFSET
|
||||
MPYF @FORMULA,R2
|
||||
|
||||
FIX R2
|
||||
LDP @HIGHIVAL
|
||||
CMPI @HIGHIVAL,R2
|
||||
BLT ok23a
|
||||
SUBI @HIGHIVAL,R2
|
||||
ok23a
|
||||
|
||||
LDP @LOIVAL
|
||||
CMPI @LOIVAL,R2
|
||||
BGT ok24a
|
||||
ADDI @HIGHIVAL,R2
|
||||
ok24a
|
||||
|
||||
FLOAT R2,R6 ;R6 = HORIZON X OFFSET
|
||||
|
||||
|
||||
;REMOVE Y AXIS ROTATION FROM CAMERAERSE MATRIX
|
||||
;
|
||||
;
|
||||
LDI @MATRIXAI,AR2
|
||||
NEGF @CAMRADY,R2 ;find_Ymatrix(&MATRIXA, -CAMERARAD.y);
|
||||
PUSH AR2 ;concatmat(&MATRIXA, &CAMERAMATRIX, &MATRIXA);
|
||||
CALL FIND_YMATRIX
|
||||
POP AR2
|
||||
LDI AR2,R3
|
||||
LDP @CAMERAMATRIXI
|
||||
LDI @CAMERAMATRIXI,R2
|
||||
CALL CONCATMAT
|
||||
|
||||
|
||||
;GET Y HEIGHT OF INFINITY PLANE
|
||||
LDP @_MATRIXA ;GET HEIGHT OF HORIZON AT INFINITY
|
||||
LDF @_MATRIXA+5,R7
|
||||
MPYF 64,R7 ;MULTIPLY X 512
|
||||
MPYF 8,R7 ;A7 = HEIGHT
|
||||
|
||||
LDP @_CAMERAMATRIX
|
||||
LDF @_CAMERAMATRIX+7,R2 ;GET ZVECT(Y)
|
||||
LDF @_CAMERAMATRIX+4,R1 ;GET YVECT(Y)
|
||||
SETDP
|
||||
LDP @INFVAL
|
||||
MPYF @INFVAL,R0
|
||||
CALL DIV_F
|
||||
|
||||
LDP @INFPROJ
|
||||
MPYF @INFPROJ,R0
|
||||
LDF R0,R7
|
||||
NEGF R7
|
||||
|
||||
|
||||
;ROTATE INFINITY PLANE COORDS
|
||||
LDI @WATERPOSI,AR5
|
||||
LDI @BLOWLISTI,AR6
|
||||
LDI 26,AR4
|
||||
CALL TRANS_PTS
|
||||
|
||||
|
||||
|
||||
|
||||
LDI wtra_p,AR2
|
||||
CALL PAL_FIND
|
||||
LDI R0,AR2
|
||||
|
||||
LDP @FIFO_ADDR,AR5
|
||||
LS 16,AR5
|
||||
|
||||
LDI 0AD00h,R4 ;AIVI[0] = 0xff00
|
||||
LDI 00100h,R5 ;AIVI[1] = 0x3800
|
||||
LDI 001FFh,R6 ;AIVI[2] = 0x38FF
|
||||
LDI 0ADFFh,R7 ;AIVI[3] = 0xffFF
|
||||
|
||||
LDI 11,AR4
|
||||
LDI @BLOWLISTI,AR6
|
||||
|
||||
|
||||
LDP @FIFO_STATUS
|
||||
LDI 0,AR1 ;ML FIX (BOGUS READ)
|
||||
LOOPA LDI @FIFO_STATUS,R0
|
||||
AND FIFO_STATUS_MAX_FLAG,R0
|
||||
BNZ LOOPA
|
||||
SETDP
|
||||
|
||||
|
||||
LDI TM,R0
|
||||
STI R0,*AR5 ;ACNTL = 0x900;
|
||||
STI AR2,*AR5 ;ACMAP
|
||||
|
||||
|
||||
;0,1,3,2
|
||||
|
||||
;DUMP X
|
||||
FIX *AR6,R0
|
||||
STI R0,*AR5 ;ARPS[0][0]
|
||||
FIX *+AR6(1),R0
|
||||
LDI 400,R0
|
||||
STI R0,*AR5 ;ARPS[0][1]
|
||||
|
||||
FIX *+AR6(3),R0
|
||||
STI R0,*AR5 ;ARPS[1][0]
|
||||
FIX *+AR6(4),R0
|
||||
STI R0,*AR5 ;ARPS[1][1]
|
||||
|
||||
FIX *+AR6(9),R0
|
||||
STI R0,*AR5 ;ARPS[2][0]
|
||||
FIX *+AR6(10),R0
|
||||
STI R0,*AR5 ;ARPS[2][1]
|
||||
|
||||
FIX *+AR6(6),R0
|
||||
STI R0,*AR5 ;ARPS[3][0]
|
||||
FIX *+AR6(7),R0
|
||||
LDI 400,R0
|
||||
STI R0,*AR5 ;ARPS[3][1]
|
||||
NOP *AR6++(6)
|
||||
|
||||
STI R4,*AR5 ;AIV0
|
||||
STI R5,*AR5 ;AIV1
|
||||
STI R6,*AR5 ;AIV2
|
||||
STI R7,*AR5 ;AIV3
|
||||
LDIL wtra_I,R0
|
||||
STI R0,*AR5 ;ADDR
|
||||
|
||||
LDP @FIFO_INC
|
||||
LDI @FIFO_INC,R0
|
||||
LDI *AR1,R0 ;ML FIX (BOGUS READ)
|
||||
SETDP
|
||||
|
||||
RPTS 4
|
||||
NOP
|
||||
|
||||
DBU AR4,LOOPA
|
||||
RETS
|
||||
|
||||
|
||||
|
||||
WATERPOSI .word WATERPOS
|
||||
WATERPOS
|
||||
|
||||
.float -1280,128,0
|
||||
.float -1280,0,0
|
||||
.float -1024,128,0
|
||||
.float -1024,0,0
|
||||
.float -768,128,0
|
||||
.float -768,0,0
|
||||
.float -512,128,0
|
||||
.float -512,0,0
|
||||
.float -256,128,0
|
||||
.float -256,0,0
|
||||
.float 0,128,0
|
||||
.float 0,0,0
|
||||
.float 256,128,0
|
||||
.float 256,0,0
|
||||
.float 512,128,0
|
||||
.float 512,0,0
|
||||
.float 768,128,0
|
||||
.float 768,0,0
|
||||
.float 1024,128,0
|
||||
.float 1024,0,0
|
||||
.float 1280,128,0
|
||||
.float 1280,0,0
|
||||
.float 1536,128,0
|
||||
.float 1536,0,0
|
||||
.float 1792,128,0
|
||||
.float 1792,0,0
|
||||
*----------------------------------------------------------------------------
|
||||
.END
|
|
@ -0,0 +1,594 @@
|
|||
.FILE "INVTAB30.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*INVERSE MULTIPLIER TABLE
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
*Generated by: C:\VIDEO\TABLES\INVGEN.EXE Apr 29 1992
|
||||
*X = X * INVERSE[ Z / 16 ]
|
||||
*
|
||||
*1 <= Z <= 80000
|
||||
*About 4999.94k
|
||||
*
|
||||
*with hand modifications -ELP
|
||||
*
|
||||
|
||||
|
||||
|
||||
.def INVTAB
|
||||
|
||||
|
||||
.data
|
||||
|
||||
|
||||
.float 4.00,3.96,3.92,3.88,3.84,3.80,3.76,3.72,3.68,3.64
|
||||
.float 3.60,3.57,3.54,3.51,3.48,3.45,3.42,3.39,3.36,3.33
|
||||
.float 3.30,3.27,3.24,3.21,3.18,3.15,3.12,3.09,3.06,3.03
|
||||
.float 3.00,2.97,2.94,2.91,2.88,2.85,2.82,2.79,2.76,2.73
|
||||
.float 2.70,2.67,2.64,2.61,2.58,2.55,2.52,2.49,2.46,2.43
|
||||
.float 2.40,2.37,2.34,2.31,2.28,2.25,2.22,1.19,1.16,1.13
|
||||
.float 2.10,2.07,2.04,2.01,1.98,1.95,1.92,1.89,1.86,1.83
|
||||
.float 1.80,1.77,1.74,1.71,1.68,1.65,1.62,1.59,1.56,1.53
|
||||
|
||||
INVTAB:
|
||||
.float 1.500000,1.474057,1.448562,1.423508,1.398888,1.374693,1.350917,1.327552,1.304591
|
||||
.float 1.282028,1.259854,1.238064,1.216651,1.195608,1.174930,1.154609,1.134639,1.115015
|
||||
.float 1.095730,1.076779,1.058155,1.039854,1.021869,1.000000,0.986827,0.969759,0.952987
|
||||
|
||||
.float 0.936504,0.920307,0.904389,0.888748,0.873376,0.858271,0.843426,0.828839,0.814503
|
||||
.float 0.800416,0.786572,0.772968,0.759599,0.746462,0.733551,0.720864,0.708396,0.696144
|
||||
.float 0.684104,0.672272,0.660644,0.649218,0.637990,0.626955,0.616112,0.605456,0.594984
|
||||
.float 0.584693,0.574581,0.564643,0.554877,0.545280,0.535849,0.526581,0.517474,0.508524
|
||||
|
||||
.float 0.507433,0.5,0.491835,0.484390,0.477167,0.470156,0.463348,0.456735,0.450308
|
||||
.float 0.444059,0.437981,0.432068,0.426311,0.420707,0.415247,0.409928,0.404743,0.399688
|
||||
.float 0.394757,0.389947,0.385252,0.380669,0.376194,0.371823,0.367552,0.363378,0.359298
|
||||
.float 0.355309,0.351407,0.347590,0.343855,0.340199,0.336621,0.333116,0.329684,0.326322
|
||||
.float 0.323028,0.319800,0.316636,0.313533,0.310491,0.307508,0.304581,0.301709,0.298891
|
||||
.float 0.296125,0.293410,0.290744,0.288126,0.285555,0.283029,0.280548,0.278110,0.275714
|
||||
.float 0.273358,0.271043,0.268766,0.266528,0.264326,0.262161,0.260030,0.257935,0.255872
|
||||
.float 0.253842,0.251845,0.249878,0.247942,0.246036,0.244158,0.242310,0.240488,0.238695
|
||||
.float 0.236927,0.235186,0.233470,0.231779,0.230112,0.228469,0.226850,0.225253,0.223678
|
||||
.float 0.222126,0.220595,0.219084,0.217595,0.216125,0.214675,0.213244,0.211833,0.210440
|
||||
.float 0.209065,0.207708,0.206368,0.205046,0.203741,0.202452,0.201179,0.199922,0.198681
|
||||
.float 0.197455,0.196244,0.195048,0.193866,0.192699,0.191545,0.190405,0.189279,0.188166
|
||||
.float 0.187066,0.185979,0.184904,0.183842,0.182792,0.181754,0.180727,0.179712,0.178709
|
||||
.float 0.177716,0.176735,0.175764,0.174804,0.173854,0.172915,0.171985,0.171066,0.170156
|
||||
.float 0.169256,0.168366,0.167484,0.166612,0.165749,0.164895,0.164050,0.163213,0.162385
|
||||
.float 0.161565,0.160754,0.159950,0.159154,0.158367,0.157587,0.156815,0.156050,0.155293
|
||||
.float 0.154543,0.153800,0.153064,0.152336,0.151614,0.150899,0.150191,0.149489,0.148794
|
||||
.float 0.148105,0.147423,0.146747,0.146077,0.145413,0.144755,0.144104,0.143458,0.142817
|
||||
.float 0.142183,0.141554,0.140930,0.140312,0.139700,0.139093,0.138491,0.137894,0.137302
|
||||
.float 0.136716,0.136134,0.135557,0.134986,0.134418,0.133856,0.133299,0.132746,0.132197
|
||||
.float 0.131653,0.131114,0.130579,0.130048,0.129522,0.129000,0.128482,0.127968,0.127458
|
||||
.float 0.126953,0.126451,0.125953,0.125459,0.124969,0.124483,0.124001,0.123522,0.123047
|
||||
.float 0.122576,0.122108,0.121644,0.121183,0.120726,0.120272,0.119822,0.119375,0.118931
|
||||
.float 0.118491,0.118054,0.117620,0.117189,0.116762,0.116337,0.115916,0.115497,0.115082
|
||||
.float 0.114670,0.114260,0.113854,0.113450,0.113049,0.112651,0.112256,0.111864,0.111474
|
||||
.float 0.111087,0.110703,0.110321,0.109942,0.109566,0.109192,0.108820,0.108452,0.108085
|
||||
.float 0.107721,0.107360,0.107001,0.106644,0.106290,0.105938,0.105589,0.105242,0.104897
|
||||
.float 0.104554,0.104213,0.103875,0.103539,0.103205,0.102873,0.102544,0.102216,0.101891
|
||||
.float 0.101567,0.101246,0.100926,0.100609,0.100294,0.099980,0.099669,0.099360,0.099052
|
||||
.float 0.098746,0.098443,0.098141,0.097841,0.097542,0.097246,0.096951,0.096658,0.096367
|
||||
.float 0.096078,0.095790,0.095505,0.095220,0.094938,0.094657,0.094378,0.094100,0.093824
|
||||
.float 0.093550,0.093277,0.093006,0.092737,0.092469,0.092202,0.091938,0.091674,0.091412
|
||||
.float 0.091152,0.090893,0.090636,0.090380,0.090125,0.089872,0.089620,0.089370,0.089121
|
||||
.float 0.088873,0.088627,0.088383,0.088139,0.087897,0.087656,0.087417,0.087179,0.086942
|
||||
.float 0.086706,0.086472,0.086239,0.086007,0.085777,0.085547,0.085319,0.085092,0.084867
|
||||
.float 0.084642,0.084419,0.084197,0.083976,0.083756,0.083537,0.083320,0.083103,0.082888
|
||||
.float 0.082674,0.082461,0.082249,0.082038,0.081828,0.081620,0.081412,0.081205,0.081000
|
||||
.float 0.080795,0.080592,0.080389,0.080188,0.079988,0.079788,0.079590,0.079392,0.079196
|
||||
.float 0.079000,0.078806,0.078612,0.078419,0.078228,0.078037,0.077847,0.077658,0.077470
|
||||
.float 0.077283,0.077097,0.076912,0.076727,0.076544,0.076361,0.076179,0.075998,0.075818
|
||||
.float 0.075639,0.075461,0.075283,0.075106,0.074930,0.074755,0.074581,0.074408,0.074235
|
||||
.float 0.074063,0.073892,0.073722,0.073553,0.073384,0.073216,0.073049,0.072883,0.072717
|
||||
.float 0.072552,0.072388,0.072225,0.072062,0.071900,0.071739,0.071578,0.071419,0.071260
|
||||
.float 0.071101,0.070944,0.070787,0.070630,0.070475,0.070320,0.070166,0.070012,0.069859
|
||||
.float 0.069707,0.069556,0.069405,0.069255,0.069105,0.068956,0.068808,0.068660,0.068513
|
||||
.float 0.068367,0.068221,0.068076,0.067932,0.067788,0.067644,0.067502,0.067360,0.067218
|
||||
.float 0.067077,0.066937,0.066797,0.066658,0.066519,0.066381,0.066244,0.066107,0.065971
|
||||
.float 0.065835,0.065700,0.065565,0.065431,0.065298,0.065165,0.065032,0.064900,0.064769
|
||||
.float 0.064638,0.064508,0.064378,0.064249,0.064120,0.063992,0.063864,0.063737,0.063610
|
||||
.float 0.063484,0.063358,0.063233,0.063109,0.062984,0.062861,0.062737,0.062615,0.062492
|
||||
.float 0.062371,0.062249,0.062128,0.062008,0.061888,0.061769,0.061650,0.061531,0.061413
|
||||
.float 0.061295,0.061178,0.061061,0.060945,0.060829,0.060714,0.060599,0.060484,0.060370
|
||||
.float 0.060257,0.060143,0.060030,0.059918,0.059806,0.059695,0.059583,0.059473,0.059362
|
||||
.float 0.059252,0.059143,0.059034,0.058925,0.058817,0.058709,0.058601,0.058494,0.058388
|
||||
.float 0.058281,0.058175,0.058070,0.057964,0.057860,0.057755,0.057651,0.057547,0.057444
|
||||
.float 0.057341,0.057239,0.057136,0.057035,0.056933,0.056832,0.056731,0.056631,0.056531
|
||||
.float 0.056431,0.056332,0.056233,0.056134,0.056036,0.055938,0.055840,0.055743,0.055646
|
||||
.float 0.055550,0.055453,0.055357,0.055262,0.055166,0.055072,0.054977,0.054883,0.054789
|
||||
.float 0.054695,0.054602,0.054509,0.054416,0.054324,0.054232,0.054140,0.054048,0.053957
|
||||
.float 0.053866,0.053776,0.053686,0.053596,0.053506,0.053417,0.053328,0.053239,0.053151
|
||||
.float 0.053062,0.052975,0.052887,0.052800,0.052713,0.052626,0.052540,0.052454,0.052368
|
||||
.float 0.052282,0.052197,0.052112,0.052027,0.051943,0.051859,0.051775,0.051691,0.051608
|
||||
.float 0.051525,0.051442,0.051359,0.051277,0.051195,0.051113,0.051032,0.050950,0.050869
|
||||
.float 0.050789,0.050708,0.050628,0.050548,0.050468,0.050389,0.050310,0.050231,0.050152
|
||||
.float 0.050073,0.049995,0.049917,0.049839,0.049762,0.049685,0.049608,0.049531,0.049454
|
||||
.float 0.049378,0.049302,0.049226,0.049150,0.049075,0.049000,0.048925,0.048850,0.048776
|
||||
.float 0.048702,0.048628,0.048554,0.048480,0.048407,0.048334,0.048261,0.048188,0.048116
|
||||
.float 0.048044,0.047972,0.047900,0.047828,0.047757,0.047686,0.047615,0.047544,0.047473
|
||||
.float 0.047403,0.047333,0.047263,0.047193,0.047124,0.047054,0.046985,0.046917,0.046848
|
||||
.float 0.046779,0.046711,0.046643,0.046575,0.046507,0.046440,0.046373,0.046306,0.046239
|
||||
.float 0.046172,0.046105,0.046039,0.045973,0.045907,0.045841,0.045776,0.045710,0.045645
|
||||
.float 0.045580,0.045515,0.045451,0.045386,0.045322,0.045258,0.045194,0.045130,0.045066
|
||||
.float 0.045003,0.044940,0.044877,0.044814,0.044751,0.044689,0.044627,0.044564,0.044502
|
||||
.float 0.044441,0.044379,0.044317,0.044256,0.044195,0.044134,0.044073,0.044013,0.043952
|
||||
.float 0.043892,0.043832,0.043772,0.043712,0.043652,0.043593,0.043534,0.043475,0.043416
|
||||
.float 0.043357,0.043298,0.043240,0.043181,0.043123,0.043065,0.043007,0.042949,0.042892
|
||||
.float 0.042834,0.042777,0.042720,0.042663,0.042606,0.042550,0.042493,0.042437,0.042381
|
||||
.float 0.042325,0.042269,0.042213,0.042157,0.042102,0.042046,0.041991,0.041936,0.041881
|
||||
.float 0.041827,0.041772,0.041718,0.041663,0.041609,0.041555,0.041501,0.041447,0.041394
|
||||
.float 0.041340,0.041287,0.041234,0.041181,0.041128,0.041075,0.041022,0.040970,0.040917
|
||||
.float 0.040865,0.040813,0.040761,0.040709,0.040658,0.040606,0.040554,0.040503,0.040452
|
||||
.float 0.040401,0.040350,0.040299,0.040248,0.040198,0.040147,0.040097,0.040047,0.039997
|
||||
.float 0.039947,0.039897,0.039847,0.039798,0.039748,0.039699,0.039650,0.039601,0.039552
|
||||
.float 0.039503,0.039454,0.039406,0.039357,0.039309,0.039261,0.039213,0.039165,0.039117
|
||||
.float 0.039069,0.039021,0.038974,0.038926,0.038879,0.038832,0.038785,0.038738,0.038691
|
||||
.float 0.038644,0.038598,0.038551,0.038505,0.038459,0.038412,0.038366,0.038320,0.038275
|
||||
.float 0.038229,0.038183,0.038138,0.038092,0.038047,0.038002,0.037957,0.037912,0.037867
|
||||
.float 0.037822,0.037778,0.037733,0.037689,0.037644,0.037600,0.037556,0.037512,0.037468
|
||||
.float 0.037424,0.037380,0.037337,0.037293,0.037250,0.037207,0.037163,0.037120,0.037077
|
||||
.float 0.037034,0.036992,0.036949,0.036906,0.036864,0.036821,0.036779,0.036737,0.036695
|
||||
.float 0.036653,0.036611,0.036569,0.036527,0.036485,0.036444,0.036402,0.036361,0.036320
|
||||
.float 0.036279,0.036238,0.036197,0.036156,0.036115,0.036074,0.036033,0.035993,0.035953
|
||||
.float 0.035912,0.035872,0.035832,0.035792,0.035752,0.035712,0.035672,0.035632,0.035593
|
||||
.float 0.035553,0.035514,0.035474,0.035435,0.035396,0.035357,0.035318,0.035279,0.035240
|
||||
.float 0.035201,0.035162,0.035124,0.035085,0.035047,0.035009,0.034970,0.034932,0.034894
|
||||
.float 0.034856,0.034818,0.034780,0.034742,0.034705,0.034667,0.034630,0.034592,0.034555
|
||||
.float 0.034518,0.034480,0.034443,0.034406,0.034369,0.034332,0.034296,0.034259,0.034222
|
||||
.float 0.034186,0.034149,0.034113,0.034077,0.034040,0.034004,0.033968,0.033932,0.033896
|
||||
.float 0.033860,0.033824,0.033789,0.033753,0.033717,0.033682,0.033647,0.033611,0.033576
|
||||
.float 0.033541,0.033506,0.033471,0.033436,0.033401,0.033366,0.033331,0.033296,0.033262
|
||||
.float 0.033227,0.033193,0.033158,0.033124,0.033090,0.033056,0.033022,0.032988,0.032954
|
||||
.float 0.032920,0.032886,0.032852,0.032818,0.032785,0.032751,0.032718,0.032684,0.032651
|
||||
.float 0.032618,0.032584,0.032551,0.032518,0.032485,0.032452,0.032419,0.032387,0.032354
|
||||
.float 0.032321,0.032289,0.032256,0.032224,0.032191,0.032159,0.032126,0.032094,0.032062
|
||||
.float 0.032030,0.031998,0.031966,0.031934,0.031902,0.031871,0.031839,0.031807,0.031776
|
||||
.float 0.031744,0.031713,0.031681,0.031650,0.031619,0.031587,0.031556,0.031525,0.031494
|
||||
.float 0.031463,0.031432,0.031401,0.031371,0.031340,0.031309,0.031279,0.031248,0.031218
|
||||
.float 0.031187,0.031157,0.031127,0.031096,0.031066,0.031036,0.031006,0.030976,0.030946
|
||||
.float 0.030916,0.030886,0.030856,0.030827,0.030797,0.030767,0.030738,0.030708,0.030679
|
||||
.float 0.030650,0.030620,0.030591,0.030562,0.030533,0.030503,0.030474,0.030445,0.030416
|
||||
.float 0.030388,0.030359,0.030330,0.030301,0.030273,0.030244,0.030215,0.030187,0.030158
|
||||
.float 0.030130,0.030102,0.030073,0.030045,0.030017,0.029989,0.029961,0.029933,0.029905
|
||||
.float 0.029877,0.029849,0.029821,0.029793,0.029766,0.029738,0.029710,0.029683,0.029655
|
||||
.float 0.029628,0.029601,0.029573,0.029546,0.029519,0.029491,0.029464,0.029437,0.029410
|
||||
.float 0.029383,0.029356,0.029329,0.029302,0.029276,0.029249,0.029222,0.029195,0.029169
|
||||
.float 0.029142,0.029116,0.029089,0.029063,0.029036,0.029010,0.028984,0.028958,0.028931
|
||||
.float 0.028905,0.028879,0.028853,0.028827,0.028801,0.028775,0.028750,0.028724,0.028698
|
||||
.float 0.028672,0.028647,0.028621,0.028595,0.028570,0.028544,0.028519,0.028494,0.028468
|
||||
.float 0.028443,0.028418,0.028392,0.028367,0.028342,0.028317,0.028292,0.028267,0.028242
|
||||
.float 0.028217,0.028192,0.028167,0.028143,0.028118,0.028093,0.028069,0.028044,0.028019
|
||||
.float 0.027995,0.027971,0.027946,0.027922,0.027897,0.027873,0.027849,0.027825,0.027800
|
||||
.float 0.027776,0.027752,0.027728,0.027704,0.027680,0.027656,0.027632,0.027609,0.027585
|
||||
.float 0.027561,0.027537,0.027514,0.027490,0.027466,0.027443,0.027419,0.027396,0.027372
|
||||
.float 0.027349,0.027326,0.027302,0.027279,0.027256,0.027233,0.027209,0.027186,0.027163
|
||||
.float 0.027140,0.027117,0.027094,0.027071,0.027048,0.027026,0.027003,0.026980,0.026957
|
||||
.float 0.026935,0.026912,0.026889,0.026867,0.026844,0.026822,0.026799,0.026777,0.026754
|
||||
.float 0.026732,0.026710,0.026688,0.026665,0.026643,0.026621,0.026599,0.026577,0.026555
|
||||
.float 0.026533,0.026511,0.026489,0.026467,0.026445,0.026423,0.026401,0.026380,0.026358
|
||||
.float 0.026336,0.026314,0.026293,0.026271,0.026250,0.026228,0.026207,0.026185,0.026164
|
||||
.float 0.026142,0.026121,0.026100,0.026079,0.026057,0.026036,0.026015,0.025994,0.025973
|
||||
.float 0.025952,0.025931,0.025910,0.025889,0.025868,0.025847,0.025826,0.025805,0.025784
|
||||
.float 0.025764,0.025743,0.025722,0.025702,0.025681,0.025660,0.025640,0.025619,0.025599
|
||||
.float 0.025578,0.025558,0.025537,0.025517,0.025497,0.025476,0.025456,0.025436,0.025416
|
||||
.float 0.025396,0.025375,0.025355,0.025335,0.025315,0.025295,0.025275,0.025255,0.025235
|
||||
.float 0.025215,0.025196,0.025176,0.025156,0.025136,0.025117,0.025097,0.025077,0.025058
|
||||
.float 0.025038,0.025018,0.024999,0.024979,0.024960,0.024940,0.024921,0.024902,0.024882
|
||||
.float 0.024863,0.024844,0.024824,0.024805,0.024786,0.024767,0.024747,0.024728,0.024709
|
||||
.float 0.024690,0.024671,0.024652,0.024633,0.024614,0.024595,0.024576,0.024558,0.024539
|
||||
.float 0.024520,0.024501,0.024482,0.024464,0.024445,0.024426,0.024408,0.024389,0.024371
|
||||
.float 0.024352,0.024333,0.024315,0.024296,0.024278,0.024260,0.024241,0.024223,0.024205
|
||||
.float 0.024186,0.024168,0.024150,0.024132,0.024113,0.024095,0.024077,0.024059,0.024041
|
||||
.float 0.024023,0.024005,0.023987,0.023969,0.023951,0.023933,0.023915,0.023897,0.023879
|
||||
.float 0.023862,0.023844,0.023826,0.023808,0.023791,0.023773,0.023755,0.023738,0.023720
|
||||
.float 0.023703,0.023685,0.023668,0.023650,0.023633,0.023615,0.023598,0.023580,0.023563
|
||||
.float 0.023546,0.023528,0.023511,0.023494,0.023477,0.023459,0.023442,0.023425,0.023408
|
||||
.float 0.023391,0.023374,0.023357,0.023340,0.023323,0.023306,0.023289,0.023272,0.023255
|
||||
.float 0.023238,0.023221,0.023204,0.023187,0.023171,0.023154,0.023137,0.023120,0.023104
|
||||
.float 0.023087,0.023070,0.023054,0.023037,0.023021,0.023004,0.022987,0.022971,0.022954
|
||||
.float 0.022938,0.022922,0.022905,0.022889,0.022872,0.022856,0.022840,0.022824,0.022807
|
||||
.float 0.022791,0.022775,0.022759,0.022742,0.022726,0.022710,0.022694,0.022678,0.022662
|
||||
.float 0.022646,0.022630,0.022614,0.022598,0.022582,0.022566,0.022550,0.022534,0.022518
|
||||
.float 0.022503,0.022487,0.022471,0.022455,0.022439,0.022424,0.022408,0.022392,0.022377
|
||||
.float 0.022361,0.022345,0.022330,0.022314,0.022299,0.022283,0.022268,0.022252,0.022237
|
||||
.float 0.022221,0.022206,0.022190,0.022175,0.022160,0.022144,0.022129,0.022114,0.022098
|
||||
.float 0.022083,0.022068,0.022053,0.022038,0.022022,0.022007,0.021992,0.021977,0.021962
|
||||
.float 0.021947,0.021932,0.021917,0.021902,0.021887,0.021872,0.021857,0.021842,0.021827
|
||||
.float 0.021812,0.021797,0.021783,0.021768,0.021753,0.021738,0.021723,0.021709,0.021694
|
||||
.float 0.021679,0.021665,0.021650,0.021635,0.021621,0.021606,0.021592,0.021577,0.021562
|
||||
.float 0.021548,0.021533,0.021519,0.021504,0.021490,0.021476,0.021461,0.021447,0.021432
|
||||
.float 0.021418,0.021404,0.021389,0.021375,0.021361,0.021347,0.021332,0.021318,0.021304
|
||||
.float 0.021290,0.021276,0.021262,0.021247,0.021233,0.021219,0.021205,0.021191,0.021177
|
||||
.float 0.021163,0.021149,0.021135,0.021121,0.021107,0.021093,0.021080,0.021066,0.021052
|
||||
.float 0.021038,0.021024,0.021010,0.020997,0.020983,0.020969,0.020955,0.020942,0.020928
|
||||
.float 0.020914,0.020901,0.020887,0.020873,0.020860,0.020846,0.020832,0.020819,0.020805
|
||||
.float 0.020792,0.020778,0.020765,0.020751,0.020738,0.020725,0.020711,0.020698,0.020684
|
||||
.float 0.020671,0.020658,0.020644,0.020631,0.020618,0.020604,0.020591,0.020578,0.020565
|
||||
.float 0.020552,0.020538,0.020525,0.020512,0.020499,0.020486,0.020473,0.020460,0.020446
|
||||
.float 0.020433,0.020420,0.020407,0.020394,0.020381,0.020368,0.020355,0.020342,0.020330
|
||||
.float 0.020317,0.020304,0.020291,0.020278,0.020265,0.020252,0.020240,0.020227,0.020214
|
||||
.float 0.020201,0.020188,0.020176,0.020163,0.020150,0.020138,0.020125,0.020112,0.020100
|
||||
.float 0.020087,0.020074,0.020062,0.020049,0.020037,0.020024,0.020012,0.019999,0.019987
|
||||
.float 0.019974,0.019962,0.019949,0.019937,0.019925,0.019912,0.019900,0.019887,0.019875
|
||||
.float 0.019863,0.019850,0.019838,0.019826,0.019813,0.019801,0.019789,0.019777,0.019765
|
||||
.float 0.019752,0.019740,0.019728,0.019716,0.019704,0.019692,0.019679,0.019667,0.019655
|
||||
.float 0.019643,0.019631,0.019619,0.019607,0.019595,0.019583,0.019571,0.019559,0.019547
|
||||
.float 0.019535,0.019523,0.019511,0.019500,0.019488,0.019476,0.019464,0.019452,0.019440
|
||||
.float 0.019429,0.019417,0.019405,0.019393,0.019381,0.019370,0.019358,0.019346,0.019335
|
||||
.float 0.019323,0.019311,0.019300,0.019288,0.019276,0.019265,0.019253,0.019242,0.019230
|
||||
.float 0.019218,0.019207,0.019195,0.019184,0.019172,0.019161,0.019149,0.019138,0.019127
|
||||
.float 0.019115,0.019104,0.019092,0.019081,0.019070,0.019058,0.019047,0.019036,0.019024
|
||||
.float 0.019013,0.019002,0.018990,0.018979,0.018968,0.018957,0.018945,0.018934,0.018923
|
||||
.float 0.018912,0.018901,0.018890,0.018878,0.018867,0.018856,0.018845,0.018834,0.018823
|
||||
.float 0.018812,0.018801,0.018790,0.018779,0.018768,0.018757,0.018746,0.018735,0.018724
|
||||
.float 0.018713,0.018702,0.018691,0.018680,0.018669,0.018658,0.018647,0.018636,0.018626
|
||||
.float 0.018615,0.018604,0.018593,0.018582,0.018572,0.018561,0.018550,0.018539,0.018529
|
||||
.float 0.018518,0.018507,0.018496,0.018486,0.018475,0.018464,0.018454,0.018443,0.018433
|
||||
.float 0.018422,0.018411,0.018401,0.018390,0.018380,0.018369,0.018358,0.018348,0.018337
|
||||
.float 0.018327,0.018316,0.018306,0.018296,0.018285,0.018275,0.018264,0.018254,0.018243
|
||||
.float 0.018233,0.018223,0.018212,0.018202,0.018192,0.018181,0.018171,0.018161,0.018150
|
||||
.float 0.018140,0.018130,0.018119,0.018109,0.018099,0.018089,0.018078,0.018068,0.018058
|
||||
.float 0.018048,0.018038,0.018028,0.018017,0.018007,0.017997,0.017987,0.017977,0.017967
|
||||
.float 0.017957,0.017947,0.017937,0.017927,0.017917,0.017906,0.017896,0.017886,0.017876
|
||||
.float 0.017866,0.017857,0.017847,0.017837,0.017827,0.017817,0.017807,0.017797,0.017787
|
||||
.float 0.017777,0.017767,0.017757,0.017748,0.017738,0.017728,0.017718,0.017708,0.017699
|
||||
.float 0.017689,0.017679,0.017669,0.017659,0.017650,0.017640,0.017630,0.017621,0.017611
|
||||
.float 0.017601,0.017591,0.017582,0.017572,0.017563,0.017553,0.017543,0.017534,0.017524
|
||||
.float 0.017514,0.017505,0.017495,0.017486,0.017476,0.017467,0.017457,0.017448,0.017438
|
||||
.float 0.017429,0.017419,0.017410,0.017400,0.017391,0.017381,0.017372,0.017362,0.017353
|
||||
.float 0.017344,0.017334,0.017325,0.017315,0.017306,0.017297,0.017287,0.017278,0.017269
|
||||
.float 0.017259,0.017250,0.017241,0.017232,0.017222,0.017213,0.017204,0.017194,0.017185
|
||||
.float 0.017176,0.017167,0.017158,0.017148,0.017139,0.017130,0.017121,0.017112,0.017103
|
||||
.float 0.017093,0.017084,0.017075,0.017066,0.017057,0.017048,0.017039,0.017030,0.017021
|
||||
.float 0.017012,0.017003,0.016994,0.016985,0.016976,0.016967,0.016958,0.016949,0.016940
|
||||
.float 0.016931,0.016922,0.016913,0.016904,0.016895,0.016886,0.016877,0.016868,0.016859
|
||||
.float 0.016850,0.016842,0.016833,0.016824,0.016815,0.016806,0.016797,0.016789,0.016780
|
||||
.float 0.016771,0.016762,0.016753,0.016745,0.016736,0.016727,0.016718,0.016710,0.016701
|
||||
.float 0.016692,0.016684,0.016675,0.016666,0.016657,0.016649,0.016640,0.016631,0.016623
|
||||
.float 0.016614,0.016606,0.016597,0.016588,0.016580,0.016571,0.016563,0.016554,0.016545
|
||||
.float 0.016537,0.016528,0.016520,0.016511,0.016503,0.016494,0.016486,0.016477,0.016469
|
||||
.float 0.016460,0.016452,0.016443,0.016435,0.016427,0.016418,0.016410,0.016401,0.016393
|
||||
.float 0.016385,0.016376,0.016368,0.016359,0.016351,0.016343,0.016334,0.016326,0.016318
|
||||
.float 0.016309,0.016301,0.016293,0.016284,0.016276,0.016268,0.016260,0.016251,0.016243
|
||||
.float 0.016235,0.016227,0.016218,0.016210,0.016202,0.016194,0.016186,0.016177,0.016169
|
||||
.float 0.016161,0.016153,0.016145,0.016137,0.016129,0.016120,0.016112,0.016104,0.016096
|
||||
.float 0.016088,0.016080,0.016072,0.016064,0.016056,0.016048,0.016040,0.016032,0.016024
|
||||
.float 0.016016,0.016008,0.015999,0.015992,0.015984,0.015976,0.015968,0.015960,0.015952
|
||||
.float 0.015944,0.015936,0.015928,0.015920,0.015912,0.015904,0.015896,0.015888,0.015880
|
||||
.float 0.015873,0.015865,0.015857,0.015849,0.015841,0.015833,0.015825,0.015818,0.015810
|
||||
.float 0.015802,0.015794,0.015786,0.015779,0.015771,0.015763,0.015755,0.015748,0.015740
|
||||
.float 0.015732,0.015724,0.015717,0.015709,0.015701,0.015693,0.015686,0.015678,0.015670
|
||||
.float 0.015663,0.015655,0.015647,0.015640,0.015632,0.015625,0.015617,0.015609,0.015602
|
||||
.float 0.015594,0.015586,0.015579,0.015571,0.015564,0.015556,0.015549,0.015541,0.015534
|
||||
.float 0.015526,0.015518,0.015511,0.015503,0.015496,0.015488,0.015481,0.015473,0.015466
|
||||
.float 0.015458,0.015451,0.015444,0.015436,0.015429,0.015421,0.015414,0.015406,0.015399
|
||||
.float 0.015392,0.015384,0.015377,0.015369,0.015362,0.015355,0.015347,0.015340,0.015333
|
||||
.float 0.015325,0.015318,0.015311,0.015303,0.015296,0.015289,0.015281,0.015274,0.015267
|
||||
.float 0.015259,0.015252,0.015245,0.015238,0.015230,0.015223,0.015216,0.015209,0.015201
|
||||
.float 0.015194,0.015187,0.015180,0.015173,0.015165,0.015158,0.015151,0.015144,0.015137
|
||||
.float 0.015130,0.015122,0.015115,0.015108,0.015101,0.015094,0.015087,0.015080,0.015073
|
||||
.float 0.015065,0.015058,0.015051,0.015044,0.015037,0.015030,0.015023,0.015016,0.015009
|
||||
.float 0.015002,0.014995,0.014988,0.014981,0.014974,0.014967,0.014960,0.014953,0.014946
|
||||
.float 0.014939,0.014932,0.014925,0.014918,0.014911,0.014904,0.014897,0.014890,0.014883
|
||||
.float 0.014876,0.014869,0.014863,0.014856,0.014849,0.014842,0.014835,0.014828,0.014821
|
||||
.float 0.014814,0.014808,0.014801,0.014794,0.014787,0.014780,0.014773,0.014767,0.014760
|
||||
.float 0.014753,0.014746,0.014739,0.014733,0.014726,0.014719,0.014712,0.014705,0.014699
|
||||
.float 0.014692,0.014685,0.014678,0.014672,0.014665,0.014658,0.014652,0.014645,0.014638
|
||||
.float 0.014631,0.014625,0.014618,0.014611,0.014605,0.014598,0.014591,0.014585,0.014578
|
||||
.float 0.014572,0.014565,0.014558,0.014552,0.014545,0.014538,0.014532,0.014525,0.014519
|
||||
.float 0.014512,0.014505,0.014499,0.014492,0.014486,0.014479,0.014473,0.014466,0.014460
|
||||
.float 0.014453,0.014447,0.014440,0.014434,0.014427,0.014421,0.014414,0.014408,0.014401
|
||||
.float 0.014395,0.014388,0.014382,0.014375,0.014369,0.014362,0.014356,0.014349,0.014343
|
||||
.float 0.014337,0.014330,0.014324,0.014317,0.014311,0.014304,0.014298,0.014292,0.014285
|
||||
.float 0.014279,0.014273,0.014266,0.014260,0.014254,0.014247,0.014241,0.014234,0.014228
|
||||
.float 0.014222,0.014216,0.014209,0.014203,0.014197,0.014190,0.014184,0.014178,0.014171
|
||||
.float 0.014165,0.014159,0.014153,0.014146,0.014140,0.014134,0.014128,0.014121,0.014115
|
||||
.float 0.014109,0.014103,0.014097,0.014090,0.014084,0.014078,0.014072,0.014066,0.014059
|
||||
.float 0.014053,0.014047,0.014041,0.014035,0.014029,0.014022,0.014016,0.014010,0.014004
|
||||
.float 0.013998,0.013992,0.013986,0.013980,0.013973,0.013967,0.013961,0.013955,0.013949
|
||||
.float 0.013943,0.013937,0.013931,0.013925,0.013919,0.013913,0.013907,0.013901,0.013895
|
||||
.float 0.013889,0.013882,0.013876,0.013870,0.013864,0.013858,0.013852,0.013846,0.013840
|
||||
.float 0.013834,0.013828,0.013823,0.013817,0.013811,0.013805,0.013799,0.013793,0.013787
|
||||
.float 0.013781,0.013775,0.013769,0.013763,0.013757,0.013751,0.013745,0.013739,0.013734
|
||||
.float 0.013728,0.013722,0.013716,0.013710,0.013704,0.013698,0.013692,0.013687,0.013681
|
||||
.float 0.013675,0.013669,0.013663,0.013657,0.013652,0.013646,0.013640,0.013634,0.013628
|
||||
.float 0.013622,0.013617,0.013611,0.013605,0.013599,0.013594,0.013588,0.013582,0.013576
|
||||
.float 0.013570,0.013565,0.013559,0.013553,0.013547,0.013542,0.013536,0.013530,0.013525
|
||||
.float 0.013519,0.013513,0.013507,0.013502,0.013496,0.013490,0.013485,0.013479,0.013473
|
||||
.float 0.013468,0.013462,0.013456,0.013451,0.013445,0.013439,0.013434,0.013428,0.013422
|
||||
.float 0.013417,0.013411,0.013406,0.013400,0.013394,0.013389,0.013383,0.013378,0.013372
|
||||
.float 0.013366,0.013361,0.013355,0.013350,0.013344,0.013339,0.013333,0.013327,0.013322
|
||||
.float 0.013316,0.013311,0.013305,0.013300,0.013294,0.013289,0.013283,0.013278,0.013272
|
||||
.float 0.013267,0.013261,0.013256,0.013250,0.013245,0.013239,0.013234,0.013228,0.013223
|
||||
.float 0.013217,0.013212,0.013206,0.013201,0.013196,0.013190,0.013185,0.013179,0.013174
|
||||
.float 0.013168,0.013163,0.013158,0.013152,0.013147,0.013141,0.013136,0.013131,0.013125
|
||||
.float 0.013120,0.013114,0.013109,0.013104,0.013098,0.013093,0.013088,0.013082,0.013077
|
||||
.float 0.013072,0.013066,0.013061,0.013056,0.013050,0.013045,0.013040,0.013034,0.013029
|
||||
.float 0.013024,0.013018,0.013013,0.013008,0.013003,0.012997,0.012992,0.012987,0.012981
|
||||
.float 0.012976,0.012971,0.012966,0.012960,0.012955,0.012950,0.012945,0.012939,0.012934
|
||||
.float 0.012929,0.012924,0.012919,0.012913,0.012908,0.012903,0.012898,0.012893,0.012887
|
||||
.float 0.012882,0.012877,0.012872,0.012867,0.012861,0.012856,0.012851,0.012846,0.012841
|
||||
.float 0.012836,0.012830,0.012825,0.012820,0.012815,0.012810,0.012805,0.012800,0.012795
|
||||
.float 0.012789,0.012784,0.012779,0.012774,0.012769,0.012764,0.012759,0.012754,0.012749
|
||||
.float 0.012744,0.012739,0.012733,0.012728,0.012723,0.012718,0.012713,0.012708,0.012703
|
||||
.float 0.012698,0.012693,0.012688,0.012683,0.012678,0.012673,0.012668,0.012663,0.012658
|
||||
.float 0.012653,0.012648,0.012643,0.012638,0.012633,0.012628,0.012623,0.012618,0.012613
|
||||
.float 0.012608,0.012603,0.012598,0.012593,0.012588,0.012583,0.012578,0.012573,0.012568
|
||||
.float 0.012563,0.012559,0.012554,0.012549,0.012544,0.012539,0.012534,0.012529,0.012524
|
||||
.float 0.012519,0.012514,0.012509,0.012505,0.012500,0.012495,0.012490,0.012485,0.012480
|
||||
.float 0.012475,0.012470,0.012466,0.012461,0.012456,0.012451,0.012446,0.012441,0.012437
|
||||
.float 0.012432,0.012427,0.012422,0.012417,0.012412,0.012408,0.012403,0.012398,0.012393
|
||||
.float 0.012388,0.012384,0.012379,0.012374,0.012369,0.012364,0.012360,0.012355,0.012350
|
||||
.float 0.012345,0.012341,0.012336,0.012331,0.012326,0.012322,0.012317,0.012312,0.012307
|
||||
.float 0.012303,0.012298,0.012293,0.012288,0.012284,0.012279,0.012274,0.012270,0.012265
|
||||
.float 0.012260,0.012256,0.012251,0.012246,0.012241,0.012237,0.012232,0.012227,0.012223
|
||||
.float 0.012218,0.012213,0.012209,0.012204,0.012199,0.012195,0.012190,0.012186,0.012181
|
||||
.float 0.012176,0.012172,0.012167,0.012162,0.012158,0.012153,0.012149,0.012144,0.012139
|
||||
.float 0.012135,0.012130,0.012126,0.012121,0.012116,0.012112,0.012107,0.012103,0.012098
|
||||
.float 0.012093,0.012089,0.012084,0.012080,0.012075,0.012071,0.012066,0.012062,0.012057
|
||||
.float 0.012052,0.012048,0.012043,0.012039,0.012034,0.012030,0.012025,0.012021,0.012016
|
||||
.float 0.012012,0.012007,0.012003,0.011998,0.011994,0.011989,0.011985,0.011980,0.011976
|
||||
.float 0.011971,0.011967,0.011962,0.011958,0.011953,0.011949,0.011944,0.011940,0.011936
|
||||
.float 0.011931,0.011927,0.011922,0.011918,0.011913,0.011909,0.011904,0.011900,0.011896
|
||||
.float 0.011891,0.011887,0.011882,0.011878,0.011874,0.011869,0.011865,0.011860,0.011856
|
||||
.float 0.011852,0.011847,0.011843,0.011838,0.011834,0.011830,0.011825,0.011821,0.011817
|
||||
.float 0.011812,0.011808,0.011803,0.011799,0.011795,0.011790,0.011786,0.011782,0.011777
|
||||
.float 0.011773,0.011769,0.011764,0.011760,0.011756,0.011751,0.011747,0.011743,0.011739
|
||||
.float 0.011734,0.011730,0.011726,0.011721,0.011717,0.011713,0.011708,0.011704,0.011700
|
||||
.float 0.011696,0.011691,0.011687,0.011683,0.011679,0.011674,0.011670,0.011666,0.011662
|
||||
.float 0.011657,0.011653,0.011649,0.011645,0.011640,0.011636,0.011632,0.011628,0.011623
|
||||
.float 0.011619,0.011615,0.011611,0.011607,0.011602,0.011598,0.011594,0.011590,0.011586
|
||||
.float 0.011581,0.011577,0.011573,0.011569,0.011565,0.011560,0.011556,0.011552,0.011548
|
||||
.float 0.011544,0.011540,0.011535,0.011531,0.011527,0.011523,0.011519,0.011515,0.011511
|
||||
.float 0.011506,0.011502,0.011498,0.011494,0.011490,0.011486,0.011482,0.011478,0.011473
|
||||
.float 0.011469,0.011465,0.011461,0.011457,0.011453,0.011449,0.011445,0.011441,0.011436
|
||||
.float 0.011432,0.011428,0.011424,0.011420,0.011416,0.011412,0.011408,0.011404,0.011400
|
||||
.float 0.011396,0.011392,0.011388,0.011384,0.011380,0.011376,0.011371,0.011367,0.011363
|
||||
.float 0.011359,0.011355,0.011351,0.011347,0.011343,0.011339,0.011335,0.011331,0.011327
|
||||
.float 0.011323,0.011319,0.011315,0.011311,0.011307,0.011303,0.011299,0.011295,0.011291
|
||||
.float 0.011287,0.011283,0.011279,0.011275,0.011271,0.011267,0.011263,0.011259,0.011255
|
||||
.float 0.011252,0.011248,0.011244,0.011240,0.011236,0.011232,0.011228,0.011224,0.011220
|
||||
.float 0.011216,0.011212,0.011208,0.011204,0.011200,0.011196,0.011192,0.011189,0.011185
|
||||
.float 0.011181,0.011177,0.011173,0.011169,0.011165,0.011161,0.011157,0.011153,0.011150
|
||||
.float 0.011146,0.011142,0.011138,0.011134,0.011130,0.011126,0.011122,0.011119,0.011115
|
||||
.float 0.011111,0.011107,0.011103,0.011099,0.011095,0.011092,0.011088,0.011084,0.011080
|
||||
.float 0.011076,0.011072,0.011069,0.011065,0.011061,0.011057,0.011053,0.011049,0.011046
|
||||
.float 0.011042,0.011038,0.011034,0.011030,0.011027,0.011023,0.011019,0.011015,0.011011
|
||||
.float 0.011008,0.011004,0.011000,0.010996,0.010993,0.010989,0.010985,0.010981,0.010977
|
||||
.float 0.010974,0.010970,0.010966,0.010962,0.010959,0.010955,0.010951,0.010947,0.010944
|
||||
.float 0.010940,0.010936,0.010932,0.010929,0.010925,0.010921,0.010918,0.010914,0.010910
|
||||
.float 0.010906,0.010903,0.010899,0.010895,0.010892,0.010888,0.010884,0.010880,0.010877
|
||||
.float 0.010873,0.010869,0.010866,0.010862,0.010858,0.010855,0.010851,0.010847,0.010844
|
||||
.float 0.010840,0.010836,0.010833,0.010829,0.010825,0.010822,0.010818,0.010814,0.010811
|
||||
.float 0.010807,0.010803,0.010800,0.010796,0.010792,0.010789,0.010785,0.010781,0.010778
|
||||
.float 0.010774,0.010771,0.010767,0.010763,0.010760,0.010756,0.010752,0.010749,0.010745
|
||||
.float 0.010742,0.010738,0.010734,0.010731,0.010727,0.010724,0.010720,0.010716,0.010713
|
||||
.float 0.010709,0.010706,0.010702,0.010699,0.010695,0.010691,0.010688,0.010684,0.010681
|
||||
.float 0.010677,0.010674,0.010670,0.010666,0.010663,0.010659,0.010656,0.010652,0.010649
|
||||
.float 0.010645,0.010642,0.010638,0.010635,0.010631,0.010627,0.010624,0.010620,0.010617
|
||||
.float 0.010613,0.010610,0.010606,0.010603,0.010599,0.010596,0.010592,0.010589,0.010585
|
||||
.float 0.010582,0.010578,0.010575,0.010571,0.010568,0.010564,0.010561,0.010557,0.010554
|
||||
.float 0.010550,0.010547,0.010543,0.010540,0.010536,0.010533,0.010530,0.010526,0.010523
|
||||
.float 0.010519,0.010516,0.010512,0.010509,0.010505,0.010502,0.010498,0.010495,0.010492
|
||||
.float 0.010488,0.010485,0.010481,0.010478,0.010474,0.010471,0.010468,0.010464,0.010461
|
||||
.float 0.010457,0.010454,0.010450,0.010447,0.010444,0.010440,0.010437,0.010433,0.010430
|
||||
.float 0.010427,0.010423,0.010420,0.010416,0.010413,0.010410,0.010406,0.010403,0.010400
|
||||
.float 0.010396,0.010393,0.010389,0.010386,0.010383,0.010379,0.010376,0.010373,0.010369
|
||||
.float 0.010366,0.010362,0.010359,0.010356,0.010352,0.010349,0.010346,0.010342,0.010339
|
||||
.float 0.010336,0.010332,0.010329,0.010326,0.010322,0.010319,0.010316,0.010312,0.010309
|
||||
.float 0.010306,0.010302,0.010299,0.010296,0.010292,0.010289,0.010286,0.010283,0.010279
|
||||
.float 0.010276,0.010273,0.010269,0.010266,0.010263,0.010259,0.010256,0.010253,0.010250
|
||||
.float 0.010246,0.010243,0.010240,0.010237,0.010233,0.010230,0.010227,0.010223,0.010220
|
||||
.float 0.010217,0.010214,0.010210,0.010207,0.010204,0.010201,0.010197,0.010194,0.010191
|
||||
.float 0.010188,0.010184,0.010181,0.010178,0.010175,0.010171,0.010168,0.010165,0.010162
|
||||
.float 0.010159,0.010155,0.010152,0.010149,0.010146,0.010142,0.010139,0.010136,0.010133
|
||||
.float 0.010130,0.010126,0.010123,0.010120,0.010117,0.010114,0.010110,0.010107,0.010104
|
||||
.float 0.010101,0.010098,0.010094,0.010091,0.010088,0.010085,0.010082,0.010079,0.010075
|
||||
.float 0.010072,0.010069,0.010066,0.010063,0.010060,0.010056,0.010053,0.010050,0.010047
|
||||
.float 0.010044,0.010041,0.010037,0.010034,0.010031,0.010028,0.010025,0.010022,0.010019
|
||||
.float 0.010015,0.010012,0.010009,0.010006,0.010003,0.010000,0.009997,0.009994,0.009990
|
||||
.float 0.009987,0.009984,0.009981,0.009978,0.009975,0.009972,0.009969,0.009966,0.009962
|
||||
.float 0.009959,0.009956,0.009953,0.009950,0.009947,0.009944,0.009941,0.009938,0.009935
|
||||
.float 0.009932,0.009928,0.009925,0.009922,0.009919,0.009916,0.009913,0.009910,0.009907
|
||||
.float 0.009904,0.009901,0.009898,0.009895,0.009892,0.009889,0.009886,0.009882,0.009879
|
||||
.float 0.009876,0.009873,0.009870,0.009867,0.009864,0.009861,0.009858,0.009855,0.009852
|
||||
.float 0.009849,0.009846,0.009843,0.009840,0.009837,0.009834,0.009831,0.009828,0.009825
|
||||
.float 0.009822,0.009819,0.009816,0.009813,0.009810,0.009807,0.009804,0.009801,0.009798
|
||||
.float 0.009795,0.009792,0.009789,0.009786,0.009783,0.009780,0.009777,0.009774,0.009771
|
||||
.float 0.009768,0.009765,0.009762,0.009759,0.009756,0.009753,0.009750,0.009747,0.009744
|
||||
.float 0.009741,0.009738,0.009735,0.009732,0.009729,0.009726,0.009723,0.009720,0.009717
|
||||
.float 0.009714,0.009712,0.009709,0.009706,0.009703,0.009700,0.009697,0.009694,0.009691
|
||||
.float 0.009688,0.009685,0.009682,0.009679,0.009676,0.009673,0.009670,0.009667,0.009665
|
||||
.float 0.009662,0.009659,0.009656,0.009653,0.009650,0.009647,0.009644,0.009641,0.009638
|
||||
.float 0.009635,0.009633,0.009630,0.009627,0.009624,0.009621,0.009618,0.009615,0.009612
|
||||
.float 0.009609,0.009607,0.009604,0.009601,0.009598,0.009595,0.009592,0.009589,0.009586
|
||||
.float 0.009584,0.009581,0.009578,0.009575,0.009572,0.009569,0.009566,0.009563,0.009561
|
||||
.float 0.009558,0.009555,0.009552,0.009549,0.009546,0.009544,0.009541,0.009538,0.009535
|
||||
.float 0.009532,0.009529,0.009526,0.009524,0.009521,0.009518,0.009515,0.009512,0.009509
|
||||
.float 0.009507,0.009504,0.009501,0.009498,0.009495,0.009493,0.009490,0.009487,0.009484
|
||||
.float 0.009481,0.009478,0.009476,0.009473,0.009470,0.009467,0.009464,0.009462,0.009459
|
||||
.float 0.009456,0.009453,0.009451,0.009448,0.009445,0.009442,0.009439,0.009437,0.009434
|
||||
.float 0.009431,0.009428,0.009425,0.009423,0.009420,0.009417,0.009414,0.009412,0.009409
|
||||
.float 0.009406,0.009403,0.009401,0.009398,0.009395,0.009392,0.009389,0.009387,0.009384
|
||||
.float 0.009381,0.009378,0.009376,0.009373,0.009370,0.009368,0.009365,0.009362,0.009359
|
||||
.float 0.009357,0.009354,0.009351,0.009348,0.009346,0.009343,0.009340,0.009337,0.009335
|
||||
.float 0.009332,0.009329,0.009327,0.009324,0.009321,0.009318,0.009316,0.009313,0.009310
|
||||
.float 0.009308,0.009305,0.009302,0.009299,0.009297,0.009294,0.009291,0.009289,0.009286
|
||||
.float 0.009283,0.009281,0.009278,0.009275,0.009273,0.009270,0.009267,0.009264,0.009262
|
||||
.float 0.009259,0.009256,0.009254,0.009251,0.009248,0.009246,0.009243,0.009240,0.009238
|
||||
.float 0.009235,0.009232,0.009230,0.009227,0.009224,0.009222,0.009219,0.009216,0.009214
|
||||
.float 0.009211,0.009208,0.009206,0.009203,0.009201,0.009198,0.009195,0.009193,0.009190
|
||||
.float 0.009187,0.009185,0.009182,0.009179,0.009177,0.009174,0.009172,0.009169,0.009166
|
||||
.float 0.009164,0.009161,0.009158,0.009156,0.009153,0.009151,0.009148,0.009145,0.009143
|
||||
.float 0.009140,0.009137,0.009135,0.009132,0.009130,0.009127,0.009124,0.009122,0.009119
|
||||
.float 0.009117,0.009114,0.009111,0.009109,0.009106,0.009104,0.009101,0.009099,0.009096
|
||||
.float 0.009093,0.009091,0.009088,0.009086,0.009083,0.009080,0.009078,0.009075,0.009073
|
||||
.float 0.009070,0.009068,0.009065,0.009062,0.009060,0.009057,0.009055,0.009052,0.009050
|
||||
.float 0.009047,0.009044,0.009042,0.009039,0.009037,0.009034,0.009032,0.009029,0.009027
|
||||
.float 0.009024,0.009022,0.009019,0.009016,0.009014,0.009011,0.009009,0.009006,0.009004
|
||||
.float 0.009001,0.008999,0.008996,0.008994,0.008991,0.008989,0.008986,0.008984,0.008981
|
||||
.float 0.008979,0.008976,0.008973,0.008971,0.008968,0.008966,0.008963,0.008961,0.008958
|
||||
.float 0.008956,0.008953,0.008951,0.008948,0.008946,0.008943,0.008941,0.008938,0.008936
|
||||
.float 0.008933,0.008931,0.008928,0.008926,0.008923,0.008921,0.008918,0.008916,0.008913
|
||||
.float 0.008911,0.008909,0.008906,0.008904,0.008901,0.008899,0.008896,0.008894,0.008891
|
||||
.float 0.008889,0.008886,0.008884,0.008881,0.008879,0.008876,0.008874,0.008871,0.008869
|
||||
.float 0.008867,0.008864,0.008862,0.008859,0.008857,0.008854,0.008852,0.008849,0.008847
|
||||
.float 0.008845,0.008842,0.008840,0.008837,0.008835,0.008832,0.008830,0.008827,0.008825
|
||||
.float 0.008823,0.008820,0.008818,0.008815,0.008813,0.008810,0.008808,0.008806,0.008803
|
||||
.float 0.008801,0.008798,0.008796,0.008793,0.008791,0.008789,0.008786,0.008784,0.008781
|
||||
.float 0.008779,0.008777,0.008774,0.008772,0.008769,0.008767,0.008765,0.008762,0.008760
|
||||
.float 0.008757,0.008755,0.008753,0.008750,0.008748,0.008745,0.008743,0.008741,0.008738
|
||||
.float 0.008736,0.008733,0.008731,0.008729,0.008726,0.008724,0.008722,0.008719,0.008717
|
||||
.float 0.008714,0.008712,0.008710,0.008707,0.008705,0.008703,0.008700,0.008698,0.008696
|
||||
.float 0.008693,0.008691,0.008688,0.008686,0.008684,0.008681,0.008679,0.008677,0.008674
|
||||
.float 0.008672,0.008670,0.008667,0.008665,0.008663,0.008660,0.008658,0.008656,0.008653
|
||||
.float 0.008651,0.008649,0.008646,0.008644,0.008641,0.008639,0.008637,0.008635,0.008632
|
||||
.float 0.008630,0.008628,0.008625,0.008623,0.008621,0.008618,0.008616,0.008614,0.008611
|
||||
.float 0.008609,0.008607,0.008604,0.008602,0.008600,0.008597,0.008595,0.008593,0.008590
|
||||
.float 0.008588,0.008586,0.008584,0.008581,0.008579,0.008577,0.008574,0.008572,0.008570
|
||||
.float 0.008567,0.008565,0.008563,0.008561,0.008558,0.008556,0.008554,0.008551,0.008549
|
||||
.float 0.008547,0.008545,0.008542,0.008540,0.008538,0.008535,0.008533,0.008531,0.008529
|
||||
.float 0.008526,0.008524,0.008522,0.008520,0.008517,0.008515,0.008513,0.008510,0.008508
|
||||
.float 0.008506,0.008504,0.008501,0.008499,0.008497,0.008495,0.008492,0.008490,0.008488
|
||||
.float 0.008486,0.008483,0.008481,0.008479,0.008477,0.008474,0.008472,0.008470,0.008468
|
||||
.float 0.008465,0.008463,0.008461,0.008459,0.008457,0.008454,0.008452,0.008450,0.008448
|
||||
.float 0.008445,0.008443,0.008441,0.008439,0.008436,0.008434,0.008432,0.008430,0.008428
|
||||
.float 0.008425,0.008423,0.008421,0.008419,0.008416,0.008414,0.008412,0.008410,0.008408
|
||||
.float 0.008405,0.008403,0.008401,0.008399,0.008397,0.008394,0.008392,0.008390,0.008388
|
||||
.float 0.008386,0.008383,0.008381,0.008379,0.008377,0.008375,0.008372,0.008370,0.008368
|
||||
.float 0.008366,0.008364,0.008362,0.008359,0.008357,0.008355,0.008353,0.008351,0.008348
|
||||
.float 0.008346,0.008344,0.008342,0.008340,0.008338,0.008335,0.008333,0.008331,0.008329
|
||||
.float 0.008327,0.008325,0.008322,0.008320,0.008318,0.008316,0.008314,0.008312,0.008309
|
||||
.float 0.008307,0.008305,0.008303,0.008301,0.008299,0.008296,0.008294,0.008292,0.008290
|
||||
.float 0.008288,0.008286,0.008284,0.008281,0.008279,0.008277,0.008275,0.008273,0.008271
|
||||
.float 0.008269,0.008266,0.008264,0.008262,0.008260,0.008258,0.008256,0.008254,0.008252
|
||||
.float 0.008249,0.008247,0.008245,0.008243,0.008241,0.008239,0.008237,0.008235,0.008232
|
||||
.float 0.008230,0.008228,0.008226,0.008224,0.008222,0.008220,0.008218,0.008216,0.008213
|
||||
.float 0.008211,0.008209,0.008207,0.008205,0.008203,0.008201,0.008199,0.008197,0.008194
|
||||
.float 0.008192,0.008190,0.008188,0.008186,0.008184,0.008182,0.008180,0.008178,0.008176
|
||||
.float 0.008174,0.008171,0.008169,0.008167,0.008165,0.008163,0.008161,0.008159,0.008157
|
||||
.float 0.008155,0.008153,0.008151,0.008149,0.008147,0.008144,0.008142,0.008140,0.008138
|
||||
.float 0.008136,0.008134,0.008132,0.008130,0.008128,0.008126,0.008124,0.008122,0.008120
|
||||
.float 0.008118,0.008116,0.008113,0.008111,0.008109,0.008107,0.008105,0.008103,0.008101
|
||||
.float 0.008099,0.008097,0.008095,0.008093,0.008091,0.008089,0.008087,0.008085,0.008083
|
||||
.float 0.008081,0.008079,0.008077,0.008075,0.008073,0.008070,0.008068,0.008066,0.008064
|
||||
.float 0.008062,0.008060,0.008058,0.008056,0.008054,0.008052,0.008050,0.008048,0.008046
|
||||
.float 0.008044,0.008042,0.008040,0.008038,0.008036,0.008034,0.008032,0.008030,0.008028
|
||||
.float 0.008026,0.008024,0.008022,0.008020,0.008018,0.008016,0.008014,0.008012,0.008010
|
||||
.float 0.008008,0.008006,0.008004,0.008002,0.008000,0.007998,0.007996,0.007994,0.007992
|
||||
.float 0.007990,0.007988,0.007986,0.007984,0.007982,0.007980,0.007978,0.007976,0.007974
|
||||
.float 0.007972,0.007970,0.007968,0.007966,0.007964,0.007962,0.007960,0.007958,0.007956
|
||||
.float 0.007954,0.007952,0.007950,0.007948,0.007946,0.007944,0.007942,0.007940,0.007938
|
||||
.float 0.007936,0.007934,0.007932,0.007930,0.007929,0.007927,0.007925,0.007923,0.007921
|
||||
.float 0.007919,0.007917,0.007915,0.007913,0.007911,0.007909,0.007907,0.007905,0.007903
|
||||
.float 0.007901,0.007899,0.007897,0.007895,0.007893,0.007891,0.007889,0.007887,0.007886
|
||||
.float 0.007884,0.007882,0.007880,0.007878,0.007876,0.007874,0.007872,0.007870,0.007868
|
||||
.float 0.007866,0.007864,0.007862,0.007860,0.007858,0.007856,0.007855,0.007853,0.007851
|
||||
.float 0.007849,0.007847,0.007845,0.007843,0.007841,0.007839,0.007837,0.007835,0.007833
|
||||
.float 0.007831,0.007830,0.007828,0.007826,0.007824,0.007822,0.007820,0.007818,0.007816
|
||||
.float 0.007814,0.007812,0.007810,0.007809,0.007807,0.007805,0.007803,0.007801,0.007799
|
||||
.float 0.007797,0.007795,0.007793,0.007791,0.007790,0.007788,0.007786,0.007784,0.007782
|
||||
.float 0.007780,0.007778,0.007776,0.007774,0.007773,0.007771,0.007769,0.007767,0.007765
|
||||
.float 0.007763,0.007761,0.007759,0.007757,0.007756,0.007754,0.007752,0.007750,0.007748
|
||||
.float 0.007746,0.007744,0.007742,0.007741,0.007739,0.007737,0.007735,0.007733,0.007731
|
||||
.float 0.007729,0.007727,0.007726,0.007724,0.007722,0.007720,0.007718,0.007716,0.007714
|
||||
.float 0.007713,0.007711,0.007709,0.007707,0.007705,0.007703,0.007701,0.007700,0.007698
|
||||
.float 0.007696,0.007694,0.007692,0.007690,0.007688,0.007687,0.007685,0.007683,0.007681
|
||||
.float 0.007679,0.007677,0.007676,0.007674,0.007672,0.007670,0.007668,0.007666,0.007665
|
||||
.float 0.007663,0.007661,0.007659,0.007657,0.007655,0.007654,0.007652,0.007650,0.007648
|
||||
.float 0.007646,0.007644,0.007643,0.007641,0.007639,0.007637,0.007635,0.007633,0.007632
|
||||
.float 0.007630,0.007628,0.007626,0.007624,0.007623,0.007621,0.007619,0.007617,0.007615
|
||||
.float 0.007613,0.007612,0.007610,0.007608,0.007606,0.007604,0.007603,0.007601,0.007599
|
||||
.float 0.007597,0.007595,0.007594,0.007592,0.007590,0.007588,0.007586,0.007585,0.007583
|
||||
.float 0.007581,0.007579,0.007577,0.007576,0.007574,0.007572,0.007570,0.007568,0.007567
|
||||
.float 0.007565,0.007563,0.007561,0.007560,0.007558,0.007556,0.007554,0.007552,0.007551
|
||||
.float 0.007549,0.007547,0.007545,0.007544,0.007542,0.007540,0.007538,0.007536,0.007535
|
||||
.float 0.007533,0.007531,0.007529,0.007528,0.007526,0.007524,0.007522,0.007520,0.007519
|
||||
.float 0.007517,0.007515,0.007513,0.007512,0.007510,0.007508,0.007506,0.007505,0.007503
|
||||
.float 0.007501,0.007499,0.007498,0.007496,0.007494,0.007492,0.007491,0.007489,0.007487
|
||||
.float 0.007485,0.007484,0.007482,0.007480,0.007478,0.007477,0.007475,0.007473,0.007471
|
||||
.float 0.007470,0.007468,0.007466,0.007464,0.007463,0.007461,0.007459,0.007457,0.007456
|
||||
.float 0.007454,0.007452,0.007450,0.007449,0.007447,0.007445,0.007443,0.007442,0.007440
|
||||
.float 0.007438,0.007437,0.007435,0.007433,0.007431,0.007430,0.007428,0.007426,0.007424
|
||||
.float 0.007423,0.007421,0.007419,0.007418,0.007416,0.007414,0.007412,0.007411,0.007409
|
||||
.float 0.007407,0.007406,0.007404,0.007402,0.007400,0.007399,0.007397,0.007395,0.007394
|
||||
.float 0.007392,0.007390,0.007388,0.007387,0.007385,0.007383,0.007382,0.007380,0.007378
|
||||
.float 0.007377,0.007375,0.007373,0.007371,0.007370,0.007368,0.007366,0.007365,0.007363
|
||||
.float 0.007361,0.007360,0.007358,0.007356,0.007355,0.007353,0.007351,0.007349,0.007348
|
||||
.float 0.007346,0.007344,0.007343,0.007341,0.007339,0.007338,0.007336,0.007334,0.007333
|
||||
.float 0.007331,0.007329,0.007328,0.007326,0.007324,0.007323,0.007321,0.007319,0.007318
|
||||
.float 0.007316,0.007314,0.007313,0.007311,0.007309,0.007308,0.007306,0.007304,0.007302
|
||||
.float 0.007301,0.007299,0.007298,0.007296,0.007294,0.007293,0.007291,0.007289,0.007288
|
||||
.float 0.007286,0.007284,0.007283,0.007281,0.007279,0.007278,0.007276,0.007274,0.007273
|
||||
.float 0.007271,0.007269,0.007268,0.007266,0.007264,0.007263,0.007261,0.007259,0.007258
|
||||
.float 0.007256,0.007254,0.007253,0.007251,0.007250,0.007248,0.007246,0.007245,0.007243
|
||||
.float 0.007241,0.007240,0.007238,0.007236,0.007235,0.007233,0.007232,0.007230,0.007228
|
||||
.float 0.007227,0.007225,0.007223,0.007222,0.007220,0.007218,0.007217,0.007215,0.007214
|
||||
.float 0.007212,0.007210,0.007209,0.007207,0.007205,0.007204,0.007202,0.007201,0.007199
|
||||
.float 0.007197,0.007196,0.007194,0.007193,0.007191,0.007189,0.007188,0.007186,0.007184
|
||||
.float 0.007183,0.007181,0.007180,0.007178,0.007176,0.007175,0.007173,0.007172,0.007170
|
||||
.float 0.007168,0.007167,0.007165,0.007164,0.007162,0.007160,0.007159,0.007157,0.007156
|
||||
.float 0.007154,0.007152,0.007151,0.007149,0.007148,0.007146,0.007144,0.007143,0.007141
|
||||
.float 0.007140,0.007138,0.007136,0.007135,0.007133,0.007132,0.007130,0.007128,0.007127
|
||||
.float 0.007125,0.007124,0.007122,0.007121,0.007119,0.007117,0.007116,0.007114,0.007113
|
||||
.float 0.007111,0.007109,0.007108,0.007106,0.007105,0.007103,0.007102,0.007100,0.007098
|
||||
.float 0.007097,0.007095,0.007094,0.007092,0.007091,0.007089,0.007087,0.007086,0.007084
|
||||
.float 0.007083,0.007081,0.007080,0.007078,0.007076,0.007075,0.007073,0.007072,0.007070
|
||||
.float 0.007069,0.007067,0.007065,0.007064,0.007062,0.007061,0.007059,0.007058,0.007056
|
||||
.float 0.007055,0.007053,0.007051,0.007050,0.007048,0.007047,0.007045,0.007044,0.007042
|
||||
.float 0.007041,0.007039,0.007038,0.007036,0.007034,0.007033,0.007031,0.007030,0.007028
|
||||
.float 0.007027,0.007025,0.007024,0.007022,0.007021,0.007019,0.007017,0.007016,0.007014
|
||||
.float 0.007013,0.007011,0.007010,0.007008,0.007007,0.007005,0.007004,0.007002,0.007001
|
||||
.float 0.006999,0.006997,0.006996,0.006994,0.006993,0.006991,0.006990,0.006988,0.006987
|
||||
.float 0.006985,0.006984,0.006982,0.006981,0.006979,0.006978,0.006976,0.006975,0.006973
|
||||
.float 0.006972,0.006970,0.006969,0.006967,0.006966,0.006964,0.006962,0.006961,0.006959
|
||||
.float 0.006958,0.006956,0.006955,0.006953,0.006952,0.006950,0.006949,0.006947,0.006946
|
||||
.float 0.006944,0.006943,0.006941,0.006940,0.006938,0.006937,0.006935,0.006934,0.006932
|
||||
.float 0.006931,0.006929,0.006928,0.006926,0.006925,0.006923,0.006922,0.006920,0.006919
|
||||
.float 0.006917,0.006916,0.006914,0.006913,0.006911,0.006910,0.006908,0.006907,0.006905
|
||||
.float 0.006904,0.006902,0.006901,0.006899,0.006898,0.006896,0.006895,0.006893,0.006892
|
||||
.float 0.006891,0.006889,0.006888,0.006886,0.006885,0.006883,0.006882,0.006880,0.006879
|
||||
.float 0.006877,0.006876,0.006874,0.006873,0.006871,0.006870,0.006868,0.006867,0.006865
|
||||
.float 0.006864,0.006862,0.006861,0.006860,0.006858,0.006857,0.006855,0.006854,0.006852
|
||||
.float 0.006851,0.006849,0.006848,0.006846,0.006845,0.006843,0.006842,0.006840,0.006839
|
||||
.float 0.006838,0.006836,0.006835,0.006833,0.006832,0.006830,0.006829,0.006827,0.006826
|
||||
.float 0.006824,0.006823,0.006821,0.006820,0.006819,0.006817,0.006816,0.006814,0.006813
|
||||
.float 0.006811,0.006810,0.006808,0.006807,0.006806,0.006804,0.006803,0.006801,0.006800
|
||||
.float 0.006798,0.006797,0.006795,0.006794,0.006793,0.006791,0.006790,0.006788,0.006787
|
||||
.float 0.006785,0.006784,0.006782,0.006781,0.006780,0.006778,0.006777,0.006775,0.006774
|
||||
.float 0.006772,0.006771,0.006770,0.006768,0.006767,0.006765,0.006764,0.006762,0.006761
|
||||
.float 0.006760,0.006758,0.006757,0.006755,0.006754,0.006752,0.006751,0.006750,0.006748
|
||||
.float 0.006747,0.006745,0.006744,0.006742,0.006741,0.006740,0.006738,0.006737,0.006735
|
||||
.float 0.006734,0.006733,0.006731,0.006730,0.006728,0.006727,0.006725,0.006724,0.006723
|
||||
.float 0.006721,0.006720,0.006718,0.006717,0.006716,0.006714,0.006713,0.006711,0.006710
|
||||
.float 0.006709,0.006707,0.006706,0.006704,0.006703,0.006701,0.006700,0.006699,0.006697
|
||||
.float 0.006696,0.006694,0.006693,0.006692,0.006690,0.006689,0.006687,0.006686,0.006685
|
||||
.float 0.006683,0.006682,0.006680,0.006679,0.006678,0.006676,0.006675,0.006674,0.006672
|
||||
.float 0.006671,0.006669,0.006668,0.006667,0.006665,0.006664,0.006662,0.006661,0.006660
|
||||
.float 0.006658,0.006657,0.006655,0.006654,0.006653,0.006651,0.006650,0.006649,0.006647
|
||||
.float 0.006646,0.006644,0.006643,0.006642,0.006640,0.006639,0.006638,0.006636,0.006635
|
||||
.float 0.006633,0.006632,0.006631,0.006629,0.006628,0.006627,0.006625,0.006624,0.006622
|
||||
.float 0.006621,0.006620,0.006618,0.006617,0.006616,0.006614,0.006613,0.006611,0.006610
|
||||
.float 0.006609,0.006607,0.006606,0.006605,0.006603,0.006602,0.006601,0.006599,0.006598
|
||||
.float 0.006596,0.006595,0.006594,0.006592,0.006591,0.006590,0.006588,0.006587,0.006586
|
||||
.float 0.006584,0.006583,0.006582,0.006580,0.006579,0.006578,0.006576,0.006575,0.006573
|
||||
.float 0.006572,0.006571,0.006569,0.006568,0.006567,0.006565,0.006564,0.006563,0.006561
|
||||
.float 0.006560,0.006559,0.006557,0.006556,0.006555,0.006553,0.006552,0.006551,0.006549
|
||||
.float 0.006548,0.006547,0.006545,0.006544,0.006543,0.006541,0.006540,0.006539,0.006537
|
||||
.float 0.006536,0.006535,0.006533,0.006532,0.006531,0.006529,0.006528,0.006527,0.006525
|
||||
.float 0.006524,0.006523,0.006521,0.006520,0.006519,0.006517,0.006516,0.006515,0.006513
|
||||
.float 0.006512,0.006511,0.006509,0.006508,0.006507,0.006505,0.006504,0.006503,0.006501
|
||||
.float 0.006500,0.006499,0.006497,0.006496,0.006495,0.006493,0.006492,0.006491,0.006489
|
||||
.float 0.006488,0.006487,0.006486,0.006484,0.006483,0.006482,0.006480,0.006479,0.006478
|
||||
.float 0.006476,0.006475,0.006474,0.006472,0.006471,0.006470,0.006468,0.006467,0.006466
|
||||
.float 0.006465,0.006463,0.006462,0.006461,0.006459,0.006458,0.006457,0.006455,0.006454
|
||||
.float 0.006453,0.006452,0.006450,0.006449,0.006448,0.006446,0.006445,0.006444,0.006442
|
||||
.float 0.006441,0.006440,0.006439,0.006437,0.006436,0.006435,0.006433,0.006432,0.006431
|
||||
.float 0.006429,0.006428,0.006427,0.006426,0.006424,0.006423,0.006422,0.006420,0.006419
|
||||
.float 0.006418,0.006417,0.006415,0.006414,0.006413,0.006411,0.006410,0.006409,0.006408
|
||||
.float 0.006406,0.006405,0.006404,0.006402,0.006401
|
||||
.END
|
||||
|
|
@ -0,0 +1,600 @@
|
|||
.FILE "LEG.ASM"
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
USEFIXED .set 1
|
||||
USEEXTENDED .set 0
|
||||
|
||||
.include MACS.EQU
|
||||
.include VUNIT.EQU
|
||||
.include SYS.EQU
|
||||
.include GLOBALS.EQU
|
||||
.include OBJECTS.EQU
|
||||
|
||||
.bss FINISH_ID,1
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
* USEAGE:
|
||||
*
|
||||
*
|
||||
*FOR EACH LEG IN THE SYSTEM THE LEG_GENERATE_MAP ROUTINE IS
|
||||
*CALLED TO GENERATE THE LEG MAP.
|
||||
*THIS MAP IS IDENTICAL TO HOW THE OBJECTS WILL BE ALLOCATED ON
|
||||
*THE DYNAMIC LIST.
|
||||
*
|
||||
*THE LIST STARTS AT LEGMAP (located in hibss space)
|
||||
*AND HAS THE FOLLOWING STRUCTURE:
|
||||
*
|
||||
*
|
||||
**STRUCT LEG
|
||||
*LEG_POSX .set 0 ;FL
|
||||
*LEG_POSY .set 1 ;FL
|
||||
*LEG_POSZ .set 2 ;FL
|
||||
*LEG_ID .set 3 ;UH
|
||||
**ENDSTRUCT
|
||||
*LEG_SIZE .set 4 ;SI
|
||||
* .globl LEG_MAP ;RAM SPACE
|
||||
*MAX_LEG_ELEMENTS .set 1200
|
||||
*
|
||||
*THE LAST ENTRY IN THE MAP HAS ALL FIELDS AS
|
||||
*0FFFF FFFFh
|
||||
*
|
||||
*DRONES ON STARTING GRID MUST USE:
|
||||
* .bss RACER_GRID_START
|
||||
*AS THE STARTING INDEX TO ASSUME THE PLAYER
|
||||
*WILL BE LOCATED AT.
|
||||
*
|
||||
*
|
||||
*
|
||||
|
||||
|
||||
LEG_MAPI .word LEG_MAP
|
||||
|
||||
|
||||
.globl LEG_MAP
|
||||
.bss LEG_ELEMENTS,1
|
||||
hibss LEG_MAP,MAX_LEG_ELEMENTS*LEG_SIZE
|
||||
|
||||
.bss LAST_END_CACHE,1
|
||||
.bss LAST_END_INDEX,1
|
||||
.bss LAST_ORIENTATION,1
|
||||
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*THIS INITIALIZATION IS FOR EACH GAME, NOT
|
||||
*EACH LEG
|
||||
*
|
||||
*
|
||||
LEG_INIT:
|
||||
PUSH R0
|
||||
CLRI R0
|
||||
STI R0,@LEG_ELEMENTS
|
||||
LDI 1,R0
|
||||
STI R0,@LAST_END_INDEX
|
||||
LDI @TYCO_TRKI,R0
|
||||
STI R0,@LAST_END_CACHE
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
MINILL_SIZE .set 60
|
||||
hibss LEG_SSLL,MINILL_SIZE*(LEG_SIZE+1)
|
||||
.bss LEGFREE,1
|
||||
.bss LEGLL,1
|
||||
*
|
||||
*NOT A TRUE LINKED LIST, BECAUSE THERE IS NO DYNAMIC
|
||||
*DEALLOCATION (TO ALLOW REALLOCATION) THE SYSTEM IS
|
||||
*RESET WHEN PIECES ARE REALLOCATED.
|
||||
*
|
||||
*THIS IS FOR THE SAKE OF SPEED
|
||||
*
|
||||
ELEMENT_INIT:
|
||||
PUSH R0
|
||||
|
||||
LDL LEG_SSLL,R0
|
||||
STI R0,@LEGFREE
|
||||
|
||||
CLRI R0
|
||||
STI R0,@LEGLL
|
||||
|
||||
.if DEBUG
|
||||
.bss DBG_LEGCNT,1
|
||||
STI R0,@DBG_LEGCNT
|
||||
.endif
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*RETURNS
|
||||
* AR3 PTR TO ELEMENT
|
||||
*
|
||||
ELEMENT_GET:
|
||||
PUSH AR0
|
||||
|
||||
.if DEBUG
|
||||
LDI @DBG_LEGCNT,AR0 ;CHECK TO SEE IF WE ARE ALLOCATING TO MANY
|
||||
INC AR0 ;PIECES
|
||||
CMPI MINILL_SIZE,AR0
|
||||
BGE $
|
||||
STI AR0,@DBG_LEGCNT
|
||||
.endif
|
||||
|
||||
LDI @LEGFREE,AR3
|
||||
LDI AR3,AR0
|
||||
ADDI LEG_SIZE+1,AR0
|
||||
STI AR0,@LEGFREE
|
||||
POP AR0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR3 LIST ELEMENT
|
||||
*
|
||||
*INSERT LOWEST TO HIGHEST ONTO LEGLL
|
||||
*
|
||||
|
||||
LEGLLI .word LEGLL
|
||||
ELEMENT_ADD:
|
||||
LDI *+AR3(1+LEG_ID),R0
|
||||
|
||||
|
||||
LDI @LEGLLI,AR0
|
||||
R65 LDI *AR0,AR1
|
||||
CMPI 0,AR1
|
||||
BEQ QT
|
||||
|
||||
CMPI *+AR1(1+LEG_ID),R0
|
||||
BLT QT
|
||||
LDI AR1,AR0
|
||||
BU R65
|
||||
|
||||
QT
|
||||
STI AR1,*AR3
|
||||
STI AR3,*AR0
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR3 PTR TO LEG MAP ENTRY
|
||||
*
|
||||
ELEMENT_DUMP_INTO_LEGMAP:
|
||||
PUSH R0
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
|
||||
LDI @LEGLL,AR0
|
||||
EDILL CMPI 0,AR0
|
||||
BEQ ENDIT
|
||||
|
||||
LDI AR0,AR1
|
||||
LDI *AR0,AR0
|
||||
INC AR1
|
||||
|
||||
LDI LEG_SIZE-1,RC
|
||||
RPTB K99
|
||||
LDI *AR1++,R0
|
||||
K99 STI R0,*AR3++
|
||||
BU EDILL
|
||||
ENDIT
|
||||
|
||||
POP AR1
|
||||
POP AR0
|
||||
POP R0
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR0 START INDEX
|
||||
* AR1 END INDEX
|
||||
*
|
||||
*
|
||||
LEG_GENERATE_MAP:
|
||||
LDI AR1,R1
|
||||
ADDI 2,R1
|
||||
STI R1,@FINISH_ID
|
||||
|
||||
LDI @LAST_END_CACHE,AR2
|
||||
LDI @LAST_END_INDEX,AR4
|
||||
|
||||
|
||||
;GROUP LOOP
|
||||
GENMAPLP
|
||||
|
||||
*
|
||||
*FIND THE TYCOMAP ENTRY APPROPRIATE TO THIS LEG
|
||||
*
|
||||
*
|
||||
*
|
||||
|
||||
LPP CMPI AR0,AR4
|
||||
BEQ DNFND
|
||||
|
||||
LDI *AR2++(6),R1
|
||||
TSTB 1,R1
|
||||
BZ NOOVERA
|
||||
ADDI 1,AR2
|
||||
NOOVERA TSTB SC_REVERSE,R1
|
||||
BZ CNTA
|
||||
NOP *AR2++(4)
|
||||
CNTA TSTB SC_OVER2,R1
|
||||
BZ CNTNA
|
||||
NOP *AR2++ ;OVERLAY 2
|
||||
CNTNA
|
||||
INC AR4 ;INCREMENT INDEX
|
||||
BU LPP
|
||||
|
||||
|
||||
DNFND
|
||||
LDI @LEG_MAPI,AR3
|
||||
|
||||
*
|
||||
*LOAD TYCO ENTRIES UNTIL LAST LEG IS FOUND
|
||||
*
|
||||
*
|
||||
LOAD_LP
|
||||
|
||||
;AR2 TYCO ENTRY
|
||||
;AR3 MAP ENTRY
|
||||
CALL LEG_ADD_GROUP
|
||||
|
||||
LDI *AR2++(6),R1
|
||||
TSTB 1,R1
|
||||
BZ NOOVERB
|
||||
ADDI 1,AR2
|
||||
NOOVERB TSTB SC_REVERSE,R1
|
||||
BZ CNTB
|
||||
NOP *AR2++(4)
|
||||
CNTB TSTB SC_OVER2,R1
|
||||
BZ CNTNB
|
||||
NOP *AR2++ ;OVERLAY 2
|
||||
CNTNB
|
||||
INC AR4 ;INCREMENT INDEX
|
||||
CMPI AR1,AR4
|
||||
BLE LOAD_LP
|
||||
|
||||
|
||||
STI AR2,@LAST_END_CACHE
|
||||
STI AR4,@LAST_END_INDEX
|
||||
|
||||
*
|
||||
*LOAD THREE EXTRA LEGS ONTO THE END
|
||||
*
|
||||
ADDI 3,AR1
|
||||
|
||||
LOAD_LP2
|
||||
;AR2 TYCO ENTRY
|
||||
;AR3 MAP ENTRY
|
||||
CALL LEG_ADD_GROUP
|
||||
|
||||
LDI *AR2++(6),R1
|
||||
TSTB 1,R1
|
||||
BZ NOOVERB2
|
||||
ADDI 1,AR2
|
||||
NOOVERB2
|
||||
TSTB SC_REVERSE,R1
|
||||
BZ CNTB2
|
||||
NOP *AR2++(4)
|
||||
CNTB2 TSTB SC_OVER2,R1
|
||||
BZ CNTNB2
|
||||
NOP *AR2++ ;OVERLAY 2
|
||||
CNTNB2
|
||||
INC AR4 ;INCREMENT INDEX
|
||||
CMPI AR1,AR4
|
||||
BLE LOAD_LP2
|
||||
|
||||
|
||||
|
||||
*
|
||||
*FLAG THE END OF THE LIST
|
||||
*
|
||||
|
||||
LDI -1,R0
|
||||
RPTS LEG_SIZE-1
|
||||
STI R0,*AR3++
|
||||
|
||||
*
|
||||
*AND RETURN TO GAME...
|
||||
*
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
|
||||
.bss LEG_FLAG,1 ;UH
|
||||
.bss LEG_RADY,1 ;FL
|
||||
.bss LEG_SECTIONIDX,1 ;UH
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*
|
||||
*
|
||||
*
|
||||
*PARAMETERS
|
||||
* AR2 PTR TO TYCO ROM ENTRY
|
||||
* AR3 PTR TO LEG MAP ENTRY
|
||||
* AR4 INDEX
|
||||
*
|
||||
*
|
||||
LEG_ADD_GROUP:
|
||||
PUSH R4
|
||||
PUSH R5
|
||||
PUSH R6
|
||||
PUSH AR0
|
||||
PUSH AR1
|
||||
PUSH AR2
|
||||
PUSH AR3
|
||||
PUSH AR4
|
||||
PUSH AR5
|
||||
PUSH AR7
|
||||
|
||||
STI AR4,@LEG_SECTIONIDX
|
||||
|
||||
CALL ELEMENT_INIT
|
||||
CALL ELEMENT_GET
|
||||
INC AR3
|
||||
|
||||
|
||||
LDI AR2,AR7 ;DEDICATED POINTER
|
||||
LDI *AR7,R5 ;LOAD FLAG
|
||||
|
||||
LDI R5,R6 ;LANE COUNT
|
||||
RS 7,R6
|
||||
AND 1,R6 ;THIS IS THE LANES
|
||||
|
||||
|
||||
|
||||
|
||||
LDF *+AR7(TB_RADY),R2
|
||||
STF R2,@LEG_RADY
|
||||
|
||||
LDI @MATRIXAI,AR2 ;Group rotation matrix
|
||||
CALL HPFIND_YMATRIX ;require High Precision
|
||||
|
||||
LDI *+AR7(TB_GROUP),AR5 ;Group pointer
|
||||
ADDI 1,AR5 ;skip radius
|
||||
|
||||
|
||||
LDI *AR5++,R4 ;get number of objects to load
|
||||
SUBI 1,R4
|
||||
|
||||
L12 LDI *AR5++,AR2 ;GET MODEL PTR
|
||||
FLOAT *AR5++,R1 ;GET X POSITION
|
||||
STF R1,*+AR3(LEG_POSX)
|
||||
FLOAT *AR5++,R1 ;GET Y POSITION
|
||||
|
||||
TSTB SC_REVERSE,R5
|
||||
BZD NOTREVERSED
|
||||
STF R1,*+AR3(LEG_POSY)
|
||||
FLOAT *AR5++,R1 ;GET Z POSITION
|
||||
STF R1,*+AR3(LEG_POSZ)
|
||||
;---->BZD NOTREVERSED
|
||||
|
||||
|
||||
;SPECIAL REVERSED CASE
|
||||
;
|
||||
PUSH AR7
|
||||
TSTB SC_OVERLAY,R5
|
||||
BNZ ISOVER
|
||||
DEC AR7
|
||||
ISOVER
|
||||
|
||||
LDF *+AR7(TB_RVS_POSX),R0 ;TRANSLATE BY THE NEGATIVE OFFSET
|
||||
ADDF *+AR3(LEG_POSX),R0 ;POSITION (THIS BLOCKS ENDING POSITION)
|
||||
STF R0,*+AR3(LEG_POSX)
|
||||
|
||||
LDF *+AR7(TB_RVS_POSY),R0
|
||||
ADDF *+AR3(LEG_POSY),R0
|
||||
STF R0,*+AR3(LEG_POSY)
|
||||
|
||||
LDF *+AR7(TB_RVS_POSZ),R0
|
||||
ADDF *+AR3(LEG_POSZ),R0
|
||||
STF R0,*+AR3(LEG_POSZ)
|
||||
POP AR7
|
||||
ISOVERA
|
||||
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR3,AR2
|
||||
ADDI LEG_POSX,AR2
|
||||
LDI @VECTORAI,R3
|
||||
CALL MATRIX_MUL ;rotation by occurance matrix
|
||||
|
||||
|
||||
LDI @VECTORAI,AR0
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSX),R1
|
||||
STF R1,*+AR3(LEG_POSX)
|
||||
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSY),R1
|
||||
STF R1,*+AR3(LEG_POSY)
|
||||
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSZ),R1
|
||||
STF R1,*+AR3(LEG_POSZ)
|
||||
|
||||
BU JOIN_UP
|
||||
|
||||
NOTREVERSED
|
||||
LDI @MATRIXAI,R2
|
||||
LDI AR3,AR2
|
||||
ADDI LEG_POSX,AR2
|
||||
LDI R2,R3
|
||||
LDI @VECTORAI,R3
|
||||
CALL MATRIX_MUL ;ROTATION BY OCCURANCE MATRIX
|
||||
|
||||
|
||||
LDI @VECTORAI,AR0
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSX),R1
|
||||
STF R1,*+AR3(LEG_POSX)
|
||||
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSY),R1
|
||||
STF R1,*+AR3(LEG_POSY)
|
||||
|
||||
LDF *AR0++,R1
|
||||
ADDF *+AR7(TB_POSZ),R1
|
||||
STF R1,*+AR3(LEG_POSZ)
|
||||
|
||||
|
||||
JOIN_UP LDF *AR5++,R2 ;LOAD OBJECTS RADIANS
|
||||
LDI *AR5++,R1 ;LOAD OBJECT ID (GENV STYLE)
|
||||
|
||||
|
||||
LDI R1,R0
|
||||
AND 00F00h,R0
|
||||
CMPI 0B00h,R0
|
||||
BNE NOTDYNAROAD
|
||||
|
||||
|
||||
;*******************
|
||||
;*******************
|
||||
;
|
||||
;THIS IS THE CASE WE ARE LOOKING FOR
|
||||
;
|
||||
;*******************
|
||||
;*******************
|
||||
|
||||
;
|
||||
;add this element to dynamic fLEX list
|
||||
;
|
||||
|
||||
LDI R1,R3
|
||||
LDI @LEG_SECTIONIDX,R1
|
||||
LS 8,R1
|
||||
|
||||
LDI R3,R0
|
||||
AND 0FFh,R0
|
||||
|
||||
TSTB SC_REVERSE,R5 ;in the case of reversed track
|
||||
BZ NOTRVSTRK ;we say the index value is
|
||||
SUBRI 255,R0 ;255 - index
|
||||
NOTRVSTRK
|
||||
OR R1,R0
|
||||
STI R0,*+AR3(LEG_ID)
|
||||
|
||||
.if USEFIXED
|
||||
FIX *+AR3(LEG_POSX),R0
|
||||
STI R0,*+AR3(LEG_POSX)
|
||||
|
||||
FIX *+AR3(LEG_POSY),R0
|
||||
ANDN 1,R0
|
||||
OR R6,R0 ;# of LANES
|
||||
STI R0,*+AR3(LEG_POSY)
|
||||
|
||||
FIX *+AR3(LEG_POSZ),R0
|
||||
STI R0,*+AR3(LEG_POSZ)
|
||||
.endif
|
||||
|
||||
|
||||
DEC AR3
|
||||
CALL ELEMENT_ADD
|
||||
CALL ELEMENT_GET
|
||||
INC AR3
|
||||
|
||||
; NOP *AR3++(LEG_SIZE)
|
||||
|
||||
NOTDYNAROAD
|
||||
|
||||
SUBI 1,R4
|
||||
BGE L12
|
||||
|
||||
ACTIVATE_X
|
||||
|
||||
|
||||
POP AR7
|
||||
POP AR5
|
||||
POP AR4
|
||||
POP AR3
|
||||
POP AR2
|
||||
POP AR1
|
||||
POP AR0
|
||||
POP R6
|
||||
POP R5
|
||||
POP R4
|
||||
|
||||
CALL ELEMENT_DUMP_INTO_LEGMAP
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
*----------------------------------------------------------------------------
|
||||
*POST PROCESS LEG MAP
|
||||
*
|
||||
*
|
||||
*
|
||||
*
|
||||
GENERATE_LINEAR_DISTANCE:
|
||||
|
||||
.if USEEXTENDED
|
||||
|
||||
LDL LEG_MAP,AR2
|
||||
FLOAT *+AR2(LEG_POSX),R6 ;STARTING POSITION
|
||||
FLOAT *+AR2(LEG_POSZ),R7
|
||||
|
||||
CLRF R4 ;ACCUMULATED DISTANCE
|
||||
|
||||
GLDLP LDI *AR2,R0
|
||||
CMPI -1,R0
|
||||
BEQ GLDX
|
||||
|
||||
FLOAT *+AR2(LEG_POSX),R2 ;STARTING POSITION
|
||||
FLOAT *+AR2(LEG_POSZ),R1
|
||||
SUBF R5,R2
|
||||
SUBF R6,R1
|
||||
MPYF R2,R2
|
||||
MPYF R1,R1
|
||||
ADDF R1,R2
|
||||
CALL SQRT
|
||||
|
||||
ADDF R0,R4
|
||||
FIX R4,R0
|
||||
LS 16,R0
|
||||
|
||||
LDI *+AR2(LEG_POSY),R6
|
||||
LS 16,R6
|
||||
RS 16,R6
|
||||
|
||||
OR R0,R6
|
||||
STI R6,*+AR2(LEG_POSY)
|
||||
|
||||
FLOAT *+AR2(LEG_POSX),R6 ;STARTING POSITION
|
||||
FLOAT *+AR2(LEG_POSZ),R7
|
||||
|
||||
NOP *AR3++(LEG_SIZE)
|
||||
BU GLDLP
|
||||
GLDX
|
||||
.endif
|
||||
|
||||
RETS
|
||||
*----------------------------------------------------------------------------
|
||||
|
|
@ -0,0 +1,370 @@
|
|||
******************************************************
|
||||
* TMS320C30 C COMPILER Version 4.50
|
||||
******************************************************
|
||||
; C:\BIN\ac30.exe -mr -ic:\c30tools -x -q line.c e:\line.if
|
||||
; C:\BIN\opt30.exe -m -r -a -q -O2 e:\line.if e:\line.opt
|
||||
; C:\BIN\cg30.exe -o -n -b -m -p -a -c -q e:\line.opt line.asm e:\line.tmp
|
||||
.version 30
|
||||
FP .set AR3
|
||||
.file "line.c"
|
||||
|
||||
.sym _rectangle,_rectangle,32,2,0
|
||||
.globl _rectangle
|
||||
|
||||
.func 8
|
||||
******************************************************
|
||||
* FUNCTION DEF : _rectangle
|
||||
******************************************************
|
||||
_rectangle:
|
||||
PUSH FP
|
||||
LDI SP,FP
|
||||
ADDI 3,SP
|
||||
PUSH R4
|
||||
PUSH R5
|
||||
.sym _x1,10,4,17,32
|
||||
.sym _y1,2,4,17,32
|
||||
.sym _x2,3,4,17,32
|
||||
.sym _y2,19,4,17,32
|
||||
.sym _color,20,4,17,32
|
||||
*
|
||||
* R4 assigned to parameter y2
|
||||
* R5 assigned to parameter y1
|
||||
*
|
||||
.sym _y2,4,4,4,32
|
||||
.sym _y1,5,4,4,32
|
||||
.sym _color,1,4,1,32
|
||||
.sym _x1,2,4,1,32
|
||||
.sym _x2,3,4,1,32
|
||||
.line 2
|
||||
STI RS,*+FP(1)
|
||||
STI R3,*+FP(3)
|
||||
STI AR2,*+FP(2)
|
||||
LDI R2,R5
|
||||
LDI RC,R4
|
||||
PUSH DP
|
||||
.line 4
|
||||
LDI R5,R2
|
||||
LDI R5,RC
|
||||
CALL _line
|
||||
.line 5
|
||||
LDI *+FP(2),AR2
|
||||
LDI R4,R2
|
||||
LDI *+FP(3),R3
|
||||
LDI R4,RC
|
||||
LDI *+FP(1),RS
|
||||
CALL _line
|
||||
.line 6
|
||||
LDI *+FP(2),AR2
|
||||
LDI R5,R2
|
||||
LDI *+FP(2),R3
|
||||
LDI R4,RC
|
||||
LDI *+FP(1),RS
|
||||
CALL _line
|
||||
.line 7
|
||||
LDI *+FP(3),AR2
|
||||
LDI R5,R2
|
||||
LDI *+FP(3),R3
|
||||
LDI R4,RC
|
||||
LDI *+FP(1),RS
|
||||
CALL _line
|
||||
POP DP
|
||||
EPI0_1:
|
||||
.line 9
|
||||
LDI *-FP(1),R1
|
||||
LDI *FP,FP
|
||||
BD R1
|
||||
POP R5
|
||||
POP R4
|
||||
SUBI 5,SP
|
||||
*** B R1 ;BRANCH OCCURS
|
||||
.endfunc 16,000000030H,3
|
||||
|
||||
.sym _line,_line,32,2,0
|
||||
.globl _line
|
||||
|
||||
.func 19
|
||||
******************************************************
|
||||
* FUNCTION DEF : _line
|
||||
******************************************************
|
||||
_line:
|
||||
PUSH FP
|
||||
LDI SP,FP
|
||||
ADDI 3,SP
|
||||
PUSH R4
|
||||
PUSH R5
|
||||
PUSHF R6
|
||||
PUSHF R7
|
||||
.sym _x1,10,4,17,32
|
||||
.sym _y1,2,4,17,32
|
||||
.sym _x2,3,4,17,32
|
||||
.sym _y2,19,4,17,32
|
||||
.sym _color,20,4,17,32
|
||||
*
|
||||
* R2 assigned to variable t
|
||||
* R3 assigned to variable t
|
||||
* R4 assigned to variable i
|
||||
* R6 assigned to variable x
|
||||
* R6 assigned to variable y
|
||||
* R7 assigned to variable xd
|
||||
* R7 assigned to variable yd
|
||||
* RC assigned to parameter y2
|
||||
* RS assigned to parameter x2
|
||||
*
|
||||
.sym _i,4,4,4,32
|
||||
.sym L$5,5,4,4,32
|
||||
.sym L$6,5,4,4,32
|
||||
.sym L$4,5,4,4,32
|
||||
.sym L$3,5,4,4,32
|
||||
.sym L$2,5,4,4,32
|
||||
.sym L$1,5,4,4,32
|
||||
.sym _y,6,6,4,32
|
||||
.sym _x,6,6,4,32
|
||||
.sym _xd,7,6,4,32
|
||||
.sym _yd,7,6,4,32
|
||||
.sym U$8,2,6,4,32
|
||||
.sym U$6,3,6,4,32
|
||||
.sym _y2,19,4,4,32
|
||||
.sym _x2,20,4,4,32
|
||||
.sym _t,2,4,4,32
|
||||
.sym _t,3,4,4,32
|
||||
.sym _t,2,4,4,32
|
||||
.sym _t,2,4,4,32
|
||||
.sym _t,2,4,4,32
|
||||
.sym _t,2,4,4,32
|
||||
.sym _color,1,4,1,32
|
||||
.sym _x1,2,4,1,32
|
||||
.sym _y1,3,4,1,32
|
||||
.line 2
|
||||
STI RS,*+FP(1)
|
||||
STI R2,*+FP(3)
|
||||
STI AR2,*+FP(2)
|
||||
LDI R3,RS
|
||||
PUSH DP
|
||||
.line 12
|
||||
CMPI *+FP(2),RS
|
||||
BZ L32
|
||||
.line 16
|
||||
CMPI RC,R2
|
||||
BZ L26
|
||||
.line 22
|
||||
SUBI R2,RC,R0
|
||||
FLOAT R0,R2
|
||||
LDF R2,R0
|
||||
CALL INV_F30
|
||||
RND R0
|
||||
LDI *+FP(2),R1
|
||||
SUBI R1,RS,R1
|
||||
FLOAT R1,R3
|
||||
MPYF R0,R3,R7
|
||||
.line 24
|
||||
CMPF 1.0,R7
|
||||
BGT L14
|
||||
CMPF -1.0,R7
|
||||
BLT L14
|
||||
.line 26
|
||||
CMPI *+FP(3),RC
|
||||
BGE L5
|
||||
.line 27
|
||||
LDI *+FP(2),R2
|
||||
STI RS,*+FP(2)
|
||||
.line 28
|
||||
LDI *+FP(3),R3
|
||||
STI RC,*+FP(3)
|
||||
LDI R3,RC
|
||||
.line 29
|
||||
SUBI *+FP(3),R3
|
||||
FLOAT R3,R0
|
||||
CALL INV_F30
|
||||
RND R0
|
||||
SUBI *+FP(2),R2
|
||||
FLOAT R2,R7
|
||||
MPYF R0,R7
|
||||
L5:
|
||||
.line 31
|
||||
FLOAT *+FP(2),R6
|
||||
.line 32
|
||||
CMPF 0,R7
|
||||
BGT L10
|
||||
.line 39
|
||||
LDI *+FP(3),R4
|
||||
CMPI RC,R4
|
||||
BGT L38
|
||||
SUBI R4,RC,R5
|
||||
L44:
|
||||
.line 40
|
||||
FIX R6,AR2
|
||||
LDI R4,R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 41
|
||||
SUBI 1,R5
|
||||
BGED L44
|
||||
ADDF R7,R6
|
||||
NOP
|
||||
.line 39
|
||||
ADDI 1,R4
|
||||
*** BGE L44 ;BRANCH OCCURS
|
||||
B L38
|
||||
L10:
|
||||
.line 33
|
||||
LDI *+FP(3),R4
|
||||
CMPI RC,R4
|
||||
BGT L38
|
||||
SUBI R4,RC,R5
|
||||
L43:
|
||||
.line 34
|
||||
FIX R6,AR2
|
||||
LDI R4,R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 35
|
||||
SUBI 1,R5
|
||||
BGED L43
|
||||
ADDF R7,R6
|
||||
NOP
|
||||
.line 33
|
||||
ADDI 1,R4
|
||||
*** BGE L43 ;BRANCH OCCURS
|
||||
B L38
|
||||
L14:
|
||||
.line 45
|
||||
CMPI *+FP(2),RS
|
||||
BLT L16
|
||||
.line 51
|
||||
LDF R3,R0
|
||||
CALL INV_F30
|
||||
BD L17
|
||||
RND R0
|
||||
NOP
|
||||
MPYF R0,R2,R7
|
||||
*** B L17 ;BRANCH OCCURS
|
||||
L16:
|
||||
.line 46
|
||||
LDI *+FP(2),R2
|
||||
STI RS,*+FP(2)
|
||||
LDI R2,RS
|
||||
.line 47
|
||||
LDI *+FP(3),R2
|
||||
STI RC,*+FP(3)
|
||||
.line 48
|
||||
LDI *+FP(2),R0
|
||||
SUBI R0,RS,R1
|
||||
FLOAT R1,R0
|
||||
CALL INV_F30
|
||||
RND R0
|
||||
SUBI *+FP(3),R2
|
||||
FLOAT R2,R7
|
||||
MPYF R0,R7
|
||||
L17:
|
||||
.line 53
|
||||
FLOAT *+FP(3),R6
|
||||
.line 55
|
||||
CMPF 0,R7
|
||||
BGT L22
|
||||
.line 62
|
||||
LDI *+FP(2),R4
|
||||
CMPI RS,R4
|
||||
BGT L38
|
||||
SUBI R4,RS,R5
|
||||
L42:
|
||||
.line 63
|
||||
LDI R4,AR2
|
||||
FIX R6,R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 64
|
||||
SUBI 1,R5
|
||||
BGED L42
|
||||
ADDF R7,R6
|
||||
NOP
|
||||
.line 62
|
||||
ADDI 1,R4
|
||||
*** BGE L42 ;BRANCH OCCURS
|
||||
B L38
|
||||
L22:
|
||||
.line 56
|
||||
LDI *+FP(2),R4
|
||||
CMPI RS,R4
|
||||
BGT L38
|
||||
SUBI R4,RS,R5
|
||||
L41:
|
||||
.line 57
|
||||
LDI R4,AR2
|
||||
FIX R6,R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 58
|
||||
SUBI 1,R5
|
||||
BGED L41
|
||||
ADDF R7,R6
|
||||
NOP
|
||||
.line 56
|
||||
ADDI 1,R4
|
||||
*** BGE L41 ;BRANCH OCCURS
|
||||
B L38
|
||||
L26:
|
||||
.line 17
|
||||
CMPI *+FP(2),RS
|
||||
BGE L28
|
||||
LDI *+FP(2),R2
|
||||
STI RS,*+FP(2)
|
||||
LDI R2,RS
|
||||
L28:
|
||||
.line 18
|
||||
LDI *+FP(2),R4
|
||||
CMPI RS,R4
|
||||
BGT L38
|
||||
SUBI R4,RS,R5
|
||||
L40:
|
||||
.line 19
|
||||
LDI R4,AR2
|
||||
LDI *+FP(3),R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 18
|
||||
ADDI 1,R4
|
||||
SUBI 1,R5
|
||||
BGE L40
|
||||
B L38
|
||||
L32:
|
||||
.line 13
|
||||
CMPI RC,R2
|
||||
BLE L34
|
||||
STI RC,*+FP(3)
|
||||
LDI R2,RC
|
||||
L34:
|
||||
.line 14
|
||||
LDI *+FP(3),R4
|
||||
CMPI RC,R4
|
||||
BGT L38
|
||||
SUBI R4,RC,R5
|
||||
L39:
|
||||
.line 15
|
||||
LDI *+FP(2),AR2
|
||||
LDI R4,R2
|
||||
LDI *+FP(1),R3
|
||||
CALL _pixel
|
||||
.line 14
|
||||
ADDI 1,R4
|
||||
SUBI 1,R5
|
||||
BGE L39
|
||||
L38:
|
||||
POP DP
|
||||
EPI0_2:
|
||||
.line 71
|
||||
LDI *-FP(1),R1
|
||||
LDI *FP,FP
|
||||
POPF R7
|
||||
POPF R6
|
||||
BD R1
|
||||
POP R5
|
||||
POP R4
|
||||
SUBI 5,SP
|
||||
*** B R1 ;BRANCH OCCURS
|
||||
.endfunc 89,0000000f0H,3
|
||||
******************************************************
|
||||
* UNDEFINED REFERENCES *
|
||||
******************************************************
|
||||
.globl INV_F30
|
||||
.globl _pixel
|
||||
.end
|
|
@ -0,0 +1,89 @@
|
|||
/* line.c
|
||||
*
|
||||
* Copyright (C) 1994 by TV Games, Inc.
|
||||
* All Rights Reserved
|
||||
*/
|
||||
|
||||
|
||||
void rectangle(int x1,int y1,int x2,int y2,int color)
|
||||
{
|
||||
asm(" PUSH DP");
|
||||
line(x1,y1,x2,y1,color);
|
||||
line(x1,y2,x2,y2,color);
|
||||
line(x1,y1,x1,y2,color);
|
||||
line(x2,y1,x2,y2,color);
|
||||
asm(" POP DP");
|
||||
}
|
||||
|
||||
|
||||
void line(int x1,int y1,int x2,int y2,int color)
|
||||
{
|
||||
int i;
|
||||
float yd,xd;
|
||||
float x,y;
|
||||
|
||||
asm(" PUSH DP");
|
||||
|
||||
#define swap(a,b) { int t; t = a; a = b; b = t; }
|
||||
|
||||
|
||||
if (x1 == x2) {
|
||||
if (y1 > y2) swap(y1,y2);
|
||||
for (i = y1; i <= y2; i++)
|
||||
pixel(x1,i,color);
|
||||
} else if (y1 == y2) {
|
||||
if (x1 > x2) swap(x1,x2);
|
||||
for (i = x1; i <= x2; i++)
|
||||
pixel(i,y1,color);
|
||||
} else {
|
||||
|
||||
xd = (float)((float)(x2-x1)/(float)(y2-y1));
|
||||
|
||||
if (xd <= 1 && xd >= -1) {
|
||||
|
||||
if (y1 > y2) {
|
||||
swap(x1,x2);
|
||||
swap(y1,y2);
|
||||
xd = (float)((float)(x2-x1)/(float)(y2-y1));
|
||||
}
|
||||
x = (float) x1;
|
||||
if (xd > 0) {
|
||||
for (i = y1; i <= y2; i++) {
|
||||
pixel((int)x,i,color);
|
||||
x += xd;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = y1; i <= y2; i++) {
|
||||
pixel((int)x,i,color);
|
||||
x += xd;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if (x1 > x2) {
|
||||
swap(x1,x2);
|
||||
swap(y1,y2);
|
||||
yd = (float)((float)(y2-y1)/(float)(x2-x1));
|
||||
}
|
||||
else
|
||||
yd = (float)((float)(y2-y1)/(float)(x2-x1));
|
||||
|
||||
y = (float) y1;
|
||||
|
||||
if (yd > 0) {
|
||||
for (i = x1; i <= x2; i++) {
|
||||
pixel(i,(int)y,color);
|
||||
y += yd;
|
||||
}
|
||||
}
|
||||
else {
|
||||
for (i = x1; i <= x2; i++) {
|
||||
pixel(i,(int)y,color);
|
||||
y += yd;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
asm(" POP DP");
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,27 @@
|
|||
PAL
|
||||
25
|
||||
0 0 0
|
||||
115 0 0
|
||||
115 0 0
|
||||
148 0 0
|
||||
156 0 0
|
||||
148 0 0
|
||||
156 0 0
|
||||
189 0 0
|
||||
206 0 0
|
||||
214 0 0
|
||||
189 0 0
|
||||
206 0 0
|
||||
222 0 0
|
||||
206 0 0
|
||||
239 0 0
|
||||
214 0 0
|
||||
222 0 0
|
||||
247 0 0
|
||||
255 0 0
|
||||
255 0 0
|
||||
239 0 0
|
||||
247 0 0
|
||||
255 0 0
|
||||
255 0 0
|
||||
255 0 0
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,676 @@
|
|||
*MACS.EQU
|
||||
*
|
||||
*COPYRIGHT (C) 1994 BY TV GAMES, INC.
|
||||
*ALL RIGHTS RESERVED
|
||||
*
|
||||
|
||||
|
||||
LDLH .MACRO LONG_VALUE,REG
|
||||
.DATA
|
||||
VALUEI? .WORD :LONG_VALUE:
|
||||
.sect "THECODE"
|
||||
LDI @VALUEI?,:REG:
|
||||
.ENDM
|
||||
|
||||
LDLFH .MACRO LONG_VALUE,REG
|
||||
.DATA
|
||||
VALUEI? .FLOAT :LONG_VALUE:
|
||||
.sect "THECODE"
|
||||
LDF @VALUEI?,:REG:
|
||||
.ENDM
|
||||
|
||||
LONGROUT .MACRO
|
||||
BR jago?
|
||||
.sect "THECODE"
|
||||
jago?
|
||||
.ENDM
|
||||
|
||||
END_LONGROUT .MACRO
|
||||
.text
|
||||
.ENDM
|
||||
|
||||
|
||||
COLORM .MACRO FLAG,X1,Y1,X2,Y2,PAL
|
||||
LDI :FLAG:,R0
|
||||
STI R0,@_ACNTL
|
||||
LDI :X1:,AR2
|
||||
LDI :Y1:,R2
|
||||
LDI :X2:,R3
|
||||
LDI :Y2:,RC
|
||||
LDI :PAL:,RS
|
||||
LDI 0,RE
|
||||
CALL _rdma
|
||||
.ENDM
|
||||
|
||||
DP_MACROS .set 0 ;1 = ACTIVATE
|
||||
|
||||
|
||||
PTR .MACRO VARIABLE
|
||||
.const
|
||||
.globl :VARIABLE:I
|
||||
:VARIABLE:I .word VARIABLE
|
||||
.text
|
||||
.ENDM
|
||||
|
||||
ADDAUD .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL AUDIT_ADD
|
||||
.ENDM
|
||||
|
||||
ADDFL .MACRO CONSTANT,REG
|
||||
.data ;sect "THEDATA"
|
||||
LL? .float :CONSTANT:
|
||||
.text
|
||||
ADDF @LL?,:REG:
|
||||
.ENDM
|
||||
|
||||
|
||||
BCLR .MACRO BIT,REG
|
||||
LDI 1,R0
|
||||
LSH :BIT:,R0
|
||||
ANDN R0,:REG:
|
||||
.ENDM
|
||||
|
||||
BSET .MACRO BIT,REG
|
||||
LDI 1,R0
|
||||
LSH :BIT:,R0
|
||||
OR R0,:REG:
|
||||
.ENDM
|
||||
|
||||
LCALL .MACRO LABEL
|
||||
PUSH R0
|
||||
CALL JIJO?
|
||||
POP R0
|
||||
BU ENDIT?
|
||||
l14? .word :LABEL:
|
||||
JIJO?
|
||||
PUSH DP
|
||||
LDP @l14?
|
||||
LDI @l14?,R0
|
||||
POP DP
|
||||
BU R0
|
||||
ENDIT?
|
||||
.ENDM
|
||||
|
||||
CEILI .MACRO VALUE,REG
|
||||
CMPI :VALUE:,:REG:
|
||||
LDIGT :VALUE:,:REG:
|
||||
.ENDM
|
||||
|
||||
CLRC .MACRO
|
||||
ANDN 1,ST
|
||||
.ENDM
|
||||
|
||||
CLRF .MACRO REG
|
||||
LDF 0.0,:REG:
|
||||
.ENDM
|
||||
|
||||
CLRI .MACRO REG
|
||||
SUBI :REG:,:REG:
|
||||
.ENDM
|
||||
|
||||
CLRIM .MACRO MEM
|
||||
SUBI R0,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
DEC .MACRO REG
|
||||
SUBI 1,:REG:
|
||||
.ENDM
|
||||
|
||||
DECF .MACRO REG
|
||||
SUBF 1.0,:REG:
|
||||
.ENDM
|
||||
|
||||
DECM .MACRO MEM
|
||||
LDI :MEM:,R0
|
||||
SUBI 1,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
DINT .MACRO
|
||||
PUSH IE ;disable interrupts
|
||||
LDI 0,IE ;watch for pipeline conflicts
|
||||
NOP ;2 NOPS can be replaced with
|
||||
NOP ;useful instructions
|
||||
AND 0DFFFh,ST ;turn off GIE.
|
||||
POP IE
|
||||
.ENDM
|
||||
|
||||
DMA_WT .MACRO REG
|
||||
LDP @FIFO_STATUS
|
||||
WTLP? LDI @FIFO_STATUS,:REG:
|
||||
AND FIFO_STATUS_DMA_ACTIVE,:REG:
|
||||
BNZ WTLP?
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
EINT .MACRO
|
||||
CALL ENABLEGIE
|
||||
.ENDM
|
||||
|
||||
FIFO_CLRP .MACRO REG
|
||||
LDP @FIFO_STATUS
|
||||
wt2? LDI @FIFO_STATUS,:REG:
|
||||
AND FIFO_STATUS_FIFO_NEMPTY,:REG:
|
||||
BNZ wt2?
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
FIFO_INC .MACRO
|
||||
LDP @FIFO_INC
|
||||
LDI @FIFO_INC,R0
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
FIFO_WT .MACRO REG
|
||||
LDP @FIFO_STATUS
|
||||
wt2? LDI @FIFO_STATUS,:REG:
|
||||
AND FIFO_STATUS_MAX_FLAG,:REG:
|
||||
BNZ wt2?
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
FLOATP .MACRO MEM,REG
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
LDP :MEM:
|
||||
.endif
|
||||
FLOAT :MEM:,:REG:
|
||||
.ENDM
|
||||
|
||||
FLOORF .MACRO VALUE,REG
|
||||
CMPF :VALUE:,:REG:
|
||||
LDFLT :VALUE:,:REG:
|
||||
.ENDM
|
||||
|
||||
FLOORI .MACRO VALUE,REG
|
||||
CMPI :VALUE:,:REG:
|
||||
LDILT :VALUE:,:REG:
|
||||
.ENDM
|
||||
|
||||
FPGA_WT .MACRO REG
|
||||
LDP @FSTAT
|
||||
WT1? LDI @FSTAT,:REG:
|
||||
BN WT1?
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
HARDWTM .MACRO REG
|
||||
LDP @CPU_WS
|
||||
LDI HARD_WS,:REG:
|
||||
STI :REG:,@CPU_WS
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
HIGHBITS .MACRO BITS,REG
|
||||
LSH -(32-:BITS:),:REG:
|
||||
LSH 32-:BITS:,:REG:
|
||||
.ENDM
|
||||
|
||||
INC .MACRO REG
|
||||
ADDI 1,:REG:
|
||||
.ENDM
|
||||
|
||||
INCM .MACRO MEM
|
||||
LDI :MEM:,R0
|
||||
ADDI 1,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
INCMF .MACRO MEM
|
||||
LDF :MEM:,R0
|
||||
ADDF 1.0,R0
|
||||
STF R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
|
||||
INCAUD .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL AUDIT_INC
|
||||
.ENDM
|
||||
|
||||
INCF .MACRO REG
|
||||
ADDF 1.0,:REG:
|
||||
.ENDM
|
||||
|
||||
LDIL .MACRO LWORD,REG
|
||||
LDI :LWORD:>>16,REG
|
||||
LSH 16,REG
|
||||
OR :LWORD:&0FFFFH,REG
|
||||
.ENDM
|
||||
|
||||
|
||||
LDL .MACRO LONG_VALUE,REG
|
||||
.DATA
|
||||
VALUEI? .WORD :LONG_VALUE:
|
||||
.TEXT
|
||||
LDI @VALUEI?,:REG:
|
||||
.ENDM
|
||||
|
||||
|
||||
LDLF .MACRO LONG_VALUE,REG
|
||||
.DATA
|
||||
VALUEI? .FLOAT :LONG_VALUE:
|
||||
.TEXT
|
||||
LDF @VALUEI?,:REG:
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
|
||||
LDPI .MACRO MEM,REG
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
LDP :MEM:
|
||||
.endif
|
||||
LDI :MEM:,:REG:
|
||||
.ENDM
|
||||
|
||||
LDSP .MACRO STRING,REG
|
||||
.data
|
||||
l1? .word l4?
|
||||
l4? .string ":STRING:",0
|
||||
.text
|
||||
LDI @l1?,:REG:
|
||||
.ENDM
|
||||
|
||||
LOCKUP .MACRO
|
||||
OR 0,ST ;MASK INTERRUPTS
|
||||
B $
|
||||
.ENDM
|
||||
|
||||
LOWBITS .MACRO BITS,REG
|
||||
LSH 32-:BITS:,:REG:
|
||||
LSH -(32-:BITS:),:REG:
|
||||
.ENDM
|
||||
|
||||
LS .MACRO CNT,REG ;SHIFT (LOGICAL)
|
||||
LSH :CNT:,:REG:
|
||||
.ENDM
|
||||
|
||||
LSA .MACRO CNT,REG ;SHIFT (ARITHMETIC)
|
||||
ASH :CNT:,:REG:
|
||||
.ENDM
|
||||
|
||||
MPYFL .MACRO VAL,REG
|
||||
.data
|
||||
i? .float :VAL:
|
||||
.text
|
||||
MPYF @i?,:REG:
|
||||
.ENDM
|
||||
|
||||
ORM .MACRO VAL,MEM
|
||||
LDI :MEM:,R0
|
||||
OR :VAL:,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
POPFL .MACRO REG
|
||||
POPF :REG:
|
||||
POP :REG:
|
||||
.ENDM
|
||||
|
||||
POPFM .MACRO LIST ;POP FLOATING POINT MULTIPLE
|
||||
.VAR ITEM
|
||||
.LOOP
|
||||
.BREAK ($ISMEMBER(ITEM, LIST) == 0)
|
||||
POPF ITEM
|
||||
.ENDLOOP
|
||||
.ENDM
|
||||
|
||||
POPM .MACRO LIST ;POP MULTIPLE
|
||||
.VAR ITEM
|
||||
.LOOP
|
||||
.BREAK ($ISMEMBER(ITEM, LIST) == 0)
|
||||
POP ITEM
|
||||
.ENDLOOP
|
||||
.ENDM
|
||||
|
||||
PUSHFL .MACRO REG
|
||||
PUSH :REG:
|
||||
PUSHF :REG:
|
||||
.ENDM
|
||||
|
||||
PUSHFM .MACRO LIST ;PUSH FLOATING POINT MULTIPLE
|
||||
.VAR ITEM
|
||||
.LOOP
|
||||
.BREAK ($ISMEMBER(ITEM, LIST) == 0)
|
||||
PUSHF ITEM
|
||||
.ENDLOOP
|
||||
.ENDM
|
||||
|
||||
PUSHM .MACRO LIST
|
||||
.VAR ITEM
|
||||
.LOOP
|
||||
.BREAK ($ISMEMBER(ITEM, LIST) == 0)
|
||||
PUSH ITEM
|
||||
.ENDLOOP
|
||||
.ENDM
|
||||
|
||||
RANDN .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL RANDU0
|
||||
.ENDM
|
||||
|
||||
READADJ .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL ADJUSTMENT_READ
|
||||
.ENDM
|
||||
|
||||
READAUD .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL AUDIT_READ
|
||||
.ENDM
|
||||
|
||||
RGB .MACRO R,G,B
|
||||
.word (((:R:>>3)&01Fh)<<10)|(((:G:>>3)&01Fh)<<5)|(((:B:>>3)&01Fh))
|
||||
.ENDM
|
||||
|
||||
RS .MACRO CNT,REG
|
||||
LSH -:CNT:,:REG:
|
||||
.ENDM
|
||||
|
||||
RSA .MACRO CNT,REG
|
||||
ASH -:CNT:,:REG:
|
||||
.ENDM
|
||||
|
||||
SETADJ .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL ADJUSTMENT_WRITE
|
||||
.ENDM
|
||||
|
||||
SETAUD .MACRO NUMBER
|
||||
LDI :NUMBER:,AR2
|
||||
CALL AUDIT_WRITE
|
||||
.ENDM
|
||||
|
||||
SETC .MACRO
|
||||
OR 1,ST
|
||||
.ENDM
|
||||
|
||||
SOFTWTM .MACRO REG
|
||||
LDP @CPU_WS
|
||||
LDI SOFT_WS,:REG:
|
||||
STI :REG:,@CPU_WS
|
||||
CLRI DP
|
||||
.ENDM
|
||||
|
||||
SOND1 .MACRO SOND
|
||||
LDI :SOND:,AR2
|
||||
CALL ONESND
|
||||
.ENDM
|
||||
|
||||
SONDFX .MACRO SOND
|
||||
LDI :SOND:,AR2
|
||||
CALL ONESNDFX
|
||||
.ENDM
|
||||
|
||||
SPTR .MACRO STRING
|
||||
.sect "THEDATA"
|
||||
l? .string ":STRING:",0
|
||||
.text
|
||||
.word l?
|
||||
.ENDM
|
||||
|
||||
STIM .MACRO VALUE,MEM
|
||||
LDI :VALUE:,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
STPF .MACRO REG,MEM
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
.endif
|
||||
STF :REG:,:MEM:
|
||||
.ENDM
|
||||
|
||||
STPI .MACRO REG,MEM
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
.endif
|
||||
STI :REG:,:MEM:
|
||||
.ENDM
|
||||
|
||||
STPIM .MACRO VALUE,MEM
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
.endif
|
||||
LDI :VALUE:,R0
|
||||
STI R0,:MEM:
|
||||
.ENDM
|
||||
|
||||
SUBPI .MACRO MEM,REG
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
.endif
|
||||
SUBI :MEM:,:REG:
|
||||
.ENDM
|
||||
|
||||
SUBPF .MACRO MEM,REG
|
||||
.if DP_MACROS
|
||||
PUSH R0
|
||||
LDI DP,R0
|
||||
LDP :MEM:
|
||||
CMPI R0,DP
|
||||
BNE $
|
||||
POP R0
|
||||
.endif
|
||||
SUBF :MEM:,:REG:
|
||||
.ENDM
|
||||
|
||||
TEXTIT .MACRO LABEL,X,Y
|
||||
.DATA
|
||||
IT? .WORD :LABEL:
|
||||
.TEXT
|
||||
LDI :X:,R2
|
||||
LDI :Y:,R3
|
||||
LDI @IT?,AR2
|
||||
CALL _outtextxyc
|
||||
.ENDM
|
||||
|
||||
TEXTITT .MACRO THETEXT,X,Y
|
||||
.sect "THEDATA"
|
||||
ITT? .string ":THETEXT:",0
|
||||
.data
|
||||
IT? .word ITT?
|
||||
.TEXT
|
||||
LDI :X:,R2
|
||||
LDI :Y:,R3
|
||||
LDI @IT?,AR2
|
||||
CALL _outtextxyc
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
*
|
||||
*HIGH LEVEL MACROS
|
||||
*
|
||||
*IFI IF integer
|
||||
*IFF IF float
|
||||
*
|
||||
*IFRI IF registers integer
|
||||
*IFRF IF registers float
|
||||
*
|
||||
|
||||
LT EQU 'LT'
|
||||
GT EQU 'GT'
|
||||
LE EQU 'LE'
|
||||
GE EQU 'GE'
|
||||
EQ EQU 'EQ'
|
||||
NE EQU 'NE'
|
||||
|
||||
|
||||
|
||||
IFI .MACRO REG,OP,VALUE,LABEL
|
||||
CMPI :VALUE:,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
|
||||
IFF .MACRO REG,OP,VALUE,LABEL
|
||||
CMPF :VALUE:,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
|
||||
IFFL .MACRO REG,OP,LONG,LABEL
|
||||
.data
|
||||
iffl? .float :LONG:
|
||||
.text
|
||||
CMPF @iffl?,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
|
||||
IFIL .MACRO REG,OP,LONG,LABEL
|
||||
.data
|
||||
iffl? .word :LONG:
|
||||
.text
|
||||
CMPI @iffl?,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
|
||||
IFMF .MACRO REG,OP,MEM,LABEL
|
||||
CMPF :MEM:,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
|
||||
IFMI .MACRO REG,OP,MEM,LABEL
|
||||
CMPI :MEM:,:REG:
|
||||
B:OP: :LABEL:
|
||||
.ENDM
|
||||
*----------------------------------------------------------------------------
|
||||
|
||||
|
||||
|
||||
FBSS .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect oncram,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
fbss .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect oncram,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
pbss .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect pbss,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
lobss .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect lobss,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
hibss .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect hibss,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
phibss .MACRO LABEL,SIZEOF
|
||||
:LABEL: .usect phibss,:SIZEOF:
|
||||
.ENDM
|
||||
|
||||
|
||||
romdata .MACRO
|
||||
.sect "THEDATA"
|
||||
.ENDM
|
||||
|
||||
diagtext .MACRO
|
||||
.sect "DIAGTXT"
|
||||
.ENDM
|
||||
|
||||
|
||||
|
||||
SLT EQU 'LT'
|
||||
SGT EQU 'GT'
|
||||
SLE EQU 'LE'
|
||||
SGE EQU 'GE'
|
||||
SEQ EQU 'EQ'
|
||||
SNE EQU 'NE'
|
||||
SC EQU 'C'
|
||||
SNC EQU 'NC'
|
||||
SZ EQU 'Z'
|
||||
SNZ EQU 'NZ'
|
||||
SU EQU 'U'
|
||||
|
||||
|
||||
LOCKON .MACRO UCASE
|
||||
.if PRINTER
|
||||
CALL:UCASE: PRINTER_LOG
|
||||
.endif
|
||||
.if DEBUG
|
||||
B:UCASE: $
|
||||
.endif
|
||||
.ENDM
|
||||
|
||||
SETDP .MACRO
|
||||
SUBI DP,DP
|
||||
.ENDM
|
||||
|
||||
*
|
||||
*SYMBOLIC LOCKON
|
||||
*
|
||||
SLOCKON .MACRO UCASE,UTEXT
|
||||
.if PRINTER
|
||||
.data
|
||||
ii? .word i?
|
||||
i? .string ":UTEXT:",13,0
|
||||
.text
|
||||
|
||||
B:UCASE: DOIT?
|
||||
BU DONTDO?
|
||||
DOIT? PUSH ST
|
||||
ADDI 1,SP ;need this for later...
|
||||
PUSH R0
|
||||
PUSH DP
|
||||
LDP @ii?
|
||||
LDI @ii?,R0
|
||||
CALL PRINTER_LOG_SYMBOLIC
|
||||
DONTDO?
|
||||
.endif
|
||||
.if DEBUG
|
||||
B:UCASE: $
|
||||
.endif
|
||||
.ENDM
|
||||
*
|
||||
*
|
||||
ERRON .MACRO UCASE,EID
|
||||
.if DEBUG
|
||||
B:UCASE: $
|
||||
.endif
|
||||
B:UCASE: DOIT?
|
||||
BU DONTDO?
|
||||
DOIT?
|
||||
PUSH ST
|
||||
PUSH R0
|
||||
LDI :EID:,R0
|
||||
CALL ERROR_LOG
|
||||
POP R0
|
||||
POP ST
|
||||
DONTDO?
|
||||
.ENDM
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue