Skip to content

Commit

Permalink
added roms and changed readme
Browse files Browse the repository at this point in the history
  • Loading branch information
daniel-Jones committed Aug 25, 2020
1 parent f23b667 commit 72a80b6
Show file tree
Hide file tree
Showing 160 changed files with 1,276 additions and 2 deletions.
14 changes: 14 additions & 0 deletions README
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
CHIP-8 interpreter in C using SDL2 for graphics and sound.

# build
```
cmake CmakeLists.txt
make
```
The binary is in bin/
# running
```
usage: bin/chip8 [scale] [speed] [romfile]
scale - pixel scaling (~5 recommended)
speed - how many cycles per second should be run (60-1000 or so, depends on the game)
```
A number of example ROM files are provided in the roms/ directory.
4 changes: 2 additions & 2 deletions main.c
Original file line number Diff line number Diff line change
Expand Up @@ -63,7 +63,7 @@ extern uint16_t stack[STACK_SIZE];
void
usage(char *program)
{
printf("usage: %s [speed] [scale] [romfile]\nspeed - how many cycles per second should be run (60-1000 or so, depends on the game)\nscale - pixel scaling (~5 recommended)", program);
printf("usage: %s [scale] [speed] [romfile]\nscale - pixel scaling (~5 recommended)\nspeed - how many cycles per second should be run (60-1000 or so, depends on the game)\n", program);
}

void
Expand Down Expand Up @@ -224,7 +224,7 @@ int main(int argc, char *argv[])
init_video();

const int fps = atoi(argv[2]);
const int frame_delay = 1000/fps;
const uint32_t frame_delay = 1000/fps;
uint32_t frame_start;
uint32_t frame_time;

Expand Down
61 changes: 61 additions & 0 deletions roms/CHANGELOG
Original file line number Diff line number Diff line change
@@ -0,0 +1,61 @@
[16/4/2011]:
- HIRES CHIP-8: Added Hires AstroDodge [Revival Studios, 2008]
- HIRES CHIP-8: Added Hires Worm V4 [Revival Studios/RB, 2007]
- HIRES CHIP-8: Added Trip8 Hires demo [Revival Studios, 2008]
- HIRES CHIP-8: Added Hires Particle Demo [ZeroZshadow, 2008]
- HIRES CHIP-8: Added Hires Stars [Sergey Naydenov, 2010]
- HIRES CHIP-8: Added Hires Sierpinski [Sergey Naydenov, 2010]
- HIRES CHIP-8: Added Hires Maze [David Winter, 19xx]
- HIRES CHIP-8: Added Hires test [-, 1978]
- CHIP-8 Programs: Life [GV Samways, 1980]
- CHIP-8 Programs: Framed MK1 [GV Samways, 1980]
- CHIP-8 Programs: Framed MK2 [GV Samways, 1980]
- CHIP-8 Programs: Clock Program [Bill Fisher, 1981]
- CHIP-8 Games: Russian Roulette [David Ruth, 1982]
- CHIP-8 Games: FlipAround [unknown, 1980]

[2/1/2011]:
- CHIP-8 DEMOS: Added Particle Demo [ZeroZshadow, 2008]
- SUPERCHIP-8 DEMOS: Added Super Particle Demo [ZeroZshadow, 2008]
- MEGACHIP-8 DEMOS: Added Mega Particle Demo [ZeroZshadow, 2008]

[19/9/2010]:
- CHIP-8 DEMOS: Added Trip-8 Demo [Revival Studios,2008]
- SUPERCHIP-8 DEMOS: Added SuperTrip-8 Demo [Revival Studios,2008]
- CHIP-8 DEMOS: Added Stars [Sergey Naydenov, 2010]
- CHIP-8 DEMOS: Added Sierpinski [Sergey Naydenov, 2010]
- SUPERCHIP-8 DEMOS: Added SCStars [Sergey Naydenov, 2010]
- SUPERCHIP-8 DEMOS: Added SCSierpinksi [Sergey Naydenov, 2010]
- MEGACHIP-8 DEMOS: Added MegaSierpinski [Sergey Naydenov, 2010]
- CHIP-8 TESTS: Added Division Test [Sergey Naydenov, 2010]
- CHIP-8 TESTS: Added SQRT Test [Sergey Naydenov, 2010]
- CHIP8x and HYBRIDS: Added various ETI660 Hybrids.

