Famitile -- CHR and nametable editor

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Famitile -- CHR and nametable editor
by on (#98027)
Download Famitile v0.1 (including source codes and Windows binaries): http://zzo38computer.org/nes_program/famitile.zip

Here is a list of some of its features:
  • Command-line mode and GUI (SDL) mode.
  • CP437 is built-in.
  • Mirror/flip tiles.
  • Shift tiles up/down/left/right.
  • Recolor tiles.
  • Rotate tiles (not yet implemented).
  • Transpose grid (may be useful when working on sprites).
  • AND/OR/XOR between tiles.
  • Load tiles in following formats: Famicom, Gameboy, Virtualboy, NeoGeo, 1bpp. (Saving is only Famicom)
  • Nametables can load/save in standard and MMC5 extension formats.
  • Edit up to sixteen CHR banks at once.
  • Lastline mode in GUI to enter commands same as command-line mode.
  • Support vi keys (hjkl can be used instead of arrow keys).
  • Check for duplicates.
  • Clipboard.
  • Loops can be used with command-line and lastline mode.
  • Mouse can also be used, although all commands can be accessed even by only the keyboard.
  • Written in C (CP437, bit hacks, and palette include files are created by other programs, also included).
  • Cross-platform (only tested on Windows so far, though).
  • Licensed under GNU GPL v3 or later version.
Re: Famitile -- CHR and nametable editor
by on (#98075)
It is now released. Tell me if you have any question/comment/suggestion/complaints, please.

Idea of additional features to implement (not yet implemented):
  • Load PNG file to convert to CHR and nametables
  • Rotate characters
  • Rotate/mirror/flip part of nametables
  • Direct text entry on nametables
  • Macros
  • Load MZM and ANSI screens into nametables
  • Improve nametable editor
  • Better documentation
Re: Famitile -- CHR and nametable editor
by on (#98165)
Well, it's nice that you developed it to be cross-platform in the first place, but:

Why not write a Makefile so that it could be compiled in a similar way to any other *nix program?

Here is a quickly-written Makefile that does the same job as the "compile" script (which, BTW, had the wrong line endings :( )
Code:
famitile: famitile.c
        gcc -o famitile famitile.c

gfamitile.o: famitile.c
        gcc -c -o gfamitile.o -DUSE_GUI famitile.c
       
vfamitile: gfamitile.o vfamitile.c famitile
        gcc -o vfgcc -o vfamitile `sdl-config --cflags` vfamitile.c `sdl-config --libs` gfamitile.o

clean:
        rm -rf *.o famitile vfamitile
Re: Famitile -- CHR and nametable editor
by on (#98187)
usr_share wrote:
Well, it's nice that you developed it to be cross-platform in the first place, but:

Why not write a Makefile so that it could be compiled in a similar way to any other *nix program?

Here is a quickly-written Makefile that does the same job as the "compile" script
Thanks; I will try that.

Quote:
(which, BTW, had the wrong line endings :( )
Yes you are correct; it uses CRLF even though UNIX expects LF only. Run dos2unix on the files to remove the carriage returns. I can make the Makefile with LF only and can change the "compile" script to LF only and I think they do not care about the line endings of the C codes though.

Also tell me if you have tried this program and your opinion about it?

I am not so good at writing the documentation so perhaps you and others can also help with documentation too?
Re: Famitile -- CHR and nametable editor
by on (#98265)
zzo38 wrote:
Also tell me if you have tried this program and your opinion about it?


Well, the interface isn't great, but looking at the functionality already implemented, it has quite a potential to replace YY-CHR at least on my computer.