(s)Chip8 emulator for 83 and 83+

Got a brilliant program idea? Let us know!

Moderator: MaxCoderz Staff

Post Reply
Duck
Sir Posts-A-Lot
Posts: 231
Joined: Sat 18 Dec, 2004 3:38 am

(s)Chip8 emulator for 83 and 83+

Post by Duck »

Chip-8 is an interpreted language made in the '70s for low-res devices. There are several simple games for it, some even <256 bytes. Super-Chip-8 is an extension that supports a bigger resolution (to 64*128 pixels) and scrolling. There are several games for it available on the internet.

A long time ago Joe Wingbermuehle wrote a Chip-8 interpreter for ti83 SOS. It plays chip8 games well, but lacks Super-Chip-8 support.
http://www.ticalc.org/archives/files/fi ... /6938.html

Has anyone ever considered extending JW's interpreter? Super-Chip-8 would be cool. The graphics would fit on a ti83(+) screen if you swith the LCD to 6-bits-per-word mode :P I realize there are better options :)
Last edited by Duck on Wed 02 Feb, 2005 10:22 pm, edited 1 time in total.
User avatar
dysfunction
Calc Master
Posts: 1454
Joined: Wed 22 Dec, 2004 3:07 am
Location: Through the Aura

Post by dysfunction »

Rockbox also has Chip-8 support (which is awesome, because it will soon be ported to my mp3 player).
Image


"You're very clever, young man, but it's turtles all the way down!"
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Hmm, I've started porting this over to the 83+ - so far all I've got is it loading a file then crashing out spectacularily :x
Duck
Sir Posts-A-Lot
Posts: 231
Joined: Sat 18 Dec, 2004 3:38 am

Post by Duck »

Great!
Here is some chip-8 documentation you might find usefull:
http://www.pdc.kth.se/~lfo/chip8/CHIP8.htm

Actually I was thinking about making it myself but I'm too busy at the moment anyway :)
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

Hmm, TI83 programming isn't my speciality, and Joe W.'s code is not easy to read - especially with hard-coded getk values (converting to the skXXXX format from the include files has been fun) - and I think something is really screwing up the program loading. Add to that the SOS "call vector0" and "call vector1" uncertainty...
I think it might be easier to start from scratch! :roll:
Duck
Sir Posts-A-Lot
Posts: 231
Joined: Sat 18 Dec, 2004 3:38 am

Post by Duck »

That's what I would do. The Chip8 architecture is very simple, maybe even the simplest of all consoles. I think one can write the whole thing in one or two days.
DarkAuron
Maxcoderz Staff
Posts: 1349
Joined: Sat 18 Dec, 2004 6:53 pm

Post by DarkAuron »

<256mb can still be a lot :shock:
[Gridwars Score] - E: 1860037 M: 716641 H: 261194
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

DarkAuron wrote:<256mb can still be a lot :shock:
I think he meant "<256B" :roll:
Anyhow. Back to work. Joe W wrote some evil evil code (it seems a lot of his values are hard-coded in for system flags :evil: )
Duck
Sir Posts-A-Lot
Posts: 231
Joined: Sat 18 Dec, 2004 3:38 am

Post by Duck »

Yet, I meant <256 Bytes of course. The memory limit for these games is 4 KB.

Are you still converting Joe's code benryves? Or did you die on one of Joe's boobytraps along the way :lol:
Its nice you're giving it a try. I would have done it the other way around (start from scratch), but if it works (eventually) it works I guess.
What system flags are you talking about; the Chip8's or the calculators flags?
User avatar
benryves
Maxcoderz Staff
Posts: 3087
Joined: Thu 16 Dec, 2004 10:06 pm
Location: Croydon, England
Contact:

Post by benryves »

I mean the TI83 system flags. My code might not be perfect but at least it's easy to swap it between TI83 and TI83P code!
The SOS libs have given me problems, to say the least. What I'll probably do is rewrite all the file loading and GUI stuff (as such all it does is browse for a file and loads it into memory) and try and hack in Joe's original core.
However, his coding style is less than self-explanatory...

I also have very little time to work on this, so apologies all round.
Post Reply