408 lines
9.4 KiB
Plaintext
Executable File
408 lines
9.4 KiB
Plaintext
Executable File
*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)
|
|
*----------------------------------------------------------------------------
|
|
|
|
|