Skip to content
This repository has been archived by the owner on Oct 14, 2023. It is now read-only.
/ isx2gb Public archive

Nifty replacement for abISX or CVTISX that converts Intelligent Systems eXecutable files into valid GameBoy ROM images and more.

License

Notifications You must be signed in to change notification settings

gitendo/isx2gb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Notice

Starting October 12th, 2023 GitHub is enforcing mandatory two-factor authentication on my account.
I'm not going to comply and move all my activity to GitLab instead.
Any future updates / releases will be available at: https://gitlab.com/gitendo/isx2gb
Thanks and see you there!


isx2gb v1.03

Command line utility to convert Intelligent Systems eXecutable files into Game Boy ROM format and more. This is my personal replacement for abISX v1.02 by Anaerob. It has following improvements:

  • code / data overflow in bank 0 is allowed, excess bytes are moved to bank 1 without any fuss.
  • you're not forced to ORG your code / data if you don't need to, just GROUP it in appropriate banks.
  • you can ORG your code to RAM or SRAM (why not?) and save it to file(s) for further processing. This might be appreciated by clever coders or when size does matter.
  • you can patch Game Boy ROM on the fly exploiting ISX file as IPS replacement. All the code / data will be applied to proper offsets.
  • creating symbolic file is easy, just use CAPSOFF/SMALL with PUBALL directives in your source(s).
  • ROM checksums are fixed automagically providing that there's a valid logo in header section.
  • more readable ROM map.

Options :

⚠ there were changes from 1.02 to 1.03

-d  dump isx records into binary file(s)
-f  switch ROM filling pattern from 0x00 to 0xFF
-p  patch supplied ROM file with ISX records
-r  round up ROM size to the next highest power of 2
-s  create symbolic file for debugger

Examples :

isx2gb -d code.isx

This will save all ORG sections into separate binary files, no ROM file is created. If you're into 128B/256B/1K/etc. coding, try to place your code in WRAM and compress such output for better result.

isx2gb -p patch.isx romfile.gbc

Patch romfile.gbc with code / data from patch.isx which basically works like .ips patching you're most likely familiar with. Take a look at my Macross 7 english translation for a proof of concept.

isx2gb -f -r -s game.isx

Create ROM file which will have free space filled with 0xFF instead of 0x00 (default). Round it to proper size, just like commercial stuff and produce symbolic file to be used with debugger ie. BGB.

Important :

Let me know if you see similar message:

Error: Unknown record type (1417 : 14)

Currently only record types 0x01, 0x13, 0x14, 0x20, 0x21, 0x22 are supported and that should be enough.

To do :

  • improve rom padding option
  • test it thoroughly

Bugs :

Let me know if there's any.

About

Nifty replacement for abISX or CVTISX that converts Intelligent Systems eXecutable files into valid GameBoy ROM images and more.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages