? CHIP-8 Emulator/Interpreter ● SmileBASIC Source

Sign In

Register
*Usernames are case-sensitive
Forgot my password
Another contest? You asked for it!

CHIP-8 Emulator/Interpreter

Submitted
Updated
Author
RaichuBender
Public Key
4D4X3EK3
Min. Compat.
All
Version
0.9.8
Rating
16 votes
Description Update - 12Me21 made his own version. Check it out here: http://smilebasicsource.com/page?pid=693 This version is pretty much obsolete now, since I'm not going to improve it. You can still download it for the included games. CHIP-8 is an interpreted language created by Joseph Weisbecker and was meant to be used for the COSMAC VIP and Telmac 1800 8-bit microcomputers in the mid '70s. It was later reintroduced on graphics calculators. Several ports were made for other platforms as well. The reason it was created is that it makes creating games much easier. Control the games using a 16-key keypad. The display resolution is 64x32, so the sprites are very low-detailed. The only sound output is a beep. This set comes with a couple of CHIP-8 ROMs that are public domain, meaning everyone can share them without any problems. Here is a list of them: 15PUZZLE ADDITION ANIMALRACE ASTRODOGE - my personal favorite BLINKY BLITZ BRIX CONNECT4 GUESS HANOI HELLO HIDDEN INVADERS KALEID MAZE MERLIN MISSILE PARTICLES PONG PONG2 - a better version of PONG PUZZLE SIERPINSKI SIRPINSKI STAR STARFIELD SYZYGY TANK TETRIS TICTAC TRIP8 UFO VBRIX VERS WIFEOFF ZERO

Known issues

There are graphical issues in some games.

To do

Add Super CHIP-8 support. Bug fixes Make the touch keypad better Release log

0.9.0 - Initial release

0.9.1 - Minor bug fix, the score counter in Pong and Brix both work now!

0.9.8 - Multiple changes:

Real-time debug information added, saving/loading states added, improved audio, completely recoded render system so that it is much faster, more ROMs added, bug fixes.
Instructions Run CHIP-8 and enter a rom name. Use the buttons or keypad on the touch screen to control the games. Reset with L and fast forward with R. Save state with X Load state with Y Open the PRG in edit mode and you can change colors, button mapping and button rapid fire.
Categories
Keywords
  • emulator
  • interpreter
  • roms
  • chip8
  • chip-8
22 Comment(s) 3dsdiamond 3dsdiamond Tetris is unplayable Perska Perska Summer 2016 Contest Winner I won the SmileBASICSource Summer 2016 Contest! Programming Contest Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength RNG Hidden Easter Eggs Use the the fix two comments below:
I fixed the bug that caused some games (like tetris) to not work simple fix: 1: add V[&HF]=0 at the beginning of the DRW function 2: remove the other line that sets V[&HF]=0 3: replace V[&HF]=1 with IF P[I2] THEN V[&HF]=1
3dsdiamond 3dsdiamond Thank You Merry Christmas RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website http://smilebasicsource.com/page?pid=693
12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself here's my version: P3A3EEZF (doesn't come with the games) The "slow" button controls the speed: 0=unlimited, 1=1KHz, 2=500Hz Change the controls during a game by pressing the "CONTROLS" button and using the D-pad/A button to select a key, then press the button you want to control that key. press B to exit. 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself I fixed the bug that caused some games (like tetris) to not work simple fix: 1: add V[&HF]=0 at the beginning of the DRW function 2: remove the other line that sets V[&HF]=0 3: replace V[&HF]=1 with IF P[I2] THEN V[&HF]=1 RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Oh, wow. Thanks! Expect an update very soon! EDIT: This is a good opportunity for me to fix and optimize the code even more. 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself here's a video of tetris on my improved version of your interpreter: [url=https://www.youtube.com/watch?v=hhLuMBrIVIc]https://www.youtube.com/watch?v=hhLuMBrIVIc[/url] Mr_Mo Mr_Mo Reading I like to read books! Hobbies Video Games I like to play video games! Hobbies Zelda Is Awesome! I love The Legend Of Zelda! Express Yourself hey, 12me21, thanks for the fix bro. RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Neat! SMSbill SMSbill I don't see how to download this. Does it come as source code? I want to see how you did it all. RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website There is a public key you need to use to download this in SmileBASIC. RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Man, I need to update this. I have this 1.0 version that I haven't even released yet. CodeTrooper CodeTrooper How in the world do I make a program with this? Too complicated. XD Anyways nice emulator! I like it a lot! RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Thanks, it means a lot to me! Back then everything was done using ASM and binary. Programmers were really hardcore. But because the Telmac 1800 was so hard to program for, they invented a much easier type of binary code called CHIP-8. It wasn't really popular, but it succeeded in making programming much easier for that time. Today you can find it everywhere, from small hobbyists to easter eggs in video games. 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself could you use DIALOG to input the filenames? it's much easier to type. RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Sure, it'll be in the next update :D 12Me21 12Me21 Admin Syntax Highlighter Received for creating the code syntax highlighter on SBS Night Person I like the quiet night and sleep late. Express Yourself tetris isn't working... RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website I know. It's a shame. I can't figure out what the cause of the problem is... snail_ snail_ Page Moderator Helper Received for being very helpful around SmileBASIC Source Achievements Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Second Year My account is over 2 years old Website Does the interpreter run at the proper one-point-whatever MHz speed? In other words, how are you timing it/controlling the speed? RaichuBender RaichuBender Avatar Taboo I didn't change my avatar for 180 days Website Avatar Embargo I didn't change my avatar for 90 days Website Avatar Block I didn't change my avatar for 30 days. Website Because there is no real CHIP-8 CPU, there is no documented speed. It VSYNCs every time it draws a sprite or clears the screen and when it makes sound. I'll add a speed setting in the future. snail_ snail_ Page Moderator Helper Received for being very helpful around SmileBASIC Source Achievements Expert Programmer Programming no longer gives me any trouble. Come to me for help, if you like! Programming Strength Second Year My account is over 2 years old Website Ah, ok. That's a very reasonable way to time it since most programs are going to run some kind of graphics anyway.