[12/9/2010]:
- CHIP-8 GAMES: Added Worm V4 [RB-Revival Studios, 2007]
- CHIP-8 GAMES: Added ZeroPong [ZeroZshadow, 2007]
- CHIP-8 GAMES: Added Rush Hour [Hap, 2006] (alt)
- CHIP-8 GAMES: Added Pong (alt)

[11/9/2010]:
- CHIP-8 GAMES: Added a few converted roms from old Viper magazines & manuals.
- Many new roms/programs added.

[20/8/2010]:
- CHIP-8 GAMES: Added AstroDodge [Revival Studios, 2008]
- SUPERCHIP-8 GAMES: Added Super AstroDodge [Revival Studios, 2008]
- SUPERCHIP-8 DEMOS: Added Climax Slideshow [Revival Studios, 2008]
- Added Author and release-year information for each rom.
- Added Text file by original author for each rom.

[4/6/2008]:
- Added Zero Demo [ZeroZshadow, 2007]
- Added a number of other new roms.

[2/10/2007]:
- Initial release of the rom pack

[Still Wanted]:
- Snafu (Chip-8 Game)
- Life (Chip-8 Demo)

50 changes: 50 additions & 0 deletions roms/README
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
-----------------------------------------------------------------------------
/////////////////
//////////////////
//// ////
//// ///////////
//// ///////////
//// ////
//// ///////////
//// //////////

www.chip8.com
-----------------------------------------------------------------------------
Title : Chip-8 Program Pack
Author : Revival Studios
Genre : Compilation
System : Chip-8/SuperChip/MegaChip8
Last updated : 16/04/2011
Product ID : RS-C8000
-----------------------------------------------------------------------------

This is a collection of all CHIP-8 / SuperChip / MegaChip8 programs i found scattered around the web. I've researched and added information about the original author and year of release for most roms.
The roms are divided in the following categories:

- CHIP-8 Games
- CHIP-8 Demo's
- CHIP-8 Test programs
- CHIP-8 Hires (hardware compatible 64x64 hires mode)
- CHIP-8X/Hybrid games
- SuperChip Games
- SuperChip Demo's
- SuperChip Test programs
- MegaChip Games
- MegaChip Demo's

I've also converted various listings from paper to binary form and added them to this package.

Running the roms:
-----------------
These roms will run in most CHIP-8 emulators and/or the original machines (CHIP8).

Distribution:
-------------
This package can be freely distributed in its original form.
If you have any additions for this pack, let me know.

Watch out for more releases soon!


Revival Studios

Binary file added roms/demos/Maze (alt) [David Winter, 199x].ch8
Binary file not shown.
12 changes: 12 additions & 0 deletions roms/demos/Maze (alt) [David Winter, 199x].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Maze, by David Winter

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. As the lines must form non-
circular angles, the two bitmaps won't be '/' and '\'. The first one
(right line) will be a little bit modified. See at the end of this source.

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.
Binary file added roms/demos/Maze [David Winter, 199x].ch8
Binary file not shown.
12 changes: 12 additions & 0 deletions roms/demos/Maze [David Winter, 199x].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
Maze, by David Winter

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. As the lines must form non-
circular angles, the two bitmaps won't be '/' and '\'. The first one
(right line) will be a little bit modified. See at the end of this source.

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.
Binary file added roms/demos/Particle Demo [zeroZshadow, 2008].ch8
Binary file not shown.
6 changes: 6 additions & 0 deletions roms/demos/Particle Demo [zeroZshadow, 2008].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
This is my particledemo for the Chip-8, SuperChip and MegaChip8.
Works on real hardware as well as emulators

Enjoy!

