Tile editor

Found a bug? Please report it, but remember to follow the bug reporting guidelines.
Missing a sane feature? Let us know!
But please do NOT request ports to other systems.

Moderator: ZSNES Mods

Locked
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Tile editor

Post by fox95871 »

Hi, this is an email I was going to send out to the makers of Zsnes, but I couldn't find any of their email addresses, so I just decided to post it here. It's a request for an addon to Zsnes. Hopefully either they or someone else will see it who can make a patch or something. Here's the email:

Would it be possible to add a simple tile editor to Zsnes? With the stand alone editors that are available, it's impossible to tell what's what 90% of the time. You always just end up giving up because it's no fun editing graphics that way. So I figured the best way to fix that would be to have one that's part of an emulator! That way you could see the results right away. The way it would work would be simple: pause, click on a tile, edit the pixels, then save the smc. Here's an example of how it might look:

http://www.geocities.com/fox95871/Tile_editor.JPG

Hope to hear from you soon! I think this could start a great new hobby/unhealthy obsession for a lot of people!

(end of email)

Well that's it. Hopefully someone will see this and email me, but for now all I can do is what I just did I guess. You probably already guessed, but I'm not trying to make any money off this. It's just something I really want and I don't know how to program except in Blitz3D. Hope to hear from someone soon :)
badinsults
"Your thread will be crushed."
Posts: 1236
Joined: Wed Jul 28, 2004 1:49 am
Location: Not in Winnipeg
Contact:

Post by badinsults »

It is highly unlikely you will get a response by email.

As for your request, I agree a tile editor would be cool (I remember good old Nesticle had one). However, it is not likely to be something that is going to happen unless some third party decides to do that.
<pagefault> i'd break up with my wife if she said FF8 was awesome
byuu

Post by byuu »

Can't be done with more than a ~10-20% success rate. It's not like NESticle where most NES ROMs couldn't afford compression overhead so you could directly manipulate the NES tiles. The files themselves were also a lot smaller so manual searches over the whole ROM for where tiledata came from was a lot easier and safer.

For the SNES, most data is compressed. No emulator is going to be able to automagically recompress tiledata and insert it back in place perfectly. And even when not compressed, tracking tiledata back to its original source in ROM can be very computationally expensive. Sometimes it goes through transforms and ROM->RAM->VRAM transfers rather than directly via ROM->VRAM.

If you still don't believe me for some reason, find an emulator called SNemul. Its author tried to implement this, but he didn't understand the SNES from a ROM hackers' perspective. He realized the same thing I said above and abandoned the feature because it almost never worked.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

byuu wrote:Can't be done with more than a ~10-20% success rate. It's not like NESticle where most NES ROMs couldn't afford compression overhead so you could directly manipulate the NES tiles. The files themselves were also a lot smaller so manual searches over the whole ROM for where tiledata came from was a lot easier and safer.

For the SNES, most data is compressed. No emulator is going to be able to automagically recompress tiledata and insert it back in place perfectly. And even when not compressed, tracking tiledata back to its original source in ROM can be very computationally expensive. Sometimes it goes through transforms and ROM->RAM->VRAM transfers rather than directly via ROM->VRAM.
It would be simpler to say... it's why there are no tile replacement/texture/sprite packs for the SNES. :P :wink:

Those graphics packs don't count. :P
If you still don't believe me for some reason, find an emulator called SNemul. Its author tried to implement this, but he didn't understand the SNES from a ROM hackers' perspective. He realized the same thing I said above and abandoned the feature because it almost never worked.
The MOD converter(?) was cool though.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

It would be simpler to say... it's why there are no tile replacement/texture/sprite packs for the SNES. :P :wink:
Need a wiki or something so we can write up detailed answers only once and then link people, heh.
The MOD converter(?) was cool though.
Hell yeah it was :D
Had a really cool interface for a DOS app, too.
Didn't sound nearly correct, but the changes actually made them kind of unique and cool. And if I recall, someone else tried a MIDI convertor with much less success.
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Post by fox95871 »

