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

0 users currently in ROM Hacking | 5 guests | 1 bot

Main - ROM Hacking - SMB3 Title Screen Editor New thread | New reply


KP9000
Posted on 07-14-09 06:39 AM Link | Quote | ID: 110463


Boomboom

Level: 90

Posts: 862/1975
EXP: 6953755
Next: 234854

Since: 02-19-07

Last post: 3581 days
Last view: 3204 days


As I progressed in making my SMB3 hack, I wanted to change my title screen. In this process, I found a very large amount of data regarding the title screen.

I was wondering if there was anyone on the board with necessary skills willing to make use of this data and make an editor for editing the SMB3 title screen.

____________________

Trelior
Posted on 07-14-09 07:00 AM Link | Quote | ID: 110466


Level: 99

Posts: 13/2602
EXP: 9756192
Next: 243808

Since: 07-12-09

Last post: 4498 days
Last view: 4485 days
You can use a tile editor program to do that. I used Tile Layer Pro for my title screen, took me several hours to figure it out, but once I did, changing the screen was a snap. Took me 4 hours-ish to make mine.

As for making a program... I'd love for someone to do that. I would, but I'm only an intermediate level programmer with limited knowledge of the languages.

KP9000
Posted on 07-14-09 07:06 AM Link | Quote | ID: 110467


Boomboom

Level: 90

Posts: 863/1975
EXP: 6953755
Next: 234854

Since: 02-19-07

Last post: 3581 days
Last view: 3204 days


Yeah, you can just use Tile Layer Pro, but you can just edit the tiles in the ROM. You can't move them from one point on the screen to another. I have documented where all of the tile definitions are, along with palette definitions and actual palettes and how they all work together. This way you can change what region of the screen is what palette, where the bushes are, move the clouds in the sky, etc..

Tile Layer Pro can't do that. You'd need to make another editor to do that or else pick everything apart in a hex editor like I did. It's not really necessary if it's already been done and someone has found all the data. Hence, my proposition for a SMB3 Title Screen editor.

I'm still in the process of gathering my notes and data into a semi-presentable state. Trust me, you don't want to see what it looks like now...

____________________

paulguy
Posted on 07-14-09 07:08 AM Link | Quote | ID: 110468


Flurry
Level: 37

Posts: 87/258
EXP: 326998
Next: 11255

Since: 04-10-07
From: Buffalo, NY

Last post: 5028 days
Last view: 4569 days

You should just paste what you have in this thread and see what happens. I don't even know to what extent things can be edited or how stuff is stored.

____________________
"In other news, Scientists theoretize that CHEESECAKE CHEESECAKE CHEESECAKE." --Blackhole89

Trelior
Posted on 07-14-09 07:31 AM Link | Quote | ID: 110473


Level: 99

Posts: 16/2602
EXP: 9756192
Next: 243808

Since: 07-12-09

Last post: 4498 days
Last view: 4485 days
Oh, sorry for the misunderstanding there, KP. I guess I should have thought that first response out a little more.

Onto the real point of what I want to say. Do you think it's actually possible to make an editor for the title screen? I mean, there's a lot of tiles on the screen that take their data placement from one small spot in the hex, I'm not sure if you would be able to make something like that without recoding a big portion of the rom data... I'm almost certain I'm wrong though.

KP9000
Posted on 07-14-09 07:34 AM Link | Quote | ID: 110474


Boomboom

Level: 90

Posts: 865/1975
EXP: 6953755
Next: 234854

Since: 02-19-07

Last post: 3581 days
Last view: 3204 days


I don't know ASM, so I don't know if things can be moved around to free up some space... but I do know that making a new title screen is completely possible and I can prove it. I'm actually working on a nice looking title screen and I'll show what it looks like when I'm finished.

____________________

Kiokuffiib11
Posted on 07-16-09 09:36 PM Link | Quote | ID: 110696


Porcupo
Level: 40

Posts: 9/313
EXP: 407084
Next: 34225

Since: 07-10-09
From: Marquette, Michigan

Last post: 3313 days
Last view: 1935 days
I'm doing some editing to the rom I'm working on.

I'm changing the words "Super Mario 2" to the Doki doki panic Kanji.

What you need to do, is run FCEUX, highlight each letter, write down the tile ID in order, and then open up a hex editor, and find a string with that, change the value in order then editing the tiles in that order in Tile layer pro.

Or Alternatively, you can use Nintendulator, turn on tile numbering, take a screen shot, and hex edit it, then open up a hex editor, and find a string with that, change the value in order then editing the tiles in that order in Tile layer pro.

I did the second.

I hope that helps.

____________________
セシル

KP9000
Posted on 07-17-09 06:33 AM Link | Quote | ID: 110749


Boomboom

Level: 90

Posts: 874/1975
EXP: 6953755
Next: 234854

Since: 02-19-07

Last post: 3581 days
Last view: 3204 days


Posted by Kiokuffiib11
I'm doing some editing to the rom I'm working on.

I'm changing the words "Super Mario 2" to the Doki doki panic Kanji.

What you need to do, is run FCEUX, highlight each letter, write down the tile ID in order, and then open up a hex editor, and find a string with that, change the value in order then editing the tiles in that order in Tile layer pro.

Or Alternatively, you can use Nintendulator, turn on tile numbering, take a screen shot, and hex edit it, then open up a hex editor, and find a string with that, change the value in order then editing the tiles in that order in Tile layer pro.

I did the second.

I hope that helps.
That is the method I used to find the data... I already have pretty much all of it.
Sent by KP9000
-----------------------------------------
---== Title Screen Tile Defnintions ==---
-----------------------------------------

0x032B40 = Starting location of graphics in ROM where title screen data resides.
Title Screen data is on a 8x8 grid on the entire screen, 32 tiles wide.
Going left to right, that's a max of 32 bytes for one line of data.

The data is comprised of a set of bytes arranged in a horizontal line
in order from left to right. Each line has a 3 byte "header" for the
porpose of identifying its placement.


---== Original SMB3 Title Screen Setup ==---

The first and second byte of each line are the position indicators. The second byte is the one that
changes the most; it's going to be your horizontal position. the first byte is equal to $FF amount
of the second byte for each increment of $01.

The third byte is for how long the line extends for. If there aren't enough bytes to specify tiles
for the entire length of the line, background tiles are used ($5C in PPU) to fill the rest up.
If you move a line, usually you uncover what's "behind" those background tiles and you've got
to fill them back up again or else it will look like grandma's broccoli green bean casserole.

I notice that some lines have "00" at the end of it and some don't.
I don't know what the significance is.


0x03277D = 200020 080908090809080908090809080908090809080908090809080908090809080900
202020 181918191819181918191819181918191819181918191819181918191819181900
204020 282928292829282928292829282928292829282928292829282928292829282900
206060 5C00
20804B 5C
208B15 303132333435363738393A5C5C5C5C3B3C3D3E5C5C00
20A04B 5C
20AB15 404142434445464748494A5C5C5C5C4B4C4D4E5C5C00
20C016 5C5C3B3C3D3E5C5C5C5C5C505152535455565758595A
20D64A 5C00
20E016 5C5C4B4C4D4E5C5C5C5C5C606162636465666768696A
20F64A 5C00
210020 5C5C5C5C5C707172737475767778797A7B5C7D7E7FC0C1C2C3C4C55C5C5C5C5C00
212020 5C5C5C5C5C808182838485868788898A8B8C8D8E8FD0D1D2D3D4D55C5C5C5C5C00
214020 5C5C5C5C5C909192939495969798999A9B9C9D9E9FE0E1E2E3E4E55C5C5C5C5C00
216020 5C5C5C5C5CA0A1A2A3A4A5A6A7A8A9AAABACADAEAFF0F1F2F3F4F55C5C5C5C5C00
218020 5B6B5C5C5CB0B1B2B3B4B5B6B7B8B9BABBBCBDBEBFC6C7C8D6D7D8E80405060700
21A04E 5C
21AE12 C9CACBCCCDCECF5C5C5C5C5C5C5C1421211700
21C04E 5C
21CE12 D9DADBDCDD5C5C5C5C5C5C5C5C5C2021212300
21E04E 5C
21EE12 E9EAEBECED5C5C5C5C5C5C5C5C5C2021212300
220020 040506075C5C5C5C5C5C5C5C5C5CF9FAFBFFFDFE5C5C5C5C5C5C04050203212300
222020 1421212224255C5C5C5C5C5C5C5C6C6D6E6FDEDF5C5C5C5C5C5C14212113212300
224020 202121235F115C5C5C5C5C5C5C5C5C5CEEEF5C5C5C5C5C5C5C5C20212121212300
226006 202121235F5F
226654 5C
227A06 20212121212300
228006 202100012627
228654 5C
229A06 20212121212300
22A008 2021102121222425
22A852 5C
22BA06 20212121212300
22C008 2021212121235F11
22C850 5C
22D808 040502032121212300
22E008 2021212121235F5F
22E850 5C
22F808 142121132121212300 <--- last byte at 0x032A4E (Covers all the way
to checkered floor)