zeroZshadow
Binary file added roms/demos/Sierpinski [Sergey Naydenov, 2010].ch8
Binary file not shown.
Binary file added roms/demos/Sirpinski [Sergey Naydenov, 2010].ch8
Binary file not shown.
Binary file added roms/demos/Stars [Sergey Naydenov, 2010].ch8
Binary file not shown.
Binary file not shown.
49 changes: 49 additions & 0 deletions roms/demos/Trip8 Demo (2008) [Revival Studios].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,49 @@
-----------------------------------------------------------------------------
/////////////////
//////////////////
//// ////
//// ///////////
//// ///////////
//// ////
//// ///////////
//// //////////

www.revival-studios.com
-----------------------------------------------------------------------------
Title : Trip8 / SuperTrip8 demo
Author : Martijn Wenting / Revival Studios
Genre : Demo
System : Chip-8 / SuperChip8
Date : 14/10/2008
Product ID : RS-C8004
-----------------------------------------------------------------------------

All the contents of this package are (c)Copyright 2008 Revival Studios.

The contents of the package may only be spread in its original form, and may not be
published or distributed otherwise without the written permission of the authors.

Description:
------------
The Trip8/SuperTrip8 demo are demo's for the Chip-8 and SuperChip8 systems. The demo consists of an intro, 3D vectorballs, and 4 randomized dot-effects.

Writing a demo for the original Chip-8 interpreter was a real pain, since your framerate basically drops in half for every sprite you need to draw. So even clearing and redrawing a few dots will cause the framerate to drop to near zero :) Originally the demo was going to be bigger and there were much more graphical effects programmed/prototyped, but a lot of these effects turned out to be too much for the original unoptimized Chip-8 interpreters to handle.

Running the Demo:
-----------------
Use the Megachip emulator or any other Chip-8/SuperChip compatible emulator to run the slideshow.

Credits:
--------
Programming/Graphics/Design by: Martijn Wenting

Distribution:
-------------
This package can be freely distributed in its original form.
If you would like to include this slideshow in your rom package, please let me know.

Watch out for more releases soon!


Martijn Wenting / Revival Studios

