navigationGo.pngQuick Navigation
allprojects32.pngAll projects
hardware32.pngHardware
links32.pngLinks

favoriteStar32.pngTop projects
Alan numitron clock
Clapclap 2313/1386
SNES Pi Webserver
USB Volume/USB toys
Smokey amp
Laser cutter
WordClock
ardReveil v3
SNES Arcade cabinet
Game boy projects
cameleon
Home Presence Detector

github32.pngGitHub
AlanFromJapan

navigationMail.pngContact me

alanfjmail.png
3flags.pngWho's Alan?


Akizukidenshi
Elec-lab
Rand Nerd Tut
EEVblog
SpritesMods
AvrFreaks
Switch-science
Sparkfun
Suzusho
Datasheet Lib
Reddit Elec
Ermicro
Carnet du maker (fr)

gbreaper

Last update: Wed Mar 25 19:01:36 2020

GbReaper : a Game boy ROM viewer, sprite and map editor

I'm playing with GB now and though you can use multiple tools to do the job, it's a pain. So I'm making this easier with a all in one tool. All exist as free software, usually with source code but in "old" languages (Delphi 3!) and no more maintained.
- ROM viewer: replace GB tile viewer
- Sprite editor: replace GBSP
- Map editor: replace GBMP
(2020 March) Now maybe 5 years later I wonder why I started that, other than "because I can" and that damned not-invented-here syndrom. Anyway it's covering enough of what I need, and if by chance it helps someone someday I'll be happy.

So in case you are not like me and don't want to reinvent the wheel use the old-yet-working:
  • GameBoy Tile Designer
  • GameBoy Map Designer
  • Specifications

    ✔ = done, otherwise it's a TODO

    ROM

  • See a GB ROM content ✔
  • Extract one sprite to the library ✔
  • Extract 2/4 consecutive sprites (most of them are 4x4 anyway) with Ctrl
  • Set a palette △ (disabled for now)
  • Page up/down + mouse scroll △ (Page up/down ok)
  • Slight vertical misalignement on large ROM to be fixed
  • Library

  • Reorder library
  • Delete sprite from library
  • Duplicate sprite from library
  • Group some sprites by 4 visually
  • Categories : background, characters, items, custom, ...
  • Fold categories
  • Sprites

  • Create new sprite in library ✔
  • See a 3x3 map of the sprite ✔
  • See a zoom x1, x2 and x4 of the sprite ✔
  • Real time update of everything when updating a sprite ✔
  • Edit sprite: pen ✔
  • Edit sprite: fill, Mirror L/R T/B, negative, rotate, rotate palette
  • See each one palette
  • In and out

  • Save & load to file ✔
  • Export to C code to be built by GBDK-n or the old GBDK: nb elements const and each element start index ✔
  • Import and image and transform to sprites on the fly New!
  • Import 4 tile at a time with Ctrl ✔
  • Better algorithm than closest neighbor for Tilizator: dither
  • Export also makes a makefile
  • Export can choose which map(s)
  • Export can save space by skipping unused tiles
  • Maps

  • Create new map, delete map, edit map ✔
  • Map editor: use sprite and tool paint/fill ✔
  • Paint with 4 consecutive sprites (most characters are 2x2) with Ctrl ✔
  • Fill paint with 2 consecutive alternate sprites (for backgrounds)
  • Highlight hover on map
  • Duplicate map
  • Code

    Source

    C# on .NET 4.0 and runs on Windows, not on Mono (alas, at least not yet).
    As usual on Git https://github.com/AlanFromJapan/alanarduinotools/tree/master/C_Sharp/GbReaper

    You can compile it with GBDK-n or the old GBDK.

    Compilation

    Ok so everybody complains about the old GBDK and ...yeah honestly, it's pretty bad. Took me 2 days to end up with bugs on code that I knew was sound (been a coder for 25 years, I know my C).
  • Solution 1: use GBDK-n, better but my Mint 19 sdcc is 3.5 and sometimes compilation take minutes to complete!
  • Solution 2: use GBDK-n AND the latest sdcc 4.0. You need to edit the gbdk-n compile script to use the right sdcc, and you get nice compilation under a handful of seconds.
  • Solution 3: go ASM
  • In all cases, that code ended working as planned with a recent compiler.

    Projects

    On GitHub, on my GameBoy repository.

    Pictures


    Basic screen, with a ROM loaded and a project with 2 maps loaded.

    The same map loaded on a ROM and in a GB v(^_^)v.
    All content on this site is shared under the MIT licence (do what u want, don't sue me, hat tip appreciated)
    electrogeek.cc ~ Formerly known as Kalshagar.wikispaces.com (AlanFromJapan [2009 - 2020])