Rise of the Robots (SNES)
Rise of the Robots (SNES)
Rise of the Robots |
---|
Developer: This game has uncompiled source code. This game has a prototype article |
To do: There might be something hidden in the RNC-compressed data here. |
Rise of the Robots was perhaps one of the most over-hyped titles of the 16-bit era, which is saying something. The game itself had excellent prerendered graphics and this version contains a nice soundtrack, but the gameplay was considered bad, if not downright awful, by almost everyone who played at the time. However, it still got loads of praise from magazines who rushed their reviews so they could come out before the game did, causing several readers to highly distrust printed sources. Not even a brief guitar riff from Queen's Brian May could save this game.
Source Code Fragments
In the European version, there are fragments of code hidden throughout the ROM
1FFB5:
lda #$00
ldx #16
!0
jsr wait_frame
sta |w_inidisp
inc a
25C667:
(sh)ow_text
lda >win_msg_table+2,x
sta results_win+window_text+2
!loop2: jsr wait_frame
ldy #results_win
jsr window_process
lda results_win+window_text
ora results_win+window_text+2
bne !loop2
rts
print_gmess: jsr gfx_mess
jsr check_gfx_mess
jsr wait_frame
rts
if cine
cine_list: dl wn_cb_mc
dl fly_mc
dl cn_ld_mc
dl ds_ld_mc
dl wn_cb_mc
dl cn_ap_mc
dl ds_ap_mc
dl wn_cb_mc
dl cn_cr_mc
dl ds_cr_mc
dl wn_cb_mc
dl cn_ml_mc
dl ds_ml_mc
dl wn_cb_mc
dl cn_jp_mc
dl ds_jp_mc
dl wn_cb_mc
dl cn_sp_mc
dl ds_sp_mc
dl 0
endif
end_sequence:
if en_sound!rom
jsr play_brian
endif
jsr clr_palette_2
lda #0
ldx #256
jsr fade_it
stz flash_palette
stz flash_colour
jsr clr_pal_buff
jsr death_hdma_on
jsr clear_screen
ldx #10
jsr delay
jsr wait_frame
jsr screen_off
stz nrg_dsp_flg
stz split_mode
lda #29
a08
sta w_bg1hofs
xba
sta w_bg1hofs
lda #$03
sta |w_tm
lda #(sc_1b_scrn/2)>>8
sta w_bg1sc
lda #(sc_2c_scrn/2)>>8
sta w_bg2sc
a16
jsr screen_on
lea window2_table,<a0
jsr init_windows
lea font_dat,<a0
jsr init_window_text
lea wind_mission,<a0
ldy #window_1
jsr create_window
lea mission_info,window_1+window_nexttext
jsr wait_log_finish
stz play_time
if en_which_logo<>1
jsr replay_up
endif
if cine
win_cine_r: lea cine_list,cine_list_ptr
win_cine: lda cine_list_ptr
ldx cine_list_ptr+2
sta a0
stx a0+2
ldy #2
lda [a0]
ora [a0],y
beq win_cine_r
lda [a0]
sta cine_add
lda [a0],y
sta cine_add+2
lda cine_list_ptr
clc
adc #4
sta cine_list_ptr
lda [cine_add]
sta cine_size
inc cine_add
inc cine_add
ldx #$200
stx charc_set
stz cine_count
lda #112
sta cine_pal_size
lea unpack_b1,<a1
win_loop:
lda cine_count
cmp cine_size
bcs end_win
lda [cine_add]
tax
inc cine_add
inc cine_add
lda [cine_add]
inc cine_add
inc cine_add
stx a0
sta a0+2
lda #sc_1b_scrn/2+7*32+8+3
sta d0
jsr cine_frame
jsr wait_frame
ldy #window_1
jsr window_process
inc play_time
inc cine_count
jmp win_loop
end_win:
jsr clr_palette_2
lda #16
ldx #112
jsr fade_it
lda #sc_1b_scrn/2+6*32
sta blit_dest
lda #12*32
sta blit_lenth
jsr clear_ppu
jmp win_cine
endif
!wloop: jsr wait_frame
bra !wloop
;************************************************************************************
;*
;* Game Message Process
;*
game_mess_process:
lda bouts_total
cmp bouts_selected
beq !no_final
cmp bout_number
bne !no_final
lda #0
bra !final
!no_final: lda bout_number
!final: asl
tax
lda >round_table,x
ldx #$40
jsr gfx_mess
jsr check_gfx_mess
jsr wait_frame
jsr game_mess
lda >rest_after_mess
sta rest
jmp game_loop_end
;************************************************************************************************
;*
;* Bout over process
;*
bout_over_process:
; jsr clear_top
jsr print_results
jsr bout_over_mess
no_game_mess:
jsr fade_screen_off
jsr screen_off
jsr hdma_off
jsr clear_sprites
jsr clear_screen
;****************************************************************************
;** Check here for replay
;**
ldx winner_amp
bne !player_won
;Last game was a draw
lda bout_number
cmp bouts_total
bra !not_next_opponent
!player_won:
lda robot_won,x
cmp bouts_toplay
bcc !not_next_opponent
ldx mission
dex
bne !new_select
lda dead_type
beq !dead
ldx players
dex
bne !dead
lda #robot_sup
cmp robot_opponent
bne !next_robot
jmp !new_robot
!next_robot:
inc robot_opponent
jmp !new_robot
!not_next_opponent:
jmp !new_bout
!dead:
jmp !new_game
!new_robot: lda #gs_new_robot
sta game_state
jmp game_loop_end
!new_bout: lda #gs_new_bout
sta game_state
jmp game_loop_end
!new_game: lda #gs_new_game
sta game_state
jmp game_loop_end
!new_select: lda #gs_new_select
sta game_state
jmp game_loop_end
;************************************************************************************
;*
;* Game over process
;*
;****************************************************
;* Print results
;RESULT (overall)=0 for
game_over_process:
stz result ;default to draw
jsr print_results ;print the result of last bout
teletype results_win,finalr_msg
lda robot_2+robot_won ;see who won overall
cmp robot_1+robot_won ;If there is a winner bypass draw
bne !not_draw
;******************************** OVERALL DRAW **********************************
teletype results_win,draw_msg
jsr game_end_mess ;fade to red etc.
lda #gs_new_game ;go play new game
sta game_state
jmp game_loop_end
;********************************************************************************
!not_draw: ldy robot_2+robot_type ;decide who is the winner
lda #0
ldx robot_1+robot_won
cpx robot_2+robot_won
bcs !r0_win ;bypass if it is cyborg
ldy #0
lda robot_2+robot_type ;else get type of oppponent
bra !opp_win
!r0_win:
ldx #1 ;cyborg win result
stx result
bra !cont_win
!opp_win:
ldx #2 ;opponent win
stx result
!cont_win:
sty dead_type ;who is dead
asl
asl
tax
lda >winv_msg_table,x
sta results_win+window_text
lda >winv_msg_table+2,x
sta results_win+window_text+2
!loop3: jsr wait_frame
ldy #results_win
jsr window_process
lda results_win+window_text+2
ora results_win+window_text
bne !loop3
ldx mission ;decide on conditions to display GAME OVER
dex
bne !no_game_over ;Not if TRAINING
ldx players ;Not if 2 Player
dex
bne !no_game_over
lda result ;Not if Cyborg win
cmp #1
beq !no_game_over
teletype results_win,gameover_msg ;print GAME OVER
!no_game_over:
jsr game_end_mess ;Fade to red print message
jsr dead_frame ;Death cinematic
lda result
cmp #1 ;Cyborg victory
beq victory
;
;************************ Overall result draw or lose ***********************************
;
ldx mission ;if die on mission go back to intro screen
dex ;else go back to select screen
bne !ns
ldx players
dex
bne !ns
!ng: lda #gs_new_game
sta game_state
jmp game_loop_end
!ns:
lda #gs_new_select
sta game_state
jmp game_loop_end
;************************ Cyborg Victory *************************************************
victory:
ldx players ;2 Players - so select
dex
bne !new_select
ldx mission ;Training - so new game
dex
bne !new_select
lda robot_2+robot_type
cmp #robot_sup
bne !new_robot
;************************************************************************************
;
; M I S S I O N C O M P L E T E hurray , the end of the game
;
jsr end_sequence ;Victory
lda #gs_complete
sta game_state
jmp game_loop_end
!new_robot:
inc robot_opponent
lda #gs_new_robot
sta game_state
jmp game_loop_end
!new_game:
lda #gs_new_game
sta game_state
jmp game_loop_end
!new_select:
lda #gs_new_select
sta game_state
jmp game_loop_end
;************************************************************************************
set_scroll: jsr wait_frame
lda scroll_pos
a08
sta |w_bg2vofs
xba
sta |w_bg2vofs
a16
rts
init_new_robot:
jsr hdma_off
lda #1
sta tele_flag
lda #1
sta split_mode
jsr wait_frame
jsr clear_screen
jsr screen_off
lda #$0000
sta robot_2+robot_score
stz robot_1+robot_won
stz robot_2+robot_won
lda #1
sta bout_number
lda demo_mode
bne no_select
!sel_again: jsr select_screen
lda cancel_sel
bne !sel_again
no_select: jsr hdma_off
jsr wait_frame
lda players
sta players_g
lda bouts
sta bouts_g
lda timer
sta timer_g
lda difficulty
sta difficulty_g
lda demo_mode
beq !no_demo
lda #0
sta players_g
lda #1
sta bouts_g
lda #4
sta timer_g
lda #2
sta difficulty_g
!no_demo:
lda bouts_g
dec a
asl
tax
lda >bouts_table,x
sta bouts_total
sta bouts_selected
lsr
inc a
sta bouts_toplay
rts
init_bout:
jsr hdma_off
jsr clear_screen
jsr clear_sprites
jsr init_sprites
jsr init_robots
jsr init_background
jsr init_vars
jsr inipix
jsr init_energy
jsr init_schedule
jsr wait_frame
jsr wait_frame
jsr wait_frame
lda #sc_2n_scrn/2
sta wind_screen
lea window_table,<a0
jsr init_windows
lea font_dat,<a0
jsr init_window_text
lea robot1_window,<a0
ldy #window_1
jsr create_window
lea robot2_window,<a0
ldy #window_2
jsr create_window
; jsr players_won
jsr hdma_off
jsr para_init
jsr hdma_on
jsr fade_screen_on
jsr screen_on
jsr setup_collisions
lda #%01010010
sta m_cgadsub
lda #%10000010
sta m_cgswsel
a08
lda timer_value
sta timer_count
ldx timer_g
dex
lda >timer_table,x
sta timer_count+1
a16
lda >timer_table,x
and #$ff
sta timer_mode
lda #2
sta game_mode
lda #10
sta num_frames
if en_sound!rom
lda robot_opponent
asl
asl
tax
lda >robot_table,x
sta a2
lda >robot_table+2,x
sta a2+2
ldy #ri_music
lda [a2],y
jsr play_tune
endif
jsr wait_frame
a08
lda #%01010000
sta |w_cgadsub
lda #%10000010
sta |w_cgswsel
a16
lda #2
sta spr_blit_flag
stz shake
lda #4
sta sprite_blit_count
stz result
lda >rest_before_mess
sta rest
stz time_over_flag
rts
init_sprite_blit:
stz blit_oam
lda #0
ldx #4*8/2
ldy #0
!lp: sta blit_tables,y
iny
iny
dex
bne !lp
rts
;***************************************************************************************
;*
;* Pause
Pause_It:
lda game_mode
bne !exit
lda #but_start
bit |joy_0
bne !start_it
ldx players
dex
beq !exit
bit |joy_1
bne !start_it
bra !exit
!start_it:
jsr sprite_log_blit
lda #Pause_table&$ffff
ldx #$2
jsr gfx_mess
jsr check_gfx_mess
lda #but_start
jsr wait_button_down_up
lda #but_start
jsr wait_button_down_up
!exit:
rts
wait_button_down_up:
tax
!s0 jsr wait_frame
txa
ldy players
dey
beq !p11
bit |joy_1
bne !s1
!p11: bit |joy_0
beq !s0
!s1: jsr wait_frame
txa
ldy players
dey
beq !p12
bit |joy_1
bne !s1
!p12: bit |joy_0
bne !s1
rts
wbdu:
tax
!s0
lda |frame_count
!s0a: cmp |frame_count
beq !s0a
txa
bit |joy_0
bne !s1
bit |joy_1
beq !s0
!s1:
lda |frame_count
!s1a: cmp |frame_count
beq !s1a
txa
bit |joy_0
bne !s1
bit |joy_1
bne !s1
rts
make_joystick_config
ldx #j_config_1
ldy #0
!loop: lda 0,x
sta j_config,y
inx
inx
iny
iny
cpy #12
bcc !loop
rts
delay:
!wl: jsr wait_frame
dex
bne !wl
rts
gfx_mess_delay:
!wl: phx
jsr wait_frame
jsr clear_sprite_buf
jsr csp
jsr check_gfx_mess
jsr sprite_log_blit
plx
dex
bne !wl
rts
sect_2_exit:
jsr fade_screen_off
jsr vbl_vect_off
jsr screen_off
jsr hdma_off
jsr clear_sprites
!loop jmp !loop
which_logo:
if en_which_logo!rom
jml (logo_vect)
endif
rtl
check_timer_out:
lda timer_mode
beq cto_exit
lda game_mode
bne cto_exit
lda timer_count
cmp #2
bcs cto_exit
stz timer_count
ldy #robot_1
lda robot_1+robot_energylost
cmp robot_2+robot_energylost
bcs kill_game
ldy #robot_2
kill_game:
lda #1
sta time_over_flag
jsr end_bout
cto_exit:
rts
game_end_mess:
if en_sound!rom
jsr fade_tune
endif
lda #2000
sta |spr_blit_flag
stz nrg_dsp_flg
jsr wait_frame
jsr wait_frame
lea palette_str,<a0
lda #0
ldx #256
jsr copy_palette_2
ldx #256-16
ldy #16*2
!lp: lda palette_str2,y
and #%0000000000011111
sta palette_str2,y
iny
iny
dex
bne !lp
lda #16
ldx #256-16-16-16
jsr fade_it
jsr wait_frame
ldy #window_1
jsr create_window_matrix
jsr wait_frame
ldy #window_2
jsr create_window_matrix
stz nrg_dsp_flg
!loop1: jsr wait_frame
ldy #window_1
jsr window_process
ldy #window_2
jsr window_process
lda window_1+window_text
ora window_1+window_text+2
ora window_2+window_text
ora window_2+window_text+2
bne !loop1
stz game_mode
lda #4
sta game_mode
lda #1
sta num_frames
rts
bout_over_mess:
ldy #window_1
jsr create_window_matrix
jsr wait_frame
ldy #window_2
jsr create_window_matrix
stz nrg_dsp_flg
!loop1: jsr wait_frame
ldy #window_1
jsr window_process
ldy #window_2
jsr window_process
lda window_1+window_text
ora window_1+window_text+2
ora window_2+window_text
ora window_2+window_text+2
bne !loop1
lda #100
lda #end_time
sta num_frames
rts
game_mess:
!loop1: jsr wait_frame
ldy #window_1
jsr window_process
ldy #window_2
jsr window_process
lda window_1+window_text
ora window_1+window_text+2
ora window_2+window_text
ora window_2+window_text+2
bne !loop1
lda #r0a&$ffff
sta window_1+window_text
lda #r0a>>16
sta window_1+window_text+2
lda robot_opponent
inc a
asl
asl
tax
lda >plrtab,x
sta window_2+window_text
lda >plrtab+2,x
sta window_2+window_text+2
jsr print_windows
lda #scr_1_mess&$ffff
sta window_1+window_text
lda #scr_1_mess>>16
sta window_1+window_text+2
lda #scr_2_mess&$ffff
sta window_2+window_text
lda #scr_2_mess>>16
sta window_2+window_text+2
jsr print_windows
stz game_mode
lda #-1
sta nrg_dsp_flg
!exit:
jsr players_won
rts
print_windows:
!loop: jsr wait_frame
ldy #window_2
jsr window_process
ldy #window_1
jsr window_process
lda window_1+window_text
ora window_1+window_text+2
ora window_2+window_text
ora window_2+window_text+2
bne !loop
rts
set_win_lose_text:
phy
phx
tya
ldy #window_1
ldx #window_2
cmp #robot_1
beq !r1
ldy #window_2
ldx #window_1
!r1:
lda #player_matchlost&$ffff
sta window
2FF793:
rts
schedule_process:
lea schedule,<a1
ldx #sch_len
ldy #0
!loop: lda [a1],y
bne !s1
iny
iny
lda [a1],y
dey
dey
sta [a1],y
bra !s2
!s1: sec
sbc #1
sta [a1],y
!s2: iny
iny
iny
iny
dex
bne !loop
rts
init_robots:
; if en_sp1
lea robot_1,<a2
lda #Robot_Cyb
ldx #2
jsr irs
; endif
; if en_sp2
lea robot_2,<a2
lda robot_opponent
ldx difficulty_g
jsr irs
; endif
ldx players_g
bne !n1
lda robot_1+robot_flags
ora #1<<Bit_CPU
sta robot_1+robot_flags
!n1:
cpx #2
beq !n2
lda robot_2+robot_flags
ora #1<<Bit_CPU
sta robot_2+robot_flags
!n2:
rts
init_background:
if en_back
lda robot_2+robot_type
sta d8
lda #2
sta charc_set
lda #32
lda #0
clc
adc #sc_1n_scrn/2
sta d0
lda d8
clc
; adc #1
asl
asl
tax
lda >robot_table,x
sta a0
sta a4
lda >robot_table+2,x
sta a0+2
sta a4+2
ldy #ri_room
lda [a0],y
tax
iny
iny
lda [a0],y
stx a0
sta a0+2
stz d8+2
jsr back_frame
endif
rts
irs:
;Profile index
pha
txa
dec a
and #3
ldx #7
jsr mult_xa
clc
adc bout_number
dec a
ldx #6
jsr mult_xa
sta d4
pla
if 0
pha
ldx #(robot_parm_size)/2
lda #0
tay
!clp:
sta [a2],y
iny
iny
dex
bne !clp
pla
endif
ldy #robot_type
sta [a2],y
asl
asl
tax
lda >robot_table,x
sta a6
lda >robot_table+2,x
sta a6+2
ldy #ri_gfx
lda [a6],y
pha
iny
iny
lda [a6],y
ldy #robot_gfx+2
sta [a2],y
dey
dey
pla
sta [a2],y
ldx a2
cpx #robot_1
bne p2_set
p1_set:
lda #sjoy0
sta robot_joyval,x
ldy #ri_xstartl
lda [a6],y
sta robot_x,x
sta robot_x_origin,x
lda #robot_2
sta robot_other,x
lda #0
sta robot_other+2,x
lda #rob_gbuff_1&$ffff
sta robot_graphics,x
lda #rob_gbuff_1>>16
sta robot_graphics+2,x
lda #0
sta robot_overdelay,x
bra set_ok
p2_set:
lda #sjoy1
sta robot_joyval,x
ldy #ri_xstartr
lda [a6],y
31F968:
***********************************
;
ldx mission ;if die on mission go back to intro screen
dex ;else go back to select screen
bne !ns
ldx players
dex
bne !ns
!ng: lda #gs_new_game
sta game_state
jmp game_loop_end
!ns:
lda #gs_new_select
sta game_state
jmp game_loop_end
;************************ Cyborg Victory *************************************************
victory:
ldx players ;2 Players - so select
dex
bne !new_select
ldx mission ;Training - so new game
dex
bne !new_select
lda robot_2+robot_type
cmp #robot_sup
bne !new_robot
;************************************************************************************
;
; M I S S I O N C O M P L E T E hurray , the end of the game
;
jsr end_sequence ;Victory
lda #gs_complete
sta game_state
jmp game_loop_end
!new_robot:
inc robot_opponent
lda #gs_new_robot
sta game_state
jmp game_loop_end
!new_game:
lda #gs_new_game
sta game_state
jmp game_loop_end
!new_select:
lda #gs_new_select
sta game_state
jmp game_loop_end
;************************************************************************************
set_scroll: jsr wait_frame
lda scroll_pos
a08
sta |w_bg2vofs
xba
sta |w_bg2vofs
a16
rts
init_new_robot:
jsr hdma_off
lda #1
sta tele_flag
lda #1
sta split_mode
jsr wait_frame
jsr clear_screen
jsr screen_off
lda #$0000
sta robot_2+robot_score
stz robot_1+robot_won
stz robot_2+robot_won
lda #1
sta bout_number
lda demo_mode
bne no_select
!sel_again: jsr select_screen
lda cancel_sel
bne !sel_again
no_select: jsr hdma_off
jsr wait_frame
lda players
sta players_g
lda bouts
sta bouts_g
lda timer
sta timer_g
lda difficulty
sta difficulty_g
lda demo_mode
beq !no_demo
lda #0
sta play
32F8B2:
dec d0 ;any more shards to create ?
beq !exit ;end if not
!na: lda a4
clc
adc #shard_parm_size
sta a4
dec d1
beq !exit
jmp !lp
!exit:
rts
create_spark:
lda #no_sparks
sta d0
ldx #spark_buff
!spl:
lda spark_y,x
bne !not_clear
lda shard_coordx
sta spark_x,x
lda shard_coordy
sta spark_y,x
stz spark_frame,x
rts
!not_clear:
txa
clc
adc #spark_parm_size
tax
dec d0
bne !spl
rts
vert_on:
if en_vert
sei
a08
lda #%10110001
sta |w_nmitimen
a16
lda >htv
sta |w_htimel
cli
endif
rts
np_set:
ldx #max_dma_p
ldy #50
a08
lda r_stat78
a16
bit #1<<4
bne !pal
ldx #max_dma_n
ldy #60
!pal:
if en_ntsc
ldx #max_dma_n
ldy #60
endif
stx max_dma
sty timer_value
rts
vert_off:
if en_vert
jsr wait_frame
sei
a08
lda #%10000001
sta |w_nmitimen
a16
cli
endif
rts
;0978 266333
debug:
if en_debug
if rom=0
if 0
pv robot_2+robot_aioverride,0
pv robot_2+robot_aioverridemode,3
pv robot_2+robot_mode,6
pv robot_2+robot_int,9
pv robot_2+robot_motivation,12
pv robot_2+robot_speed,15
pv robot_2+robot_firepowerdelay,18
pv robot_2+robot_aitimer,21
pv robot_2+robot_aimoveaddr,24
pv robot_2+robot_aimoveaddr+2,27
pv robot_2+robot_aimoveaddr+4,30
endif
if 0
pv robot_2+robot_mode,0
pv robot_2+robot_frame,3
pv robot_2+robot_y,6
pv robot_2+robot_ymax,9
endif
if 1
pv robot_1+robot_frame,0
pv robot_2+robot_frame,3
pw cur_col_pos,6
pw cur_col_diff,11
pw cur_col_xy,16
pw cur_col_xy+2,21
pv robot_1+robot_cur_hit+2,26
pv robot_2+robot_cur_hit+2,29
endif
endif
endif
rts
reset_energy:
ldy a2
lda robot_type,y
asl
34F39C:
straight to IPLROM
SET16
lda #(MusicDriver&$ffff) ;download driver (24 bit address)
sta <SonyAddr
lda #RamII
lda #MusicDriver>>16
sta <SonyAddr+2
jsr SONY_send
CLR16
lda #$82 ;DOWNLOAD data (music)
sta >APU_PORT0
SET16
lda mus_data
sta <SonyAddr
lda mus_data+2
sta <SonyAddr+2
jsr SONY_send
CLR16
lda #$82 ;DOWNLOAD data (samples)
sta >APU_PORT0
SET16
lda samp_1
sta <SonyAddr
lda samp_1+2
sta <SonyAddr+2
jsr SONY_send
CLR16
lda #$82 ;DOWNLOAD data (samples)
sta >APU_PORT0
SET16
lda samp_2
sta <SonyAddr
lda samp_2+2
sta <SonyAddr+2
jsr SONY_send
CLR16
sta >APU_PORT3
plp ;restore any interrupts
SET16
rts
;-----------------------------------------------------------------------------
SONY_send: jsr Boot_APU
CLR16
!wait0: lda >APU_PORT0 ;wait for handshake
bne !wait0
dec a
sta >APU_PORT2 ;acknowledge handshake
sta <callnum ;init call number to $FF
rts
;-------------------------------------------------------------------------------
; Once the Sound_Init routine has been called, the following routine can be
; used to download additional music data (or sample data with '#Musicdata'
; replaced by '#Samples') which is required for later levels of the game.
;-------------------------------------------------------------------------------
Send_Data:
stx mus_data
sta mus_data+2
send_mus_data:
CLR16
php
sei ;disable any other interrupts
S_D0: lda >APU_PORT0 ;latest value sent by SOUND CPU
cmp <callnum
bne S_D0 ;previous call still not finished
lda #$82 ;DOWNLOAD data (music)
sta >APU_PORT0
inc <callnum
lda <callnum
sta >APU_PORT3 ;forces a new call
SET16
lda mus_data
sta <SonyAddr
lda mus_data+2
sta <SonyAddr+2
jsr SONY_send
sta >AP
35FA09:
_code: incbin abslogo.bin
endif
dr
hctab:
hct = 0
rept 6
dw hct,hct+$10
hct = hct+$43
endr
endif
dtune_time: dw 400
hit_scale:
dw $80
reverse_off: db $2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f,$2f
power_table:
dw robot_min_power-2
dw robot_mid_power-2
dw robot_max_power-2
sel_ts: dw %00000000
sel_adsub dw %01010010
sel_swel dw %00010010
option_table: dw 3,2,3,4,2,2,3
if en_sound!rom
music_table: dl music1,music1,music2,music3,music4,musict
The Rise of the Robots series | |
---|---|
SNES | Rise of the Robots (Prototype) |
Game Gear | Rise of the Robots |
Categories:
- Games developed by Mirage
- Games published by Time Warner Interactive
- Games published by T&E Soft
- SNES games
- Games released in 1994
- Games with uncompiled source code
- To do
- Rise of the Robots series
Cleanup > To do
Games > Games by content > Games with uncompiled source code
Games > Games by developer > Games developed by Mirage
Games > Games by platform > SNES games
Games > Games by publisher
Games > Games by publisher > Games published by Midway Games > Games published by Time Warner Interactive
Games > Games by publisher > Games published by T&E Soft
Games > Games by release date > Games released in 1994
Games > Games by series > Rise of the Robots series
if(window.jQuery)jQuery.ready();if(window.mw){
mw.loader.state({"site":"loading","user":"ready","user.groups":"ready"});
}if(window.mw){
mw.loader.load(["mediawiki.action.view.postEdit","mediawiki.user","mediawiki.hidpi","mediawiki.page.ready","mediawiki.searchSuggest","ext.uls.pt"],null,true);
}if(window.mw){
document.write("u003Cscript src="https://tcrf.net/load.php?debug=falseu0026amp;lang=enu0026amp;modules=siteu0026amp;only=scriptsu0026amp;skin=vectoru0026amp;*"u003Eu003C/scriptu003E");
}
var pkBaseURL = (("https:" == document.location.protocol) ? "https://stats.tcrf.net/" : "http://stats.tcrf.net/");
document.write(unescape("%3Cscript src='" + pkBaseURL + "piwik.js' type='text/javascript'%3E%3C/script%3E"));
try {
var piwikTracker = Piwik.getTracker(pkBaseURL + "piwik.php", 2);
piwikTracker.trackPageView();
piwikTracker.enableLinkTracking();
} catch( err ) {}
if(window.mw){
mw.config.set({"wgBackendResponseTime":267});
}