Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,436,993
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 04-19-24 06:49 PM
Guest: Register | Login

0 users currently in ROM Hacking | 3 guests | 2 bots

Main - ROM Hacking - Zelda PPU New thread | New reply


Chaobomr
Posted on 07-08-13 01:41 AM Link | Quote | ID: 154256


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 24/467
EXP: 638263
Next: 21901

Since: 05-07-13
From: The dirty south

Last post: 3473 days
Last view: 3472 days
Any way to locate Ganon in the Tile Editor? I've looked, but whether it's the Editor itself, the ROM I'm using or the game itself, it just looks weird and I can't find any of the enemies

BTW, I'm using Tile Layer Pro V 1.1 if that helps matters

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

Synthetekh
Posted on 07-08-13 02:29 AM (rev. 3 of 07-08-13 02:33 AM) Link | Quote | ID: 154257


Ninji
Level: 35

Posts: 110/239
EXP: 261170
Next: 18766

Since: 08-15-10
From: New Mexico, USA

Last post: 87 days
Last view: 23 hours
How it looks can depend on the Address that the Gfx you're looking for starts at (this can shift the pixels so that 1 8x8 Tile is being displayed throughout the boundaries of 2 8x8 Tiles). Is this for the 1st Zelda game on the NES?

Chaobomr
Posted on 07-08-13 02:28 PM Link | Quote | ID: 154259


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 25/467
EXP: 638263
Next: 21901

Since: 05-07-13
From: The dirty south

Last post: 3473 days
Last view: 3472 days
Yes, it is. As you can tell, I'm rather new and need a lot of help

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

infidelity
Posted on 07-08-13 07:33 PM Link | Quote | ID: 154261


Fuzz Ball
Level: 66

Posts: 370/968
EXP: 2366775
Next: 95076

Since: 05-24-07

Last post: 952 days
Last view: 808 days
You cant use tlp for zelda 1, because the gfx within the rom are compressed. Thats why it looks like shit.

Idk if yy-chr or tile molester have a decompression feature in them, so you can properly see the gfx?

If not, you'll have to find a decompression tool for Zelda 1.

Once you decompress the gfx, and are able to view them, you are not going to find pretty looking complete enemies. Some reuse the same tiles you see, and are then mirrored/flipped.

Good luck.

snarfblam
Posted on 07-08-13 11:39 PM Link | Quote | ID: 154262


Tektite
Level: 18

Posts: 51/54
EXP: 26392
Next: 3505

Since: 03-10-12

Last post: 3863 days
Last view: 2813 days
Posted by infidelity
You cant use tlp for zelda 1, because the gfx
within the rom are compressed. Thats why it looks like shit.


Are you sure? Because I'm pretty sure the graphics are just offset (meaning they don't fall on $10-byte boundaries). In TLP go to where the graphics are and hit the + and - keys, which will adjust the tiles 1 byte at a time. When you get it right, the tiles should clear up. They still won't be too neatly organized, though.

RetroRain
Posted on 07-09-13 12:35 AM (rev. 2 of 07-09-13 12:39 AM) Link | Quote | ID: 154263


Fuzz Ball
Level: 66

Posts: 627/994
EXP: 2436845
Next: 25006

Since: 09-30-07

Last post: 1928 days
Last view: 950 days
The graphics are not compressed. Do yourself a favor, and download YY-CHR from zophar.net. Use that instead. It is a much better program to use, believe me. Open up the ROM in YY-CHR, and in order to see the graphics, you have to use the + and - shift buttons that I have circled there in the image. I highlighted where Ganon's tiles are, and even assembled them on a blank CHR file. The order of the tiles, the way they are stored, is the top-left first, then the bottom-left, then the top-right, and then the bottom-right.



Also, if you are that new to ROM hacking, you should read some documents from zophar.net or romhacking.net. There is a document called "The Art of ROM Hacking", which was made by Vagla a long time ago. You should read that too, and hopefully that will help you out a lot.

Good luck.

____________________
My YouTube Channel

Synthetekh
Posted on 07-09-13 12:48 AM (rev. 4 of 07-10-13 01:54 AM) Link | Quote | ID: 154265


Ninji
Level: 35

Posts: 111/239
EXP: 261170
Next: 18766

Since: 08-15-10
From: New Mexico, USA

Last post: 87 days
Last view: 23 hours
The Sprite Gfx aren't compressed, and typically Sprites in all games use uncompressed Gfx, this goes for SNES, Genesis, and GBA as well (I can't even think of one game in which they were compressed).

This I believe to be because Sprites don't normally use much data for their Gfx (because their small, and there usually isn't that many sprites in a game that it would all add up to too much in total), and some Sprites may need load Gfx mid-level, and loading compressed Gfx is slow, though it wouldn't really matter either way if it's only 4 Tiles or something around there. Animated Gfx in the level is typically uncompressed too.

