MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Pages: 1

MeshGearFox
MAME Fan
Reged: 12/26/13
Posts: 5
Send PM


Adding drivers for Dotemu's IREM roms/compiling help.
#319263 - 12/26/13 01:11 AM


I recently bought a bundle of IREM arcade games from Dotemu and, partially for my own edification and partially because the included emulator has a lot of issues on my laptop, I'm interested in adding drivers for these to MAME (for my personal use, if nothing else).

I've been looking at R-Type Leo first.

1. I'm having some issues getting the MAME 1.5.2 source to compile. At the linking stage, I'm getting an error about an undefined reference to driver_xorworld in drivlist.o. Commenting out the two lines referring to xorworld in drivlist.c lets me finish linking, but is doing this going to cause other problems?

I'm also getting this access violation when launching the new executable. The official binaries work fine, it's only the one I'm compiling myself:


Code:


-----------------------------------------------------
Exception at EIP=00000000021C71A1 (decompress_data+0x0021): ACCESS VIOLATION
While attempting to read memory at 0000000000000000
-----------------------------------------------------
RAX=00000000039B7040 RBX=000000000022E880 RCX=00000000052C316B RDX=0000000000007
116
RSI=0000000000000000 RDI=0000000004097B60 RBP=000000000671FFA0 RSP=0000000000227
B20
R8=0000000000007117 R9=0000000006931E40 R10=0000000000007116 R11=8101010101010
100
R12=00000000000003E7 R13=0000000000000000 R14=0000000000000000 R15=0000000000000
000
-----------------------------------------------------
Stack crawl:
0000000000227B50: 00000000021C71A1 (decompress_data+0x0021)
000000000022F360: 000000000201ACEF (ui_draw_text_box(render_container*, char c
onst*, int, float, float, unsigned int) [clone .constprop.98]+0x012f)
000000000022F8A0: 00000000021862BE (chd_codec_list::find_in_list(unsigned int)
+0x004e)
000000000022FE10: 00000000016D0933 (t11_device::bic_ixd_ix(unsigned short)+0x0
173)
000000000022FE60: 00000000023E162C (device_t* driver_device_creatorate>(machine_config const&, char const*, device_t*, unsigned int)+0x01bc)
000000000022FF20: 00000000004013F0 (__tmainCRTStartup+0x0270)
000000000022FF50: 00000000004014F8 (mainCRTStartup+0x0018)
000000000022FF80: 000000007794652D (BaseThreadInitThunk+0x000d)
000000000022FFD0: 0000000077B7C541 (RtlUserThreadStart+0x0021)



2. The standard MAME rom archive and the one Dotemu has are structured differently, although that actual data appears to be pretty similar. In the Dotemu ones, most of the individuals binaries have been merged. For the most part, I've found which MAME binaries correspond to which Dotemu binaries, except for one.

The MAME rom archive has a file called rtl-da.bin in the R-Type Leo romset, and m92.c has this getting loaded into a ROM region called "irem". The other games in the m92.c driver source do something similar.

Any idea what this is for?

Thanks!

Edited by MeshGearFox (12/26/13 06:42 AM)



redk9258
Regular
Reged: 09/21/03
Posts: 3968
Loc: Troy, Illinois USA
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319264 - 12/26/13 07:47 AM


Can you compile an unmodified source and run the resulting MAME? What steps have you taken to compile MAME?



Anonymous
Unregistered
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319268 - 12/26/13 08:11 PM


> The MAME rom archive has a file called rtl-da.bin in the R-Type Leo romset, and m92.c
> has this getting loaded into a ROM region called "irem". The other games in the m92.c
> driver source do something similar.
>
> Any idea what this is for?

Looks like it contains the sound samples.

As for your other problems, it sounds like a problem only on your end.



MeshGearFox
MAME Fan
Reged: 12/26/13
Posts: 5
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: redk9258]
#319275 - 12/26/13 11:12 PM


redk9258,

I recompiled everything and it's working now. I think something got corrupted the first time, maybe?

smf,

Thanks for the update. I'm guessing da stands for decompressed audio?

Anyway, this is how the Dotemu rom looks like it's structured, based on what you're telling me:

CPU1.BIN (1024kb) = Interleaved rlt-h0-c.bin and rtl-l0-c.bin, followed by interleaved rlt-h0-d.bin and rtl-l0-d.bin.
CPU2.BIN (128kb) = Interleaved rtl-sh0a.bin and rtl-sl0a.bin.
GFX1.BIN (2048kb) = rtl-c0.bin through rtl-c3.bin, appended one after the other.
GFX2.BIN (4096kb) = rtl-000.bin through rtl-030.bin, appened one after the other.
SOUND.BIN (512kb) = rtl-da.bin

