+  RHDN Forum Archive
|-+  Romhacking
| |-+  ROM Hacking Discussion
| | |-+  Puyo Puyo on Megadrive, the story so far.
Pages: [1] 2
Author Topic: Puyo Puyo on Megadrive, the story so far.  (Read 956 times)
RyanfromScotland
Guest
« on: December 16, 2007, 02:41:00 pm »

Ok I've been looking at this game for about 2 days solid now and I'm yet to get anything out of it.

Before I started I decided that this would be one of those projects I don't stop untill I finish regardless of whether it takes years or no and that way it'll force me into advancing my knowledge since right now I find myself just bouncing from game to game applying what I already know to each. However because of the slow start I'm starting to think it's going to be one of those projects I don't stop untill I get pissed off and decide to stop Smiley Just kidding, it has been frustrating so far but I'm determind.

I've put this topic up because I'm having great difficulty finding any graphics or fonts in the ROM and I'm losing track of what I have and have not tried and where something is which I have read. I'm now keeping a little diary of my current attempts so I know what I've tried and it is as follows:

1.Tile Layer Pro and looked through for graphics and font. No Result.

2.YY-Chr and looked through for graphics and font on all settings. No Result except  6ff28 – 1BPP 16x16 maybe a ingame graphic. (Doubtful)

3.Relative Search on the line from Trans2.jpg with:
FU FU N = 28 28 46 = Too many matches
FU FU N * * A TA = 28 28 46 * * 1 16 = Nothing
A TA SHI NO = 1 16 12 25 =  Nothing
A * TA * SHI * NO = 1 * 16 * 12 * 25 =  Nothing
A * * TA * * SHI * * NO = 1 * * 16 * * 12 * * 25 =  Nothing
Relative Search on the first enemy's name:
D R A C = 4 18 1 3 = 3 Matches: 5E10Ch, 7BBC0h, 7E28Dh
5E10Ch increased by 1 affects graphic for first enemy. Text is fine.
7BBC0h increased by 1 affects nothing.
7E28Dh increased by 1 affects nothing.
All increased by 1 affects graphic for first enemy. Text is fine.

4.Romaji Search on the line from Trans2.jpg with:
FU FU N = Too many matches
FU FU N A TA = Nothing
A TA SHI NO = Nothing

Here's the image I'm working with:


I'm calling it a day for today on trying things out and away to read over what I've already read.

Tomorrow I'm going to find out more about FEIDIAN although from one of the topics I read it says "you could, for instance, rip them with FEIDIAN if you're certain you know the format." and I'm not, so that may lead no where.

I'm also going to try and find the document I read about a rather standerd Japanese table - Shift-JIS or something along those lines - and see what I can do with that.

If anyone can throw me a clue as to what I should be looking at it would be greatly appreicated. Oh and the thought that everything is compressed has crossed my mind but how likely is that? Even if it is I'm still going to stick in there till this game is done!
« Last Edit: December 16, 2007, 03:22:20 pm by RyanfromScotland »
Shadowsithe
Guest
« Reply #1 on: December 16, 2007, 02:48:58 pm »

I don't think it would be overly difficult to rewrite Feidian in C or something. It would certainly be much more accessible in that right. Maybe a summer project... I'm not sure if the derivative work would be GPL'd too, I'd best read into that.

edit:
Quote
A “derivative work” is a work based upon one or more pre-existing works, such as a translation, musical arrangement, dramatization, fictionalization, motion picture version, sound recording, art reproduction, abridgment, condensation or any other form in which a work may be recast, transformed or adapted. A work consisting of editorial revisions, annotations, elaborations or other modifications which, as a whole, represent an original work of authorship, is a “derivative work”.

Yeah, it'd be GPL'd too.
InVerse
Guest
« Reply #2 on: December 16, 2007, 04:24:00 pm »

Quote from: RyanfromScotland on December 16, 2007, 02:41:00 pm
1.Tile Layer Pro and looked through for graphics and font. No Result.

2.YY-Chr and looked through for graphics and font on all settings. No Result except  6ff28 – 1BPP 16x16 maybe a ingame graphic. (Doubtful)
t how likely is that? Even if it is I'm still going to stick in there till this game is done!

Out of curiosity, are you trying to hack a ROM in .SMD or .BIN format?
RyanfromScotland
Guest
« Reply #3 on: December 16, 2007, 04:40:40 pm »

.BIN, would that make a difference because I've worked on other .BIN formats and the results have been better?
InVerse
Guest
« Reply #4 on: December 16, 2007, 04:46:40 pm »

It makes a difference. I'm not at home, so I don't have access to most of my information, but .bin is probably the proper format for hacking, if you've successfully found data in .bin format ROMs before. It could be that the graphics are compressed (not uncommon in Genesis ROMs.) If that is the case, you may want to consider choosing another ROM to force your way through, unless you're interested in learning 68K ASM.
RyanfromScotland
Guest
« Reply #5 on: December 16, 2007, 04:54:43 pm »

