Welcome to my CHIP-8 emulation page !
Please note: this emulator is no longer updated.
It contains everything you will need to run any CHIP-8 and Super-Chip program.
It is recommended that you run the emulator under Ms-Dos or Windows 95/98 in Ms-Dos mode.
Best is to boot from a Windows 98 floppy disk in Ms-Dos mode without loading Windows
(for this, press F8 just before the "Starting Windows..." message appears during the boot
sequence and you will be able to select the Ms-Dos prompt). The only trouble you might
have is to run a CHIP-8 program which calls a 1802 machine code subroutine. I wish I
could help you, but life is short and I passed to other hobbies...
About CHIP-8 and Super-Chip:
CHIP-8 is a language interpreter used
on the RCA TELMAC-1800 and COSMAC VIP computers in 1977, and some "make it yourself"
hobbyist computers in the early 1980's. It is small, uses simple instructions and is
easy to program, even for a novice programmer. CHIP-8 allows to program in less than
256 bytes these simple PONG, BRIX and TANK games we used to play in these early days
of the video game.
CHIP-8 instructions support math and logic operations, control flow, graphics and sound.
Because of the original design of the CHIP-8 interpreter, CHIP-8 programs cannot be
larger than 4Kb. They originally included the interpreter, which had to be very small
and took only 512 bytes of memory. Many CHIP-8 games were programmed since 1977, as
CHIP-8 was not only used on early machines.
CHIP-8 was used on the HP48 calculator in the early 90's when the programming tools
were not yet available).
CHIP48, the CHIP-8 interpreter for HP48, has been improved with several
additionnal instructions and features, and was called SUPER-CHIP (SCHIP).
This one offers a 128 x 64 resolution, some scrolling instructions, and a
much higher speed. Thus, some really good games appeared and marked the
begining of the HP48 games era. But now, this is old good past...
CHIP-8 has been ported to several platforms: DOS, Windows, MSX, ColecoVision,
TI calculators, Game-Boy, Acorn and Java. You will find these versions on the
Internet (use Google).
CHIP-8 is FREEWARE and you can download it here. The archive includes several games,
some utilities and a very detailed documentation written in english.
CHIP-8 and Super Chip programs I made (and which nearly everyone included in his emulator):
BLITZ : This game is a
BOMBER clone. You are in a plane, and you must
destroy the towers of a town. Your plane is flying left to right,
and goes down. Use 5 to drop a bomb. The game ends when you crash
yourself on a tower...
BREAKOUT: Not really my creation, but rather a modified BRIX with graphics looking like the game on the
Atari 2600 console.
CONNECT4: This game is for two players. The goal is to align 4 same tokens in the
game matrix. Each player's tokens are colored. When you drop a token,
it is paced over the last one dropped in the same column (or at
the bottom if the column is empty). Once the column is full, you
cannot place any more token in it. To select a column, use 4 and 6.
To drop a token, use 5. There is no winner detection yet. This will
be soon avalaible (Hey! I don't spend my life on CHIP8 !).
GUESS : Think to a number between 1 and 63. CHIP8 shows you several boards
and you have to tell if you see your number in them. Press 5 if so,
or another key if not. CHIP8 gives you the number...
HIDDEN : A memory game where 8 pairs of tiles are randomly hidden in a 4 x 4
matrix. Your goal is to find all pairs in a minimum amount of tries.
INVADERS: The well known Space Invaders game. Destroy the invaders with your ship. Shoot
with 5, move with 4 and 6. Press 5 to begin a game.
MAZE : This little program draws random mazes.
MERLIN : This is the SIMON game. The goal is to remember in which order the
squares are lighted. The game begins by lighting 4 random squares,
and then asks you to light the squares in the correct order.
You win a level when you give the exact order, and each increasing
level shows a additionnal square. The game ends when you light an
incorrect square. Keys are 4 and 5 for the two upper squares, then
1 and 2 for the two other ones.
MISSILE : You must shoot the 8 targets on the screen. Your shooter moves
a little bit faster each time you shoot. You have 12 missiles to
shoot all the targets, and you win 5 points per target shot.
PONG2: A modified version of PONG with a nicer central line. Player 1 uses 7 and 4, player 2 uses / and *.
SQUASH : Exactely same than WALL (see below), except that you have 5 balls to
play.
TICTAC : A TIC-TAC-TOE game. Play with [1] to [9] keys. Each key corresponds
to a square in the grid. The game never ends, so at any time, the
winner is the one who has the best score.
WALL : One of these PONG variations. Move using 4 and 7. As said in the Atari
version "AVOID MISSING BALL FOR HIGH SCORE" !!!
MINES : My minesweeper in Super-Chip mode. I included the source code to help
others programming in Super Chip.
SQUARE : A magic square game. Levels vary from 3 x 3 to 8 x 8. Each levels has a
matrix of white squares which must all be turned black (they can be turned white
as well). The problem is, when you want to invert the color of one square, you
also invert the color of the square on the left, on the right, up and down. The
whole square must be turned black in a minimum amount of moves. Levels 3 ends in
5 steps. Level 4 ends in 4 steps. You find the others !
Speed problems:
CHIP-8 emulates as well as
possible the original interpreter. Some games may run at an incorrect speed
as there is no specific documentation on the instruction cycles (most
CHIP-8 games will run at the correct speed).
Although the Super-Chip (SCHIP) instructions run correctly, the speed is not
perfect. This is due to the origins of SCHIP on the HP 48: its author increased
the emulation speed by skipping the original time delays. As there is no specific
documentation on SCHIP's execution speed, the SCHIP mode of CHIP8 has been set
by comparing the execution speeds of several programs on HP 48 and PC.
Some CHIP-8 games:
One of the oldest video games: PONG![]() |
Before ARKANOID: BRIX![]() |
Guess...![]() |
Before SPACE-INVADERS: UFO![]() |
Some SCHIP games:
A Mariobross clone: ANT![]() |
BLINKY, just like PACMAN![]() |
HPIPER, a simple Pipe-Mania![]() |
The well known JOUST !![]() |
CAR, a little race game![]() |
WORM3, a Nibbles clone![]() |
A few games you should try:
ANT (a nice platform game)
SYZYGY and WORM3 (Nibbles / Snafu / Snakes clones)
INVADERS (a Space Invaders clone)
BLINKY (a Pacman clone)
TETRIS (Guess...)
Download Section:
![]() |
Version: 2.2.0 |
| News as of 14th June 1999: |
Jonas Lindsted has programmed a JAVA version of CHIP-8 which supports both CHIP-8 and SCHIP programs !
Try SYZYGY, a funny CHIP-8 game
Try ALIEN, another SCHIP game
| General improvements in version 2.2.0: |
CHIP8.EXE recompiled for 80386-DX PCs and above. CHIP8 documentations rewritten using Word format (CHIP8.DOC) CHIP8 french documentations dropped. Took too many bytes ;-) No more annoying copyright message under emulation... Snapshots can now have multiple names. Snapshots now contain current setup of game emulated. Snapshots are now available in SCHIP mode. UNCHIP supports these new snapshots. BINHEX produces more readable files. HEXBIN has been updated, as requested by BINHEX. Added support for ETI-660 programs. Audio tape speed is now correct (100 bytes per second). VGA graphics are now drawn via direct VRAM access, which is MUCH faster. Some games run much better (ANT...). SET_CHIP is replaced by SETUP, which is more user-friendly. Debug informations are now displayed if a crash occurs. Text mode turned to 50 lines, which increases the speed of the sprite drawing routines. Sound and delay timers are now time exact, synchronised on the internal PC timer (8253/8254). Sources are now in CHIPPER syntax for better utilisation. A CHIP8 and SCHIP games library is now available for the HP48 (G/Gx series): SCHIP48.GX.
| Bugs fixed in version 2.2.0: |
Character '4' of the 4 x 5 font is now correct Boot-128 is now software accessible, and without register problems Carry in the SHL instruction (BLINKY now works !) Collision detection in SCHIP mode Save/load register/flag instructions Save/load instructions in UNCHIP Screen colors are now correct after loading a snapshot SCHIP instructions are allowed in CHIP-8 mode (scroll instructions only work in VGA mode, NOT TEXT) Cosmetic bugs: VGA screen initialisation, Help screen, Screen capture, ...
| New games in version 2.2.0: |
BREAKOUT (modified version of BRIX) DRAGON1, DRAGON2 (codes taken from the HP48 game Single Dragon) GUESS (small bug fixed after a RESET: the result was wrong) INVADERS (small bug fixed at end of game) MINES (a minehunter; full commented sources provided) PONG2 is somewhat more realistic compared to certain old consoles SQUARE (magic square, like Okie-Dokie on the Atari 2600) SQUASH (one of these PONG variants which was missing...) WALL (same...)
| New homebrew games: |
LOOPZ by Andreas Daumann
This is a mixture of TETRIS and PIPE-MANIA, in which you must
place some pipes to form a complete "loop". Once the
loop is made, the pipes disappear. The game has 256 levels of
difficulty, and the full source code is provided for those who are
interested in CHIP8 / SCHIP programming.
Since this game originally used some HP48 RPL features, a small
executable named LOOPZ.EXE must be used to play this game.
Also, make sure the ZIP archive of this program is decompressed
with the full path info. Under Ms-Dos, unzip the program using
the -d option in your CHIP8 emulator folder or you will not be
able to use it.