├── LICENCE.md ├── ROM ├── Rocket2.c8k ├── TAPEWORM.c8k ├── IBM.ch8 ├── ROM.zip ├── UFO.ch8 ├── BLINKY.ch8 ├── BLITZ.ch8 ├── BRIX.ch8 ├── C8PIC.ch8 ├── CAVE.ch8 ├── FILTER.ch8 ├── GUESS.ch8 ├── HIDDEN.ch8 ├── KALEID.ch8 ├── MAZE.ch8 ├── MERLIN.ch8 ├── PONG.ch8 ├── PONG2.ch8 ├── PUZZLE.ch8 ├── ROCKET.ch8 ├── SOCCER.ch8 ├── SPACEF.ch8 ├── SQUASH.ch8 ├── SYZYGY.ch8 ├── TANK.ch8 ├── TETRIS.ch8 ├── TICTAC.ch8 ├── TRON.ch8 ├── VBRIX.ch8 ├── VERS.ch8 ├── WALL.ch8 ├── 15PUZZLE.ch8 ├── AIRPLANE.ch8 ├── BREAKOUT.ch8 ├── CONNECT4.ch8 ├── FIGURES.ch8 ├── INVADERS.ch8 ├── LANDING.ch8 ├── MISSILE.ch8 ├── PADDLES.ch8 ├── PONG(1P).ch8 ├── Rocket2.ch8 ├── TAPEWORM.ch8 ├── TIMEBOMB.ch8 ├── WIPEOFF.ch8 └── X-MIRROR.ch8 ├── README.md ├── jsexe.exe ├── c8.min.pack.html ├── .gitattributes ├── index.html ├── before_png.js ├── c8.decompiler.min.pack.html ├── c8.min.html ├── HOW TO PLAY.txt ├── .gitignore └── c8.html /LICENCE.md: -------------------------------------------------------------------------------- 1 | public domain -------------------------------------------------------------------------------- /ROM/Rocket2.c8k: -------------------------------------------------------------------------------- 1 | 0123456789ABCDE5 -------------------------------------------------------------------------------- /ROM/TAPEWORM.c8k: -------------------------------------------------------------------------------- 1 | 0123456789ABCDE5 -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | http://xem.github.io/chip8 -------------------------------------------------------------------------------- /jsexe.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/jsexe.exe -------------------------------------------------------------------------------- /ROM/IBM.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/IBM.ch8 -------------------------------------------------------------------------------- /ROM/ROM.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/ROM.zip -------------------------------------------------------------------------------- /ROM/UFO.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/UFO.ch8 -------------------------------------------------------------------------------- /ROM/BLINKY.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/BLINKY.ch8 -------------------------------------------------------------------------------- /ROM/BLITZ.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/BLITZ.ch8 -------------------------------------------------------------------------------- /ROM/BRIX.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/BRIX.ch8 -------------------------------------------------------------------------------- /ROM/C8PIC.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/C8PIC.ch8 -------------------------------------------------------------------------------- /ROM/CAVE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/CAVE.ch8 -------------------------------------------------------------------------------- /ROM/FILTER.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/FILTER.ch8 -------------------------------------------------------------------------------- /ROM/GUESS.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/GUESS.ch8 -------------------------------------------------------------------------------- /ROM/HIDDEN.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/HIDDEN.ch8 -------------------------------------------------------------------------------- /ROM/KALEID.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/KALEID.ch8 -------------------------------------------------------------------------------- /ROM/MAZE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/MAZE.ch8 -------------------------------------------------------------------------------- /ROM/MERLIN.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/MERLIN.ch8 -------------------------------------------------------------------------------- /ROM/PONG.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/PONG.ch8 -------------------------------------------------------------------------------- /ROM/PONG2.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/PONG2.ch8 -------------------------------------------------------------------------------- /ROM/PUZZLE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/PUZZLE.ch8 -------------------------------------------------------------------------------- /ROM/ROCKET.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/ROCKET.ch8 -------------------------------------------------------------------------------- /ROM/SOCCER.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/SOCCER.ch8 -------------------------------------------------------------------------------- /ROM/SPACEF.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/SPACEF.ch8 -------------------------------------------------------------------------------- /ROM/SQUASH.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/SQUASH.ch8 -------------------------------------------------------------------------------- /ROM/SYZYGY.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/SYZYGY.ch8 -------------------------------------------------------------------------------- /ROM/TANK.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TANK.ch8 -------------------------------------------------------------------------------- /ROM/TETRIS.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TETRIS.ch8 -------------------------------------------------------------------------------- /ROM/TICTAC.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TICTAC.ch8 -------------------------------------------------------------------------------- /ROM/TRON.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TRON.ch8 -------------------------------------------------------------------------------- /ROM/VBRIX.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/VBRIX.ch8 -------------------------------------------------------------------------------- /ROM/VERS.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/VERS.ch8 -------------------------------------------------------------------------------- /ROM/WALL.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/WALL.ch8 -------------------------------------------------------------------------------- /ROM/15PUZZLE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/15PUZZLE.ch8 -------------------------------------------------------------------------------- /ROM/AIRPLANE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/AIRPLANE.ch8 -------------------------------------------------------------------------------- /ROM/BREAKOUT.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/BREAKOUT.ch8 -------------------------------------------------------------------------------- /ROM/CONNECT4.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/CONNECT4.ch8 -------------------------------------------------------------------------------- /ROM/FIGURES.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/FIGURES.ch8 -------------------------------------------------------------------------------- /ROM/INVADERS.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/INVADERS.ch8 -------------------------------------------------------------------------------- /ROM/LANDING.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/LANDING.ch8 -------------------------------------------------------------------------------- /ROM/MISSILE.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/MISSILE.ch8 -------------------------------------------------------------------------------- /ROM/PADDLES.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/PADDLES.ch8 -------------------------------------------------------------------------------- /ROM/PONG(1P).ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/PONG(1P).ch8 -------------------------------------------------------------------------------- /ROM/Rocket2.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/Rocket2.ch8 -------------------------------------------------------------------------------- /ROM/TAPEWORM.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TAPEWORM.ch8 -------------------------------------------------------------------------------- /ROM/TIMEBOMB.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/TIMEBOMB.ch8 -------------------------------------------------------------------------------- /ROM/WIPEOFF.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/WIPEOFF.ch8 -------------------------------------------------------------------------------- /ROM/X-MIRROR.ch8: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/ROM/X-MIRROR.ch8 -------------------------------------------------------------------------------- /c8.min.pack.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/xem/chip8/HEAD/c8.min.pack.html -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | 4 | # Custom for Visual Studio 5 | *.cs diff=csharp 6 | *.sln merge=union 7 | *.csproj merge=union 8 | *.vbproj merge=union 9 | *.fsproj merge=union 10 | *.dbproj merge=union 11 | 12 | # Standard to msysgit 13 | *.doc diff=astextplain 14 | *.DOC diff=astextplain 15 | *.docx diff=astextplain 16 | *.DOCX diff=astextplain 17 | *.dot diff=astextplain 18 | *.DOT diff=astextplain 19 | *.pdf diff=astextplain 20 | *.PDF diff=astextplain 21 | *.rtf diff=astextplain 22 | *.RTF diff=astextplain 23 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Chip8 1k 4 | Fork me on GitHub 5 |

