Skip to content

Instantly share code, notes, and snippets.

@freem
Last active September 30, 2016 20:06
Show Gist options
  • Select an option

  • Save freem/125a9c564217cadb0d8d1c193314bb1d to your computer and use it in GitHub Desktop.

Select an option

Save freem/125a9c564217cadb0d8d1c193314bb1d to your computer and use it in GitHub Desktop.
the giant list of projects

freem's giant list of projects

trying to catalog everything "important" I've worked on and would like to work on.

things can be broken down into categories:

  • Reverse engineering projects
  • General software projects
  • NES homebrew games/utils
  • Neo-Geo homebrew games/utils
  • Efforts on other retro platforms
  • Game development

Not everything will be included, for various reasons.

Reverse Engineering Projects

Contents:

  • Super Dodge Ball (NES)
  • Pro Wrestling (NES)
  • Tetris (Nintendo) and Dr. Mario (NES), as part of a stupid multicart idea
  • "The Society of Video Game Reverse Engineering" (or some similar name) community??

Super Dodge Ball (NES)

At a glance: attempt to learn everything I can about the NES version of Super Dodge Ball and its Famicom counterpart.

  • Status: In progress
  • Started: ~2010s
  • Original Impetus: "How the fuck are the super shots assigned?"

Overall task structure:

  • Figure out American version
  • Use American version info to figure out Japanese version

Pro Wrestling (NES)

At a glance: a look into the origins of Fire Pro Wrestling.

  • Status: Idea
  • Started: not yet!
  • Original Impetus: "Fire Pro Combination Tag is 384KB? Well, fuck."

Overall task structure:

  • Disassemble ROM
  • Map it out
  • Figure out why there's a Rev A version
  • Some time later, use this info on the FDS version (optional)
  • Use what you've learned to make a clone with Love2D
  • Move on to disassembling Fire Pro Combination Tag, and back to the top point.
  • Move on to disassembling Super Fire Pro Wrestling X Premium, and back to the top point.
  • If you hate yourself, move on to disassembling Fire Pro Wrestling D, and back to the top point.
  • If you REALLY hate yourself, move on to disassembling Fire Pro Wrestling Returns, and back to the top point.

Tetris (Nintendo) and Dr. Mario (NES)

At a glance: stupid multicart idea

  • Status: idea
  • Started: not yet
  • Original Impetus: infidelity creating Super Mario All-Stars (NES); the SNES game where both are included

Overall task structure:

  • Disassemble Tetris (enough for mapper conversion if necessary)
  • Disassemble Dr. Mario (enough for mapper conversion if necessary)
  • Try to combine the two
  • See if you can implement Mixed Match
  • Game Selection menu program

"The Society of Video Game Reverse Engineering"

At a glance: there should really be some sort of shared community about video game and computer game reverse engineering.

  • Status: idea
  • Started: not yet
  • Original Impetus: fractured communities with scattered information; Zoinkity not having a proper webhost

This isn't something I can really give an "overall task structure", as I have to see if other people are open to the idea.

General Software Projects

Contents:

  • Fire Pro Returns Logo Viewer
  • Multi-format tilemap editor

At a glance: Logo viewer (and eventually importer) for Fire Pro Wrestling Returns.

  • Status: In progress
  • Started: March 2016
  • Original Impetus: FPR's logo editor sucks to use, lmao

Overall task structure:

  • The logo viewing and export part is complete.
  • Logo importing, which is merely part 1.
  • Checksum bullshit!!! which is the real problem. Jason Blackhart already has the problem solved, so maybe I should just ask him instead of trying to do it myself.
  • After that... other FPR editing tools??

Multi-format tilemap editor

At a glance: Tilemap editor for multiple retro consoles (e.g. NES, SMS, Neo-Geo fix layer, etc.)

  • Status: idea
  • Started: not yet
  • Original Impetus: "I wish something like NES Screen Tool existed for other platforms" (both consoles and computer OSes)

Overall task structure:

  • Create some overall format (XML based? some other format based?) for the tool's native use.
  • Read example code to figure out how to display tiles
  • Tile painting
  • The specifics of each platform's palette system
  • The specifics of each platform's tilemap system
  • Export to console formats
  • Code for each console to read/display the data

Things to think about:

  • Scrolling (where available)
  • Palette changes and cycling
  • (NES-specific): MMC5 attributes/tiles
  • (Neo-Geo-specific): SMA fix layer enhancements
  • (RAM-based setups): tile changes (this one may be a bit too complex)

NES Homebrew Games/Utils

Contents:

  • NES corelib
  • Family Picross
  • Bumpin' Cars
  • Fire Simulator
  • Quack - a duck simulator
  • nesmon
  • Greybox Basic
  • asm6f

NES corelib

At a glance: assembly library for programming NES games

  • Status: in progress
  • Started: 2012 or so?
  • Original Impetus: "how the hell do I learn to program this thing"

Details are for the repository.

Family Picross

At a glance: NES picross game that became overly complex for the sake of commercial sales. :S

  • Status: Stalled
  • Started: 2012
  • Original Impetus: "Picross should be an easy game for one person to make..."

Overall task structure:

  • STOP. PROCRASTINATING.
  • Finish up the game code
  • Finish up the overall presentation code
  • Get someone to do sound/music
  • Find a publisher

Bumpin' Cars

At a glance: kind of like Motos. nesdev compo 2014 planned entry, that failed.

  • Status: Stalled
  • Started: 2014
  • Original Impetus: "Motos is a neat game!"

What ended up happening is I didn't realize the scope of the game with all my planned features. This is on the back burner for now, because other projects are more important.

Fire Simulator

At a glance: small little toy

  • Status: stalled
  • Started: 2015??
  • Original Impetus: "hey, this would be neat"

Stalled right now for various reasons. Might dust this off and try finishing it?

Quack - a duck simulator

At a glance: silly arcade-like game where you play as a duck. nesdev compo 2016 planned entry. haven't failed yet.

  • Status: in progress
  • Started: 2016
  • Original Impetus: "I need to actually finish an entry to make up for 2014's failures"

Overall task structure:

  • finish up the animation system
  • player collision with background
  • player coliision with sprites (NPCs, items)
  • figure out how NPCs are meant to work
  • endless gameplay tweaking

Unlike other entries, this task has a deadline; see the nesdev forums

nesmon

At a glance: machine language monitor for the NES, bringing it closer to a computer from the 80s.

  • Status: stalled
  • Started: September 2015
  • Original Impetus: Chris Covell's PCEmon for PC Engine

github repository for more info

Greybox Basic

At a glance: a modern BASIC for NES game development

  • Status: planning
  • Started: ~2015-ish??
  • Original Impetus: nbasic not really maintained anymore

I don't really have the drive to do this because I know how to program the NES in assembly, but it would also be a good thing to have for others. The NES part only really needs the interpreter binary, not a realtime line/screen editor.

asm6f

At a glance: modified version of loopy's asm6

  • Status: stalled
  • Started: December 2013
  • Original Impetus: "I want sonder's FCEUX .nl export, but I also want to use some of the undocumented 6502 opcodes."

github repo

Neo-Geo Homebrew Games/Utils

Contents:

  • Neo-Geo freemlib
  • FM Studio
  • The Last Eichhof

Neo-Geo freemlib

At a glance: assembly language library for programming the Neo-Geo

  • Status: in progress
  • Started: May 2014
  • Original Impetus: support library for The Last Eichhof

the repo, fool.

FM Studio

At a glance: music making tool for the neo-geo

  • Status: ideas, sketches
  • Started: 201x
  • Original Impetus: "the current neo-geo tracker doesn't work on hardware, and I don't think neo-geo support is being added to deflemask any time soon"

This is really a sub-task of the Neo-Geo freemlib, as it's a tool. However, the scope of the project makes it get its own entry.

The Last Eichhof

At a glance: a fun DOS game from my youth ported to the Neo-Geo

  • Status: stalled
  • Started: 2014
  • Original Impetus: "the source code is available, and this should be easy to port"

eventually I got stalled because I wanted to use the other parts of the FM chip to generate sound (for the Neo-Geo logo and the coin drops)... things lead to another, and that explains why a lot of these projects exist and/or are stalled.

This is not as important as finishing Family Picross.

Efforts on Other Retro Platforms

Contents:

  • freemco crosskit (multiple retro platforms)
  • FKit library (PCE)
  • Pong on NES/PCE
  • SMS/Game Gear library (possibly shares code with GB library)
  • Game Boy library (possibly shares code with SMS/GG library)
  • Dreamcast dev with KOS
  • Amiga dev
  • Other platforms at a glance

there are too many things here and none of them are worth going into detail at the moment.

Game Development

Contents:

  • Pro Wrestling freem
  • Hyper Bowling
  • "not strider"
  • "not metroid" and hundreds more that aren't worth going into full details yet

Pro Wrestling freem

I can't really use the template for this one... It's the hardest project on this list, largely due to my own expectations for what a wrestling game should be. I'm going to keep quiet about it until I actually have something to show, even though I don't know when that will be.

Hyper Bowling

At a glance: a bowling game with normal and abnormal gameplay

  • Status: ideas, sketches
  • Started: September 2016
  • Original Impetus: "League Bowling suuuuuuuuucks" "this can also be a PC game though"

"not strider"

At a glance: high speed action platforming game

  • Status: sketches
  • Started: 201x
  • Original Impetus: (classified)

This is a game where you should feel really good about moving fast.

"not metroid"

At a glance: a metroidvania in a slightly futuristic setting

  • Status: sketches
  • Started: 201x
  • Original Impetus: (classified)

Not to be confused with "Eden", which is essentially Metroid for the SMS.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment