Jump to content

Emulation science, homebrewing and ROM hacking


Dermot

Recommended Posts

I've covered my interests (both Star Fox and non-Star Fox), I've done lots of polls, an art parade, and some wiki work.  The wiki work may be ongoing, but in terms of social interaction...I think I've run out of things new or different to talk about. o.o

Note that I'm also trying to tread very, very carefully. :P Honestly for the past several days I've been trying to avoid clumsy situations.  Sometimes successfully, sometimes unsuccessfully.  So I'm not really sure what kinds of things to expect from any given new topic I think to discuss. ^^;

Hey, I know!  Has anyone here dabbled in emulation programming or ROM hacking?  I coprogrammed an emulator years ago, and it's very fun to reverse-engineer ROM data too. :3 And I still remember how to read GBZ80 assembly code. :3

Link to comment
Share on other sites

I´ve dabbled unsuccessfully in the art of ROMs, ahaha. From that point on I decided to stick to my more artistic pursuits;;

By the way, I LOVE the images from that moving GIF in your signature! <3

Oh thank you! :D *hops and squees* <:3

err...what kind of ROM hacking did you try to do? :3 Using facelift utilities?  Tile editors?  Script editors?  Hex editors?

Link to comment
Share on other sites

Sure, ROM hacking is a C00L thing to do.

Even C00Ler if you can make ROMs.

Both are things (I think) which are

relatively safe to talk about.

Note that with 'relatively safe',

I mean about the possible legal

issues (specially ROM hacking,

as posting hacked roms is not

allowed, I think... Self made

roms there is no problem with,

mainly because you are the author,

and can choose if or if not to distrubute it).

As for the emulator you co-programmed,

would you mind to tell more about it?  :lol:

As for myself, well, I tried using game creators

to make a GBA game once, failed (was too young

to understand anything).

Rom Hacking, know about it, tried, but not much

done myself.

Link to comment
Share on other sites

Let's just assume we know where all the necessary stuff is, and we're not providing links to them. X3

I like the actual science of emulation and ROM hacking. :3 I coprogrammed a Game Boy Color emulator, but I couldn't have done it without help.

Sometimes I still hope I can completely reverse-engineer the useful data from the Star Fox 1 and 2 ROMs.  Not just bitmap data, but map data, etc.  I already know where the scripts are, and I once programmed a primitive script editor that extracts and reinserts the script (while updating the offset tables).  But it wasn't entirely satisfying because there were some things I couldn't figure out how to alter...

All those pairings are so sweet, but my favorite has to be Fox/Falco. So adorable! ;u;

/offtopic D8

Yes, Falox is <3

Link to comment
Share on other sites

Sometimes I still hope I can completely reverse-engineer the useful data from the Star Fox 1 and 2 ROMs.  Not just bitmap data, but map data, etc.  I already know where the scripts are, and I once programmed a primitive script editor that extracts and reinserts the script (while updating the offset tables).  But it wasn't entirely satisfying because there were some things I couldn't figure out how to alter...Yes, Falox is <3

Can not help but wish you good luck.

With the source code most likely lost

forever (or locked down in some ancient

Nintendo storage) the best thing to do to

find out about it is to 'extract' it's code, images,

ect.... (Ripping, yeah).  :wink:

Link to comment
Share on other sites

Oh, sorry, DRL, I didn't read everything you said until now. :P

My programming alias is Gilgamesh, and I coprogrammed the emulator gnuboy, back in the early 00s.  It's open source Free Software under the terms of the GNU General Public License.  Originally written as a portable GUI-less emulator for UNIX-style operating systems and DOS and Windows, it has since spread like wildfire on PDAs and cell phones.  (Though we wrote the core codebase, it was designed to be modular, and the other ports on other platforms involved porting modules we did not create.)

Its source code structure worked like this:

OS <---> port <---> port interface <---> core

We originally only wrote the codebase, designed the port interface, and wrote a reference port for Linux.  DOS and Windows followed (with modules programmed by collaborators).  After we abandoned the project, it continued to live through other people's ports to new operating systems.

The gnuboy homepage is long since gone, and is only available as the 1.0.3 source distribution and various port binaries.  Here, let me provide you the last snapshot of the source code, as a FILE ILLUSTRATION. :D

6tpszs.png

It's not the most perfect source code, but it was partially an attempt to prove that we could do it.  I leave it to you to figure out how to compile and build it. :3

Link to comment
Share on other sites

Can not help but wish you good luck.

With the source code most likely lost

forever (or locked down in some ancient

Nintendo storage) the best thing to do to

find out about it is to 'extract' it's code, images,

ect.... (Ripping, yeah).  :wink:

Oh, there's still disassembly. :3 Most SNES ROMs were written in assembly anyway.  The code would be highly redundant and not preserve any of the original macro structure...but it would still be complete.  Alas, I don't really know much about 65c816 machine language. XD

Link to comment
Share on other sites

Oh, there's still disassembly. :3 Most SNES ROMs were written in assembly anyway.  The code would be highly redundant and not preserve any of the original macro structure...but it would still be complete.  Alas, I don't really know much about 65c816 machine language. XD

Lol, it would be AWEC00L to

have the source code. Imagine

the possibilities! *Wonders*  :lol: + :D + :cool:

Link to comment
Share on other sites

Lol, it would be AWEC00L to

have the source code. Imagine

the possibilities! *Wonders*  :lol: + :D + :cool:

Well, I'm not sure how simple it would be either.  Remember, the game used not one but two CPUs - the 65c816 inside the Super NES, and the modified 65c816 we know as the Super FX chip inside the cartridge.  Even if they were both 65c816 chips, they may have had vastly different memory maps, interrupts, etc.  I don't even know how to begin disassembling a Super FX ROM. X3

Link to comment
Share on other sites

Well, I'm not sure how simple it would be either.  Remember, the game used not one but two CPUs - the 65c816 inside the Super NES, and the modified 65c816 we know as the Super FX chip inside the cartridge.  Even if they were both 65c816 chips, they may have had vastly different memory maps, interrupts, etc.  I don't even know how to begin disassembling a Super FX ROM. X3

Oh well, try practicing

with 'easier targets'. Mario,

maybe?  :lol: + :oops:

But yeah, the SFX chip was,

in it's time, 'the dual core'.

That is the best and worst

of cardtriges. They could add

cool stuff like RAM to it, but

when you have to hack it,

it is hard as heck. :? + :wink:

Link to comment
Share on other sites

Oh, speaking of making homebrewn GBA ROMs, I've made one. :3 Want to see it?

gbapipemaze.7z.png

Look, a ROM image. :P

SO MUCH TRUE lol

Thing is... it is LITERALLY a ROM contained

in an image.  :lol: + :cool: + :D

Your Image Illustrator, if I wrote it correctly. :)

Link to comment
Share on other sites

SO MUCH TRUE lol

Thing is... it is LITERALLY a ROM contained

in an image.  :lol: + :cool: + :D

Your Image Illustrator, if I wrote it correctly. :)

The program is called File Illustrator.  This is a File Illustration.  Maybe we can call it FI for short. :3

Link to comment
Share on other sites

The program is called File Illustrator.  This is a File Illustration.  Maybe we can call it FI for short. :3

Apologies, MEMORY FAIL :facepalm:

Oh well... acronyms. :wink:

FI sounds nice. :)

Link to comment
Share on other sites

Apologies, MEMORY FAIL :facepalm:

Oh well... acronyms. :wink:

FI sounds as 'Phi' in Spanish,

did you know?

?

File Illustrator works okay for you, right?  You can extract just fine with it? :3

Link to comment
Share on other sites

On the original topic, stuff is always nice. If you're like me, thoughts will enter your head or something will happen in irl that you would make good talking material.

Link to comment
Share on other sites

Hey, I seem to remember a Star Fox homebrewn demo ROM that someone released to the public years ago, for Game Boy Advance.  It was completely homebrewn by an amateur coder, to show what a Star Fox game might look like on GBA.  It was really interesting.  Let me see if I can find it again...

Ahh, here it is. :3

16ll6pc.png

This is not only a screenshot.  It's the ROM.  Extract with File Illustrator. :3

But in case you don't want a screenshot full of data snow, I've attached the original screenshot too. :3

Link to comment
Share on other sites

Keep it legal. Remember: no commercial game ROMs.

Link to comment
Share on other sites

Keep it legal. Remember: no commercial game ROMs.

None of these files are commercial ROMs. :3 I'm not about to link to commercial ROMs here. :P

Link to comment
Share on other sites

Here's something to throw out here: has anyone ever done custom ROM hacks of the Starfox games? Super Mario and to a degree the Legend of Zelda have tons of original games made as rom hacks of their SNES/N64 counterparts. I wouldn't mind a Starfox one if it was well done.

Link to comment
Share on other sites

Here's something to throw out here: has anyone ever done custom ROM hacks of the Starfox games? Super Mario and to a degree the Legend of Zelda have tons of original games made as rom hacks of their SNES/N64 counterparts. I wouldn't mind a Starfox one if it was well done.

For awhile I've been trying to do a script hack.  Basically, it's to rearrange it so that Falco's the team leader.  They even mention this during the training - Falco's acting team leader, but it's still Fox's team, and Falco's doing it for the leadership experience.  So Fox is in Falco's AI situations, and Falco rallies the team at the end of each mission.  Problem is...I can't change it so that it's Fox's name and icon instead of Falco's when it measures up the shield of teammates.

Should I do this anyway, even if I can't fix that? :P I'll release the IPS patch if I do. :3

Link to comment
Share on other sites

For awhile I've been trying to do a script hack.  Basically, it's to rearrange it so that Falco's the team leader.  They even mention this during the training - Falco's acting team leader, but it's still Fox's team, and Falco's doing it for the leadership experience.  So Fox is in Falco's AI situations, and Falco rallies the team at the end of each mission.  Problem is...I can't change it so that it's Fox's name and icon instead of Falco's when it measures up the shield of teammates.

Should I do this anyway, even if I can't fix that? :P I'll release the IPS patch if I do. :3

I'd play it, if just for the lulz. and if you don't make Fox and Falco flirt

Link to comment
Share on other sites

For awhile I've been trying to do a script hack.  Basically, it's to rearrange it so that Falco's the team leader.  They even mention this during the training - Falco's acting team leader, but it's still Fox's team, and Falco's doing it for the leadership experience.  So Fox is in Falco's AI situations, and Falco rallies the team at the end of each mission.  Problem is...I can't change it so that it's Fox's name and icon instead of Falco's when it measures up the shield of teammates.

Should I do this anyway, even if I can't fix that? :P I'll release the IPS patch if I do. :3

[glow=green,1,300]GO AHEAD[/glow]

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
×
×
  • Create New...