One thing you can do to easily locate uncompressed Gfx is: while running the game, open an '8x8 Tile/PPU viewer' (with an Emulator that has one) while the Gfx you're looking are loaded, and look at the color numbers that are used for each pixel. Then search the data that would make up the Tile in a Hex Editor (but you need to know the format of the 8x8 Tile of course).


Here's the Gfx Format for the NES:

Each Pixel is 2 bits (and there's 8 bits in a Byte), however, the NES uses two planes, meaning that the image is drawn twice (so it's not as seemingly strait forward). Each plane is using only 1 bit per Pixel and then the two planes are merged together.

Colors: 0, 1, 2, 3 = Bits 00, 01, 10, 11
Plane 1 is setting the 1st Bit only (the one on the right in each set of two).
Plane 2 is setting the 2nd Bit only (the left one in each set of two).

Here's an 8x8 Tile shown with the Color number of each Pixel, along with the Tile broken down into bits divided into the 2 Planes.

~ Color #'s ~ ~~~~~ ~ Plane 1 (1st Bit) ~ ~~~ ~ Plane 2 (2nd Bit) ~
1 1 3 3 3 3 0 0 - -------- - 1 1 1 1 1 1 0 0 - -------- - 0 0 1 1 1 1 0 0
3 3 3 3 3 1 0 0 - -------- - 1 1 1 1 1 1 0 0 - -------- - 1 1 1 1 1 0 0 0
1 3 3 3 1 1 0 0 - -------- - 1 1 1 1 1 1 0 0 - -------- - 0 1 1 1 0 0 0 0
3 2 2 3 1 1 3 0 - -------- - 1 0 0 1 1 1 1 0 - -------- - 1 1 1 1 0 0 1 0
2 2 2 1 1 3 3 3 - -------- - 0 0 0 1 1 1 1 1 - -------- - 1 1 1 0 0 1 1 1
2 2 2 0 3 3 3 3 - -------- - 0 0 0 0 1 1 1 1 - -------- - 1 1 1 0 1 1 1 1
0 0 0 0 0 0 0 0 - -------- - 0 0 0 0 0 0 0 0 - -------- - 0 0 0 0 0 0 0 0
1 1 1 3 3 3 2 2 - -------- - 1 1 1 1 1 1 0 0 - -------- - 0 0 0 1 1 1 1 1