~1kb Chip8 emulator

6 |
7 |

ROMS

8 | 9 | - Download all roms (it's legal) 10 |
11 |
12 |
13 |

Emulator

14 | 15 | - Commented emulator (with sound) 16 |
17 | - Golfed emulator (by xem, p01, rlauck, aemkei, subzey) 18 |
19 | - Packed emulator (1028b) 20 |
21 |
22 | Controls: numpad 0-9 + QWERTY 23 |
24 |
25 |
26 |

Decompiler

27 | 28 | - ROM Decompiler! (1024b gzipped!) 29 | 30 |
31 |
32 |
33 |
34 | © 2014-2015 Maxime Euzière 35 | 36 | -------------------------------------------------------------------------------- /before_png.js: -------------------------------------------------------------------------------- 1 | V.width=64;n=[];for(a=80;a--;)n[a]="0x"+"F999F26227F1F8FF1F1F99F11F8F1FF8F9FF1244F9F9FF9F1FF9F99E9E9EF888FE999EF8F8FF8F88"[a]<<4;for(a=3;a<8192;a+=4)q.data[a]=255;V=new(U=Uint8Array)(16);D=[];h=512;g=r=w=k=0;s=[];with(new XMLHttpRequest)open("GET",location.hash.slice(1)),send(responseType="arraybuffer",onload=function(c){u=new U(response);for(a=3584;a--;)n[a+512]=u[a];setInterval(function(c){w&&w--;for(F=9;F--;){p=n[h]<<8|n[h+1];f=p>>12;x=p&4095;d=p&255;l=p&15;b=p>>8&15;z=V[b];m=V[p>>4&15];e(["if(l)h=D.pop();else for(a=3;8192>a;a+=4)q.data[a]=255","h=x-2","D.push(h),h=x-2","if(z==d)h+=2","if(z!=d)h+=2","if(z==m)h+=2","V[b]=d","V[b]=z+d",["V[b]=m","V[b]|=m","V[b]&=m","V[b]^=m","V[15]=+(255<(V[b]+=m))","V[15]=+(0<=(V[b]-=m))","V[15]=z&1;V[b]/=2","V[15]=+(0<=(V[b]=m-z))",,,,,,,"V[15]=z>>7;V[b]*=2"][l],"if(z!=m)h+=2","k=x","h=x+V[0]","V[b]=~~(Math.random()*d)","for(V[15]=0,a=l;a--;)for(B=8;B--;)y=z+B,A=m+a,(n[k+a]>>7-B&1)&&(63


--------------------------------------------------------------------------------
/c8.min.html:
--------------------------------------------------------------------------------
1 | Fork me on GitHub

1kb chip8 emulator

Minified & golfed source code

Homepage

Choose a ROM:
C8PIC
IBM
Rocket2 (press Y to launch)
X-MIRROR (press 2,4,6,8 to draw)
TAPEWORM (Y to start, 2,4,6,8 to move)
TIMEBOMB (set up with 2 and 8, start with 5)
AIRPLANE (send bombs with 2)
BLITZ (send bombs with 2)
BREAKOUT (move with 4 and 6)
BRIX (move with 4 and 6)
CAVE (start with Y, move with 2,4,6,8)
CONNECT4
FIGURES
FILTER
GUESS
HIDDEN
INVADERS
KALEID
LANDING
MAZE
MERLIN
MISSILE
PADDLES
PONG (1P)
PONG
PONG2
PUZZLE
ROCKET
SOCCER
SPACEF
SQUASH
SYZYGY
TANK
TETRIS
TICTAC
TRON
UFO
VBRIX
VERS
WALL
WIPEOFF

2 | 6 | 7 | -------------------------------------------------------------------------------- /HOW TO PLAY.txt: -------------------------------------------------------------------------------- 1 | HOW TO PLAY 2 | 3 | - Golf before_png.js 4 | - Execute jsexe -cn before_png.js index.html 5 | - Replace the code at the end of index.html ( 8 | 9 | 10 | 11 | Fork me on GitHub

1kb chip8 emulator

Source code:
commented, with sound
minified & golfed by xem, p01, rlauck, aemkei, subzey

Choose a ROM:
C8PIC
IBM
Rocket2 (press Y to launch)
X-MIRROR (press 2,4,6,8 to draw)
TAPEWORM (Y to start, 2,4,6,8 to move)
TIMEBOMB (set up with 2 and 8, start with 5)
AIRPLANE (send bombs with 2)
BLITZ (send bombs with 2)
BREAKOUT (move with 4 and 6)
BRIX (move with 4 and 6)
CAVE (start with Y, move with 2,4,6,8)
CONNECT4
FIGURES
FILTER
GUESS
HIDDEN
INVADERS
KALEID
LANDING
MAZE
MERLIN
MISSILE
PADDLES
PONG(1P)
PONG
PONG2
PUZZLE
ROCKET
SOCCER
SPACEF
SQUASH
SYZYGY
TANK
TETRIS
TICTAC
TRON
UFO
VBRIX
VERS
WALL
WIPEOFF

--------------------------------------------------------------------------------