Welcome to David Winter's CHIP-8 emulation page !
Please note: this emulator is no longer updated. It was originally
developed for MS-DOS and will run under the
DosBox emulator under Windows NT / 2K / XP / Vista.
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: a BOMBER clone where you must
destroy the towers. You're flying left to right and loose altitude. Use 5
to drop a bomb. The game ends when you crash on a tower...
BREAKOUT: A modified BRIX with graphics looking like the game on the
Atari 2600 console, so not my real creation...
CONNECT4: The classic game. In turn, each player drops a coin and tries
to align four of them. Select the column using 4 and 6, and frop the coin with 5. There is no winner detection.
GUESS: Imagine a number between 1 and 63. CHIP8 shows you seven boards
containin a sequence of numbers. Tell him when you see the number by pressing 5
(else, any other key). The program will then guess your number.
HIDDEN: A memory game where eight pairs of tiles are randomly placed and hidden in a 4x4 matrix.
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 start the game.
MAZE: This little program draws random mazes.
MERLIN: The classic Simon game. Remember in which order the squares light. The game begins by lighting
only four random squares. Each level adds one square to the sequence. The game ends when you light a
wrong square. Keys are 4 and 5 for the two upper squares,
1 and 2 for the two lower ones.
MISSILE: Shoot the eight targets while your gun moves faster as far as you
hit them. You have 12 shots and 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: Exactly same than WALL (see below), except that you have 5 balls to play.
TICTAC: A Tic-Tac-Toe game. Play with keys 1 to 9 (corresponding
to each location in the grid). The game restarts when the grid is full.
WALL: A squash game (PONG variant) for one player. Move using 4 and 7.
MINES: My minesweeper in Super-Chip mode. Full commented source code is
included.
SQUARE: A magic square game. Levels vary from 3 x 3 to 8 x 8. Each level
starts with a matrix of white squares, which must all be turned black in a
minimum amount of moves. The problem is, when you want to invert the color of one square, you
also invert the color of the squares located left, right, up and down. Level 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
|
Tetris
|
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
|
Download Section:
|
Version: 2.2.0
This archive is compressed in ZIP format and must be decompressed with full paths.
Under Ms-Dos, use PkZip with option -d.
Under Windows, make sure your Zip decompressor keeps the original paths.
Windows NT / 2K / XP / Vista users must run Chip-8 under the
DosBox emulator. |
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...)
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.