---== Checkered Floor ==---

0x0326F0 = 2B0020 1515161615151616151516161515161615151616151516161515161615151616
2B2020 E6E6E7E7E6E6E7E7E6E6E7E7E6E6E7E7E6E6E7E7E6E6E7E7E6E6E7E7E6E6E7E7
2B4020 F6F6F7F7F6F6F7F7F6F6F7F7F6F6F7F7F6F6F7F7F6F6F7F7F6F6F7F7F6F6F7F7
2B6020 5D5D5F5F5D5D5F5F5D5D5F5F5D5D5F5F5D5D5F5F5D5D5F5F5D5D5F5F5D5D5F5F

Last Byte at 0x03277B

---== Bottom line of Curtain ==---

0x0326CD = 22E020 1819181918191819181918191819181918191819181918191819181918191819

Last Byte at 0c0326EF

--------------------------------------------
---== Title Screen Palette Definitions ==---
--------------------------------------------

ROM
+------------------+
| F0F0F0F0F0F0F0F0 | ---+
| 2A8A66555599A2A8 | |
| AA555555555555A9 | |
| A8A6A5ED77B5A5AA | ---+--- 0x032A52 - 0x0352A71 (32 bytes)
| AAAA0A0E0F0BAAAA | ------+
| AAAA22000000AAAA | |
| 0000000000000000 | |
| 0A0A0A0A0A0A0A0A | ------+--- 0x032A76 - 0x032A95 (32 bytes)
+------------------+

0000 0000 = 00
0000 0001 = 01
0000 0010 = 02
0000 0100 = 04
0000 1000 = 08
0001 0000 = 10
0010 0000 = 20
0100 0000 = 40
1000 0000 = 80

0101 0101 = 55
1010 1010 = AA
1111 1111 = FF

00 == All 4 blocks are palette 0
55 == All 4 blocks are palette 1
AA == All 4 blocks are palette 2
FF == All 4 blocks are palette 3
F0 == 2 top blocks palette 1, 2 bottom blocks palette 3

Blocks form palette combinations as follows:

+----+----+
| XX | XX |
+----+----+
| XX | XX |
+----+----+

XX = binary vales only. Binary Values 00, 01, 10, and 11 are possible here.
These values represent palettes 00, 01, 02, and 03 respectively.

So, the translation is as follows:

Palettes: ---> Binary:
+----+----+ +----+----+
| 01 | 01 | | 01 | 01 |
+----+----+ ---> +----+----+
| 02 | 03 | | 10 | 11 |
+----+----+ +----+----+

This gives you a binary value of 0101 1011, which in hex is 5B.



--------------------
---== Palettes ==---
--------------------

Background Palettes

0x032AC2 First Palette to fade in
0x032AD6 Second Palette to fade in
0x032AEA Third Palette to fade in
0x032AFE Final Palette to fade in




____________________

zbyte
Posted on 07-17-09 06:49 AM Link | Quote | ID: 110751


Boomerang Brother
Z is Superior!
Level: 66

Posts: 186/1016
EXP: 2387309
Next: 74542

Since: 06-10-09

Last post: 4432 days
Last view: 2911 days
Oh God...

____________________
No quotes found; we apologize for the inconvenience. Commas, question marks, and semicolons are available, though.








ssjtroly
Posted on 08-28-18 07:08 AM Link | Quote | ID: 166495

Newcomer
Level: 2

Posts: 1/1
EXP: 45
Next: 1

Since: 08-28-18

Last post: 2068 days
Last view: 2058 days
what do they call someone who digs up a grave just to bury some stuff?

i made an image that makes it a little easier to see how the title screen tiles are arranged and since i found this info from a google search here, i thought i should post it here


Alien-Type-0
Posted on 09-04-18 06:09 PM Link | Quote | ID: 166499


Level: 20

Posts: 33/92
EXP: 42381
Next: 58

Since: 01-02-18

Last post: 1688 days
Last view: 1535 days
Try asking them and see what they might know first.
http://board.kafuka.org/forum.php?id=27

Main - ROM Hacking - SMB3 Title Screen Editor New thread | New reply

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

Page rendered in 0.024 seconds. (350KB of memory used)
MySQL - queries: 72, rows: 103/103, time: 0.017 seconds.