Jump to content
Due to a large amount of spamers, accounts will now have to be approved by the Admins so please be patient. ×
IGNORED

Moon Patrol No Continue Hack.


Recommended Posts

  • Administrators

As mentioned in my Kangaroo high score save mod I had a play around with the Moon Patrol code to remove the continue screen.

Its something that's always bothered me specially for home use where we play to see how far we can get on one credit for a high score.

Again the following are just notes I took for myself so don't expect them to make to much but it does explain what i did.

 

Ram 2k

E000 to E7FF

Coin counter E04A

Address 0496-04a0 adds one credit when coin entered.

E511 : Time Counter

E515 : 1p Lives

8233-8234 : count from 10-0

03DD write continue timer

0068 start address for attract mode start

010D Blank video ram before press 1 or 2 player screen.

01A3 Blanks video ram before continue screen.

 

8000-87FF gfx ram
0D7F-0D85 - GFX Ram Clear
0d7f 210080    ld      hl,8000h
0d82 010008    ld      bc,0800h
0d85 cd2906    call    0629h
Jumps to 0629, this is basically a universal timer. 
0629 3600      ld      (hl),00h
062b 23        inc     hl
062c 0b        dec     bc
062d 78        ld      a,b
062e b1        or      c
062f 20f8      jr      nz,0629h
0631 c9        ret 
Decrement loop. Fills ram with zeros until BC is zero.
 

 

0623-0624 work ram blanking

0623 2100e0    ld      hl,0e000h
0626 010007    ld      bc,0700h
0629 3600      ld      (hl),00h
062b 23        inc     hl
062c 0b        dec     bc
062d 78        ld      a,b
062e b1        or      c
062f 20f8      jr      nz,0629h
0631 c9        ret     
 

 

Continue Screen Code

01a3 cd7f0d    call    0d7fh
01a6 21222a    ld      hl,2a22h ; Changed to "jp 01EE" bypasses the continue code.The code below essentially becomes free space.

01ac 3e11      ld      a,11h
01a9 cd1c03    call    031ch
01ae a7        and     a
01af 283d      jr      z,01eeh
01b1 3d        dec     a
01b2 27        daa     
01b3 3256e0    ld      (0e056h),a
01b6 113382    ld      de,8233h
01b9 0e02      ld      c,02h
01bb cdca03    call    03cah
01be 3e40      ld      a,40h
01c0 3252e0    ld      (0e052h),a
01c3 3a52e0    ld      a,(0e052h)
01c6 a7        and     a
01c7 3a56e0    ld      a,(0e056h)
01ca 28e2      jr      z,01aeh
01cc 3a4ae0    ld      a,(0e04ah)
01cf a7        and     a
01d0 200b      jr      nz,01ddh
01d2 214f2c    ld      hl,2c4fh
01d5 cd9003    call    0390h
01d8 cd5605    call    0556h
01db 18e6      jr      01c3h
01dd cd6205    call    0562h
01e0 28e1      jr      z,01c3h
01e2 cdf601    call    01f6h
01e5 cdf601    call    01f6h
01e8 cd150d    call    0d15h
01eb c30d0c    jp      0c0dh
 

 

Fix Checksum in Test for rom 1 "mpa-1w.3m"

Rom Check is daft, game expects FF for each of the 4 program roms.

With my edit rom 1 gets an error: "ROM0 NG FA"

We need to "balance" it to FF so FA+05=FF

There's a bunch of unused code from 0019 to 0026.

Using a hex editor i changed 0x0026 to 05, now in test the Rom shows "ROM0 OK FF" 🙂

 

High Score Save Kit from http://arcade.souzaonline.com/

Most people would be running one of these.

NOTES:

Rom is 64k (27C512) original rom is 4*4k(2732) = 16K

Address area I modified above is already modified by this hack

01a6 21222a ld hl,2a22h ; Original

Changed

01a6 cd523f call 3f52h ; Jumps to address 0x3F52 at the end of the normal region of the 16k rom where normally

there's a heap of unused space. Everything after this line is identical. We can expect our missing code above

somewhere at this location.

 

3f52 f5        push    af
3f53 c5        push    bc
3f54 d5        push    de
3f55 dde5      push    ix
3f57 fde5      push    iy
3f59 cd703f    call    3f70h
3f5c cd7e3f    call    3f7eh
3f5f cd70f0    call    0f070h
3f62 cd00f0    call    0f000h
3f65 fde1      pop     iy
3f67 dde1      pop     ix
3f69 d1        pop     de
3f6a c1        pop     bc
3f6b f1        pop     af
3f6c 21222a    ld      hl,2a22h ; Here's our missing line.
3f6f c9        ret    
 

A lot of the unused space between 3F4F and 3FFF has been used by this Free Play/Highscore Table hack.

I'm going to guess this region has the rewrite for the Attract Mode + Free Play and at the end of

the 64k rom (F000-F7FA) is the code for the high score table itself.

 

Edit.

01A9 call 031ch becomes jp 01eeh

Hex CD1C03 becomes C3EE01

3F6C hl,2a22h ; will become nop nop nop

Hex 21222A becomes 000000

 

So there you have it 🙂 The stock Williams version is attached below you can use on real hardware or MAME, if you want the version for the Souzaonline kit PM me.

I only edited the Williams rom, if you want the Irem one PM me, would only take a few mins for me to modify it, I may actually do it anyway.

I'll probably play around with this some more especially the Souzaonline kit, I'll probably change the flashing "Insert Coin" to "Free Play". Ive been playing around with compiling Mame myself so I wonder if its possible to write a driver for it so I can work on it in Mame, so far I haven't had any luck.

Moon Patrol No Continue Hack Irem Version.rar

Moon Patrol No Continue Hack Williams Version.rar

Link to comment
Share on other sites

  • Administrators
Ive been playing around with compiling Mame myself so I wonder if its possible to write a driver for it so I can work on it in Mame, so far I haven't had any luck.

 

I used to do a LOT of minor modding and Mame compilation.

 

Adding this as a separate game into Mame used to be dead easy. You shouldn't need to touch anything for CPU, Sound etc. All you'll be doing is adding this rom to the list in appropriate areas.

 

Brad

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

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