Yeah I've found data before but not by any great means, just opening the ROM with TLP or YY-CHR and it being there, hardly a great accomplishment. Having some compression wouldn't surprise me but everything? There are no graphics viewable and not a single hit with the relitive searchers, english or japanese. I'm just a little suspicious that I'm going wrong somewhere.

I'm at the point where I feel if I want to continue my efforts then learning 68K ASM is the next step although I was going to use this project first just to see if my knowledge so far is at the level I think it is.
InVerse
Guest
« Reply #6 on: December 16, 2007, 05:06:04 pm »

If the font utilizes 16 bit values, relative searching isn't going to find anything, and 16 bit values are quite common when kanji are involved. As a last resort, you could always try corruption to find the text in the ROM to see if it's compressed or uses something larger than 8 bit values.
RyanfromScotland
Guest
« Reply #7 on: December 16, 2007, 05:15:42 pm »

There is something quite crude about corruption although it may be my best option just now. Don't know what it is but I can't help but think of a psychologist smashing someones head open with a rock to see how it works when I think of using corruption.

I'll go give that a try for a while. I'm pretty certain it won't make a difference but will the fact I keep getting warned of Checksum Errors when I run and edited ROM make any difference? My thought is maybe Gens is running a different/previous copy as a result?
Neil
Guest
« Reply #8 on: December 16, 2007, 05:15:54 pm »

The font is compressed. When its written to ram it comes out as a standard 4bpp linear 16x16 font.
RyanfromScotland
Guest
« Reply #9 on: December 16, 2007, 05:44:08 pm »

Pants.

Ok thanks a lot for that you've probably cropped a good few hours of frustration off my day, infact now that I know it's compressed I'm more in the mood for continuing working on it tonight. So the fact it's compressed means the next step would be to to work out the type of compression between DTE, Dictionary, the other one and real compression right?

I was a little ahead of myself when I played the ROM through in GensK and looked at it at different parts in the debugger but I saw from the VDP Debug that the fonts and graphics were shown there, sadly I couldn't make head nor tale of the information (and still can't for now) but should have that raised alarm bells as to compression?
Neil
Guest
« Reply #10 on: December 16, 2007, 05:51:17 pm »

dte and dictionary are primarily used for text. RLE would be the "easiest" graphic compression.
there is a gens tracer and I'd make that my next stop were I you.
even if you don't know any assembly, you can usually just make a trace log and just look through and see if you strike gold. i'm no expert on the megadrive, but if you find some basic programming guides you can probably figure out what vram addresses look like in code, what rom addresses look like, etc. look for those rom addresses in the trace log, corrupt a few bytes around them in the rom, run the game, see if you're able to find the font data that way. once you've found it, the fun part of trying to figure out the compression kicks in. assembly knowledge saves you time, but it is by no means absolutely necessary. most of the time you can reverse engineer these things just by looking at the input and the output. once you know the input, you can dump the vram in an emulator and get the output, and hopefully figure out how one relates to the other.
RyanfromScotland
Guest
« Reply #11 on: December 16, 2007, 06:43:08 pm »

Ok the 4 compression methods I mentioned are from InVerse's 'The Definitive Guide to ROM Hacking Tables' so I reckon they are all geared towards text compression (they are actually defined as DTE, Dictionary, Substring and True just for clarity on previous post.)

I'm pretty sure GensK, which I used earlier, is the tracer your talking about but it's been ages since I downloaded it so I'll revisit the Utilities section to check.

You've given me plenty to work with there, thanks. In all honesty I'm still a little lost as to just what VRAM is and how it relates to everything else. I think it's Virtual Random Access Memory but knowing what it stands for means jack  Smiley So my understanding of it is the 'active' memory, it's where everything that is constantly/frequently changing is stored so stuff like whats currently displayed is stored there as well as maybe scores, lives and similar.

Ok I'm going to go read up on VRAM, TRACE LOG's and anything surrounding them and also check I have the correct Gens and have a little play about with it.
creaothceann
Guest
« Reply #12 on: December 16, 2007, 07:21:47 pm »

VRAM is the "Video RAM", similar to the RAM on your graphics card. It stores tilemaps and the data for background and sprite tiles.
RyanfromScotland
Guest
« Reply #13 on: December 16, 2007, 07:57:30 pm »

Been reading about ASM (65816 ASM but it seems to be the tutorial writters ASM of choice so I'll learn from that and apply it to 68K ASM, why does everyone love Snes so much? Every day when I wake up I have to feed my Megadrive a Snes or it gets violent) and in my readings it suddenly dawned on me the V probably stands for Video not Virtual, anyways didn't make it back to sort my error before a post so my foolishness is there forever, thanks for pointing it creaothceann (what it actually stands for, not my foolishness.)  :thumbsup:

Anyways bed time for today too much learning has made me sleepy, I'll just read this last little bit on ASM........
Kagemusha
Guest
« Reply #14 on: December 16, 2007, 08:25:38 pm »

There's a starter pack for this game by a man with many names. I could probably get it for you. Fact is I should probably upload it to the site. Anyways it usually deals with the script and graphics. If they're compressed then he'll decompress them.
Pages: [1] 2  


Powered by SMF 1.1.4 | SMF © 2006-2007, Simple Machines LLC