CPU2D.BIN (128kb) = I can't find this in the MAME rom so I'll see what happens if I just ignore it.

CPU1.BIN seems larger than it should be to me -- I think the roms it's composed of only total 768kb, and that's all that fits into the memory location specified in the source anyway, although everything looks like it's at the right memory offset in the merged file.

Edited by MeshGearFox (12/26/13 11:58 PM)



redk9258
Regular
Reged: 09/21/03
Posts: 3968
Loc: Troy, Illinois USA
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319279 - 12/27/13 12:08 AM


I think that page is a little outdated.

You need to run setup-Python.bat first (one time).
Before compiling, run setenv.bat, then compile.



MeshGearFox
MAME Fan
Reged: 12/26/13
Posts: 5
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: redk9258]
#319285 - 12/27/13 03:07 AM


It's definitely working now.

I think the first time I was trying to compile it, the process crashed midway through, and I'm guessing that led to some corrupted object files, maybe?

In any case, I got MAMEUI to load the Dotemu roms using a modified m92.c, so I guess the next step is moving my changes into their own driver file.

Thanks again for the help!



Anonymous
Unregistered
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319311 - 12/27/13 01:46 PM


> CPU2D.BIN (128kb) = I can't find this in the MAME rom so I'll see what happens if I
> just ignore it.

rtypeleo has an encrypted sound cpu. There is an internal translation table for opcodes & MAME does the translation at run time. what I would guess they have done is taken the sound rom & looked each byte up in the rtypeleo_decryption_table from irem_cpuc and then saved it & use that instead.

> CPU1.BIN seems larger than it should be to me -- I think the roms it's composed of
> only total 768kb, and that's all that fits into the memory location specified in the
> source anyway, although everything looks like it's at the right memory offset in the
> merged file.

MAME creates a 1mb region, but only loads 768kb. I guess they saved out the whole 1mb.

ROM_REGION( 0x100000, "maincpu", 0 )
ROM_LOAD16_BYTE( "rtl-h0-c.bin", 0x000001, 0x040000, CRC(5fef7fa1) SHA1(7d18d4ea979d887d6da42c79734b8c695f3df02b) )
ROM_LOAD16_BYTE( "rtl-l0-c.bin", 0x000000, 0x040000, CRC(8156456b) SHA1(9755ab80feb92e3e3a36154d57ee2b53185b6816) )
ROM_LOAD16_BYTE( "rtl-h1-d.bin", 0x080001, 0x020000, CRC(352ff444) SHA1(e302bc8dbf80abe5c1aaf02e92473fc72a796e72) )
ROM_LOAD16_BYTE( "rtl-l1-d.bin", 0x080000, 0x020000, CRC(fd34ea46) SHA1(aca12d46ebff94505d03884e45805e84bbece6a7) )



MeshGearFox
MAME Fan
Reged: 12/26/13
Posts: 5
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: ]
#319347 - 12/28/13 03:37 AM


>MAME creates a 1mb region, but only loads 768kb. I guess they saved out the whole 1mb.

About that -- I noticed that a lot of other roms have filler too.

These are supposed to be legal roms provided by IREM for commercial distribution through Dotemu. Except what you're describing makes it sound like someone just took RAM dumps directly from MAME to produce the roms..?

Would that call their legitimacy into concern?



Anonymous
Unregistered
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319351 - 12/28/13 04:40 AM


> These are supposed to be legal roms provided by IREM for commercial distribution
> through Dotemu.

It wouldn't surprise me if Dotemu paid IREM to release the games commercially and got nothing to help them do it (that is usually what happens). IIRC the Konami Arcade Classics for PlayStaton contains zip files that contain Guru's readme's.

> Except what you're describing makes it sound like someone just took
> RAM dumps directly from MAME to produce the roms..?

Well that that would be the easiest way of doing it.

> Would that call their legitimacy into concern?

I'd be more worried if they didn't match, if they change the files then it's not the same game. Supplying the game in one file or split into many is irrelevant in terms of copyright. In theory you should be licensed to split them up and use them with MAME, although that depends on the country you're in and how good their lawyers are.



Foxhack
Furry guy
Reged: 01/30/04
Posts: 2409
Loc: Spicy Canada
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: ]
#319356 - 12/28/13 06:55 AM


> > These are supposed to be legal roms provided by IREM for commercial distribution
> > through Dotemu.
>
> It wouldn't surprise me if Dotemu paid IREM to release the games commercially and got
> nothing to help them do it (that is usually what happens). IIRC the Konami Arcade
> Classics for PlayStaton contains zip files that contain Guru's readme's.

