Posted: Tue Aug 22, 2006 5:11 pm
I replaced by HazeMD 0.04a. It supports "real" Reset Button on Genesis/Megadrive. It enables "safe" reset. For example on Burning Force, MAME soft-reset causes the crash but real-reset is without problem.
And you can avoid ROM check in case of real-reset.
I have confirmed Round Select Mode on M.U.S.H.A / Musha Aleste on HazeMD.
But sorry, I have mistaken about how to enable it. Correct way is...
I have tried to search for SMS/MarkIII game but...
- Aleste -
If you use Round Selection and "Game Over" on the same round, "Continue Game" always gives starting with Round 1.
But correct value is stored into $C843 when you finish this round.
[TIPS]
- Round 0 -
Select "Continue Game" after you see the ending, the game start with Round 0.
- Sound Test -
On title screen, input "Up, Down, Up, Left, Left, Down, Right, Up" then press a button.
- Start with 10 lives -
On title screen, input "Down, Right, Down, Down, Left, Right, Left, Right, Up, Right" then press a button and start the game.
- Enable to continue with Round 6 -
Normally, "Continue Game" don't allow to start with Round 6.
If you do "Game Over" on Round 6 then re-start with "Continue Game", the game starts with Round 5.
But hold Left then select "Continue Game", you can start with Round 6.
- Cut FM sound -
When power-on, hold 1P Upper-Right and 2P Lower-Left.
the game has PSG sound only instead of FM.
But HazeMD doesn't have SMS/MarkIII FM sound emulation so that it is meaningless (always PSG).
My Master System which includes FM sound chip is dead now...
...It is main problem that I can't hack a program code.
I have tried to make "Always Start with Round 0" and "Unlimited Continue Round" with ROM code.
If you select "New Game", 0x01 loaded on $0BA2 is stored into $C881.
So I want to change "ld a,$01" on $0BA2 to "ld a,$00".
And in case of "Continue Game", I want to kill "jr c,$0BB4" on $0BB1 (->"jr $0BB4).
...Never work.
On sms.c
s_aleste seems to be loaded into USER1. But changing "20x00000" (Region-CPU1) to "39x00000" (Region-USER1) is meaningless. Also different address...
I have already checked these codes via Windows memory editor (works fine !) but I don't know how to confirm via the cheat engine.
Pugsy, can you hack any rom code on SMS ?
And you can avoid ROM check in case of real-reset.
I have confirmed Round Select Mode on M.U.S.H.A / Musha Aleste on HazeMD.
But sorry, I have mistaken about how to enable it. Correct way is...
- Press Reset button 10 times.
- On title screen, hold Lower-Left then select Options.
- Confirm that "SOUND" item changes "ROUND".
- Select round you want to start then press Start button or exit Options.
- When displayed "SEGA" logo, press Reset button.
- Start the game
- Life and Credit are 255 !!
I have tried to search for SMS/MarkIII game but...
- Aleste -
Code: Select all
; [ Aleste [!] (Master System) ]
:s_aleste:00000000:C818:00000001:FFFFFFFF:Rapid Fire - Main Shot
:s_aleste:00000000:C405:00000080:00000080:Invincibility
:s_aleste:00010000:C416:00000002:FFFFFFFF:Invincibility (2/2)
:s_aleste:00000000:C812:0000000A:FFFFFFFF:Infinite Lives
:s_aleste:00000000:C816:00000004:FFFFFFFF:Always Maximum Shot Power
:s_aleste:00000000:C83E:000000FF:FFFFFFFF:Infinite Extra Weapon Ammo
:s_aleste:00100000:C840:00000203:FFFFFFFF:Always Maximum Extra Weapon Power
:s_aleste:00000300:C83C:00000007:FFFFFFFF:Select Extra Weapon
:s_aleste:00001101:C881:00000006:FFFFFFFF:Select Round:Set on mode selection screen. Round 0 is secret.
:s_aleste:00300000:C0AC:04010201:FFFFFFFF:Unlock Sound Test Mode:Press a button on title screen
:s_aleste:00310000:C0B0:01080204:FFFFFFFF:Unlock Sound Test Mode (2/2)
- Start with Round 3 via Round Selection code
- Game Over on Round 3
- Select "Continue Game" on title screen
- Start the game with Round 1 !
But correct value is stored into $C843 when you finish this round.
[TIPS]
- Round 0 -
Select "Continue Game" after you see the ending, the game start with Round 0.
- Sound Test -
On title screen, input "Up, Down, Up, Left, Left, Down, Right, Up" then press a button.
- Start with 10 lives -
On title screen, input "Down, Right, Down, Down, Left, Right, Left, Right, Up, Right" then press a button and start the game.
- Enable to continue with Round 6 -
Normally, "Continue Game" don't allow to start with Round 6.
If you do "Game Over" on Round 6 then re-start with "Continue Game", the game starts with Round 5.
But hold Left then select "Continue Game", you can start with Round 6.
- Cut FM sound -
When power-on, hold 1P Upper-Right and 2P Lower-Left.
the game has PSG sound only instead of FM.
But HazeMD doesn't have SMS/MarkIII FM sound emulation so that it is meaningless (always PSG).
My Master System which includes FM sound chip is dead now...
...It is main problem that I can't hack a program code.
I have tried to make "Always Start with Round 0" and "Unlimited Continue Round" with ROM code.
Code: Select all
0B8D: 21 00 00 ld hl,$0000
0B90: 22 F8 CE ld ($CEF8),hl
0B93: 22 FA CE ld ($CEFA),hl
0B96: 22 F4 CE ld ($CEF4),hl
0B99: 2E 20 ld l,$20
0B9B: 22 F6 CE ld ($CEF6),hl
// Check an item you selected (New Game or Continue Game ?)
0B9E: 3A 4F C8 ld a,($C84F)
0BA1: A7 and a
// Set default value as "1"
0BA2: 3E 01 ld a,$01
// If "New Game", jump to $0BB4 (starting round = 1)
0BA4: 28 0E jr z,$0BB4
// Load continue round (starting round = continue round)
0BA6: DD 7E C3 ld a,(ix-$3d)
// Check 1P control
0BA9: DD CB 80 56 bit 2,(ix-$80)
// If 1P Left is pressed, jump to $0BB4. (skip continue round check)
0BAD: 20 05 jr nz,$0BB4
0BAF: FE 06 cp $06
0BB1: 38 01 jr c,$0BB4
// If the previous game has ended on Round 6, set a value as "5" (starting round = 5)
0BB3: 3D dec a
// Store new value into both starting and continue round
0BB4: DD 77 01 ld (ix+$01),a
0BB7: DD 77 C3 ld (ix-$3d),a
0BBA: C9 ret
So I want to change "ld a,$01" on $0BA2 to "ld a,$00".
Code: Select all
:s_aleste:20800000:0BA3:00000000:FFFFFFFF:Always Start with Round 0:Select "New Game Start" on title screen
Code: Select all
:s_aleste:20800000:0BB1:00000018:FFFFFFFF:Unlimited Continue Round:Enable to continue on Round 6
On sms.c
Code: Select all
ROM_START( s_aleste )
ROM_REGION( 0x400000, REGION_USER1, 0 ) /* z80 Code */
ROM_LOAD( "s_aleste.bin", 0x000000, 0x020000, CRC(d8c4165b) SHA1(cba75b0d54df3c9a8e399851a05c194c7a05fbfe) )
ROM_END
I have already checked these codes via Windows memory editor (works fine !) but I don't know how to confirm via the cheat engine.
Pugsy, can you hack any rom code on SMS ?