Jump to content
IGNORED

36 years and finally here: Rocky Boxing with pause music


Recommended Posts

A world exclusive by yours truly.

 


Part One: A bit of history.

 

I set out to disassemble Rocky Boxing because I wanted to know everything about the two extra buttons as well as the Spinner.
I did the work but there are still a few hiccups which involve some pattern tables.  They will eventually be resolved, but everything else seems to be in working order.

 

So, we come to all the other games with a pause feature that blanks the screen and plays some music.  Rocky Boxing does not have this...  until now....

 

Part two:  The ADAM Music Demo cartridge has a Rocky Boxing Pause tune.

 

I asked a couple of people and received various replies that all amount to i do not know but it might be.  No worries, I am not taking credit for the tune, just for inserting it into the game.

Now, I do not know for sure if it was ever a legitimate tune that was supposed to be in Rocky Boxing but it is there now.

 

I added it to the Sound Table with all the data and calls.

I created my own pause feature that bypasses the Rocky version.
It blanks the screen, plays the tune then when you press * again it will bring back the screen and resume where you left off.

 

Now I did not test this 100% and as always there is room for improvement.  If you find issues then I would appreciate that you let me know so I can attempt to fix them.  If all is good then share as you like but do not sell.

 

My hope is that you enjoy this gift to the community and as I would love to make a few $$ off my work, I would rather do it by creating something from the ground up.

 

As soon as I am done with the Rocky Boxing disassembly I will post it like the others.


Until next time, hit the like button, loves, promotions....

 

Enjoy

 

O3 Cozmos

 

 

 

BTW

It is a bit over 21k now because of the extra data.  So, to work on real equipment it may have to be padded to 24k.
If you can't do that then I will create a padded version.

If there are no issues then we are all good.

 

 

Edit:

 

here is the padded version instead.  Let's make it legit.

 

 

 

Rocky Boxing (pause) v1.rom

Edited by Captain Cozmos
  • Like 1
Link to comment
Share on other sites

My final patched code with Timer corrected

 

 


CHECK_FOR_PAUSE:
    CP      $0A                                                         ; $A IS THE NUMBER FOR THE * BUTTON
    JR      NZ, DONE_CHECK_FOR_PAUSE                  ; RETURN IF THE PAUSE BUTTON HAS NOT BEEN PRESSED
    LD      HL, $1C20
    LD      A, 0
    CALL    REQUEST_SIGNAL
    LD      ($71CC), A

LOC_960A:
    CALL    GET_CURRENT_TIMER_IN_RAM
    LD      A, ($71CC)
    CALL    TEST_SIGNAL
    CP      1
    JR      NZ, LOC_961A

LOC_961A:
    CALL    SUB_9646
    LD      HL, $7223
    CP      $0A
    JR      NZ, NEW_PAUSE
    BIT     0, (HL)
    JR      NZ, LOC_962C
    SET     0, (HL)
    SET     1, (HL)

LOC_962C:
    LD      A, (HL)
    CP      2
    JR      NZ, LOC_960A

DONE_CHECK_FOR_PAUSE:
RET

NEW_PAUSE:
    LD      BC, $1A2                                                ; TURN SCREEN OFF
    CALL    WRITE_REGISTER
    ld      a, ($71CC)
    CALL    FREE_SIGNAL                                        ; FREE TIMER
    CALL    TURN_OFF_SOUND                                ; TURN OFF ALL 4 CHANNELS OF SOUND

    LD      B, ROCKY_PAUSE_A_SND
    CALL    PLAY_IT
    LD      B, ROCKY_PAUSE_C_SND
    CALL    PLAY_IT
    LD      B, ROCKY_PAUSE_E_SND
    CALL    PLAY_IT
    LD      B, ROCKY_PAUSE_G_SND
    CALL    PLAY_IT
    LD      A, ($7277)
    AND     0C0H
    OR      ROCKY_PAUSE_B_SND
    LD      ($7277), A
    LD      A, ($7281)
    AND     0C0H
    OR      ROCKY_PAUSE_D_SND
    LD      ($7281), A
    LD      A, ($728B)
    AND     0C0H
    OR      ROCKY_PAUSE_F_SND
    LD      ($728B), A

LOOP_PAUSE:
    LD      A, ($7032)
    CP      $0A
    JR      NZ, LOOP_PAUSE
    LD         A, $0F
    LD      ($7032), A                                          ; SET KEYBOARD TO $0F TO KEEP FROM STICKY BUTTON
    LD      B, 7
    LD      HL, SOUND_TABLE                               ; RESET ALL SOUND RAM TO REUSE
    CALL    SOUND_INIT
    LD      BC, $1E2                                             ; TURN SCREEN BACK ON
    CALL    WRITE_REGISTER
    JP      PLAY_WHITE_NOISE_CROWD              ; RETURN CROWD BACKGROUND NOISE AND TO THE GAME

Edited by Captain Cozmos
  • Like 1
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...