Автор: Marco Varesio(Геймдизайн)
Год: 2016
Издатели: Marco's Retrobits
Языки:
Английский
Формат:
TAP лента
Требования:
ZX Spectrum 48K
Ссылки:
Страница на ZXArt
Страница на Spectrum Computing
Скриншоты:
Описание:
YAS is a yet another snake/nibbles-like game for CHIP-8.
4 mazes are available and game can run at 4 different speeds,
for a total of 16 game modes. The player can select the
desired game mode by pressing one of the 16 keys when the title
screen is displayed. After game is over, player can choose to play
again the same maze at the same speed, or to go to title screen and
choose different maze and speed. In this case, hi-score is
reset.
Keys:
CHIP-OTTO CHIP-8
- Title screen:
Start maze 0, fastest speed X 0
Start maze 0, fast speed 1 1
Start maze 0, slow speed 2 2
Start maze 0, slowest speed 3 3
Start maze 1, fastest speed Q 4
Start maze 1, fast speed W 5
Start maze 1, slow speed E 6
Start maze 1, slowest speed A 7
Start maze 2, fastest speed S 8
Start maze 2, fast speed D 9
Start maze 2, slow speed Z A
Start maze 2, slowest speed C B
Start maze 3, fastest speed 4 C
Start maze 3, fast speed R D
Start maze 3, slow speed F E
Start maze 3, slowest speed V F
- Game:
Up 2 2
Down S 8
Left Q 4
Right E 6
- Game over:
Restart from title screen X 0
Restart game with last settins Any other Any other
* SierpChaos (Marco Varesio, 2015)
Description:
Inspired by Sergey Naydenov's work, I coded my version of Sierpinski
triangle drawing program.
This version is based on the chaos game algorithm described in Wikipedia
"Sierpinski triangle" entry:
http://en.wikipedia.org/wiki/Sierpinski_triangle#Chaos_game
* BRIX (Andreas Gustafsson, 1990)
Description:
BRIX is an Arkanoid/Breakout-like game: move the paddle to bounce the
"ball" upward and break the bricks, avoiding it to fall down the screen.
Keys:
CHIP-OTTO CHIP-8
Left/Start game Q 4
Right/Start game E 6
Fine print:
CHIP-48 and BRIX are (C) Copyright 1990 Andreas Gustafsson
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
CHIP-48 and BRIX make use of undocumented low-level features of
the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calculator
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* SYZYGY (Roy Trevino, 1990)
Description:
SYZYGY is a Snake/Nibbles/Worm-like game, inspired by the homonymous game
for the TRS-80 Model 1 computer.
Keys:
CHIP-OTTO CHIP-8
Up 3 3
Down E 6
Left A 7
Right S 8
Start/restart borderless game F E
Start/restart game with border V F
Go to scores screen (at game over) C B
Fine print:
SYZYGY is (c) copyright 1990 by Roy Trevino (RTT)
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
SYZYGY, via CHIP-48, makes use of undocumented low-level features
of the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calcultor
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* INVADERS (David Winter, 199?)
Description:
The well known Space Invaders game. Destroy the invaders with your ship.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start game/shoot W 5
* MAZE (David Winter, 199?)
Description:
This little program draws random mazes.
Drawing a random maze like this one consists in drawing random diagonal
lines. There are two possibilities: right-to-left line, and left-to-right
line. Each line is composed of a 4*4 bitmap.
The maze is composed of 16 lines (as the bitmaps are 4 pixels high), each
line consists of 32 bitmaps.
Bitmaps are drawn in random mode. We choose a random value (0 or 1).
If it is 1, we draw a left line bitmap. If it is 0, we draw a right one.
* MERLIN (David Winter, 199?)
Description:
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:
CHIP-OTTO CHIP-8
Upper-left square Q 4
Upper-right square W 5
Lower-left square A 7
Lower-right square S 8
* PONG (Paul Vervalin, 1990)
Description:
The well-known pong game.
Keys:
CHIP-OTTO CHIP-8
- Left player:
Up 1 1
Down Q 4
- Right player:
Up 4 C
Down R D
* VIP Kaleidoscope (Joseph Weisbecker, 1978)
Description:
Four spots appear in a group at the center of the screen. Press keys
2, 4, 6, or 8 to create a pattern.
Keep your pattern smaller than 138 key depressions.
Push key 0 to terminate pattern entry.
Pushing key 0 causes your pattern to be continuously repeated
forming a fascinating, changing kaleidoscope display on the screen.
A "44444442220" key sequence provides a very nice effect.
Experiment to find other nice patterns.
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start X 0
* BREAKOUT (Carmelo Cortez, 1979)
Description:
The game, BREAKOUT, is a variation of the Wipe-Off game.
You have six walls and 20 balls to start. To win you must get through
all walls to the top of the screen. At the end of the game the program
will show the number of times you hit the walls and will show "FREE!"
if you get through.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start any any
* CAVE (?, ?)
Description:
Guide the dot to end of the cave maze without bumping into a wall.
One in motion, you cannot stop!
(Borrowed from Vinegar homepage: http://www.benryves.com/products/vinegar)
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start V F
* VIP Sequence Shoot (Joyce Weisbecker, ?)
Description:
You score points by having the sharp-shooter hit the targets in the proper
sequence.
One of the four targets flashes and the computer waits for you to shoot it.
When you press the correct key, you get one point. Then two flash, one
after the other. Shoot the one that flashed first, then shoot the other.
This gives you two more points. Three targets (when hit in the same order
as they flashed) add three points to your score.
Each time you shoot such a series of targets in proper sequence, your score
increases by the number of targets you hit. An the next series you see is
longer by one target. The maximum length of sequence is 22 targets, that is
a score of 254. Improper sequencing of shots in any series ends the game.
Keys:
CHIP-OTTO CHIP-8
Shoot the 1st (top) target 4 C
Shoot the 2nd target R D
Shoot the 3rd target F E
Shoot the 4th (bottom) target V F
* Space Intercept (Joseph Weisbecker, 1978)
Description:
At startup, Press 1 to select the large UFO which counts 5 points when hit
or 2 to select the small UFO which counts 15 points when hit.
Launch your rocket by pressing key 4, 5 or 6.
You get 15 rockets as shown in the lower right corner of the screen.
Your score is shown in the lower left corner of the screen.
Keys:
CHIP-OTTO CHIP-8
- Startup:
Select large UFO 1 1
Select small UFO 2 2
- Game:
Launch rocket left Q 4
Launch rocket middle W 5
Launch rocket right E 6
* SIERPINSKI (Sergey Naydenov, 2010)
Description:
A representation of the Sierpinski triangle.
CHIP-8 related web & ftp resources
==================================
* "An Easy Programming System," by Joseph Weisbecker
https://archive.org/details/byte-magazine-1978-12
The December 1978 issue of BYTE magazine, containing an article by
Joseph Weisbecker (pp. 108–122) describing CHIP-8 and providing an
UFO-shooting game as example.
Hosted on Internet Archive (https://archive.org/).
* David Winter's CHIP-8 emulation page
http://www.pong-story.com/chip8/
The CHIP-8 page by David Winter, author of CHIP8 dos emulator and
of lot of CHIP-8 and S-CHIP games and programs.
* Vision-8
http://www.komkon.org/~dekogel/vision8.html
A portable emulator for the old CHIP-8 system, by Marcel de Kogel.
* SVision-8
http://devernay.free.fr/hacks/chip8/
S-CHIP 1.1 emulator by Frédéric Devernay, based on Vision-8.
This page hosts also useful technical CHIP-8 documentation.
* CHIP-8.COM
http://www.chip8.com/
An attempt to collect all information available on CHIP-8, SuperChip and
MegaChip hardware, emulation and games available on the net.
* GSON
http://www.gson.org/
The web page of Andreas Gustafsson, author of CHIP-48.
* COSMAC ELF
http://www.cosmacelf.com/
The site about COSMAC CDP1802 computing.
* hp48sx/chip/ directoy @ ftp.funet.fi
ftp://ftp.funet.fi/pub/misc/hp48sx/chip/
Hosts the original CHIP-48 distribution, as well as SCHIP and other
related software and documentation.
* Vinegar
http://www.benryves.com/products/vinegar
A CHIP-8 and SCHIP 'emulator'/interpreter for TI-83 and TI-83 Plus.
The following blogs aroused my interest in CHIP-8 interpreter programming:
* JavaScript Chip-8 Emulator
http://blog.alexanderdickson.com/javascript-chip-8-emulator
* How to write an emulator (CHIP-8 interpreter)
http://www.multigesture.net/articles/
how-to-write-an-emulator-chip-8-interpreter/
* CHIP-8 entry on Wikipedia
http://en.wikipedia.org/wiki/CHIP-8
Other acknowledgments
=====================
Besides people mentioned above in this document, I would like to thank:
* HAP, author of Fish 'N' Chips emulator
* Christian Egeberg, author of Chipper assembler
* The z88dk team (http://www.z88dk.org/)
* The cpcrslib team (http://sourceforge.net/projects/cpcrslib/)
...and all people involved in the CHIP-8 scene!
Changelog
=========
0.1 2016-11-01
First release (Sinclair ZX Spectrum)
ToDo
====
Features not (yet?) implemented and that will hopefully be implemented in
the future include:
* Accurate timing
* Sound
* Super-CHIP support
* Debugger
Год: 2016
Издатели: Marco's Retrobits
Языки:
Формат:
Требования:
Ссылки:
Скриншоты:
Описание:
YAS is a yet another snake/nibbles-like game for CHIP-8.
4 mazes are available and game can run at 4 different speeds,
for a total of 16 game modes. The player can select the
desired game mode by pressing one of the 16 keys when the title
screen is displayed. After game is over, player can choose to play
again the same maze at the same speed, or to go to title screen and
choose different maze and speed. In this case, hi-score is
reset.
Keys:
CHIP-OTTO CHIP-8
- Title screen:
Start maze 0, fastest speed X 0
Start maze 0, fast speed 1 1
Start maze 0, slow speed 2 2
Start maze 0, slowest speed 3 3
Start maze 1, fastest speed Q 4
Start maze 1, fast speed W 5
Start maze 1, slow speed E 6
Start maze 1, slowest speed A 7
Start maze 2, fastest speed S 8
Start maze 2, fast speed D 9
Start maze 2, slow speed Z A
Start maze 2, slowest speed C B
Start maze 3, fastest speed 4 C
Start maze 3, fast speed R D
Start maze 3, slow speed F E
Start maze 3, slowest speed V F
- Game:
Up 2 2
Down S 8
Left Q 4
Right E 6
- Game over:
Restart from title screen X 0
Restart game with last settins Any other Any other
* SierpChaos (Marco Varesio, 2015)
Description:
Inspired by Sergey Naydenov's work, I coded my version of Sierpinski
triangle drawing program.
This version is based on the chaos game algorithm described in Wikipedia
"Sierpinski triangle" entry:
http://en.wikipedia.org/wiki/Sierpinski_triangle#Chaos_game
* BRIX (Andreas Gustafsson, 1990)
Description:
BRIX is an Arkanoid/Breakout-like game: move the paddle to bounce the
"ball" upward and break the bricks, avoiding it to fall down the screen.
Keys:
CHIP-OTTO CHIP-8
Left/Start game Q 4
Right/Start game E 6
Fine print:
CHIP-48 and BRIX are (C) Copyright 1990 Andreas Gustafsson
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
CHIP-48 and BRIX make use of undocumented low-level features of
the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calculator
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* SYZYGY (Roy Trevino, 1990)
Description:
SYZYGY is a Snake/Nibbles/Worm-like game, inspired by the homonymous game
for the TRS-80 Model 1 computer.
Keys:
CHIP-OTTO CHIP-8
Up 3 3
Down E 6
Left A 7
Right S 8
Start/restart borderless game F E
Start/restart game with border V F
Go to scores screen (at game over) C B
Fine print:
SYZYGY is (c) copyright 1990 by Roy Trevino (RTT)
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
SYZYGY, via CHIP-48, makes use of undocumented low-level features
of the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calcultor
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* INVADERS (David Winter, 199?)
Description:
The well known Space Invaders game. Destroy the invaders with your ship.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start game/shoot W 5
* MAZE (David Winter, 199?)
Description:
This little program draws random mazes.
Drawing a random maze like this one consists in drawing random diagonal
lines. There are two possibilities: right-to-left line, and left-to-right
line. Each line is composed of a 4*4 bitmap.
The maze is composed of 16 lines (as the bitmaps are 4 pixels high), each
line consists of 32 bitmaps.
Bitmaps are drawn in random mode. We choose a random value (0 or 1).
If it is 1, we draw a left line bitmap. If it is 0, we draw a right one.
* MERLIN (David Winter, 199?)
Description:
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:
CHIP-OTTO CHIP-8
Upper-left square Q 4
Upper-right square W 5
Lower-left square A 7
Lower-right square S 8
* PONG (Paul Vervalin, 1990)
Description:
The well-known pong game.
Keys:
CHIP-OTTO CHIP-8
- Left player:
Up 1 1
Down Q 4
- Right player:
Up 4 C
Down R D
* VIP Kaleidoscope (Joseph Weisbecker, 1978)
Description:
Four spots appear in a group at the center of the screen. Press keys
2, 4, 6, or 8 to create a pattern.
Keep your pattern smaller than 138 key depressions.
Push key 0 to terminate pattern entry.
Pushing key 0 causes your pattern to be continuously repeated
forming a fascinating, changing kaleidoscope display on the screen.
A "44444442220" key sequence provides a very nice effect.
Experiment to find other nice patterns.
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start X 0
* BREAKOUT (Carmelo Cortez, 1979)
Description:
The game, BREAKOUT, is a variation of the Wipe-Off game.
You have six walls and 20 balls to start. To win you must get through
all walls to the top of the screen. At the end of the game the program
will show the number of times you hit the walls and will show "FREE!"
if you get through.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start any any
* CAVE (?, ?)
Description:
Guide the dot to end of the cave maze without bumping into a wall.
One in motion, you cannot stop!
(Borrowed from Vinegar homepage: http://www.benryves.com/products/vinegar)
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start V F
* VIP Sequence Shoot (Joyce Weisbecker, ?)
Description:
You score points by having the sharp-shooter hit the targets in the proper
sequence.
One of the four targets flashes and the computer waits for you to shoot it.
When you press the correct key, you get one point. Then two flash, one
after the other. Shoot the one that flashed first, then shoot the other.
This gives you two more points. Three targets (when hit in the same order
as they flashed) add three points to your score.
Each time you shoot such a series of targets in proper sequence, your score
increases by the number of targets you hit. An the next series you see is
longer by one target. The maximum length of sequence is 22 targets, that is
a score of 254. Improper sequencing of shots in any series ends the game.
Keys:
CHIP-OTTO CHIP-8
Shoot the 1st (top) target 4 C
Shoot the 2nd target R D
Shoot the 3rd target F E
Shoot the 4th (bottom) target V F
* Space Intercept (Joseph Weisbecker, 1978)
Description:
At startup, Press 1 to select the large UFO which counts 5 points when hit
or 2 to select the small UFO which counts 15 points when hit.
Launch your rocket by pressing key 4, 5 or 6.
You get 15 rockets as shown in the lower right corner of the screen.
Your score is shown in the lower left corner of the screen.
Keys:
CHIP-OTTO CHIP-8
- Startup:
Select large UFO 1 1
Select small UFO 2 2
- Game:
Launch rocket left Q 4
Launch rocket middle W 5
Launch rocket right E 6
* SIERPINSKI (Sergey Naydenov, 2010)
Description:
A representation of the Sierpinski triangle.
CHIP-8 related web & ftp resources
==================================
* "An Easy Programming System," by Joseph Weisbecker
https://archive.org/details/byte-magazine-1978-12
The December 1978 issue of BYTE magazine, containing an article by
Joseph Weisbecker (pp. 108–122) describing CHIP-8 and providing an
UFO-shooting game as example.
Hosted on Internet Archive (https://archive.org/).
* David Winter's CHIP-8 emulation page
http://www.pong-story.com/chip8/
The CHIP-8 page by David Winter, author of CHIP8 dos emulator and
of lot of CHIP-8 and S-CHIP games and programs.
* Vision-8
http://www.komkon.org/~dekogel/vision8.html
A portable emulator for the old CHIP-8 system, by Marcel de Kogel.
* SVision-8
http://devernay.free.fr/hacks/chip8/
S-CHIP 1.1 emulator by Frédéric Devernay, based on Vision-8.
This page hosts also useful technical CHIP-8 documentation.
* CHIP-8.COM
http://www.chip8.com/
An attempt to collect all information available on CHIP-8, SuperChip and
MegaChip hardware, emulation and games available on the net.
* GSON
http://www.gson.org/
The web page of Andreas Gustafsson, author of CHIP-48.
* COSMAC ELF
http://www.cosmacelf.com/
The site about COSMAC CDP1802 computing.
* hp48sx/chip/ directoy @ ftp.funet.fi
ftp://ftp.funet.fi/pub/misc/hp48sx/chip/
Hosts the original CHIP-48 distribution, as well as SCHIP and other
related software and documentation.
* Vinegar
http://www.benryves.com/products/vinegar
A CHIP-8 and SCHIP 'emulator'/interpreter for TI-83 and TI-83 Plus.
The following blogs aroused my interest in CHIP-8 interpreter programming:
* JavaScript Chip-8 Emulator
http://blog.alexanderdickson.com/javascript-chip-8-emulator
* How to write an emulator (CHIP-8 interpreter)
http://www.multigesture.net/articles/
how-to-write-an-emulator-chip-8-interpreter/
* CHIP-8 entry on Wikipedia
http://en.wikipedia.org/wiki/CHIP-8
Other acknowledgments
=====================
Besides people mentioned above in this document, I would like to thank:
* HAP, author of Fish 'N' Chips emulator
* Christian Egeberg, author of Chipper assembler
* The z88dk team (http://www.z88dk.org/)
* The cpcrslib team (http://sourceforge.net/projects/cpcrslib/)
...and all people involved in the CHIP-8 scene!
Changelog
=========
0.1 2016-11-01
First release (Sinclair ZX Spectrum)
ToDo
====
Features not (yet?) implemented and that will hopefully be implemented in
the future include:
* Accurate timing
* Sound
* Super-CHIP support
* Debugger
_ _ . .
___| |__ (_)_ __ ___ /|__/|_ ___
/ __| '_ \| | '_ \ ___ / _ \| __| __/ _ \
| (__| | | | | |_) |___| (_) | |_| || (_) |
\___|_| |_|_| .__/ \___/ \__|\__\___/
|_| v. 0.1
by Marco Varesio
http://somebitsofme.altervista.org/
CHIP-OTTO is a CHIP-8 interpreter/virtual machine for the Sinclair ZX Spectrum
microcomputer.
CHIP-8 is an interpreted programming language, developed in the mid 1970s by
Joseph Weisbecker and initially used on home computers based on RCA's CDP1802
processor, such as the COSMAC VIP. It's a small, high level pseudomachine
language, designed for writing simple video games.
In 1990, Andreas Gustafsson released CHIP-48, a CHIP-8 interpreter for the
HP48SX calculator; later, Erik Bryntse released SUPER-CHIP, a modified version
of CHIP-48, which added features and instructions to the original interpreter,
such as extended resolution/sprites (version 1.0) and scrolling (version 1.1).
The ZX Spectrum is an 8-bit home computer, released in 1982 in the UK by
Sinclair Research Ltd.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
Why?
====
Because I like retrogaming, emulation and computer programming
Features
========
* Load CHIP-8 software from tape
* No colour clash ;-)
* Lots of bugs!
Usage
=====
Loading CHIP-OTTO on a ZX Spectrum (emulator or real computer)
--------------------------------------------------------------
CHIP-OTTO archive contains a Spectrum tape image in both TAP and TZX formats;
You can either use it on emulators
(see http://www.worldofspectrum.org/emulators.html)
or transfer its content to audio cassette, using tools like PlayTZX or TZX2WAV
(see http://www.worldofspectrum.org/utilities.html)
for usage on a real Spectrum.
Insert the cassette into the cassette recorder (or open the tape image in the
chosen emulator) and then type:
LOAD ""
followed by ENTER key, then press play on the (real or emulated) cassette
recorder.
For the original 16K, 48K, Spectrum+ and later models in 48 BASIC mode,
the LOAD "" command can be input by typing the following key sequence:
<J> <SYMBOL SHIFT> + <P> <SYMBOL SHIFT> + <P> <ENTER>
When loading is complete, the computer will display the
STOP the tape and press any key
message; simply follow these instructions to start CHIP-OTTO.
A small CHIP-8 program showing the CHIP-OTTO logo will be automatically
executed.
Using CHIP-OTTO
---------------
The CHIP-OTTO screen is divided in 3 areas:
* a header, showing program version and author information,
* the actual CHIP-8 display,
* a footer, showing both the CHIP-8 keyboard layout and how it is mapped on
the ZX Spectrum keyboard and commands that can be issued to the interpreter.
Most CHIP-8 programs are written for a 16-key hex keyboard with
following layout:
1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F
This keyboard is emulated on the ZX Spectrum using the following keys
(lowercase):
1 2 3 4
q w e r
a s d f
z x c v
Interpreter commands can be issued to by pressing the corresponding key
(lowercase) on the ZX Spectrum keyboard:
* j loads the next CHIP-8 program from tape
* m pauses the interpreter
* y initializes and restarts the interpreter (reset)
* o sets CHIP-8 display zoom level
* i sets foreground ("ink") color
* p sets background ("paper") color
* k selects interpreter execution speed
Loading and running CHIP-8 software
-----------------------------------
With the cassette (either CHIP-OTTO cassette or another cassette containing
CHIP-8 programs) inserted in the recorder, issue the load program command
(by pressing the <j> key) and follow on-screen instructions.
When the load phase is completed, the loaded CHIP-8 program will be
automatically executed by the interpreter.
Included CHIP-8 software
========================
CHIP-OTTO comes bundled with some programs and games:
* YAS (Marco Varesio, 2015)
Description:
YAS is a yet another snake/nibbles-like game for CHIP-8.
4 mazes are available and game can run at 4 different speeds,
for a total of 16 game modes. The player can select the
desired game mode by pressing one of the 16 keys when the title
screen is displayed. After game is over, player can choose to play
again the same maze at the same speed, or to go to title screen and
choose different maze and speed. In this case, hi-score is
reset.
Keys:
CHIP-OTTO CHIP-8
- Title screen:
Start maze 0, fastest speed X 0
Start maze 0, fast speed 1 1
Start maze 0, slow speed 2 2
Start maze 0, slowest speed 3 3
Start maze 1, fastest speed Q 4
Start maze 1, fast speed W 5
Start maze 1, slow speed E 6
Start maze 1, slowest speed A 7
Start maze 2, fastest speed S 8
Start maze 2, fast speed D 9
Start maze 2, slow speed Z A
Start maze 2, slowest speed C B
Start maze 3, fastest speed 4 C
Start maze 3, fast speed R D
Start maze 3, slow speed F E
Start maze 3, slowest speed V F
- Game:
Up 2 2
Down S 8
Left Q 4
Right E 6
- Game over:
Restart from title screen X 0
Restart game with last settins Any other Any other
* SierpChaos (Marco Varesio, 2015)
Description:
Inspired by Sergey Naydenov's work, I coded my version of Sierpinski
triangle drawing program.
This version is based on the chaos game algorithm described in Wikipedia
"Sierpinski triangle" entry:
http://en.wikipedia.org/wiki/Sierpinski_triangle#Chaos_game
* BRIX (Andreas Gustafsson, 1990)
Description:
BRIX is an Arkanoid/Breakout-like game: move the paddle to bounce the
"ball" upward and break the bricks, avoiding it to fall down the screen.
Keys:
CHIP-OTTO CHIP-8
Left/Start game Q 4
Right/Start game E 6
Fine print:
CHIP-48 and BRIX are (C) Copyright 1990 Andreas Gustafsson
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
CHIP-48 and BRIX make use of undocumented low-level features of
the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calculator
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* SYZYGY (Roy Trevino, 1990)
Description:
SYZYGY is a Snake/Nibbles/Worm-like game, inspired by the homonymous game
for the TRS-80 Model 1 computer.
Keys:
CHIP-OTTO CHIP-8
Up 3 3
Down E 6
Left A 7
Right S 8
Start/restart borderless game F E
Start/restart game with border V F
Go to scores screen (at game over) C B
Fine print:
SYZYGY is (c) copyright 1990 by Roy Trevino (RTT)
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
SYZYGY, via CHIP-48, makes use of undocumented low-level features
of the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calcultor
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* INVADERS (David Winter, 199?)
Description:
The well known Space Invaders game. Destroy the invaders with your ship.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start game/shoot W 5
* MAZE (David Winter, 199?)
Description:
This little program draws random mazes.
Drawing a random maze like this one consists in drawing random diagonal
lines. There are two possibilities: right-to-left line, and left-to-right
line. Each line is composed of a 4*4 bitmap.
The maze is composed of 16 lines (as the bitmaps are 4 pixels high), each
line consists of 32 bitmaps.
Bitmaps are drawn in random mode. We choose a random value (0 or 1).
If it is 1, we draw a left line bitmap. If it is 0, we draw a right one.
* MERLIN (David Winter, 199?)
Description:
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:
CHIP-OTTO CHIP-8
Upper-left square Q 4
Upper-right square W 5
Lower-left square A 7
Lower-right square S 8
* PONG (Paul Vervalin, 1990)
Description:
The well-known pong game.
Keys:
CHIP-OTTO CHIP-8
- Left player:
Up 1 1
Down Q 4
- Right player:
Up 4 C
Down R D
* VIP Kaleidoscope (Joseph Weisbecker, 1978)
Description:
Four spots appear in a group at the center of the screen. Press keys
2, 4, 6, or 8 to create a pattern.
Keep your pattern smaller than 138 key depressions.
Push key 0 to terminate pattern entry.
Pushing key 0 causes your pattern to be continuously repeated
forming a fascinating, changing kaleidoscope display on the screen.
A "44444442220" key sequence provides a very nice effect.
Experiment to find other nice patterns.
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start X 0
* BREAKOUT (Carmelo Cortez, 1979)
Description:
The game, BREAKOUT, is a variation of the Wipe-Off game.
You have six walls and 20 balls to start. To win you must get through
all walls to the top of the screen. At the end of the game the program
will show the number of times you hit the walls and will show "FREE!"
if you get through.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start any any
* CAVE (?, ?)
Description:
Guide the dot to end of the cave maze without bumping into a wall.
One in motion, you cannot stop!
(Borrowed from Vinegar homepage: http://www.benryves.com/products/vinegar)
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start V F
* VIP Sequence Shoot (Joyce Weisbecker, ?)
Description:
You score points by having the sharp-shooter hit the targets in the proper
sequence.
One of the four targets flashes and the computer waits for you to shoot it.
When you press the correct key, you get one point. Then two flash, one
after the other. Shoot the one that flashed first, then shoot the other.
This gives you two more points. Three targets (when hit in the same order
as they flashed) add three points to your score.
Each time you shoot such a series of targets in proper sequence, your score
increases by the number of targets you hit. An the next series you see is
longer by one target. The maximum length of sequence is 22 targets, that is
a score of 254. Improper sequencing of shots in any series ends the game.
Keys:
CHIP-OTTO CHIP-8
Shoot the 1st (top) target 4 C
Shoot the 2nd target R D
Shoot the 3rd target F E
Shoot the 4th (bottom) target V F
* Space Intercept (Joseph Weisbecker, 1978)
Description:
At startup, Press 1 to select the large UFO which counts 5 points when hit
or 2 to select the small UFO which counts 15 points when hit.
Launch your rocket by pressing key 4, 5 or 6.
You get 15 rockets as shown in the lower right corner of the screen.
Your score is shown in the lower left corner of the screen.
Keys:
CHIP-OTTO CHIP-8
- Startup:
Select large UFO 1 1
Select small UFO 2 2
- Game:
Launch rocket left Q 4
Launch rocket middle W 5
Launch rocket right E 6
* SIERPINSKI (Sergey Naydenov, 2010)
Description:
A representation of the Sierpinski triangle.
CHIP-8 related web & ftp resources
==================================
* "An Easy Programming System," by Joseph Weisbecker
https://archive.org/details/byte-magazine-1978-12
The December 1978 issue of BYTE magazine, containing an article by
Joseph Weisbecker (pp. 108–122) describing CHIP-8 and providing an
UFO-shooting game as example.
Hosted on Internet Archive (https://archive.org/).
* David Winter's CHIP-8 emulation page
http://www.pong-story.com/chip8/
The CHIP-8 page by David Winter, author of CHIP8 dos emulator and
of lot of CHIP-8 and S-CHIP games and programs.
* Vision-8
http://www.komkon.org/~dekogel/vision8.html
A portable emulator for the old CHIP-8 system, by Marcel de Kogel.
* SVision-8
http://devernay.free.fr/hacks/chip8/
S-CHIP 1.1 emulator by Frédéric Devernay, based on Vision-8.
This page hosts also useful technical CHIP-8 documentation.
* CHIP-8.COM
http://www.chip8.com/
An attempt to collect all information available on CHIP-8, SuperChip and
MegaChip hardware, emulation and games available on the net.
* GSON
http://www.gson.org/
The web page of Andreas Gustafsson, author of CHIP-48.
* COSMAC ELF
http://www.cosmacelf.com/
The site about COSMAC CDP1802 computing.
* hp48sx/chip/ directoy @ ftp.funet.fi
ftp://ftp.funet.fi/pub/misc/hp48sx/chip/
Hosts the original CHIP-48 distribution, as well as SCHIP and other
related software and documentation.
* Vinegar
http://www.benryves.com/products/vinegar
A CHIP-8 and SCHIP 'emulator'/interpreter for TI-83 and TI-83 Plus.
The following blogs aroused my interest in CHIP-8 interpreter programming:
* JavaScript Chip-8 Emulator
http://blog.alexanderdickson.com/javascript-chip-8-emulator
* How to write an emulator (CHIP-8 interpreter)
http://www.multigesture.net/articles/
how-to-write-an-emulator-chip-8-interpreter/
* CHIP-8 entry on Wikipedia
http://en.wikipedia.org/wiki/CHIP-8
Other acknowledgments
=====================
Besides people mentioned above in this document, I would like to thank:
* HAP, author of Fish 'N' Chips emulator
* Christian Egeberg, author of Chipper assembler
* The z88dk team (http://www.z88dk.org/)
* The cpcrslib team (http://sourceforge.net/projects/cpcrslib/)
...and all people involved in the CHIP-8 scene!
Changelog
=========
0.1 2016-11-01
First release (Sinclair ZX Spectrum)
ToDo
====
Features not (yet?) implemented and that will hopefully be implemented in
the future include:
* Accurate timing
* Sound
* Super-CHIP support
* Debugger
___| |__ (_)_ __ ___ /|__/|_ ___
/ __| '_ \| | '_ \ ___ / _ \| __| __/ _ \
| (__| | | | | |_) |___| (_) | |_| || (_) |
\___|_| |_|_| .__/ \___/ \__|\__\___/
|_| v. 0.1
by Marco Varesio
http://somebitsofme.altervista.org/
CHIP-OTTO is a CHIP-8 interpreter/virtual machine for the Sinclair ZX Spectrum
microcomputer.
CHIP-8 is an interpreted programming language, developed in the mid 1970s by
Joseph Weisbecker and initially used on home computers based on RCA's CDP1802
processor, such as the COSMAC VIP. It's a small, high level pseudomachine
language, designed for writing simple video games.
In 1990, Andreas Gustafsson released CHIP-48, a CHIP-8 interpreter for the
HP48SX calculator; later, Erik Bryntse released SUPER-CHIP, a modified version
of CHIP-48, which added features and instructions to the original interpreter,
such as extended resolution/sprites (version 1.0) and scrolling (version 1.1).
The ZX Spectrum is an 8-bit home computer, released in 1982 in the UK by
Sinclair Research Ltd.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,
DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
USE OR OTHER DEALINGS IN THE SOFTWARE.
Why?
====
Because I like retrogaming, emulation and computer programming
Features
========
* Load CHIP-8 software from tape
* No colour clash ;-)
* Lots of bugs!
Usage
=====
Loading CHIP-OTTO on a ZX Spectrum (emulator or real computer)
--------------------------------------------------------------
CHIP-OTTO archive contains a Spectrum tape image in both TAP and TZX formats;
You can either use it on emulators
(see http://www.worldofspectrum.org/emulators.html)
or transfer its content to audio cassette, using tools like PlayTZX or TZX2WAV
(see http://www.worldofspectrum.org/utilities.html)
for usage on a real Spectrum.
Insert the cassette into the cassette recorder (or open the tape image in the
chosen emulator) and then type:
LOAD ""
followed by ENTER key, then press play on the (real or emulated) cassette
recorder.
For the original 16K, 48K, Spectrum+ and later models in 48 BASIC mode,
the LOAD "" command can be input by typing the following key sequence:
<J> <SYMBOL SHIFT> + <P> <SYMBOL SHIFT> + <P> <ENTER>
When loading is complete, the computer will display the
STOP the tape and press any key
message; simply follow these instructions to start CHIP-OTTO.
A small CHIP-8 program showing the CHIP-OTTO logo will be automatically
executed.
Using CHIP-OTTO
---------------
The CHIP-OTTO screen is divided in 3 areas:
* a header, showing program version and author information,
* the actual CHIP-8 display,
* a footer, showing both the CHIP-8 keyboard layout and how it is mapped on
the ZX Spectrum keyboard and commands that can be issued to the interpreter.
Most CHIP-8 programs are written for a 16-key hex keyboard with
following layout:
1 2 3 C
4 5 6 D
7 8 9 E
A 0 B F
This keyboard is emulated on the ZX Spectrum using the following keys
(lowercase):
1 2 3 4
q w e r
a s d f
z x c v
Interpreter commands can be issued to by pressing the corresponding key
(lowercase) on the ZX Spectrum keyboard:
* j loads the next CHIP-8 program from tape
* m pauses the interpreter
* y initializes and restarts the interpreter (reset)
* o sets CHIP-8 display zoom level
* i sets foreground ("ink") color
* p sets background ("paper") color
* k selects interpreter execution speed
Loading and running CHIP-8 software
-----------------------------------
With the cassette (either CHIP-OTTO cassette or another cassette containing
CHIP-8 programs) inserted in the recorder, issue the load program command
(by pressing the <j> key) and follow on-screen instructions.
When the load phase is completed, the loaded CHIP-8 program will be
automatically executed by the interpreter.
Included CHIP-8 software
========================
CHIP-OTTO comes bundled with some programs and games:
* YAS (Marco Varesio, 2015)
Description:
YAS is a yet another snake/nibbles-like game for CHIP-8.
4 mazes are available and game can run at 4 different speeds,
for a total of 16 game modes. The player can select the
desired game mode by pressing one of the 16 keys when the title
screen is displayed. After game is over, player can choose to play
again the same maze at the same speed, or to go to title screen and
choose different maze and speed. In this case, hi-score is
reset.
Keys:
CHIP-OTTO CHIP-8
- Title screen:
Start maze 0, fastest speed X 0
Start maze 0, fast speed 1 1
Start maze 0, slow speed 2 2
Start maze 0, slowest speed 3 3
Start maze 1, fastest speed Q 4
Start maze 1, fast speed W 5
Start maze 1, slow speed E 6
Start maze 1, slowest speed A 7
Start maze 2, fastest speed S 8
Start maze 2, fast speed D 9
Start maze 2, slow speed Z A
Start maze 2, slowest speed C B
Start maze 3, fastest speed 4 C
Start maze 3, fast speed R D
Start maze 3, slow speed F E
Start maze 3, slowest speed V F
- Game:
Up 2 2
Down S 8
Left Q 4
Right E 6
- Game over:
Restart from title screen X 0
Restart game with last settins Any other Any other
* SierpChaos (Marco Varesio, 2015)
Description:
Inspired by Sergey Naydenov's work, I coded my version of Sierpinski
triangle drawing program.
This version is based on the chaos game algorithm described in Wikipedia
"Sierpinski triangle" entry:
http://en.wikipedia.org/wiki/Sierpinski_triangle#Chaos_game
* BRIX (Andreas Gustafsson, 1990)
Description:
BRIX is an Arkanoid/Breakout-like game: move the paddle to bounce the
"ball" upward and break the bricks, avoiding it to fall down the screen.
Keys:
CHIP-OTTO CHIP-8
Left/Start game Q 4
Right/Start game E 6
Fine print:
CHIP-48 and BRIX are (C) Copyright 1990 Andreas Gustafsson
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
CHIP-48 and BRIX make use of undocumented low-level features of
the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calculator
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* SYZYGY (Roy Trevino, 1990)
Description:
SYZYGY is a Snake/Nibbles/Worm-like game, inspired by the homonymous game
for the TRS-80 Model 1 computer.
Keys:
CHIP-OTTO CHIP-8
Up 3 3
Down E 6
Left A 7
Right S 8
Start/restart borderless game F E
Start/restart game with border V F
Go to scores screen (at game over) C B
Fine print:
SYZYGY is (c) copyright 1990 by Roy Trevino (RTT)
Noncommercial distribution allowed, provided that this
copyright message is preserved, and any modified versions
are clearly marked as such.
SYZYGY, via CHIP-48, makes use of undocumented low-level features
of the HP48SX calculator, and may or may not cause loss of data,
excessive battery drainage, and/or damage to the calcultor
hardware. The Author takes no responsibility whatsoever for
any damage caused by the use of this program.
THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR
IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
PURPOSE.
* INVADERS (David Winter, 199?)
Description:
The well known Space Invaders game. Destroy the invaders with your ship.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start game/shoot W 5
* MAZE (David Winter, 199?)
Description:
This little program draws random mazes.
Drawing a random maze like this one consists in drawing random diagonal
lines. There are two possibilities: right-to-left line, and left-to-right
line. Each line is composed of a 4*4 bitmap.
The maze is composed of 16 lines (as the bitmaps are 4 pixels high), each
line consists of 32 bitmaps.
Bitmaps are drawn in random mode. We choose a random value (0 or 1).
If it is 1, we draw a left line bitmap. If it is 0, we draw a right one.
* MERLIN (David Winter, 199?)
Description:
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:
CHIP-OTTO CHIP-8
Upper-left square Q 4
Upper-right square W 5
Lower-left square A 7
Lower-right square S 8
* PONG (Paul Vervalin, 1990)
Description:
The well-known pong game.
Keys:
CHIP-OTTO CHIP-8
- Left player:
Up 1 1
Down Q 4
- Right player:
Up 4 C
Down R D
* VIP Kaleidoscope (Joseph Weisbecker, 1978)
Description:
Four spots appear in a group at the center of the screen. Press keys
2, 4, 6, or 8 to create a pattern.
Keep your pattern smaller than 138 key depressions.
Push key 0 to terminate pattern entry.
Pushing key 0 causes your pattern to be continuously repeated
forming a fascinating, changing kaleidoscope display on the screen.
A "44444442220" key sequence provides a very nice effect.
Experiment to find other nice patterns.
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start X 0
* BREAKOUT (Carmelo Cortez, 1979)
Description:
The game, BREAKOUT, is a variation of the Wipe-Off game.
You have six walls and 20 balls to start. To win you must get through
all walls to the top of the screen. At the end of the game the program
will show the number of times you hit the walls and will show "FREE!"
if you get through.
Keys:
CHIP-OTTO CHIP-8
Left Q 4
Right E 6
Start any any
* CAVE (?, ?)
Description:
Guide the dot to end of the cave maze without bumping into a wall.
One in motion, you cannot stop!
(Borrowed from Vinegar homepage: http://www.benryves.com/products/vinegar)
Keys:
CHIP-OTTO CHIP-8
Up 2 2
Down S 8
Left Q 4
Right E 6
Start V F
* VIP Sequence Shoot (Joyce Weisbecker, ?)
Description:
You score points by having the sharp-shooter hit the targets in the proper
sequence.
One of the four targets flashes and the computer waits for you to shoot it.
When you press the correct key, you get one point. Then two flash, one
after the other. Shoot the one that flashed first, then shoot the other.
This gives you two more points. Three targets (when hit in the same order
as they flashed) add three points to your score.
Each time you shoot such a series of targets in proper sequence, your score
increases by the number of targets you hit. An the next series you see is
longer by one target. The maximum length of sequence is 22 targets, that is
a score of 254. Improper sequencing of shots in any series ends the game.
Keys:
CHIP-OTTO CHIP-8
Shoot the 1st (top) target 4 C
Shoot the 2nd target R D
Shoot the 3rd target F E
Shoot the 4th (bottom) target V F
* Space Intercept (Joseph Weisbecker, 1978)
Description:
At startup, Press 1 to select the large UFO which counts 5 points when hit
or 2 to select the small UFO which counts 15 points when hit.
Launch your rocket by pressing key 4, 5 or 6.
You get 15 rockets as shown in the lower right corner of the screen.
Your score is shown in the lower left corner of the screen.
Keys:
CHIP-OTTO CHIP-8
- Startup:
Select large UFO 1 1
Select small UFO 2 2
- Game:
Launch rocket left Q 4
Launch rocket middle W 5
Launch rocket right E 6
* SIERPINSKI (Sergey Naydenov, 2010)
Description:
A representation of the Sierpinski triangle.
CHIP-8 related web & ftp resources
==================================
* "An Easy Programming System," by Joseph Weisbecker
https://archive.org/details/byte-magazine-1978-12
The December 1978 issue of BYTE magazine, containing an article by
Joseph Weisbecker (pp. 108–122) describing CHIP-8 and providing an
UFO-shooting game as example.
Hosted on Internet Archive (https://archive.org/).
* David Winter's CHIP-8 emulation page
http://www.pong-story.com/chip8/
The CHIP-8 page by David Winter, author of CHIP8 dos emulator and
of lot of CHIP-8 and S-CHIP games and programs.
* Vision-8
http://www.komkon.org/~dekogel/vision8.html
A portable emulator for the old CHIP-8 system, by Marcel de Kogel.
* SVision-8
http://devernay.free.fr/hacks/chip8/
S-CHIP 1.1 emulator by Frédéric Devernay, based on Vision-8.
This page hosts also useful technical CHIP-8 documentation.
* CHIP-8.COM
http://www.chip8.com/
An attempt to collect all information available on CHIP-8, SuperChip and
MegaChip hardware, emulation and games available on the net.
* GSON
http://www.gson.org/
The web page of Andreas Gustafsson, author of CHIP-48.
* COSMAC ELF
http://www.cosmacelf.com/
The site about COSMAC CDP1802 computing.
* hp48sx/chip/ directoy @ ftp.funet.fi
ftp://ftp.funet.fi/pub/misc/hp48sx/chip/
Hosts the original CHIP-48 distribution, as well as SCHIP and other
related software and documentation.
* Vinegar
http://www.benryves.com/products/vinegar
A CHIP-8 and SCHIP 'emulator'/interpreter for TI-83 and TI-83 Plus.
The following blogs aroused my interest in CHIP-8 interpreter programming:
* JavaScript Chip-8 Emulator
http://blog.alexanderdickson.com/javascript-chip-8-emulator
* How to write an emulator (CHIP-8 interpreter)
http://www.multigesture.net/articles/
how-to-write-an-emulator-chip-8-interpreter/
* CHIP-8 entry on Wikipedia
http://en.wikipedia.org/wiki/CHIP-8
Other acknowledgments
=====================
Besides people mentioned above in this document, I would like to thank:
* HAP, author of Fish 'N' Chips emulator
* Christian Egeberg, author of Chipper assembler
* The z88dk team (http://www.z88dk.org/)
* The cpcrslib team (http://sourceforge.net/projects/cpcrslib/)
...and all people involved in the CHIP-8 scene!
Changelog
=========
0.1 2016-11-01
First release (Sinclair ZX Spectrum)
ToDo
====
Features not (yet?) implemented and that will hopefully be implemented in
the future include:
* Accurate timing
* Sound
* Super-CHIP support
* Debugger