C8SALT - A full blown CHIP-8 Emulator written in pure TI-BASIC for the TI-83+ and TI-84+ And probably CSE/CE? And if not I made CEPORT for a reason


You know because Vinegar is the name of a CHIP-8 emu for the 84+ in ASM and C(Cool Salt & Vinegar CHIPs

C(8)SALT is a successor to my obscure previous failed attempt at emulating CHIP-8 platform in TI-BASIC, SHACC-8. Unlike SHACC, C8SALT uses several memory compression techniques to actually fit in 24k of RAM, and uses a single list for storing 4096 bytes of RAM rather than several.



There's no keypad input support or rom importer yet, but it it does support several of the most improrant opcodes, including display. I wont bore you with the specifics of what's implemented and what's not, but I can say that it's still far from complete.

I don't have any plans to support SuperCHIP or XO-CHIPXO wouldn't even be possible
due to technical limitations, and even at the best level of optimization this isn't going to run at a playable speed due to how slow drawing pixel-by-pixel is in TI-BASIC.

All that aside, there is a Github for this project available if you want to try out this early version of C8SALT: https://github.com/NinjaWeedle/C8SALT
Making some progress thru corax89ís test rom- I still need to implement the 8xyX ops besides 8XY0 though.
Made tons of progress lately- and finished typing out the Corax89 test rom by hand.
Here's a live showcase of the speed-or lack of it- of C8SALT:


ROM importer should finally be coming soon.
While I'm not familiar with the Chip-8, this seems kinda promising, keep going!
If you are not familiar with CHIP-8, I suggest that you give Vinegar by Benryves a try. I am not a big fan of the CHIP-8 games but I would like to see how your version runs in TilEm with no speed throttling. Smile
DJ Omnimaga wrote:
If you are not familiar with CHIP-8, I suggest that you give Vinegar by Benryves a try. I am not a big fan of the CHIP-8 games but I would like to see how your version runs in TilEm with no speed throttling. Smile

Couldn't get TilEM up and running, so I guess you'll have to settle for Wabbitemu :p


As you can see, it now runs at about... 1 cycle per frame if I'm being generous? so a lot better, but not exactly playable.
V0.5 - C8SALT gets a rom importer!


C8SALT running BC_test.ch8

As you can see by the GIF above C8SALT now has an actual ROM importer! Well, sort of- it's a python file that will take a CHIP-8 program named "program.ch8" and convert it into a .txt file that ti-connect data editor can read and then convert into an .8xl which you can send to your calculator.
It's not a drag and drop process, but it makes C8SALT actually usable right now!

I also implemented FX29 and a few SCHIP opcodes. I may end up doing SCHIP after all, at least partially. we'll see. Evil or Very Mad
V0.7 - first alpha release!



C8SALT's gotten to a point where I feel like an alpha release is in order- there's a basic GUI, a resume function, a rom converter, and most of the opcodes have been implemented. I've submitted C8SALT Alpha V0.7 to the archives, so go check it out when it gets added!

As for changes since v0.5, here's a quick run down:

- Added 8XY6 & FX30
- Added option to enable/disable HLE font rendering (CSE/CE users will need to turn it off)
- Added new loading screen
- Added rudimentary resume function or resuming gameplay after pressing ON.

My next target is finishing the remaining 8XYx opcodes, then finally tackling Fx33 and fx55. after doing that and passing the Bestcoder and Corax tests, I'll do a full release. I'm hoping to get C8SALT V1.0 done by Christmas!
Alright, so I guess Iíve gotten a little behind, but hey, the projectís back now.

Iím currently working on V0.8, which should include more debug info, and have all the bitwise ops implemented.

As of now, Iíve only implemented 8xy2 (AND), and still have 8XY1 (OR) and 8XY3 (XOR) to go.
  
Register to Join the Conversation
Have your own thoughts to add to this or any other topic? Want to ask a question, offer a suggestion, share your own programs and projects, upload a file to the file archives, get help with calculator and computer programming, or simply chat with like-minded coders and tech and calculator enthusiasts via the site-wide AJAX SAX widget? Registration for a free Cemetech account only takes a minute.

» Go to Registration page
Page 1 of 1
» All times are UTC - 5 Hours
 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

 

Advertisement