MAMEWorld >> Programming
View all threads Index   Threaded Mode Threaded  

Pages: 1

Minuous
MAME Fan
Reged: 07/11/06
Posts: 8
Send PM


Where to find game disassemblies?
#197403 - 07/27/09 06:43 AM


Hello all,

In the process of writing MAME drivers, etc. it is often necessary to disassemble game ROMs. I was wondering if there was anywhere to which these commented disassemblies were uploaded? Since it takes considerable effort and time to do these disassemblies, it would be a shame if these weren't uploaded somewhere...
Does anyone know of any site which has these available?
Many thanks...



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: Where to find game disassemblies? new [Re: Minuous]
#197452 - 07/27/09 08:38 PM


> Hello all,
>
> In the process of writing MAME drivers, etc. it is often necessary to disassemble
> game ROMs. I was wondering if there was anywhere to which these commented
> disassemblies were uploaded? Since it takes considerable effort and time to do these
> disassemblies, it would be a shame if these weren't uploaded somewhere...
> Does anyone know of any site which has these available?
> Many thanks...

You'd be surprised how little disassembly actually happens as part of writing a typical driver. To my knowledge nobody's ever done anything close to a comprehensive disassembly for anything in MAME[1], just isolated bits of code that were causing trouble with the emulation. Part of that's because MAME's built-in debugger is a lot better than average for hobbyist emulators (it allows adding comments to the code, for instance), although I do keep IDA Pro close at hand when I need to see more forest and less trees.

[1] There are commented disassemblies out for Pac Man and some other simple early games, but those weren't associated with MAME.



Minuous
MAME Fan
Reged: 07/11/06
Posts: 8
Send PM


Re: Where to find game disassemblies? new [Re: R. Belmont]
#197681 - 07/31/09 04:32 AM


That's odd, I have spent hundreds of hours doing disassemblies in the course of the development of my emulator. (http://amigan.yatho.com/disasm.rar for those interested).

I don't suppose you have the URL of the "non-MAME-associated" disassemblies? As something is better than nothing. Many thanks.



Heihachi_73
I am the Table!
Reged: 10/29/03
Posts: 1074
Loc: Melbourne, Australia
Send PM


Re: Where to find game disassemblies? new [Re: Minuous]
#197685 - 07/31/09 06:06 AM


> That's odd, I have spent hundreds of hours doing disassemblies in the course of the
> development of my emulator. (http://amigan.yatho.com/disasm.rar for those
> interested).
>
> I don't suppose you have the URL of the "non-MAME-associated" disassemblies? As
> something is better than nothing. Many thanks.

AFAIK there isn't really anything apart from a few lines of code to fix Donkey Kong's level 22 timer bug, Pac-Man's 255th stage and some free play hacks for games that never supported it, all by the same author. I don't think you'll find an entire ROM image that has been completely disassembled and commented showing every single piece of the code! It would be nice though.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: Where to find game disassemblies? new [Re: Heihachi_73]
#197710 - 07/31/09 06:21 PM


> > That's odd, I have spent hundreds of hours doing disassemblies in the course of the
> > development of my emulator. (http://amigan.yatho.com/disasm.rar for those
> > interested).
> >
> > I don't suppose you have the URL of the "non-MAME-associated" disassemblies? As
> > something is better than nothing. Many thanks.
>
> AFAIK there isn't really anything apart from a few lines of code to fix Donkey Kong's
> level 22 timer bug, Pac-Man's 255th stage and some free play hacks for games that
> never supported it, all by the same author. I don't think you'll find an entire ROM
> image that has been completely disassembled and commented showing every single piece
> of the code! It would be nice though.

You didn't even read my post on this thread. MAME u1 will remove all Tekken games as punishment :P

Here's the Pac Man disassembly referenced by the Pac-Man Dossier.



R. Belmont
Cuckoo for IGAvania
Reged: 09/21/03
Posts: 9711
Loc: ECV-197 The Orville
Send PM


Re: Where to find game disassemblies? new [Re: Minuous]
#197711 - 07/31/09 06:24 PM


> That's odd, I have spent hundreds of hours doing disassemblies in the course of the
> development of my emulator. (http://amigan.yatho.com/disasm.rar for those
> interested).

Unless it's for a currently unemulated CPU we generally don't do any disassembly to start with. Just drop in the ROMs, run it, and see what reads/writes happen. You develop instincts like "that pattern's an AY-3-8910" or "there's a YM2151 initialize" or "there's a tilemap". Of course, if you're lucky enough to have schematics then no guessing need occur



Heihachi_73
I am the Table!
Reged: 10/29/03
Posts: 1074
Loc: Melbourne, Australia
Send PM


Re: Where to find game disassemblies? new [Re: R. Belmont]
#197872 - 08/02/09 07:01 AM Attachment: swthrt2v_gfxrip.png 40 KB (3 downloads)


LOL! Luckily I made a few backup builds when adding the new gambling games.

I might have to stop thinking about disassembling those games, I'd be there until next Christmas documenting everything since there's up to 3MB of ROM data to get through (Aristocrat MKVI SH-4 based games have been up to 16MB so far).