If you were to combine the Bits of Plane 1 and 2, it would look like this (but this is not the goal for us, since it's not stored this way in the ROM):

01 01 11 11 11 11 00 00
11 11 11 11 11 01 00 00
01 11 11 11 01 01 00 00
11 10 10 11 01 01 11 00
10 10 10 01 01 11 11 11
10 10 10 00 11 11 11 11
00 00 00 00 00 00 00 00
01 01 01 11 11 11 10 10

Each Row of a Plane is 1 Byte (8 Bits), the whole Tile of one Plane is 8 Bytes (8 Rows, 1 Byte per Row).
Now to find the Hex value of the Tile, simply enter the Bits in Plane 1 into Windows Calculator, from left to right (starting with the top left bit, the same way you read English text). Then change the display to Hex and you should have (do it again but for Plane 2 and add that to the end):

______ Plane 1 ______ ~ ______ Plane 2 _______
FC FC FC 9E 1F 0F 00 FC - 3C F8 70 F2 E7 EF 00 1F

This is exactly as it will show up in the Hex Editor (just use its search feature and enter the Bytes to instantly located your Tile; I use Hex Workshop btw, though it's not a free program ~ torrent it! lol j/k >.>).
Then just look at the current Address in the Hex Editor, and scroll down in Tile Layer Pro until the Offset (the term they use in that program, same thing) is around the same, and you should see your Tile. If the start of the Tile's Data doesn't start at the beginning of every 16 Bytes, it will be shifted around and look weird, in that case you can copy the Data from the Hex Editor into in a new file (needs to be 0x2000 Bytes to view in TLP, unless that was changed in v1.1), just copy more of the data than you think you'll need (better to have some random Gfx data at the end than to be missing some Gfx Data), and if needed insert extra 0x00's until the file size is 0x2000 Bytes or more (8192 Bytes in Decimal).

Chaobomr
Posted on 07-09-13 04:27 AM (rev. 3 of 07-09-13 03:01 PM) Link | Quote | ID: 154267


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 27/467
EXP: 638263
Next: 21901

Since: 05-07-13
From: The dirty south

Last post: 3473 days
Last view: 3472 days
Posted by RetroRain
Also, if you are that new to ROM hacking, you should read some documents from zophar.net or romhacking.net. There is a document called "The Art of ROM Hacking", which was made by Vagla a long time ago. You should read that too, and hopefully that will help you out a lot.

Good luck.


I've actually amassed a few documents from hacking tools and acquiring ROM Maps from Data Crystal. I'll look for "The Art of ROM Hacking" as well.

Thanks

Posted by RetroRain
Do yourself a favor, and download YY-CHR from zophar.net.


Which one should I use? The C++ or the C# one? I went to the one in zophar, but my browser flagged it

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

infidelity
Posted on 07-09-13 12:28 PM Link | Quote | ID: 154272


Fuzz Ball
Level: 66

Posts: 371/968
EXP: 2366775
Next: 95076

Since: 05-24-07

Last post: 952 days
Last view: 808 days
Thank you everyone for pointing out my mistake. I always thought it was compressed. I never bothered to shify the pixels within the editor. I may go back to other .nes roms I once looked at, but thought were compressed. *slaps head* Thanks again!

Synthetekh
Posted on 07-09-13 09:18 PM (rev. 2 of 07-09-13 09:31 PM) Link | Quote | ID: 154278


Ninji
Level: 35

Posts: 112/239
EXP: 261170
Next: 18766

Since: 08-15-10
From: New Mexico, USA

Last post: 87 days
Last view: 23 hours
lol np, glad I could help.

Btw Chaobomr, sorry if what I wrote is hard to understand, I'd imagine it's above your level at this time, as it's a slightly more advanced technique, but if you can understand it it'll make finding Uncompressed Graphics very quick and easy. It's easier with the Genesis because the Gfx format is very simple, but for the NES it's a little more work.

Chaobomr
Posted on 07-09-13 10:57 PM (rev. 2 of 07-09-13 10:58 PM) Link | Quote | ID: 154280


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 31/467
EXP: 638263
Next: 21901

Since: 05-07-13
From: The dirty south

Last post: 3473 days
Last view: 3472 days
Actually, Synthetekh, it's not completely over my head. It took one or two rereads, but I understand it. I have two or three freeware hex editors (xvi32; Bless for Ubuntu; and FCEUXD, if it counts), but I don't know how they compare to Hex Workshop.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

Synthetekh
Posted on 07-10-13 01:51 AM Link | Quote | ID: 154281


Ninji
Level: 35

Posts: 113/239
EXP: 261170
Next: 18766

Since: 08-15-10
From: New Mexico, USA

Last post: 87 days
Last view: 23 hours
Glad to hear that . xvi32 looks like a suitable for this job. I don't know what FCEUXD is, but that sounds like a tool inside FCEux to me. Anything of that sort probably wouldn't work in the same way, as it would show data that's been loaded in RAM, rather than the whole ROM data (the same data would exist as what's in the ROM, if loaded, but you wouldn't be able to make any permanent edits that way, and you'd be looking at RAM Addresses instead of ROM Addresses).
Also I don't know anything about Ubuntu, but after doing a quick Google search Bless seems to be a full featured Hex Editor, so that ought to be good.

Chaobomr
Posted on 07-10-13 03:57 AM (rev. 2 of 07-10-13 04:00 AM) Link | Quote | ID: 154282


Buster Beetle
Banned: Spammer takeover?
Level: 45

Posts: 32/467
EXP: 638263
Next: 21901

Since: 05-07-13
From: The dirty south

Last post: 3473 days
Last view: 3472 days
Posted by Synthetekh
I don't know what FCEUXD is, but that sounds like a tool inside FCEux to me.


FCEUXD is another version of FCEUX. I don't remember what the difference is. I just realized that I have FCEUX, not FCEUXD. Haven't had that for a while.

Also, Ubuntu is a variant of Linux, an offshoot of Debian meant for your average, run-of-the-mill user, but it has plenty of software available for stuff like ROM hacking. I actually run it under a virtual environment so as not to have to restart my computer.

____________________
Sorry for the stupidity. That jerk will be dealt with in the most insane way possible.

RetroRain
Posted on 07-10-13 07:25 PM Link | Quote | ID: 154285


Fuzz Ball
Level: 66

Posts: 630/994
EXP: 2436845
Next: 25006

Since: 09-30-07

Last post: 1928 days
Last view: 950 days
I use xvi32 for when I expand the ROMs and change the mappers and all that other fun stuff.

FCEUXD is the ultimate NES ROM hacking emulator tool! Also the updated version, FCEUXD SP, which is actually what I'm using right now.

____________________
My YouTube Channel

Main - ROM Hacking - Zelda PPU New thread | New reply

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 0.027 seconds. (339KB of memory used)
MySQL - queries: 102, rows: 136/136, time: 0.018 seconds.