Page 4 of 5

Kluge fix

Posted: Wed Apr 21, 2004 6:46 pm
by GreyRogue
I could've saved myself a lot of time if I had known someone else was working on this. I used your code to throw in some of my changes. I think I've got the kludge fixed. Also, the read from a02001, unless I miss my guess, is because ic36 is a00000-a03fff. I'm not sure about it, and I'm too tired to look at it now, but that's my guess, anyway. Also, I noticed that at bank select 142, it's sometimes writing to 9200. This corresponds to a12000, which is the z80 reset address. I think this needs to be thrown in. I threw in my notes on the f402/f204/a10007 in case those are helpful.

Posted: Wed Apr 21, 2004 7:43 pm
by mahlemiut
Awesome! This solves some of the headaches. It introduces the odd problem, though. In particular, the BIOS doesn't return from test mode.

Only change I've made so far is this:
[in bank_w]:
if(offset >= 0x2000 && (bios_width & 0x08))
// ic36_ram[offset] = data;
ic36_ram[offset - 0x2000] = data;

Just switched the commented lines. This makes the IC36 RAM test pass, and the instructions appear too (the BIOS writes them there).

If you're right about IC36 being 0xa00000-a03fff, then the flipped bytes of the game DIPs should be at 0xc000. Number of credits should be 0xc001 (gaxe2 uses this for it's own display).

Posted: Wed Apr 21, 2004 8:43 pm
by mahlemiut
OK, IC36 maps to 0xa02000-0xa03fff on the 68k. This gives the correct DIP settings, and the credit counter in GA2. 0xa00000-0xa01fff (sound Z80 0x0000-0x1fff) is just no longer mirrored as it is on a Genesis.

Multi ROM support

Posted: Thu Apr 22, 2004 12:38 am
by GreyRogue
Ah, yes. I had the addressing correct in mine because I did it in a slightly different way, but rechecking mine, it was mapping to a02000.
Some other stuff I didn't include in my update:

I think this allows multiple carts to be used. It makes the memory test do an additional 3 main/sub slot pair checks:
In megaplay_bios_6600_r
return (bios_6600 & 0xfe) | (bios_bank & 0x01);

I was just looking at this and I think adding support for multiple roms would just be a simple task of loading all of the ROMS and MUXing 0x000000-0x3fffff based on 6203 & 0x03.(selecting for all you non-EE's).
This also makes it look like the 68000 reset should be reset on transition from (6403 & 0x0c) from 0x0 to 0xc not c to 0. (which is not how I had it).

One other small change. Switching requires the use of the select button, which is 6400 bit 0. The beginning of my MEGAPLAY_TEST section:
#define MEGAPLAY_TEST \
PORT_START \
PORT_BITX( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2, "Select", KEYCODE_0, JOYCODE_NONE ) \

So changing the bitx line maps to something other than the player2 input.

Re: Multi ROM support

Posted: Thu Apr 22, 2004 4:49 am
by mahlemiut
GreyRogue wrote:This also makes it look like the 68000 reset should be reset on transition from (6403 & 0x0c) from 0x0 to 0xc not c to 0. (which is not how I had it).
Ok, that makes sense. The BIOS often wrote 0x00 then 0x0c in pairs. Made that change. (It's 6404 & 0x0c, btw :))
GreyRogue wrote:One other small change. Switching requires the use of the select button, which is 6400 bit 0. The beginning of my MEGAPLAY_TEST section:
#define MEGAPLAY_TEST \
PORT_START \
PORT_BITX( 0x01, IP_ACTIVE_LOW, IPT_SERVICE2, "Select", KEYCODE_0, JOYCODE_NONE ) \

So changing the bitx line maps to something other than the player2 input.
Added this too, it is good to know about as much of the inputs as possible, even though it wouldn't be of use for MAME. It'll probably be useful to document it in the driver though.

EDIT: It should also be noted that it's only Sonic that doesn't return from test mode. GA2 and TWC exit test mode fine.

Posted: Thu Apr 22, 2004 8:31 am
by mahlemiut

Posted: Thu Apr 22, 2004 9:14 am
by QRS
I guess 081u7 will be out any minute then? j/k :P

Megatech bugs

Posted: Thu Jun 10, 2004 12:05 pm
by Luja
Megatech bugs

Megatech Golden Axe: Control input in Megatech - Golden Axe is broken :cry:
When you press a key the game is paused. It's fine in Megatech - Golden Axe II

Megatech Golden Axe 2: after a time (in the begining of the 2th stage) the keys don“t accept any order, and the character stops (in .83). It was fine in .82

Posted: Sat Oct 09, 2004 3:57 am
by mahlemiut
Quickie fix for Recalhorn (prototype).

Sound works better, although still not perfect.

Code based on 0.87u2.

Sample: http://mahlemiut.marpirc.net/recalh-0050.mp3

Posted: Sat Oct 09, 2004 6:26 am
by Haze
ROM_REGION16_BE(0x1000000, REGION_SOUND1 , ROMREGION_SOUNDONLY | ROMREGION_ERASE00 )
ROM_LOAD16_BYTE("rh_snd0.bin", 0x000000, 0x200000, CRC(386f5e1b) SHA1(d67d5f057c6db3092643f10ea10f977b1caa662f) )
ROM_RELOAD( 0x400000, 0x200000)
ROM_LOAD16_BYTE("rh_snd1.bin", 0x800000, 0x100000, CRC(ed894fe1) SHA1(5bf2fb6abdcf25bc525a2c3b29dbf7aca0b18fea) )
ROM_RELOAD( 0xa00000, 0x100000)
ROM_RELOAD( 0xc00000, 0x100000)
ROM_RELOAD( 0xe00000, 0x100000)

this code looks a bit cleaner (doesn't load over the top of the rom)

does it still sound as good?

Posted: Sat Oct 09, 2004 6:52 am
by mahlemiut
Yeah, that sounds virtually perfect now, not so many random sounds. \:D/

Posted: Sat Oct 09, 2004 7:54 am
by QRS
Wow! Better sound! It sure makes the game even more fun :)

Posted: Sun Oct 10, 2004 9:15 pm
by mahlemiut
QRS wrote:Wow! Better sound! It sure makes the game even more fun :)
http://wolfmame.marpirc.net/wolf087u1-recalhfix.zip
Tiny build, supporting only Recalhorn.
Should be compatible with current inps.

Posted: Sun Oct 10, 2004 9:51 pm
by QRS
mahlemiut wrote:
QRS wrote:Wow! Better sound! It sure makes the game even more fun :)
http://wolfmame.marpirc.net/wolf087u1-recalhfix.zip
Tiny build, supporting only Recalhorn.
Should be compatible with current inps.
Already up and running :)

Posted: Sun Oct 10, 2004 11:03 pm
by BBH
nice desktop background. :D