NES Screen Tool

A place for your artistic side. Discuss techniques and tools for pixel art on the NES, GBC, or similar platforms.

Moderator: Moderators

tepples
Posts: 21875
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Dec 06, 2010 9:40 am

3gengames wrote:I think most others have all their graphics in one file.
Concentration Room is NROM-128. Its 8 KiB CHR ROM is made of three sprite sheets: 128x88 for the title screen graphics and ASCII font, 128x40 for opponent mugshots, and 128x128 for gameplay.

Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru » Mon Dec 06, 2010 9:43 am

Ok, there was other part of my question: how do you see >4K files support in the tool?

User avatar
Memblers
Site Admin
Posts: 3799
Joined: Mon Sep 20, 2004 6:04 am
Location: Indianapolis
Contact:

Post by Memblers » Mon Dec 06, 2010 9:45 am

3gengames: Actually the PPU splits the 8kB in half anyways. 4kB is 256 tiles, so one set for background, one set for sprites. With the more advanced CHR-ROM switching on some mappers, it makes sense to split it into even smaller files.

I use CHR-RAM, but starting out with 4kB.

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Mon Dec 06, 2010 10:44 am

Shiru wrote:neilbaldwin, yes, it should be easy. I could make a function which will puts the data as .db's into the Windows clipboard, it is ok, or you need file export?
Clipboard would be fine - thanks!

3gengames
Formerly 65024U
Posts: 2273
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames » Mon Dec 06, 2010 1:23 pm

Shiru, you can just load the (X)KB file in, divide that by four, and then have a tale selectable. Then any ROM size will work and you can change and edit any nametable without loading any new files. It's up to you to add it, but I think that would be a great addition! :D I could definitely use it then. And you can bet your life I would. :P :D

User avatar
thefox
Posts: 3141
Joined: Mon Jan 03, 2005 10:36 am
Location: Tampere, Finland
Contact:

Post by thefox » Mon Dec 06, 2010 1:47 pm

I think supporting more than 4K would just be confusing... people WILL try to use tiles from more than one bank simultaneously. I would skip that feature. It's not like splitting a file in half is hard.
Download STREEMERZ for NES from fauxgame.com! — Some other stuff I've done: fo.aspekt.fi

3gengames
Formerly 65024U
Posts: 2273
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames » Mon Dec 06, 2010 1:58 pm

But who is going to use this that would attempt that? It's alot easier to select ROM bank X then going CTRL+O, find the right graphics file, load it up, and do that 10 times for different screens.


Oh well, it's your call, thats the only thing I would change though.

tepples
Posts: 21875
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Mon Dec 06, 2010 2:06 pm

thefox wrote:I think supporting more than 4K would just be confusing... people WILL try to use tiles from more than one bank simultaneously.
Put a slider widget next to the pattern table to select a 4 KiB bank, and I don't see how it would confuse. As the user moves the slider, the user sees that all the tiles in the nametable view change at once.

User avatar
tokumaru
Posts: 11559
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru » Mon Dec 06, 2010 2:49 pm

The problem with this whole CHR thing is that everything that has been said so far still doesn't work for all cases. Mappers like the MMC3 can make each 1KB chunk come from anywhere in a 256KB CHR file. You could even use the slider approach, but you'd need 4 sliders.

CHR-RAM would be tricky to handle (unless you are making very basic use of it), so it might be a good idea to just expect the user to make a 4KB file with the combination of tiles he intends to use for that screen, instead of loading the actual CHR data that is included in the ROM (which could even be compressed).

Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru » Mon Dec 06, 2010 10:57 pm

I've added the feature with copying parts of the nametable into the clipboard as set of .db's. It is in the Nametable menu.


I had thoughts of how to support non-4K *.chr files. As I understand, we have just four common cases: 1K, 2K, 4K, 8K.

For 8K we can have two banks, only one visible at a time, and two buttons select which part is visible. BMP import would only fill up current part of the 8K. There should be functions to save 8K or current 4K, probably just filter items in the save dialog, or maybe Nametable menu items.

For 1K and 2K, I think it could be loaded starting from the currently selected tile in current 4K part (with any offset), and with ability to save 1K or 2K file starting from the cursor.

Is that would be enough?

User avatar
neilbaldwin
Posts: 481
Joined: Tue Apr 28, 2009 4:12 am
Contact:

Post by neilbaldwin » Tue Dec 07, 2010 2:19 am

Thanks Shiru!

If you're looking for other little feature to add ;)

In CHR editor:

+ shift CHR up/down/left/right
+ flip CHR horizontally/vertically
+ colour fill tool

No pressure though, they would just be the icing on the cake.

Great job :D

User avatar
Bregalad
Posts: 7808
Joined: Fri Nov 12, 2004 2:49 pm
Location: Chexbres, VD, Switzerland

Post by Bregalad » Tue Dec 07, 2010 6:03 am

OK I don't understand the guys complaining that it "only" supports 4KB of CHR, since this is what the NES uses.

However, I'd rather have support for smaller files, and expand them to 4KB with blank tiles... maybe you'd want to make screens that doesn't use ALL the 256 available tiles.
Life is complex: it has both real and imaginary components.

tepples
Posts: 21875
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples » Tue Dec 07, 2010 9:05 am

Bregalad wrote:OK I don't understand the guys complaining that it "only" supports 4KB of CHR, since this is what the NES uses.
The NES uses 8 KiB, but only 4 KiB at a time. The PPU has built-in bankswitching ($2000.D4). Mappers use more than that, again 4 KiB at a time. In my opinion, at a minimum, a nametable editor should support 4 KiB banks, which will cover CNROM, GNROM, Color Dreams, and S*ROM CHR banking. In fact, I just realized that I need to improve my Python-based nametable editor to support this (and sub-4 KiB files).

3gengames
Formerly 65024U
Posts: 2273
Joined: Sat Mar 27, 2010 12:57 pm

Post by 3gengames » Tue Dec 07, 2010 2:18 pm

Awesome, shiru! I can't wait to get on this. :D Thanks so much. -downloads new version which I hope has it!-

Shiru
Posts: 1161
Joined: Sat Jan 23, 2010 11:41 pm

Post by Shiru » Wed Dec 08, 2010 12:09 am

New version is uploaded, download link is the same. Now it supports 1K, 2K and 8K in a way I've described above. It also has additional CHR editor features - scroll, mirroring, and fill.

Please be careful, these changes were relatively major, so maybe some bugs were introduced. I.e. backup your files before overwrite them with tool, just in case.

Post Reply