3969 lines
67 KiB
NASM
Executable File
3969 lines
67 KiB
NASM
Executable File
****************************************************************
|
||
*
|
||
* Software: ?
|
||
* Initiated: ?
|
||
*
|
||
* Modified: Shawn Liptak 8/6/91 - Hiscore display and entry (Total carnage)
|
||
* Shawn Liptak 11/9/91 - Title screen
|
||
* Shawn Liptak 2/7/92 - Stripped for basketball
|
||
* Jason Skiles 12/9/93 - Stripped for WWF
|
||
*
|
||
* COPYRIGHT (C) 1992 WILLIAMS ELECTRONICS GAMES, INC.
|
||
*
|
||
*.Last mod - 12/9/93 12:35
|
||
****************************************************************
|
||
.file "attract.asm"
|
||
.title "attract mode"
|
||
.width 132
|
||
.option b,d,l,t
|
||
.mnolist
|
||
|
||
|
||
.include "mproc.equ"
|
||
.include "display.equ"
|
||
.include "sys.equ"
|
||
.include "gsp.equ"
|
||
.include "macros.h"
|
||
.include "game.equ"
|
||
.include "audit.equ"
|
||
.include "link.equ"
|
||
.include "sound.h"
|
||
|
||
.include "imgtbl.glo"
|
||
.include "crowdimg.glo"
|
||
.include "fontsimg.glo"
|
||
.include "miscimg.glo"
|
||
.include "bgndtbl.glo"
|
||
.include "ropeimg.glo"
|
||
|
||
.include "logo.tbl"
|
||
.include "logo.glo"
|
||
.include "dip.equ"
|
||
|
||
******************************************************************************
|
||
* EXTERNAL REFERENCES
|
||
|
||
.ref ADJ_PAGE,BAKMODS,BEATEN_TAB_ENTRIES,BGND_UD1
|
||
.ref BLOW_0_TO_1,CLOSE_PROGRESS_SCREEN,CRD_SCRN2
|
||
.ref DELETE_ANY_OFF_TOP,DUMRETS,GAMSTATE,HALT,GET_ADJ
|
||
.ref IRQSKYE,MOVE_ALL_OBJS_UP,RC_BYTEI,RD7FONT
|
||
.ref RESET_FROM_PIXEL_WIPE,RNDRNG0,RNDRNGS,RemapIO
|
||
.ref SET_UP_PIXEL_WIPE,SOUNDSUP,SPECIAL_WIPEOUT,STOP_ALL_OBJS
|
||
.ref STRCNRMO_2,WHICH_SCREEN,WIPEOUT
|
||
.ref copy_string,current_round
|
||
.ref dec_to_asc,dpageflip,draw_each_beaten_table_entry,fade_down
|
||
.ref fade_up,get_all_buttons_cur2,index1,match_cnt
|
||
.ref mess_cursx,mess_cursy,mess_line_spacing,nosounds
|
||
.ref p1rounds,p2rounds,page_addr,pal_clean,pal_getf,print_beaten
|
||
.ref print_hscores,print_string2,print_string_C2
|
||
.ref print_winstreaks,setup_message,start_match
|
||
.ref starting_num,table_cmos_check,total_matches,triple_sound
|
||
.ref wrestler_mugs2,set_volume,INIT_LADDER_TABLE
|
||
.ref wsf14_ascii,wsf10_ascii,print_string
|
||
.ref message_ascii,mess_cursx2
|
||
.ref osgemd_ascii,LADDER,CURRENT_LADDER,NUM_OPPS
|
||
.ref hscore_colcyc2,ogmd10_ascii,CLOSE_SCREEN_LINE
|
||
.ref OPEN_SCREEN_LINE,HORZTRN1,HORZTRN2,TOP_LEFT
|
||
.ref BOT_RIGHT,LINES,not_blank,doing_dcs_reset,QSNDRST
|
||
.ref MUSIC_HAP,JUDDER_SHADOW
|
||
.ref DRKTRPLTP,HID_P,PCNT
|
||
.ref STRCNRMO_1
|
||
.ref _clk_rd
|
||
.ref _auto_update_save
|
||
.ref _GetTime
|
||
.ref print_message
|
||
.ref concat_string
|
||
.ref concat_rom_string
|
||
.ref print_string_C
|
||
.ref print_string_C2
|
||
.ref copy_rom_string
|
||
.ref wgsf24_ascii
|
||
.ref wsf14_ascii
|
||
.ref WSF_R_P
|
||
.ref _tseconds
|
||
.ref _tminutes
|
||
.ref _thours
|
||
.ref _tday
|
||
.ref _tdate
|
||
.ref _tmonth
|
||
.ref _tyear
|
||
.ref WHERE_WRESTLMANIA_SPARKLES,SPRINKLE_GLINTS
|
||
.ref RANDOM_SPARKLE
|
||
.ref READ_DIP
|
||
.globl hstd_mod
|
||
.ref print_inter,belt_type
|
||
.ref draw_each_inter_table_entry
|
||
.ref INTER_TAB_ENTRIES
|
||
.ref print_tag
|
||
.ref RNDPER
|
||
.ref MAYBE_TOUGH_ENOUGH
|
||
.ref osgmd8_ascii,SGMD8WHT
|
||
.ref story_bgnd
|
||
.ref hscore_colcyc,hscore_colcyc2
|
||
|
||
******************************************************************************
|
||
;symbols defined externally
|
||
|
||
;ram
|
||
|
||
BSSX hisclong ,16 ;!0=Show hiscore table longer
|
||
|
||
BSSX SHOW_CRD_FLAG,16 ;Show credits in amode gameplay
|
||
|
||
.bss cycram ,8*2*16 ;Palette cycle mem
|
||
.bss cycram2 ,7*2*16 ;^
|
||
|
||
; .bss team_cnts ,32 ;left team cnt, +16=rgt team cnt
|
||
; .bss stick ,32 ;stick ram for team selection
|
||
|
||
; .bss loop, 16 ;
|
||
|
||
.bss TEMP,16
|
||
|
||
.BSS AMODE_LOOPS,16
|
||
.BSS DCS_PAL,16
|
||
.BSS DCS_BIT_TABLE,(32*7)*(31*44)
|
||
|
||
.BSS LOGOMOD_START,(40H*20)+32
|
||
.BSS LOGOMOD_END,0
|
||
|
||
.bss bios_type,16
|
||
.bss nb_save,16
|
||
|
||
.text
|
||
|
||
|
||
********************************
|
||
* Attract mode (Process)
|
||
|
||
|
||
SUBR attract_mode
|
||
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
;let the sound board reset finish up.
|
||
SLEEPK 8
|
||
|
||
clr a3
|
||
calla SNDSND
|
||
|
||
movi INAMODE,a14 ;set GAMSTATE
|
||
move a14,@GAMSTATE
|
||
|
||
clr a0 ;clear matches since attmode cntr
|
||
move a0,@total_matches,W
|
||
MOVE A0,@AMODE_LOOPS
|
||
MOVE A0,@MUSIC_HAP
|
||
|
||
movk 1,a0
|
||
move a0,@dpageflip ;page flipping on
|
||
|
||
calla display_unblank
|
||
|
||
; ;temp!
|
||
;#foo JSRP DO_HINTS
|
||
; jruc #foo
|
||
|
||
#loop
|
||
* Please, stop messing with this ! If you want it changed, ask me ! - Jake
|
||
|
||
|
||
;kill that damned announcer proc too.
|
||
; movi VOICE_PID,a0
|
||
; clr a1
|
||
; not a1
|
||
; calla EXISTP
|
||
; jrz #no_bleedin_announcer
|
||
; calla KILL
|
||
#no_bleedin_announcer
|
||
|
||
|
||
|
||
JSRP show_hstd
|
||
;TEST PURPOSES ONLY
|
||
; .ref show_wrestler_end_story
|
||
; .ref which_player
|
||
; .ref PSTATUS
|
||
;
|
||
; clr a14
|
||
; move a14,@PSTATUS
|
||
;
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 1,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 2,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 3,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 4,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 5,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 6,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
; movk 8,a14
|
||
; move a14,@which_player
|
||
; JSRP show_wrestler_end_story
|
||
;
|
||
;END TEST
|
||
|
||
JSRP DCS_LOGO
|
||
JSRP show_sports_logo
|
||
JSRP show_gameplay
|
||
JSRP creditscreen
|
||
JSRP show_title
|
||
JSRP show_gameplay
|
||
JSRP creditscreen
|
||
JSRP DO_HINTS
|
||
JSRP show_gen_tips
|
||
JSRP show_bios
|
||
movk 1,a14
|
||
move a14,@bios_type
|
||
move @next_bio,a14
|
||
move a14,@nb_save
|
||
dec a14
|
||
andi 7,a14
|
||
move a14,@next_bio
|
||
movi story_bgnd,a0
|
||
JSRP show_bios_tips
|
||
clr a14
|
||
move a14,@bios_type
|
||
move @nb_save,a14
|
||
move a14,@nb_save
|
||
JSRP show_operatormsg
|
||
|
||
calla RemapIO ;Remap the I/O
|
||
MOVE @AMODE_LOOPS,A0
|
||
INC A0
|
||
MOVE A0,@AMODE_LOOPS
|
||
|
||
btst 0,a0
|
||
jrnz #loop
|
||
JSRP creditscreen
|
||
; JSRP show_hstd
|
||
JSRP show_time_date
|
||
|
||
MOVE @AMODE_LOOPS,A0
|
||
andk 7,a0
|
||
jrnz #loop
|
||
|
||
JSRP show_copyright
|
||
JSRP aama_message
|
||
|
||
clr a0
|
||
move a0,@AMODE_LOOPS
|
||
move a0,@SOUNDSUP ;turn all sounds on
|
||
|
||
jruc #loop
|
||
|
||
aama_message
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
|
||
clr a0 ;movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
SLEEPK 2
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
; movi hstd_mod,a0
|
||
; move a0,@BAKMODS,L
|
||
; calla BGND_UD1 ;create objects for background
|
||
;
|
||
; SLEEPK 2
|
||
|
||
; calla display_unblank
|
||
|
||
|
||
movi blue_grad_pal,a0
|
||
JSRP do_the_grad_thang
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln1,a8
|
||
movi [54+60-20,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln2,a8
|
||
movi [54+60,>b1],a9
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi [>0606,0000],a6 ;pal 0, color 17
|
||
movi #ln2b,a8
|
||
movi [54+60,>104],a9
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln3,a8
|
||
movi [54+71,200],a9
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln4,a8
|
||
movi [54+82,200],a9
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln5,a8
|
||
movi [54+93,200],a9
|
||
JSRP STRCNRMO_2
|
||
|
||
|
||
clr a10
|
||
movk 8,a11
|
||
CREATE FADE_PID,fade_up
|
||
|
||
movk 1,a0
|
||
move a0,@DISPLAYON
|
||
|
||
SLEEPK 2
|
||
calla display_unblank
|
||
|
||
;Explanation - We MUST allow the fade process created above
|
||
;to finish because if someone wacks out below, the fade
|
||
;process is still running and JakeO's code to do his wipe
|
||
;across the screen stuff for the high score table starts running.
|
||
;His code uses the FADERAM area for those screen wipes and if a fader
|
||
;is running, the data in those areas gets changed by the fader process.
|
||
;Unfortunately, some of the data he is using is used as pointers in a
|
||
;memory to memory copy loop and if those values get changed the memory to
|
||
;memory copy goes haywire and starts scribbling all over the place causing
|
||
;a lockup. NOTE - The errant writes CAN and do occur into the CMOS area.
|
||
;There are 4 ways to solve the problem.
|
||
;
|
||
; 1. Guarentee that the fader is allowed to run to completion.
|
||
;
|
||
; 2. Kill off the fader after wacking out.
|
||
;
|
||
; 3. Use a different area of memory for the screen wipes.
|
||
;
|
||
; 4. Shoot Jake.
|
||
;
|
||
;Not wanting to go to jail I chose option 3 cause we got plenty of memory.
|
||
;
|
||
SLEEPK 20
|
||
|
||
movi 4*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
; clr a10
|
||
; movk 16,a11
|
||
; CREATE FADE_PID,fade_down
|
||
;
|
||
; SLEEP TSEC
|
||
;
|
||
; calla display_blank
|
||
|
||
RETP
|
||
|
||
; movi CLSNEUT|TYPTEXT|SUBTXT,a0
|
||
; calla obj_del1c
|
||
|
||
|
||
; calla display_on
|
||
; calla view_page_0
|
||
; movi >40*6,a10
|
||
; JSRP fadein_jsrp
|
||
; jruc amode_fade_retp
|
||
|
||
; RETP
|
||
|
||
#ln1 .string "AAMA PARENTAL ADVISORY",0
|
||
#ln2 .string "LIFE-LIKE VIOLENCE",0
|
||
#ln2b .string "- MILD",0
|
||
#ln3 .string "CONTAINS SELECTED SCENES INVOLVING",0
|
||
#ln4 .string "HUMAN-LIKE CHARACTERS ENGAGED IN",0
|
||
#ln5 .string "COMBATIVE ACTIVITY.",0
|
||
.byte 0
|
||
.even
|
||
|
||
|
||
do_the_grad_thang
|
||
|
||
calla pal_getf
|
||
|
||
SLEEPK 2
|
||
|
||
clr a3
|
||
movi >00000101,a1
|
||
|
||
movi 31,a10
|
||
loop movi >00020190,a2
|
||
movi >2000000,a4
|
||
movi >800c,a5
|
||
calla QDMAN ;dman
|
||
addi >01010000,a1
|
||
addi >00020000,a3
|
||
dsj a10,loop
|
||
|
||
addi >00840000,a3
|
||
|
||
movi 32,a10
|
||
loop2 movi >00020190,a2
|
||
movi >2000000,a4
|
||
movi >800c,a5
|
||
calla QDMAN ;dman
|
||
subi >01010000,a1
|
||
addi >00020000,a3
|
||
dsj a10,loop2
|
||
|
||
SLEEPK 4
|
||
|
||
RETP
|
||
|
||
**************************************************************************
|
||
* *
|
||
* dman - manual dma, all regs must be setup upon calling *
|
||
* a1 = [constant color,palette] *
|
||
* a2 = size [h,w] *
|
||
* a3 = destination [y,x] *
|
||
* a4 = starting address *
|
||
* a5 = [offset,control] *
|
||
* *
|
||
**************************************************************************
|
||
dman
|
||
|
||
*manual dma (setup your own regs)
|
||
*inputs:
|
||
*a1: constant color:palette
|
||
*a2: vsize:hsize
|
||
*a3: destination y:x
|
||
*a4: sag
|
||
*a5: offset:control
|
||
qdman:
|
||
MMTM sp,a2,a4,a13
|
||
jruc qdma1
|
||
|
||
|
||
**************************************************************************
|
||
* *
|
||
* dma queue support routines *
|
||
* *
|
||
**************************************************************************
|
||
*
|
||
* qdma puts image on dma q
|
||
* inputs:
|
||
* a1: constant color:palette
|
||
* a3: destination y:x
|
||
* a5: offset:control
|
||
* a14: address of image header
|
||
* gets: a2=h/w; a4=sag
|
||
*
|
||
;qdma
|
||
; mmtm sp,a2,a4,a13
|
||
; move *a14,a2,l ;get vsize:hsize
|
||
; move *a14(isag),a4,l ;get sag
|
||
|
||
qdma1
|
||
; movk 1,a13
|
||
; move a13,@qdmaflg,w ;q being modified
|
||
|
||
.ref DMAQCUR,DMAQ
|
||
|
||
move @DMAQCUR,a13,L
|
||
cmpi DMAQ,a13
|
||
jrls qdmax ;q overload, can it
|
||
|
||
mmtm a13,a1,a2,a3,a4,a5
|
||
move a13,@DMAQCUR,L
|
||
|
||
; clr a13
|
||
; move a13,@qdmaflg,w
|
||
|
||
qdmax MMFM sp,a2,a4,a13
|
||
rets
|
||
|
||
;*************************************************************************
|
||
|
||
blue_grad_pal
|
||
.word 32
|
||
|
||
.word 31
|
||
.word 30
|
||
.word 29
|
||
.word 28
|
||
.word 27
|
||
.word 26
|
||
.word 25
|
||
.word 24
|
||
.word 23
|
||
.word 22
|
||
.word 21
|
||
.word 20
|
||
.word 19
|
||
.word 18
|
||
.word 17
|
||
.word 16
|
||
|
||
.word 15
|
||
.word 14
|
||
.word 13
|
||
.word 12
|
||
.word 11
|
||
.word 10
|
||
.word 9
|
||
.word 8
|
||
.word 7
|
||
.word 6
|
||
.word 5
|
||
.word 4
|
||
.word 3
|
||
.word 2
|
||
.word 1
|
||
.word 0
|
||
|
||
************ clear screen routine *********************
|
||
|
||
;clr_scrn
|
||
; clr a0
|
||
; mmtm sp,a1,a2,a3
|
||
; move @displayon,a3,w
|
||
; clr a1
|
||
; move a1,@displayon,w
|
||
;; callr dmaqwait ;wait on dma
|
||
; clr a1
|
||
; move a1,@cmapsel,w ;select color map 0
|
||
; movi screen,a1,l
|
||
; movi ((scrne-2000h)-screen)/32,a2,l
|
||
;clrlp move a0,*a1+,l
|
||
; dsjs a2,clrlp
|
||
; move a3,@displayon,w
|
||
; mmfm sp,a1,a2,a3
|
||
; rets
|
||
|
||
|
||
#****************************************************************
|
||
* show_gameplay
|
||
|
||
SUBRP show_gameplay
|
||
|
||
movk 1,a0
|
||
move a0,@current_round
|
||
move a0,@match_cnt
|
||
|
||
move a0,@p1rounds
|
||
move a0,@p2rounds
|
||
|
||
movk 7,a0
|
||
calla RNDRNG0
|
||
cmpi 7,a0
|
||
jrnz #bug
|
||
inc a0
|
||
|
||
#bug move a0,@index1
|
||
|
||
;initialize NUM_OPPS and CURRENT_LADDER
|
||
;choose at random a battle between #2 and #6 on the ladder
|
||
|
||
clr a14
|
||
move a14,@belt_type
|
||
|
||
calla INIT_LADDER_TABLE
|
||
|
||
movk 5,a0
|
||
calla RNDRNG0
|
||
addk 1,a0
|
||
X32 a0
|
||
addi LADDER,a0
|
||
move a0,@CURRENT_LADDER,L
|
||
move *a0,a14,L
|
||
srl 24,a14
|
||
move a14,@NUM_OPPS
|
||
|
||
CALLR TURN_SOUNDS_OFF_IF_NEED
|
||
|
||
JSRP CLOSE_PROGRESS_SCREEN
|
||
calla SPECIAL_WIPEOUT
|
||
|
||
;Eventually, we should show just quick clips of cool gameplay.
|
||
movk 1,a0
|
||
move a0,@SHOW_CRD_FLAG
|
||
|
||
CALLR TURN_SOUNDS_OFF_IF_NEED
|
||
|
||
CREATE AMODE_GAMEPLAY_PID,start_match
|
||
|
||
CALLA MAYBE_TOUGH_ENOUGH
|
||
|
||
SLEEP 3*60
|
||
|
||
movi 10*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
;Freeze action in interesting spots...
|
||
;knockout processes
|
||
movk 1,a0
|
||
move a0,@HALT
|
||
|
||
;Stop wrestler procs
|
||
;Stop sweat
|
||
;Allow shadows to still shake
|
||
|
||
CREATE0 DO_SET_IMAGES
|
||
|
||
movi ACTIVE,a3,L
|
||
|
||
#lp move *a3,a3,L ;Get next
|
||
jrz #x ;End?
|
||
move *a3(PWAKE),a0,L
|
||
.ref DO_SET_IMAGES
|
||
cmpi DO_SET_IMAGES,a0
|
||
jrz #lp
|
||
|
||
move *a3(PTIME),a14 ;Add sleep
|
||
addi 3*60,a14
|
||
move a14,*a3(PTIME)
|
||
jruc #lp
|
||
#x
|
||
SLEEP 60
|
||
|
||
;fade down
|
||
clr a10
|
||
movk 16,a11
|
||
CREATE FADE_PID,fade_down
|
||
|
||
SLEEPK 32
|
||
|
||
calla display_blank
|
||
|
||
clr a0
|
||
move a0,@SHOW_CRD_FLAG
|
||
CALLA nosounds
|
||
|
||
RETP
|
||
|
||
TURN_SOUNDS_OFF_IF_NEED
|
||
ADJUST ADJMUSIC
|
||
JRNZ TURN_OFF_SOUNDS
|
||
|
||
MOVE @AMODE_LOOPS,A0
|
||
CMPI 2,A0
|
||
JRLT SOUNDS_SHOULD_BE_ON
|
||
TURN_OFF_SOUNDS
|
||
MOVK 2,A0
|
||
MOVE A0,@SOUNDSUP
|
||
SOUNDS_SHOULD_BE_ON
|
||
RETS
|
||
|
||
#****************************************************************
|
||
* Show an operator message if one has been entered
|
||
|
||
STRUCTPD
|
||
WORD som_string
|
||
|
||
|
||
SUBR show_operatormsg
|
||
|
||
calla ADJ_PAGE
|
||
movk CMESS_LINES,a2 ;>Check for a message
|
||
movi CUSTOM_MESSAGE,a7
|
||
#cmlp
|
||
calla RC_BYTEI
|
||
jrnz #msg
|
||
addi CMESS_LINE_SIZE,a7
|
||
dsj a2,#cmlp
|
||
jruc #x
|
||
#msg
|
||
; JSRP GENERIC_DISPLAY
|
||
JSRP dan_test
|
||
movk CMESS_LINES,a2 ;>Check for a message
|
||
movi CUSTOM_MESSAGE,a7
|
||
movi [50,200],a9
|
||
#prtlp
|
||
PUSHP a2,a7
|
||
|
||
calla ADJ_PAGE
|
||
|
||
move a13,a2
|
||
addi som_string,a2
|
||
#getlp calla RC_BYTEI
|
||
movb a0,*a2
|
||
addk 8,a2
|
||
move a0,a0
|
||
jrnz #getlp
|
||
|
||
|
||
movi GOLD,a0
|
||
calla pal_getf
|
||
move a0,a6
|
||
|
||
move a13,a8
|
||
addi som_string,a8
|
||
clr a0
|
||
movk 1,a10
|
||
movi osgfont_t,a11
|
||
PUSHP a9
|
||
JSRP STRCNRMO_1
|
||
PULLP a9
|
||
|
||
movi OBJLST,a14
|
||
|
||
#olp move *a14,a14,L ;A14=*Next
|
||
jrz #oend
|
||
move *a14(ODATA_p),a0,L
|
||
jrnz #olp
|
||
movi [>320,>320],a1
|
||
move a1,*a14(ODATA_p),L
|
||
jruc #olp
|
||
#oend
|
||
|
||
; PUSHP a6
|
||
; SLEEPK 30
|
||
; PULLP a6
|
||
PULLP a2,a7
|
||
#nxt
|
||
addi [45,0],a9
|
||
|
||
addi CMESS_LINE_SIZE,a7
|
||
dsj a2,#prtlp
|
||
|
||
SLEEP 2*60
|
||
|
||
movi 6*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
JSRP scrn_scaleout
|
||
|
||
calla WIPEOUT
|
||
|
||
#x RETP
|
||
|
||
#*****************************************************************************
|
||
|
||
|
||
.def osgfont_t
|
||
osgfont_t
|
||
.long OSGEMD_EXP,OSGEMD_APO,OSGEMD_NUM,OSGEMD_DOL ;!"#$
|
||
.long OSGEMD_SPC,OSGEMD_AND,OSGEMD_APO,OSGEMD_OBR ;%&'(
|
||
.long OSGEMD_CBR,OSGEMD_SPC,OSGEMD_SPC,OSGEMD_SPC ;)*+,
|
||
.long OSGEMD_DAS,OSGEMD_DOT,OSGEMD_SLS ;-./
|
||
.long OSGEMD_0,OSGEMD_1,OSGEMD_2,OSGEMD_3,OSGEMD_4
|
||
.long OSGEMD_5,OSGEMD_6,OSGEMD_7,OSGEMD_8,OSGEMD_9
|
||
.long OSGEMD_COL,OSGEMD_SPC,OSGEMD_SPC,OSGEMD_SPC ;:;<=
|
||
.long OSGEMD_SPC,OSGEMD_QUE,OSGEMD_SPC ;>?@
|
||
.long OSGEMD_A,OSGEMD_B,OSGEMD_C,OSGEMD_D
|
||
.long OSGEMD_E,OSGEMD_F,OSGEMD_G,OSGEMD_H
|
||
.long OSGEMD_I,OSGEMD_J,OSGEMD_K,OSGEMD_L
|
||
.long OSGEMD_M,OSGEMD_N,OSGEMD_O,OSGEMD_P
|
||
.long OSGEMD_Q,OSGEMD_R,OSGEMD_S,OSGEMD_T
|
||
.long OSGEMD_U,OSGEMD_V,OSGEMD_W,OSGEMD_X
|
||
.long OSGEMD_Y,OSGEMD_Z
|
||
.long OSGEMD_SPC,OSGEMD_SPC,OSGEMD_SPC,OSGEMD_END ;[\]^
|
||
.long OSGEMD_BAK,OSGEMD_SPC,OSGEMD_SPC ;_`
|
||
|
||
|
||
#*****************************************************************************
|
||
* Show credits screen
|
||
*
|
||
|
||
SUBRP creditscreen
|
||
|
||
calla pal_clean
|
||
|
||
movk 1,a10
|
||
JSRP CRD_SCRN2
|
||
movi AMODE_PID,a0
|
||
move a0,*a13(PROCID)
|
||
|
||
;fade down
|
||
; clr a10
|
||
; movk 16,a11
|
||
; CREATE0 fade_down
|
||
;
|
||
; SLEEP TSEC
|
||
|
||
RETP
|
||
|
||
|
||
#*****************************************************************************
|
||
* Show time and date
|
||
*
|
||
|
||
SUBRP show_time_date
|
||
|
||
calla READ_DIP
|
||
btst DPTDON_B,a0
|
||
jrz #std_exit
|
||
|
||
move @_clk_rd,a8,L ;Save current auto update state
|
||
move a8,@_auto_update_save,L
|
||
clr a8 ;Enable auto update
|
||
move a8,@_clk_rd,L
|
||
JSRP _GetTime
|
||
|
||
SLEEPK 30
|
||
|
||
JSRP GENERIC_DISPLAY
|
||
|
||
movi #date_time_prompt,a2
|
||
calla print_message
|
||
|
||
movi #day_of_week_setup,a2
|
||
calla setup_message
|
||
move @_tday,a4
|
||
cmpi 1,a4
|
||
jrlt #bad_day
|
||
cmpi 8,a4
|
||
jrlt #do_day
|
||
#bad_day
|
||
movk 1,a4
|
||
#do_day
|
||
subk 1,a4
|
||
sll 5,a4
|
||
addi #day_of_week_table,a4
|
||
move *a4,a4,L
|
||
calla print_string_C2
|
||
|
||
|
||
move @_tmonth,a4
|
||
cmpi 1,a4
|
||
jrlt #bad_month
|
||
cmpi 13,a4
|
||
jrlt #do_month
|
||
#bad_month
|
||
movk 1,a4
|
||
#do_month
|
||
subk 1,a4
|
||
sll 5,a4
|
||
addi #month_table,a4
|
||
move *a4,a4,L
|
||
calla copy_rom_string
|
||
|
||
move @_tdate,a0
|
||
cmpi 1,a0
|
||
jrlt #bad_date
|
||
cmpi 32,a0
|
||
jrlt #do_date
|
||
#bad_date
|
||
movk 1,a0
|
||
#do_date
|
||
movi 31,a1
|
||
calla dec_to_asc
|
||
calla concat_string
|
||
|
||
movi #d_sep,a4
|
||
calla concat_rom_string
|
||
|
||
move @_tyear,a0
|
||
jrn #bad_year
|
||
cmpi 99,a0
|
||
jrlt #do_year
|
||
#bad_year
|
||
clr a0
|
||
#do_year
|
||
cmpi 9,a0
|
||
jrgt #year_gt_9
|
||
movi #zero_year,a4
|
||
PUSHP a0
|
||
calla concat_rom_string
|
||
PULLP a0
|
||
#year_gt_9
|
||
movi 99,a1
|
||
calla dec_to_asc
|
||
calla concat_string
|
||
|
||
movi #date_setup,a2
|
||
calla setup_message
|
||
calla print_string_C
|
||
|
||
move @_thours,a0
|
||
jrn #bad_hour
|
||
cmpi 24,a0
|
||
jrlt #do_hour
|
||
#bad_hour
|
||
clr a0
|
||
#do_hour
|
||
movi 12,a1
|
||
modu a1,a0
|
||
jrnz #not_mid_or_noon
|
||
movk 12,a0
|
||
#not_mid_or_noon
|
||
movi 13,a1
|
||
calla dec_to_asc
|
||
calla copy_string
|
||
|
||
movi #t_sep,a4
|
||
calla concat_rom_string
|
||
|
||
move @_tminutes,a0
|
||
jrn #bad_minute
|
||
cmpi 60,a0
|
||
jrlt #do_minute
|
||
#bad_minute
|
||
clr a0
|
||
#do_minute
|
||
cmpi 9,a0
|
||
jrgt #min_gt_9
|
||
movi #zero_year,a4
|
||
PUSHP a0
|
||
calla concat_rom_string
|
||
PULLP a0
|
||
#min_gt_9
|
||
movi 60,a1
|
||
calla dec_to_asc
|
||
calla concat_string
|
||
|
||
movi #time_setup,a2
|
||
calla setup_message
|
||
calla print_string_C
|
||
|
||
|
||
movi #its_time_to_message,a2
|
||
calla print_message
|
||
|
||
movi #wrestlemania_message,a2
|
||
calla print_message
|
||
|
||
SLEEPK 25 ; Min time to display
|
||
|
||
movi TSEC*5,a2
|
||
#wait_loop
|
||
PUSHP a2
|
||
SLEEPK 1
|
||
PULLP a2
|
||
calla get_all_buttons_cur2
|
||
jrnz #time_date_done
|
||
dsjs a2,#wait_loop
|
||
#time_date_done
|
||
; move @_auto_update_save,a8,L ;Restore Auto Update state
|
||
clr a8
|
||
not a8
|
||
move a8,@_clk_rd,L
|
||
|
||
#std_exit
|
||
RETP
|
||
|
||
#date_time_prompt
|
||
JAM_STR ogmd10_ascii,10,0,200,40,SGMD8GLD,print_string_C2
|
||
.string "THE DATE AND TIME IS...",0
|
||
.even
|
||
|
||
#its_time_to_message
|
||
JAM_STR ogmd10_ascii,10,0,200,150,SGMD8GLD,print_string_C2
|
||
.string "THAT MEANS IT'S TIME TO PLAY...",0
|
||
.even
|
||
|
||
#wrestlemania_message
|
||
JAM_STR wgsf24_ascii,10,0,200,180,WGFS_W_P,print_string_C2
|
||
.string "WRESTLEMANIA",0
|
||
.even
|
||
|
||
#day_of_week_setup
|
||
JAM_STR wsf14_ascii,10,0,200,72,WSF_R_P,print_string_C2
|
||
.even
|
||
|
||
#date_setup
|
||
JAM_STR wsf14_ascii,10,0,200,92,WSF_R_P,print_string_C2
|
||
.even
|
||
|
||
#time_setup
|
||
JAM_STR wsf14_ascii,10,0,200,112,WSF_R_P,print_string_C2
|
||
.even
|
||
|
||
#d_sep
|
||
.string ", 19",0
|
||
.even
|
||
|
||
#t_sep
|
||
.string ":",0
|
||
.even
|
||
|
||
#zero_year
|
||
.string "0",0
|
||
.even
|
||
|
||
#monday_str
|
||
.string "MONDAY",0
|
||
.even
|
||
#tuesday_str
|
||
.string "TUESDAY",0
|
||
.even
|
||
#wednesday_str
|
||
.string "WEDNESDAY",0
|
||
.even
|
||
#thursday_str
|
||
.string "THURSDAY",0
|
||
.even
|
||
#friday_str
|
||
.string "FRIDAY",0
|
||
.even
|
||
#saturday_str
|
||
.string "SATURDAY",0
|
||
.even
|
||
#sunday_str
|
||
.string "SUNDAY",0
|
||
.even
|
||
|
||
#january_str
|
||
.string "JANUARY ",0
|
||
.even
|
||
#february_str
|
||
.string "FEBRUARY ",0
|
||
.even
|
||
#march_str
|
||
.string "MARCH ",0
|
||
.even
|
||
#april_str
|
||
.string "APRIL ",0
|
||
.even
|
||
#may_str
|
||
.string "MAY ",0
|
||
.even
|
||
#june_str
|
||
.string "JUNE ",0
|
||
.even
|
||
#july_str
|
||
.string "JULY ",0
|
||
.even
|
||
#august_str
|
||
.string "AUGUST ",0
|
||
.even
|
||
#september_str
|
||
.string "SEPTEMBER ",0
|
||
.even
|
||
#october_str
|
||
.string "OCTOBER ",0
|
||
.even
|
||
#november_str
|
||
.string "NOVEMBER ",0
|
||
.even
|
||
#december_str
|
||
.string "DECEMBER ",0
|
||
.even
|
||
|
||
#day_of_week_table
|
||
.long #sunday_str
|
||
.long #monday_str
|
||
.long #tuesday_str
|
||
.long #wednesday_str
|
||
.long #thursday_str
|
||
.long #friday_str
|
||
.long #saturday_str
|
||
|
||
#month_table
|
||
.long #january_str
|
||
.long #february_str
|
||
.long #march_str
|
||
.long #april_str
|
||
.long #may_str
|
||
.long #june_str
|
||
.long #july_str
|
||
.long #august_str
|
||
.long #september_str
|
||
.long #october_str
|
||
.long #november_str
|
||
.long #december_str
|
||
|
||
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBRP show_copyright
|
||
|
||
calla display_blank
|
||
calla WIPEOUT
|
||
|
||
clr a0
|
||
move a0,@dtype ;2D
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
move a0,@IRQSKYE
|
||
|
||
SLEEPK 2
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln1,a8
|
||
movi [50+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln2,a8
|
||
movi [62+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln3,a8
|
||
movi [74+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln4,a8
|
||
movi [86+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln5,a8
|
||
movi [98+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln6,a8
|
||
movi [110+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln7,a8
|
||
movi [122+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln8,a8
|
||
movi [134+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln9,a8
|
||
movi [146+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
movi [200,0],a0
|
||
movi [4bh-10,0],a1
|
||
movi SMWWF2,a2 ;* image
|
||
movi 20000,a3
|
||
movi DMAWNZ|M_NOCOLL,a4
|
||
movi CLSDEAD,a5
|
||
clr a6
|
||
clr a7
|
||
calla BEGINOBJ
|
||
|
||
clr a10
|
||
movk 8,a11
|
||
CREATE FADE_PID,fade_up
|
||
|
||
movk 1,a0
|
||
move a0,@DISPLAYON
|
||
|
||
SLEEPK 2
|
||
calla display_unblank
|
||
|
||
SLEEPK 20
|
||
|
||
movi 3*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi CLSNEUT|TYPTEXT|SUBTXT,a0
|
||
calla obj_del1c
|
||
|
||
|
||
clr a0
|
||
movi [>1111,0000],a6 ;pal 0, color 17
|
||
movi #ln10,a8
|
||
movi [50+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln11,a8
|
||
movi [62+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln12,a8
|
||
movi [74+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln13,a8
|
||
movi [86+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln14,a8
|
||
movi [98+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln15,a8
|
||
movi [110+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln16,a8
|
||
movi [122+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln17,a8
|
||
movi [134+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln18,a8
|
||
movi [146+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
clr a0
|
||
movi #ln19,a8
|
||
movi [158+60,200],a9
|
||
movk 1,a10
|
||
movi RD7FONT,a11
|
||
JSRP STRCNRMO_2
|
||
|
||
SLEEPK 20
|
||
|
||
movi 3*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
RETP
|
||
|
||
#ln1 .string "VIDEO GAME SOFTWARE DESIGNED AND DEVELOPED",0
|
||
#ln2 .string "BY MIDWAY MANUFACTURING COMPANY",0
|
||
#ln3 .string "(C) 1995 ASSIGNED TO ACCLAIM ENTERTAINMENT, INC.",0
|
||
#ln4 .string "[ (C) 1995 TITANSPORTS, INC. ]",0
|
||
#ln5 .string "ALL DISTINCTIVE NAMES AND CHARACTER LIKENESSES",0
|
||
#ln6 .string "USED HEREIN ARE TRADEMARKS OF TITANSPORTS, INC.",0
|
||
#ln7 .string "SUBLICENSED BY MIDWAY MANUFACTURING COMPANY",0
|
||
#ln8 .string "FROM ACCLAIM ENTERTAINMENT INC.",0
|
||
#ln9 .string "ALL RIGHTS RESERVED.",0
|
||
|
||
#ln10 .string "'WRESTLEMANIA'",0
|
||
#ln11 .string "COMPOSED/PERFORMED BY MICHAEL STOCK,",0
|
||
#ln12 .string "PETER WATERMAN, JAMES HART & J.J. MAGUIRE",0
|
||
#ln13 .string "COURTESY OF TITANSPORTS INC. USED BY PERMISSION -",0
|
||
#ln14 .string "ALL RIGHTS RESERVED",0
|
||
#ln15 .string "'WRESTLEMANIA' BY WWF SUPERSTARS. (P) 1993 THE",0
|
||
#ln16 .string "COPYRIGHT IN THIS SOUND RECORDING IS OWNED BY",0
|
||
#ln17 .string "BMG EURODISC LIMITED AND IS USED BY PERMISSION.",0
|
||
#ln18 .string "COMPOSED BY STOCK/WATERMAN/WWF AND PUBLISHED BY",0
|
||
#ln19 .string "BMG MUSIC PUBLISHING LTD./ALL BOYS MUSIC LTD.",0
|
||
.EVEN
|
||
|
||
|
||
#********************************************************
|
||
*
|
||
* Print general tips
|
||
*
|
||
SUBRP print_gen_tips
|
||
|
||
movi #gen_tip_mes,a2
|
||
calla print_message
|
||
|
||
MOVI [10,0],A0
|
||
MOVI [21,0],A1
|
||
|
||
movi MVEBAR_R,a2
|
||
movi 1799H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
|
||
MOVI [13,0],A0
|
||
MOVI [21+9,0],A1
|
||
|
||
movi SHADOW01,a2
|
||
movi 1799H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
CREATE FLASH_PID,JUDDER_SHADOW
|
||
|
||
movi #gen_tip_table,a1
|
||
movi 60,a3
|
||
#sgt_loop
|
||
move *a1+,a4,L
|
||
jrz #done
|
||
PUSHP a1,a3
|
||
calla copy_rom_string
|
||
movi #gt_line_setup,a2
|
||
calla setup_message
|
||
move a3,@mess_cursy
|
||
calla print_string_C
|
||
PULLP a1,a3
|
||
addk 15,a3
|
||
jruc #sgt_loop
|
||
|
||
#done
|
||
calla hscore_colcyc
|
||
; calla hscore_colcyc2
|
||
|
||
RETP
|
||
|
||
#gt_line_setup
|
||
JAM_STR ogmd10_ascii,6,0,200,90,SGMD8YEL,print_string
|
||
.even
|
||
|
||
#gen_tip_mes
|
||
JAM_STR osgemd_ascii,10,0,200,10,BLUE,print_string_C2
|
||
.byte "TONS O' TIPS",0,0
|
||
.even
|
||
|
||
#gen_tip1
|
||
.string "PUT YOUR OPPONENT INTO A HEAD HOLD",0
|
||
.even
|
||
#gen_tip1a
|
||
.string "USING TOWARD-TOWARD-POWERPUNCH.",0
|
||
.even
|
||
#gen_tip2
|
||
.string "FLING YOUR OPPONENT TO THE ROPES",0
|
||
.even
|
||
#gen_tip2a
|
||
.string "USING AWAY-AWAY-POWERPUNCH.",0
|
||
.even
|
||
#gen_tip3
|
||
.string "WHEN IN CLOSE TO YOUR OPPONENT",0
|
||
.even
|
||
#gen_tip3a
|
||
.string "USE AWAY-AWAY-PUNCH TO HIP TOSS HIM.",0
|
||
.even
|
||
#gen_tip4
|
||
.string "WHEN AN OPPONENT IS RUNNING AT YOU",0
|
||
.even
|
||
#gen_tip4a
|
||
.string "USE POWERPUNCH & AWAY TO FLING HIM.",0
|
||
.even
|
||
|
||
#gen_tip_table
|
||
.long #gen_tip1
|
||
.long #gen_tip1a
|
||
.long blank
|
||
.long #gen_tip2
|
||
.long #gen_tip2a
|
||
.long blank
|
||
.long #gen_tip3
|
||
.long #gen_tip3a
|
||
.long blank
|
||
.long #gen_tip4
|
||
.long #gen_tip4a
|
||
.long 0
|
||
|
||
|
||
#********************************************************
|
||
*
|
||
* Show General Gameplay tips
|
||
*
|
||
SUBRP show_gen_tips
|
||
|
||
movi hstd_mod,a0
|
||
calla SET_UP_PIXEL_WIPE
|
||
JSRP print_gen_tips
|
||
SLEEPK 1
|
||
JSRP BLOW_0_TO_1
|
||
calla RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC
|
||
|
||
movi 10*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi FLASH_PID,a0
|
||
calla KIL1C
|
||
|
||
movi CYCPID,a0
|
||
calla KIL1C
|
||
|
||
RETP
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* Show high score tables
|
||
*
|
||
|
||
SUBRP show_hstd
|
||
|
||
calla table_cmos_check ;make sure hscore CMOS is okay
|
||
|
||
movi hstd_mod,a0
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
movi 1,a5
|
||
|
||
JSRP print_inter
|
||
|
||
SLEEPK 1
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC/2
|
||
MOVE @starting_num,a9
|
||
DEC A9
|
||
move a9,@starting_num
|
||
CMPI INTER_TAB_ENTRIES-6,A9
|
||
JRLT SCROLL_TABLE_LOOP_2_I
|
||
MOVI INTER_TAB_ENTRIES-1,A9
|
||
move a9,@starting_num
|
||
|
||
SCROLL_TABLE_LOOP_2_I
|
||
clr a0
|
||
move a0,@not_blank
|
||
MOVK 4,A11
|
||
|
||
SCROLL_TABLE_LOOP_I
|
||
MOVI 36,A10
|
||
WAIT_ON_THOSE_BUTS_I
|
||
SLEEP 1
|
||
calla get_all_buttons_cur2
|
||
JRNZ JUST_WAIT_I
|
||
DSJS A10,WAIT_ON_THOSE_BUTS_I
|
||
PUSH A11
|
||
CALLA DELETE_ANY_OFF_TOP
|
||
PULL A11
|
||
sleep 1
|
||
MOVE @starting_num,a9
|
||
cmpi INTER_TAB_ENTRIES-1,a9
|
||
JRGE JUST_WAIT_I
|
||
DEC A11
|
||
JRZ DELAY_SCROLL_I
|
||
BACK_IN_AGAIN_I
|
||
inc a9
|
||
move a9,@starting_num
|
||
PUSH A11
|
||
CALLA draw_each_inter_table_entry
|
||
CALLA MOVE_ALL_OBJS_UP
|
||
PULL A11
|
||
MOVI 34,A10
|
||
jruc WAIT_ON_THOSE_BUTS_I
|
||
|
||
DELAY_SCROLL_I
|
||
MOVK 3,A11
|
||
SLEEP 15H ;scroll last three off
|
||
PUSH A11
|
||
CALLA STOP_ALL_OBJS
|
||
PULL A11
|
||
MOVI 85,A8
|
||
MORE_WAITING_I
|
||
SLEEP 1 ;delay on each three displayed
|
||
calla get_all_buttons_cur2
|
||
JRNZ JUST_WAIT_I
|
||
DSJS A8,MORE_WAITING_I
|
||
move @not_blank,a0
|
||
jrnz JUST_WAIT_I
|
||
clr a0
|
||
JRUC BACK_IN_AGAIN_I
|
||
|
||
JUST_WAIT_I
|
||
|
||
CALLA STOP_ALL_OBJS
|
||
movi 5*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
MOVI FLASH_PID,A0
|
||
CLR A1
|
||
NOT A1
|
||
CALLA KILALL
|
||
|
||
*********************************************************************************
|
||
movi hstd_mod,a0
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
movi 1,a5
|
||
|
||
JSRP print_beaten
|
||
|
||
SLEEPK 1
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC/2
|
||
MOVE @starting_num,a9
|
||
DEC A9
|
||
move a9,@starting_num
|
||
CMPI BEATEN_TAB_ENTRIES-6,A9
|
||
JRLT SCROLL_TABLE_LOOP_2
|
||
MOVI BEATEN_TAB_ENTRIES-1,A9
|
||
move a9,@starting_num
|
||
|
||
SCROLL_TABLE_LOOP_2
|
||
clr a0
|
||
move a0,@not_blank
|
||
MOVK 4,A11
|
||
|
||
SCROLL_TABLE_LOOP
|
||
MOVI 36,A10
|
||
WAIT_ON_THOSE_BUTS
|
||
SLEEP 1
|
||
calla get_all_buttons_cur2
|
||
JRNZ JUST_WAIT
|
||
DSJS A10,WAIT_ON_THOSE_BUTS
|
||
PUSH A11
|
||
CALLA DELETE_ANY_OFF_TOP
|
||
PULL A11
|
||
sleep 1
|
||
MOVE @starting_num,a9
|
||
cmpi BEATEN_TAB_ENTRIES-1,a9
|
||
JRGE JUST_WAIT
|
||
DEC A11
|
||
JRZ DELAY_SCROLL
|
||
BACK_IN_AGAIN
|
||
inc a9
|
||
move a9,@starting_num
|
||
PUSH A11
|
||
CALLA draw_each_beaten_table_entry
|
||
CALLA MOVE_ALL_OBJS_UP
|
||
PULL A11
|
||
MOVI 34,A10
|
||
jruc WAIT_ON_THOSE_BUTS
|
||
|
||
DELAY_SCROLL
|
||
MOVK 3,A11
|
||
SLEEP 15H ;scroll last three off
|
||
PUSH A11
|
||
CALLA STOP_ALL_OBJS
|
||
PULL A11
|
||
MOVI 85,A8
|
||
MORE_WAITING
|
||
SLEEP 1 ;delay on each three displayed
|
||
calla get_all_buttons_cur2
|
||
JRNZ JUST_WAIT
|
||
DSJS A8,MORE_WAITING
|
||
move @not_blank,a0
|
||
jrnz JUST_WAIT
|
||
clr a0
|
||
JRUC BACK_IN_AGAIN
|
||
|
||
JUST_WAIT
|
||
|
||
CALLA STOP_ALL_OBJS
|
||
movi 5*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
MOVI FLASH_PID,A0
|
||
CLR A1
|
||
NOT A1
|
||
CALLA KILALL
|
||
|
||
***********************
|
||
movi hstd_mod,a0
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
JSRP print_tag
|
||
|
||
SLEEPK 1
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC/2
|
||
movi 5*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
***********************
|
||
movi hstd_mod,a0
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
JSRP print_hscores
|
||
|
||
SLEEPK 1
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC/2
|
||
movi 5*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
MOVI hstd_mod,A0
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
JSRP print_winstreaks
|
||
|
||
SLEEPK 1
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP TSEC/2
|
||
movi 5*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
RETP
|
||
|
||
hstd_mod
|
||
.long slateBMOD
|
||
.word 0,0
|
||
.long 0
|
||
|
||
.if 1
|
||
|
||
rule_str
|
||
JAM_STR osgmd8_ascii,6,0,200,225,SGMD8WHT,print_string_C2
|
||
.string "{WE MAKE THE GAMES THAT MAKE THE INDUSTRY}",0
|
||
.even
|
||
|
||
|
||
SUBRP show_sports_logo
|
||
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
SLEEPK 2
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
MOVI logo_mod,A0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
movi rule_str,a2
|
||
calla print_message
|
||
|
||
MOVI LOGO_LIST,A9
|
||
|
||
MOVI [200,0],A0
|
||
MOVI [118,0],A1
|
||
|
||
move *a9+,a2,L
|
||
MOVI 1000,a3
|
||
movi DMAWNZ|M_SCRNREL,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
|
||
CALLR LOGO_CREATLOOP
|
||
|
||
SLEEPK 1
|
||
clr a10
|
||
movk 8,a11
|
||
CREATE FADE_PID,fade_up
|
||
|
||
movk 1,a0
|
||
move a0,@DISPLAYON
|
||
|
||
calla display_unblank
|
||
|
||
SLEEPK 32
|
||
CREATE WATER_PID,MOVE_BACK_OFF_SCREEN
|
||
|
||
SLEEP TSEC/2
|
||
movi 8*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi WATER_PID,a0
|
||
clr a1
|
||
not a1
|
||
calla KILALL
|
||
|
||
RETP
|
||
|
||
LOGO_CREATLOOP
|
||
PUSH a0,a1,a3,a4,a5,a6,a7
|
||
calla BEGINOBJ
|
||
PULL a0,a1,a3,a4,a5,a6,a7
|
||
move *a9+,a2,L
|
||
jrnz LOGO_CREATLOOP
|
||
RETS
|
||
|
||
logo_mod
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*0),400*0
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*1),400*1
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*2),400*2
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*3),400*3
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*4),400*4
|
||
.long SPORTBKBMOD
|
||
.word -400-(400*5),400*5
|
||
.LONG 0
|
||
|
||
LOGO_LIST
|
||
.LONG SPRTLG01
|
||
.LONG SPRTLG02
|
||
.LONG SPRTLG03
|
||
.LONG SPRTLG04
|
||
.LONG SPRTLG05
|
||
.LONG SPRTLG06
|
||
.LONG SPRTLG07
|
||
.LONG SPRTLG08
|
||
.LONG SPRTLG09
|
||
.LONG SPRTLG10
|
||
.LONG SPRTLG11
|
||
.LONG SPRTLG12
|
||
.LONG SPRTLG13
|
||
.LONG SPRTLG14
|
||
.LONG SPRTLG15
|
||
.LONG SPRTLG16
|
||
.LONG SPRTLG17
|
||
.LONG 0
|
||
|
||
|
||
MOVE_BACK_OFF_SCREEN
|
||
|
||
MOVE @WORLDTLX,A0,L
|
||
SUBI [2,0],A0
|
||
MOVE A0,@WORLDTLX,L
|
||
|
||
MOVE @WORLDTLY,A0,L
|
||
ADDI [2,0],A0
|
||
MOVE A0,@WORLDTLY,L
|
||
|
||
CALLA BGND_UD1
|
||
|
||
SLOOP 1,MOVE_BACK_OFF_SCREEN
|
||
|
||
|
||
; SUBRP show_big_wwf_title
|
||
;
|
||
; calla display_blank
|
||
; calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
;
|
||
; clr a0
|
||
; move a0,@HALT
|
||
; move a0,@dtype ;2d mode
|
||
; move a0,@IRQSKYE
|
||
;
|
||
; movk 1,a0 ;page flipping on
|
||
; move a0,@dpageflip
|
||
;
|
||
; SLEEPK 2
|
||
;
|
||
; movi SCRNEND,a0 ;[256,405]
|
||
; move a0,@SCRNLR,L
|
||
;
|
||
; clr a0
|
||
; move a0,@WORLDTLX,L
|
||
; move a0,@WORLDTLY,L
|
||
;
|
||
; movi #big_wwf_mod,a0
|
||
; move a0,@BAKMODS,L
|
||
; calla BGND_UD1 ;create objects for background
|
||
;
|
||
; SLEEPK 2
|
||
;
|
||
; calla display_unblank
|
||
;
|
||
; SLEEP TSEC/2
|
||
; movi 10*TSEC,a10
|
||
; JSRP wait_on_butn
|
||
;
|
||
; retp
|
||
;
|
||
;#big_wwf_mod
|
||
; .long bigwwfBMOD
|
||
; .word 0,0
|
||
; .long 0
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* Show lava title page
|
||
*
|
||
|
||
SUBRP show_title
|
||
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
SLEEPK 2
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
movi #title_mod,a0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
SLEEPK 2
|
||
|
||
calla display_unblank
|
||
|
||
|
||
CREATE CYCPID,#cycle_lava
|
||
|
||
|
||
MOVI [102,7],A8
|
||
MOVI WHERE_WRESTLMANIA_SPARKLES,A10
|
||
MOVK 4,A9
|
||
CREATE FLASH_PID,SPRINKLE_GLINTS
|
||
|
||
CREATE ATTRACT_ANIMPID,RANDOM_SPARKLE
|
||
|
||
SLEEP TSEC/2
|
||
movi 10*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi CYCPID,a0
|
||
calla KIL1C
|
||
MOVI FLASH_PID,A0
|
||
calla KIL1C
|
||
MOVI ATTRACT_ANIMPID,A0
|
||
calla KIL1C
|
||
|
||
RETP
|
||
|
||
|
||
SUBRP show_title2
|
||
|
||
CREATE CYCPID,#cycle_lava
|
||
|
||
SLEEP TSEC/2
|
||
movi 8*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi CYCPID,a0
|
||
calla KIL1C
|
||
|
||
;fade down
|
||
clr a10
|
||
movk 16,a11
|
||
CREATE FADE_PID,fade_down
|
||
|
||
SLEEP TSEC
|
||
|
||
calla display_blank
|
||
|
||
RETP
|
||
|
||
#title_mod
|
||
.long NTITLESCBMOD
|
||
.word 0,0
|
||
.long 0
|
||
|
||
#cycle_lava
|
||
movi #cyc_t,a9
|
||
#lp0
|
||
move *a9+,a0,L
|
||
|
||
calla pal_getf
|
||
move a0,a8 ;Pal thats needs changing
|
||
|
||
move *a9,a0,L
|
||
jrz #cycle_lava
|
||
|
||
calla pal_getf
|
||
move a0,a11 ;Pal to change into
|
||
|
||
movi BAKLST,a14
|
||
#lp
|
||
move *a14,a14,L
|
||
jrz #x
|
||
move *a14(OPAL),a2
|
||
cmp a8,a2
|
||
jrne #lp
|
||
;Found matching pal
|
||
move a11,*a14(OPAL)
|
||
jruc #lp
|
||
|
||
#x SLEEP 5
|
||
jruc #lp0
|
||
|
||
#cyc_t .long LAVA1_P
|
||
.long LAVA2_P
|
||
.long LAVA3_P
|
||
.long LAVA4_P
|
||
.long LAVA5_P
|
||
.long LAVA6_P
|
||
.long LAVA7_P
|
||
.long LAVA8_P
|
||
.long LAVA10_P
|
||
.long LAVA10_P
|
||
.long LAVA10_P
|
||
; .long LAVA9_P
|
||
.long LAVA10_P
|
||
.long LAVA8_P
|
||
.long LAVA7_P
|
||
.long LAVA6_P
|
||
.long LAVA5_P
|
||
.long LAVA4_P
|
||
.long LAVA3_P
|
||
.long LAVA2_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long LAVA1_P
|
||
.long 0
|
||
|
||
.endif
|
||
|
||
|
||
;Keep this code around
|
||
;#*****************************************************************************
|
||
;*
|
||
;* Show WWF logo
|
||
;
|
||
; SUBRP show_big_wwf_logo_screen_thingie
|
||
;
|
||
; calla display_blank
|
||
; calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
;
|
||
; clr a0
|
||
; move a0,@HALT
|
||
; move a0,@dtype ;2d mode
|
||
; move a0,@IRQSKYE
|
||
;
|
||
; movk 1,a0 ;page flipping on
|
||
; move a0,@dpageflip
|
||
;
|
||
; SLEEPK 2
|
||
;
|
||
; movi SCRNEND,a0 ;[256,405]
|
||
; move a0,@SCRNLR,L
|
||
;
|
||
; clr a0
|
||
; move a0,@WORLDTLX,L
|
||
; move a0,@WORLDTLY,L
|
||
;
|
||
; movi #blank_mod,a0
|
||
; move a0,@BAKMODS,L
|
||
; calla BGND_UD1 ;create objects for background
|
||
;
|
||
; SLEEPK 2
|
||
;
|
||
; calla display_unblank
|
||
;
|
||
; SLEEPK 10
|
||
;
|
||
; movi #logo_mod,a0
|
||
; CALLA SET_UP_PIXEL_WIPE
|
||
;
|
||
; SLEEPK 1
|
||
;
|
||
; JSRP BLOW_0_TO_1
|
||
;
|
||
;
|
||
; SLEEP TSEC/2
|
||
; movi 8*TSEC,a10
|
||
; JSRP wait_on_butn
|
||
;
|
||
;;fade down
|
||
; clr a10
|
||
; movk 16,a11
|
||
; CREATE0 fade_down
|
||
;
|
||
; SLEEP TSEC
|
||
;
|
||
; calla display_blank
|
||
;
|
||
; RETP
|
||
;
|
||
;#logo_mod
|
||
; .long comesoonBMOD
|
||
; .word 0,0
|
||
; .long 0
|
||
;#blank_mod
|
||
; .long wwfblankBMOD
|
||
; .word 0,0
|
||
; .long 0
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* Show wrestler bios
|
||
*
|
||
.bss next_bio,16
|
||
|
||
SUBRP show_bios
|
||
|
||
movi #bio_mod,a0
|
||
SUBRP show_bios_tips
|
||
CALLA SET_UP_PIXEL_WIPE
|
||
|
||
movb @next_bio,a10
|
||
andi 00001111b,a10
|
||
inc a10
|
||
cmpi 8,a10
|
||
jrlt #in_range
|
||
clr a10
|
||
#in_range
|
||
|
||
;draw the logo
|
||
PUSH a10
|
||
movb a10,@next_bio
|
||
|
||
|
||
MOVI 018h,a3
|
||
MOVI 00bh,a4
|
||
MOVI #bio_logos,a5
|
||
clr a7
|
||
|
||
CALLR MAKE_UP_LOGO
|
||
|
||
;draw the mugshot
|
||
PULL a10
|
||
PUSH a10
|
||
X32 a10
|
||
addi wrestler_mugs2,a10
|
||
move *a10,a9,L
|
||
movi [017ah,0],a0
|
||
movi [0Afh,0],a1
|
||
|
||
move *a9+,a2,L
|
||
clr a3
|
||
movi DMAWNZ|M_FLIPH,a4
|
||
movi CLSNEUT,a5
|
||
clr a6
|
||
clr a7
|
||
|
||
#mugcreatloop
|
||
PUSH a0,a1,a3,a4,a5,a6,a7
|
||
calla BEGINOBJ
|
||
PULL a0,a1,a3,a4,a5,a6,a7
|
||
move *a9+,a2,L
|
||
jrnz #mugcreatloop
|
||
|
||
|
||
.ref wrestler_attributes,attbars
|
||
;attributes
|
||
movi [0ffh,0],a0
|
||
movi [0aeh,0],a1
|
||
; movi ATTPL_G,a2
|
||
; movi 10,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
clr a6
|
||
clr a7
|
||
; PUSH a0,a1,a4,a5,a6,a7
|
||
; calla BEGINOBJ
|
||
; PULL a0,a1,a4,a5,a6,a7
|
||
; subi 2,a1
|
||
movi ATT_TXT,a2
|
||
movk 11,a3
|
||
PUSH a0,a1
|
||
calla BEGINOBJ
|
||
PULL a0,a1
|
||
|
||
|
||
;attribute bars
|
||
PULL a10
|
||
PUSH a10
|
||
addi [61,0],a0
|
||
addi [12,0],a1
|
||
movi ATTMTR_0,a2
|
||
movi 11,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
clr a6
|
||
clr a7
|
||
|
||
movi 4,a9 ;bar count
|
||
X64 a10
|
||
addi wrestler_attributes,a10
|
||
|
||
#abc_loop
|
||
PUSH a0,a1,a3,a4,a5,a6,a7
|
||
move *a10+,a2,W
|
||
X32 a2
|
||
addi attbars,a2
|
||
move *a2,a2,L
|
||
calla BEGINOBJ
|
||
PULL a0,a1,a3,a4,a5,a6,a7
|
||
addi [8,0],a1
|
||
dsj a9,#abc_loop
|
||
|
||
move @bios_type,a14
|
||
jrnz show_wres_tips
|
||
|
||
;print the bio text
|
||
;a11 becomes the halfwidth for current wrestler
|
||
|
||
PULL a10
|
||
PUSH a10
|
||
X32 a10
|
||
addi #bio_data,a10
|
||
move *a10,a10,L
|
||
move *a10+,a11,W
|
||
|
||
movi 20,a14
|
||
move a14,@mess_line_spacing
|
||
|
||
; movi #bio_setup1,a2
|
||
; calla setup_message
|
||
; movi #bio_center,a14
|
||
; sub a11,a14
|
||
; move a14,@mess_cursx
|
||
; movi #bio_message1,a4
|
||
; calla print_string2
|
||
;
|
||
; movi #bio_setup2,a2
|
||
; calla setup_message
|
||
; movi #bio_center,a14
|
||
; sub a11,a14
|
||
; move a14,@mess_cursx
|
||
; movi #bio_message2,a4
|
||
; calla print_string2
|
||
;
|
||
|
||
movi #bio_setup1,a2
|
||
calla setup_message
|
||
|
||
;from text
|
||
movi #bio_y,a14
|
||
move a14,@mess_cursy
|
||
movi #bio_center,a14
|
||
move a14,@mess_cursx
|
||
|
||
move *a10+,a4,L
|
||
calla print_string2
|
||
|
||
;weight
|
||
|
||
movi #bio_y+50,a14
|
||
move a14,@mess_cursy
|
||
movi #bio_center,a14
|
||
addi 16,a14
|
||
move a14,@mess_cursx
|
||
|
||
move *a10+,a0,W
|
||
movi 999,a1
|
||
calla dec_to_asc
|
||
calla copy_string
|
||
calla print_string
|
||
|
||
movi wsf10_ascii,a0
|
||
move a0,@message_ascii,L
|
||
movi #pounds,a4
|
||
movi #bio_y+54,a14
|
||
move a14,@mess_cursy
|
||
move @mess_cursx2,a0
|
||
move a0,@mess_cursx
|
||
calla print_string2
|
||
|
||
;height
|
||
movi #bio_y+25,a14
|
||
move a14,@mess_cursy
|
||
movi #bio_center,a14
|
||
addi 8,a14
|
||
move a14,@mess_cursx
|
||
|
||
movi wsf14_ascii,a0
|
||
move a0,@message_ascii,L
|
||
move *a10+,a0,W
|
||
movi 999,a1
|
||
calla dec_to_asc
|
||
calla copy_string
|
||
calla print_string
|
||
|
||
movi wsf10_ascii,a0
|
||
move a0,@message_ascii,L
|
||
movi #feet,a4
|
||
move @mess_cursx2,a0
|
||
move a0,@mess_cursx
|
||
movi #bio_y+29,a14
|
||
move a14,@mess_cursy
|
||
calla print_string2
|
||
|
||
movi wsf14_ascii,a0
|
||
move a0,@message_ascii,L
|
||
move *a10+,a0,W
|
||
movi 999,a1
|
||
calla dec_to_asc
|
||
calla copy_string
|
||
movi #bio_y+25,a14
|
||
move a14,@mess_cursy
|
||
move @mess_cursx2,a0
|
||
move a0,@mess_cursx
|
||
calla print_string
|
||
|
||
movi wsf10_ascii,a0
|
||
move a0,@message_ascii,L
|
||
movi #inches,a4
|
||
movi #bio_y+29,a14
|
||
move a14,@mess_cursy
|
||
move @mess_cursx2,a0
|
||
move a0,@mess_cursx
|
||
calla print_string2
|
||
|
||
|
||
;quote
|
||
movi #bio_y+96+4,a14
|
||
move a14,@mess_cursy
|
||
movi #bio_center,a14
|
||
addk 15,a14
|
||
move a14,@mess_cursx
|
||
movk 14,a14
|
||
move a14,@mess_line_spacing
|
||
move *a10+,a4,L
|
||
calla print_string_C2
|
||
|
||
;music
|
||
PULL a10
|
||
no_attr
|
||
|
||
MOVE @AMODE_LOOPS,A0
|
||
CMPI 2,A0
|
||
JRGE NO_MUSIC
|
||
|
||
ADJUST ADJMUSIC
|
||
JRNZ NO_MUSIC
|
||
|
||
X16 a10
|
||
addi #wrestler_tunes,a10
|
||
move *a10,a3,L
|
||
.if MUSIC_ON
|
||
calla SNDSND
|
||
.endif
|
||
NO_MUSIC
|
||
|
||
JSRP BLOW_0_TO_1
|
||
|
||
CALLA RESET_FROM_PIXEL_WIPE
|
||
|
||
SLEEP 2*TSEC
|
||
|
||
movi 6*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
RETP
|
||
|
||
wt_line1_setup
|
||
JAM_STR ogmd10_ascii,6,0,10,90,SGMD8YEL,print_string
|
||
.even
|
||
wt_title_setup
|
||
JAM_STR ogmd10_ascii,6,0,135,95,SGMD8RED,print_string_C2
|
||
.string "SPECIAL MOVES"
|
||
.byte 0,0
|
||
.even
|
||
|
||
blank
|
||
.byte 0
|
||
.even
|
||
|
||
bret_tip1
|
||
.string "CHARGE POWERPUNCH 2 SEC.",0
|
||
.even
|
||
bret_tip1a
|
||
.string "TO DO A DDT.",0
|
||
.even
|
||
bret_tip2
|
||
.string "DOWN-DOWN-PUNCH TO DO",0
|
||
.even
|
||
bret_tip2a
|
||
.string "A SUPER UPPERCUT.",0
|
||
.even
|
||
bret_tip3
|
||
.string "CHARGE POWERKICK 2 SEC",0
|
||
.even
|
||
bret_tip3a
|
||
.string "TO DO A FLYING KICK.",0
|
||
.even
|
||
|
||
bret_tips
|
||
.long bret_tip1
|
||
.long bret_tip1a
|
||
.long blank
|
||
.long bret_tip2
|
||
.long bret_tip2a
|
||
.long blank
|
||
.long bret_tip3
|
||
.long bret_tip3a
|
||
.long 0
|
||
|
||
|
||
razor_tip1
|
||
.string "CHARGE POWERKICK 2 SEC.",0
|
||
.even
|
||
razor_tip1a
|
||
.string "TO DO A FLYING KICK.",0
|
||
.even
|
||
razor_tip2
|
||
.string "1/4 CIRCLE D,DT,T - PUNCH",0
|
||
.even
|
||
razor_tip2a
|
||
.string "DOES DOWN SLASHES.",0
|
||
.even
|
||
razor_tip3
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
razor_tip3a
|
||
.string "TO DO SLASHES.",0
|
||
.even
|
||
|
||
razor_tips
|
||
.long razor_tip1
|
||
.long razor_tip1a
|
||
.long blank
|
||
.long razor_tip2
|
||
.long razor_tip2a
|
||
.long blank
|
||
.long razor_tip3
|
||
.long razor_tip3a
|
||
.long 0
|
||
|
||
taker_tip1
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
taker_tip1a
|
||
.string "TO DO A NECKBREAKER.",0
|
||
.even
|
||
taker_tip2
|
||
.string "TOWARD-TOWARD-POWERKICK",0
|
||
.even
|
||
taker_tip2a
|
||
.string "DOES A TOMBSTONE SMASH.",0
|
||
.even
|
||
taker_tip3
|
||
.string "1/4 CIRCLE D,DT,T - PUNCH",0
|
||
.even
|
||
taker_tip3a
|
||
.string "DOES A SLIDING CHOKE HOLD.",0
|
||
.even
|
||
|
||
taker_tips
|
||
.long taker_tip1
|
||
.long taker_tip1a
|
||
.long blank
|
||
.long taker_tip2
|
||
.long taker_tip2a
|
||
.long blank
|
||
.long taker_tip3
|
||
.long taker_tip3a
|
||
.long 0
|
||
|
||
|
||
yoko_tip1
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
yoko_tip1a
|
||
.string "TO DO A SALT THROW.",0
|
||
.even
|
||
yoko_tip2
|
||
.string "TOWARD-TOWARD-PUNCH",0
|
||
.even
|
||
yoko_tip2a
|
||
.string "DOES A GUT PUSH.",0
|
||
.even
|
||
yoko_tip3
|
||
.string "TOWARD-TOWARD-POWERKICK",0
|
||
.even
|
||
yoko_tip3a
|
||
.string "DOES A SCISSORS.",0
|
||
.even
|
||
|
||
yoko_tips
|
||
.long yoko_tip1
|
||
.long yoko_tip1a
|
||
.long blank
|
||
.long yoko_tip2
|
||
.long yoko_tip2a
|
||
.long blank
|
||
.long yoko_tip3
|
||
.long yoko_tip3a
|
||
.long 0
|
||
|
||
|
||
shawn_tip1
|
||
.string "CHARGE POWERKICK 2 SEC.",0
|
||
.even
|
||
shawn_tip1a
|
||
.string "TO DO A FLYING KICK",0
|
||
.even
|
||
shawn_tip2
|
||
.string "TOWARD-TOWARD-POWERKICK",0
|
||
.even
|
||
shawn_tip2a
|
||
.string "DOES A FRANKENSTEINER.",0
|
||
.even
|
||
shawn_tip3
|
||
.string "TOWARD-TOWARD-KICK DOES",0
|
||
.even
|
||
shawn_tip3a
|
||
.string "A SLIDING KICKTOSS.",0
|
||
.even
|
||
|
||
shawn_tips
|
||
.long shawn_tip1
|
||
.long shawn_tip1a
|
||
.long blank
|
||
.long shawn_tip2
|
||
.long shawn_tip2a
|
||
.long blank
|
||
.long shawn_tip3
|
||
.long shawn_tip3a
|
||
.long 0
|
||
|
||
|
||
bam_tip1
|
||
.string "AWAY-AWAY-POWERKICK",0
|
||
.even
|
||
bam_tip1a
|
||
.string "DOES A JUMP KICK.",0
|
||
.even
|
||
bam_tip2
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
bam_tip2a
|
||
.string "TO DO A FIREPUNCH.",0
|
||
.even
|
||
bam_tip3
|
||
.string "CHARGE POWERPUNCH 2 SEC",0
|
||
.even
|
||
bam_tip3a
|
||
.string "TO DO A NECKBREAKER.",0
|
||
.even
|
||
|
||
bam_tips
|
||
.long bam_tip1
|
||
.long bam_tip1a
|
||
.long blank
|
||
.long bam_tip2
|
||
.long bam_tip2a
|
||
.long blank
|
||
.long bam_tip3
|
||
.long bam_tip3a
|
||
.long 0
|
||
|
||
|
||
doink_tip1
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
doink_tip1a
|
||
.string "TO DO A JOY BUZZER.",0
|
||
.even
|
||
doink_tip2
|
||
.string "TOWARD-TOWARD-POWERKICK",0
|
||
.even
|
||
doink_tip2a
|
||
.string "DOES A HAPPY HAMMER.",0
|
||
.even
|
||
doink_tip3
|
||
.string "SEVEN RAPID PUNCHES DOES",0
|
||
.even
|
||
doink_tip3a
|
||
.string "A BOXING PUNCH.",0
|
||
|
||
doink_tips
|
||
.long doink_tip1
|
||
.long doink_tip1a
|
||
.long blank
|
||
.long doink_tip2
|
||
.long doink_tip2a
|
||
.long blank
|
||
.long doink_tip3
|
||
.long doink_tip3a
|
||
.long 0
|
||
|
||
|
||
lex_tip1
|
||
.string "CHARGE PUNCH 2 SECONDS",0
|
||
.even
|
||
lex_tip1a
|
||
.string "TO DO A CLOBBER.",0
|
||
.even
|
||
lex_tip2
|
||
.string "TOWARD-TOWARD-PUNCH",0
|
||
.even
|
||
lex_tip2a
|
||
.string "DOES A SLIDING ELBOW.",0
|
||
.even
|
||
lex_tip3
|
||
.string "TOWARD-TOWARD-POWERKICK",0
|
||
.even
|
||
lex_tip3a
|
||
.string "DOES A HAMMER BLOW.",0
|
||
.even
|
||
|
||
lex_tips
|
||
.long lex_tip1
|
||
.long lex_tip1a
|
||
.long blank
|
||
.long lex_tip2
|
||
.long lex_tip2a
|
||
.long blank
|
||
.long lex_tip3
|
||
.long lex_tip3a
|
||
.long 0
|
||
|
||
wrestler_tips
|
||
.long bret_tips
|
||
.long razor_tips
|
||
.long taker_tips
|
||
.long yoko_tips
|
||
.long shawn_tips
|
||
.long bam_tips
|
||
.long doink_tips
|
||
.long lex_tips
|
||
|
||
SUBRP show_wres_tips
|
||
|
||
movi wt_title_setup,a2
|
||
calla print_message
|
||
|
||
PULL a10 ; This is the wrestler number (0-7)
|
||
|
||
move a10,a1
|
||
X32 a1
|
||
addi wrestler_tips,a1
|
||
movi 120,a3
|
||
move *a1,a1,L
|
||
swt_loop
|
||
move *a1+,a4,L
|
||
jrz no_attr
|
||
PUSHP a1,a3
|
||
calla copy_rom_string
|
||
movi wt_line1_setup,a2
|
||
calla setup_message
|
||
move a3,@mess_cursy
|
||
calla print_string
|
||
PULLP a1,a3
|
||
addk 15,a3
|
||
jruc swt_loop
|
||
|
||
|
||
SUBR MAKE_UP_LOGO
|
||
X64 a10
|
||
add A5,a10
|
||
move *a10+,a9,L
|
||
move *a10+,a0,W
|
||
move *a10,a1,W
|
||
add A3,a0
|
||
add A4,a1
|
||
sll 16,a0
|
||
sll 16,a1
|
||
|
||
move *a9+,a2,L
|
||
clr a3
|
||
movi DMAWNZ|M_SCRNREL,a4
|
||
movi CLSNEUT,a5
|
||
clr a6
|
||
|
||
#creatloop
|
||
MOVE A8,A10
|
||
PUSH a0,a1,a3,a4,a5,a6,a7
|
||
calla BEGINOBJ
|
||
PULL a0,a1,a3,a4,a5,a6,a7
|
||
move *a9+,a2,L
|
||
jrnz #creatloop
|
||
RETS
|
||
|
||
|
||
#bio_center .equ 100
|
||
#bio_halfwidth .equ 87
|
||
|
||
#bio_y .equ 106
|
||
|
||
;#bio_setup1
|
||
; JAM_STR osgmd8_ascii,5,0,0,#bio_y,SGMD8YEL,print_string2
|
||
;#bio_message1
|
||
; .byte "FROM:",1,"WEIGHT:",1,"HEIGHT:",1,"FINISHING",0
|
||
; .even
|
||
;
|
||
;#bio_setup2
|
||
; JAM_STR osgmd8_ascii,5,0,0,#bio_y+71,SGMD8YEL,print_string2
|
||
;#bio_message2
|
||
; .byte "MOVE:",0
|
||
; .even
|
||
|
||
;FIX!!
|
||
.even
|
||
#bio_setup1
|
||
JAM_STR wsf14_ascii,6,0,0,#bio_y+75,WSF_Y_P,print_string2
|
||
.even
|
||
;#bio_setup2
|
||
; JAM_STR wsf10_ascii,6,10,0,#bio_y+75,WSF_Y_P,print_string2
|
||
; .even
|
||
|
||
#pounds
|
||
.byte " LBS.",0
|
||
.even
|
||
|
||
#feet
|
||
.byte " FT. ",0
|
||
.even
|
||
|
||
#inches
|
||
.byte " IN.",0
|
||
.even
|
||
|
||
#bio_data
|
||
.long #bhart_data,#razor_data,#taker_data,#yoko_data,#shawn_data
|
||
.long #bambam_data,#doink_data,#luger_data
|
||
|
||
#bhart_data
|
||
.word 79 ;halfwidth
|
||
.long #bhart_fromstr ;from
|
||
.word 234,6,1 ;pounds, feet, inches
|
||
.long #bhart_quote ;quote text
|
||
|
||
#razor_data
|
||
.word 77 ;halfwidth
|
||
.long #razor_fromstr ;from
|
||
.word 262,6,7 ;pounds, feet, inches
|
||
.long #razor_quote ;quote text
|
||
|
||
#taker_data
|
||
.word 78 ;halfwidth
|
||
.long #taker_fromstr ;from
|
||
.word 322,6,11 ;pounds, feet, inches
|
||
.long #taker_quote ;quote text
|
||
|
||
#yoko_data
|
||
.word 78 ;halfwidth
|
||
.long #yoko_fromstr ;from
|
||
.word 568,6,4 ;pounds, feet, inches
|
||
.long #yoko_quote ;quote text
|
||
|
||
#shawn_data
|
||
.word 78 ;halfwidth
|
||
.long #shawn_fromstr ;from
|
||
.word 235,6,1 ;pounds, feet, inches
|
||
.long #shawn_quote ;quote text
|
||
|
||
#bambam_data
|
||
.word 78 ;halfwidth
|
||
.long #bambam_fromstr ;from
|
||
.word 400,6,4 ;pounds, feet, inches
|
||
.long #bambam_quote ;quote text
|
||
|
||
#doink_data
|
||
.word 78 ;halfwidth
|
||
.long #doink_fromstr ;from
|
||
.word 243,6,0 ;pounds, feet, inches
|
||
.long #doink_quote ;quote text
|
||
|
||
#luger_data
|
||
.word 81 ;halfwidth
|
||
.long #luger_fromstr ;from
|
||
.word 270,6,4 ;pounds, feet, inches
|
||
.long #luger_quote ;quote text
|
||
|
||
#bhart_fromstr
|
||
; .byte "CALGARY, ALBERTA",0 ;Too long
|
||
.byte "CALGARY",0
|
||
.even
|
||
#razor_fromstr
|
||
.byte "MIAMI, FLORIDA",0
|
||
.even
|
||
#taker_fromstr
|
||
.byte "DEATH VALLEY",0
|
||
.even
|
||
#yoko_fromstr
|
||
.byte "TOKYO, JAPAN",0
|
||
.even
|
||
#shawn_fromstr
|
||
.byte "SAN ANTONIO, TX",0
|
||
.even
|
||
#bambam_fromstr
|
||
.byte "ASBURY PARK, NJ",0
|
||
.even
|
||
#doink_fromstr
|
||
.byte "THE CIRCUS",0
|
||
.even
|
||
#luger_fromstr
|
||
.byte "ATLANTA, GA",0
|
||
.even
|
||
|
||
|
||
|
||
|
||
#bhart_quote
|
||
.byte "{I AM THE EXCELLENCE",1,"OF EXECUTION.}",0
|
||
.even
|
||
#razor_quote
|
||
.byte "{TAKE A LOOK AT",1,"THE BAD GUY.}",0
|
||
.even
|
||
#taker_quote
|
||
.byte "{REST IN PEACE}",0
|
||
.even
|
||
#yoko_quote
|
||
.byte "{BANZAI !!!}",0
|
||
.even
|
||
#shawn_quote
|
||
.byte "{I'M THE GREATEST THING",1,"GOING ON GOD'S GREEN EARTH.}",0
|
||
.even
|
||
#bambam_quote
|
||
.byte "{I'M THE BEAST",1,"FROM THE EAST!",0
|
||
.even
|
||
#doink_quote
|
||
.byte "{LIFE'S A JOKE!",0
|
||
#luger_quote
|
||
.byte "{LEX LUGER IS THE",1,"ALL AMERICAN HERO}",0
|
||
.even
|
||
|
||
#bio_mod
|
||
.long biopageBMOD ;wrestler bios
|
||
; .long slateBMOD ;wrestler bios
|
||
.word 0,0
|
||
.long 0
|
||
|
||
#bio_logos
|
||
LWW #bhart_logo,15,9
|
||
LWW #razor_logo,16,9
|
||
LWW #under_logo,17,9
|
||
LWW #yoko_logo,20,7
|
||
LWW #michael_logo,18,8
|
||
LWW #bambam_logo,18,7
|
||
LWW #doink_logo,24,8
|
||
LWW #luger_logo,10,7
|
||
|
||
#bhart_logo
|
||
.long HRT3,0
|
||
#razor_logo
|
||
.long RZR3,0
|
||
#under_logo .long UND3,0
|
||
#yoko_logo
|
||
.long YOK3,0
|
||
#michael_logo
|
||
.long SHN3,0
|
||
#bambam_logo
|
||
.long BAM3,0
|
||
#doink_logo
|
||
.long DNK3,0
|
||
#luger_logo
|
||
.long LEX3,0
|
||
|
||
#wrestler_tunes
|
||
.word 5,2,1,7,6,4,8,3
|
||
|
||
******************************************************************************
|
||
*
|
||
* A10 = # of ticks before timing out
|
||
|
||
SUBR wait_on_butn
|
||
|
||
#lp SLEEPK 1
|
||
|
||
calla get_all_buttons_cur2
|
||
jrz #nobutn
|
||
|
||
move @SOUNDSUP,a0
|
||
move a0,@TEMP
|
||
|
||
clr a0
|
||
move a0,@SOUNDSUP ;turn all sounds on
|
||
|
||
;set CMOS volume!
|
||
movi ADJVOLUME,a0
|
||
calla GET_ADJ
|
||
BADCHK a0,0,255,28 ;reg, lo, hi, val if bad
|
||
calla set_volume
|
||
|
||
movi >b6,a0
|
||
calla triple_sound
|
||
|
||
move @TEMP,a0
|
||
move a0,@SOUNDSUP ;turn all sounds off
|
||
jruc #exit
|
||
|
||
#nobutn
|
||
dsj a10,#lp
|
||
|
||
#exit
|
||
RETP
|
||
|
||
|
||
;#*****************************************************************************
|
||
;* play vid clips (test)
|
||
;
|
||
; SUBRP show_movie
|
||
;
|
||
;;bank select 0 bit is bit 8 of SYSCTRL register.
|
||
;
|
||
; calla display_blank
|
||
; calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
; calla pal_clean
|
||
;
|
||
; clr a0
|
||
; move a0,@HALT
|
||
; move a0,@dtype ;2d mode
|
||
; move a0,@IRQSKYE
|
||
;
|
||
; movk 1,a0 ;page flipping on
|
||
; move a0,@dpageflip
|
||
;
|
||
; SLEEPK 2
|
||
;
|
||
; movi SCRNEND,a0 ;[256,405]
|
||
; move a0,@SCRNLR,L
|
||
;
|
||
; clr a0
|
||
; move a0,@WORLDTLX,L
|
||
; move a0,@WORLDTLY,L
|
||
;
|
||
; movi #movie_mod,a0
|
||
; move a0,@BAKMODS,L
|
||
; calla BGND_UD1 ;create objects for background
|
||
;
|
||
; calla display_unblank
|
||
;
|
||
;;;;-> movi shnvid_f,a8
|
||
; clr a9
|
||
; movi (100+20*512)*8,a10
|
||
; JSRP movie_run
|
||
;
|
||
; clr a0
|
||
; move a0,@dpageflip ;kill the page-flipping!
|
||
;
|
||
; movi 6*TSEC,a10
|
||
; JAUC wait_on_butn
|
||
;
|
||
;#movie_mod
|
||
; .long slateBMOD ;wrestler bios
|
||
; .word 0,0
|
||
; .long 0
|
||
;
|
||
;
|
||
;#*****************************************************************************
|
||
;* print that big picture of 'vince'
|
||
;* leave up whatever was on screen until we're ready to make the switch
|
||
;
|
||
; SUBRP show_vince
|
||
;
|
||
; ;disable auto page flipping
|
||
; clr a14
|
||
; move a14,@dpageflip
|
||
;
|
||
; ;dump the pic to the draw (inactive) page
|
||
;;;;-> movi vinsml_f,a8
|
||
; clr a9
|
||
; movi (#vince_x+512*(#vince_y))*8,a10
|
||
; JSRP movie_run
|
||
;
|
||
; ;swap 'em...
|
||
; callr page_flip
|
||
;
|
||
; ;...and wait
|
||
; movi 6*TSEC,a10
|
||
; JSRP wait_on_butn
|
||
;
|
||
; ;fade down
|
||
; clr a10
|
||
; movk 16,a11
|
||
; CREATE0 fade_down
|
||
;
|
||
; SLEEP TSEC
|
||
;
|
||
; RETP
|
||
;
|
||
;
|
||
;#vince_x equ (400->186)/2
|
||
;#vince_y equ (256->F5)/2
|
||
|
||
|
||
#*****************************************************************************
|
||
* flips the active page
|
||
|
||
; SUBRP page_flip
|
||
;
|
||
; movi ->1004,a0
|
||
; move @dpage,a14
|
||
; jrz #tp1
|
||
; movi -4,a0
|
||
;#tp1
|
||
; move a0,@DPYSTRT
|
||
; move a0,@DPYADR
|
||
;
|
||
; move @dpage,a0
|
||
; not a0
|
||
; move a0,@dpage
|
||
;
|
||
; rets
|
||
|
||
#*****************************************************************************
|
||
|
||
;NOW LETS SEE...
|
||
;WORD TWO PIXELS
|
||
;WORD TWO PIXELS
|
||
;WORD TWO PIXELS
|
||
;WORD TWO PIXELS
|
||
;LONG XVEL
|
||
;LONG YVEL
|
||
;LONG XPOS
|
||
;LONG YPOS
|
||
|
||
DCS_LOGO
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
movk 1,a0
|
||
move a0,@dpageflip ;page flipping on
|
||
clr a0
|
||
move a0,@IRQSKYE
|
||
|
||
MOVI [200,0],A0
|
||
MOVI [120,0],A1
|
||
MOVI dcslogo,a2
|
||
CLR A3
|
||
movi DMAWNZ|M_SCRNREL,a4 ;DMA flags
|
||
addi CLSNEUT,a5 ;object ID
|
||
clr a6 ;x vel
|
||
clr a7 ;y vel
|
||
CALLA BEGINOBJW
|
||
MOVE *A8(OPAL),A0
|
||
MOVE A0,@DCS_PAL
|
||
|
||
clr a10
|
||
movk 8,a11
|
||
CREATE FADE_PID,fade_up
|
||
|
||
movk 1,a0
|
||
move a0,@DISPLAYON
|
||
|
||
calla display_unblank
|
||
|
||
MOVE @AMODE_LOOPS,A0
|
||
CMPI 2,A0
|
||
JRGE NO_BANG
|
||
|
||
ADJUST ADJMUSIC
|
||
JRNZ NO_BANG
|
||
|
||
MOVI 1005,A3
|
||
CALLA SNDSND
|
||
NO_BANG
|
||
|
||
SLEEP 42h
|
||
|
||
MOVI DMACTRL,B1
|
||
WAIT_110
|
||
MOVE *B1,B2,L
|
||
JRN WAIT_110
|
||
PUSHST
|
||
DINT
|
||
PUSH A8
|
||
|
||
MOVI (186*5),A6
|
||
MOVI [6,0],A5
|
||
MOVI DCS_BIT_TABLE,A2
|
||
MOVI 44,A11
|
||
MOVE *A8(OSAG),A8,L
|
||
ADDI 02000000H,A8
|
||
|
||
NEXT_X_PIXEL1
|
||
MOVI 31,A10
|
||
MOVI [107,0],A4
|
||
|
||
NEXT_X_PIXEL2
|
||
CALLR SETUP_ALL_PIX1
|
||
|
||
MOVI 32000H,A0
|
||
CALLA RNDRNGS
|
||
MOVE A0,A1
|
||
SRA 7,A1
|
||
NEG A1
|
||
MOVE A1,*A2+,L ;XVEL
|
||
|
||
MOVE A0,*A2+,L ;XVEL
|
||
|
||
MOVE A4,*A2+,L ;XPOS
|
||
ADD A5,A4
|
||
ADDK 30,A8
|
||
DSJS A10,NEXT_X_PIXEL2
|
||
ADD A6,A8
|
||
DSJS A11,NEXT_X_PIXEL1
|
||
|
||
PULL A8
|
||
POPST
|
||
SLEEP 1
|
||
MOVE *A8(OFLAGS),A1
|
||
ORI M_NODISP,A1
|
||
MOVE A1,*A8(OFLAGS)
|
||
|
||
MOVI ADD_PIXEL_ROT,A0
|
||
MOVE A0,@WHICH_SCREEN,L
|
||
|
||
SLEEP 60
|
||
|
||
MOVI 254-60,A10
|
||
loop_it
|
||
SLEEPK 1
|
||
calla get_all_buttons_cur2
|
||
JRNZ nobutn1
|
||
dsj a10,loop_it
|
||
|
||
MOVI DUMRETS,A0
|
||
MOVE A0,@WHICH_SCREEN,L
|
||
|
||
MOVE *A8(OFLAGS),A1
|
||
ANDI 0FFFFH-M_NODISP,A1
|
||
MOVE A1,*A8(OFLAGS)
|
||
|
||
SLEEP 10
|
||
|
||
|
||
MOVI DMACTRL,B1
|
||
WAIT_111
|
||
MOVE *B1,B2,L
|
||
JRN WAIT_111
|
||
|
||
PUSHST
|
||
DINT
|
||
PUSH A8
|
||
MOVI 4C000H,A3
|
||
|
||
MOVI (186*5)*3,A6
|
||
MOVE *A8(OSAG),A8,L
|
||
ADDI 02000000H,A8
|
||
MOVI DCS_BIT_TABLE,A2
|
||
MOVI 020H,A5
|
||
MOVI 04000H,A7
|
||
MOVI 21,A11
|
||
NEXT_Y_PIXELS
|
||
MOVI 0358H,A4
|
||
MOVI 46,A10
|
||
NEXT_X_PIXELS
|
||
|
||
CALLR SETUP_ALL_PIX1
|
||
CALLR SETUP_ALL_PIX2
|
||
|
||
ADDK 20,A8
|
||
|
||
MOVI 0FH,A0
|
||
PUSH A1
|
||
CALLA RNDRNGS
|
||
PULL A1
|
||
MOVE A0,*A2+,L ;XVEL
|
||
|
||
MOVI 2100H,A0
|
||
PUSH A1
|
||
CALLA RNDRNGS
|
||
PULL A1
|
||
SLL 1,A0
|
||
MOVE A0,*A2+,L ;YVEL
|
||
|
||
MOVE A4,*A2+,L ;XPOS
|
||
MOVE A3,*A2+,L ;YPOS
|
||
ADD A5,A4
|
||
DSJS A10,NEXT_X_PIXELS
|
||
ADDK 10,A8
|
||
ADD A6,A8
|
||
ADD A7,A3
|
||
DEC A11
|
||
JRNZ NEXT_Y_PIXELS
|
||
|
||
PULL A8
|
||
POPST
|
||
|
||
CALLA DELOBJA8
|
||
|
||
MOVI ADD_PIXEL_VEL,A0
|
||
MOVE A0,@WHICH_SCREEN,L
|
||
|
||
MOVK 3,A8
|
||
FLASH_WHITE
|
||
MOVI 0FFFFH,A0
|
||
MOVE A0,@IRQSKYE
|
||
SLEEP 1
|
||
|
||
CLR A0
|
||
MOVE A0,@IRQSKYE
|
||
SLEEP 1
|
||
DSJS A8,FLASH_WHITE
|
||
|
||
SLEEPK 30
|
||
|
||
movi 100,a10
|
||
JSRP wait_on_butn
|
||
nobutn1
|
||
CLR A3
|
||
CALLA SNDSND
|
||
RETP
|
||
|
||
SETUP_ALL_PIX2
|
||
MOVE A8,A14
|
||
ADD A6,A14
|
||
ADD A6,A14
|
||
CALLR SETUP_TWO_PIX
|
||
ADDK 10,A14
|
||
JRUC SETUP_TWO_PIX
|
||
|
||
SETUP_ALL_PIX1
|
||
MOVE A8,A14
|
||
CALLR SETUP_TWO_PIX
|
||
ADDK 10,A14
|
||
CALLR SETUP_TWO_PIX
|
||
|
||
MOVE A8,A14
|
||
ADD A6,A14
|
||
CALLR SETUP_TWO_PIX
|
||
ADDK 10,A14
|
||
|
||
SETUP_TWO_PIX
|
||
MOVE *A14,A0
|
||
SLL 32-5,A0
|
||
SRL 32-5,A0
|
||
|
||
MOVE *A14(5),A9
|
||
SLL 32-5,A9
|
||
SRL 32-5-8,A9
|
||
|
||
OR A9,A0
|
||
MOVE A0,*A2+
|
||
RETS
|
||
|
||
ADD_PIXEL_VEL
|
||
MOVI DMACTRL,B1
|
||
MOVE @DCS_PAL,A3
|
||
CALLR SET_UP_PAL
|
||
|
||
MOVI 01F0H,A4
|
||
MOVI 966,A9
|
||
MOVI 3*32,A12
|
||
MOVE @page_addr+010h,a14
|
||
MOVE @page_addr,A10
|
||
sll 3,a10
|
||
sll 12,a14
|
||
or a14,a10
|
||
|
||
MOVI 0FA000H,A14
|
||
MOVI 0FF000H,A13
|
||
MOVI 0FFFF8H,A11
|
||
|
||
PUSHST
|
||
DINT
|
||
MOVI DCS_BIT_TABLE,A8
|
||
.ALIGN
|
||
NEXT_PIXEL_VEL
|
||
MMFM A8,A0,A1,A2,A3,A5,A6,A7
|
||
ADD A4,A2 ;DO YACCEL
|
||
JRZ NO_PLOT_ANYTHING
|
||
|
||
ADD A2,A0 ;Y
|
||
CMP A14,A0
|
||
JRGE NO_WORRY_ABOUT_Y_BOUNCE
|
||
ADD A3,A1 ;X
|
||
MMTM A8,A0,A1,A2
|
||
|
||
AND A11,A1
|
||
AND A13,A0
|
||
OR A0,A1
|
||
ADD A10,A1
|
||
|
||
MOVE A7,*A1,L
|
||
MOVE A6,*A1(01000H),L
|
||
MOVE A5,*A1(02000H),L
|
||
ADD A12,A8
|
||
NO_PLOT_ANYTHING
|
||
DSJS A9,NEXT_PIXEL_VEL
|
||
POPST
|
||
RETS
|
||
|
||
NO_WORRY_ABOUT_Y_BOUNCE
|
||
MOVE A4,A2
|
||
NEG A2
|
||
MMTM A8,A0,A1,A2
|
||
ADD A12,A8
|
||
DEC A9
|
||
JRNZ NEXT_PIXEL_VEL
|
||
POPST
|
||
RETS
|
||
|
||
SET_UP_PAL ;PAL IN A3
|
||
MOVE *B1,B2,L
|
||
JRN SET_UP_PAL
|
||
MMTM SP,A2,A3,A4,A5,A6,A7,A9
|
||
MOVI 01000100H,A2
|
||
MOVI [4,4],A4
|
||
CLR A5
|
||
MOVI 020000000H,A6
|
||
MOVI 0E0020000H,A9
|
||
|
||
MOVI DMAREGS,A7
|
||
|
||
mmtm A7,A2,A3,A4,A5,A6,A9
|
||
|
||
MMFM SP,A2,A3,A4,A5,A6,A7,A9
|
||
RETS
|
||
|
||
ADD_PIXEL_ROT
|
||
MOVI DMACTRL,B1
|
||
MOVE @DCS_PAL,A3
|
||
CALLR SET_UP_PAL
|
||
|
||
MOVI 2*32,A5
|
||
MOVE @page_addr+010h,a14
|
||
MOVE @page_addr,A10
|
||
sll 3,a10
|
||
sll 12,a14
|
||
or a14,a10
|
||
ADDI 4C000H,A10
|
||
MOVI 44,A9
|
||
MOVI 31,A13
|
||
MOVI 02000H,A4
|
||
|
||
MOVI 0FFFF8H,A11
|
||
|
||
MOVI DCS_BIT_TABLE,A12
|
||
.ALIGN
|
||
NEXT_PIXEL_ROT
|
||
MMFM A12,A0,A1,A2,A6,A7
|
||
|
||
ADD A2,A1 ;XVEL
|
||
ADD A1,A0 ;X POS
|
||
MMTM A12,A0,A1
|
||
|
||
SRA 16-3,A0
|
||
AND A11,A0
|
||
ADD A10,A0
|
||
|
||
MOVE A7,*A0,L
|
||
MOVE A6,*A0(01000H),L
|
||
ADD A5,A12
|
||
DSJS A13,NEXT_PIXEL_ROT
|
||
ADD A4,A10
|
||
MOVI 31,A13
|
||
DSJS A9,NEXT_PIXEL_ROT
|
||
RETS
|
||
|
||
|
||
******************************************************************************
|
||
|
||
SUBR GENERIC_DISPLAY
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
SLEEPK 2
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
movi hstd_mod,a0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
SLEEPK 2
|
||
|
||
calla display_unblank
|
||
RETP
|
||
|
||
****************************************************************
|
||
* THIS SHOULD BE CALLED IN PLACE OF ANY JRxx $
|
||
* IN CASE OF ERROR. IF WE ARE IN DEBUG MODE
|
||
* IT WILL HANG, IF NOT, THE ERROR WILL BE LOGGED
|
||
* AND IT WILL RETURN.
|
||
* A1 = RETURN ADDRESS OF CALLING ROUTINE
|
||
* A2 = ERROR CODE
|
||
|
||
ERRORLOG
|
||
MMTM SP,A2,A3,A4,A5,A6,A7
|
||
; SLL 16,A2
|
||
;ERRLOGG ;A8 IS IN A8
|
||
;
|
||
; MOVE A13,A7 ;PROC. BLOCK IN A7
|
||
; MOVE *A7(PROCID),A6
|
||
; SLL 16,A6
|
||
; MOVE *A8(OID),A3
|
||
; MOVX A3,A6 ;A6 = [PROCID:*A8(OID)]
|
||
;
|
||
;; MOVE @CIRCUIT,A5
|
||
;; SLL 16,A5
|
||
;; MOVE @WAVE,A3
|
||
; MOVX A3,A5 ;A5 = [CIRCUIT#:WAVE#,)]
|
||
;
|
||
; MOVI AUD1STRT,A4 ;PLAY #
|
||
; callr GETAUD4
|
||
;
|
||
; SLL 16,A4
|
||
; MOVE *A0(OID),A3 ;A4 = [STRT#:*A0(OID)]
|
||
; MOVX A3,A4
|
||
;
|
||
; MOVE @GAMSTATE,A3 ;A2 = [PSTATUS:GAMSTATE]
|
||
; MOVX A3,A2
|
||
;
|
||
; MOVE @PSTATUS,A3 ;A2 = [ERROR CODE:PSTATUS]
|
||
; MOVX A3,A2
|
||
;; MOVE *SP(0C0H),A3,L ;A3=GET THE RETURN ADDRESS
|
||
; MOVE *SP(0E0H),A1,L ;A1=CALLING ADDRESS
|
||
;; CALLA ADD_DUMP
|
||
|
||
MMFM SP,A2,A3,A4,A5,A6,A7
|
||
RETS
|
||
|
||
******************************************************************************
|
||
|
||
NUM_HINTS .EQU 10
|
||
|
||
.bss last_hint,16
|
||
|
||
SUBR DO_HINTS
|
||
movk 18,a8
|
||
movk 6,a9
|
||
JSRP CLOSE_SCREEN_LINE
|
||
calla SPECIAL_WIPEOUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
movi hstd_mod,a0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
CLR A1
|
||
MOVE A1,@TOP_LEFT,L
|
||
MOVE A1,@BOT_RIGHT,L
|
||
|
||
; MOVI 100,A0
|
||
; CALLA RNDPER
|
||
;
|
||
; ;temp!
|
||
; JRUC WE_DO_THE_DESIGNER_HINTS
|
||
; JRLO WE_DO_THE_DESIGNER_HINTS
|
||
;
|
||
; MOVK NUM_HINTS,A0
|
||
; CALLA RNDRNG0
|
||
;
|
||
; SLL 6,A0
|
||
; ADDI GENERAL_HINT,A0
|
||
; MOVE *A0+,A4,L
|
||
; MOVE *A0+,A5,L
|
||
; PUSH A5,A4
|
||
;
|
||
; CALLA PUT_UP_BAR
|
||
;
|
||
; MOVI GENTIP,A2
|
||
; CALLA PUT_UP_TIP_NAME
|
||
;
|
||
; JRUC GEN_TIP_BACK_IN_HERE
|
||
;
|
||
;WE_DO_THE_DESIGNER_HINTS
|
||
|
||
move @last_hint,a0
|
||
jrn #reset_chint
|
||
inc a0
|
||
cmpi NUM_HINTS,a0
|
||
jrge #reset_chint
|
||
jruc #shint
|
||
|
||
#reset_chint
|
||
clr a0
|
||
#shint move a0,@last_hint
|
||
|
||
PUSHP A0
|
||
SLL 7,A0
|
||
ADDI WHICH_HINT,A0
|
||
MOVE *A0+,A4,L
|
||
MOVE *A0+,A5,L
|
||
PUSH A5,A4
|
||
PUSH A0
|
||
|
||
CALLA PUT_UP_BAR
|
||
|
||
PULL A0
|
||
MOVE *A0+,A2,L
|
||
PUSH A0
|
||
|
||
CALLA PUT_UP_TIP_NAME
|
||
|
||
PULLP A2
|
||
SLL 5,A2
|
||
ADDI WHICH_22_NUM,A2
|
||
MOVE *A2,A2,L
|
||
|
||
MOVE *A8(OSIZEX),A0
|
||
SRL 1,A0
|
||
ADDI 200,A0
|
||
SLL 16,A0
|
||
|
||
MOVI [9,0],A1
|
||
movi 1800H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
movi WGFS_W_P,b0
|
||
calla BEGINOBJP
|
||
|
||
MOVI [400,0],A0
|
||
MOVI [254,0],A1
|
||
MOVI MUGBAK,A2
|
||
movi 17FFH,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
|
||
MOVI [400,0],A0
|
||
MOVI [254,0],A1
|
||
MOVI MUGFRNT,A2
|
||
movi 1801H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
|
||
PULL A0
|
||
MOVE *A0+,A2,L
|
||
|
||
MOVI [400,0],A0
|
||
MOVI [254,0],A1
|
||
movi 1800H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
|
||
GEN_TIP_BACK_IN_HERE
|
||
|
||
MOVI #SETUP_LINE_1,A2
|
||
CALLA setup_message
|
||
CALLA hscore_colcyc2
|
||
PULL A4
|
||
CALLA print_string_C2
|
||
PULL A4
|
||
PUSHP A4
|
||
|
||
; movk 18,a8
|
||
; movk 6,a9
|
||
; JSRP OPEN_SCREEN_LINE
|
||
|
||
MOVI #SETUP_LINE,A2
|
||
CALLA setup_message
|
||
|
||
MOVI 15,A0
|
||
MOVE A0,@mess_line_spacing
|
||
|
||
PULLP A4
|
||
MOVE A4,A10
|
||
MOVE *A10+,A9,L
|
||
NEXT_HINT
|
||
MOVE *A10+,A4,L
|
||
CALLA print_string_C2
|
||
move @mess_cursy,A0
|
||
ADDI 15,A0
|
||
move a0,@mess_cursy
|
||
|
||
DSJS A9,NEXT_HINT
|
||
|
||
movk 18,a8
|
||
movk 6,a9
|
||
JSRP OPEN_SCREEN_LINE
|
||
|
||
SLEEP 80
|
||
movi 15*TSEC,a10
|
||
JSRP wait_on_butn
|
||
|
||
movi FLASH_PID,a0
|
||
clr a1
|
||
not a1
|
||
CALLA KILALL
|
||
|
||
RETP ;?????? GOOD IDEA?
|
||
|
||
PUT_UP_TIP_NAME
|
||
MOVI [190,0],A0
|
||
MOVI [21,0],A1
|
||
movi 1800H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
movi WGFS_W_P,b0
|
||
; calla BEGINOBJ
|
||
calla BEGINOBJP
|
||
|
||
RETS
|
||
|
||
PUT_UP_BAR
|
||
MOVI [10,0],A0
|
||
MOVI [21,0],A1
|
||
|
||
movi MVEBAR_R,a2
|
||
movi 1799H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
|
||
MOVI [13,0],A0
|
||
MOVI [21+9,0],A1
|
||
|
||
movi SHADOW01,a2
|
||
movi 1799H,a3
|
||
movi DMAWNZ,a4
|
||
movi CLSNEUT,a5
|
||
CLR A6
|
||
CLR A7
|
||
calla BEGINOBJ
|
||
CREATE FLASH_PID,JUDDER_SHADOW
|
||
RETS
|
||
|
||
#title_mod
|
||
.long slateBMOD
|
||
.word 0,0
|
||
.long 0
|
||
|
||
WHICH_22_NUM
|
||
.LONG WGSF22_1
|
||
.LONG WGSF22_2
|
||
.LONG WGSF22_3
|
||
.LONG WGSF22_4
|
||
.LONG WGSF22_5
|
||
.LONG WGSF22_6
|
||
.LONG WGSF22_7
|
||
.LONG WGSF22_8
|
||
.LONG WGSF22_9
|
||
.LONG WGSF22_0
|
||
|
||
WHICH_HINT
|
||
.LONG #HNTT_2,#HNT_2,JMSTIP,JASMUG
|
||
.LONG #HNTT_4,#HNT_4,MIKTIP,MIKMUG
|
||
.LONG #HNTT_3,#HNT_3,MJTTIP,MRKMUG
|
||
.LONG #HNTT_9,#HNT_9,JOSTIP,JSHMUG
|
||
.LONG #HNTT_7,#HNT_7,EUGTIP,EUGMUG
|
||
.LONG #HNTT_5,#HNT_5,SHNTIP,SHNMUG
|
||
.LONG #HNTT_8,#HNT_8,JAKTIP,JAKMUG
|
||
.LONG #HNTT_1,#HNT_1,SALTIP,SALMUG
|
||
.LONG #HNTT_6,#HNT_6,TONTIP,TONMUG
|
||
.LONG #HNTT_A,#HNT_A,EUGTIP,JSHMUG
|
||
|
||
;GENERAL_HINT
|
||
; .LONG #HNTT_10,#HNT_10
|
||
; .LONG #HNTT_10,#HNT_10
|
||
; .LONG #HNTT_10,#HNT_10
|
||
; .LONG #HNTT_10,#HNT_10
|
||
; .LONG #HNTT_10,#HNT_10
|
||
; .LONG #HNTT_10,#HNT_10
|
||
|
||
|
||
#SETUP_LINE_1
|
||
JAM_STR osgemd_ascii,10,0,200,50+12,RUBYPAL,print_string_C2
|
||
|
||
#SETUP_LINE
|
||
JAM_STR wsf10_ascii,10,1,200,90+18,WSF_Y_P,print_string_C2
|
||
|
||
#HNTT_1 .byte "OUT OF RING",0,0
|
||
.even
|
||
#HNT_1 .long 4,#HNT_1A,#HNT_1B,#HNT_1C,#HNT_1D
|
||
#HNT_1A .byte "DON'T STAY OUT OF THE RING FOR",0,0
|
||
#HNT_1B .byte "LONG. YOU SUFFER DAMAGE UNTIL",0,0
|
||
#HNT_1C .byte "YOU REENTER THE RING OR YOUR",0,0
|
||
#HNT_1D .byte "OPPONENT JOINS YOU OUTSIDE.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_2 .byte "IN-AIR PICK OFF",0,0
|
||
.even
|
||
#HNT_2 .long 4,#HNT_2A,#HNT_2B,#HNT_2C,#HNT_2D
|
||
#HNT_2A .byte "WHEN YOUR OPPONENT IS RUNNING",0,0
|
||
#HNT_2B .byte "OR LEAPING AT YOU, AWAY AWAY",0,0
|
||
#HNT_2C .byte "PUNCH CAN BE USED TO PICK HIM",0,0
|
||
#HNT_2D .byte "OFF AND DELIVER A BODY SLAM!",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_3 .byte "TURNBUCKLE LEAPS",0,0
|
||
.even
|
||
#HNT_3 .long 6,#HNT_3A,#HNT_3B,#HNT_3C,#HNT_3D,#HNT_3E,#HNT_3F
|
||
#HNT_3A .byte "CLIMB THE TURNBUCKLE AND LEAP AT",0,0
|
||
#HNT_3B .byte "YOUR OPPONENT, USING THE JOYSTICK",0,0
|
||
#HNT_3C .byte "TO GUIDE YOUR FLIGHT. THESE ATTACKS",0,0
|
||
#HNT_3D .byte "CANNOT BE BLOCKED. HOWEVER, THEY",0,0
|
||
#HNT_3E .byte "CAN BE PICKED OFF WITH A WELL TIMED",0,0
|
||
#HNT_3F .byte "KICK.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_4 .byte "COMBO MODE",0,0
|
||
.even
|
||
#HNT_4 .long 6,#HNT_4A,#HNT_4B,#HNT_4C,#HNT_4D,#HNT_4E,#HNT_4F
|
||
#HNT_4A .byte "PERFORMING A VARIETY OF MOVES",0,0
|
||
#HNT_4B .byte "ACTIVATES 'COMBO MODE'. THIS ALLOWS",0,0
|
||
#HNT_4C .byte "YOU TO LAUNCH SPECIAL DEVASTATING",0,0
|
||
#HNT_4D .byte "COMBO MOVES FROM THE HEADHOLD.",0,0
|
||
#HNT_4E .byte "MOST COMBOS START WITH TOWARD",0,0
|
||
#HNT_4F .byte "TOWARD AND A BUTTON PRESS.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_5 .byte "REVERSALS",0,0
|
||
.even
|
||
#HNT_5 .long 5,#HNT_5A,#HNT_5B,#HNT_5C,#HNT_5D,#HNT_5E
|
||
#HNT_5A .byte "MANY HEADHOLD MOVES, SUCH AS THE",0,0
|
||
#HNT_5B .byte "PILEDRIVER, CAN BE DONE BY EITHER",0,0
|
||
#HNT_5C .byte "WRESTLER. WHOEVER DOES THE CORRECT",0,0
|
||
#HNT_5D .byte "STICK AND BUTTON COMBINATION FIRST",0,0
|
||
#HNT_5E .byte "WILL DO THE MOVE.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_6 .byte "HIGH RISK MANEUVERS",0,0
|
||
.even
|
||
#HNT_6 .long 3,#HNT_6A,#HNT_6B,#HNT_6C
|
||
#HNT_6A .byte "BOUNCE OFF THE ROPES JUST BEFORE",0,0
|
||
#HNT_6B .byte "PERFORMING MANY JUMPING ATTACKS",0,0
|
||
#HNT_6C .byte "FOR AN EXTRA DAMAGE BONUS!",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_7 .byte "SECOND WIND",0,0
|
||
.even
|
||
#HNT_7 .long 6,#HNT_7A,#HNT_7B,#HNT_7C,#HNT_7D,#HNT_7E,#HNT_7F
|
||
.long #HNT_7G,#HNT_7H
|
||
#HNT_7A .byte "WHEN YOU'RE ABOUT TO BE PINNED",0,0
|
||
#HNT_7B .byte "FOR THE SECOND TIME, YOU CAN",0,0
|
||
#HNT_7C .byte "GET YOUR SECOND WIND AND FIGHT",0,0
|
||
#HNT_7D .byte "ON, BUT ONLY IF YOUR COMBO METER",0,0
|
||
#HNT_7E .byte "IS LIT. QUICKLY HIT THE BUTTONS",0,0
|
||
#HNT_7F .byte "ONCE YOUR HEALTH METER RUNS OUT.",0,0
|
||
#HNT_7G .byte "NOTE THAT THIS DOES NOT WORK IF",0,0
|
||
#HNT_7H .byte "IF YOU DIE OUTSIDE THE RING.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_8 .byte "HEAD HOLDS",0,0
|
||
.even
|
||
#HNT_8 .long 6,#HNT_8A,#HNT_8B,#HNT_8C,#HNT_8D,#HNT_8E,#HNT_8F
|
||
#HNT_8A .byte "RAPIDLY PRESSING THE BUTTONS FROM",0,0
|
||
#HNT_8B .byte "A HEADHOLD WILL EVENTUALLY CAUSE",0,0
|
||
#HNT_8C .byte "A PILEDRIVER OR OTHER SPECIAL MOVE",0,0
|
||
#HNT_8D .byte "TO HAPPEN. BUT THERE ARE MUCH",0,0
|
||
#HNT_8E .byte "FASTER WAYS TO DO THEM, SUCH AS",0,0
|
||
#HNT_8F .byte "TOWARD TOWARD POWER PUNCH.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_9 .byte "EXCESSIVE BLOCKING",0,0
|
||
.even
|
||
#HNT_9 .long 5,#HNT_9A,#HNT_9B,#HNT_9C,#HNT_9D,#HNT_9E
|
||
#HNT_9A .byte "IF YOUR OPPONENT IS CONSTANTLY",0,0
|
||
#HNT_9B .byte "BLOCKING, TRY GETTING IN CLOSE",0,0
|
||
#HNT_9C .byte "TO PUT HIM IN A HEADHOLD. THEY",0,0
|
||
#HNT_9D .byte "CAN'T BE BLOCKED. HIP TOSSES",0,0
|
||
#HNT_9E .byte "ARE ALSO DIFFICULT TO BLOCK.",0,0
|
||
.even
|
||
|
||
|
||
#HNTT_A .byte "CHOOSE WISELY",0,0
|
||
.even
|
||
#HNT_A .long 4,#HNT_AA,#HNT_AB,#HNT_AC,#HNT_AD
|
||
#HNT_AA .byte "DRONES SELDOM GET THEIR SECOND WIND",0,0
|
||
#HNT_AB .byte "UNLESS YOU PIN THEM, SO WHEN YOU'VE",0,0
|
||
#HNT_AC .byte "DEFEATED A TEAM OF DRONES, PIN ONE",0,0
|
||
#HNT_AD .byte "WHOSE COMBO METER IS UNLIT.",0,0
|
||
.even
|
||
|
||
|
||
#*****************************************************************************
|
||
*
|
||
* successful octopus brings us to this page. It's a top-level process, just
|
||
* like the normal attract mode loop
|
||
|
||
.ref _switch_addr,_switch2_addr
|
||
|
||
OCTOBTN .macro VAL,TIMEOUT
|
||
movi :VAL:,a8
|
||
movi :TIMEOUT:,a9
|
||
JSRP #wait_but
|
||
jrc #octo_init
|
||
.endm
|
||
|
||
SUBR octopus_page
|
||
|
||
;make sure we're in attract mode
|
||
move @GAMSTATE,a14
|
||
cmpi INAMODE,a14
|
||
jane SUCIDE
|
||
|
||
calla SPECIAL_WIPEOUT
|
||
|
||
;let the sound board reset finish up.
|
||
SLEEPK 8
|
||
|
||
clr a3
|
||
calla SNDSND
|
||
|
||
;put up some wallpaper
|
||
JSRP GENERIC_DISPLAY
|
||
|
||
;draw the text/pix
|
||
|
||
calla display_unblank
|
||
|
||
movi TSEC*10,a10
|
||
|
||
#octo_init
|
||
|
||
;check overall timeout
|
||
TEST a10
|
||
jrn attract_mode
|
||
|
||
;octopus
|
||
OCTOBTN >fffeffff,TSEC/3 ;kick
|
||
OCTOBTN >ffffffdf,TSEC/3 ;block
|
||
OCTOBTN >ffffffbf,TSEC/3 ;pwr pnch
|
||
OCTOBTN >ffffffef,TSEC/3 ;pnch
|
||
OCTOBTN >ffffffdf,TSEC/3 ;block
|
||
OCTOBTN >fffdffff,TSEC/3 ;pwr kick
|
||
|
||
;success!
|
||
movi DIAGP,a14
|
||
move a14,*a13(PROCID)
|
||
jauc HID_P
|
||
|
||
;begin a normal attract mode
|
||
jruc attract_mode
|
||
|
||
SUBRP #wait_but
|
||
|
||
calla #mk_a0
|
||
cmp a0,a8
|
||
jreq #gotit
|
||
SLEEPK 1
|
||
dec a10
|
||
dsj a9,#wait_but
|
||
setc
|
||
RETP
|
||
#gotit clrc
|
||
RETP
|
||
|
||
|
||
SUBRP #mk_a0
|
||
move @_switch_addr,a0,L
|
||
move @_switch2_addr,a1,L
|
||
move *a0,a0
|
||
move *a1,a1
|
||
rl 16,a1
|
||
and a1,a0
|
||
rets
|
||
|
||
#*****************************************************************************
|
||
|
||
SUBRP dan_test
|
||
|
||
calla display_blank
|
||
calla WIPEOUT ;CLEAN SYSTEM OUT
|
||
|
||
clr a0
|
||
move a0,@HALT
|
||
move a0,@dtype ;2d mode
|
||
move a0,@IRQSKYE ;Sky color
|
||
|
||
movk 1,a0 ;page flipping on
|
||
move a0,@dpageflip
|
||
|
||
SLEEPK 2
|
||
|
||
movi SCRNEND,a0 ;[256,405]
|
||
move a0,@SCRNLR,L
|
||
|
||
clr a0
|
||
move a0,@WORLDTLX,L
|
||
move a0,@WORLDTLY,L
|
||
|
||
|
||
;Turn on background module
|
||
MOVI logo_mod,A0
|
||
move a0,@BAKMODS,L
|
||
calla BGND_UD1 ;create objects for background
|
||
|
||
|
||
SLEEPK 1
|
||
clr a10
|
||
movk 4,a11
|
||
CREATE FADE_PID,fade_up
|
||
|
||
movk 1,a0
|
||
move a0,@DISPLAYON
|
||
|
||
calla display_unblank
|
||
|
||
CREATE BALL_PID,DISPATCH
|
||
|
||
SLEEPK 32
|
||
calla hscore_colcyc
|
||
|
||
RETP
|
||
|
||
|
||
BALL_PID .equ 1 ;Process ID
|
||
BALL_ID .equ 2 ;IMG ID
|
||
|
||
|
||
SUBRP DISPATCH
|
||
|
||
movi 32,a9
|
||
|
||
#lpx CREATE BALL_PID,ONE_BALL
|
||
SLEEPK 1
|
||
|
||
dsjs a9,#lpx
|
||
|
||
DIE
|
||
|
||
|
||
SUBRP ONE_BALL
|
||
|
||
;create one ball at a random position with random velocity
|
||
|
||
movi 80000h,a0
|
||
calla RNDRNG0 ;# between 0 and a0
|
||
subi 40000h,a0
|
||
move a0,a6 ;XVEL
|
||
|
||
movi 60000h,a0
|
||
calla RNDRNG0 ;# between 0 and a0
|
||
subi 30000h,a0
|
||
move a0,a7 ;YVEL
|
||
|
||
movi [255,0],a0 ;Y pos
|
||
calla RNDRNG0
|
||
move a0,a1
|
||
|
||
movi [400,0],a0 ;200 pixels over in x
|
||
PUSH a1
|
||
calla RNDRNG0
|
||
PULL a1
|
||
|
||
movi BALLD05A,a2 ;IMG to turn on
|
||
move @PCNT,a3
|
||
andi 07fffh,a3 ;ZPOS
|
||
movi DMAWNZ,a4 ;IMG flags
|
||
movi BALL_ID,a5 ;ID
|
||
|
||
|
||
calla BEGINOBJW ;Begin obj with world added in
|
||
;a8=obj pointer
|
||
|
||
|
||
#lp SLEEPK 1
|
||
|
||
move *a8(OXVEL),a1,L
|
||
move *a8(OXPOS),a0
|
||
cmpi 400,a0
|
||
jrlo #xok
|
||
neg a1
|
||
move a1,*a8(OXVEL),L
|
||
SLEEPK 2
|
||
#xok
|
||
move *a8(OYVEL),a1,L
|
||
move *a8(OYPOS),a0
|
||
cmpi 255,a0
|
||
jrlo #yok
|
||
neg a1
|
||
move a1,*a8(OYVEL),L
|
||
SLEEPK 2
|
||
#yok
|
||
jruc #lp
|
||
|
||
******************************************************************************
|
||
|
||
.end
|
||
|