Portfolio
All the work that I've done. Most titles are clickable to the approriate places to find them.
Emulation
-
Project64 - 64DD EmulationPC
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 EmulationSuper 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 ToolNintendo 64
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.