Portfolio
All the work that I've done. Most titles are clickable to the appropriate places to find them.
Translations
-
BS-X(Super Famicom) English
My first attempt at a translation hack. Translation done with the help of many translators and was made using a hex editor and Lunar Compress for recompressing graphics for replacement.
-
Mario Artist(64DD) English
Translations mostly by myself of Paint Studio, Paint Studio (Beta), Talent Studio and Polygon Studio, sometimes redone up to 3 times.
Did reverse engineering and hacking using bass assembler for readable source files with pure MIPS assembly language and full control over where data and graphics are inserted.
Also did most of the english graphics except the Title Logo.
-
Marvelous - Another Treasure Island(Super Famicom) English
I did hacking and tooling to make the job of translation easier, like with a tool with a preview feature (PuttScript and TransPutt, see below), with pictures that automatically convert.
Hacking work includes hacks to render a variable width font, changes to text buffer usage to avoid buffer overflow, menu control changes, and lots of additional changes needed for stability as some of these changes are significant.
DackR did the new text and pictures used in the new translation.
-
Ongaku Tsukuru (Music Maker)(Super Famicom) English
Started a translation project with some new tools made in Python for compression & decompression.
ROM Hacking
-
Zelda 64 Dawn & DuskN64 & 64DD
Full almost total conversion of The Legend of Zelda - Ocarina of Time, with a brand new small scale story.
Developed 64DD expansion code from scratch with reverse engineering the base game, Captain Seedy-Eye developed all assets, story, music, and I did the technical implementation for 64DD (in full MIPS assembly code) and patches for all N64 NTSC retail versions (1.0, 1.1 & 1.2).
-
Zelda Expansion64DD
Hack of The Legend of Zelda - Ocarina of Time to include earlier versions of Master Quest dungeons by ZethRyder's team.
Developed 64DD expansion port based on previous work with Zelda 64 Dawn & Dusk.
-
Flashback MSU1 PatchSuper Nintendo
Flashback with CD quality soundtrack.
Originally developed with the previous version of MSU1 called 21FX, I hacked the game to restore missing songs and provided already converted soundtracks from Amiga and FM Towns versions.
-
Special Tee Shot (Prototype) Quality of Life PatchSuper Nintendo
Made a Quality of Life hack for the 1992 prototype version of Special Tee Shot.
Changes the game's controls to be more similar to the final Satellaview version.
Emulation
-
Project64 - 64DD EmulationPC
Added 64DD Retail (JPN and USA) and Development emulation.
Originally based on emulation code from MAME (by Happy-yppaH) by converting a 64DD disk internally to its own format created specifically for MAME to represent the disk in physical sector order, I eventually rewrote a large portion of it to avoid the conversion entirely, which allowed to support more disk formats like the 64DD master disk image format (*.d64) in a seamless manner. The disk seeking used to be very fast, and then when the Mario Artist Paint Studio prototype was dumped, it required slowed down disk seek times, I provided a way to have configurable speeds.
Adding this took some time as the emulator was definitely not made for running anything other than basic N64 Cartridge ROM images.
Also added N64 Mouse emulation for N-Rage and Project64-input, and Game Boy Camera mapper emulation (variant of one MBC mapper) for Transfer Pak in N-Rage.
-
mupen64plus - 64DD EmulationPC
Developed 64DD emulation based on Project64's implementation for parallel-n64 libretro core fork initially. This was particularly difficult to add as the emulator is very hardcoded for N64 Cartridge ROM images in mind.
Then bsmiles32 added 64DD emulation based on newer Project64 code on the official upstream mupen64plus core and then I improved it further such as supporting 64DD master disk image format (*.d64).
-
Ares - 64DD EmulationPC
Developed 64DD emulation using MAME 64DD disk format (with physical sector ordering) as an internal default format to fit to the project's goals. Unlike previous attempts, I attempted this from scratch with some little help from the Ares team, focusing on accuracy and attempting to act more like the actual 64DD hardware involving newly developed timing and behavior tests by myself for real 64DD hardware.
-
Ares - Mario no Photopi (SmartMedia Card) EmulationPC
Work in progress Mario no Photopi's peculiar cartridge type with 2 SmartMedia Card slots with help from Zoinkity. Implemented a generic SmartMedia Card media format and the cartridge specific chip that handles SmartMedia Card access for the game, though I haven't figured out every aspect with error correction and counters.
-
bsnes-plus - Satellaview EmulationPC
Reimplemented Satellaview and BS-X emulation code (for my own fork called bsnes-sx2 first, then on bsnes-plus) based on my own documentation and others (nocash, ikari_01).
Previous emulation attempts of Satellaview were completely misunderstood and barely real hardware tested. I reimplemented the BS-X mapper entirely based on ikari_01's research, reimplemented Memory Pack support based on the Type 1 Memory Pack with almost full support of Flash commands, especially for games like RPG Tsukuru 2, and added Satellaview satellite signal emulation based on external files.
-
SNES9X - Satellaview EmulationPC
Reimplemented Satellaview and BS-X emulation code (for my own fork called snes9x-sx2 first, then upstream) based on my own documentation and others (nocash, ikari_01).
Added all the features that bsnes-plus had, as the initial code was very not representative of the Satellaview and BS-X hardware, and made sure to support Memory Pack loading for Super Famicom games that had a Memory Pack slot.
-
sd2snes / FX Pak Pro - Satellaview Emulation(Super Nintendo)
Helped ikari_01 (developer of sd2snes) with information about how Satellaview emulation should work then I provided my own RAW broadcast data according to specs (bsxpage.bin), for the highest Satellaview game compatibility in mind.
64DD
-
64DD Dump ToolN64
Tool to dump 64DD disks, IPL ROM, H8 Drive Controller ROM, EEPROM, and Register Set.
Done a lot of work since 2014 about 64DD disk preservation, has been rewritten 2 times, now includes a fully custom made 64DD font console-like renderer.
When I made this in 2014, it was done with a lot of help from marshallh who provided the initial (but broken) SD card writing code for 64drive flashcart, Zoinkity for additional reverse engineering work, and a few collectors who helped out through testing.
-
64DD MFS ManagerPC
Tool made in C# .NET to access save filesystem for Mario Artist titles and F-Zero X Expansion Kit, and able to import/export files.
It can also convert Mario Artist 2D pictures back and forth.
Satellaview
-
BS-X Reverse Engineering
Started to learn a lot about systems in a low level manner thanks to reverse engineering BS-X to figure out what the broadcast data was made of. My first time reverse engineering and documenting something and used this knowledge for future work involving these skills.
I've started by using bsnes where I relied a lot on the debugging tools, and figured out how BS-X handles downloads, until nocash got to understand it way faster than me but I'm proud that I still figured things out and documented a lot of main aspects of Satellaview.
-
SatellaWavePC
Tool to make custom Satellaview broadcast data, with a database editor, where you can edit each channel used by BS-X and its games, down to just about every specifics of BS-X's Town, including custom event plaza graphics.
Developed with C# .NET, I learned a lot about UI and UX during my earliest attempts at this tool, as even the first versions of it were so confusing to use that even I forgot how to use them. I made it an important point to care a lot more about the user experience since then.
-
SatellaviewDecoderPC
Decodes RAW satellite bitstream data.
Other Development Work
-
Solar Magic AdvancePC
Vaporware Super Mario Advance 4 Level Editor.
Originally developed with Liberty Basic, then Visual Basic (.NET), then C#, it was meant to be an e-Reader card maker for Super Mario Advance 4.
Originally called SMA4 eCard Maker, it was my first programming project.
-
LASNESTracerPC
Tool developed in C# to disassemble SNES 5A22 instructions from logic analyzer traces for a canned TASBot Awesome Games Done Quick speedrun segment.
-
KirbyAirRideToolsPC
Tool for Kirby Air Ride modding.
Attempted model importing and exporting to OBJ and DAE from sysdolphin model formats.
-
eReaderToolsPC
Toolset for e-Reader card data making and checksum recalculation.
Includes some card documentation and reverse engineering in its wiki.
-
sma4commGame Boy Advance
Homebrew to send e-Reader card data to the official Super Mario Advance 4 game.
Used to only work under emulation because of unknown link timings that I haven't figured out, but Gannio made the fix and now works on real hardware.
-
mvdke_commGame Boy Advance
Homebrew to send e-Reader card data to the official Mario VS Donkey Kong game.
Based from GBA SDK MultiSIO demo, works on real hardware.
-
ARGLINK_REWRITEPC
Reimplemented ARGLINK from scratch, a linker for a much older version of Star Fox 2 source code that was being passed around. The implementation was based on a basic understanding of the ARGASM object format with an hex editor and guessing.
Depreciated because of the gigaleak which included full working versions of the toolchain.
-
SBN2SPCPC
Tool to make SPC files from SBN data (SPC700 binary data). Can be used to extract music data into a working playable music file.
- PuttScriptPC
Tool to import/export text data from games using a character table.
- TransPuttPC
Tool to edit text for games with real time preview and search feature.
Currently only supports Marvelous - Another Treasure Island as of this moment.
-
Hyper CG-CADPC
Tool to open SNES & GB graphic files from the gigaleak (Super CG-CAD format) with ability to export PNG and GIF animations.
I reimplemented a full GIF export from scratch to have full control on every aspect of the export process because none of the libraries felt like they worked like I wanted it to be.
- dwarfonePC
Tool to open ELF files with DWARF v1 debugging info as it is unsupported in current toolchains. Also attempts to discover hidden debugging info.