Joined
·
10,591 Posts
I'm finally confident enough to release the very first Chip-8/SuperChip interpreter that has color support (random for now until a palette is implemented). So... here you go. Both the interpreter and the source code for further study.
Most people would stop after getting Space Invaders to work, but I really think that if that is the case, then my interpreter compared to the 1000+ Chip-8 emulators out there would be... mmm... too generic, and not really worth a release. I wanted to make something different... something that would set itself apart from the pool. Also because I was bored.
Anyway, I think this is about as many improvements as I can make to this emulator of mine. If anything, next version might be in C, and the one after might be in ASM because I can only think of performance enhancements right now. The interpreter works well for any game I've tried, and I've fixed what I think could be the last game to ever need a fix: Spacefight 2019
Look, Ma! No ghost ship!!
So... enjoy, folks. Controls are any random button from 1 2 3 4 to Q W E R to A S D F to Z X C V. Each game has a specific set of controls, and the rest of the buttons might be useless or... not, but anyway, try those buttons and see which one is right.
Colors will be automatically generated every time you restart the interpreter (as in... you close it and start it up again). Restarting within the interpreter won't re-generate the color palette. I'll implement a way for you to pick specific colors once I've found the time, or someone else can try that using the source code I've provided.
More about the fix for Spacefight 2019 can be found inside the source code. I left nothing out. If you need more explanation, you can hit the Programming forum's Chip-8 thread. I offered a written explanation (in English :lol
there. Last but not least, source code does not have a license so feel free to do whatever with it, but please don't use it to cheat on your Java final exam. ;p
Most people would stop after getting Space Invaders to work, but I really think that if that is the case, then my interpreter compared to the 1000+ Chip-8 emulators out there would be... mmm... too generic, and not really worth a release. I wanted to make something different... something that would set itself apart from the pool. Also because I was bored.
Anyway, I think this is about as many improvements as I can make to this emulator of mine. If anything, next version might be in C, and the one after might be in ASM because I can only think of performance enhancements right now. The interpreter works well for any game I've tried, and I've fixed what I think could be the last game to ever need a fix: Spacefight 2019
Look, Ma! No ghost ship!!
So... enjoy, folks. Controls are any random button from 1 2 3 4 to Q W E R to A S D F to Z X C V. Each game has a specific set of controls, and the rest of the buttons might be useless or... not, but anyway, try those buttons and see which one is right.
Colors will be automatically generated every time you restart the interpreter (as in... you close it and start it up again). Restarting within the interpreter won't re-generate the color palette. I'll implement a way for you to pick specific colors once I've found the time, or someone else can try that using the source code I've provided.
More about the fix for Spacefight 2019 can be found inside the source code. I left nothing out. If you need more explanation, you can hit the Programming forum's Chip-8 thread. I offered a written explanation (in English :lol