Cool! I'm glad to see this got some replies. Well, forget emailing me then. But if any geniuses out there think they can do it, post it here will ya! I think it would be a really great addon :)

So keep posting! Whoever you are, whatever your thoughts are on this!
Rashidi
Trooper
Posts: 515
Joined: Fri Aug 18, 2006 2:45 pm

Post by Rashidi »

badinsults wrote:(I remember good old Nesticle had one).
*nod*, that was awesome moment alright,
eventhough you can only edit the tiles the changes however, directly reflected in game.
the editing wasn't permanent, if the game decided to write back the tile slot, you lose the changes, but it was really cool for that time.
kode54
Zealot
Posts: 1140
Joined: Wed Jul 28, 2004 3:31 am
Contact:

Post by kode54 »

Rashidi wrote:the editing wasn't permanent, if the game decided to write back the tile slot, you lose the changes, but it was really cool for that time.
Tile editing was permanent for games with CHR ROM.
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Deathlike2 wrote:It would be simpler to say... it's why there are no tile replacement/texture/sprite packs for the SNES.
... closer to 20% of the reason why it's not feasible.

Interrupts, screen priorities, edge continuity...
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Post by fox95871 »

So how is it all the stand alone tile editors are able to do it? There must be a way...
creaothceann
Seen it all
Posts: 2302
Joined: Mon Jan 03, 2005 5:04 pm
Location: Germany
Contact:

Post by creaothceann »

They don't do compression either, unless they are game-specific editors.
vSNES | Delphi 10 BPLs
bsnes launcher with recent files list
grinvader
ZSNES Shake Shake Prinny
Posts: 5632
Joined: Wed Jul 28, 2004 4:15 pm
Location: PAL50, dood !

Post by grinvader »

Look here:

Code: Select all

ROM -> RAM -(decompression)-> VRAM -> display device
A game-specific tile editor will edit the ROM image contents. The game code will then load the new data, work with it, send it to the PPU and the new image is sent to your display device.
Keywords: GAME SPECIFIC. Which means someone spent time to reverse engineer where in the ROM the base data lies (and make a program to insert the right data format back).
Changing the vram would only work until it's refreshed, and changing the source would almost never work due to it being compressed most of the time (in a game-specific manner, so you'd have to build a compressor from the decompression code).

Just give up while you're ahead. You're not the first (and sadly likely not the last) to ask that sort of stuff. Even if you don't understand why, it can't be done like this.
And even if we explain enough for you to understand why, it won't be any closer to possible, so don't expect more details.
皆黙って俺について来い!!

Code: Select all

<jmr> bsnes has the most accurate wiki page but it takes forever to load (or something)
Pantheon: Gideon Zhi | CaitSith2 | Nach | kode54
Nightcrawler
Romhacking God
Posts: 922
Joined: Wed Jul 28, 2004 11:27 pm
Contact:

Post by Nightcrawler »

fox95871 wrote:So how is it all the stand alone tile editors are able to do it? There must be a way...
As the guys here have tried to explain to you, your not quite grasping what's going on. You're missing the link that what is showing on the screen is not coming from the ROM. It's coming from VRAM. The data in VRAM that is shown on the screen can be and often is dynamically assembled, swapped in and out all the time, and CANNOT be tied back to any specific ROM location unless someone did GAME SPECIFIC work to figure it out.

Stand alone tile editors don't work for compressed or dynamic graphics either. For the graphics the tile editors DO work on, the emulator CAN'T because as mentioned, there's NO LINK to what appears on screen and ROM locations thanks to usage of VRAM.

In the Nesticle days on the NES, for the games you could actually edit in Nesticle (even with Nesticle and the NES, you could only edit some games) you had a special portion of ROM loaded directly into VROM. This was static. It didn't change and it corresponded exactly to specific ROM locations. All graphics used for the entire game fit into this space. NES games that swapped CHR data weren't able to be edited by Nesticle because the link to ROM location is then lost.

So, I hope that helps clear it up a bit more for you. I tried to re-explain in general terms. Without game specific hacking, you cannot edit SNES game's graphics in an emulator on the fly like that. It just won't work in the way you envision. It can't without game specific work done for all supported games. And I can tell you even if you did that, it would be a lot of work to support certain games. That's why people end up making game specific editors when it comes to the SNES. It's simpler and works better to do it that way.

I'd advise you try and do some ROM hacking, read up on the hardware and how graphics are addressed if you want to try and understand why what we're telling you.
[url=http://transcorp.romhacking.net]TransCorp[/url] - Home of the Dual Orb 2, Cho Mahou Tairyku Wozz, and Emerald Dragon SFC/SNES translations.
[url=http://www.romhacking.net]ROMhacking.net[/url] - The central hub of the ROM hacking community.
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Post by fox95871 »

I would, but I have too much else I'm studying right now (Maya and Blitz3D) to add something else that's complicated. I was just hoping one existed already, or someone who likes programming could make one easily enough, cause like I said, I'm not a programmer. That's too bad there's no way to track what tile's loaded. Who knows, maybe someone will read just that and say, "What? Of course there is! You just..." Then I could edit games and so could other people. But if it ends here, I guess it's meant to be. But I'll stay hopeful, so if someone finds a way, post it here. At the programming forum I go to, people figuring out ways to do previously impossible things is a daily event. All it takes is wanting it, and having a good attitude :)
Last edited by fox95871 on Wed Mar 11, 2009 9:22 pm, edited 1 time in total.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

What part of game specific do you not understand?

It is not a matter of desire... it is a matter of it being usable across the board which is not possible in this case.
Last edited by Deathlike2 on Wed Mar 11, 2009 9:23 pm, edited 1 time in total.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Post by fox95871 »

Because that's not what I want. It's not possible now, but I'm saying if someone could find a way to work around what's making it impossible somehow, then it wouldn't be.
Last edited by fox95871 on Wed Mar 11, 2009 9:28 pm, edited 1 time in total.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Every explaination here is telling you that it is not possible, because games are not developed in the same vacuum. That is, they all render the screen differently with different formats, potentially with the internal data compressed and whatever details to go with that.

If what you see was designed in a uniform way (that is, they all render it the same way), then perhaps it would be doable, but we're repeating the same message. It isn't realistic.
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
byuu

Post by byuu »

That's not what I want. Why do you think I don't understand it?
Because you said:
At the programming forum I go to, people figuring out ways to do previously impossible things is a daily event. All it takes is wanting it, and having a good attitude :)
That's not how it works. Just like it's been proven mathematically that you can't make a sorting algorithm better than O(n log n) -- no matter how hard you try or how much you want to, you cannot write a generic tile editor as you want for SNES emulators.

It's not a matter of someone coming along with a new genius algorithm. This will never, ever happen in a fully generic manner that supports all games as you want; and I am 100% certain of that fact. And I say this as someone with over a decade of experience in both translating and emulating SNES games.

I'm not trying to be rude, I just don't want you or others to have unrealistic expectations that this may happen one day.
Last edited by byuu on Wed Mar 11, 2009 9:38 pm, edited 1 time in total.
fox95871
New Member
Posts: 6
Joined: Tue Mar 03, 2009 5:27 pm

Post by fox95871 »

Just being persistent :) Well, I'll stop now I guess. Thanks for all the information. It's great to have places like this where I can learn from people who know so much more about a subject than I do.
Deathlike2
ZSNES Developer
ZSNES Developer
Posts: 6747
Joined: Tue Dec 28, 2004 6:47 am

Post by Deathlike2 »

Locking this for future reference and great justice!
Continuing [url=http://slickproductions.org/forum/index.php?board=13.0]FF4[/url] Research...
Locked