Meanwhile, here's an incomplete graphics rip of what one of them should look like (aristmk5)...

Edit: Fixed reel placement.

[ATTACHED IMAGE]

Attachment

Edited by Heihachi_73 (08/04/09 12:08 PM)



Heihachi_73
I am the Table!
Reged: 10/29/03
Posts: 1074
Loc: Melbourne, Australia
Send PM


Another 'jigsaw puzzle' completed new [Re: Heihachi_73]
#198069 - 08/04/09 12:11 PM Attachment: dolphintr_gfxrip.png 51 KB (2 downloads)


The different shade of yellow around the sunset is completely normal, the game has this 'bug' too.

[ATTACHED IMAGE]

Attachment



Phantom DJ
MAME Fan
Reged: 04/05/06
Posts: 99
Send PM


Re: Where to find game disassemblies? new [Re: Minuous]
#209401 - 12/24/09 09:46 AM


I would guess that for most copyrighted games, posting a disassembly of a game's code would be legally questionable. This may be why it is not normally done.

A glaring exception to this is the public comments on pac-man and ms pac-man which can be found online. However, at last check, these pages featured only partially commented code.

For pac-man, I took what was available and have more or less completely commented and decoded it. But I dare not post this on my site. I tried to email it to the author of the web page I 'borrowed' the comments from, but he has not responded.

I also have a full commented code of Donkey Kong.

I have many partial commented games, like space invaders, asteroids, defender, frogger, etc etc. Most of these are done to find bugs or other things like easter eggs. Either that, or I just haven't had the time/energy/incentive to finish them off.

I often wondered , while I was commenting on the code for these, how much better (faster) it would be if the job could be spread apart for X number of people. If only I could find others that don't have anything better to do than write comments for these classic games of yesteryear.

Don Hodges

Check my article archive at

http://www.donhodges.com/archive.htm

To find bug fixes etc for classic arcade games.



Heihachi_73
I am the Table!
Reged: 10/29/03
Posts: 1074
Loc: Melbourne, Australia
Send PM


Re: Where to find game disassemblies? new [Re: Phantom DJ]
#209721 - 12/29/09 01:10 AM


Having been around game consoles for many years, only venturing to arcades to play Tekken(!), my bug experience is limited, but I do have the following possibly undocumented glitches and Easter Eggs:

This section from the instruction book of Bank Panic for the Sega Master System always confused me:


Code:

ADVICE FROM PROFESSOR PLAYOR

* This is a game in which your "judgement",
"reflexes" and "speed" are tested.

Even an impatient player may at once be
able to turn himself into a cool-headed
gunman ...

* To begin with, your target is to clear 50
rounds.

If you are successful in accomplishing this
lofty objective, then your gun play is
considered to be that of a real first-class
marksman.



The second sentence would also be a bit strange to be in a children's rated game as of 2010! Wonder if anyone went on a shooting rampage after being fed up to death of this game?

Back to the game... The only thing is, clearing 50 rounds on the Master System version of the game simply jumps you to Round 51; not only that, it is nearly impossible to shoot the robbers once you hit Round 15 as you get roughly 3 frames (1/20th of a second) to shoot them! The game itself has a kill/crash screen on round 253, causing the 'boy' character to spawn with 0 hats on his head. The instructions book is also heavily based on the arcade version of the game (even including a screenshot of it amongst the SMS ones!), of which is very different to the SMS version released three years later - however, the Japanese SG-1000 version is much more arcade faithful.

Speaking of Master System...
The infinite-lives-before-1000000 bug also exists in Sonic 1 for the Master System (and probably Game Gear and other ports and possibly even other Sonic games including 16-bit versions), not that you can get that many points in the game (use a score hack). Similar to the Defender bug.

An easter egg appears if you don't enter a name at the start - a series of random names which includes (Mr/Ms.) OPA OPA will appear instead (note that you can't select a space character in the interface - there are ten names at $919D in ROM). There is also a sound test hidden in the game (at $87F8), don't know how to access it as ASM isn't my forte.

Another strange bug is in Casino Games - enter a password of 0000000000 and you will receive $0 to start your game (instead of $500 by default, or more with other passwords) but not be considered bankrupt. Once you try to start blackjack or baccarat (in the latter, you can only bet on the player, and it is entirely automatic!), you can't exit as it waits for you to enter your bet amount. There is also some Engrish when you don't have enough money to play poker. You can play the pinball game with $0 however, for some strange reason it doesn't cost any money to play it!

There's also a bug in Parlour Games, where you can cheat the CPU billiards player by setting the english (position) on the ball with the D-pad (and holding) while the CPU setting the shot. This naturally causes the ball to spin when the computer hits it, often causing the white ball to hit the wrong balls or even go in the pocket after a bad cushion bounce (of which the CPU tends to use a lot).


Pages: 1

MAMEWorld >> Programming
View all threads Index   Threaded Mode Threaded  

Extra information Permissions
Moderator:  Pi 
0 registered and 6 anonymous users are browsing this forum.
You cannot start new topics
You cannot reply to topics
HTML is enabled
UBBCode is enabled
Thread views: 10425