11 changes: 11 additions & 0 deletions roms/demos/Zero Demo [zeroZshadow, 2007].ch8
Original file line number Diff line number Diff line change
@@ -0,0 +1,11 @@
`
ef
ghabcd`
�x�Vp
�~�fp
���vp
��Іj�`
�x�VEa�Ea��Vp
�~�fFb�Fb�$�fp
���vGc�Gc�4�vp
��ІHd�Hd�DІ*� 0��������������<����<
3 changes: 3 additions & 0 deletions roms/demos/Zero Demo [zeroZshadow, 2007].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
This is my first program for the CHIP-8, a simple demo with 4 bouncing sprites.

Enjoy!
Binary file added roms/games/15 Puzzle [Roger Ivie] (alt).ch8
Binary file not shown.
Binary file added roms/games/15 Puzzle [Roger Ivie].ch8
Binary file not shown.
1 change: 1 addition & 0 deletions roms/games/15 Puzzle [Roger Ivie].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Same than PUZZLE2. Wait for randomization... Instead of moving the item by pressing his associated key, move it UP DOWN LEFT RIGHT with respectively 2 8 4 6. Up and Down are inverted as the game uses the original CHIP8 keyboard.
Binary file added roms/games/Addition Problems [Paul C. Moews].ch8
Binary file not shown.
Binary file added roms/games/Airplane.ch8
Binary file not shown.
Binary file added roms/games/Animal Race [Brian Astle].ch8
Binary file not shown.
32 changes: 32 additions & 0 deletions roms/games/Animal Race [Brian Astle].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
9. VIP Animal Race

Animal Race is a fun game for one person, with an element of luck - sure to
put a smile on your face. Five different animals race against one another
and you have the chance to test your expertise at picking the winner.


How To Play Animal Race

1. Load the CHIP-8 interpretor at 0000-01FF
and the game starting at 0200.

2. Turn RUN switch on.

3. Wait until the animals are lined up and read to start, then select an animal
by pressing a letter A through E. A mark will appear to the left of the
animal to remind you of the one you have selected.

4. Decide how much you want to bet (up to a limit of $9), then press that key.

5. After the race is over, press zero (or any key) to start the next race.
Your winnings or losses will be computed and the new total displayed at
the begining of the next race.

Hints for expert players
All animals move at approximately the same speed, but they start from different
positions. The odds for each animal are related to the starting position but
include a random element. Some races favor the player and you should bet up to
the limit on these. Some races are unfavorable and you should bet carefully
on these.

You can win the game by accumulating $256 or more.
Binary file not shown.
52 changes: 52 additions & 0 deletions roms/games/Astro Dodge [Revival Studios, 2008].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
-----------------------------------------------------------------------------
/////////////////
//////////////////
//// ////
//// ///////////
//// ///////////
//// ////
//// ///////////
//// //////////

www.revival-studios.com
-----------------------------------------------------------------------------
Title : Astro Dodge
Author : Martijn Wenting / Revival Studios
Genre : Game
System : Chip8 / SuperChip8
Date : 18/12/2008
Product ID : RS-C8003
-----------------------------------------------------------------------------

All the contents of this package are (c)Copyright 2008 Revival Studios.

The contents of the package may only be spread in its original form, and may not be
published or distributed otherwise without the written permission of the authors.

Description:
------------
Astro Dodge is an arcade game for the Chip8 and SuperChip8 systems.
Both versions of the game are included in this package.

Your goal is to make your way through the asteroids field and dodge the asteroids, scoring points for each asteroid you are able to dodge.
Button 2,4,6,8 will move your ship, button 5 will start the game.

Running the game(s):
--------------------
The CHIP8 version of the game has been programmed to be compatible with original hardware like the Cosmac VIP and Telmac 1800.
Use the Megachip emulator or any other Chip8/SuperChip compatible emulator to run the game(s).

Credits:
--------
Programming and Graphics by: Martijn Wenting

Distribution:
-------------
This package can be freely distributed in its original form.
If you would like to include this game in your rom package, please let me know.

Watch out for more releases soon!


Martijn Wenting / Revival Studios

Binary file added roms/games/Biorhythm [Jef Winsor].ch8
Binary file not shown.
58 changes: 58 additions & 0 deletions roms/games/Biorhythm [Jef Winsor].txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
13. VIP Biorhythm

The theory of Biorhythm states that there are thre predominant cycles that can influence
human behavior. These include a 23-day physical cycle, a 28-day emotional cycle and a
33-day intellectual cycle. All three cycles start at birth and continue throughout life.

Each cycle consists of a positive and a negative period. Physical, Emotional and
Intellectual aspects are enhanced during positive periods. Poor performance is
indicated by the negative period of a cycle.

A critical day occurs on the crossover from the positive to the negative period or
vice versa. A critical day indicates instability in a particular aspect.


How to Use VIP Biorhythm

1. Load the CHIP-8 interpreter at 0000-01FF and
the game starting at 0200.

2. Turn RUN switch on.

3. Enter birthdate using 2-digit month, 2-digit day, and 4-digit year.

4. Enter start date using 2-digit month, 2-digit day, and 4-digit year. The start date
indicates the first day of the 32-day Biorhythm chart the program will generate.

5. After a period of calculation proportional to the span of time involved, the three
cycle curves will be shown for a 32-day period. Each horizontal bit position
represents one day in the cycle. The start day, on the left, and every seventh
day are indicated by week markers. The first day of a positive or negative period
is a critical day.

6. To advance the start date, hold key F down until the desired date is reached.
To decrement the start date, hold key B down. These functions allow changing the
start date slightly without reentering all the dates and waiting for the calculations
to be preformed.

7. Press Key 0 to clear the screen and enter a new set of dates.



See VIPG1-13.jpg


INTERPRETATION


Physical Emotional Intellectual

Positive Period Strong, Good moods, Good Judgement
(Up) Vigorous Cooperative Sharp Mentally

Negative Period Tire easily, Low Enthusiasm, Low attentiveness
(Down) Less Stamina Feelings Subdued and concentration

Critical Days Susceptible to injury emotionally unstable, Poor memory,
(Crossover) or Illness, Upset easily Prone to mistakes
Low endurance
Binary file not shown.
Binary file not shown.
Binary file added roms/games/Blitz [David Winter].ch8
Binary file not shown.
Loading

0 comments on commit 72a80b6

Please sign in to comment.