............... whaaaaaaaaaaaat?

Now I gotta download those games to check that out!



Foxhack
Furry guy
Reged: 01/30/04
Posts: 2409
Loc: Spicy Canada
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: MeshGearFox]
#319357 - 12/28/13 06:56 AM


> I recently bought a bundle of IREM arcade games from Dotemu and, partially for my own
> edification and partially because the included emulator has a lot of issues on my
> laptop, I'm interested in adding drivers for these to MAME (for my personal use, if
> nothing else).
>
> I've been looking at R-Type Leo first.
>
> 1. I'm having some issues getting the MAME 1.5.2 source to compile. At the linking
> stage, I'm getting an error about an undefined reference to driver_xorworld in
> drivlist.o. Commenting out the two lines referring to xorworld in drivlist.c lets me
> finish linking, but is doing this going to cause other problems?
>
> I'm also getting this access violation when launching the new executable. The
> official binaries work fine, it's only the one I'm compiling myself:
>
>
> -----------------------------------------------------
> Exception at EIP=00000000021C71A1 (decompress_data+0x0021): ACCESS VIOLATION
> While attempting to read memory at 0000000000000000
> -----------------------------------------------------
> RAX=00000000039B7040 RBX=000000000022E880 RCX=00000000052C316B RDX=0000000000007
> 116
> RSI=0000000000000000 RDI=0000000004097B60 RBP=000000000671FFA0 RSP=0000000000227
> B20
> R8=0000000000007117 R9=0000000006931E40 R10=0000000000007116 R11=8101010101010
> 100
> R12=00000000000003E7 R13=0000000000000000 R14=0000000000000000 R15=0000000000000
> 000
> -----------------------------------------------------
> Stack crawl:
> 0000000000227B50: 00000000021C71A1 (decompress_data+0x0021)
> 000000000022F360: 000000000201ACEF (ui_draw_text_box(render_container*, char c
> onst*, int, float, float, unsigned int) [clone .constprop.98]+0x012f)
> 000000000022F8A0: 00000000021862BE (chd_codec_list::find_in_list(unsigned int)
> +0x004e)
> 000000000022FE10: 00000000016D0933 (t11_device::bic_ixd_ix(unsigned short)+0x0
> 173)
> 000000000022FE60: 00000000023E162C (device_t* driver_device_creator(machine_config
> const&, char const*, device_t*, unsigned int)+0x01bc)
> 000000000022FF20: 00000000004013F0 (__tmainCRTStartup+0x0270)
> 000000000022FF50: 00000000004014F8 (mainCRTStartup+0x0018)
> 000000000022FF80: 000000007794652D (BaseThreadInitThunk+0x000d)
> 000000000022FFD0: 0000000077B7C541 (RtlUserThreadStart+0x0021)
>
> 2. The standard MAME rom archive and the one Dotemu has are structured differently,
> although that actual data appears to be pretty similar. In the Dotemu ones, most of
> the individuals binaries have been merged. For the most part, I've found which MAME
> binaries correspond to which Dotemu binaries, except for one.
>
> The MAME rom archive has a file called rtl-da.bin in the R-Type Leo romset, and m92.c
> has this getting loaded into a ROM region called "irem". The other games in the m92.c
> driver source do something similar.
>
> Any idea what this is for?
>
> Thanks!

Slightly off-topic, but did they EVER update the program? I bought it a few years ago and they said they had a new update in the works but it never came. The emulation stunk. I already paid for my license to use the games so I just play them in MAME instead.



MeshGearFox
MAME Fan
Reged: 12/26/13
Posts: 5
Send PM


Re: Adding drivers for Dotemu's IREM roms/compiling help. new [Re: Foxhack]
#319491 - 12/30/13 07:45 PM


No, they never released the update even though it was supposed to be ready. Hence my motivation for doing this.

As far as I know they did get rights to use the Japanese Undercover Cops ROM so I guess it's your judgement call whether that translates to the end user or not, even in the absence of an actual patch release.

I don't know, maybe we should start bugging them again. I don't really CARE that much, but it's kind of a principle thing.

I know a lot of people had issues with Raiden Legacy too -- I personally didn't -- but I don't know if Dotemu actually developed that or just distributed the PC port of Raiden Fighter Aces..?

Anyway, I got everything except Vigilant and Kung-Fu working. Maybe I should upload this somewhere. I don't know if anyone else would be interested.


Pages: 1

MAMEWorld >> EmuChat
Previous thread Previous  View all threads Index   Next thread Next   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Robbbert, Tafoid 
0 registered and 137 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 2340