News: 11 March 2016 - Forum Rules
Current Moderators - DarkSol, KingMike, MathOnNapkins, Azkadellia, Danke

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.

Topics - Raccoon Sam

Pages: [1]
ROM Hacking Discussion / Sutte Hakkun stuff
« on: November 08, 2017, 04:27:24 am »
I released a translation patch just now and during the hacking process I ran into a hueg pointer array. More or less copypasta from the jul thread:

The array is $3EA0 bytes big ($10 bytes per entry so 1002 entries in total) and it's located at 0x30BFE. A similar array is present in other games in the Sutte Hakkun series (the several Satellaview versions). It is as follows:

pp pp pp pp dsize csize cflag uu uu uu uu uu uu
00 4C CC 00 00 40 C9 12 01 00 FF FF FF FF FF FF

pp = pointer to data
dsize = decompressed size
csize = compressed size
cflag = is the data compressed?
uu = unused
(dsize and csize are the same if cflag is 0)

I checked out every pointer and the data they point to. Frankly, the ROM hacking implications here are absolutely amazing. You might already realise that this massive array is essentially a file lookup table and it encompasses the whole (rest of the) ROM; everything from 0x34A9E to 0x300000 (pretty much everything except the game code, some smaller stuff and the player graphics). A Table Of Contents, if you will.

After extracting the compressed and uncompressed files and having a look at them, I was even more impressed – everything is super neat. Things are in a very logical order, even the level format can be understood by a baby, tilemaps are clean, graphics pages value readability over minimising tile redundancy... and everything is its own file. Every stage, every physmap, every tilemap, every palette, every graphics page. Additionally, the ROM is huge so there's lots of free space at the end of the ROM anyway.
Alas, although I know Python, I don't think I know if well enough to author a real editor. I did make a level visualiser (binary to TMX) to help understand what's going on:

Is anyone interested in hacking the game(s)? I've never seen anything like this (a single pointer array that lists 99% of the game content in a neat manner) in a ROM before.

Help Wanted Ads / LZSS compressor needed
« on: June 26, 2017, 09:00:24 am »
Please help, I'm willing to pay a few bucks.  :-\

The decompression method for Pocky & Rocky was spec'd some time ago and some pseudocode/disassembly got pushed to GitHub too.
I already wrote a decompressor because that's pretty easy and it works alright but I now need a compressor so I can do some insertion too instead of just extraction.
My Python/C skills just aren't enough for the job so I need your help.

The format is explained in the /vr/ thread much better (if you can read the github code, that gives a good idea too I guess) but here's a quick visualisation I made. The LZSS'd data in ROM is the top field and the decompressed data in RAM is the bottom field.

The format is straightforward and decompressing it is easy peasy, but I can't wrap my head around how to make a compressor. Especially the pseudo-RLE shown in the green compress word is giving me headache.

For convenience, I've attached a compressed file and its corresponding decompressed file.

bonus info:
I'm having a wedding party thing the 19th of August and to keep the kids (well, any guest who likes video games I guess) busy, we've set up a SNES with an Everdrive on it. Because Pocky bears a striking resemblance to my wife and Rocky to our fat dog, we thought it would be fitting to have a simple graphics-/dialogue rom hack of Pocky & Rocky. I can decompress data but getting it back in is impossible for the time being so I thought you guys might be able to help.  :beer:

Personal Projects / yrtnuoC gnoK yeknoD
« on: April 28, 2017, 10:52:02 am »
Download here: ckd.ips
The patch is for an unheadered US 1.0 ROM.

I was greatly inspired by SMILEuser96's Super Metroid Rotation and I've been working on this for some time now. In a nutshell, this hack flips all the levels in Donkey Kong Country horizontally*.
I wrote a set of Python scripts that flip the level layout horizontally, then mirror the camera focal coordinates, then flip the sprite order (excluding the level exit sprite) and subtract their x position values from the level width, and do the same to the levels' banana maps. I had to do some manual work with DKCRE, dkedit and a hex editor... some small parts of the level layouts had to be fixed by hand to make them actually beatable, but otherwise they're pretty much 1:1. What's most affected are the Warp barrels, a few bonus barrels, some ropes and the layout and shooting direction of certain barrels.

I am no longer interested in working on this hack, so if anyone wants to continue, be my guest! As far as I'm aware, only things that aren't done are:
• Map wrap-around isn't working
• Trick Track Trek and Tanked up Trouble are unbeatable
• Temple Tempest Gnawties don't start homing you
• The sprites for bonus walls aren't flipped
• Water levels and Slipslide Ride are unflipped

Sorry for the huge screenshots.

*) Bonus levels have been left as they were.

ROM Hacking Discussion / Donkey Kong Country map screen sprite
« on: March 20, 2017, 07:17:26 am »
In Donkey Kong Country, as you progress, the ship of the final boss starts approaching, inching closer to the island with every world you beat. The ship itself is a sprite.

I am working on a hack and this is one of the only few things I can't figure out. How do I change the position (and the graphics/OAM attributes) of these ship sprites?

I can run NO$SNS and Geiger's SNES9X debugger, if that helps.

ROM Hacking Discussion / How am I supposed to hack PSX games?
« on: June 06, 2014, 03:36:02 am »
Probably safe to mention right now that I'm a mac user. I can still run most Windows apps through a compatibility layer, but if there's a native way, I'd rather go with that.

So, I've previously dealt only with NES/SNES/Game Boy/Wonderswan games when it comes to hacking, and with a hex editor and a brute-force approach, I've always managed. It's just one file I'm editing, and the changes I make can be instantly seen by running them on an emulator.
With PSX though, I can get the ISO, mount it, and have read access to all the files. I can view the individual files, but because it's a CD ROM image, writing is forbidden.
My intuition tells me that I should copy all the files to my hard drive and edit them, but then I won't be able to run them on an emulator anymore(?). The ones I've used have only "Open Image file" or "Boot from CD" options.
So far the only even remotely reasonable way I can think of is editing the ISO file itself (like a SNES ROM), but although the changes I make are instant, I lose the luxury of a file directory thus having to keep track of offsets and pointers.

Is there some trick that gives me write access to mounted Images or an emulator that allows booting from a folder?  :-[

Pages: [1]