-
-
Save rmmh/a1a493d4e3ba05afe24f to your computer and use it in GitHub Desktop.
Disassembled Chip8 Programs
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# INPUT FILE LISTING: | |
# chip8/Chip-8 Demos/Maze (alt) [David Winter, 199x].ch8 | |
# chip8/Chip-8 Demos/Maze [David Winter, 199x].ch8 | |
# chip8/Chip-8 Demos/Particle Demo [zeroZshadow, 2008].ch8 | |
# chip8/Chip-8 Demos/Sierpinski [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Demos/Sirpinski [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Demos/Stars [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Demos/Trip8 Demo (2008) [Revival Studios].ch8 | |
# chip8/Chip-8 Demos/Zero Demo [zeroZshadow, 2007].ch8 | |
# chip8/Chip-8 Games/15 Puzzle [Roger Ivie] (alt).ch8 | |
# chip8/Chip-8 Games/15 Puzzle [Roger Ivie].ch8 | |
# chip8/Chip-8 Games/Addition Problems [Paul C. Moews].ch8 | |
# chip8/Chip-8 Games/Airplane.ch8 | |
# chip8/Chip-8 Games/Animal Race [Brian Astle].ch8 | |
# chip8/Chip-8 Games/Astro Dodge [Revival Studios, 2008].ch8 | |
# chip8/Chip-8 Games/Biorhythm [Jef Winsor].ch8 | |
# chip8/Chip-8 Games/Blinky [Hans Christian Egeberg, 1991].ch8 | |
# chip8/Chip-8 Games/Blinky [Hans Christian Egeberg] (alt).ch8 | |
# chip8/Chip-8 Games/Blitz [David Winter].ch8 | |
# chip8/Chip-8 Games/Bowling [Gooitzen van der Wal].ch8 | |
# chip8/Chip-8 Games/Breakout (Brix hack) [David Winter, 1997].ch8 | |
# chip8/Chip-8 Games/Breakout [Carmelo Cortez, 1979].ch8 | |
# chip8/Chip-8 Games/Brick (Brix hack, 1990).ch8 | |
# chip8/Chip-8 Games/Brix [Andreas Gustafsson, 1990].ch8 | |
# chip8/Chip-8 Games/Cave.ch8 | |
# chip8/Chip-8 Games/Coin Flipping [Carmelo Cortez, 1978].ch8 | |
# chip8/Chip-8 Games/Connect 4 [David Winter].ch8 | |
# chip8/Chip-8 Games/Craps [Camerlo Cortez, 1978].ch8 | |
# chip8/Chip-8 Games/Deflection [John Fort].ch8 | |
# chip8/Chip-8 Games/Figures.ch8 | |
# chip8/Chip-8 Games/Filter.ch8 | |
# chip8/Chip-8 Games/Guess [David Winter] (alt).ch8 | |
# chip8/Chip-8 Games/Guess [David Winter].ch8 | |
# chip8/Chip-8 Games/Hidden [David Winter, 1996].ch8 | |
# chip8/Chip-8 Games/Hi-Lo [Jef Winsor, 1978].ch8 | |
# chip8/Chip-8 Games/Kaleidoscope [Joseph Weisbecker, 1978].ch8 | |
# chip8/Chip-8 Games/Landing.ch8 | |
# chip8/Chip-8 Games/Lunar Lander (Udo Pernisz, 1979).ch8 | |
# chip8/Chip-8 Games/Mastermind FourRow (Robert Lindley, 1978).ch8 | |
# chip8/Chip-8 Games/Merlin [David Winter].ch8 | |
# chip8/Chip-8 Games/Missile [David Winter].ch8 | |
# chip8/Chip-8 Games/Most Dangerous Game [Peter Maruhnic].ch8 | |
# chip8/Chip-8 Games/Nim [Carmelo Cortez, 1978].ch8 | |
# chip8/Chip-8 Games/Paddles.ch8 | |
# chip8/Chip-8 Games/Pong (1 player).ch8 | |
# chip8/Chip-8 Games/Pong 2 (Pong hack) [David Winter, 1997].ch8 | |
# chip8/Chip-8 Games/Pong (alt).ch8 | |
# chip8/Chip-8 Games/Pong [Paul Vervalin, 1990].ch8 | |
# chip8/Chip-8 Games/Programmable Spacefighters [Jef Winsor].ch8 | |
# chip8/Chip-8 Games/Puzzle.ch8 | |
# chip8/Chip-8 Games/Reversi [Philip Baltzer].ch8 | |
# chip8/Chip-8 Games/Rocket [Joseph Weisbecker, 1978].ch8 | |
# chip8/Chip-8 Games/Rocket Launcher.ch8 | |
# chip8/Chip-8 Games/Rocket Launch [Jonas Lindstedt].ch8 | |
# chip8/Chip-8 Games/Rush Hour [Hap, 2006] (alt).ch8 | |
# chip8/Chip-8 Games/Rush Hour [Hap, 2006].ch8 | |
# chip8/Chip-8 Games/Russian Roulette [Carmelo Cortez, 1978].ch8 | |
# chip8/Chip-8 Games/Sequence Shoot [Joyce Weisbecker].ch8 | |
# chip8/Chip-8 Games/Shooting Stars [Philip Baltzer, 1978].ch8 | |
# chip8/Chip-8 Games/Slide [Joyce Weisbecker].ch8 | |
# chip8/Chip-8 Games/Soccer.ch8 | |
# chip8/Chip-8 Games/Space Flight.ch8 | |
# chip8/Chip-8 Games/Space Intercept [Joseph Weisbecker, 1978].ch8 | |
# chip8/Chip-8 Games/Space Invaders [David Winter] (alt).ch8 | |
# chip8/Chip-8 Games/Space Invaders [David Winter].ch8 | |
# chip8/Chip-8 Games/Spooky Spot [Joseph Weisbecker, 1978].ch8 | |
# chip8/Chip-8 Games/Squash [David Winter].ch8 | |
# chip8/Chip-8 Games/Submarine [Carmelo Cortez, 1978].ch8 | |
# chip8/Chip-8 Games/Sum Fun [Joyce Weisbecker].ch8 | |
# chip8/Chip-8 Games/Syzygy [Roy Trevino, 1990].ch8 | |
# chip8/Chip-8 Games/Tank.ch8 | |
# chip8/Chip-8 Games/Tapeworm [JDR, 1999].ch8 | |
# chip8/Chip-8 Games/Tetris [Fran Dachille, 1991].ch8 | |
# chip8/Chip-8 Games/Tic-Tac-Toe [David Winter].ch8 | |
# chip8/Chip-8 Games/Timebomb.ch8 | |
# chip8/Chip-8 Games/Tron.ch8 | |
# chip8/Chip-8 Games/UFO [Lutz V, 1992].ch8 | |
# chip8/Chip-8 Games/Vers [JMN, 1991].ch8 | |
# chip8/Chip-8 Games/Vertical Brix [Paul Robson, 1996].ch8 | |
# chip8/Chip-8 Games/Wall [David Winter].ch8 | |
# chip8/Chip-8 Games/Wipe Off [Joseph Weisbecker].ch8 | |
# chip8/Chip-8 Games/Worm V4 [RB-Revival Studios, 2007].ch8 | |
# chip8/Chip-8 Games/X-Mirror.ch8 | |
# chip8/Chip-8 Games/ZeroPong [zeroZshadow, 2007].ch8 | |
# chip8/Chip-8 Hires/Astro Dodge Hires [Revival Studios, 2008].ch8 | |
# chip8/Chip-8 Hires/Hires Maze [David Winter, 199x].ch8 | |
# chip8/Chip-8 Hires/Hires Particle Demo [zeroZshadow, 2008].ch8 | |
# chip8/Chip-8 Hires/Hires Sierpinski [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Hires/Hires Stars [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Hires/Hires Test [Tom Swan, 1979].ch8 | |
# chip8/Chip-8 Hires/Hires Worm V4 [RB-Revival Studios, 2007].ch8 | |
# chip8/Chip-8 Hires/Trip8 Hires Demo (2008) [Revival Studios].ch8 | |
# chip8/Chip-8 Programs/BMP Viewer - Hello (C8 example) [Hap, 2005].ch8 | |
# chip8/Chip-8 Programs/Chip8 emulator Logo [Garstyciuks].ch8 | |
# chip8/Chip-8 Programs/Chip8 Picture.ch8 | |
# chip8/Chip-8 Programs/Clock Program [Bill Fisher, 1981].ch8 | |
# chip8/Chip-8 Programs/Delay Timer Test [Matthew Mikolay, 2010].ch8 | |
# chip8/Chip-8 Programs/Division Test [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8 Programs/Fishie [Hap, 2005].ch8 | |
# chip8/Chip-8 Programs/Framed MK1 [GV Samways, 1980].ch8 | |
# chip8/Chip-8 Programs/Framed MK2 [GV Samways, 1980].ch8 | |
# chip8/Chip-8 Programs/IBM Logo.ch8 | |
# chip8/Chip-8 Programs/Jumping X and O [Harry Kleinberg, 1977].ch8 | |
# chip8/Chip-8 Programs/Keypad Test [Hap, 2006].ch8 | |
# chip8/Chip-8 Programs/Life [GV Samways, 1980].ch8 | |
# chip8/Chip-8 Programs/Minimal game [Revival Studios, 2007].ch8 | |
# chip8/Chip-8 Programs/Random Number Test [Matthew Mikolay, 2010].ch8 | |
# chip8/Chip-8 Programs/SQRT Test [Sergey Naydenov, 2010].ch8 | |
# chip8/Chip-8X and Hybrids/Pinball [Andrew Modla].ch8 | |
# chip8/SuperChip Demos/Bounce [Les Harris].ch8 | |
# chip8/SuperChip Demos/Car Race Demo [Erik Bryntse, 1991].ch8 | |
# chip8/SuperChip Demos/Climax Slideshow - Part 1 [Revival Studios, 2008].ch8 | |
# chip8/SuperChip Demos/Climax Slideshow - Part 2 [Revival Studios, 2008].ch8 | |
# chip8/SuperChip Demos/Robot.ch8 | |
# chip8/SuperChip Demos/SCSerpinski [Sergey Naydenov, 2010].ch8 | |
# chip8/SuperChip Demos/SCStars [Sergey Naydenov, 2010].ch8 | |
# chip8/SuperChip Demos/SuperMaze [David Winter, 199x].ch8 | |
# chip8/SuperChip Demos/Super Particle Demo [zeroZshadow, 2008].ch8 | |
# chip8/SuperChip Demos/SuperTrip8 Demo (2008) [Revival Studios].ch8 | |
# chip8/SuperChip Demos/Worms demo.ch8 | |
# chip8/SuperChip Games/Alien [Jonas Lindstedt, 1993].ch8 | |
# chip8/SuperChip Games/Ant - In Search of Coke [Erin S. Catto].ch8 | |
# chip8/SuperChip Games/Blinky [Hans Christian Egeberg, 1991].ch8 | |
# chip8/SuperChip Games/Car [Klaus von Sengbusch, 1994].ch8 | |
# chip8/SuperChip Games/Field! [Al Roland, 1993] (alt).ch8 | |
# chip8/SuperChip Games/Field! [Al Roland, 1993].ch8 | |
# chip8/SuperChip Games/H. Piper [Paul Raines, 1991].ch8 | |
# chip8/SuperChip Games/Joust [Erin S. Catto, 1993].ch8 | |
# chip8/SuperChip Games/Laser.ch8 | |
# chip8/SuperChip Games/Loopz [Andreas Daumann].ch8 | |
# chip8/SuperChip Games/Loopz (with difficulty select) [Hap, 2006].ch8 | |
# chip8/SuperChip Games/Magic Square [David Winter, 1997].ch8 | |
# chip8/SuperChip Games/Matches.ch8 | |
# chip8/SuperChip Games/Mines! - The minehunter [David Winter, 1997].ch8 | |
# chip8/SuperChip Games/Single Dragon (Bomber Section) [David Nurser, 1993].ch8 | |
# chip8/SuperChip Games/Single Dragon (Stages 1-2) [David Nurser, 1993].ch8 | |
# chip8/SuperChip Games/Sokoban [Hap, 2006] (alt).ch8 | |
# chip8/SuperChip Games/Sokoban [Hap, 2006].ch8 | |
# chip8/SuperChip Games/Spacefight 2091 [Carsten Soerensen, 1992].ch8 | |
# chip8/SuperChip Games/Super Astro Dodge [Revival Studios, 2008].ch8 | |
# chip8/SuperChip Games/SuperWorm V3 [RB, 1992].ch8 | |
# chip8/SuperChip Games/SuperWorm V4 [RB-Revival Studios, 2007].ch8 | |
# chip8/SuperChip Games/U-Boat [Michael Kemper, 1994].ch8 | |
# chip8/SuperChip Test Programs/BMP Viewer (16x16 tiles) (MAME) [IQ_132].ch8 | |
# chip8/SuperChip Test Programs/BMP Viewer - Flip-8 logo [Newsdee, 2006].ch8 | |
# chip8/SuperChip Test Programs/BMP Viewer (Google) [IQ_132].ch8 | |
# chip8/SuperChip Test Programs/BMP Viewer - Kyori (SC example) [Hap, 2005].ch8 | |
# chip8/SuperChip Test Programs/BMP Viewer - Let's Chip-8! [Koppepan, 2005].ch8 | |
# chip8/SuperChip Test Programs/Emutest [Hap, 2006].ch8 | |
# chip8/SuperChip Test Programs/Font Test [Newsdee, 2006].ch8 | |
# chip8/SuperChip Test Programs/Hex Mixt.ch8 | |
# chip8/SuperChip Test Programs/Line Demo.ch8 | |
# chip8/SuperChip Test Programs/SCHIP Test [iq_132].ch8 | |
# chip8/SuperChip Test Programs/Scroll Test.ch8 | |
# chip8/SuperChip Test Programs/Scroll Test (modified) [Garstyciuks].ch8 | |
# chip8/SuperChip Test Programs/SC Test.ch8 | |
# chip8/SuperChip Test Programs/SuperChip Test.ch8 | |
# chip8/SuperChip Test Programs/Test128.ch8 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Maze (alt) [David Winter, 199x].ch8 | |
###################################################################### | |
:proto D1 # 21E | |
:proto D2 # 222 | |
: main | |
v0 := 0 | |
v1 := 0 | |
: L1 | |
loop | |
i := D2 | |
v2 := random 0b1 | |
if v2 != 1 then i := D1 | |
sprite v0 v1 4 | |
v0 += 4 | |
if v0 != 64 then jump L1 | |
v0 := 0 | |
v1 += 4 | |
if v1 != 32 then | |
again | |
loop | |
again | |
: D1 | |
0x80 0x40 0x20 0x10 | |
: D2 | |
0x20 0x40 0x80 0x10 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Maze [David Winter, 199x].ch8 | |
###################################################################### | |
:proto D1 # 21A | |
:proto D2 # 21E | |
: main | |
loop | |
i := D2 | |
v2 := random 0b1 | |
if v2 != 1 then i := D1 | |
sprite v0 v1 4 | |
v0 += 4 | |
if v0 != 64 then jump main | |
v0 := 0 | |
v1 += 4 | |
if v1 != 32 then | |
again | |
loop | |
again | |
: D1 | |
0x80 0x40 0x20 0x10 | |
: D2 | |
0x20 0x40 0x80 0x10 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Particle Demo [zeroZshadow, 2008].ch8 | |
###################################################################### | |
:proto Sub1 # 25C | |
:proto L4 # 262 | |
:proto L5 # 292 | |
:proto L6 # 294 | |
:proto Sub2 # 29C | |
:proto L7 # 2B8 | |
:proto Sub3 # 2CE | |
:proto D1 # 2D8 | |
:proto D2 # 300 | |
:proto D3 # 320 | |
:proto D4 # 321 | |
: main | |
i := D4 | |
v0 := 0 | |
v1 := 0 | |
v2 := 8 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
v6 := 5 | |
v7 := 2 | |
vA := 0 | |
jump L7 | |
: L1 | |
vB := 0 | |
vC := 0 | |
loop | |
i := D1 | |
i += vB | |
load v3 | |
Sub3 | |
Sub1 | |
jump L4 | |
: L3 | |
Sub3 | |
Sub1 | |
vB += 4 | |
vC += 1 | |
if vC != v6 then | |
again | |
jump L1 | |
0x12 0x0 | |
: Sub1 | |
i := D3 | |
sprite vE vD 1 | |
return | |
: L4 | |
i := D1 | |
i += vB | |
load v3 | |
v0 += v2 | |
v1 += v3 | |
vE := v0 | |
vD := v1 | |
vE >>= vE | |
vD >>= vD | |
v4 := vE | |
v5 := 194 | |
v4 += v5 | |
if vF == 1 then jump L5 | |
if vD == 0 then v3 := 1 | |
v4 := vD | |
v5 := -31 | |
v4 += v5 | |
if vF == 1 then jump L5 | |
if v3 != 2 then v3 += 1 | |
jump L6 | |
: L5 | |
Sub2 | |
: L6 | |
i := D1 | |
i += vB | |
save v3 | |
jump L3 | |
: Sub2 | |
i := D2 | |
i += vA | |
load v0 | |
v2 := v0 | |
vA += 1 | |
v4 := 31 | |
vA &= v4 | |
v0 := 32 | |
v1 := 30 | |
v0 <<= v0 | |
v1 <<= v1 | |
v3 := random 0b11 | |
v3 += -8 | |
return | |
: L7 | |
vB := 0 | |
vC := 0 | |
loop | |
Sub2 | |
i := D1 | |
i += vB | |
save v3 | |
vB += 4 | |
vC += 1 | |
if vC != v6 then | |
again | |
jump L1 | |
: Sub3 | |
vE := v0 | |
vD := v1 | |
vE >>= vE | |
vD >>= vD | |
return | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D2 | |
0xf8 0xfa 0xf9 0xfe 0xfb 0xfc 0xfd 0xff 0x2 0x1 0x3 0x5 0x4 0x6 0x7 0x8 0x6 0x7 0x4 0x5 0x3 0x1 0x2 0xfe 0xff 0xfc 0xfb 0xfd 0xfa 0xf9 0xf8 0xfa | |
: D3 | |
0x80 | |
: D4 | |
0xf7 0x6 0x77 0x6 0x36 0x0 0x0 0x0 0xc7 0x6c 0xcf 0xc 0xc 0x0 0x0 0x0 0x9f 0xd9 0xdf 0xd9 0xd9 0x0 0x0 0x0 0x3f 0x8c 0xc 0x8c 0x8c 0x0 0x0 0x0 0x67 0x6c 0x6c 0x6c 0x67 0x0 0x0 0x0 0xb0 0x30 0x30 0x30 0xbe 0x0 0x0 0x0 0xf9 0xc3 0xf1 0xc0 0xfb 0x0 0x0 0x0 0xef 0x0 0xce 0x60 0xcc 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Sierpinski [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L4 # 2F9 | |
:proto L5 # 321 | |
:proto L6 # 349 | |
:proto D1 # 3C2 | |
:proto D2 # 3C3 | |
:proto D3 # 3C4 | |
:proto D4 # 3C5 | |
:proto D5 # 3C6 | |
:proto D6 # 3E6 | |
:proto D7 # 406 | |
:proto D8 # 407 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
v0 := 0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
v0 := 31 | |
vA := v0 | |
v0 := 0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
v0 := 1 | |
i := D2 | |
save v0 | |
v0 := 31 | |
i := D7 | |
save v0 | |
: L2 | |
v0 := 1 | |
i := D3 | |
save v0 | |
i := D2 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D8 | |
save v0 | |
loop | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D4 | |
save v0 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D6 | |
i += v0 | |
load v0 | |
v6 := v0 | |
i := D3 | |
load v0 | |
v7 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v7 | |
v0 += v1 | |
i := D6 | |
i += v0 | |
load v0 | |
v1 := v0 | |
v0 := v6 | |
v0 ^= v1 | |
v1 := v5 | |
i := D5 | |
i += v1 | |
save v0 | |
i := D4 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
i := D3 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 31 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
v0 := 31 | |
v5 := v0 | |
i := D3 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
: L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D8 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L5 | |
i := D3 | |
load v0 | |
v0 += 1 | |
i := D3 | |
save v0 | |
again | |
: L5 | |
i := D2 | |
load v0 | |
v5 := v0 | |
i := D7 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L6 | |
i := D2 | |
load v0 | |
v0 += 1 | |
i := D2 | |
save v0 | |
jump L2 | |
: L6 | |
loop | |
again | |
0x81 0x0 0xa4 0x8 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x13 0x5d 0x80 0x30 0x0 0xee 0xa4 0x8 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x13 0x95 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x13 0x8f 0x84 0xe 0x85 0xe 0x13 0x81 0x80 0x45 0x86 0x54 0x13 0x71 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x13 0x9b 0x80 0x20 0x0 0xee 0xa3 0xbf 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x28 0x63 0x29 | |
: D1 | |
0x80 | |
: D2 | |
0x0 | |
: D3 | |
0x0 | |
: D4 | |
0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Sirpinski [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L4 # 2F9 | |
:proto L5 # 321 | |
:proto L6 # 349 | |
:proto D1 # 3C2 | |
:proto D2 # 3C3 | |
:proto D3 # 3C4 | |
:proto D4 # 3C5 | |
:proto D5 # 3C6 | |
:proto D6 # 3E6 | |
:proto D7 # 406 | |
:proto D8 # 407 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
v0 := 0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
v0 := 31 | |
vA := v0 | |
v0 := 0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
v0 := 1 | |
i := D2 | |
save v0 | |
v0 := 31 | |
i := D7 | |
save v0 | |
: L2 | |
v0 := 1 | |
i := D3 | |
save v0 | |
i := D2 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D8 | |
save v0 | |
loop | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D4 | |
save v0 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D6 | |
i += v0 | |
load v0 | |
v6 := v0 | |
i := D3 | |
load v0 | |
v7 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v7 | |
v0 += v1 | |
i := D6 | |
i += v0 | |
load v0 | |
v1 := v0 | |
v0 := v6 | |
v0 ^= v1 | |
v1 := v5 | |
i := D5 | |
i += v1 | |
save v0 | |
i := D4 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
i := D3 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 31 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
v0 := 31 | |
v5 := v0 | |
i := D3 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
i := D1 | |
sprite vA vB 1 | |
: L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D8 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L5 | |
i := D3 | |
load v0 | |
v0 += 1 | |
i := D3 | |
save v0 | |
again | |
: L5 | |
i := D2 | |
load v0 | |
v5 := v0 | |
i := D7 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L6 | |
i := D2 | |
load v0 | |
v0 += 1 | |
i := D2 | |
save v0 | |
jump L2 | |
: L6 | |
loop | |
again | |
0x81 0x0 0xa4 0x8 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x13 0x5d 0x80 0x30 0x0 0xee 0xa4 0x8 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x13 0x95 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x13 0x8f 0x84 0xe 0x85 0xe 0x13 0x81 0x80 0x45 0x86 0x54 0x13 0x71 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x13 0x9b 0x80 0x20 0x0 0xee 0xa3 0xbf 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x28 0x63 0x29 | |
: D1 | |
0x80 | |
: D2 | |
0x0 | |
: D3 | |
0x0 | |
: D4 | |
0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Stars [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L5 # 2D5 | |
:proto L6 # 2DB | |
:proto L7 # 301 | |
:proto L8 # 323 | |
:proto L11 # 3C5 | |
:proto L12 # 3CB | |
:proto L13 # 3F1 | |
:proto L14 # 413 | |
:proto L15 # 46F | |
:proto L16 # 4F1 | |
:proto D1 # 580 | |
:proto D2 # 5A8 | |
:proto D3 # 5B0 | |
:proto D4 # 5B8 | |
:proto D5 # 5C0 | |
:proto D6 # 5C1 | |
:proto D7 # 5C2 | |
:proto D8 # 5C3 | |
:proto D9 # 5C4 | |
:proto D10 # 5C6 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
v0 := 0 | |
v5 := v0 | |
v0 := random 0b111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
v0 := 0 | |
v5 := v0 | |
v0 := random 0b11000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
v0 := 0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
v0 := 0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
v0 := 0 | |
i := D1 | |
i += v0 | |
sprite vA vB 8 | |
v0 := 1 | |
i := D7 | |
save v0 | |
v0 := 7 | |
i := D9 | |
save v0 | |
: L2 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
: L3 | |
v0 := 0 | |
i := D6 | |
save v0 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D10 | |
save v0 | |
loop | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v0 | |
v0 -= v1 | |
v0 := v2 | |
if vF != 0 then jump L6 | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 -= v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L5 | |
v0 := 1 | |
i := D8 | |
save v0 | |
jump L6 | |
: L5 | |
v0 := 0 | |
i := D8 | |
save v0 | |
: L6 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D10 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L7 | |
i := D6 | |
load v0 | |
v0 += 1 | |
save v0 | |
again | |
: L7 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L8 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b1111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
: L8 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L3 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b11000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
: L9 | |
v0 := 0 | |
i := D6 | |
save v0 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D10 | |
save v0 | |
loop | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v0 | |
v0 -= v1 | |
v0 := v2 | |
if vF != 0 then jump L12 | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 -= v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L11 | |
v0 := 1 | |
i := D8 | |
save v0 | |
jump L12 | |
: L11 | |
v0 := 0 | |
i := D8 | |
save v0 | |
: L12 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D10 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L13 | |
i := D6 | |
load v0 | |
v0 += 1 | |
save v0 | |
again | |
: L13 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L14 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b11000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
: L14 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L9 | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
v0 := 0 | |
i := D1 | |
i += v0 | |
sprite vA vB 8 | |
i := D7 | |
load v0 | |
v5 := v0 | |
i := D9 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L15 | |
i := D7 | |
load v0 | |
v0 += 1 | |
save v0 | |
jump L2 | |
: L15 | |
loop | |
v0 := random 0b111 | |
i := D5 | |
save v0 | |
i := D5 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
i := D5 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
i := D1 | |
i += v0 | |
load v0 | |
sprite vA vB 8 | |
v0 := 10 | |
delay := v0 | |
i := D5 | |
load v0 | |
v5 := v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
v5 := v0 | |
v0 := 32 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L16 | |
i := D5 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
: L16 | |
i := D5 | |
load v0 | |
v5 := v0 | |
v0 := 50 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then | |
again | |
loop | |
again | |
0x81 0x0 0xa5 0xc7 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x15 0x1b 0x80 0x30 0x0 0xee 0xa5 0xc7 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x15 0x53 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x15 0x4d 0x84 0xe 0x85 0xe 0x15 0x3f 0x80 0x45 0x86 0x54 0x15 0x2f 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x15 0x59 0x80 0x20 0x0 0xee 0xa5 0x7d 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x28 0x63 0x29 | |
: D1 | |
0x0 0x0 0x0 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x38 0x28 0x38 0x0 0x0 0x0 0x0 0x54 0x0 0x44 0x0 0x54 0x0 0x0 0x92 0x0 0x0 0x82 0x0 0x0 0x92 0x0 0x92 0x54 0x38 0xfe 0x38 0x54 0x92 0x0 | |
: D2 | |
0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 | |
: D3 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D5 | |
0x0 | |
: D6 | |
0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 | |
: D9 | |
0x0 0x0 | |
: D10 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Trip8 Demo (2008) [Revival Studios].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto Sub1 # 270 | |
:proto Sub2 # 290 | |
:proto Sub3 # 2A2 | |
:proto Sub4 # 2B4 | |
:proto Sub5 # 2C6 | |
:proto Sub6 # 2CC | |
:proto Sub7 # 2D4 | |
:proto Sub8 # 2DC | |
:proto Sub9 # 2E4 | |
:proto Sub10 # 2EC | |
:proto Sub11 # 2F4 | |
:proto Sub12 # 2FC | |
:proto Sub13 # 308 | |
:proto Sub14 # 318 | |
:proto Sub15 # 324 | |
:proto Sub16 # 33A | |
:proto Sub17 # 350 | |
:proto Sub18 # 366 | |
:proto Sub19 # 386 | |
:proto Sub20 # 3BE | |
:proto Sub21 # 3C6 | |
:proto D1 # 41E | |
:proto Sub22 # 448 | |
:proto D2 # 47C | |
:proto D3 # 480 | |
:proto D4 # 483 | |
:proto D5 # 583 | |
:proto D6 # 683 | |
:proto D7 # 983 | |
:proto D8 # B83 | |
:proto D9 # D83 | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
clear | |
vD := 32 | |
delay := vD | |
Sub20 | |
Sub21 | |
vD := 64 | |
delay := vD | |
Sub20 | |
Sub21 | |
vD := 32 | |
delay := vD | |
Sub20 | |
i := D4 | |
Sub22 | |
vD := 128 | |
delay := vD | |
Sub20 | |
i := D4 | |
Sub22 | |
i := D5 | |
Sub22 | |
vD := 0 | |
vB := 0 | |
Sub5 | |
loop | |
if vB == 0 then Sub9 | |
if vB == 1 then Sub19 | |
if vB == 2 then Sub10 | |
if vB == 3 then Sub19 | |
if vB == 4 then Sub11 | |
if vB == 5 then Sub19 | |
v0 := 1 | |
delay := v0 | |
Sub20 | |
vD += 1 | |
v0 := 63 | |
vC := vD | |
vC &= v0 | |
if vC == 0 then Sub1 | |
again | |
: Sub1 | |
if vB == 0 then Sub2 | |
if vB == 1 then Sub6 | |
if vB == 2 then Sub3 | |
if vB == 3 then Sub7 | |
if vB == 4 then Sub4 | |
if vB == 5 then Sub8 | |
vB += 1 | |
if vB == 6 then vB := 0 | |
return | |
: Sub2 | |
Sub13 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub3 | |
Sub12 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub4 | |
Sub14 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub5 | |
vE := 0 | |
Sub13 | |
return | |
: Sub6 | |
Sub18 | |
vE := 0 | |
Sub12 | |
return | |
: Sub7 | |
Sub18 | |
vE := 0 | |
Sub14 | |
return | |
: Sub8 | |
Sub18 | |
vE := 0 | |
Sub13 | |
return | |
: Sub9 | |
Sub13 | |
vE += 3 | |
Sub13 | |
return | |
: Sub10 | |
Sub12 | |
vE += 2 | |
Sub12 | |
return | |
: Sub11 | |
Sub14 | |
vE += 2 | |
Sub14 | |
return | |
: Sub12 | |
vC := 0 | |
Sub16 | |
Sub16 | |
Sub16 | |
Sub16 | |
return | |
: Sub13 | |
vC := 0 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
return | |
: Sub14 | |
vC := 0 | |
Sub17 | |
Sub17 | |
Sub17 | |
Sub17 | |
return | |
: Sub15 | |
i := D6 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
i := D2 | |
sprite v0 v1 4 | |
vC += 2 | |
return | |
: Sub16 | |
i := D7 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
i := D2 | |
sprite v0 v1 4 | |
vC += 2 | |
return | |
: Sub17 | |
i := D8 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
i := D2 | |
sprite v0 v1 4 | |
vC += 2 | |
return | |
: Sub18 | |
vC := 0 | |
loop | |
v0 := 31 | |
vA := vD | |
vA += vC | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
i := D3 | |
sprite v0 v1 3 | |
vC += 1 | |
if vC != 8 then | |
again | |
return | |
: Sub19 | |
v0 := 31 | |
vA := vD | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
i := D3 | |
sprite v0 v1 3 | |
v0 := 31 | |
vA := vD | |
vA += 8 | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
i := D3 | |
sprite v0 v1 3 | |
return | |
0xa6 0x83 0xfd 0x1e 0xf0 0x65 0x30 0x0 0xf0 0x18 0x0 0xee | |
: Sub20 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub21 | |
vD := 4 | |
v1 := 12 | |
v0 := 28 | |
v2 := 18 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
v0 := 20 | |
v2 := 12 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 36 | |
v2 := 24 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
v0 := 12 | |
v2 := 6 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 44 | |
v2 := 30 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
i := D1 | |
v0 := 4 | |
sprite v0 v1 6 | |
v0 := 52 | |
v2 := 36 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
return | |
: D1 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
: Sub22 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L4 | |
v0 := 0 | |
loop | |
v1 := v3 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L4 | |
return | |
: D2 | |
0x60 0xb0 0xf0 0x60 | |
: D3 | |
0x40 0xa0 0x40 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x0 0x0 0x0 0xc6 0x0 0x0 0x0 0xdb 0x0 0x0 0x0 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5f 0x6 0x0 0x0 0xfe 0xc6 0x0 0x0 0xd3 0xfb 0x0 0x0 0xf0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x0 0x0 0x0 0xf6 0x0 0x0 0x0 0xfb 0xe0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x6 0x0 0x0 0x0 0xc6 0x0 0x0 0x0 0xdb 0x0 0x0 0x0 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x6 0x0 0x0 0x0 0xc6 0x0 0x0 0x3 0xf1 0x0 0x0 0x30 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x0 0x0 0x0 0xc6 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2f 0x6 0x0 0x0 0xff 0xc6 0x0 0x0 0x69 0xdb 0x0 0x0 0xe0 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x0 0x0 0x0 0x76 0x0 0x0 0x0 0xf3 0xe0 0x0 0x0 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0x7 0xf 0x0 0xff 0xfe 0xfc 0x7e 0x0 0x0 0x3e 0x7c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2f 0x1b 0x7 0x0 0xff 0xf0 0xfb 0x1f 0x0 0x0 0xfe 0xb0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x17 0xf 0x0 0x0 0xff 0xf8 0x7e 0xf 0x0 0xc 0x14 0x38 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2f 0xb 0xf 0x0 0xfe 0xe0 0xfc 0x3f 0x0 0x0 0x7e 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x17 0x1f 0x3 0x0 0xff 0xf0 0xff 0x1f 0x80 0x0 0xfe 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xb 0xf 0x0 0x0 0xfe 0xf8 0x7e 0xf 0x0 0x1c 0x3e 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x17 0x17 0xf 0x0 0xfe 0xc0 0xf8 0x3f 0x0 0x0 0xfe 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2b 0x1f 0x0 0x0 0xff 0xe0 0x7f 0x1f 0x80 0x4 0x1c 0x3c | |
: D6 | |
0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x7 0x8 0x17 0x8 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1b 0xa 0x16 0x16 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x1e 0xc 0x15 0x17 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x20 0xf 0x13 0x19 0x15 0xa 0x3 0x15 0x20 0x12 0xe 0x1 0x10 0x1a 0x1 0xb 0x14 0x8 0x0 0x11 0x1f 0x14 0xd 0x1b 0x12 0x1 0x4 0x9 0x15 0x6 0x0 0xd 0x1d 0x16 0xa 0x1b 0x15 0x3 0x6 0x8 0x18 0x5 0x1 0x9 0x1c 0x16 0x6 0x19 0x17 0x5 0x7 0x8 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x4 0x14 0x9 0x2 0x1a 0x18 0x1e 0x7 0x5 0x13 0x8 0x7 0x5 0x12 0xe 0x1 0x19 0x19 0x1f 0xa 0x2 0x12 0x8 0x6 0x8 0x12 0x14 0x2 0x18 0x1a 0x20 0xc 0x0 0x10 0x9 0x5 0xa 0x12 0x19 0x4 0x15 0x1b 0x0 0xe 0x1f 0xe 0xb 0x3 0xc 0x14 0x1d 0x8 0x0 0xb 0xe 0x1 0x11 0x1b 0x1d 0x11 0xb 0x17 0x1f 0xd 0x0 0x8 0x12 0x1 0xd 0x1a 0x1b 0x12 0x8 0x18 0x1e 0x12 0x2 0x7 0x17 0x2 0xa 0x17 0x19 0x13 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x17 0x8 0x17 0x14 0x1d 0xa 0x6 0x4 0x15 0x1a 0x1 0x15 0x1b 0x9 0xb 0x5 0x1b 0xe 0x8 0x3 0xe 0x1b 0x0 0x11 0x1e 0xc 0x10 0x4 0x17 0x12 0xa 0x2 0x8 0x1a 0x1f 0xf 0x0 0xd 0x16 0x4 0x10 0x14 0xd 0x2 0x1e 0x14 0x3 0x16 0x1b 0x6 0x2 0x9 0x9 0x13 0x10 0x1 0x1a 0x18 0x1f 0xa 0x1 0x12 0x7 0x6 0x4 0xf 0x14 0x2 0x13 0x1b 0x20 0xe 0x1 0xe 0xd 0x5 0x2 0xa 0x18 0x3 0xb 0x1b 0x1f 0x13 0x4 0xa 0x12 0x5 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0x15 0x19 0x1e 0x8 0x0 0x11 0x9 0x2 0x14 0x17 0x1b 0xc 0xe 0x17 0x1f 0xb 0x0 0xb 0xf 0x1 0x10 0x1a 0x1c 0x10 0x9 0x13 0x1f 0xe 0x2 0x6 0x15 0x2 0xa 0x1a 0x1a 0x15 0x8 0xe 0x1f 0xf 0x8 0x2 0x5 0x18 0x1a 0x5 0x17 0x19 0xa 0x9 0x1e 0x12 0x0 0x14 0xe 0x1 0x11 0x1b 0x1c 0x9 0xf 0x5 0x1d 0x14 0x0 0xe 0xc 0x1b 0x13 0x2 0x1d 0xe 0x15 0x4 0x1c 0x15 0x0 0xa 0x7 0x1a 0x16 0x5 0x1b 0x11 0x1b 0x5 0x4 0x5 0x4 0x17 0x1b 0x17 0x18 0x8 0x8 0x8 0x3 0x14 0xa 0x2 0x19 0x19 0x1f 0x8 0x4 0x12 0x9 0x6 0x5 0x12 0x11 0x2 0x17 0x1a 0x20 0xc 0x1 0x10 0xa 0x5 0x7 0x11 0x17 0x3 0x14 0x1b 0x0 0xd 0x20 0xf 0xc 0x3 0xa 0x12 0x1c 0x7 0x0 0xa 0x11 0x1b 0xf 0x2 0x1e 0x11 0xb 0x14 0x1f 0xb 0x0 0x8 0x12 0x1 0xd 0x1b 0x1b 0x13 0xa 0x16 0x1f 0xf 0x2 0x6 0x15 0x1 0xa 0x19 0x19 0x14 0x7 0x17 0x1e 0x13 0x3 0x6 0x19 0x3 0x8 0x17 0x18 0x14 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x1b 0x8 0x16 0x1a 0x5 0x4 0x1 0x15 0x1a 0x9 0x17 0x15 0x1a 0xa 0x11 0x1b 0x6 0x3 0x0 0x12 0x1d 0xa 0x17 0x16 0x17 0xa 0xb 0x1a 0x7 0x2 0x0 0x10 0x1f 0xc 0x16 0x17 0x15 0xa 0x6 0x18 0xa 0x1 0x20 0xe 0x0 0xe 0x14 0x19 0x13 0x8 0x2 0x14 0x20 0x11 0xe 0x1 0x11 0x1b 0x2 0xb 0x14 0x5 0x0 0xf 0x1f 0x14 0xd 0x1b 0x12 0x2 0x4 0xa 0x17 0x4 0x1 0xa 0x1d 0x15 0x8 0x1a 0x15 0x5 0x6 0x9 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x18 0x8 0x18 0x14 0x2 0x12 0x19 0x18 0xa 0x2 0x1e 0x7 0x4 0x13 0x14 0x17 0x4 0xe 0x17 0x19 0x11 0x1 0x20 0xb 0x1 0x10 0xf 0x18 0x8 0xa 0x15 0x1a 0x17 0x2 0x20 0xf 0x0 0xd 0x9 0x18 0xf 0x8 0x12 0x1a 0x1 0x8 0x1c 0x6 0x4 0x16 0x1d 0x13 0x16 0x9 0xf 0x1b 0x5 0x4 0x0 0x12 0x1e 0xa 0x18 0x16 0x1b 0xd 0xb 0x1a 0xc 0x1 0x0 0xe 0x1e 0xe 0x12 0x17 0x1d 0x12 0x7 0x19 0x14 0x1 0x0 0x9 0x1b 0x12 0xd 0x17 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0xa 0x3 0x1 0x14 0x1f 0xb 0x16 0x1a 0xb 0x5 0x4 0x10 0x11 0x5 0x0 0x11 0x20 0x11 0x10 0x1b 0xf 0x2 0x3 0xc 0x16 0x9 0x0 0xe 0x1d 0x16 0xa 0x1a 0x15 0x2 0x5 0x7 0x17 0xe 0x0 0xd 0x17 0x1a 0x1a 0x4 0x5 0x17 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x11 0x1b 0x3 0x13 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xc 0x1a 0x2 0xe 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 0x9 0x17 0x4 0xb | |
: D7 | |
0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x15 0xa 0x3 0x15 0xe 0x1 0x1 0xb 0x14 0x8 0x0 0x11 0x12 0x1 0x14 0x12 0x15 0x6 0x0 0xd 0x13 0x14 0x15 0x3 0x18 0x5 0x1 0x9 0x11 0x15 0x17 0x5 0x1b 0x5 0x4 0x5 0x10 0x15 0x17 0x8 0x9 0x2 0x1e 0x7 0xe 0x15 0x8 0x7 0xe 0x1 0x1f 0xa 0xc 0x15 0x8 0x6 0x14 0x2 0xb 0x14 0x20 0xc 0x9 0x5 0x19 0x4 0xa 0x14 0x1f 0xe 0xb 0x3 0x1d 0x8 0x8 0x13 0xe 0x1 0x1d 0x11 0x1f 0xd 0x12 0x1 0x7 0x11 0x1b 0x12 0x1e 0x12 0x17 0x2 0x6 0x10 0x19 0x13 0x1b 0x17 0x1b 0x5 0x6 0xe 0x17 0x8 0x1d 0xa 0x15 0x1a 0x7 0xc 0x1b 0x9 0x1b 0xe 0xe 0x1b 0x8 0xa 0x1e 0xc 0x17 0x12 0x8 0x1a 0x1f 0xf 0xb 0x8 0x10 0x14 0x1e 0x14 0x3 0x16 0xf 0x7 0x9 0x13 0x1a 0x18 0x1 0x12 0x12 0x8 0x4 0xf 0x13 0x1b 0x15 0x9 0x1 0xe 0x2 0xa 0xb 0x1b 0x18 0xb 0x4 0xa 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0x0 0x11 0x9 0x2 0x18 0x10 0x6 0x12 0x0 0xb 0xf 0x1 0x16 0x13 0x5 0x10 0x2 0x6 0x14 0x14 0x15 0x2 0x5 0xe 0x11 0x14 0x8 0x2 0x1a 0x5 0x5 0xd 0xe 0x13 0xe 0x1 0x1c 0x9 0x6 0xc 0xd 0x11 0x13 0x2 0x1d 0xe 0x6 0xa 0xe 0xf 0x16 0x5 0x1b 0x11 0x7 0x9 0x10 0xe 0x18 0x8 0x8 0x8 0x8 0x14 0x12 0xe 0x4 0x12 0x9 0x6 0x13 0x16 0x14 0xe 0x1 0x10 0xa 0x5 0xf 0x16 0x16 0x10 0x0 0xd 0xc 0x3 0xa 0x15 0x16 0x12 0x0 0xa 0xf 0x2 0x7 0x13 0x0 0x8 0x15 0x13 0x12 0x1 0x5 0x10 0x2 0x6 0x15 0x1 0x13 0x15 0x5 0xe 0x3 0x6 0x19 0x3 0x11 0x15 0x5 0xb 0x1b 0x5 0x4 0x5 0xf 0x15 0x17 0x8 0x1b 0x8 0x5 0x4 0xe 0x15 0x1a 0x9 0x1a 0xa 0x6 0x3 0xc 0x14 0x1d 0xa 0x17 0xa 0x7 0x2 0x1f 0xc 0xb 0x14 0x15 0xa 0xa 0x1 0x20 0xe 0xa 0x13 0x13 0x8 0x20 0x11 0xe 0x1 0x9 0x12 0x14 0x5 0x1f 0x14 0x8 0x11 0x12 0x2 0x17 0x4 0x1d 0x15 0x7 0x10 0x15 0x5 0x1b 0x17 0x1b 0x5 0x6 0xe 0x18 0x8 0x19 0x18 0x1e 0x7 0x7 0xc 0x14 0x17 0x17 0x19 0x20 0xb 0x8 0xa 0xf 0x18 0x15 0x1a 0xb 0x8 0x20 0xf 0x9 0x18 0x12 0x1a 0xe 0x7 0x4 0x16 0x1d 0x13 0xf 0x1b 0x12 0x7 0x0 0x12 0x18 0x16 0xb 0x1a 0x0 0xe 0x16 0x9 0x12 0x17 0x7 0x19 0x0 0x9 0x18 0xb 0xd 0x17 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0xa 0x3 0x1 0x14 0x18 0x10 0xb 0x5 0x11 0x5 0x0 0x11 0x16 0x12 0xf 0x2 0x16 0x9 0x0 0xe 0x15 0x2 0x13 0x13 0x17 0xe 0x0 0xd 0x1a 0x4 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 | |
: D8 | |
0x10 0xe 0x6 0x7 0x19 0x7 0x19 0x15 0xd 0xe 0x1b 0x9 0x16 0x17 0x9 0x5 0xb 0xe 0x1c 0xc 0x12 0x18 0xd 0x4 0x1c 0xe 0x9 0xc 0xe 0x19 0x11 0x4 0x1b 0xe 0x9 0xa 0xb 0x18 0x14 0x5 0x1a 0xe 0x7 0x16 0xa 0x9 0x14 0x12 0x1a 0xe 0x5 0x14 0xc 0x7 0x13 0x14 0x1a 0xe 0x4 0x11 0xe 0x7 0x11 0x15 0x1b 0xe 0x4 0xe 0x10 0x15 0x10 0x7 0x6 0xc 0x1c 0xf 0xe 0x15 0x11 0x7 0xa 0xa 0x1d 0x10 0xc 0x15 0x13 0x8 0xe 0xa 0x1c 0x12 0xb 0x14 0x14 0x8 0x12 0xb 0xa 0x14 0x1a 0x14 0x5 0x8 0x15 0xe 0x7 0x6 0x8 0x13 0x17 0x16 0x15 0x11 0xa 0x4 0x7 0x11 0x17 0xb 0x13 0x15 0xd 0x4 0x6 0x10 0x18 0xc 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0x11 0x7 0xb 0x17 0x18 0x10 0x7 0xc 0x11 0x9 0x6 0x16 0x17 0x12 0x8 0xa 0x10 0xa 0x3 0x13 0x14 0x14 0x1a 0xa 0xe 0xb 0x11 0x15 0x1d 0xd 0x3 0xf 0xd 0xa 0x1d 0x10 0xd 0x15 0x12 0x8 0xc 0x8 0x1a 0x14 0x9 0x13 0x15 0x9 0xd 0x6 0x15 0x17 0x7 0x11 0x18 0xb 0x10 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0xa 0x15 0x13 0x5 0x18 0x10 0x7 0xc 0x6 0x10 0x17 0x5 0x16 0x13 0x9 0xa 0x5 0xc 0x1a 0x7 0x14 0x14 0xc 0x9 0x8 0x7 0x11 0x14 0x1c 0xa 0x5 0x11 0xc 0x4 0xe 0x13 0x1d 0xd 0x4 0xf 0xd 0x11 0x11 0x3 0x1d 0x10 0x3 0xd 0xe 0xf 0x16 0x4 0x1b 0x13 0x4 0x9 0x10 0xe 0x19 0x7 0x6 0x7 0x6 0x15 0x12 0xe 0x4 0x13 0x9 0x5 0x16 0x17 0x14 0xe 0x3 0x10 0xd 0x4 0x12 0x18 0x3 0xe 0x16 0x10 0x11 0x3 0xe 0x18 0x4 0xe 0x16 0x12 0x14 0x4 0xb 0x17 0x5 0xe 0x18 0x6 0x15 0x13 0xb 0xa 0x5 0xe 0x1a 0x8 0x13 0x15 0xc 0x8 0x5 0xe 0x1b 0xb 0x11 0x15 0xe 0x7 0x1b 0xe 0x4 0xe 0xf 0x15 0xf 0x7 0x19 0x10 0x3 0xd 0x11 0x7 0xe 0x15 0x15 0x12 0x2 0xc 0x13 0x7 0xc 0x14 0x11 0x12 0x3 0xa 0x14 0x8 0xb 0x14 0xd 0x11 0x15 0x8 0x5 0x8 0x1a 0x14 0xa 0xe 0x18 0x16 0x17 0x9 0x8 0x6 0xa 0xb 0x15 0x18 0x18 0xb 0x8 0x11 0xc 0x7 0x12 0x18 0x19 0xc 0x7 0x10 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0xe 0x15 0x14 0x5 0x7 0xc 0x18 0x10 0xe 0x13 0x19 0x6 0x8 0xa 0x17 0x12 0xf 0x12 0x1c 0x9 0xb 0x8 0x5 0x12 0x11 0x11 0xe 0x7 0x2 0xf 0x1c 0xd 0x12 0x12 0x2 0xc 0x12 0x7 0xd 0x14 0x13 0x14 0x5 0x8 0x16 0x9 0xa 0x13 0x12 0x16 0xa 0x5 0x18 0xb 0x7 0x11 0xf 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0x15 0x7 0xc 0x17 0x7 0xc 0x18 0x10 0x19 0xc 0x8 0x17 0x9 0x9 0x16 0x12 0x1a 0x10 0x5 0x15 0xb 0x8 0x13 0x13 0x17 0x15 0xe 0x8 0x3 0x12 0x1a 0xb 0x13 0x18 0x11 0x9 0x2 0xf 0x1b 0xd 0x12 0xb 0xe 0x19 0x2 0xc 0x1c 0xf 0x11 0xd 0x9 0x18 0x4 0x9 0x1b 0x13 | |
: D9 | |
0x10 0x10 0xc 0x14 0x7 0x17 0x4 0x1a 0x3 0x1c 0x3 0x1d 0x5 0x1d 0x8 0x1b 0xc 0x19 0x10 0x16 0x14 0x13 0x17 0x10 0x1a 0xd 0x1b 0xa 0x1b 0x8 0x19 0x6 0x17 0x5 0x13 0x6 0x10 0x7 0xd 0x8 0xa 0xb 0x7 0xe 0x6 0x10 0x6 0x12 0x8 0x15 0xa 0x17 0xd 0x18 0x10 0x19 0x13 0x19 0x16 0x18 0x18 0x17 0x19 0x14 0x10 0x19 0xf 0x17 0xd 0x17 0xa 0x19 0x6 0x1a 0x6 0x16 0x9 0x13 0x9 0x11 0x7 0x10 0x3 0xe 0x3 0xb 0x8 0xb 0xb 0xb 0xc 0xa 0xc 0x6 0xe 0x2 0x10 0x4 0x11 0x8 0x12 0xa 0x14 0x9 0x19 0x7 0x1b 0x9 0x19 0xd 0x17 0xf 0x17 0x10 0x1a 0x12 0x1d 0x15 0x1a 0x16 0x15 0x15 0x14 0x16 0x13 0x18 0x12 0x1d 0x10 0x19 0xe 0x17 0xd 0x17 0xb 0x17 0x8 0x17 0x5 0x19 0x2 0x19 0x3 0x17 0x8 0x14 0xb 0x12 0xe 0x11 0x10 0x10 0x11 0x10 0x14 0xe 0x19 0xb 0x1c 0x9 0x1c 0x9 0x19 0x9 0x17 0xa 0x16 0xa 0x14 0x9 0x13 0x7 0x11 0x4 0xf 0x2 0xb 0x3 0x9 0x6 0x9 0x9 0x9 0xa 0x9 0xb 0x8 0xb 0x7 0xb 0x7 0xb 0x10 0x19 0x13 0x18 0x15 0x17 0x16 0x16 0x18 0x15 0x18 0x15 0x18 0x14 0x15 0x12 0x10 0x10 0xb 0xe 0x9 0xc 0x8 0xc 0x9 0xb 0xa 0xa 0xb 0x9 0xd 0x8 0x10 0x6 0x14 0x4 0x1a 0x3 0x1d 0x4 0x1c 0x8 0x19 0xb 0x15 0xd 0x12 0xf 0x10 0x10 0xd 0x11 0xa 0x13 0x6 0x16 0x3 0x19 0x3 0x1c 0x7 0x1c 0xc 0x1a | |
###################################################################### | |
# INPUT: chip8/Chip-8 Demos/Zero Demo [zeroZshadow, 2007].ch8 | |
###################################################################### | |
:proto D1 # 278 | |
:proto D2 # 27E | |
:proto D3 # 284 | |
:proto D4 # 28A | |
: main | |
v0 := 10 | |
v5 := 5 | |
v6 := 10 | |
v7 := 15 | |
v8 := 20 | |
v1 := 1 | |
v2 := 1 | |
v3 := 1 | |
v4 := 1 | |
v0 := 10 | |
i := D1 | |
sprite v0 v5 6 | |
v0 += 10 | |
i := D2 | |
sprite v0 v6 6 | |
v0 += 10 | |
i := D3 | |
sprite v0 v7 6 | |
v0 += 10 | |
i := D4 | |
sprite v0 v8 6 | |
loop | |
vA := 3 | |
delay := vA | |
v0 := 10 | |
i := D1 | |
sprite v0 v5 6 | |
if v5 == 20 then v1 := -1 | |
if v5 == 1 then v1 := 1 | |
v5 += v1 | |
sprite v0 v5 6 | |
v0 += 10 | |
i := D2 | |
sprite v0 v6 6 | |
if v6 == 20 then v2 := -1 | |
if v6 == 1 then v2 := 1 | |
v6 += v2 | |
sprite v0 v6 6 | |
v0 += 10 | |
i := D3 | |
sprite v0 v7 6 | |
if v7 == 20 then v3 := -1 | |
if v7 == 1 then v3 := 1 | |
v7 += v3 | |
sprite v0 v7 6 | |
v0 += 10 | |
i := D4 | |
sprite v0 v8 6 | |
if v8 == 20 then v4 := -1 | |
if v8 == 1 then v4 := 1 | |
v8 += v4 | |
sprite v0 v8 6 | |
again | |
: D1 | |
0xff 0x3 0xc 0x30 0xc0 0xff | |
: D2 | |
0xff 0xc0 0xc0 0xfc 0xc0 0xff | |
: D3 | |
0xf0 0xcc 0xcc 0xf0 0xcc 0xc3 | |
: D4 | |
0x3c 0xc3 0xc3 0xc3 0xc3 0x3c | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/15 Puzzle [Roger Ivie] (alt).ch8 | |
###################################################################### | |
:proto L3 # 234 | |
:proto Sub2 # 246 | |
:proto Sub3 # 25E | |
:proto Sub4 # 276 | |
:proto Sub5 # 28E | |
:proto Sub6 # 2A6 | |
:proto Sub7 # 2BE | |
:proto L4 # 2D2 | |
:proto Sub8 # 2D8 | |
:proto D2 # 2E8 | |
:proto D3 # 2F8 | |
: main | |
clear | |
0x6c : D1 0x0 # SMC: vC := 0 | |
if vC == 0 then vE := 15 | |
i := D1 | |
v0 := 32 | |
save v0 | |
clear | |
loop | |
Sub7 | |
Sub4 | |
Sub5 | |
Sub3 | |
Sub2 | |
again | |
: Sub1 | |
v1 := 0 | |
v2 := 23 | |
v3 := 4 | |
: L2 | |
loop | |
if v1 == 16 then return | |
i := D2 | |
i += v1 | |
load v0 | |
if v0 == 0 then jump L3 | |
i := hex v0 | |
sprite v2 v3 5 | |
: L3 | |
v1 += 1 | |
v2 += 5 | |
v4 := 3 | |
v4 &= v1 | |
if v4 != 0 then jump L2 | |
v2 := 23 | |
v3 += 6 | |
again | |
: Sub2 | |
loop | |
v4 := 3 | |
v4 &= vE | |
v5 := 3 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 3 then return | |
v4 := 1 | |
v4 += vE | |
Sub6 | |
again | |
: Sub3 | |
loop | |
v4 := 3 | |
v4 &= vE | |
v5 := 3 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 0 then return | |
v4 := -1 | |
v4 += vE | |
Sub6 | |
again | |
: Sub4 | |
loop | |
v4 := 12 | |
v4 &= vE | |
v5 := 12 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 0 then return | |
v4 := -4 | |
v4 += vE | |
Sub6 | |
again | |
: Sub5 | |
loop | |
v4 := 12 | |
v4 &= vE | |
v5 := 12 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 12 then return | |
v4 := 4 | |
v4 += vE | |
Sub6 | |
again | |
: Sub6 | |
i := D2 | |
i += v4 | |
load v0 | |
i := D2 | |
i += vE | |
save v0 | |
v0 := 0 | |
i := D2 | |
i += v4 | |
save v0 | |
vE := v4 | |
return | |
: Sub7 | |
if vC != 0 then jump L4 | |
Sub1 | |
Sub8 | |
Sub1 | |
i := D3 | |
i += vD | |
load v0 | |
vD := v0 | |
return | |
: L4 | |
vC += -1 | |
vD := random 0b1111 | |
return | |
: Sub8 | |
loop | |
vD += 1 | |
v0 := 15 | |
vD &= v0 | |
if vD -key then | |
again | |
loop | |
if vD key then | |
again | |
return | |
: D2 | |
0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x0 | |
: D3 | |
0xd 0x0 0x1 0x2 0x4 0x5 0x6 0x8 0x9 0xa 0xc 0xe 0x3 0x7 0xb 0xf | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/15 Puzzle [Roger Ivie].ch8 | |
###################################################################### | |
:proto L3 # 234 | |
:proto Sub2 # 246 | |
:proto Sub3 # 25E | |
:proto Sub4 # 276 | |
:proto Sub5 # 28E | |
:proto Sub6 # 2A6 | |
:proto Sub7 # 2BE | |
:proto L4 # 2D2 | |
:proto Sub8 # 2D8 | |
:proto D2 # 2E8 | |
:proto D3 # 2F8 | |
: main | |
clear | |
0x6c : D1 0x0 # SMC: vC := 0 | |
if vC == 0 then vE := 15 | |
i := D1 | |
v0 := 32 | |
save v0 | |
clear | |
loop | |
Sub7 | |
Sub4 | |
Sub5 | |
Sub3 | |
Sub2 | |
again | |
: Sub1 | |
v1 := 0 | |
v2 := 23 | |
v3 := 4 | |
: L2 | |
loop | |
if v1 == 16 then return | |
i := D2 | |
i += v1 | |
load v0 | |
if v0 == 0 then jump L3 | |
i := hex v0 | |
sprite v2 v3 5 | |
: L3 | |
v1 += 1 | |
v2 += 5 | |
v4 := 3 | |
v4 &= v1 | |
if v4 != 0 then jump L2 | |
v2 := 23 | |
v3 += 6 | |
again | |
: Sub2 | |
loop | |
v4 := 3 | |
v4 &= vE | |
v5 := 3 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 3 then return | |
v4 := 1 | |
v4 += vE | |
Sub6 | |
again | |
: Sub3 | |
loop | |
v4 := 3 | |
v4 &= vE | |
v5 := 3 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 0 then return | |
v4 := -1 | |
v4 += vE | |
Sub6 | |
again | |
: Sub4 | |
loop | |
v4 := 12 | |
v4 &= vE | |
v5 := 12 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 0 then return | |
v4 := -4 | |
v4 += vE | |
Sub6 | |
again | |
: Sub5 | |
loop | |
v4 := 12 | |
v4 &= vE | |
v5 := 12 | |
v5 &= vD | |
if v4 == v5 then return | |
if v4 == 12 then return | |
v4 := 4 | |
v4 += vE | |
Sub6 | |
again | |
: Sub6 | |
i := D2 | |
i += v4 | |
load v0 | |
i := D2 | |
i += vE | |
save v0 | |
v0 := 0 | |
i := D2 | |
i += v4 | |
save v0 | |
vE := v4 | |
return | |
: Sub7 | |
if vC != 0 then jump L4 | |
Sub1 | |
Sub8 | |
Sub1 | |
i := D3 | |
i += vD | |
load v0 | |
vD := v0 | |
return | |
: L4 | |
vC += -1 | |
vD := random 0b1111 | |
return | |
: Sub8 | |
loop | |
vD += 1 | |
v0 := 15 | |
vD &= v0 | |
if vD -key then | |
again | |
loop | |
if vD key then | |
again | |
return | |
: D2 | |
0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x0 | |
: D3 | |
0xd 0x0 0x1 0x2 0x4 0x5 0x6 0x8 0x9 0xa 0xc 0xe 0x3 0x7 0xb 0xf 0x84 0xe4 0x22 0xa6 0x12 0x76 0x64 0xc 0x84 0xe2 0x65 0xc 0x85 0xd2 0x94 0x50 0x0 0xee 0x44 0xc 0x0 0xee 0x64 0x4 0x84 0xe4 0x22 0xa6 0x12 0x8e 0xa2 0xe8 0xf4 0x1e 0xf0 0x65 0xa2 0xe8 0xfe 0x1e 0xf0 0x55 0x60 0x0 0xa2 0xe8 0xf4 0x1e 0xf0 0x55 0x8e 0x40 0x0 0xee 0x3c 0x0 0x12 0xd2 0x22 0x1c 0x22 0xd8 0x22 0x1c 0xa2 0xf8 0xfd 0x1e 0xf0 0x65 0x8d 0x0 0x0 0xee 0x7c 0xff 0xcd 0xf 0x0 0xee 0x7d 0x1 0x60 0xf 0x8d 0x2 0xed 0x9e 0x12 0xd8 0xed 0xa1 0x12 0xe2 0x0 0xee 0x1 0x2 0x3 0x4 0x5 0x6 0x7 0x8 0x9 0xa 0xb 0xc 0xd 0xe 0xf 0x0 0xd 0x0 0x1 0x2 0x4 0x5 0x6 0x8 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Addition Problems [Paul C. Moews].ch8 | |
###################################################################### | |
:proto L1 # 262 | |
:proto L2 # 26A | |
:proto Sub1 # 276 | |
:proto D1 # 288 | |
:proto D2 # 28E | |
:proto D3 # 292 | |
:proto D4 # 2A2 | |
:proto D5 # 2A5 | |
: main | |
loop | |
clear | |
vD := random 0b1111111 | |
vE := random 0b1111111 | |
vC := vD | |
vC += vE | |
i := D4 | |
vA := 0 | |
vB := 0 | |
bcd vD | |
load v2 | |
Sub1 | |
i := D1 | |
vA += 7 | |
sprite vA vB 5 | |
i := D4 | |
vA += 8 | |
bcd vE | |
load v2 | |
Sub1 | |
i := D2 | |
vA += 7 | |
sprite vA vB 4 | |
i := D3 | |
vA := 24 | |
vB := 8 | |
sprite vA vB 15 | |
v0 := key | |
v1 := key | |
v2 := key | |
sprite vA vB 15 | |
vA := 21 | |
Sub1 | |
i := D5 | |
save v2 | |
i := D4 | |
bcd vC | |
load v5 | |
v3 -= v0 | |
if v3 != 0 then jump L1 | |
v4 -= v1 | |
if v4 != 0 then jump L1 | |
v5 -= v2 | |
if v5 != 0 then jump L1 | |
v6 := 12 | |
buzzer := v6 | |
jump L2 | |
: L1 | |
vA := 21 | |
vB := 16 | |
Sub1 | |
v6 := 14 | |
: L2 | |
vA := 38 | |
vB := 8 | |
i := hex v6 | |
sprite vA vB 5 | |
v0 := key | |
again | |
: Sub1 | |
i := hex v0 | |
sprite vA vB 5 | |
vA += 5 | |
i := hex v1 | |
sprite vA vB 5 | |
vA += 5 | |
i := hex v2 | |
sprite vA vB 5 | |
return | |
: D1 | |
0x20 0x20 0xf8 0x20 0x20 0x0 | |
: D2 | |
0x0 0xff 0x0 0xff | |
: D3 | |
0xff 0xff 0x3 0x3 0x3 0xff 0xff 0xc0 0xc0 0xc0 0xc0 0xc0 0x0 0xc0 0xc0 0x0 | |
: D4 | |
0x0 0x0 0x0 | |
: D5 | |
0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Airplane.ch8 | |
###################################################################### | |
:proto L4 # 23E | |
:proto Sub1 # 242 | |
:proto Sub2 # 26C | |
:proto Sub3 # 27A | |
:proto Sub4 # 288 | |
:proto Sub5 # 296 | |
:proto Sub6 # 2A4 | |
:proto Sub7 # 2B2 | |
:proto L5 # 2E4 | |
:proto L6 # 2F4 | |
:proto L7 # 308 | |
:proto Sub8 # 30A | |
:proto Sub9 # 320 | |
:proto Sub10 # 326 | |
:proto D1 # 354 | |
:proto D2 # 356 | |
:proto D3 # 357 | |
:proto D4 # 359 | |
:proto D5 # 35B | |
:proto D6 # 35F | |
:proto D7 # 360 | |
:proto D8 # 361 | |
:proto D9 # 362 | |
: main | |
vA := 0 | |
vB := 4 | |
vC := 1 | |
vD := 0 | |
vE := 2 | |
: L1 | |
Sub10 | |
Sub9 | |
v0 := 48 | |
v1 := 1 | |
delay := v0 | |
loop | |
v0 := delay | |
buzzer := v1 | |
if v0 != 0 then | |
again | |
Sub1 | |
loop | |
Sub9 | |
vD += 1 | |
Sub9 | |
v0 := 8 | |
if v0 key then Sub8 | |
if vA == 0 then jump L4 | |
i := D9 | |
sprite v8 v9 1 | |
v9 += 1 | |
sprite v8 v9 1 | |
if vF == 1 then jump L6 | |
if v9 == 24 then jump L5 | |
: L4 | |
Sub7 | |
again | |
: Sub1 | |
if vC == 1 then Sub2 | |
if vC == 2 then Sub3 | |
if vC == 3 then Sub4 | |
if vC == 4 then Sub5 | |
if vC == 5 then Sub6 | |
i := D4 | |
sprite v6 v7 2 | |
if v4 == 0 then return | |
i := D3 | |
sprite v4 v5 2 | |
if v2 == 0 then return | |
i := D5 | |
sprite v2 v3 2 | |
return | |
: Sub2 | |
v6 := 40 | |
v7 := 9 | |
v4 := 0 | |
v5 := 0 | |
v2 := 0 | |
v3 := 0 | |
return | |
: Sub3 | |
v6 := 40 | |
v7 := 14 | |
v4 := 40 | |
v5 := 20 | |
v2 := 0 | |
v3 := 0 | |
return | |
: Sub4 | |
v6 := 40 | |
v7 := 7 | |
v4 := 40 | |
v5 := 12 | |
v2 := 22 | |
v3 := 17 | |
return | |
: Sub5 | |
v6 := 40 | |
v7 := 7 | |
v4 := 40 | |
v5 := 14 | |
v2 := 22 | |
v3 := 20 | |
return | |
: Sub6 | |
v6 := 40 | |
v7 := 5 | |
v4 := 40 | |
v5 := 16 | |
v2 := 22 | |
v3 := 11 | |
return | |
: Sub7 | |
i := D4 | |
sprite v6 v7 2 | |
v6 += -2 | |
sprite v6 v7 2 | |
if v4 == 0 then return | |
i := D3 | |
sprite v4 v5 2 | |
v4 += 2 | |
if v4 == 68 then v4 += 192 | |
sprite v4 v5 2 | |
if v2 == 0 then return | |
i := D5 | |
sprite v2 v3 2 | |
v2 += 2 | |
if vC == 4 then v2 += 2 | |
if vC == 5 then v2 += 2 | |
if v2 == 68 then v2 += 192 | |
sprite v2 v3 2 | |
return | |
: L5 | |
vC += 1 | |
vD := 0 | |
vE := 2 | |
clear | |
if vC == 6 then vC := 1 | |
vA := 0 | |
jump L1 | |
: L6 | |
v0 := 6 | |
buzzer := v0 | |
vB += -1 | |
if vB == 0 then jump L7 | |
vD := 0 | |
vE := 2 | |
clear | |
vA := 0 | |
jump L1 | |
: L7 | |
loop | |
again | |
: Sub8 | |
if vA == 1 then return | |
v0 := 2 | |
buzzer := v0 | |
vA := 1 | |
v8 := vD | |
v8 += 1 | |
v9 := vE | |
v9 += 1 | |
sprite v8 v9 1 | |
return | |
: Sub9 | |
i := D1 | |
sprite vD vE 2 | |
return | |
: Sub10 | |
v4 := 25 | |
v3 := 0 | |
i := D2 | |
loop | |
sprite v3 v4 1 | |
v3 += 8 | |
if v3 != 64 then | |
again | |
v3 := 30 | |
v4 := 27 | |
i := hex vC | |
sprite v3 v4 5 | |
if vB == 4 then i := D6 | |
if vB == 3 then i := D7 | |
if vB == 2 then i := D8 | |
if vB == 1 then i := D9 | |
v3 := 1 | |
v4 += 2 | |
sprite v3 v4 1 | |
return | |
: D1 | |
0x80 0xf8 | |
: D2 | |
0xff | |
: D3 | |
0x80 0xe0 | |
: D4 | |
0x10 0x70 | |
: D5 | |
0x88 0xee 0x11 0x77 | |
: D6 | |
0xaa | |
: D7 | |
0xa8 | |
: D8 | |
0xa0 | |
: D9 | |
0x80 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Animal Race [Brian Astle].ch8 | |
###################################################################### | |
:proto L4 # 288 | |
:proto L5 # 28C | |
:proto L6 # 292 | |
:proto L9 # 2B8 | |
:proto L13 # 2F6 | |
:proto L19 # 35A | |
:proto L20 # 372 | |
:proto L21 # 380 | |
:proto L23 # 3C0 | |
:proto L25 # 3E4 | |
:proto L26 # 3EE | |
:proto L29 # 40C | |
:proto L34 # 436 | |
:proto Sub1 # 44A | |
:proto Sub2 # 458 | |
:proto Sub3 # 466 | |
:proto Sub4 # 480 | |
:proto Sub5 # 482 | |
:proto Sub6 # 484 | |
:proto Sub7 # 486 | |
:proto Sub8 # 490 | |
:proto Sub9 # 492 | |
:proto Sub10 # 494 | |
:proto Sub11 # 496 | |
:proto Sub12 # 4A0 | |
:proto Sub13 # 4B2 | |
:proto Sub14 # 4C0 | |
:proto D1 # 4D6 | |
:proto D2 # 4D8 | |
:proto D3 # 500 | |
:proto D4 # 525 | |
:proto D5 # 5B5 | |
:proto D6 # 5E2 | |
:proto D7 # 5F6 | |
:proto D8 # 5FD | |
:proto D9 # 600 | |
:proto D10 # 680 | |
:proto D11 # 68A | |
:proto D12 # 694 | |
:proto D13 # 69E | |
:proto D14 # 6A0 | |
:proto D15 # 6A5 | |
: main | |
vD := 10 | |
vE := 2 | |
v8 := 14 | |
v9 := 11 | |
i := D5 | |
Sub5 | |
v8 := 44 | |
Sub6 | |
v8 := 29 | |
v9 := 24 | |
Sub6 | |
vB := 0 | |
vC := 35 | |
loop | |
Sub2 | |
Sub14 | |
v8 := 33 | |
v9 := 0 | |
i := D2 | |
i += vB | |
sprite v8 v9 4 | |
buzzer := vE | |
vB += 4 | |
if vB == 28 then vB := 4 | |
vC += -1 | |
Sub14 | |
if vC != 0 then | |
again | |
: L2 | |
clear | |
buzzer := v9 | |
Sub2 | |
Sub14 | |
vA := 0 | |
vB := 10 | |
loop | |
i := D9 | |
i += vA | |
load v7 | |
v2 := 12 | |
v4 += 1 | |
i := hex vB | |
sprite v2 v4 5 | |
v2 := 19 | |
i := hex v3 | |
sprite v2 v4 5 | |
v2 := 23 | |
i := D14 | |
sprite v2 v4 5 | |
vA += 8 | |
vB += 1 | |
if vA != 40 then | |
again | |
v8 := 32 | |
v9 := 2 | |
i := D6 | |
Sub4 | |
v2 := 38 | |
v3 := 8 | |
sprite v2 v3 7 | |
i := D8 | |
bcd vD | |
load v2 | |
v3 := 44 | |
v4 := 9 | |
if v0 == 0 then jump L4 | |
i := hex v0 | |
sprite v3 v4 5 | |
jump L5 | |
: L4 | |
if v1 == 0 then jump L6 | |
: L5 | |
i := hex v1 | |
v3 := 49 | |
sprite v3 v4 5 | |
: L6 | |
i := hex v2 | |
v3 := 54 | |
sprite v3 v4 5 | |
i := D10 | |
v8 := 36 | |
v9 := 17 | |
Sub6 | |
v8 := 54 | |
i := D15 | |
: L7 | |
sprite v8 v9 5 | |
vF := 10 | |
delay := vF | |
loop | |
Sub1 | |
if v0 != 16 then jump L9 | |
vF := delay | |
if vF != 0 then | |
again | |
jump L7 | |
: L9 | |
buzzer := vE | |
vC := v0 | |
vA := 9 | |
vA -= vC | |
if vF == 1 then jump L7 | |
if vC == 15 then jump L7 | |
loop | |
sprite v8 v9 5 | |
if vF == 0 then | |
again | |
i := hex vC | |
sprite v8 v9 5 | |
Sub12 | |
i := D7 | |
v3 := 44 | |
v4 := 23 | |
sprite v3 v4 7 | |
v3 := 54 | |
v4 := 24 | |
i := D15 | |
: L11 | |
sprite v3 v4 5 | |
vF := 10 | |
delay := vF | |
loop | |
Sub1 | |
if v0 != 16 then jump L13 | |
vF := delay | |
if vF != 0 then | |
again | |
jump L11 | |
: L13 | |
buzzer := vE | |
vB := v0 | |
vA := vD | |
vA -= vB | |
if vF == 0 then jump L11 | |
if vB == 0 then jump L11 | |
vA := 9 | |
vA -= vB | |
if vF == 0 then jump L11 | |
loop | |
sprite v3 v4 5 | |
if vF == 0 then | |
again | |
i := hex vB | |
sprite v3 v4 5 | |
Sub10 | |
clear | |
Sub14 | |
Sub12 | |
i := D1 | |
v0 := 56 | |
v1 := 0 | |
loop | |
sprite v0 v1 1 | |
v1 += 1 | |
if v1 != 32 then | |
again | |
v0 := 30 | |
v1 := 15 | |
vA := 3 | |
loop | |
i := hex vA | |
sprite v0 v1 5 | |
buzzer := vE | |
Sub10 | |
vA += -1 | |
sprite v0 v1 5 | |
if vA != 0 then | |
again | |
: L17 | |
vA := 0 | |
loop | |
i := D9 | |
i += vA | |
load v6 | |
i := D9 | |
i += vA | |
v0 += -1 | |
if v0 == 0 then jump L19 | |
save v0 | |
jump L20 | |
: L19 | |
v0 := random 0b1 | |
v0 += 2 | |
if v1 == v5 then v1 -= v6 | |
v1 += 6 | |
v2 += 1 | |
save v2 | |
i := D3 | |
i += v1 | |
sprite v2 v4 6 | |
if v2 == 56 then jump L21 | |
: L20 | |
vA += 8 | |
if vA == 24 then buzzer := vE | |
if vA != 40 then | |
again | |
buzzer := vE | |
jump L17 | |
: L21 | |
buzzer := v2 | |
v8 := 6 | |
v9 := 8 | |
i := D6 | |
Sub6 | |
v7 >>= vA | |
v7 >>= v7 | |
v7 >>= v7 | |
v7 += 10 | |
if v7 == vC then jump L23 | |
i := D12 | |
Sub6 | |
Sub13 | |
i := hex vB | |
vD -= vB | |
sprite v8 v9 5 | |
if vD != 0 then jump L26 | |
Sub8 | |
sprite v8 v9 5 | |
Sub13 | |
i := D4 | |
v8 := 8 | |
v9 := 3 | |
loop | |
sprite v8 v9 5 | |
vF := 16 | |
Sub11 | |
sprite v8 v9 5 | |
v9 ^= vF | |
again | |
0x0 0xee | |
: L23 | |
i := D11 | |
Sub6 | |
Sub13 | |
i := D9 | |
i += vA | |
load v6 | |
v7 := 0 | |
loop | |
v7 += vB | |
v3 += -1 | |
if v3 != 0 then | |
again | |
i := D8 | |
bcd v7 | |
load v2 | |
if v1 == 0 then jump L25 | |
i := hex v1 | |
Sub7 | |
: L25 | |
i := hex v2 | |
sprite v8 v9 5 | |
vD += v7 | |
if vF == 1 then jump L29 | |
: L26 | |
i := D9 | |
i += vA | |
load v6 | |
i := D3 | |
i += v1 | |
: L27 | |
sprite v2 v4 5 | |
vF := 24 | |
delay := vF | |
loop | |
vF := delay | |
Sub1 | |
if v0 != 16 then jump L2 | |
if vF != 0 then | |
again | |
jump L27 | |
: L29 | |
Sub8 | |
: L30 | |
clear | |
v4 := 14 | |
: L31 | |
v2 := 0 | |
v1 := 64 | |
: L32 | |
i := D6 | |
v8 := 6 | |
v9 := 8 | |
Sub6 | |
i := D11 | |
Sub6 | |
loop | |
i := D9 | |
i += v1 | |
sprite v2 v4 8 | |
v2 += 1 | |
if v2 != 64 then jump L34 | |
v4 += 9 | |
if v4 != 32 then jump L31 | |
jump L30 | |
: L34 | |
v1 += 8 | |
if v1 == 120 then v1 := 72 | |
vD := 7 | |
vD &= v2 | |
if vD == 0 then jump L32 | |
vF := 4 | |
Sub11 | |
again | |
: Sub1 | |
v0 := 0 | |
loop | |
if v0 key then return | |
v0 += 1 | |
if v0 == 16 then return | |
again | |
: Sub2 | |
i := D9 | |
v1 := 0 | |
v6 := 4 | |
Sub3 | |
Sub3 | |
Sub3 | |
Sub3 | |
: Sub3 | |
v0 := random 0b1 | |
v0 += 1 | |
v2 := random 0b11 | |
v7 <<= v2 | |
v3 := 6 | |
v3 -= v7 | |
v7 := random 0b1 | |
v3 += v7 | |
v3 += v0 | |
save v3 | |
v1 += 36 | |
i += v6 | |
return | |
: Sub4 | |
Sub7 | |
: Sub5 | |
Sub7 | |
: Sub6 | |
Sub7 | |
: Sub7 | |
sprite v8 v9 5 | |
vF := 5 | |
i += vF | |
v8 += 8 | |
return | |
: Sub8 | |
Sub9 | |
: Sub9 | |
Sub10 | |
: Sub10 | |
vF := 60 | |
: Sub11 | |
buzzer := vF | |
loop | |
vF := delay | |
if vF != 0 then | |
again | |
return | |
: Sub12 | |
i := D13 | |
v8 := 0 | |
v9 <<= vC | |
v9 <<= v9 | |
v9 <<= v9 | |
v9 -= vC | |
v9 += 187 | |
sprite v8 v9 2 | |
return | |
: Sub13 | |
i := D7 | |
v8 := 8 | |
v9 := 16 | |
sprite v8 v9 7 | |
v8 := 16 | |
v9 := 17 | |
return | |
: Sub14 | |
vA := 0 | |
loop | |
i := D9 | |
i += vA | |
load v4 | |
i := D3 | |
i += v1 | |
sprite v2 v4 6 | |
vA += 8 | |
if vA != 40 then | |
again | |
return | |
: D1 | |
0x1 0x1 | |
: D2 | |
0x81 0x7e 0x18 0x0 0x99 0x42 0xdb 0x0 0x0 0x0 0x81 0x81 0x0 0x0 0x0 0xc3 0x3c 0x66 0x18 0x42 0x42 0xc3 0x42 0x0 0xe7 0xe7 0x0 0x0 0x0 0xee 0x8e 0x8a 0x8a 0x8a 0xee 0xee 0x88 0xec 0x28 0xee | |
: D3 | |
0x3 0x2 0x2 0xe 0xa 0xa 0x5 0x6 0x6 0x12 0x1e 0x5 0x5 0x6 0x6 0x12 0x1e 0x28 0x5 0x6 0x6 0x12 0x1e 0x10 0x5 0x6 0x6 0x12 0x1e 0x2 0x5 0x6 0x6 0x12 0x1e 0x5 0x0 | |
: D4 | |
0x3f 0x3f 0x3d 0x25 0x24 0x0 0x41 0x41 0x47 0x6e 0xa 0x0 0x41 0x41 0x47 0x6d 0x90 0x0 0x41 0x41 0x47 0x6f 0x0 0x0 0x41 0x41 0x47 0x6e 0x12 0x0 0x41 0x41 0x47 0x6d 0x90 0x0 0x3 0x6 0xe 0x14 0x26 0x0 0x5 0xa 0x22 0x20 0x40 0x3 0x0 0x2 0x68 0x36 0x18 0x6 0xf 0x1a 0x16 0x48 0x3 0x0 0x5 0xa 0x42 0xc 0x0 0x0 0x5 0xa 0x42 0x0 0x0 0x0 0xb 0x1e 0x3e 0x22 0x22 0x0 0x1d 0x22 0x42 0x66 0x5 0x0 0x1d 0x22 0x42 0x66 0x80 0x0 0x1d 0x22 0x42 0x66 0x10 0x0 0x1d 0x22 0x42 0x66 0x8 0x0 0x1d 0x22 0x42 0x66 0x1 0x0 0x2 0x13 0x1e 0x12 0x12 0x2 0x17 0x38 0x2e 0x6 0x24 0x4 0x24 0x2f 0x3a 0x56 0x11 0x0 0x6 0x35 0x22 0x36 0x28 0x0 0x6 0x35 0x22 0x36 0x0 0x2 0x17 0x38 0x2e 0x6 0x28 0x1 | |
: D5 | |
0xe9 0xad 0xeb 0xa9 0xa9 0x51 0x5b 0x55 0x51 0x51 0x74 0x54 0x74 0x54 0x57 0xf7 0x95 0xf7 0xa5 0x95 0x77 0x44 0x46 0x44 0x77 0xef 0xa8 0xae 0xe2 0xbe 0xf3 0x92 0x93 0x92 0x9f 0x17 0x15 0x17 0x11 0x11 0x77 0x15 0x17 0x15 0x17 | |
: D6 | |
0x2b 0x2a 0x12 0x12 0x13 0xa8 0xa8 0xa8 0xa8 0xb8 0xae 0xaa 0xee 0xaa 0xaa 0xae 0xa8 0xae 0xa8 0x4e | |
: D7 | |
0x20 0x78 0xa0 0x70 0x28 0xf0 0x20 | |
: D8 | |
0x0 0x1 0x0 | |
: D9 | |
0x2 0x0 0x3 0x2 0x0 0x1e 0x18 0x0 0x1 0x24 0x3 0x1 0x6 0x42 0x12 0x0 0x1 0x48 0x0 0x8 0xd 0x66 0x18 0x0 0x2 0x68 0x3 0x3 0x13 0x8a 0x18 0x0 0x1 0x90 0x3 0x1 0x1a 0xae 0x18 0x0 0x1 0x8 0x38 0x6 0x0 0x18 0x18 0x1 0x1 0x4 0x31 0x0 0x5 0x18 0x18 0x1 0x7f 0x48 0x1c 0x1c 0xb 0x4c 0x18 0x0 0x3 0x2 0x2 0xe 0x5e 0x4 0x26 0x54 0x5 0x6 0x6 0xd2 0xa2 0x4c 0xe6 0xc1 0x5 0x6 0xc6 0xd2 0xe2 0xcc 0xb8 0x90 0x5 0x86 0x6 0x52 0x22 0x4c 0x5e 0x60 0x5 0x6 0x86 0xd2 0xa2 0x8c 0xc6 0xc1 0x5 0x6 0x86 0x92 0x22 0x8c 0x98 0x30 0x0 0x6 0x6 0x12 0x62 0xc 0x3e 0x10 0x0 0xee 0x63 0x1a 0x24 0xc0 0x0 0xee | |
: D10 | |
0xf0 0x90 0xf7 0x90 0x90 0x78 0x40 0x70 0x40 0x78 | |
: D11 | |
0xab 0xa9 0xa9 0xa9 0x53 0xa2 0x32 0x2a 0x26 0xa2 | |
: D12 | |
0x8e 0x8a 0x8a 0x8a 0xee 0xee 0x88 0xec 0x28 0xee | |
: D13 | |
0x0 0xc0 | |
: D14 | |
0x18 0x48 0x8 0x48 0x1c | |
: D15 | |
0xe0 0x20 0x60 0x0 0x40 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Astro Dodge [Revival Studios, 2008].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto L4 # 240 | |
:proto L5 # 254 | |
:proto Sub1 # 288 | |
:proto Sub3 # 2B0 | |
:proto Sub4 # 2E2 | |
:proto Sub5 # 2E8 | |
:proto L9 # 2F4 | |
:proto L10 # 2FE | |
:proto L11 # 308 | |
:proto L12 # 312 | |
:proto Sub6 # 31A | |
:proto L13 # 328 | |
:proto D1 # 33E | |
:proto D2 # 350 | |
:proto D3 # 358 | |
:proto D4 # 3D8 | |
:proto Sub7 # 458 | |
:proto Sub8 # 460 | |
:proto Sub9 # 4B8 | |
:proto Sub10 # 4EE | |
:proto Sub11 # 520 | |
:proto Sub12 # 54A | |
:proto Sub13 # 552 | |
:proto Sub15 # 582 | |
:proto Sub16 # 58E | |
:proto D5 # 59A | |
:proto D6 # 59B | |
:proto D7 # 59C | |
:proto D8 # 59F | |
:proto D9 # 5CF | |
:proto D10 # 62F | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
clear | |
vD := 32 | |
delay := vD | |
Sub7 | |
Sub8 | |
vD := 64 | |
delay := vD | |
Sub7 | |
Sub8 | |
vD := 32 | |
delay := vD | |
Sub7 | |
: L2 | |
clear | |
i := D4 | |
Sub11 | |
Sub9 | |
vD := 4 | |
vC := 0 | |
loop | |
v0 := 5 | |
if v0 -key then jump L4 | |
jump L5 | |
: L4 | |
delay := vD | |
Sub7 | |
vC += 1 | |
if vC == 0 then Sub9 | |
if vC == 4 then Sub9 | |
if vC == 8 then vC := 0 | |
again | |
: L5 | |
i := D4 | |
Sub11 | |
clear | |
v8 := 16 | |
v9 := 20 | |
Sub4 | |
Sub1 | |
Sub12 | |
v3 := 44 | |
v4 := 0 | |
Sub15 | |
v3 := 44 | |
v4 := 6 | |
Sub16 | |
vD := 0 | |
vE := 8 | |
loop | |
Sub3 | |
Sub5 | |
vD += 8 | |
if vD == 128 then vD := 0 | |
vE += 8 | |
if vE == 128 then vE := 0 | |
again | |
0x12 0x2c | |
: Sub1 | |
vC := 0 | |
loop | |
i := D1 | |
i += vC | |
load v1 | |
v1 := random 0b11 | |
save v1 | |
i := D3 | |
sprite v0 v1 8 | |
vC += 3 | |
if vC != 9 then | |
again | |
return | |
: Sub2 | |
Sub6 | |
Sub13 | |
Sub6 | |
v0 := random 0b1111 | |
v0 += v0 | |
v0 += v0 | |
v1 := 0 | |
return | |
: Sub3 | |
vC := 0 | |
v5 := 0 | |
loop | |
i := D1 | |
i += vC | |
load v2 | |
i := D3 | |
i += vD | |
sprite v0 v1 8 | |
v1 += v2 | |
v3 := v1 | |
v4 := 30 | |
v3 -= v4 | |
if vF == 1 then Sub2 | |
i := D3 | |
i += vE | |
sprite v0 v1 8 | |
i := D1 | |
i += vC | |
save v1 | |
v5 += 24 | |
vC += 3 | |
if vC != 9 then | |
again | |
return | |
: Sub4 | |
i := D2 | |
sprite v8 v9 8 | |
return | |
: Sub5 | |
Sub4 | |
v0 := 4 | |
if v0 -key then jump L9 | |
if v8 != 0 then v8 += -2 | |
: L9 | |
v0 := 6 | |
if v0 -key then jump L10 | |
if v8 != 56 then v8 += 2 | |
: L10 | |
v0 := 2 | |
if v0 -key then jump L11 | |
if v9 != 16 then v9 += -1 | |
: L11 | |
v0 := 8 | |
if v0 -key then jump L12 | |
if v9 != 24 then v9 += 1 | |
: L12 | |
Sub4 | |
if vF == 1 then jump L13 | |
return | |
: Sub6 | |
v3 := 44 | |
v4 := 0 | |
Sub15 | |
v3 := 44 | |
v4 := 6 | |
Sub16 | |
return | |
: L13 | |
clear | |
v0 := 0 | |
v1 := 4 | |
Sub10 | |
v3 := 22 | |
v4 := 22 | |
Sub15 | |
loop | |
v0 := 5 | |
if v0 -key then | |
again | |
jump L2 | |
: D1 | |
0x0 0xe 0x1 0x18 0xb4 0x2 0x30 0xe3 0x3 0x40 0x75 0x1 0x40 0x60 0x2 0x40 0x36 0x3 | |
: D2 | |
0x18 0x18 0x34 0x24 0x7e 0xff 0xe7 0x99 | |
: D3 | |
0x0 0x40 0x38 0x14 0x2a 0x75 0x3a 0x14 0x0 0x0 0x28 0x70 0x3e 0x7 0x2a 0x0 0x0 0x40 0x8 0x5c 0x7a 0x75 0xa 0x4 0x0 0x50 0x28 0x54 0x3e 0x75 0x2e 0x1 0x20 0x70 0x78 0x7c 0x3c 0x75 0x6a 0x54 0x0 0x64 0x78 0x78 0x7e 0x7d 0xe8 0x50 0x8 0x44 0x2a 0x50 0x3a 0x5d 0xe8 0x40 0x8 0x54 0xa 0x11 0x2a 0x5c 0x68 0x40 0x0 0x4 0x2a 0x57 0x2a 0x16 0x28 0x50 0x0 0x0 0x2a 0x13 0x6a 0x56 0x8 0x0 0x0 0x0 0x8 0x71 0x2a 0x52 0x30 0x0 0x0 0x4 0xa 0x14 0x3a 0x60 0x68 0x0 0x0 0x4 0xa 0x1c 0x3e 0x70 0x68 0x50 0x20 0x50 0x2e 0x5f 0x2e 0x5c 0x28 0x50 0x20 0x5c 0x3a 0x57 0x3e 0x5e 0x28 0x50 0x0 0x58 0x38 0x77 0x2e 0x7f 0x3e 0x54 | |
: D4 | |
0x78 0x7e 0xf7 0xf1 0xbe 0x9e 0x38 0x66 0xf8 0xcd 0x73 0x9b 0xe3 0x36 0xcf 0xde 0x78 0x66 0xf7 0x1d 0xbe 0x9b 0x3a 0x36 0xf9 0xcd 0x73 0xb3 0xe3 0x6c 0xcf 0xd8 0xcd 0x33 0x83 0x78 0x33 0xd9 0x66 0x9c 0xcd 0xf8 0x9b 0xe3 0x36 0x87 0x6c 0x3c 0xfd 0x7e 0xf7 0x79 0xbf 0x9f 0x7c 0x66 0xfc 0xcd 0xfb 0x9b 0xf7 0x36 0xef 0xde 0xfd 0x66 0xf7 0x1d 0xbf 0x9b 0x7c 0x36 0xfc 0xcd 0xfb 0xb3 0xf7 0xec 0xef 0xd8 0xcd 0x0 0xc3 0x0 0x33 0x0 0x66 0x0 0xcd 0x0 0x9b 0x0 0x36 0x0 0xc 0x0 0x85 0x66 0x0 0x19 0x1 0x9b 0x46 0x66 0x5 0xcd 0x88 0x9b 0x14 0x6c 0x20 0xd8 0xcd 0x33 0x83 0x7c 0x33 0xd9 0x6e 0xbe 0xcd 0xfd 0xdb 0xf3 0x76 0xcf 0x6c 0xbc | |
: Sub7 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub8 | |
vD := 4 | |
v1 := 12 | |
v0 := 28 | |
v2 := 18 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
v0 := 20 | |
v2 := 12 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 36 | |
v2 := 24 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
v0 := 12 | |
v2 := 6 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 44 | |
v2 := 30 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
i := D10 | |
v0 := 4 | |
sprite v0 v1 6 | |
v0 := 52 | |
v2 := 36 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
return | |
: Sub9 | |
v2 := 6 | |
v0 := 0 | |
v1 := 23 | |
i := D8 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
return | |
: Sub10 | |
v2 := 12 | |
i := D9 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
return | |
: Sub11 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L15 | |
v0 := 0 | |
loop | |
v1 := v3 | |
v1 += 3 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L15 | |
return | |
: Sub12 | |
v0 := 0 | |
i := D5 | |
save v0 | |
return | |
: Sub13 | |
i := D5 | |
load v1 | |
v0 += 1 | |
v2 := v0 | |
v2 -= v1 | |
if vF == 1 then v1 := v0 | |
save v1 | |
return | |
: Sub14 | |
i := D7 | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
v3 += 5 | |
v2 := 0 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: Sub15 | |
i := D5 | |
load v0 | |
i := D7 | |
bcd v0 | |
Sub14 | |
return | |
: Sub16 | |
i := D6 | |
load v0 | |
i := D7 | |
bcd v0 | |
Sub14 | |
return | |
: D5 | |
0x0 | |
: D6 | |
0x64 | |
: D7 | |
0x0 0x0 0x0 | |
: D8 | |
0x0 0x3c 0x36 0x3c 0x30 0x30 0x0 0xf3 0xdb 0xf3 0xdb 0xdb 0x0 0xe7 0xc 0xc7 0x1 0xef 0x0 0x9e 0x30 0x1c 0x86 0x3c 0x0 0x1e 0x30 0x1c 0x6 0x3c 0x0 0xf3 0x66 0x67 0x66 0x66 0x0 0x9e 0xdb 0xde 0xdb 0xdb 0x0 0x78 0x30 0x30 0x30 0x30 | |
: D9 | |
0x1 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x1 0xe7 0xd 0xd 0x6f 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0xed 0x3f 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0x3e 0xb0 0xb0 0xbc 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xbe 0x1c 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x1c 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0x7b 0x3b 0xef 0xd 0xd 0xcf 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xed 0x0 0x80 0x80 0x0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D10 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Biorhythm [Jef Winsor].ch8 | |
###################################################################### | |
:proto L3 # 232 | |
:proto L6 # 248 | |
:proto L7 # 2B2 | |
:proto L8 # 2B8 | |
:proto L9 # 2D2 | |
:proto L10 # 2EA | |
:proto L11 # 2FE | |
:proto L13 # 308 | |
:proto L14 # 31C | |
:proto L15 # 32A | |
:proto L17 # 340 | |
:proto L19 # 34E | |
:proto L20 # 370 | |
:proto L21 # 37C | |
:proto L23 # 392 | |
:proto L24 # 3A4 | |
:proto L25 # 3D0 | |
:proto D7 # 441 | |
:proto D8 # 444 | |
:proto Sub1 # 448 | |
:proto Sub2 # 46A | |
:proto Sub3 # 49C | |
:proto L30 # 4A8 | |
:proto Sub4 # 4B6 | |
:proto Sub5 # 4C2 | |
:proto Sub6 # 4DC | |
:proto Sub7 # 4F2 | |
:proto Sub8 # 500 | |
:proto L32 # 50E | |
:proto D9 # 513 | |
:proto Sub9 # 518 | |
:proto Sub10 # 53C | |
:proto Sub11 # 554 | |
:proto D10 # 562 | |
:proto D11 # 584 | |
:proto D12 # 588 | |
:proto D13 # 600 | |
:proto D14 # 608 | |
:proto D15 # 609 | |
: main | |
i := D11 | |
v1 := 0 | |
v2 := 25 | |
sprite v1 v2 5 | |
i := D12 | |
v2 := 13 | |
sprite v1 v2 5 | |
i := D7 | |
v2 := 1 | |
sprite v1 v2 5 | |
i := D9 | |
v1 := 49 | |
v2 := 14 | |
sprite v1 v2 4 | |
i := D8 | |
v2 := 9 | |
: L1 | |
v1 := -1 | |
loop | |
v1 += 7 | |
sprite v1 v2 2 | |
if v1 != 34 then | |
again | |
if v2 != 9 then jump L3 | |
v2 := 21 | |
jump L1 | |
: L3 | |
v3 := 0 | |
v5 := 0 | |
v6 := 0 | |
: L4 | |
Sub8 | |
Sub9 | |
v0 := 0 | |
loop | |
if v4 == 0 then jump L6 | |
v0 += 10 | |
v4 += -1 | |
again | |
: L6 | |
i := D14 | |
save v0 | |
Sub8 | |
Sub9 | |
i := D14 | |
load v0 | |
v0 += v4 | |
i := D13 | |
i += v3 | |
save v0 | |
v3 += 1 | |
if v3 != 8 then jump L4 | |
i := D13 | |
load v7 | |
if v0 == 0 then jump L7 | |
if v1 == 0 then jump L7 | |
if v4 == 0 then jump L7 | |
if v5 == 0 then jump L7 | |
v8 := 12 | |
v8 -= v0 | |
if vF == 0 then jump L7 | |
v8 := 12 | |
v8 -= v4 | |
if vF == 0 then jump L7 | |
v8 := v6 | |
v8 -= v2 | |
if vF == 0 then jump L7 | |
if v6 != v2 then jump L8 | |
v8 := v7 | |
v8 -= v3 | |
if vF == 0 then jump L7 | |
if v7 != v3 then jump L8 | |
v8 := v4 | |
v8 -= v0 | |
if vF == 0 then jump L7 | |
if v4 != v0 then jump L8 | |
v8 := v5 | |
v8 -= v1 | |
if vF != 0 then jump L8 | |
: L7 | |
buzzer := v5 | |
clear | |
jump main | |
: L8 | |
v8 := v0 | |
v9 := v1 | |
vA := v8 | |
Sub10 | |
if vB == 0 then jump L9 | |
if vB != 41 then jump L7 | |
v9 := v2 | |
vA := v3 | |
Sub11 | |
if vB != 3 then jump L7 | |
: L9 | |
v9 := v5 | |
vA := v4 | |
Sub10 | |
if vB == 0 then jump L10 | |
if vB != 41 then jump L7 | |
v9 := v6 | |
vA := v7 | |
Sub11 | |
if vB != 3 then jump L7 | |
: L10 | |
vC := 0 | |
vD := 0 | |
vE := 0 | |
Sub7 | |
v0 := v5 | |
if v9 != 170 then jump L11 | |
v0 -= v1 | |
Sub4 | |
jump L15 | |
: L11 | |
Sub4 | |
Sub6 | |
v0 -= v1 | |
jump L13 | |
: L12 | |
Sub6 | |
: L13 | |
Sub4 | |
v8 += 1 | |
if v8 != 13 then jump L14 | |
v8 := 1 | |
v3 += 1 | |
if v3 != 100 then jump L14 | |
v3 := 0 | |
v2 += 1 | |
: L14 | |
Sub7 | |
if v9 == 170 then jump L15 | |
v0 := 3 | |
v0 &= vE | |
buzzer := v0 | |
jump L12 | |
: L15 | |
Sub2 | |
loop | |
v8 := 11 | |
if v8 key then jump L17 | |
v8 := 15 | |
if v8 key then jump L17 | |
v8 := 0 | |
if v8 key then jump L7 | |
again | |
: L17 | |
Sub2 | |
: L18 | |
loop | |
if v8 == 11 then jump L19 | |
jump L24 | |
0x1 | |
: D1 | |
0x0 0x7 0x14 0x1b 0xd4 | |
: L19 | |
Sub1 | |
i := D13 | |
load v7 | |
v5 += -1 | |
if v5 != 0 then jump L21 | |
v4 += -1 | |
if v4 != 0 then jump L20 | |
v4 := 12 | |
v7 += -1 | |
if v7 != -1 then jump L20 | |
v7 := 99 | |
v6 += -1 | |
if v6 == -1 then jump L23 | |
: L20 | |
v8 := v4 | |
v1 := v5 | |
v2 := v6 | |
v3 := v7 | |
Sub6 | |
v5 := v0 | |
: L21 | |
vC += -1 | |
if vC == -1 then vC := 22 | |
vD += -1 | |
if vD == -1 then vD := 27 | |
vE += -1 | |
if vE == -1 then vE := 32 | |
: L22 | |
i := D13 | |
save v7 | |
: L23 | |
Sub1 | |
v8 := 11 | |
if v8 key then jump L18 | |
v8 := 15 | |
if v8 key then | |
again | |
jump L15 | |
0x7f 0x0 | |
: L24 | |
Sub1 | |
i := D13 | |
load v7 | |
v8 := v4 | |
v2 := v6 | |
v3 := v7 | |
Sub6 | |
if v0 == v5 then v5 := 0 | |
v5 += 1 | |
if v5 == 1 then v4 += 1 | |
if v4 != 13 then jump L25 | |
v4 := 1 | |
v7 += 1 | |
if v7 != 100 then jump L25 | |
v7 := 0 | |
v6 += 1 | |
if v6 == 100 then jump L23 | |
: L25 | |
vC += 1 | |
vD += 1 | |
vE += 1 | |
Sub5 | |
jump L22 | |
: D2 | |
0x1 0x7 0xe 0xe 0x16 0x16 0x16 0xe 0xe 0x7 0x1 0x0 0x5 0xb 0xb 0x12 0x12 0x12 0x12 0xb 0xb 0x5 0x0 0xee | |
: D3 | |
0x1 0x7 0xe 0xe 0x16 0x16 0x16 0x16 0x16 0x16 0xe 0xe 0x7 0x1 0x0 0x5 0xb 0xb 0x12 0x12 0x12 0x12 0x12 0x12 0xb 0xb 0x5 0x0 0xee | |
: D4 | |
0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x80 0x80 0x0 0x0 0x0 0x0 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0x80 0x80 0x80 0x80 0x0 0x0 0x0 | |
: D5 | |
0x0 0x1f 0x1c 0x1f 0x1e 0x1f 0x1e 0x1f 0x1f 0x1e 0x1f 0x1e | |
: D6 | |
0x1f 0x29 0x2e 0x37 0x3c 0x2b 0x30 0x35 0x3a | |
: D7 | |
0xe0 0xa0 0xe0 | |
: D8 | |
0x80 0x80 0xd4 0xd4 | |
: Sub1 | |
v5 := 0 | |
v6 := 2 | |
v3 := 4 | |
loop | |
i := D13 | |
i += v3 | |
load v0 | |
i := D15 | |
bcd v0 | |
load v2 | |
v4 := v1 | |
Sub9 | |
v4 := v2 | |
Sub9 | |
v3 += 1 | |
if v3 != 8 then | |
again | |
return | |
: Sub2 | |
v4 := 32 | |
v5 := 6 | |
v6 := 0 | |
v7 := vC | |
loop | |
i := D2 | |
Sub3 | |
if v4 != 0 then | |
again | |
v4 := 32 | |
v5 := 6 | |
v6 := 12 | |
v7 := vD | |
loop | |
i := D3 | |
Sub3 | |
if v4 != 0 then | |
again | |
v4 := 32 | |
v5 := 6 | |
v6 := 24 | |
v7 := vE | |
loop | |
i := D10 | |
Sub3 | |
if v4 != 0 then | |
again | |
return | |
: Sub3 | |
i += v7 | |
load v0 | |
if v0 != -18 then jump L30 | |
v7 := 0 | |
return | |
: L30 | |
i := D4 | |
i += v0 | |
sprite v5 v6 8 | |
v4 += -1 | |
v5 += 1 | |
v7 += 1 | |
return | |
: Sub4 | |
vC += v0 | |
vD += v0 | |
vE += v0 | |
Sub5 | |
Sub5 | |
return | |
: Sub5 | |
vB := 23 | |
vC -= vB | |
if vF == 0 then vC += 23 | |
vB := 28 | |
vD -= vB | |
if vF == 0 then vD += 28 | |
vB := 33 | |
vE -= vB | |
if vF == 0 then vE += 33 | |
return | |
: Sub6 | |
i := D5 | |
i += v8 | |
load v0 | |
if v8 != 2 then return | |
v9 := v2 | |
vA := v3 | |
Sub11 | |
if vB == 3 then v0 += 1 | |
return | |
: Sub7 | |
v9 := 170 | |
if v2 == v6 then if v3 != v7 then v9 := 0 | |
if v8 != v4 then v9 := 0 | |
return | |
: Sub8 | |
v4 := 0 | |
loop | |
if v4 key then jump L32 | |
v4 += 1 | |
if v4 != 10 then | |
again | |
jump Sub8 | |
: L32 | |
v4 := key | |
return | |
0x1 | |
: D9 | |
0xc 0x12 0x90 0x60 0xd4 | |
: Sub9 | |
i := D6 | |
i += v5 | |
load v1 | |
i := D1 | |
i += v6 | |
load v0 | |
i := hex v4 | |
sprite v1 v0 5 | |
if v5 == 3 then v6 += 1 | |
if v5 == 7 then v6 += 1 | |
v5 += 1 | |
if v5 == 8 then v5 := 0 | |
return | |
0x41 0x6a 0x7e 0x51 | |
: Sub10 | |
vB := 0 | |
i := D5 | |
i += vA | |
load v0 | |
v0 -= v9 | |
if vF == 1 then return | |
vB := 41 | |
if v9 == 29 then if vA != 2 then vB := 57 | |
return | |
: Sub11 | |
if vA == 0 then vA := v9 | |
vB := 3 | |
vA &= vB | |
if vA != 0 then vB := 0 | |
return | |
: D10 | |
0x1 0x7 0x7 0xe 0xe 0x16 0x16 0x16 0x16 0x16 0x16 0xe 0xe 0x7 0x7 0x1 0x0 0x5 0x5 0xb 0xb 0x12 0x12 0x12 0x12 0x12 0x12 0x12 0xb 0xb 0x5 0x5 0x0 0xee | |
: D11 | |
0xe0 0x40 0x40 0x40 | |
: D12 | |
0xe0 0x80 0xe0 0x80 0xe0 0xd4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D13 0 0 0 0 0 0 0 0 | |
: D14 0 | |
: D15 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Blinky [Hans Christian Egeberg, 1991].ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L6 # 27C | |
:proto L7 # 29A | |
:proto L8 # 2B2 | |
:proto L9 # 2C8 | |
:proto L10 # 2E0 | |
:proto L11 # 2F8 | |
:proto L12 # 310 | |
:proto L17 # 3C6 | |
:proto Sub1 # 3D0 | |
:proto L21 # 432 | |
:proto L22 # 44A | |
:proto L23 # 462 | |
:proto L24 # 47A | |
:proto L25 # 492 | |
:proto L26 # 49A | |
:proto L27 # 4B2 | |
:proto L28 # 4D2 | |
:proto L29 # 4E4 | |
:proto L30 # 4EC | |
:proto Sub2 # 4F6 | |
:proto L32 # 524 | |
:proto L33 # 556 | |
:proto L34 # 574 | |
:proto L35 # 58C | |
:proto L36 # 5A4 | |
:proto L37 # 5BC | |
:proto L38 # 5D4 | |
:proto L40 # 5E4 | |
:proto L41 # 5F2 | |
:proto L42 # 5FE | |
:proto L43 # 60A | |
:proto L44 # 614 | |
:proto Sub3 # 61E | |
:proto L46 # 64C | |
:proto L47 # 67E | |
:proto L48 # 69C | |
:proto L49 # 6B6 | |
:proto L50 # 6D0 | |
:proto L51 # 6EA | |
:proto L52 # 704 | |
:proto L54 # 716 | |
:proto L55 # 724 | |
:proto L56 # 730 | |
:proto L57 # 73C | |
:proto L58 # 746 | |
:proto Sub4 # 750 | |
:proto Sub5 # 772 | |
:proto Sub6 # 794 | |
:proto Sub7 # 7BA | |
:proto Sub8 # 7BE | |
:proto Sub9 # 7D6 | |
:proto Sub10 # 7E6 | |
:proto L63 # 80C | |
:proto L65 # 834 | |
:proto L67 # 854 | |
:proto L69 # 86E | |
:proto Sub11 # 87A | |
:proto Sub12 # 88A | |
:proto L70 # 8A2 | |
:proto Sub13 # 8A8 | |
:proto L72 # 8C4 | |
:proto D1 # 8C8 | |
:proto D2 # 8CA | |
:proto D3 # 8CC | |
:proto D4 # 8CD | |
:proto D5 # 8ED | |
:proto D6 # 8F1 | |
:proto D7 # 8F5 | |
:proto D8 # 8F9 | |
:proto D9 # 919 | |
:proto D10 # B19 | |
:proto D11 # B22 | |
:proto D12 # B2B | |
:proto D13 # B34 | |
: main | |
jump L1 | |
0x32 0x2e 0x30 0x30 0x20 0x43 0x2e 0x20 0x45 0x67 0x65 0x62 0x65 0x72 0x67 0x20 0x31 0x38 0x2f 0x38 0x2d 0x27 0x39 0x31 | |
: L1 | |
v0 ^= v0 | |
v1 ^= v1 | |
i := D1 | |
save v1 | |
v0 := 5 | |
i := D3 | |
save v0 | |
v7 ^= v7 | |
: L2 | |
v6 ^= v6 | |
Sub5 | |
clear | |
Sub6 | |
: L3 | |
vE := 64 | |
v7 &= vE | |
vE := 39 | |
v7 |= vE | |
v8 := 26 | |
v9 := 12 | |
vA := 56 | |
vB := 0 | |
vC := 2 | |
vD := 26 | |
Sub4 | |
i := D5 | |
sprite vA vB 4 | |
sprite vC vD 4 | |
loop | |
Sub1 | |
if vE != 0 then jump L6 | |
: L5 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v4 := random 0b11111111 | |
v4 &= v5 | |
Sub2 | |
v4 := random 0b11111111 | |
v4 &= v5 | |
Sub3 | |
v0 := 1 | |
if v0 key then Sub9 | |
if v6 != -9 then | |
again | |
vE := v6 | |
Sub11 | |
vE := 100 | |
Sub11 | |
Sub9 | |
jump L2 | |
: L6 | |
v0 := delay | |
if v0 == 0 then jump L12 | |
v0 := v8 | |
v0 >>= v0 | |
v1 := vA | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L7 | |
if v0 == 1 then jump L7 | |
if v0 == -1 then jump L7 | |
jump L9 | |
: L7 | |
v0 := v9 | |
v0 >>= v0 | |
v1 := vB | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L8 | |
if v0 == 1 then jump L8 | |
if v0 == -1 then jump L8 | |
jump L9 | |
: L8 | |
i := D5 | |
sprite vA vB 4 | |
vA := 56 | |
vB := 0 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
vE := 4 | |
v7 |= vE | |
vE := 50 | |
Sub11 | |
: L9 | |
v0 := v8 | |
v0 >>= v0 | |
v1 := vC | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L10 | |
if v0 == 1 then jump L10 | |
if v0 == -1 then jump L10 | |
jump L5 | |
: L10 | |
v0 := v9 | |
v0 >>= v0 | |
v1 := vD | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L11 | |
if v0 == 1 then jump L11 | |
if v0 == -1 then jump L11 | |
jump L5 | |
: L11 | |
i := D5 | |
sprite vC vD 4 | |
vC := 2 | |
vD := 26 | |
sprite vC vD 4 | |
vE := 207 | |
v7 &= vE | |
vE := 32 | |
v7 |= vE | |
vE := 25 | |
Sub11 | |
jump L5 | |
: L12 | |
v0 := 63 | |
Sub13 | |
Sub4 | |
i := D5 | |
sprite vA vB 4 | |
sprite vC vD 4 | |
vE := 64 | |
v7 ^= vE | |
v0 := v7 | |
v0 &= vE | |
if v0 != 0 then jump L3 | |
vE := v6 | |
Sub11 | |
Sub12 | |
clear | |
v6 := 17 | |
v7 := 10 | |
i := D2 | |
Sub10 | |
v6 := 17 | |
v7 := 16 | |
i := D1 | |
Sub10 | |
v4 := 0 | |
v5 := 8 | |
v6 := 0 | |
v7 := 15 | |
: L13 | |
loop | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v4 += 2 | |
v5 += 2 | |
if v4 != 48 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v6 += 2 | |
if v6 != 22 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v4 += -2 | |
v5 += -2 | |
if v4 != 0 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
v6 += -2 | |
if v6 != 0 then | |
again | |
jump L13 | |
: L17 | |
i := D11 | |
sprite v5 v6 9 | |
i := D12 | |
sprite v5 v6 9 | |
jump L1 | |
: Sub1 | |
v3 := v7 | |
vE := 3 | |
v3 &= vE | |
v4 := v8 | |
v5 := v9 | |
vE := 6 | |
if vE key then jump L21 | |
vE := 3 | |
if vE key then jump L22 | |
vE := 8 | |
if vE key then jump L23 | |
vE := 7 | |
if vE key then jump L24 | |
: L18 | |
if v3 == 3 then v5 += 2 | |
if v3 == 0 then v5 += -2 | |
if v3 == 2 then v4 += 2 | |
if v3 == 1 then v4 += -2 | |
v0 := v4 | |
v1 := v5 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
: L19 | |
if v0 != 0 then jump L25 | |
vE := 7 | |
v0 := v2 | |
v2 &= vE | |
if v2 == 5 then jump L26 | |
if v2 == 6 then jump L27 | |
if v2 == 7 then jump L30 | |
: L20 | |
Sub4 | |
vE := -4 | |
v7 &= vE | |
v7 |= v3 | |
v8 := v4 | |
v9 := v5 | |
jump Sub4 | |
: L21 | |
v0 := v4 | |
v1 := v5 | |
v1 += 2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 3 | |
v5 += 2 | |
jump L19 | |
: L22 | |
v0 := v4 | |
v1 := v5 | |
v1 += -2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 0 | |
v5 += -2 | |
jump L19 | |
: L23 | |
v0 := v4 | |
v1 := v5 | |
v0 += 2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 2 | |
v4 += 2 | |
jump L19 | |
: L24 | |
v0 := v4 | |
v1 := v5 | |
v0 += -2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 1 | |
v4 += -2 | |
jump L19 | |
: L25 | |
Sub4 | |
sprite v8 v9 4 | |
vE := vF | |
return | |
: L26 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D6 | |
sprite v4 v5 4 | |
v6 += 1 | |
v1 := 5 | |
v0 := delay | |
if v0 == 0 then buzzer := v1 | |
jump L20 | |
: L27 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D7 | |
sprite v4 v5 4 | |
v6 += 4 | |
v0 := vA | |
v1 := vB | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L28 | |
vE := 12 | |
v7 ^= vE | |
: L28 | |
v0 := vC | |
v1 := vD | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L29 | |
vE := 48 | |
v7 ^= vE | |
: L29 | |
v0 := -1 | |
buzzer := v0 | |
delay := v0 | |
jump L20 | |
: L30 | |
if v3 == 1 then v4 := 58 | |
if v3 == 2 then v4 := 0 | |
jump L20 | |
: Sub2 | |
v2 := v7 | |
v3 := v7 | |
vE := 12 | |
v2 &= vE | |
v0 := vA | |
v1 := vB | |
Sub7 | |
i := D5 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L32 | |
: L31 | |
sprite vA vB 4 | |
if v2 == 12 then vB += 2 | |
if v2 == 0 then vB += -2 | |
if v2 == 8 then vA += 2 | |
if v2 == 4 then vA += -2 | |
sprite vA vB 4 | |
return | |
: L32 | |
vE := 128 | |
v1 := delay | |
if v1 != 0 then jump L38 | |
if v4 != 0 then jump L38 | |
v1 := v0 | |
v3 <<= v0 | |
if vF != 0 then jump L33 | |
v3 := v9 | |
v3 -= vB | |
if vF == 0 then jump L35 | |
if v3 != 0 then jump L34 | |
v7 ^= vE | |
v3 := v8 | |
v3 -= vA | |
if vF == 0 then jump L37 | |
if v3 != 0 then jump L36 | |
v7 ^= vE | |
jump L38 | |
: L33 | |
v3 := v8 | |
v3 -= vA | |
if vF == 0 then jump L37 | |
if v3 != 0 then jump L36 | |
v7 ^= vE | |
v3 := v9 | |
v3 -= vB | |
if vF == 0 then jump L35 | |
if v3 != 0 then jump L34 | |
v7 ^= vE | |
jump L38 | |
: L34 | |
v3 := 64 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 4 | |
vB += 2 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v2 := 12 | |
v7 |= v2 | |
return | |
: L35 | |
v3 := 16 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 4 | |
vB += -2 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v2 := 0 | |
v7 |= v2 | |
return | |
: L36 | |
v3 := 32 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 4 | |
vA += 2 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v2 := 8 | |
v7 |= v2 | |
return | |
: L37 | |
v3 := 128 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 4 | |
vA += -2 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v2 := 4 | |
v7 |= v2 | |
return | |
: L38 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L40 | |
: L39 | |
vE := 12 | |
v7 ^= vE | |
v2 ^= vE | |
jump L31 | |
: L40 | |
sprite vA vB 4 | |
v0 <<= v0 | |
if vF == 0 then jump L41 | |
v2 := 4 | |
vA += -2 | |
jump L44 | |
: L41 | |
v0 <<= v0 | |
if vF == 0 then jump L42 | |
v2 := 12 | |
vB += 2 | |
jump L44 | |
: L42 | |
v0 <<= v0 | |
if vF == 0 then jump L43 | |
v2 := 8 | |
vA += 2 | |
jump L44 | |
: L43 | |
v0 <<= v0 | |
if vF == 0 then jump L39 | |
v2 := 0 | |
vB += -2 | |
: L44 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub3 | |
v2 := v7 | |
v3 := v7 | |
vE := 48 | |
v2 &= vE | |
v0 := vC | |
v1 := vD | |
Sub7 | |
i := D5 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L46 | |
: L45 | |
sprite vC vD 4 | |
if v2 == 48 then vD += 2 | |
if v2 == 0 then vD += -2 | |
if v2 == 32 then vC += 2 | |
if v2 == 16 then vC += -2 | |
sprite vC vD 4 | |
return | |
: L46 | |
vE := 128 | |
v1 := delay | |
if v1 != 0 then jump L52 | |
if v4 != 0 then jump L52 | |
v1 := v0 | |
v3 <<= v0 | |
if vF == 0 then jump L47 | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L49 | |
if v3 != 0 then jump L48 | |
v7 ^= vE | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L51 | |
if v3 != 0 then jump L50 | |
v7 ^= vE | |
jump L52 | |
: L47 | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L51 | |
if v3 != 0 then jump L50 | |
v7 ^= vE | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L49 | |
if v3 != 0 then jump L48 | |
v7 ^= vE | |
jump L52 | |
: L48 | |
v3 := 64 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 4 | |
vD += 2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 48 | |
v7 |= v2 | |
return | |
: L49 | |
v3 := 16 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 4 | |
vD += -2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 0 | |
v7 |= v2 | |
return | |
: L50 | |
v3 := 32 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 4 | |
vC += 2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 32 | |
v7 |= v2 | |
return | |
: L51 | |
v3 := 128 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 4 | |
vC += -2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 16 | |
v7 |= v2 | |
return | |
: L52 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L54 | |
: L53 | |
v7 ^= vE | |
vE := 48 | |
v7 ^= vE | |
v2 ^= vE | |
jump L45 | |
: L54 | |
sprite vC vD 4 | |
v0 <<= v0 | |
if vF == 0 then jump L55 | |
v2 := 144 | |
vC += -2 | |
jump L58 | |
: L55 | |
v0 <<= v0 | |
if vF == 0 then jump L56 | |
v2 := 48 | |
vD += 2 | |
jump L58 | |
: L56 | |
v0 <<= v0 | |
if vF == 0 then jump L57 | |
v2 := 160 | |
vC += 2 | |
jump L58 | |
: L57 | |
v0 <<= v0 | |
if vF == 0 then jump L53 | |
v2 := 0 | |
vD += -2 | |
: L58 | |
sprite vC vD 4 | |
vE := 79 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub4 | |
v0 := v7 | |
vE := 3 | |
v0 &= vE | |
v0 <<= v0 | |
v1 := v8 | |
v1 += v9 | |
vE := 2 | |
v1 &= vE | |
if v1 == 0 then v0 += 1 | |
v0 <<= v0 | |
v0 <<= v0 | |
i := D4 | |
i += v0 | |
sprite v8 v9 4 | |
vE := vF | |
return | |
: Sub5 | |
vE := 0 | |
loop | |
i := D9 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
load v3 | |
i := D13 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
save v3 | |
vE += 1 | |
if vE != 128 then | |
again | |
return | |
: Sub6 | |
v2 ^= v2 | |
v3 ^= v3 | |
vE := 15 | |
: L60 | |
loop | |
v0 := v2 | |
v1 := v3 | |
Sub8 | |
v0 &= vE | |
v0 <<= v0 | |
i := D8 | |
i += v0 | |
sprite v2 v3 2 | |
v2 += 2 | |
if v2 != 64 then jump L60 | |
v2 ^= v2 | |
v3 += 2 | |
if v3 == 32 then return | |
again | |
: Sub7 | |
v0 += 2 | |
v1 += 2 | |
: Sub8 | |
v0 >>= v0 | |
v1 >>= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
i := D13 | |
i += v1 | |
i += v1 | |
i += v0 | |
load v0 | |
return | |
: Sub9 | |
i := D3 | |
load v0 | |
v0 >>= v0 | |
save v0 | |
v0 := 1 | |
loop | |
if v0 key then | |
again | |
return | |
: Sub10 | |
load v1 | |
vE := 1 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 16 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L63 | |
v5 := 39 | |
v2 -= v5 | |
if vF == 0 then jump L63 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L63 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := -24 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L65 | |
v5 := 3 | |
v2 -= v5 | |
if vF == 0 then jump L65 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L65 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 100 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L67 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L67 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 10 | |
v3 -= v5 | |
if vF == 0 then jump L69 | |
v1 := v3 | |
v4 += vE | |
again | |
: L69 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
i := hex v1 | |
sprite v6 v7 5 | |
return | |
: Sub11 | |
i := D1 | |
load v1 | |
v1 += vE | |
if vF != 0 then v0 += 1 | |
i := D1 | |
save v1 | |
return | |
: Sub12 | |
i := D1 | |
load v3 | |
vE := v0 | |
vE -= v2 | |
if vF == 0 then return | |
if vE != 0 then jump L70 | |
vE := v1 | |
vE -= v3 | |
if vF == 0 then return | |
: L70 | |
i := D2 | |
save v1 | |
return | |
: Sub13 | |
vE ^= vE | |
v2 := 15 | |
v3 := -1 | |
v1 := 16 | |
: L71 | |
loop | |
if v2 key then jump L72 | |
v1 += v3 | |
if v1 != 0 then jump L71 | |
v1 := 16 | |
v0 += v3 | |
if v0 != 0 then | |
again | |
return | |
: L72 | |
vE := 1 | |
return | |
: D1 | |
0x0 0x0 | |
: D2 | |
0x0 0x0 | |
: D3 | |
0x5 | |
: D4 | |
0x0 0x50 0x70 0x20 0x0 0x50 0x70 0x20 0x0 0x60 0x30 0x60 0x0 0x60 0x30 0x60 0x0 0x30 0x60 0x30 0x0 0x30 0x60 0x30 0x0 0x20 0x70 0x50 0x0 0x20 0x70 0x50 | |
: D5 | |
0x0 0x20 0x70 0x70 | |
: D6 | |
0x0 0x0 0x20 0x0 | |
: D7 | |
0x0 0x0 0x0 0x0 | |
: D8 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0xc0 0x0 0x0 0x0 0x80 0x80 0x0 0x0 0xc0 0x80 0x80 0x80 0xc0 0x0 0x80 0x0 | |
: D9 | |
0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xe 0xf 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xa 0xa 0x5 0xa 0x65 0x6 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0xc5 0xa 0x35 0x5 0x5 0x95 0xa 0x65 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x6 0xc5 0xa 0x5 0xa 0xa 0x5 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xc 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0x8 0xc 0x8 0x8 0x8 0x8 0xf 0x5 0xf 0x5 0xa 0xa 0x75 0x5 0xb5 0x5 0x5 0x5 0x5 0xc5 0xa 0x65 0x5 0xb5 0x5 0xe5 0x5 0x5 0xe5 0x5 0xb5 0x5 0xc5 0xa 0x65 0x5 0x5 0x5 0x5 0xb5 0x5 0xd5 0xa 0xa 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xa 0xf 0x5 0xf 0x65 0x5 0x5 0xc5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0xb0 0x5 0x5 0xb5 0x5 0xc5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0x5 0xc5 0xf 0x5 0xf 0x7 0x74 0x5 0xd5 0x8 0xf 0x5 0xe 0xf 0x5 0x8 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0xf 0x75 0x5 0xd4 0x7 0xa 0x5 0xa 0x35 0x5 0x5 0xf5 0x5 0x5 0xb5 0x5 0x5 0xd5 0x8 0x8 0xd 0xc 0x8 0xf 0x75 0x5 0x5 0xb5 0x5 0x5 0xf5 0x5 0x5 0x95 0xa 0x5 0xa 0xa 0x5 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0x8 0xd 0x35 0x5 0xc5 0xa 0xa 0x65 0x5 0x95 0xc 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0xf 0x5 0xa 0xa 0x75 0x5 0x6 0xc5 0xa 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xa 0x65 0x6 0x5 0xd5 0xa 0xa 0x5 0xc 0xd 0x5 0xa 0x35 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xf5 0x5 0x5 0xf5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0x95 0xa 0x5 0xc 0xd 0x5 0xa 0xa 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0xa 0xa 0x35 0x5 0x5 0xb5 0x5 0x5 0x5 0x5 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x5 0x5 0x5 0x5 0xb5 0x5 0x5 0x95 0xa 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf | |
: D10 | |
0x3c 0x42 0x99 0x99 0x42 0x3c 0x1 0x10 0xf | |
: D11 | |
0x78 0x84 0x32 0x32 0x84 0x78 0x0 0x10 0xe0 | |
: D12 | |
0x78 0xfc 0xfe 0xfe 0x84 0x78 0x0 0x10 0xe0 | |
: D13 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Blinky [Hans Christian Egeberg] (alt).ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L6 # 260 | |
:proto L7 # 2A4 | |
:proto L8 # 2E4 | |
:proto L13 # 392 | |
:proto Sub1 # 39C | |
:proto L17 # 3FE | |
:proto L18 # 416 | |
:proto L19 # 42E | |
:proto L20 # 446 | |
:proto L21 # 45E | |
:proto L22 # 466 | |
:proto L23 # 47E | |
:proto L24 # 49E | |
:proto L25 # 4B0 | |
:proto L26 # 4B8 | |
:proto Sub2 # 4C2 | |
:proto L28 # 4EE | |
:proto L30 # 4FE | |
:proto L31 # 50C | |
:proto L32 # 518 | |
:proto L33 # 524 | |
:proto L34 # 52E | |
:proto Sub3 # 538 | |
:proto L36 # 566 | |
:proto L37 # 594 | |
:proto L38 # 5B2 | |
:proto L39 # 5CC | |
:proto L40 # 5E6 | |
:proto L41 # 600 | |
:proto L42 # 61A | |
:proto L44 # 62C | |
:proto L45 # 63A | |
:proto L46 # 646 | |
:proto L47 # 652 | |
:proto L48 # 65C | |
:proto Sub4 # 666 | |
:proto Sub5 # 67A | |
:proto Sub6 # 69C | |
:proto Sub7 # 6C2 | |
:proto Sub8 # 6C6 | |
:proto Sub9 # 6DE | |
:proto L52 # 704 | |
:proto L54 # 72C | |
:proto L56 # 74C | |
:proto L58 # 766 | |
:proto Sub10 # 772 | |
:proto Sub11 # 782 | |
:proto L59 # 79A | |
:proto Sub12 # 7A0 | |
:proto L61 # 7BC | |
:proto D1 # 7C0 | |
:proto D2 # 7C2 | |
:proto D3 # 7C4 | |
:proto D4 # 7D4 | |
:proto D5 # 7D8 | |
:proto D6 # 7DC | |
:proto D7 # 7E0 | |
:proto D8 # 800 | |
:proto D9 # A00 | |
:proto D10 # A0A | |
:proto D11 # A14 | |
:proto D12 # A1E | |
: main | |
clear | |
jump L1 | |
0x43 0x68 0x72 0x2e 0x20 0x45 0x67 0x65 0x62 0x65 0x72 0x67 0x20 0x31 0x31 0x2f 0x31 0x31 0x2d 0x27 0x39 0x30 | |
: L1 | |
v0 ^= v0 | |
v1 ^= v1 | |
i := D1 | |
save v1 | |
: L2 | |
v6 := 0 | |
v7 := 0 | |
Sub5 | |
: L3 | |
vE := 64 | |
v7 &= vE | |
vE := 39 | |
v7 |= vE | |
v8 := 26 | |
v9 := 12 | |
vA := 56 | |
vB := 0 | |
vC := 2 | |
vD := 26 | |
clear | |
Sub6 | |
Sub4 | |
i := D4 | |
sprite vA vB 4 | |
sprite vC vD 4 | |
loop | |
Sub1 | |
if vE != 0 then jump L6 | |
: L5 | |
Sub2 | |
Sub3 | |
if v6 != -9 then | |
again | |
vE := v6 | |
Sub10 | |
vE := 100 | |
Sub10 | |
jump L2 | |
: L6 | |
v0 := delay | |
if v0 == 0 then jump L8 | |
v0 := v8 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v1 := vA | |
v1 >>= v5 | |
v1 >>= v5 | |
v1 >>= v5 | |
if v0 != v1 then jump L7 | |
v0 := v9 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v1 := vB | |
v1 >>= v5 | |
v1 >>= v5 | |
v1 >>= v5 | |
if v0 != v1 then jump L7 | |
i := D4 | |
sprite vA vB 4 | |
vA := 56 | |
vB := 0 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
vE := 4 | |
v7 |= vE | |
vE := 50 | |
Sub10 | |
: L7 | |
v0 := v8 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v1 := vC | |
v1 >>= v5 | |
v1 >>= v5 | |
v1 >>= v5 | |
if v0 != v1 then jump L5 | |
v0 := v9 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v1 := vD | |
v1 >>= v5 | |
v1 >>= v5 | |
v1 >>= v5 | |
if v0 != v1 then jump L5 | |
i := D4 | |
sprite vC vD 4 | |
vC := 2 | |
vD := 26 | |
sprite vC vD 4 | |
vE := 207 | |
v7 &= vE | |
vE := 32 | |
v7 |= vE | |
vE := 25 | |
Sub10 | |
jump L5 | |
: L8 | |
v0 := 64 | |
Sub12 | |
vE := 64 | |
v7 ^= vE | |
v0 := v7 | |
v0 &= vE | |
if v0 != 0 then jump L3 | |
vE := v6 | |
Sub10 | |
Sub11 | |
clear | |
v6 := 17 | |
v7 := 10 | |
i := D2 | |
Sub9 | |
v6 := 17 | |
v7 := 16 | |
i := D1 | |
Sub9 | |
v4 := 0 | |
v5 := 8 | |
v6 := 0 | |
v7 := 15 | |
: L9 | |
loop | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub12 | |
if vE != 0 then jump L13 | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v4 += 2 | |
v5 += 2 | |
if v4 != 48 then | |
again | |
loop | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub12 | |
if vE != 0 then jump L13 | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v6 += 2 | |
if v6 != 22 then | |
again | |
loop | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub12 | |
if vE != 0 then jump L13 | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v4 += -2 | |
v5 += -2 | |
if v4 != 0 then | |
again | |
loop | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v0 := 3 | |
Sub12 | |
if vE != 0 then jump L13 | |
i := D9 | |
sprite v4 v6 9 | |
i := D10 | |
sprite v5 v6 9 | |
v6 += -2 | |
if v6 != 0 then | |
again | |
jump L9 | |
: L13 | |
i := D10 | |
sprite v5 v6 9 | |
i := D11 | |
sprite v5 v6 9 | |
jump L1 | |
: Sub1 | |
v3 := v7 | |
vE := 3 | |
v3 &= vE | |
v4 := v8 | |
v5 := v9 | |
vE := 8 | |
if vE key then jump L17 | |
vE := 2 | |
if vE key then jump L18 | |
vE := 6 | |
if vE key then jump L19 | |
vE := 4 | |
if vE key then jump L20 | |
: L14 | |
if v3 == 3 then v5 += 2 | |
if v3 == 0 then v5 += -2 | |
if v3 == 2 then v4 += 2 | |
if v3 == 1 then v4 += -2 | |
v0 := v4 | |
v1 := v5 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
: L15 | |
if v0 != 0 then jump L21 | |
vE := 7 | |
v0 := v2 | |
v2 &= vE | |
if v2 == 5 then jump L22 | |
if v2 == 6 then jump L23 | |
if v2 == 7 then jump L26 | |
: L16 | |
Sub4 | |
vE := -4 | |
v7 &= vE | |
v7 |= v3 | |
v8 := v4 | |
v9 := v5 | |
jump Sub4 | |
: L17 | |
v0 := v4 | |
v1 := v5 | |
v1 += 2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L14 | |
v3 := 3 | |
v5 += 2 | |
jump L15 | |
: L18 | |
v0 := v4 | |
v1 := v5 | |
v1 += -2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L14 | |
v3 := 0 | |
v5 += -2 | |
jump L15 | |
: L19 | |
v0 := v4 | |
v1 := v5 | |
v0 += 2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L14 | |
v3 := 2 | |
v4 += 2 | |
jump L15 | |
: L20 | |
v0 := v4 | |
v1 := v5 | |
v0 += -2 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L14 | |
v3 := 1 | |
v4 += -2 | |
jump L15 | |
: L21 | |
Sub4 | |
sprite v8 v9 4 | |
vE := vF | |
return | |
: L22 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D5 | |
sprite v4 v5 4 | |
v6 += 1 | |
v1 := 5 | |
v0 := delay | |
if v0 == 0 then buzzer := v1 | |
jump L16 | |
: L23 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D6 | |
sprite v4 v5 4 | |
v6 += 4 | |
v0 := vA | |
v1 := vB | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L24 | |
vE := 12 | |
v7 ^= vE | |
: L24 | |
v0 := vC | |
v1 := vD | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L25 | |
vE := 48 | |
v7 ^= vE | |
: L25 | |
v0 := -1 | |
buzzer := v0 | |
delay := v0 | |
jump L16 | |
: L26 | |
if v3 == 1 then v4 := 58 | |
if v3 == 2 then v4 := 0 | |
jump L16 | |
: Sub2 | |
v2 := v7 | |
vE := 12 | |
v2 &= vE | |
v0 := vA | |
v1 := vB | |
Sub7 | |
i := D4 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L28 | |
: L27 | |
sprite vA vB 4 | |
if v2 == 12 then vB += 2 | |
if v2 == 0 then vB += -2 | |
if v2 == 8 then vA += 2 | |
if v2 == 4 then vA += -2 | |
sprite vA vB 4 | |
return | |
: L28 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L30 | |
: L29 | |
vE := 12 | |
v7 ^= vE | |
v2 ^= vE | |
jump L27 | |
: L30 | |
sprite vA vB 4 | |
v0 <<= v5 | |
if vF == 0 then jump L31 | |
v2 := 4 | |
vA += -2 | |
jump L34 | |
: L31 | |
v0 <<= v5 | |
if vF == 0 then jump L32 | |
v2 := 12 | |
vB += 2 | |
jump L34 | |
: L32 | |
v0 <<= v5 | |
if vF == 0 then jump L33 | |
v2 := 8 | |
vA += 2 | |
jump L34 | |
: L33 | |
v0 <<= v5 | |
if vF == 0 then jump L29 | |
v2 := 0 | |
vB += -2 | |
: L34 | |
sprite vA vB 4 | |
vE := -13 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub3 | |
v2 := v7 | |
v3 := v7 | |
vE := 48 | |
v2 &= vE | |
v0 := vC | |
v1 := vD | |
Sub7 | |
i := D4 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L36 | |
: L35 | |
sprite vC vD 4 | |
if v2 == 48 then vD += 2 | |
if v2 == 0 then vD += -2 | |
if v2 == 32 then vC += 2 | |
if v2 == 16 then vC += -2 | |
sprite vC vD 4 | |
return | |
: L36 | |
vE := 128 | |
v1 := delay | |
if v1 != 0 then jump L42 | |
v1 := v0 | |
v3 <<= v5 | |
if vF == 0 then jump L37 | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L39 | |
if v3 != 0 then jump L38 | |
v7 ^= vE | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L41 | |
if v3 != 0 then jump L40 | |
v7 ^= vE | |
jump L42 | |
: L37 | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L41 | |
if v3 != 0 then jump L40 | |
v7 ^= vE | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L39 | |
if v3 != 0 then jump L38 | |
v7 ^= vE | |
jump L42 | |
: L38 | |
v3 := 64 | |
v1 &= v3 | |
if v1 == 0 then jump L42 | |
sprite vC vD 4 | |
vD += 2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 48 | |
v7 |= v2 | |
return | |
: L39 | |
v3 := 16 | |
v1 &= v3 | |
if v1 == 0 then jump L42 | |
sprite vC vD 4 | |
vD += -2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 0 | |
v7 |= v2 | |
return | |
: L40 | |
v3 := 32 | |
v1 &= v3 | |
if v1 == 0 then jump L42 | |
sprite vC vD 4 | |
vC += 2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 32 | |
v7 |= v2 | |
return | |
: L41 | |
v3 := 128 | |
v1 &= v3 | |
if v1 == 0 then jump L42 | |
sprite vC vD 4 | |
vC += -2 | |
sprite vC vD 4 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 16 | |
v7 |= v2 | |
return | |
: L42 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L44 | |
: L43 | |
v7 ^= vE | |
vE := 48 | |
v7 ^= vE | |
v2 ^= vE | |
jump L35 | |
: L44 | |
sprite vC vD 4 | |
v0 <<= v5 | |
if vF == 0 then jump L45 | |
v2 := 144 | |
vC += -2 | |
jump L48 | |
: L45 | |
v0 <<= v5 | |
if vF == 0 then jump L46 | |
v2 := 48 | |
vD += 2 | |
jump L48 | |
: L46 | |
v0 <<= v5 | |
if vF == 0 then jump L47 | |
v2 := 160 | |
vC += 2 | |
jump L48 | |
: L47 | |
v0 <<= v5 | |
if vF == 0 then jump L43 | |
v2 := 0 | |
vD += -2 | |
: L48 | |
sprite vC vD 4 | |
vE := 79 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub4 | |
v0 := v7 | |
vE := 3 | |
v0 &= vE | |
v0 <<= v5 | |
v0 <<= v5 | |
i := D3 | |
i += v0 | |
sprite v8 v9 4 | |
vE := vF | |
return | |
: Sub5 | |
vE := 0 | |
loop | |
i := D8 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
load v3 | |
i := D12 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
save v3 | |
vE += 1 | |
if vE != 128 then | |
again | |
return | |
: Sub6 | |
v2 ^= v2 | |
v3 ^= v3 | |
vE := 15 | |
: L50 | |
loop | |
v0 := v2 | |
v1 := v3 | |
Sub8 | |
v0 &= vE | |
v0 <<= v5 | |
i := D7 | |
i += v0 | |
sprite v2 v3 2 | |
v2 += 2 | |
if v2 != 64 then jump L50 | |
v2 ^= v2 | |
v3 += 2 | |
if v3 == 32 then return | |
again | |
: Sub7 | |
v0 += 2 | |
v1 += 2 | |
: Sub8 | |
v0 >>= v5 | |
v1 >>= v5 | |
v1 <<= v5 | |
v1 <<= v5 | |
v1 <<= v5 | |
v1 <<= v5 | |
i := D12 | |
i += v1 | |
i += v1 | |
i += v0 | |
load v0 | |
return | |
: Sub9 | |
load v1 | |
vE := 1 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 16 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L52 | |
v5 := 39 | |
v2 -= v5 | |
if vF == 0 then jump L52 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L52 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := -24 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L54 | |
v5 := 3 | |
v2 -= v5 | |
if vF == 0 then jump L54 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L54 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 100 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L56 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L56 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 10 | |
v3 -= v5 | |
if vF == 0 then jump L58 | |
v1 := v3 | |
v4 += vE | |
again | |
: L58 | |
i := hex v4 | |
sprite v6 v7 5 | |
v6 += 6 | |
i := hex v1 | |
sprite v6 v7 5 | |
return | |
: Sub10 | |
i := D1 | |
load v1 | |
v1 += vE | |
if vF != 0 then v0 += 1 | |
i := D1 | |
save v1 | |
return | |
: Sub11 | |
i := D1 | |
load v3 | |
vE := v0 | |
vE -= v2 | |
if vF == 0 then return | |
if vE != 0 then jump L59 | |
vE := v1 | |
vE -= v3 | |
if vF == 0 then return | |
: L59 | |
i := D2 | |
save v1 | |
return | |
: Sub12 | |
vE ^= vE | |
v2 := 15 | |
v3 := -1 | |
v1 := 16 | |
: L60 | |
loop | |
if v2 key then jump L61 | |
v1 += v3 | |
if v1 != 0 then jump L60 | |
v1 := 16 | |
v0 += v3 | |
if v0 != 0 then | |
again | |
return | |
: L61 | |
vE := 1 | |
return | |
: D1 | |
0x0 0x0 | |
: D2 | |
0x0 0x0 | |
: D3 | |
0x0 0x50 0x70 0x20 0x0 0x60 0x30 0x60 0x0 0x30 0x60 0x30 0x0 0x20 0x70 0x50 | |
: D4 | |
0x0 0x20 0x70 0x70 | |
: D5 | |
0x0 0x0 0x20 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0xc0 0x0 0x0 0x0 0x80 0x80 0x0 0x0 0xc0 0x80 0x80 0x80 0xc0 0x0 0x80 0x0 | |
: D8 | |
0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xe 0xf 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xa 0xa 0x5 0xa 0x65 0x6 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0xc5 0xa 0x35 0x5 0x5 0x95 0xa 0x65 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x6 0xc5 0xa 0x5 0xa 0xa 0x5 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xc 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0x8 0xc 0x8 0x8 0x8 0x8 0xf 0x5 0xf 0x5 0xa 0xa 0x75 0x5 0xb5 0x5 0x5 0x5 0x5 0xc5 0xa 0x65 0x5 0xb5 0x5 0xe5 0x5 0x5 0xe5 0x5 0xb5 0x5 0xc5 0xa 0x65 0x5 0x5 0x5 0x5 0xb5 0x5 0xd5 0xa 0xa 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xa 0xf 0x5 0xf 0x65 0x5 0x5 0xe5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0xb0 0x5 0x5 0xb5 0x5 0xc5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0x5 0xc5 0xf 0x5 0xf 0x7 0x74 0x5 0xd5 0x8 0xf 0x5 0xe 0xf 0x5 0x8 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0xf 0x75 0x5 0xd4 0x7 0xa 0x5 0xa 0x35 0x5 0x5 0xf5 0x5 0x5 0xb5 0x5 0x5 0xd5 0x8 0x8 0xd 0xc 0x8 0xf 0x75 0x5 0x5 0xb5 0x5 0x5 0xf5 0x5 0x5 0x95 0xa 0x5 0xa 0xa 0x5 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0x8 0xd 0x35 0x5 0xc5 0xa 0xa 0x65 0x5 0x95 0xc 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0xf 0x5 0xa 0xa 0x75 0x5 0x5 0xc5 0xa 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xa 0x65 0x5 0x5 0xd5 0xa 0xa 0x5 0xc 0xd 0x6 0xa 0x35 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xf5 0x5 0x5 0xf5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0x95 0xa 0x6 0xc 0xd 0x5 0xa 0xa 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0xa 0xa 0x35 0x5 0x5 0xb5 0x5 0x5 0x5 0x5 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x5 0x5 0x5 0x5 0xb5 0x5 0x5 0x95 0xa 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf | |
: D9 | |
0x3c 0x42 0x99 0x99 0x42 0x3c 0x1 0x10 0xf 0x0 | |
: D10 | |
0x78 0x84 0x32 0x32 0x84 0x78 0x0 0x10 0xe0 0x0 | |
: D11 | |
0x78 0xfc 0xfe 0xfe 0x84 0x78 0x0 0x10 0xe0 0x0 | |
: D12 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Blitz [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 217 | |
:proto L5 # 249 | |
:proto L8 # 281 | |
:proto L9 # 287 | |
:proto L11 # 2AB | |
:proto L12 # 2B9 | |
:proto L13 # 2BB | |
:proto L14 # 2C1 | |
:proto Sub1 # 2D9 | |
:proto D1 # 307 | |
:proto D2 # 31B | |
:proto D3 # 31E | |
:proto D4 # 320 | |
:proto D5 # 341 | |
:proto D6 # 387 | |
: main | |
jump L1 | |
0x42 0x4c 0x49 0x54 0x5a 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
i := D5 | |
v0 := 4 | |
v1 := 9 | |
v2 := 14 | |
v7 := 4 | |
loop | |
sprite v0 v1 14 | |
i += v2 | |
v0 += 12 | |
if v0 != 64 then | |
again | |
v0 := key | |
: L3 | |
clear | |
Sub1 | |
v0 := key | |
clear | |
vE := v7 | |
i := D3 | |
: L4 | |
loop | |
vB := 31 | |
vC := random 0b11111 | |
vC += vC | |
sprite vC vB 2 | |
if vF != 1 then jump L5 | |
sprite vC vB 2 | |
again | |
: L5 | |
vA := random 0b111 | |
vA += 1 | |
loop | |
vB += -2 | |
sprite vC vB 2 | |
vA += -1 | |
if vA != 0 then | |
again | |
vE += -1 | |
if vE != 0 then jump L4 | |
vB := 0 | |
vC := v7 | |
vD := 0 | |
vE := 0 | |
: L7 | |
i := D2 | |
sprite vD vE 3 | |
if vF != 0 then jump L14 | |
if vB != 0 then jump L8 | |
v0 := 5 | |
if v0 -key then jump L9 | |
vB := 1 | |
v8 := vD | |
v8 += 2 | |
v9 := vE | |
v9 += 3 | |
: L8 | |
i := D3 | |
sprite v8 v9 1 | |
v1 := vF | |
: L9 | |
v0 := 5 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
if vB != 1 then jump L11 | |
i := D3 | |
if v1 != 1 then sprite v8 v9 1 | |
v9 += 1 | |
if v9 != 32 then jump L11 | |
vB := 0 | |
if v1 != 0 then vC += -1 | |
if vC == 0 then jump L13 | |
: L11 | |
i := D2 | |
sprite vD vE 3 | |
vD += 2 | |
if vD != 64 then jump L12 | |
vD := 0 | |
vE += 1 | |
: L12 | |
jump L7 | |
: L13 | |
clear | |
v7 += 2 | |
jump L3 | |
: L14 | |
i := D2 | |
sprite vD vE 3 | |
v0 := 20 | |
v1 := 2 | |
v2 := 11 | |
i := D4 | |
loop | |
sprite v0 v1 11 | |
i += v2 | |
v0 += 8 | |
if v0 != 44 then | |
again | |
loop | |
again | |
: Sub1 | |
v0 := 10 | |
v1 := 13 | |
v2 := 5 | |
i := D1 | |
loop | |
sprite v0 v1 5 | |
i += v2 | |
v0 += 8 | |
if v0 != 42 then | |
again | |
v0 := v7 | |
v0 += -2 | |
v0 >>= v0 | |
i := D6 | |
bcd v0 | |
load v2 | |
v0 := 45 | |
i := hex v1 | |
v1 := 13 | |
sprite v0 v1 5 | |
v0 += 5 | |
i := hex v2 | |
sprite v0 v1 5 | |
return | |
: D1 | |
0x83 0x82 0x83 0x82 0xfb 0xe8 0x8 0x88 0x5 0xe2 0xbe 0xa0 0xb8 0x20 0x3e 0x80 0x80 0x80 0x80 0xf8 | |
: D2 | |
0x80 0xf8 0xfc | |
: D3 | |
0xc0 0xc0 | |
: D4 | |
0xf9 0x81 0xdb 0xcb 0xfb 0x0 0xfa 0x8a 0x9a 0x99 0xf8 0xef 0x2a 0xe8 0x29 0x29 0x0 0x6f 0x68 0x2e 0x4c 0x8f 0xbe 0xa0 0xb8 0xb0 0xbe 0x0 0xbe 0x22 0x3e 0x34 0xb2 | |
: D5 | |
0xd8 0xd8 0x0 0xc3 0xc3 0x0 0xd8 0xd8 0x0 0xc3 0xc3 0x0 0xd8 0xd8 0xc0 0xc0 0x0 0xc0 0xc0 0x0 0xc0 0xc0 0x0 0xc0 0xc0 0x0 0xdb 0xdb 0xdb 0xdb 0x0 0x18 0x18 0x0 0x18 0x18 0x0 0x18 0x18 0x0 0xdb 0xdb 0xdb 0xdb 0x0 0x18 0x18 0x0 0x18 0x18 0x0 0x18 0x18 0x0 0x18 0x18 0xdb 0xdb 0x0 0x3 0x3 0x0 0x18 0x18 0x0 0xc0 0xc0 0x0 0xdb 0xdb | |
: D6 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Bowling [Gooitzen van der Wal].ch8 | |
###################################################################### | |
:proto L3 # 246 | |
:proto L10 # 2EA | |
:proto L11 # 2F4 | |
:proto L12 # 2FE | |
:proto L13 # 312 | |
:proto L14 # 314 | |
:proto L17 # 344 | |
:proto L19 # 35A | |
:proto L21 # 36E | |
:proto Sub1 # 376 | |
:proto L28 # 406 | |
:proto L29 # 410 | |
:proto L30 # 414 | |
:proto L31 # 418 | |
:proto L32 # 41C | |
:proto L33 # 41E | |
:proto L34 # 420 | |
:proto L35 # 422 | |
:proto L38 # 458 | |
:proto L39 # 45C | |
:proto L40 # 466 | |
:proto L43 # 47A | |
:proto L44 # 484 | |
:proto L45 # 486 | |
:proto L46 # 488 | |
:proto Sub2 # 48E | |
:proto L49 # 49E | |
:proto D1 # 4A9 | |
:proto L50 # 4AE | |
:proto L51 # 4CE | |
:proto L52 # 4F6 | |
:proto L53 # 4F8 | |
:proto L54 # 514 | |
:proto L55 # 516 | |
:proto L56 # 518 | |
:proto L57 # 51A | |
:proto L58 # 51C | |
:proto L59 # 51E | |
:proto L60 # 520 | |
:proto L61 # 522 | |
:proto L63 # 530 | |
:proto L64 # 53A | |
:proto L65 # 550 | |
:proto Sub3 # 55E | |
:proto Sub4 # 57A | |
:proto Sub5 # 590 | |
:proto Sub6 # 596 | |
:proto Sub7 # 598 | |
:proto L66 # 5AA | |
:proto L67 # 5AC | |
:proto L68 # 5B0 | |
:proto Sub8 # 5B4 | |
:proto Sub9 # 5B6 | |
:proto Sub10 # 5BC | |
:proto Sub11 # 5C6 | |
:proto Sub13 # 5DE | |
:proto Sub14 # 5E0 | |
:proto Sub15 # 5EA | |
:proto Sub16 # 5EE | |
:proto L72 # 5F0 | |
:proto Sub17 # 5F4 | |
:proto Sub18 # 608 | |
:proto Sub19 # 614 | |
:proto Sub20 # 626 | |
:proto D2 # 642 | |
:proto D3 # 647 | |
:proto D4 # 64A | |
:proto D5 # 64D | |
:proto D6 # 652 | |
:proto D7 # 656 | |
:proto D8 # 658 | |
:proto D9 # 65A | |
:proto D10 # 65F | |
:proto D11 # 664 | |
:proto D12 # 66B | |
:proto D13 # 66F | |
:proto D14 # 675 | |
:proto D15 # 67C | |
:proto D16 # 684 | |
:proto D17 # 685 | |
:proto D18 # 68A | |
:proto D19 # 690 | |
:proto D20 # 694 | |
:proto D21 # 696 | |
:proto D22 # 6A6 | |
:proto D23 # 6A7 | |
:proto D24 # 6A8 | |
: main | |
v3 := 20 | |
v4 := 0 | |
Sub3 | |
v0 := 5 | |
Sub8 | |
v3 := 12 | |
loop | |
Sub10 | |
v9 := 6 | |
v9 -= vB | |
if vB != 0 then if vF == 0 then | |
again | |
i := hex vB | |
sprite v6 v4 5 | |
vD := vB | |
vD += 9 | |
v3 := 20 | |
v4 := 12 | |
Sub4 | |
v0 := 5 | |
Sub8 | |
v3 := 12 | |
loop | |
Sub10 | |
v9 := 9 | |
v9 -= vB | |
if vF == 0 then | |
again | |
i := hex vB | |
sprite v3 v4 5 | |
if vB != 0 then jump L3 | |
vB := 10 | |
v3 := 7 | |
v0 := 1 | |
Sub8 | |
: L3 | |
v0 := vB | |
i := D22 | |
save v0 | |
vE := 0 | |
v3 := 20 | |
v4 := 24 | |
v0 := 5 | |
Sub8 | |
i := D4 | |
Sub9 | |
v0 := 14 | |
Sub8 | |
Sub8 | |
v0 := 13 | |
Sub8 | |
v3 := 12 | |
loop | |
Sub10 | |
v9 := 3 | |
v9 -= vB | |
if vB != 0 then if vF == 0 then | |
again | |
i := hex vB | |
sprite v3 v4 5 | |
v0 := 0 | |
if vB == 2 then v0 := 4 | |
if vB == 1 then v0 := 8 | |
i := D1 | |
save v0 | |
Sub13 | |
i := D20 | |
v0 := 0 | |
v1 := 0 | |
loop | |
save v0 | |
v1 += 1 | |
if v1 != 18 then | |
again | |
: L6 | |
vC := 10 | |
vE += 1 | |
loop | |
Sub18 | |
vA := 0 | |
Sub1 | |
v3 := 0 | |
v4 := 16 | |
Sub3 | |
Sub11 | |
v0 := vC | |
Sub8 | |
v3 := 2 | |
v4 := 27 | |
Sub4 | |
Sub11 | |
v0 := vE | |
Sub6 | |
v3 := 48 | |
v4 := 0 | |
i := D15 | |
sprite v3 v4 9 | |
v3 += 8 | |
sprite v3 v4 9 | |
i := D21 | |
i += vC | |
load v0 | |
v4 := 1 | |
if v0 != 1 then jump L10 | |
v3 := 57 | |
i := D13 | |
sprite v3 v4 7 | |
: L8 | |
i := D23 | |
load v0 | |
v3 := 50 | |
v4 := 2 | |
Sub8 | |
jump L11 | |
: L9 | |
v3 := 58 | |
v4 := 2 | |
i := hex vB | |
sprite v3 v4 5 | |
jump L8 | |
: L10 | |
if v0 == 0 then jump L9 | |
v3 := 49 | |
i := D14 | |
sprite v3 v4 7 | |
: L11 | |
Sub13 | |
if vC == vD then jump L12 | |
vC += 1 | |
again | |
: L12 | |
clear | |
v3 := 0 | |
v4 := 0 | |
Sub4 | |
Sub11 | |
v0 := vE | |
if v0 != 14 then jump L13 | |
Sub8 | |
jump L14 | |
: L13 | |
Sub6 | |
: L14 | |
vC := 10 | |
: L15 | |
v3 := 0 | |
v4 += 9 | |
loop | |
v0 := vC | |
Sub8 | |
Sub11 | |
i := D18 | |
i += vC | |
load v0 | |
v5 := v0 | |
i := D19 | |
i += vC | |
load v0 | |
Sub7 | |
Sub17 | |
if vC == vD then jump L17 | |
vC += 1 | |
v9 := 36 | |
v9 -= v3 | |
if vF != 1 then jump L15 | |
v3 := 37 | |
again | |
: L17 | |
v3 := 55 | |
v4 := 0 | |
if vE == 14 then loop | |
again | |
i := D22 | |
load v0 | |
if vE == v0 then jump L19 | |
Sub6 | |
v9 := key | |
jump L6 | |
: L19 | |
v9 := key | |
vE := 14 | |
vC := 10 | |
loop | |
Sub18 | |
if v0 == 0 then jump L21 | |
vA := 0 | |
if v0 == 1 then vA := 1 | |
Sub1 | |
: L21 | |
if vC == vD then jump L12 | |
vC += 1 | |
again | |
: Sub1 | |
Sub13 | |
clear | |
i := D16 | |
v2 := 0 | |
: L22 | |
v1 := 0 | |
loop | |
sprite v1 v2 1 | |
v1 += 8 | |
if v1 != 64 then | |
again | |
v2 += 31 | |
if v2 == 31 then jump L22 | |
i := D17 | |
v1 := 0 | |
v2 := 1 | |
sprite v1 v2 15 | |
v2 := 16 | |
sprite v1 v2 15 | |
: L24 | |
i := D3 | |
v1 := 39 | |
v2 := 14 | |
sprite v1 v2 4 | |
v1 := 45 | |
v2 := 10 | |
Sub5 | |
sprite v1 v2 4 | |
v1 := 51 | |
v2 := 6 | |
Sub5 | |
Sub5 | |
sprite v1 v2 4 | |
v1 := 57 | |
v2 := 2 | |
Sub5 | |
Sub5 | |
Sub5 | |
sprite v1 v2 4 | |
: L25 | |
vB := 0 | |
i := D2 | |
v1 := 1 | |
v2 := 14 | |
: L26 | |
v3 := 26 | |
v4 := 1 | |
: L27 | |
loop | |
sprite v1 v2 5 | |
v8 := 34 | |
v9 := 2 | |
v5 := 1 | |
if v5 key then jump L29 | |
v5 := 2 | |
if v5 key then jump L30 | |
v5 := 3 | |
if v5 key then jump L31 | |
v5 := 5 | |
if v5 key then jump L32 | |
v5 := 7 | |
if v5 key then jump L35 | |
v5 := 8 | |
if v5 key then jump L34 | |
v5 := 9 | |
if v5 key then jump L33 | |
sprite v1 v2 5 | |
if v2 == v3 then jump L28 | |
v2 += v4 | |
jump L27 | |
: L28 | |
if v4 != 1 then jump L26 | |
v3 := 1 | |
v4 := -1 | |
again | |
: L29 | |
v9 += -4 | |
jump L35 | |
: L30 | |
v9 += -4 | |
jump L34 | |
: L31 | |
v9 += -4 | |
jump L33 | |
: L32 | |
v9 += -2 | |
: L33 | |
v8 += 9 | |
: L34 | |
v8 += 9 | |
: L35 | |
Sub16 | |
Sub2 | |
i := D19 | |
i += vC | |
load v0 | |
v8 := v0 | |
i := D21 | |
i += vC | |
load v0 | |
v9 := v0 | |
if vA != 0 then jump L40 | |
if v9 == 3 then jump L38 | |
if v9 != 0 then jump L39 | |
: L36 | |
Sub20 | |
if vB == 10 then jump L44 | |
: L37 | |
Sub19 | |
i := D23 | |
v0 := vB | |
save v0 | |
vA += 1 | |
if vB != 10 then jump L25 | |
jump L24 | |
: L38 | |
Sub20 | |
v9 += -1 | |
: L39 | |
Sub20 | |
v9 += -1 | |
if vE != 14 then jump L36 | |
jump L37 | |
: L40 | |
if v9 == 1 then jump L43 | |
: L41 | |
Sub20 | |
i := D23 | |
load v0 | |
v0 += vB | |
if v0 == 10 then jump L45 | |
: L42 | |
Sub13 | |
jump L46 | |
: L43 | |
Sub20 | |
v9 += -1 | |
if vE != 14 then jump L41 | |
jump L42 | |
: L44 | |
v9 += 1 | |
: L45 | |
v9 += 1 | |
: L46 | |
Sub19 | |
clear | |
return | |
: Sub2 | |
v3 := 0 | |
vF := 0 | |
loop | |
if vF != 0 then jump L50 | |
sprite v1 v2 5 | |
: L48 | |
if v1 != v8 then jump L49 | |
v3 := v9 | |
: L49 | |
v1 += 3 | |
v2 += v3 | |
if v1 == 61 then return | |
sprite v1 v2 5 | |
0x60 : D1 0x0 # SMC: v0 := 0 | |
Sub14 | |
again | |
: L50 | |
sprite v1 v2 5 | |
v6 := 39 | |
v7 := 2 | |
v4 := 42 | |
v4 -= v1 | |
if vF != 0 then jump L53 | |
v4 := 48 | |
v4 -= v1 | |
if vF != 0 then jump L51 | |
v4 := 54 | |
v4 -= v1 | |
if vF != 0 then jump L52 | |
v6 += 12 | |
: L51 | |
v6 += 6 | |
if v2 == 0 then jump L54 | |
v4 := 5 | |
v4 -= v2 | |
if vF != 0 then jump L61 | |
v4 := 13 | |
v4 -= v2 | |
if vF != 0 then jump L59 | |
v4 := 21 | |
v4 -= v2 | |
if vF != 0 then jump L57 | |
v4 := 26 | |
v4 -= v2 | |
if vF != 0 then jump L55 | |
jump L54 | |
: L52 | |
v6 += 12 | |
: L53 | |
if v2 == 0 then jump L54 | |
v4 := 9 | |
v4 -= v2 | |
if vF != 0 then jump L60 | |
v4 := 17 | |
v4 -= v2 | |
if vF != 0 then jump L58 | |
v4 := 25 | |
v4 -= v2 | |
if vF != 0 then jump L56 | |
: L54 | |
jump Sub16 | |
: L55 | |
v7 += 4 | |
: L56 | |
v7 += 4 | |
: L57 | |
v7 += 4 | |
: L58 | |
v7 += 4 | |
: L59 | |
v7 += 4 | |
: L60 | |
v7 += 4 | |
: L61 | |
loop | |
i := D3 | |
sprite v6 v7 4 | |
if vF != 0 then jump L63 | |
sprite v6 v7 4 | |
: L62 | |
i := D2 | |
jump L48 | |
: L63 | |
vB += 1 | |
Sub15 | |
v0 := random 0b111 | |
v0 += v0 | |
jump0 L64 | |
: L64 | |
jump L65 | |
0x15 0x4e 0x15 0x4a 0x15 0x48 0x15 0x50 0x15 0x4e 0x15 0x4a 0x77 0x10 0x77 0xf8 0x15 0x54 0x77 0x8 | |
: L65 | |
v7 += -4 | |
v6 += 6 | |
v4 := 27 | |
v4 -= v7 | |
if vF != 0 then | |
again | |
jump L62 | |
: Sub3 | |
i := D4 | |
Sub9 | |
i := D5 | |
sprite v3 v4 5 | |
v3 += 4 | |
v0 := 10 | |
Sub8 | |
i := D6 | |
sprite v3 v4 5 | |
v3 += 4 | |
v0 := 14 | |
Sub8 | |
i := D9 | |
jump Sub9 | |
: Sub4 | |
v0 := 15 | |
Sub8 | |
i := D9 | |
Sub9 | |
v0 := 10 | |
Sub8 | |
i := D10 | |
sprite v3 v4 5 | |
v3 += 6 | |
v0 := 14 | |
jump Sub8 | |
: Sub5 | |
sprite v1 v2 4 | |
v2 += 8 | |
return | |
: Sub6 | |
v5 := 0 | |
: Sub7 | |
i := D24 | |
bcd v0 | |
load v2 | |
v0 := v5 | |
if v0 != 0 then jump L66 | |
if v1 != 0 then jump L67 | |
jump L68 | |
: L66 | |
Sub8 | |
: L67 | |
v0 := v1 | |
Sub8 | |
: L68 | |
v0 := v2 | |
jump Sub8 | |
: Sub8 | |
i := hex v0 | |
: Sub9 | |
sprite v3 v4 5 | |
v3 += 5 | |
return | |
: Sub10 | |
i := D11 | |
sprite v3 v4 7 | |
vB := key | |
sprite v3 v4 7 | |
return | |
: Sub11 | |
i := D12 | |
sprite v3 v4 4 | |
v3 += 2 | |
return | |
: L69 | |
i := D7 | |
: L70 | |
sprite v3 v4 2 | |
v3 += 3 | |
return | |
: Sub12 | |
i := D8 | |
jump L70 | |
0x60 0x40 0x15 0xe0 | |
: Sub13 | |
v0 := 160 | |
: Sub14 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub15 | |
v0 := 1 | |
jump L72 | |
: Sub16 | |
v0 := 8 | |
: L72 | |
buzzer := v0 | |
return | |
: Sub17 | |
i := D21 | |
i += vC | |
load v0 | |
if v0 == 0 then return | |
if v0 == 1 then jump L69 | |
if v0 == 3 then Sub12 | |
jump Sub12 | |
: Sub18 | |
clear | |
i := hex vC | |
v3 := 30 | |
v4 := 13 | |
Sub9 | |
jump Sub17 | |
: Sub19 | |
i := D19 | |
i += vC | |
v0 := v8 | |
save v0 | |
i := D21 | |
i += vC | |
v0 := v9 | |
save v0 | |
return | |
: Sub20 | |
v8 += vB | |
v0 := 99 | |
v0 -= v8 | |
if vF != 0 then return | |
i := D18 | |
i += vC | |
load v0 | |
v0 += 1 | |
i := D18 | |
i += vC | |
save v0 | |
v8 += 156 | |
return | |
: D2 | |
0xf8 0xf8 0xf8 0xf8 0xf8 | |
: D3 | |
0xf0 0x90 0x90 | |
: D4 | |
0xf0 0x90 0xf0 | |
: D5 | |
0x80 0x80 0x80 0x80 0xe0 | |
: D6 | |
0xa0 0xa0 0xe0 0x40 | |
: D7 | |
0x40 0x80 | |
: D8 | |
0xc0 0xc0 | |
: D9 | |
0xf0 0x90 0xf0 0xa0 0x90 | |
: D10 | |
0xd8 0xa8 0x88 0x88 0x88 | |
: D11 | |
0xf0 0x90 0x10 0x70 0x40 0x0 0x70 | |
: D12 | |
0x0 0x80 0x0 0x80 | |
: D13 | |
0x0 0x4 0xc 0x1c 0x3c 0x7c | |
: D14 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc | |
: D15 | |
0xff 0x81 0x81 0x81 0x81 0x81 0x81 0x81 | |
: D16 | |
0xff | |
: D17 | |
0x80 0x80 0x80 0x80 0x80 | |
: D18 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D19 | |
0x80 0x80 0x80 0x80 | |
: D20 | |
0x0 0x0 | |
: D21 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D22 | |
0x0 | |
: D23 | |
0x0 | |
: D24 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Breakout (Brix hack) [David Winter, 1997].ch8 | |
###################################################################### | |
:proto L7 # 2AA | |
:proto L8 # 2AC | |
:proto L9 # 2CA | |
:proto L10 # 2DE | |
:proto L11 # 2E0 | |
:proto L12 # 2E8 | |
:proto L13 # 2EE | |
:proto Sub1 # 2F6 | |
:proto D1 # 30C | |
:proto D2 # 30E | |
:proto D3 # 310 | |
:proto D4 # 312 | |
:proto D5 # 314 | |
: main | |
vE := 5 | |
v5 := 0 | |
vB := 6 | |
: L1 | |
vA := 0 | |
loop | |
i := D1 | |
sprite vA vB 1 | |
vA += 4 | |
if vA != 64 then | |
again | |
vB += 2 | |
if vB != 18 then jump L1 | |
vC := 32 | |
vD := 31 | |
i := D3 | |
sprite vC vD 1 | |
Sub1 | |
v0 := 0 | |
v1 := 0 | |
i := D4 | |
sprite v0 v1 1 | |
v0 += 8 | |
i := D2 | |
sprite v0 v1 1 | |
: L3 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v6 := random 0b1111 | |
v7 := 30 | |
v8 := 1 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D3 | |
sprite vC vD 1 | |
v0 := 4 | |
if v0 key then vC += -2 | |
v0 := 6 | |
if v0 key then vC += 2 | |
v0 := 63 | |
vC &= v0 | |
sprite vC vD 1 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v7 == 31 then jump L8 | |
: L6 | |
if v6 == 0 then v8 := 1 | |
if v6 == 63 then v8 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
if vF != 1 then jump L7 | |
if v7 == 31 then jump L7 | |
v0 := 5 | |
v0 -= v7 | |
if vF != 0 then jump L7 | |
v0 := 1 | |
buzzer := v0 | |
v0 := v6 | |
v1 := -4 | |
v0 &= v1 | |
i := D1 | |
sprite v0 v7 1 | |
v0 := -2 | |
v9 ^= v0 | |
Sub1 | |
v5 += 1 | |
Sub1 | |
if v5 == 96 then jump L10 | |
: L7 | |
again | |
: L8 | |
v9 := -1 | |
v0 := v6 | |
v0 -= vC | |
if vF != 1 then jump L9 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L13 | |
v0 -= v1 | |
if vF != 1 then jump L12 | |
: L9 | |
v0 := 32 | |
buzzer := v0 | |
i := D2 | |
vE += -1 | |
v0 := vE | |
v0 += v0 | |
v1 := 0 | |
sprite v0 v1 1 | |
if vE != 0 then jump L3 | |
: L10 | |
loop | |
again | |
: L11 | |
v8 += -1 | |
if v8 == -2 then v8 := -1 | |
jump L13 | |
: L12 | |
v8 += 1 | |
if v8 == 2 then v8 := 1 | |
: L13 | |
v0 := 4 | |
buzzer := v0 | |
v9 := -1 | |
jump L6 | |
: Sub1 | |
i := D5 | |
bcd v5 | |
load v2 | |
i := hex v1 | |
v3 := 55 | |
v4 := 0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0xf0 0x0 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0xfc 0x0 | |
: D4 | |
0xaa 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Breakout [Carmelo Cortez, 1979].ch8 | |
###################################################################### | |
:proto L6 # 288 | |
:proto L7 # 298 | |
:proto L8 # 2A4 | |
:proto L9 # 2AA | |
:proto D1 # 2CA | |
:proto D2 # 2CB | |
:proto D3 # 2CC | |
:proto D4 # 2CD | |
:proto L11 # 2CE | |
:proto D5 # 2DE | |
:proto D6 # 2E3 | |
:proto D7 # 2F0 | |
: main | |
i := D3 | |
vA := 6 | |
v1 := 3 | |
: L1 | |
vB := 8 | |
v0 := 0 | |
loop | |
sprite v0 v1 1 | |
v0 += 8 | |
vB += -1 | |
if vB != 0 then | |
again | |
v1 += 2 | |
vA += -1 | |
if vA != 0 then jump L1 | |
v6 := 0 | |
v7 := 20 | |
i := D4 | |
v0 := 32 | |
v1 := 30 | |
sprite v0 v1 1 | |
: L3 | |
v3 := 29 | |
v2 := 63 | |
v2 &= v0 | |
v7 += -1 | |
if v7 == 0 then jump L9 | |
vF := key | |
: L4 | |
i := D2 | |
sprite v2 v3 1 | |
v5 := -1 | |
v4 := random 0b1 | |
if v4 != 1 then v4 := -1 | |
: L5 | |
loop | |
i := D4 | |
vC := 0 | |
vE := 4 | |
if vE key then vC := -2 | |
vE := 6 | |
if vE key then vC := 2 | |
sprite v0 v1 1 | |
v0 += vC | |
sprite v0 v1 1 | |
if vF == 1 then jump L7 | |
if v2 == 0 then v4 := 1 | |
if v2 == 63 then v4 := -1 | |
if v3 == 0 then jump L11 | |
if v3 == 31 then jump L8 | |
i := D2 | |
sprite v2 v3 1 | |
v2 += v4 | |
v3 += v5 | |
sprite v2 v3 1 | |
if vF != 1 then jump L5 | |
if v3 == 30 then jump L7 | |
vA := 2 | |
buzzer := vA | |
v6 += 1 | |
i := D1 | |
jump L6 | |
: L6 | |
sprite v2 v3 1 | |
v4 := random 0b1 | |
if v4 != 1 then v4 := -1 | |
v5 := random 0b1 | |
if v5 != 1 then v5 := 1 | |
again | |
: L7 | |
vA := 3 | |
buzzer := vA | |
i := D2 | |
sprite v2 v3 1 | |
v3 += -1 | |
jump L4 | |
: L8 | |
i := D2 | |
sprite v2 v3 1 | |
jump L3 | |
: L9 | |
i := D4 | |
sprite v0 v1 1 | |
i := D7 | |
bcd v6 | |
load v2 | |
v3 := 24 | |
v4 := 27 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
loop | |
again | |
: D1 | |
0xf0 | |
: D2 | |
0x80 | |
: D3 | |
0xff | |
: D4 | |
0xff | |
: L11 | |
i := D5 | |
v3 := 21 | |
v2 := 16 | |
sprite v3 v2 5 | |
i := D6 | |
v3 := 29 | |
sprite v3 v2 5 | |
jump L9 | |
: D5 | |
0xee 0x8a 0xce 0x8c 0x8a | |
: D6 | |
0xee 0x88 0xcc 0x88 0xee 0 0 0 0 0 0 0 0 | |
: D7 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Brick (Brix hack, 1990).ch8 | |
###################################################################### | |
:proto L8 # 2AA | |
:proto L9 # 2AC | |
:proto L10 # 2CA | |
:proto L12 # 2E0 | |
:proto L13 # 2E8 | |
:proto L14 # 2EE | |
:proto Sub1 # 2F6 | |
:proto D1 # 30C | |
:proto D2 # 30E | |
:proto D3 # 310 | |
:proto D4 # 312 | |
:proto D5 # 314 | |
:proto L15 # 318 | |
: main | |
vE := 5 | |
v5 := 0 | |
: L1 | |
vB := 6 | |
: L2 | |
vA := 0 | |
loop | |
i := D1 | |
sprite vA vB 1 | |
vA += 4 | |
if vA != 64 then | |
again | |
vB += 1 | |
if vB != 18 then jump L2 | |
vC := 32 | |
vD := 31 | |
i := D3 | |
sprite vC vD 1 | |
Sub1 | |
v0 := 0 | |
v1 := 0 | |
i := D4 | |
sprite v0 v1 1 | |
v0 += 8 | |
i := D2 | |
sprite v0 v1 1 | |
: L4 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v6 := random 0b1111 | |
v7 := 30 | |
v8 := 1 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D3 | |
sprite vC vD 1 | |
v0 := 4 | |
if v0 key then vC += -2 | |
v0 := 6 | |
if v0 key then vC += 2 | |
v0 := 63 | |
vC &= v0 | |
sprite vC vD 1 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v7 == 31 then jump L9 | |
: L7 | |
if v6 == 0 then v8 := 1 | |
if v6 == 63 then v8 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
if vF != 1 then jump L8 | |
if v7 == 31 then jump L8 | |
v0 := 5 | |
v0 -= v7 | |
if vF != 0 then jump L8 | |
v0 := 1 | |
buzzer := v0 | |
v0 := v6 | |
v1 := -4 | |
v0 &= v1 | |
i := D1 | |
sprite v0 v7 1 | |
v0 := -2 | |
v9 ^= v0 | |
Sub1 | |
v5 += 1 | |
Sub1 | |
if v5 == 192 then jump L15 | |
: L8 | |
again | |
: L9 | |
v9 := -1 | |
v0 := v6 | |
v0 -= vC | |
if vF != 1 then jump L10 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L12 | |
v0 -= v1 | |
if vF != 1 then jump L14 | |
v0 -= v1 | |
if vF != 1 then jump L13 | |
: L10 | |
v0 := 32 | |
buzzer := v0 | |
i := D2 | |
vE += -1 | |
v0 := vE | |
v0 += v0 | |
v1 := 0 | |
sprite v0 v1 1 | |
if vE != 0 then jump L4 | |
loop | |
again | |
: L12 | |
v8 += -1 | |
if v8 == -2 then v8 := -1 | |
jump L14 | |
: L13 | |
v8 += 1 | |
if v8 == 2 then v8 := 1 | |
: L14 | |
v0 := 4 | |
buzzer := v0 | |
v9 := -1 | |
jump L7 | |
: Sub1 | |
i := D5 | |
bcd v5 | |
load v2 | |
i := hex v1 | |
v3 := 55 | |
v4 := 0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0xf0 0x0 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0xfc 0x0 | |
: D4 | |
0xaa 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 | |
: L15 | |
vE := 5 | |
clear | |
jump L1 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Brix [Andreas Gustafsson, 1990].ch8 | |
###################################################################### | |
:proto L7 # 2AA | |
:proto L8 # 2AC | |
:proto L9 # 2CA | |
:proto L10 # 2DE | |
:proto L11 # 2E0 | |
:proto L12 # 2E8 | |
:proto L13 # 2EE | |
:proto Sub1 # 2F6 | |
:proto D1 # 30C | |
:proto D2 # 30E | |
:proto D3 # 310 | |
:proto D4 # 312 | |
:proto D5 # 314 | |
: main | |
vE := 5 | |
v5 := 0 | |
vB := 6 | |
: L1 | |
vA := 0 | |
loop | |
i := D1 | |
sprite vA vB 1 | |
vA += 4 | |
if vA != 64 then | |
again | |
vB += 2 | |
if vB != 18 then jump L1 | |
vC := 32 | |
vD := 31 | |
i := D3 | |
sprite vC vD 1 | |
Sub1 | |
v0 := 0 | |
v1 := 0 | |
i := D4 | |
sprite v0 v1 1 | |
v0 += 8 | |
i := D2 | |
sprite v0 v1 1 | |
: L3 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v6 := random 0b1111 | |
v7 := 30 | |
v8 := 1 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D3 | |
sprite vC vD 1 | |
v0 := 4 | |
if v0 key then vC += -2 | |
v0 := 6 | |
if v0 key then vC += 2 | |
v0 := 63 | |
vC &= v0 | |
sprite vC vD 1 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v7 == 31 then jump L8 | |
: L6 | |
if v6 == 0 then v8 := 1 | |
if v6 == 63 then v8 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
if vF != 1 then jump L7 | |
if v7 == 31 then jump L7 | |
v0 := 5 | |
v0 -= v7 | |
if vF != 0 then jump L7 | |
v0 := 1 | |
buzzer := v0 | |
v0 := v6 | |
v1 := -4 | |
v0 &= v1 | |
i := D1 | |
sprite v0 v7 1 | |
v0 := -2 | |
v9 ^= v0 | |
Sub1 | |
v5 += 1 | |
Sub1 | |
if v5 == 96 then jump L10 | |
: L7 | |
again | |
: L8 | |
v9 := -1 | |
v0 := v6 | |
v0 -= vC | |
if vF != 1 then jump L9 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L13 | |
v0 -= v1 | |
if vF != 1 then jump L12 | |
: L9 | |
v0 := 32 | |
buzzer := v0 | |
i := D2 | |
vE += -1 | |
v0 := vE | |
v0 += v0 | |
v1 := 0 | |
sprite v0 v1 1 | |
if vE != 0 then jump L3 | |
: L10 | |
loop | |
again | |
: L11 | |
v8 += -1 | |
if v8 == -2 then v8 := -1 | |
jump L13 | |
: L12 | |
v8 += 1 | |
if v8 == 2 then v8 := 1 | |
: L13 | |
v0 := 4 | |
buzzer := v0 | |
v9 := -1 | |
jump L6 | |
: Sub1 | |
i := D5 | |
bcd v5 | |
load v2 | |
i := hex v1 | |
v3 := 55 | |
v4 := 0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0xe0 0x0 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0xfc 0x0 | |
: D4 | |
0xaa 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Cave.ch8 | |
###################################################################### | |
:proto D1 # 20A | |
:proto L1 # 20C | |
:proto L3 # 21A | |
:proto D2 # 21E | |
:proto L4 # 22C | |
:proto D3 # 23A | |
:proto L5 # 248 | |
:proto D4 # 250 | |
:proto L6 # 25E | |
:proto D5 # 266 | |
:proto L7 # 274 | |
:proto D7 # 281 | |
:proto Sub1 # 29E | |
:proto L10 # 2A4 | |
:proto L11 # 2A6 | |
:proto L13 # 2AE | |
:proto Sub2 # 2D0 | |
:proto D8 # 2FE | |
:proto L14 # 30A | |
:proto L15 # 318 | |
:proto L17 # 35E | |
:proto L18 # 364 | |
:proto L19 # 372 | |
:proto Sub3 # 38A | |
:proto Sub4 # 3B8 | |
:proto Sub5 # 3E0 | |
:proto Sub6 # 418 | |
:proto Sub7 # 478 | |
:proto Sub8 # 4E6 | |
:proto Sub9 # 510 | |
:proto L21 # 53A | |
:proto D9 # 544 | |
:proto L22 # 55C | |
: main | |
clear | |
v4 := 0 | |
v5 := 0 | |
i := D1 | |
jump L1 | |
: D1 | |
0xcc 0x33 | |
: L1 | |
v6 := 30 | |
loop | |
sprite v4 v5 2 | |
sprite v4 v6 2 | |
v4 += 8 | |
if v4 == 64 then jump L3 | |
again | |
: L3 | |
i := D2 | |
jump L4 | |
: D2 | |
0xff 0xff 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xff 0xff | |
: L4 | |
v4 := 13 | |
v5 := 9 | |
sprite v4 v5 14 | |
v4 += 10 | |
i := D3 | |
sprite v4 v5 14 | |
jump L5 | |
: D3 | |
0xff 0xff 0xc3 0xc3 0xc3 0xc3 0xc3 0xff 0xff 0xc3 0xc3 0xc3 0xc3 0xc3 | |
: L5 | |
v4 += 10 | |
i := D4 | |
sprite v4 v5 14 | |
jump L6 | |
: D4 | |
0xc3 0xc3 0xc3 0xc3 0xc3 0x66 0x66 0x66 0x66 0x66 0x3c 0x3c 0x18 0x18 | |
: L6 | |
v4 += 10 | |
i := D5 | |
sprite v4 v5 14 | |
jump L7 | |
: D5 | |
0xff 0xff 0xc0 0xc0 0xc0 0xc0 0xff 0xff 0xc0 0xc0 0xc0 0xc0 0xff 0xff | |
: L7 | |
vA := 1 | |
vB := 4 | |
vC := 14 | |
vD := 0 | |
i := D7 | |
jump L11 | |
: D6 | |
0x80 | |
: D7 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
: L8 | |
clear | |
v4 := 0 | |
v5 := 0 | |
loop | |
sprite v4 v5 8 | |
v4 += 8 | |
if v4 == 64 then Sub1 | |
if v5 == 32 then jump L10 | |
again | |
: Sub1 | |
v4 := 0 | |
v5 += 8 | |
return | |
: L10 | |
jump L13 | |
: L11 | |
v0 := 15 | |
loop | |
if v0 -key then | |
again | |
jump L8 | |
: L13 | |
if vA == 1 then Sub2 | |
if vA == 2 then Sub3 | |
if vA == 3 then Sub4 | |
if vA == 4 then Sub5 | |
if vA == 5 then Sub6 | |
if vA == 6 then Sub7 | |
if vA == 7 then Sub8 | |
if vA == 8 then Sub9 | |
jump L15 | |
: Sub2 | |
i := D7 | |
v4 := 2 | |
v5 := 2 | |
sprite v4 v5 8 | |
v5 := 10 | |
sprite v4 v5 8 | |
v5 := 18 | |
sprite v4 v5 8 | |
v4 := 10 | |
v5 := 5 | |
sprite v4 v5 3 | |
v4 := 18 | |
sprite v4 v5 3 | |
v4 := 26 | |
sprite v4 v5 3 | |
v4 := 34 | |
sprite v4 v5 3 | |
v4 := 42 | |
sprite v4 v5 3 | |
v4 := 50 | |
sprite v4 v5 3 | |
i := D8 | |
jump L14 | |
: D8 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc | |
: L14 | |
v5 += 3 | |
v4 += 2 | |
sprite v4 v5 12 | |
v4 += 6 | |
v5 += 9 | |
sprite v4 v5 3 | |
return | |
: L15 | |
i := D6 | |
sprite vB vC 1 | |
if vF == 1 then jump L19 | |
v0 := 2 | |
if v0 key then vD := 2 | |
v0 := 4 | |
if v0 key then vD := 4 | |
v0 := 6 | |
if v0 key then vD := 6 | |
v0 := 8 | |
if v0 key then vD := 8 | |
sprite vB vC 1 | |
if vD == 2 then vC += -1 | |
if vD == 4 then vB += -1 | |
if vD == 6 then vB += 1 | |
if vD == 8 then vC += 1 | |
if vB == 64 then jump L17 | |
if vB == -1 then jump L18 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L15 | |
: L17 | |
vA += 1 | |
if vA == 9 then jump L21 | |
: L18 | |
vB := 1 | |
i := D7 | |
jump L8 | |
0x7a 0xff 0x6b 0x3e 0xa2 0x81 0x12 0x8a | |
: L19 | |
v0 := 3 | |
buzzer := v0 | |
v0 := 15 | |
loop | |
if v0 -key then | |
again | |
vA := 1 | |
vB := 4 | |
vC := 14 | |
vD := 0 | |
i := D7 | |
clear | |
jump L8 | |
: Sub3 | |
v4 := 0 | |
v5 := 17 | |
i := D7 | |
sprite v4 v5 3 | |
v4 += 8 | |
sprite v4 v5 3 | |
v4 += 8 | |
v5 += -1 | |
sprite v4 v5 3 | |
v4 += 8 | |
v5 += -1 | |
sprite v4 v5 3 | |
v4 += 8 | |
sprite v4 v5 3 | |
v4 += 8 | |
sprite v4 v5 3 | |
v4 += 8 | |
v5 += 1 | |
sprite v4 v5 3 | |
v4 += 8 | |
v5 += 1 | |
sprite v4 v5 3 | |
return | |
: Sub4 | |
v4 := 0 | |
v5 := 17 | |
i := D7 | |
sprite v4 v5 3 | |
v4 += 8 | |
sprite v4 v5 3 | |
v4 += 8 | |
v5 += 2 | |
sprite v4 v5 2 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
return | |
: Sub5 | |
v4 := 0 | |
v5 := 19 | |
i := D7 | |
sprite v4 v5 1 | |
i := D6 | |
v4 += 8 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 2 | |
v4 += 8 | |
v5 += -1 | |
sprite v4 v5 3 | |
v4 += 8 | |
sprite v4 v5 4 | |
v4 += 8 | |
v5 += -1 | |
sprite v4 v5 6 | |
v4 += 8 | |
v5 += -1 | |
sprite v4 v5 8 | |
return | |
: Sub6 | |
v4 := 0 | |
v5 := 18 | |
i := D7 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
v4 += 8 | |
sprite v4 v5 8 | |
i := D6 | |
v5 += -1 | |
v4 += 32 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v5 += -1 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
return | |
: Sub7 | |
v4 := 0 | |
v5 := 9 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
i := D6 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
sprite v4 v5 1 | |
v5 += 1 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
return | |
: Sub8 | |
v4 := 0 | |
v5 := 26 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
return | |
: Sub9 | |
v4 := 0 | |
v5 := 25 | |
i := D7 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v5 += -1 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
v4 += 8 | |
sprite v4 v5 1 | |
return | |
: L21 | |
clear | |
v7 := 3 | |
v8 := 3 | |
i := D9 | |
jump L22 | |
: D9 | |
0xae 0xaa 0xea 0x4a 0x4e 0x0 | |
: D10 | |
0xa4 0xa4 0xa4 0xa5 0xe2 0x0 | |
: D11 | |
0x5d 0x55 0x55 0x55 0x9d 0x0 | |
: D12 | |
0xc8 0x48 0x48 0x40 0x48 0x0 | |
: L22 | |
sprite v7 v8 5 | |
i := D10 | |
v7 += 8 | |
sprite v7 v8 5 | |
v7 += 8 | |
i := D11 | |
sprite v7 v8 5 | |
v7 += 8 | |
i := D12 | |
sprite v7 v8 5 | |
loop | |
again | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Coin Flipping [Carmelo Cortez, 1978].ch8 | |
###################################################################### | |
:proto Sub1 # 242 | |
:proto D1 # 262 | |
:proto D2 # 267 | |
:proto D3 # 2F0 | |
: main | |
vE := 0 | |
vD := 0 | |
vC := 50 | |
: L1 | |
i := D1 | |
v6 := 5 | |
v7 := 0 | |
sprite v6 v7 5 | |
i := D2 | |
v6 := 54 | |
sprite v6 v7 5 | |
i := D3 | |
bcd vE | |
v3 := 0 | |
Sub1 | |
i := D3 | |
bcd vD | |
v3 := 50 | |
Sub1 | |
vB := random 0b1 | |
if vB == 0 then vE += 1 | |
if vB == 1 then vD += 1 | |
if vC == 0 then loop | |
again | |
vA := 16 | |
delay := vA | |
loop | |
vA := delay | |
if vA != 0 then | |
again | |
vC += -1 | |
clear | |
jump L1 | |
: Sub1 | |
v5 := 9 | |
load v2 | |
i := hex v0 | |
sprite v3 v5 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v5 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v5 5 | |
if vB == 0 then v8 := 1 | |
if vB == 1 then v8 := 2 | |
buzzer := v8 | |
return | |
: D1 | |
0x88 0x88 0xf8 0x88 0x88 | |
: D2 | |
0xf8 0x20 0x20 0x20 0x20 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D3 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Connect 4 [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L4 # 26A | |
:proto L5 # 27A | |
:proto L6 # 27E | |
:proto L7 # 298 | |
:proto D1 # 29E | |
:proto D2 # 29F | |
:proto D3 # 2A1 | |
:proto D4 # 2A5 | |
:proto D5 # 2B4 | |
:proto D6 # 2BB | |
: main | |
jump L1 | |
0x43 0x4f 0x4e 0x4e 0x45 0x43 0x54 0x34 0x20 0x62 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
i := D6 | |
load v6 | |
i := D5 | |
save v6 | |
v9 := 0 | |
v8 := 1 | |
vB := 0 | |
vD := 15 | |
vE := 31 | |
i := D4 | |
v0 := 13 | |
v1 := 50 | |
v2 := 0 | |
loop | |
sprite v0 v2 15 | |
sprite v1 v2 15 | |
v2 += 15 | |
if v2 != 30 then | |
again | |
sprite v0 v2 1 | |
sprite v1 v2 1 | |
v2 += 1 | |
v0 := 10 | |
i := D2 | |
sprite v0 v2 1 | |
sprite v1 v2 1 | |
i := D2 | |
sprite vD vE 1 | |
: L3 | |
loop | |
vC := key | |
sprite vD vE 1 | |
if vC == 5 then jump L6 | |
if vC != 4 then jump L4 | |
vB += -1 | |
vD += -5 | |
if vD != 10 then jump L5 | |
vB := 6 | |
vD := 45 | |
jump L5 | |
: L4 | |
if vC != 6 then jump L7 | |
vB += 1 | |
vD += 5 | |
if vD != 50 then jump L5 | |
vB := 0 | |
vD := 15 | |
: L5 | |
sprite vD vE 1 | |
jump L3 | |
: L6 | |
i := D5 | |
i += vB | |
load v0 | |
if v0 == -4 then jump L7 | |
vA := v0 | |
v0 += -5 | |
save v0 | |
v9 ^= v8 | |
i := D1 | |
if v9 != 0 then i := D3 | |
sprite vD vA 4 | |
: L7 | |
i := D2 | |
sprite vD vE 1 | |
again | |
: D1 | |
0x60 | |
: D2 | |
0xf0 0xf0 | |
: D3 | |
0x60 0x90 0x90 0x60 | |
: D4 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D5 | |
0x1a 0x1a 0x1a 0x1a 0x1a 0x1a 0x1a | |
: D6 | |
0x1a 0x1a 0x1a 0x1a 0x1a 0x1a 0x1a | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Craps [Camerlo Cortez, 1978].ch8 | |
###################################################################### | |
:proto Sub1 # 258 | |
:proto Sub2 # 260 | |
:proto Sub3 # 27C | |
:proto L5 # 28C | |
:proto L7 # 29C | |
:proto D1 # 2AC | |
:proto D2 # 2B1 | |
:proto D3 # 2B6 | |
:proto D4 # 2BB | |
:proto D5 # 2F0 | |
: main | |
v1 := 8 | |
Sub1 | |
v1 := 18 | |
Sub1 | |
vE := key | |
v1 := 9 | |
Sub2 | |
v7 := v0 | |
v1 := 19 | |
Sub2 | |
v8 := v0 | |
v9 := v8 | |
v9 += v7 | |
if v9 == 2 then jump L7 | |
if v9 == 3 then jump L7 | |
if v9 == 12 then jump L7 | |
if v9 == 7 then jump L5 | |
if v9 == 11 then jump L5 | |
vA := v9 | |
: L1 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
Sub3 | |
vE := key | |
v1 := 9 | |
Sub2 | |
v7 := v0 | |
v1 := 19 | |
Sub2 | |
v8 := v0 | |
v9 := v8 | |
v9 += v7 | |
if v9 == vA then jump L5 | |
if v9 == 7 then jump L7 | |
jump L1 | |
: Sub1 | |
i := D5 | |
v2 := 8 | |
sprite v1 v2 7 | |
return | |
: Sub2 | |
v6 := 1 | |
v2 := 9 | |
: L3 | |
v0 := 1 | |
loop | |
i := hex v0 | |
sprite v1 v2 5 | |
buzzer := v6 | |
v3 := random 0b111 | |
if v3 == 0 then return | |
v0 += 1 | |
sprite v1 v2 5 | |
if v0 != 7 then | |
again | |
jump L3 | |
: Sub3 | |
v2 := 9 | |
v1 := 9 | |
i := hex v7 | |
sprite v1 v2 5 | |
v1 := 19 | |
i := hex v8 | |
sprite v1 v2 5 | |
return | |
: L5 | |
i := D1 | |
v0 := 0 | |
v1 := 21 | |
sprite v0 v1 5 | |
i := D2 | |
v0 := 8 | |
sprite v0 v1 5 | |
loop | |
again | |
: L7 | |
i := D3 | |
v0 := 0 | |
v1 := 16 | |
sprite v0 v1 5 | |
i := D4 | |
v0 := 8 | |
sprite v0 v1 5 | |
loop | |
again | |
: D1 | |
0x8b 0x89 0x89 0xa9 0xdb | |
: D2 | |
0xb2 0x32 0x2a 0x26 0xa6 | |
: D3 | |
0x8e 0x8a 0x8a 0x8a 0xee | |
: D4 | |
0xee 0x88 0xec 0x28 0xee 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D5 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Deflection [John Fort].ch8 | |
###################################################################### | |
:proto L4 # 228 | |
:proto L6 # 24E | |
:proto L8 # 282 | |
:proto L11 # 29C | |
:proto L12 # 2C0 | |
:proto L13 # 2C8 | |
:proto L16 # 302 | |
:proto L17 # 310 | |
:proto L19 # 33E | |
:proto L20 # 34A | |
:proto L21 # 358 | |
:proto L22 # 35E | |
:proto L23 # 362 | |
:proto L24 # 364 | |
:proto Sub1 # 400 | |
:proto Sub2 # 42C | |
:proto Sub3 # 43E | |
:proto Sub4 # 448 | |
:proto Sub5 # 47A | |
:proto Sub6 # 4A4 | |
:proto L30 # 4B6 | |
:proto Sub7 # 4C0 | |
:proto L33 # 4EA | |
:proto Sub8 # 4F4 | |
:proto D1 # 500 | |
:proto D2 # 50C | |
:proto D3 # 518 | |
:proto D4 # 524 | |
:proto D5 # 530 | |
:proto D6 # 537 | |
:proto D7 # 53C | |
:proto D8 # 540 | |
:proto D9 # 544 | |
:proto D10 # 548 | |
:proto D11 # 549 | |
:proto D12 # 54C | |
:proto D13 # 54E | |
:proto D14 # 550 | |
: main | |
vA := 0 | |
vB := 0 | |
v8 := 10 | |
vC := 1 | |
vD := 1 | |
: L1 | |
vE := 10 | |
: L2 | |
v7 := 80 | |
v9 := 0 | |
Sub1 | |
v4 := 144 | |
Sub3 | |
clear | |
v0 := random 0b110111 | |
v1 := random 0b10111 | |
i := D12 | |
save v1 | |
i := D5 | |
sprite v0 v1 7 | |
jump L4 | |
: L3 | |
sprite v0 v1 1 | |
: L4 | |
v0 := random 0b111111 | |
v1 := random 0b11111 | |
i := D13 | |
save v1 | |
i := D10 | |
sprite v0 v1 1 | |
if vF != 0 then jump L3 | |
i := D12 | |
load v1 | |
v0 += 1 | |
v1 += 1 | |
v4 := vC | |
if vE != 10 then v4 := vD | |
i := hex v4 | |
sprite v0 v1 5 | |
jump L6 | |
: L5 | |
sprite v0 v1 5 | |
: L6 | |
v0 := random 0b111000 | |
v1 := random 0b11000 | |
i := hex vE | |
sprite v0 v1 5 | |
if vF != 0 then jump L5 | |
v4 := 160 | |
Sub3 | |
sprite v0 v1 5 | |
: L7 | |
loop | |
v2 := key | |
if v2 == 0 then jump L13 | |
if v9 == 50 then jump L7 | |
i := D6 | |
if v2 == 1 then jump L8 | |
i := D7 | |
if v2 == 2 then jump L8 | |
i := D8 | |
if v2 == 3 then jump L8 | |
i := D9 | |
if v2 != 4 then | |
again | |
: L8 | |
v0 := 30 | |
v1 := 14 | |
: L9 | |
sprite v0 v1 5 | |
v4 := 5 | |
Sub3 | |
sprite v0 v1 5 | |
v3 := 9 | |
loop | |
if v3 key then jump L11 | |
v3 += -1 | |
if v3 != 0 then | |
again | |
jump L9 | |
: L11 | |
if v3 == 5 then jump L12 | |
Sub4 | |
if v0 == -1 then v0 := 0 | |
if v1 == -1 then v1 := 0 | |
v4 := 60 | |
if v2 == 2 then v4 := 64 | |
if v0 == v4 then v0 += -1 | |
v4 := 28 | |
if v2 == 1 then v4 := 32 | |
if v1 == v4 then v1 += -1 | |
jump L9 | |
: L12 | |
v3 := key | |
Sub5 | |
v9 += 5 | |
jump L7 | |
: L13 | |
v7 := 0 | |
: L14 | |
loop | |
v3 := key | |
if v3 == 0 then jump L14 | |
if v3 == 5 then jump L14 | |
v4 := 9 | |
v4 -= v3 | |
if vF != 1 then | |
again | |
i := D13 | |
load v1 | |
i := D10 | |
: L15 | |
loop | |
sprite v0 v1 1 | |
Sub4 | |
if v0 == -1 then jump L21 | |
if v1 == -1 then jump L21 | |
if v0 == 64 then jump L21 | |
if v1 == 32 then jump L21 | |
sprite v0 v1 1 | |
if vF == 1 then jump L16 | |
v4 := 5 | |
Sub3 | |
jump L15 | |
: L16 | |
sprite v0 v1 1 | |
Sub6 | |
if v2 == 0 then jump L17 | |
Sub7 | |
sprite v0 v1 1 | |
again | |
: L17 | |
if v7 == 0 then jump L21 | |
i := D12 | |
load v1 | |
i := D5 | |
v3 := 5 | |
loop | |
v4 := 21 | |
sprite v0 v1 7 | |
buzzer := v4 | |
sprite v0 v1 7 | |
Sub3 | |
v3 += -1 | |
if v3 != 0 then | |
again | |
if vE != 10 then jump L19 | |
v0 := vC | |
Sub8 | |
vA += v1 | |
if vF == 1 then jump L22 | |
vC += 1 | |
jump L20 | |
: L19 | |
v0 := vD | |
Sub8 | |
vB += v1 | |
if vF == 1 then jump L23 | |
vD += 1 | |
: L20 | |
v8 += -1 | |
if v8 == 0 then jump L24 | |
if vE != 10 then jump L1 | |
vE := 11 | |
jump L2 | |
: L21 | |
v4 := 48 | |
buzzer := v4 | |
jump L20 | |
: L22 | |
vA := -1 | |
jump L24 | |
: L23 | |
vB := -1 | |
: L24 | |
Sub1 | |
i := D5 | |
if vA == vB then loop | |
again | |
v0 := 13 | |
v1 := 7 | |
vB -= vA | |
if vF != 0 then v0 := 45 | |
loop | |
v4 := 64 | |
sprite v0 v1 7 | |
Sub3 | |
sprite v0 v1 7 | |
v4 := 64 | |
buzzer := v4 | |
again | |
0x76 0xac 0x77 0x95 0xcc 0xdc 0xa0 0x81 0x10 0xc0 0x55 0x44 0xe4 0x2c 0x1 0xcc 0x9c 0xd3 0x4b 0xc8 0xee 0x6d 0xc 0x40 0xb8 0xdc 0x8a 0x5c 0xb4 0x21 0x34 0x63 0x33 0xb3 0x33 0x33 0x63 0xb8 0x73 0xb3 0xbb 0x36 0x31 0x35 0x32 0x33 0x32 0x7f 0x73 0x31 0x93 0x37 0x32 0x93 0xf3 0x32 0x3 0xb2 0x13 0x34 0x9b 0xff 0xf2 0xf7 0xbf 0x3f 0xbb 0xb2 0xb6 0xac 0x7f 0xfb 0xb3 0xbb 0xbf 0xdd 0xf3 0xff 0xb1 0x11 0x98 0xb5 0x7f 0x3f 0xbe 0xaf 0xbb 0xb9 0x83 0xad 0xea 0xfb 0xcc 0xce 0xcc 0xc8 0xec 0xec 0xda 0xcc 0xdc 0xfc 0xcd 0xca 0xcc 0x8c 0xc8 0xe8 0xce 0xec 0xa8 0xcd 0xca 0xcc 0xcc 0xc4 0xcc 0x6c 0xcc 0xcc 0x8d 0xec 0xd9 0xcd | |
: Sub1 | |
clear | |
v5 := 8 | |
v6 := 16 | |
i := D11 | |
bcd vA | |
load v2 | |
Sub2 | |
v5 := 40 | |
i := D11 | |
bcd vB | |
load v2 | |
Sub2 | |
v5 := 14 | |
v6 := 8 | |
v0 := 10 | |
i := hex v0 | |
sprite v5 v6 5 | |
v5 := 46 | |
v0 := 11 | |
i := hex v0 | |
sprite v5 v6 5 | |
return | |
: Sub2 | |
i := hex v0 | |
sprite v5 v6 5 | |
v5 += 6 | |
i := hex v1 | |
sprite v5 v6 5 | |
v5 += 6 | |
i := hex v2 | |
sprite v5 v6 5 | |
return | |
: Sub3 | |
delay := v4 | |
loop | |
v4 := delay | |
if v4 != 0 then | |
again | |
return | |
: Sub4 | |
if v3 == 3 then v0 += 1 | |
if v3 == 6 then v0 += 1 | |
if v3 == 9 then v0 += 1 | |
if v3 == 1 then v0 += -1 | |
if v3 == 4 then v0 += -1 | |
if v3 == 7 then v0 += -1 | |
if v3 == 7 then v1 += 1 | |
if v3 == 8 then v1 += 1 | |
if v3 == 9 then v1 += 1 | |
if v3 == 1 then v1 += -1 | |
if v3 == 2 then v1 += -1 | |
if v3 == 3 then v1 += -1 | |
return | |
: Sub5 | |
sprite v0 v1 5 | |
i := D1 | |
i += v7 | |
if v2 == 1 then v3 := 6 | |
if v2 == 2 then v3 := 8 | |
if v2 == 3 then v3 := 9 | |
if v2 == 4 then v3 := 7 | |
if v2 == 4 then v0 += 4 | |
v4 := 5 | |
loop | |
save v2 | |
Sub4 | |
v4 += -1 | |
if v4 != 0 then | |
again | |
v7 += 15 | |
return | |
: Sub6 | |
v5 := v0 | |
v6 := v1 | |
i := D14 | |
v4 += 144 | |
loop | |
load v2 | |
if v0 != v5 then jump L30 | |
if v1 == v6 then return | |
: L30 | |
v4 += -1 | |
if v4 != 0 then | |
again | |
v2 := 0 | |
return | |
: Sub7 | |
v5 := v0 | |
v6 := v1 | |
if v2 == 1 then i := D1 | |
if v2 == 2 then i := D2 | |
if v2 == 3 then i := D3 | |
if v2 == 4 then i := D4 | |
v2 := 6 | |
loop | |
load v1 | |
if v3 == v0 then jump L33 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
: L32 | |
v0 := v5 | |
v1 := v6 | |
i := D10 | |
return | |
: L33 | |
v3 := v1 | |
v4 := 5 | |
buzzer := v4 | |
v7 += 1 | |
jump L32 | |
: Sub8 | |
v1 := 0 | |
loop | |
v1 += v0 | |
v7 += -1 | |
if v7 != 0 then | |
again | |
return | |
: D1 | |
0x1 0x7 0x2 0x8 0x3 0x9 0x7 0x1 0x8 0x2 0x9 0x3 | |
: D2 | |
0x1 0x3 0x3 0x1 0x4 0x6 0x6 0x4 0x7 0x9 0x9 0x7 | |
: D3 | |
0x2 0x4 0x3 0x7 0x4 0x2 0x6 0x8 0x7 0x3 0x8 0x6 | |
: D4 | |
0x1 0x9 0x2 0x6 0x4 0x8 0x6 0x2 0x8 0x4 0x9 0x1 | |
: D5 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc | |
: D6 | |
0xf8 0x0 0x0 0x0 0x0 | |
: D7 | |
0x80 0x80 0x80 0x80 | |
: D8 | |
0x80 0x40 0x20 0x10 | |
: D9 | |
0x8 0x10 0x20 0x40 | |
: D10 | |
0x80 | |
: D11 | |
0x0 0x0 0x0 | |
: D12 | |
0x11 0x13 | |
: D13 | |
0x14 0x9 | |
: D14 | |
0x18 0x7 0x3 0x19 0x8 0x3 0x1a 0x9 0x3 0x1b 0xa 0x3 0x1c 0xb 0x3 0x24 0x7 0x4 0x23 0x8 0x4 0x22 0x9 0x4 0x21 0xa 0x4 0x20 0xb 0x4 0x20 0x0 0x3 0x21 0x1 0x3 0x22 0x2 0x3 0x23 0x3 0x3 0x24 0x4 0x3 0x13 0x0 0x4 0x12 0x1 0x4 0x11 0x2 0x4 0x10 0x3 0x4 0xf 0x4 0x4 0xf 0xf 0x1 0x10 0xf 0x1 0x11 0xf 0x1 0x12 0xf 0x1 0x13 0xf 0x1 0xc 0x4 0x4 0xb 0x5 0x4 0xa 0x6 0x4 0x9 0x7 0x4 0x8 0x8 0x4 0x19 0x4 0x3 0x1a 0x5 0x3 0x1b 0x6 0x3 0x1c 0x7 0x3 0x1d 0x8 0x3 0x9 0x10 0x3 0xa 0x11 0x3 0xb 0x12 0x3 0xc 0x13 0x3 0xd 0x14 0x3 0x2c 0x10 0x3 0x2d 0x11 0x3 0x2e 0x12 0x3 0x2f 0x13 0x3 0x30 0x14 0x3 0x2b 0x17 0x3 0x2c 0x18 0x3 0x2d 0x19 0x3 0x2e 0x1a 0x3 0x2f 0x1b 0x3 0xe6 0xed 0xcd 0xce 0x39 0xd5 0xa9 0x50 0x4d 0x10 0x6c 0x6e 0x27 0xe8 0x2 0xb3 0xa1 0x8d 0xb5 0xd0 0xcf 0xbe 0xdc 0xe6 0xd1 0x4f | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Figures.ch8 | |
###################################################################### | |
:proto L6 # 27E | |
:proto L8 # 29C | |
:proto Sub1 # 29E | |
:proto Sub2 # 2A6 | |
:proto Sub3 # 2AE | |
:proto Sub4 # 2C8 | |
:proto Sub5 # 2D0 | |
:proto D1 # 308 | |
:proto D2 # 310 | |
:proto D3 # 31A | |
:proto D4 # 31C | |
:proto D5 # 320 | |
: main | |
clear | |
v0 := 0 | |
v1 := 0 | |
v2 := 21 | |
i := D2 | |
loop | |
sprite v0 v1 10 | |
sprite v2 v1 10 | |
v1 += 10 | |
if v1 != 30 then | |
again | |
i := D3 | |
v1 := 29 | |
v0 := 1 | |
sprite v0 v1 1 | |
v0 += 8 | |
sprite v0 v1 1 | |
v0 += 8 | |
i := D4 | |
sprite v0 v1 1 | |
vE := 0 | |
vD := 120 | |
Sub5 | |
v0 := 20 | |
vA := random 0b1111 | |
vB := 9 | |
vC := 0 | |
Sub4 | |
buzzer := v0 | |
v0 := 20 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
: L3 | |
v0 := 5 | |
buzzer := v0 | |
Sub5 | |
vD += -1 | |
Sub5 | |
if vD == 0 then jump L8 | |
: L4 | |
i := D1 | |
Sub4 | |
vC += 1 | |
v0 := 4 | |
if v0 key then Sub1 | |
v0 := 6 | |
if v0 key then Sub2 | |
v0 := 2 | |
if v0 key then Sub3 | |
Sub4 | |
if vF == 1 then jump L6 | |
v0 := 1 | |
buzzer := v0 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L4 | |
: L6 | |
Sub5 | |
vE += 1 | |
Sub5 | |
vA := random 0b1111 | |
vB := 9 | |
vC := 0 | |
Sub4 | |
if vF == 1 then jump L8 | |
v0 := 10 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L3 | |
: L8 | |
loop | |
again | |
: Sub1 | |
if vB == 1 then return | |
vB += -2 | |
return | |
: Sub2 | |
if vB == 17 then return | |
vB += 2 | |
return | |
: Sub3 | |
if vE == 0 then return | |
Sub5 | |
vE += -1 | |
Sub5 | |
v0 := random 0b1000 | |
v0 += 19 | |
v1 := 2 | |
i := D5 | |
sprite v1 v0 8 | |
v1 += 8 | |
sprite v1 v0 8 | |
return | |
: Sub4 | |
i := D1 | |
i := hex vA | |
sprite vB vC 5 | |
return | |
: Sub5 | |
i := D1 | |
v3 := 50 | |
v4 := 0 | |
bcd vD | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
i := D1 | |
v3 := 50 | |
v4 := 6 | |
bcd vE | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
i := D1 | |
return | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D3 | |
0xff 0x0 | |
: D4 | |
0xf0 0x0 0x80 0x0 | |
: D5 | |
0xaa 0x55 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Filter.ch8 | |
###################################################################### | |
:proto Sub1 # 234 | |
:proto Sub2 # 248 | |
:proto L3 # 25C | |
:proto Sub3 # 25E | |
:proto Sub4 # 266 | |
:proto Sub5 # 26E | |
:proto Sub6 # 278 | |
:proto Sub7 # 280 | |
:proto Sub8 # 28A | |
:proto Sub9 # 28E | |
:proto Sub10 # 29E | |
:proto D1 # 2BC | |
:proto D2 # 2BD | |
:proto D3 # 2BE | |
:proto D4 # 2C0 | |
: main | |
clear | |
vE := 0 | |
vD := 7 | |
vB := 29 | |
vC := 28 | |
Sub9 | |
Sub10 | |
Sub6 | |
Sub5 | |
: L1 | |
v0 := 1 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
Sub7 | |
if v9 == 31 then Sub1 | |
v0 := 4 | |
if v0 key then Sub3 | |
v0 += 2 | |
if v0 key then Sub4 | |
if v6 == 1 then Sub2 | |
jump L1 | |
: Sub1 | |
Sub8 | |
v0 := 2 | |
buzzer := v0 | |
Sub10 | |
vD += -1 | |
Sub10 | |
if vD == 0 then jump L3 | |
Sub5 | |
return | |
: Sub2 | |
v0 := 5 | |
buzzer := v0 | |
Sub10 | |
vE += 1 | |
Sub10 | |
if vE == 99 then jump L3 | |
Sub8 | |
Sub5 | |
return | |
: L3 | |
loop | |
again | |
: Sub3 | |
Sub6 | |
vB += -3 | |
Sub6 | |
return | |
: Sub4 | |
Sub6 | |
vB += 3 | |
Sub6 | |
return | |
: Sub5 | |
v9 := 7 | |
v8 := random 0b111101 | |
v8 += 2 | |
sprite v8 v9 1 | |
return | |
: Sub6 | |
i := D1 | |
sprite vB vC 1 | |
i := D2 | |
return | |
: Sub7 | |
Sub8 | |
v9 += 1 | |
Sub8 | |
v6 := vF | |
return | |
: Sub8 | |
sprite v8 v9 1 | |
return | |
: Sub9 | |
v3 := 6 | |
v4 := 0 | |
i := D3 | |
loop | |
sprite v4 v3 1 | |
v4 += 8 | |
if v4 == 64 then return | |
again | |
: Sub10 | |
i := D4 | |
v3 := 55 | |
v4 := 0 | |
bcd vE | |
load v2 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
v3 := 0 | |
i := hex vD | |
sprite v3 v4 5 | |
i := D2 | |
return | |
: D1 | |
0xfc | |
: D2 | |
0x80 | |
: D3 | |
0xff 0x75 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Guess [David Winter] (alt).ch8 | |
###################################################################### | |
:proto L3 # 220 | |
:proto Sub1 # 23E | |
:proto Sub2 # 254 | |
:proto D1 # 262 | |
:proto D2 # 294 | |
: main | |
vE := 1 | |
: L1 | |
clear | |
vD := 1 | |
vA := 1 | |
vB := 1 | |
loop | |
vC := vD | |
vC &= vE | |
if vC == 0 then jump L3 | |
v8 := vD | |
Sub1 | |
if vA != 64 then jump L3 | |
vA := 1 | |
vB += 6 | |
if vC != 63 then : L3 | |
vD += 1 | |
if vD != 63 then | |
again | |
v0 := key | |
if v0 == 5 then v9 += vE | |
vE += vE | |
if vE != 64 then jump L1 | |
vA := 28 | |
vB := 13 | |
v8 := v9 | |
clear | |
Sub1 | |
loop | |
again | |
: Sub1 | |
i := D2 | |
bcd v8 | |
load v2 | |
Sub2 | |
sprite vA vB 5 | |
vA += 4 | |
v1 := v2 | |
Sub2 | |
sprite vA vB 5 | |
vA += 5 | |
return | |
: Sub2 | |
v3 := v1 | |
v3 += v3 | |
v3 += v3 | |
v3 += v1 | |
i := D1 | |
i += v3 | |
return | |
: D1 | |
0xe0 0xa0 0xa0 0xa0 0xe0 0x40 0x40 0x40 0x40 0x40 0xe0 0x20 0xe0 0x80 0xe0 0xe0 0x20 0xe0 0x20 0xe0 0xa0 0xa0 0xe0 0x20 0x20 0xe0 0x80 0xe0 0x20 0xe0 0xe0 0x80 0xe0 0xa0 0xe0 0xe0 0x20 0x20 0x20 0x20 0xe0 0xa0 0xe0 0xa0 0xe0 0xe0 0xa0 0xe0 0x20 0xe0 | |
: D2 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Guess [David Winter].ch8 | |
###################################################################### | |
:proto L3 # 222 | |
:proto Sub1 # 240 | |
:proto Sub2 # 256 | |
:proto D1 # 264 | |
:proto D2 # 296 | |
: main | |
v9 := 0 | |
vE := 1 | |
: L1 | |
clear | |
vD := 1 | |
vA := 1 | |
vB := 1 | |
loop | |
vC := vD | |
vC &= vE | |
if vC == 0 then jump L3 | |
v8 := vD | |
Sub1 | |
if vA != 64 then jump L3 | |
vA := 1 | |
vB += 6 | |
if vC != 63 then : L3 | |
vD += 1 | |
if vD != 63 then | |
again | |
v0 := key | |
if v0 == 5 then v9 += vE | |
vE += vE | |
if vE != 64 then jump L1 | |
vA := 28 | |
vB := 13 | |
v8 := v9 | |
clear | |
Sub1 | |
loop | |
again | |
: Sub1 | |
i := D2 | |
bcd v8 | |
load v2 | |
Sub2 | |
sprite vA vB 5 | |
vA += 4 | |
v1 := v2 | |
Sub2 | |
sprite vA vB 5 | |
vA += 5 | |
return | |
: Sub2 | |
v3 := v1 | |
v3 += v3 | |
v3 += v3 | |
v3 += v1 | |
i := D1 | |
i += v3 | |
return | |
: D1 | |
0xe0 0xa0 0xa0 0xa0 0xe0 0x40 0x40 0x40 0x40 0x40 0xe0 0x20 0xe0 0x80 0xe0 0xe0 0x20 0xe0 0x20 0xe0 0xa0 0xa0 0xe0 0x20 0x20 0xe0 0x80 0xe0 0x20 0xe0 0xe0 0x80 0xe0 0xa0 0xe0 0xe0 0x20 0x20 0x20 0x20 0xe0 0xa0 0xe0 0xa0 0xe0 0xe0 0xa0 0xe0 0x20 0xe0 | |
: D2 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Hidden [David Winter, 1996].ch8 | |
###################################################################### | |
:proto L1 # 21D | |
:proto L8 # 301 | |
:proto L10 # 32B | |
:proto Sub1 # 35D | |
:proto L11 # 371 | |
:proto L12 # 37D | |
:proto L13 # 389 | |
:proto L14 # 395 | |
:proto Sub2 # 3B9 | |
:proto Sub3 # 3CD | |
:proto Sub4 # 3DB | |
:proto Sub5 # 3DF | |
:proto L16 # 3E1 | |
:proto Sub6 # 3F3 | |
:proto Sub7 # 401 | |
:proto Sub8 # 40B | |
:proto D1 # 41F | |
:proto D2 # 42F | |
:proto D3 # 43F | |
:proto D4 # 441 | |
:proto D5 # 471 | |
:proto D6 # 477 | |
:proto D7 # 47E | |
:proto D8 # 4C9 | |
:proto D9 # 4D5 | |
:proto D10 # 4F1 | |
:proto D11 # 4F6 | |
:proto D12 # 4FB | |
:proto D13 # 50A | |
:proto D14 # 519 | |
: main | |
jump L1 | |
0x48 0x49 0x44 0x44 0x45 0x4e 0x21 0x20 0x31 0x2e 0x30 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
i := D3 | |
v0 := 0 | |
v1 := 64 | |
save v1 | |
: L2 | |
i := D3 | |
v0 := 0 | |
save v0 | |
clear | |
i := D7 | |
v0 := 12 | |
v1 := 8 | |
v2 := 15 | |
loop | |
sprite v0 v1 15 | |
v0 += 8 | |
i += v2 | |
if v0 != 52 then | |
again | |
v0 := key | |
clear | |
i := D8 | |
v0 := 19 | |
v1 := 13 | |
v2 := 4 | |
loop | |
sprite v0 v1 4 | |
v0 += 8 | |
i += v2 | |
if v0 != 43 then | |
again | |
i := D1 | |
load vF | |
i := D2 | |
save vF | |
v3 := 64 | |
v6 := 8 | |
loop | |
v1 := random 0b1111 | |
v2 := random 0b1111 | |
i := D2 | |
i += v1 | |
load v0 | |
v4 := v0 | |
i := D2 | |
i += v2 | |
load v0 | |
v5 := v0 | |
v0 := v4 | |
save v0 | |
i := D2 | |
i += v1 | |
v0 := v5 | |
save v0 | |
v3 += -1 | |
if v3 != 0 then | |
again | |
clear | |
v0 := 0 | |
v1 := 0 | |
i := D6 | |
: L6 | |
loop | |
sprite v0 v1 7 | |
v0 += 8 | |
if v0 != 32 then jump L6 | |
v0 := 0 | |
v1 += 8 | |
if v1 != 32 then | |
again | |
vC := 0 | |
vD := 0 | |
vE := 0 | |
: L7 | |
loop | |
i := D3 | |
load v0 | |
v0 += 1 | |
save v0 | |
Sub2 | |
vA := 16 | |
Sub1 | |
Sub3 | |
vA := v9 | |
v7 := vD | |
v8 := vE | |
Sub1 | |
Sub3 | |
Sub2 | |
i := D2 | |
i += v9 | |
load v0 | |
v1 := v0 | |
i := D2 | |
i += vA | |
load v0 | |
if v0 != v1 then jump L10 | |
Sub5 | |
v0 := 32 | |
Sub7 | |
Sub5 | |
v0 := 0 | |
i := D2 | |
i += v9 | |
save v0 | |
i := D2 | |
i += vA | |
save v0 | |
v6 += -1 | |
if v6 != 0 then jump L7 | |
i := D3 | |
load v1 | |
v2 := v0 | |
v0 -= v1 | |
if vF != 0 then jump L8 | |
v0 := v2 | |
v1 := v2 | |
save v1 | |
: L8 | |
clear | |
i := D14 | |
v0 := 16 | |
v1 := 7 | |
v2 := 14 | |
loop | |
sprite v0 v1 15 | |
v0 += 8 | |
i += v2 | |
if v0 != 48 then | |
again | |
i := D3 | |
load v1 | |
v4 := v1 | |
v3 := v0 | |
v6 := 9 | |
Sub8 | |
v6 := 15 | |
v3 := v4 | |
Sub8 | |
v0 := key | |
jump L2 | |
: L10 | |
Sub4 | |
v0 := 128 | |
Sub7 | |
Sub4 | |
i := D2 | |
i += vA | |
load v0 | |
v0 += -1 | |
Sub6 | |
i := D4 | |
i += v0 | |
sprite v7 v8 7 | |
i := D6 | |
sprite v7 v8 7 | |
i := D2 | |
i += v9 | |
load v0 | |
v0 += -1 | |
Sub6 | |
i := D4 | |
i += v0 | |
sprite vD vE 7 | |
i := D6 | |
sprite vD vE 7 | |
again | |
: Sub1 | |
loop | |
i := D5 | |
sprite vD vE 7 | |
vB := key | |
sprite vD vE 7 | |
if vB != 4 then jump L11 | |
if vD == 0 then jump Sub1 | |
vD += -8 | |
vC += -1 | |
: L11 | |
if vB != 6 then jump L12 | |
if vD == 24 then jump Sub1 | |
vD += 8 | |
vC += 1 | |
: L12 | |
if vB != 2 then jump L13 | |
if vE == 0 then jump Sub1 | |
vE += -8 | |
vC += -4 | |
: L13 | |
if vB != 8 then jump L14 | |
if vE == 24 then jump Sub1 | |
vE += 8 | |
vC += 4 | |
: L14 | |
if vB != 5 then jump Sub1 | |
i := D2 | |
i += vC | |
load v0 | |
if v0 == 0 then jump Sub1 | |
v9 := vC | |
if v9 == vA then | |
again | |
v0 += -1 | |
i := D6 | |
sprite vD vE 7 | |
i := D4 | |
Sub6 | |
i += v0 | |
sprite vD vE 7 | |
return | |
: Sub2 | |
i := D9 | |
v0 := 36 | |
v1 := 10 | |
v2 := 11 | |
loop | |
sprite v0 v1 11 | |
v0 += 8 | |
i += v2 | |
if v0 != 60 then | |
again | |
return | |
: Sub3 | |
v0 := 52 | |
v1 := 16 | |
i := D10 | |
sprite v0 v1 5 | |
i := D11 | |
sprite v0 v1 5 | |
return | |
: Sub4 | |
i := D12 | |
jump L16 | |
: Sub5 | |
i := D13 | |
: L16 | |
v0 := 36 | |
v1 := 13 | |
v2 := 5 | |
loop | |
sprite v0 v1 5 | |
v0 += 8 | |
i += v2 | |
if v0 != 60 then | |
again | |
return | |
: Sub6 | |
v1 := v0 | |
v1 += v1 | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v0 -= v1 | |
return | |
: Sub7 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub8 | |
i := D2 | |
bcd v3 | |
load v2 | |
v5 := 35 | |
i := hex v1 | |
sprite v5 v6 5 | |
v5 := 40 | |
i := hex v2 | |
sprite v5 v6 5 | |
return | |
: D1 | |
0x1 0x2 0x3 0x4 0x8 0x7 0x6 0x5 0x5 0x6 0x7 0x8 0x4 0x3 0x2 0x1 | |
: D2 | |
0x1 0x2 0x3 0x4 0x8 0x7 0x6 0x5 0x5 0x6 0x7 0x8 0x4 0x3 0x2 0x1 | |
: D3 | |
0x0 0x0 | |
: D4 | |
0xfe 0xee 0xc6 0x82 0xc6 0xee 0xfe 0xfe 0xc6 0xc6 0xc6 0xfe 0xfe 0xc6 0xaa 0x82 0xaa 0xc6 0xfe 0xc6 0x82 0x82 0x82 0xc6 0xfe 0xba 0xd6 0xee 0xd6 0xba 0xfe 0xee 0xee 0x82 0xee 0xee 0xfe 0x82 0xfe 0x82 0xfe 0x82 0xfe 0xaa 0xaa 0xaa 0xaa 0xaa | |
: D5 | |
0xfe 0xfe 0xfe 0xfe 0xfe 0xfe | |
: D6 | |
0xfe 0xaa 0xd6 0xaa 0xd6 0xaa 0xfe | |
: D7 | |
0x8b 0x88 0xf8 0x88 0x8b 0x0 0x0 0x0 0x0 0x0 0xf0 0x48 0x48 0x48 0xf2 0xef 0x84 0x84 0x84 0xef 0x0 0x8 0x8 0xa 0x0 0x8a 0x8a 0xaa 0xaa 0x52 0x3c 0x92 0x92 0x92 0x3c 0x0 0xe2 0xa3 0xe3 0x0 0x8b 0xc8 0xa8 0x98 0x88 0xfa 0x83 0xe2 0x82 0xfa 0x0 0x28 0xb8 0x90 0x0 0xef 0x88 0x8e 0x88 0x8f 0x21 0x21 0xa1 0x60 0x21 0x0 0x0 0x0 0x0 0x0 0xbc 0x22 0x3c 0x28 0xa4 | |
: D8 | |
0x89 0x8a 0xab 0x52 0x97 0x51 0xd1 0x51 0xc0 0x0 0x0 0x15 | |
: D9 | |
0x6a 0x8a 0x8e 0x8a 0x6a 0x0 0x64 0x8a 0x8e 0x8a 0x6a 0x44 0xaa 0xaa 0xaa 0x44 0x0 0xcc 0xaa 0xca 0xaa 0xac 0x6e 0x88 0x4c 0x28 0xce 0x0 | |
: D10 | |
0x4 0xc 0x4 0x4 0xe | |
: D11 | |
0xc 0x12 0x4 0x8 0x1e | |
: D12 | |
0x63 0x94 0x94 0x94 0x63 0x38 0xa5 0xb8 0xa0 0x21 0xe1 0x1 0xc1 0x20 0xc1 | |
: D13 | |
0x89 0x8a 0x52 0x22 0x21 0xcf 0x28 0x2f 0x28 0xc8 0x2 0x82 0x2 0x0 0x2 | |
: D14 | |
0xff 0x80 0x8f 0x90 0x8e 0x81 0x9e 0x80 0x91 0x91 0x9f 0x91 0x91 0x80 0xff 0x0 0x3c 0x40 0x40 0x40 0x3c 0x0 0x7c 0x10 0x10 0x10 0x7c 0x0 0xff 0x0 0x0 0x80 0x0 0x80 0x0 0x0 0x0 0x80 0x0 0x80 0x0 0x0 0xff 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0xff | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Hi-Lo [Jef Winsor, 1978].ch8 | |
###################################################################### | |
:proto L6 # 254 | |
:proto L9 # 272 | |
:proto L12 # 286 | |
:proto L13 # 28E | |
:proto L14 # 292 | |
:proto L15 # 29A | |
:proto D1 # 29F | |
:proto D2 # 2A4 | |
:proto D3 # 2AA | |
: main | |
loop | |
vC := 9 | |
vD := random 0b1111 | |
vC -= vD | |
if vF == 0 then | |
again | |
v9 := vD | |
loop | |
vC := 9 | |
vD := random 0b1111 | |
vC -= vD | |
if vF == 0 then | |
again | |
vA := vD | |
vE := 0 | |
: L2 | |
i := D3 | |
vE += 1 | |
bcd vE | |
load v2 | |
vB := 48 | |
vC := 16 | |
v8 := 15 | |
: L3 | |
i := hex v1 | |
sprite vB vC 5 | |
vB += 5 | |
i := hex v2 | |
sprite vB vC 5 | |
if v8 == 0 then jump L6 | |
loop | |
v6 := 10 | |
v1 := key | |
v1 -= v6 | |
if vF != 0 then | |
again | |
v1 += 10 | |
loop | |
v6 := 10 | |
v2 := key | |
v2 -= v6 | |
if vF != 0 then | |
again | |
v2 += 10 | |
vB := 16 | |
v8 := 0 | |
jump L3 | |
: L6 | |
v1 -= v9 | |
if v1 != 0 then jump L9 | |
v2 -= vA | |
if v2 != 0 then jump L12 | |
: L7 | |
vB := 32 | |
v5 := 24 | |
i := hex v9 | |
sprite vB vC 5 | |
vB += 5 | |
i := hex vA | |
sprite vB vC 5 | |
buzzer := vC | |
loop | |
again | |
: L9 | |
v5 := -16 | |
v1 &= v5 | |
if v1 != 0 then jump L13 | |
: L10 | |
i := D1 | |
: L11 | |
vB := 16 | |
vC := 24 | |
sprite vB vC 5 | |
v6 := key | |
jump L14 | |
: L12 | |
v5 := -16 | |
v2 &= v5 | |
if v2 == 0 then jump L10 | |
: L13 | |
i := D2 | |
jump L11 | |
: L14 | |
if vE == 10 then jump L15 | |
clear | |
jump L2 | |
: L15 | |
sprite vB vC 5 | |
jump L7 | |
0x1 | |
: D1 | |
0x97 0x92 0xf2 0x92 0x97 | |
: D2 | |
0x8f 0x89 0x89 0x89 0xef 0xd4 | |
: D3 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Kaleidoscope [Joseph Weisbecker, 1978].ch8 | |
###################################################################### | |
:proto L2 # 21C | |
:proto Sub1 # 232 | |
:proto D1 # 277 | |
: main | |
v0 := 0 | |
v3 := 128 | |
v1 := 31 | |
v2 := 15 | |
loop | |
Sub1 | |
i := main | |
i += v3 | |
v0 := key | |
save v0 | |
if v0 == 0 then jump L2 | |
v3 += 1 | |
if v3 != 0 then | |
again | |
: L2 | |
v3 := 128 | |
loop | |
i := main | |
i += v3 | |
load v0 | |
if v0 == 0 then jump L2 | |
v3 += 1 | |
if v3 == 0 then jump L2 | |
Sub1 | |
again | |
: Sub1 | |
if v0 == 2 then v2 += -1 | |
if v0 == 4 then v1 += -1 | |
if v0 == 6 then v1 += 1 | |
if v0 == 8 then v2 += 1 | |
i := D1 | |
vA := 224 | |
vA &= v1 | |
vB := 31 | |
v1 &= vB | |
if vA != 0 then v2 += 1 | |
vA := -16 | |
vA &= v2 | |
vB := 15 | |
v2 &= vB | |
if vA != 0 then v1 += 1 | |
vB := 31 | |
v1 &= vB | |
sprite v1 v2 1 | |
vA := v1 | |
vB := 31 | |
vB -= v2 | |
sprite vA vB 1 | |
vA := 63 | |
vA -= v1 | |
sprite vA vB 1 | |
vB := v2 | |
sprite vA vB 1 | |
return | |
0x1 | |
: D1 | |
0x80 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Landing.ch8 | |
###################################################################### | |
:proto L2 # 212 | |
:proto L4 # 250 | |
:proto Sub1 # 290 | |
:proto L8 # 29E | |
:proto Sub2 # 2BE | |
:proto Sub3 # 2D6 | |
:proto L10 # 2EA | |
:proto L11 # 2FA | |
:proto D1 # 2FE | |
:proto D2 # 300 | |
:proto D3 # 30A | |
:proto D4 # 30C | |
:proto D5 # 30E | |
: main | |
clear | |
i := D3 | |
v0 := 0 | |
v1 := 31 | |
loop | |
sprite v0 v1 1 | |
v0 += 8 | |
if v0 == 64 then jump L2 | |
again | |
: L2 | |
i := D2 | |
v4 := 9 | |
loop | |
v4 += 1 | |
if v4 == 54 then jump L4 | |
v5 := random 0b1011 | |
v6 := v5 | |
v6 += 15 | |
if v6 == 24 then sprite v4 v6 1 | |
if v6 == 23 then sprite v4 v6 2 | |
if v6 == 22 then sprite v4 v6 3 | |
if v6 == 21 then sprite v4 v6 4 | |
if v6 == 20 then sprite v4 v6 5 | |
if v6 == 19 then sprite v4 v6 6 | |
if v6 == 18 then sprite v4 v6 7 | |
if v6 == 17 then sprite v4 v6 8 | |
if v6 == 16 then sprite v4 v6 9 | |
if v6 == 15 then sprite v4 v6 10 | |
v6 := 25 | |
sprite v4 v6 6 | |
again | |
: L4 | |
vA := 0 | |
vB := 0 | |
v9 := 2 | |
i := D1 | |
sprite vA vB 1 | |
v0 := 20 | |
buzzer := v0 | |
v0 := 20 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
: L6 | |
v0 := 1 | |
buzzer := v0 | |
sprite vA vB 1 | |
vA += 1 | |
if vA == 62 then Sub1 | |
sprite vA vB 1 | |
if vF == 1 then jump L8 | |
v0 := 8 | |
if v0 key then Sub2 | |
if v8 == 1 then Sub3 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L6 | |
: Sub1 | |
v9 += -1 | |
if v9 != 0 then jump L11 | |
vA := 0 | |
vB += 1 | |
v9 := 2 | |
return | |
: L8 | |
v0 := 10 | |
buzzer := v0 | |
i := D5 | |
bcd v5 | |
load v2 | |
v3 := 25 | |
v4 := 0 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
loop | |
again | |
: Sub2 | |
if v8 == 1 then return | |
v8 := 1 | |
v0 := 3 | |
buzzer := v0 | |
vD := vA | |
vE := vB | |
vD += 1 | |
vE += 1 | |
i := D4 | |
sprite vD vE 1 | |
return | |
: Sub3 | |
i := D4 | |
sprite vD vE 1 | |
vE += 1 | |
sprite vD vE 1 | |
if vF == 1 then jump L10 | |
v0 := 1 | |
buzzer := v0 | |
i := D1 | |
return | |
: L10 | |
v5 += 1 | |
v0 := 5 | |
buzzer := v0 | |
v8 := 0 | |
if vE == 31 then sprite vD vE 1 | |
i := D1 | |
return | |
: L11 | |
vA := 0 | |
return | |
: D1 | |
0xe0 0x0 | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D3 | |
0xff 0x0 | |
: D4 | |
0x80 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Lunar Lander (Udo Pernisz, 1979).ch8 | |
###################################################################### | |
:proto L1 # 202 | |
:proto Sub2 # 258 | |
:proto L7 # 2E6 | |
:proto L9 # 308 | |
:proto L10 # 30A | |
:proto D4 # 346 | |
:proto D5 # 355 | |
:proto Sub8 # 36E | |
:proto Sub10 # 394 | |
:proto Sub11 # 3D2 | |
:proto L15 # 3D6 | |
:proto L16 # 3E6 | |
:proto Sub12 # 3EA | |
:proto D7 # 414 | |
:proto D8 # 438 | |
:proto D9 # 456 | |
:proto D14 # 4DB | |
:proto D15 # 4DE | |
:proto D16 # 4E1 | |
:proto D17 # 4E2 | |
:proto D18 # 4F1 | |
:proto D19 # 500 | |
:proto D20 # 51E | |
:proto D21 # 525 | |
:proto Sub13 # 52E | |
:proto Sub14 # 542 | |
:proto Sub16 # 568 | |
:proto Sub17 # 56C | |
:proto D22 # 570 | |
:proto D23 # 573 | |
:proto D24 # 576 | |
:proto Sub18 # 57C | |
:proto L20 # 59A | |
:proto D25 # 59E | |
:proto L21 # 5B6 | |
:proto Sub21 # 5BE | |
:proto L23 # 612 | |
:proto L25 # 63A | |
:proto L27 # 65E | |
:proto L28 # 680 | |
:proto L29 # 68C | |
:proto Sub22 # 6A8 | |
:proto L31 # 6D4 | |
:proto Sub23 # 6DC | |
:proto L36 # 738 | |
:proto Sub25 # 73A | |
:proto L37 # 740 | |
:proto Sub26 # 748 | |
:proto L38 # 756 | |
:proto L39 # 762 | |
:proto D38 # 76A | |
:proto D39 # 76C | |
:proto L40 # 772 | |
:proto L41 # 798 | |
:proto L44 # 7B0 | |
:proto L47 # 7CE | |
:proto L48 # 7D8 | |
:proto L50 # 7EA | |
:proto L51 # 7F4 | |
:proto L52 # 7FC | |
:proto L54 # 816 | |
:proto L55 # 832 | |
:proto L56 # 836 | |
:proto L57 # 842 | |
:proto L58 # 854 | |
:proto L60 # 892 | |
:proto L61 # 8A0 | |
:proto L62 # 8AA | |
:proto L63 # 8B2 | |
: main | |
jump L1 | |
: L1 | |
v3 := 48 | |
delay := v3 | |
i := D7 | |
v1 := 5 | |
v2 := 0 | |
Sub17 | |
i := D8 | |
v1 := 8 | |
v2 := 18 | |
Sub16 | |
i := D9 | |
v1 := 0 | |
v2 := 26 | |
Sub14 | |
Sub14 | |
jump L41 | |
0x0 0x0 0x0 0x0 | |
: L2 | |
i := D16 | |
v1 := 0 | |
v2 := 0 | |
loop | |
sprite v1 v2 1 | |
v2 += 1 | |
if v2 != 31 then | |
again | |
v1 := 46 | |
v2 := 0 | |
loop | |
sprite v1 v2 1 | |
v2 += 1 | |
if v2 != 31 then | |
again | |
jump L21 | |
0xa4 0xd1 0x61 0x0 0x62 0x0 0xd1 0x25 | |
: Sub1 | |
i := D22 | |
bcd vA | |
load v2 | |
v3 := 49 | |
v4 := 6 | |
Sub2 | |
return | |
: Sub2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
0x0 0x0 0xa4 0xd6 0x61 0x18 0x62 0x0 0xd1 0x25 | |
: Sub3 | |
i := D23 | |
bcd vB | |
load v2 | |
v3 := 49 | |
v4 := 19 | |
Sub2 | |
return | |
0x0 0x0 0xa4 0xcc 0x61 0x30 0x62 0x0 0xd1 0x25 | |
: Sub4 | |
i := D24 | |
bcd vC | |
load v2 | |
v3 := 49 | |
v4 := 26 | |
Sub2 | |
return | |
0x0 0x0 0x6a 0xfa 0x6b 0xfa | |
: Sub5 | |
i := D22 | |
load v2 | |
v3 := 49 | |
v4 := 6 | |
Sub2 | |
return | |
: Sub6 | |
i := D23 | |
load v2 | |
v3 := 49 | |
v4 := 19 | |
Sub2 | |
return | |
: Sub7 | |
i := D24 | |
load v2 | |
v3 := 49 | |
v4 := 26 | |
Sub2 | |
return | |
0x0 0x0 0x0 0x0 | |
: L5 | |
v6 := 2 | |
v7 := random 0b1111 | |
0x68 : D1 0x0 # SMC: v8 := 0 | |
v7 += 11 | |
: L6 | |
vE := 2 | |
v3 := 2 | |
if v3 key then Sub11 | |
v3 := 4 | |
if v3 key then Sub18 | |
v3 := 6 | |
if v3 key then Sub8 | |
jump L7 | |
: L7 | |
vC += 1 | |
vE := vC | |
loop | |
vB += -1 | |
if vB == 0 then jump L27 | |
if vB == 26 then Sub10 | |
vE += -1 | |
v8 += 1 | |
Sub12 | |
if vE != 0 then | |
again | |
v0 := random 0b1 | |
if v0 != 0 then jump L9 | |
v7 += 1 | |
jump L10 | |
: L9 | |
v7 += -1 | |
: L10 | |
Sub5 | |
Sub1 | |
Sub6 | |
Sub3 | |
Sub12 | |
Sub7 | |
Sub4 | |
jump L6 | |
0x0 0x0 | |
: L11 | |
v3 := 2 | |
if v3 key then jump Sub11 | |
return | |
0x63 0x0 | |
: L12 | |
0x6a : D2 0x96 # SMC: vA := 150 | |
0x6b : D3 0xfa # SMC: vB := -6 | |
vC := 4 | |
i := D4 | |
v1 := 48 | |
v2 := 0 | |
Sub13 | |
i := D5 | |
v1 := 48 | |
v2 := 13 | |
Sub13 | |
Sub1 | |
Sub3 | |
Sub4 | |
jump L5 | |
0x0 0x0 | |
: D4 | |
0xea 0x8a 0xea 0x8a 0x8e 0xe8 0x88 0xe8 0x88 0xee 0x0 0x0 0x0 0x0 0x0 | |
: D5 | |
0xee 0x88 0xee 0x88 0x8e 0xee 0x84 0xe4 0x84 0xe4 0x0 0x0 0x0 0x0 0x0 | |
: L13 | |
vA += -1 | |
if vA != 0 then jump L15 | |
jump L58 | |
0x0 0x0 | |
: Sub8 | |
loop | |
buzzer := v6 | |
v7 += 1 | |
vA += -1 | |
if vA == 0 then jump L58 | |
Sub12 | |
v3 := 6 | |
if v3 key then | |
again | |
return | |
0x77 0xff | |
: D6 | |
0xc0 0xf8 0xfe 0xff 0xe0 0x80 | |
: Sub9 | |
i := D6 | |
v1 := 1 | |
v2 := 12 | |
sprite v1 v2 6 | |
return | |
: Sub10 | |
Sub21 | |
i := D17 | |
v1 := 0 | |
v2 := 1 | |
sprite v1 v2 15 | |
i := D18 | |
v2 += 15 | |
sprite v1 v2 15 | |
i := D19 | |
v1 := 38 | |
v2 := 1 | |
sprite v1 v2 15 | |
v2 += 15 | |
sprite v1 v2 15 | |
i := D20 | |
v1 := 13 | |
v2 := 24 | |
sprite v1 v2 7 | |
i := D21 | |
v1 := 31 | |
v2 := 24 | |
sprite v1 v2 7 | |
i := D15 | |
v1 := 0 | |
v2 := 31 | |
loop | |
sprite v1 v2 1 | |
v1 += 8 | |
if v1 != 48 then | |
again | |
return | |
0x0 0x0 | |
: Sub11 | |
buzzer := v6 | |
jump L13 | |
: L15 | |
if vC != 0 then vC += -1 | |
if vB == -6 then jump L16 | |
if vB == 26 then jump L16 | |
vB += 1 | |
v8 += -1 | |
: L16 | |
if vE != 0 then vE += -1 | |
: Sub12 | |
i := D14 | |
sprite v7 v8 5 | |
vF := 0 | |
i := D16 | |
v9 := v8 | |
v9 += 5 | |
vD := v7 | |
sprite vD v9 1 | |
if vF == 1 then jump L31 | |
sprite vD v9 1 | |
vF := 0 | |
vD += 7 | |
sprite vD v9 1 | |
if vF == 1 then jump L51 | |
sprite vD v9 1 | |
i := D14 | |
sprite v7 v8 5 | |
jump L11 | |
0x0 0x0 | |
: D7 | |
0x8a 0x8a 0x8a 0x8a 0xee 0x8b 0xca 0xab 0x9a 0x8a 0xbc 0xb4 0xbc 0xa8 0xac 0x47 0x45 0x47 0x45 0x75 0x45 0x64 0x54 0x4c 0x45 0xee 0xa8 0xae 0xa8 0xee 0xf0 0xd0 0xf0 0xa0 0xb0 0x0 | |
: D8 | |
0x97 0xa4 0xc7 0xa4 0x97 0x51 0x54 0x71 0x25 0x21 0xc3 0x41 0xd9 0x1 0xc1 0xab 0x2b 0x3b 0x2a 0x2a 0xd5 0x55 0xd5 0x94 0xdd 0xdc 0x8 0xc8 0x48 0xc8 | |
: D9 | |
0x97 0xa4 0xc7 0xa4 0x97 0x51 0x55 0x71 0x24 0x20 0x43 0x42 0xeb 0x42 0x43 0x83 0x2 0xbb 0x80 0x83 0xbb 0x12 0x93 0x92 0x92 0xbd 0x95 0x9d 0x95 0xbd 0x45 0x44 0x44 0x44 0x75 0xee 0x28 0x4e 0x88 0xee | |
: D10 | |
0xef 0x8d 0x8f 0x8a 0xeb 0x77 0x54 0x77 0x51 0x57 0x55 0x55 0x75 0x50 0x55 0x0 | |
: D11 | |
0xee 0x8a 0x8e 0x8a 0xea 0xee 0xa4 0xe4 0x84 0x84 0xea 0xab 0xea 0xaa 0xaa 0x20 0x20 0xa0 0x60 0x20 | |
: D12 | |
0xee 0xa8 0xee 0xa2 0xae 0xef 0x4d 0x4f 0x4a 0x4b 0x74 0x56 0x55 0x54 0x74 0x5d 0x55 0x5d 0xd5 0x55 0x5c 0x48 0x48 0x48 0xc8 0x6 | |
: D13 | |
0xee 0xa4 0xe4 0x84 0x8e 0x8e 0x8a 0x8a 0x8a 0xee 0xe0 0x40 0x40 0x40 0x40 0x0 0xee 0x88 0xee 0x82 0x8e 0xe8 0x88 0xe8 0x88 0x8e 0xee 0x84 0xe4 0x84 0x84 | |
: D14 | |
0x18 0x3c 0xa5 | |
: D15 | |
0xff 0xbd 0x0 | |
: D16 | |
0x80 | |
: D17 | |
0x40 0x40 0x40 0x40 0x40 0x40 0x60 0x60 0x60 0x60 0x60 0x60 0x60 0x70 0x70 | |
: D18 | |
0x60 0x60 0x60 0x60 0x60 0x60 0x70 0x70 0x60 0x40 0x40 0x0 0x0 0x0 0x0 | |
: D19 | |
0x3 0x1 0xf 0xf 0x1 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0xf 0x8f 0x8f 0x8f 0x8f | |
: D20 | |
0x28 0xf8 0xfc 0x7c 0x78 0x7c 0x7c | |
: D21 | |
0x10 0x30 0x30 0x78 0xf8 0xf0 0xf8 0x0 0x0 | |
: Sub13 | |
v3 := 0 | |
v4 := 5 | |
loop | |
sprite v1 v2 5 | |
v3 += 1 | |
i += v4 | |
v1 += 8 | |
if v3 != 3 then | |
again | |
return | |
0x0 0x0 | |
: Sub14 | |
v3 := 0 | |
v4 := 5 | |
loop | |
sprite v1 v2 5 | |
v3 += 1 | |
i += v4 | |
v1 += 8 | |
if v3 != 4 then | |
again | |
return | |
0x0 0x0 | |
: Sub15 | |
v3 := 0 | |
v4 := 5 | |
loop | |
sprite v1 v2 5 | |
v3 += 1 | |
i += v4 | |
v1 += 8 | |
if v3 != 5 then | |
again | |
return | |
: Sub16 | |
Sub13 | |
jump Sub13 | |
: Sub17 | |
Sub13 | |
jump Sub14 | |
: D22 | |
0x1 0x4 0x9 | |
: D23 | |
0x0 0x4 0x7 | |
: D24 | |
0x0 0x2 0x1 0x0 0xb3 0xbf | |
: Sub18 | |
loop | |
buzzer := v6 | |
v7 += -1 | |
vA += -1 | |
if vA == 0 then jump L58 | |
Sub12 | |
v3 := 4 | |
if v3 key then | |
again | |
return | |
0x58 0x48 | |
: Sub19 | |
i := D25 | |
v1 := 38 | |
v2 := 20 | |
jump L20 | |
: L20 | |
sprite v1 v2 6 | |
return | |
: D25 | |
0x3 0xf 0xff 0x7f 0x7 0x1 | |
: D26 | |
0xff 0x0 | |
: Sub20 | |
i := D26 | |
v1 := 9 | |
v2 := 15 | |
sprite v1 v2 1 | |
0x61 : D27 0xb # SMC: v1 := 11 | |
v2 := 16 | |
sprite v1 v2 1 | |
jump L40 | |
: L21 | |
Sub19 | |
Sub9 | |
Sub20 | |
jump L12 | |
: Sub21 | |
Sub19 | |
Sub9 | |
Sub20 | |
return | |
0x47 0x47 | |
: D28 | |
0x80 | |
: D29 | |
0xff 0xa8 0xab 0xa8 0xae 0x88 0xff | |
: D30 | |
0xf0 0x80 0xa0 0x80 0xa0 0xa0 0xf0 0x0 | |
: L22 | |
Sub5 | |
Sub1 | |
Sub6 | |
Sub3 | |
Sub7 | |
Sub4 | |
i := D39 | |
sprite v7 v8 6 | |
if v7 == 1 then jump L25 | |
if v7 == 2 then jump L25 | |
if v7 == 3 then jump L25 | |
if v7 == 4 then jump L25 | |
if v7 == 5 then jump L25 | |
if v7 == 6 then jump L25 | |
if v7 == 36 then jump L23 | |
if v7 == 37 then jump L23 | |
if v7 == 38 then jump L23 | |
vD := -1 | |
jump L25 | |
0x0 0x0 | |
: L23 | |
vE := 0 | |
v7 += 2 | |
i := D28 | |
loop | |
sprite v7 v8 1 | |
v8 += -1 | |
vE += 1 | |
if vE != 13 then | |
again | |
i := D29 | |
v7 += -12 | |
v8 += 1 | |
sprite v7 v8 7 | |
v7 += 8 | |
i := D30 | |
sprite v7 v8 7 | |
jump L52 | |
: D31 | |
0xf8 0x88 0xa8 0x88 0xa8 0xa8 0xf8 0x0 | |
: L25 | |
vE := 0 | |
v7 += 2 | |
i := D28 | |
loop | |
sprite v7 v8 1 | |
v8 += -1 | |
vE += 1 | |
if vE != 13 then | |
again | |
i := D29 | |
v7 += 1 | |
v8 += 1 | |
sprite v7 v8 7 | |
v7 += 8 | |
i := D31 | |
sprite v7 v8 7 | |
if vD != -1 then jump L52 | |
jump L54 | |
: L27 | |
vF := 0 | |
0x66 : D32 0x5 # SMC: v6 := 5 | |
v6 -= vC | |
if vF != 1 then jump L28 | |
jump L22 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D33 | |
0xbd | |
: D34 | |
0xff 0xa5 0x3c 0x18 | |
: D35 | |
0x38 0x10 0x78 0xd8 0xd8 0x78 0x10 0x38 0x0 | |
: L28 | |
i := D35 | |
v7 += 2 | |
v8 += -3 | |
sprite v7 v8 8 | |
Sub22 | |
jump L29 | |
: L29 | |
i := D35 | |
sprite v7 v8 8 | |
i := D33 | |
v7 += -2 | |
v8 += 4 | |
sprite v7 v8 5 | |
loop | |
i := D10 | |
v1 := 12 | |
v2 := 0 | |
Sub13 | |
vD := 2 | |
buzzer := vD | |
again | |
0x25 0xc4 | |
: Sub22 | |
Sub5 | |
Sub1 | |
Sub6 | |
Sub3 | |
Sub7 | |
Sub4 | |
return | |
0x41 0x4a 0xae 0x5d 0xbb 0xbd 0xbe 0xb0 0xb2 0xb4 0x4c 0x40 0x48 0x4d 0x47 0x41 0x43 0x42 | |
: D36 | |
0xb5 0x6a 0x29 0x2c 0xe3 0xc4 0xdf 0x2f 0x1f 0x2f | |
: D37 | |
0x88 0x20 | |
: L31 | |
Sub26 | |
: L32 | |
vE := 2 | |
Sub23 | |
jump L37 | |
: Sub23 | |
i := D14 | |
: L33 | |
sprite v7 v8 6 | |
: Sub24 | |
i := D36 | |
sprite v7 v8 6 | |
v8 += -1 | |
buzzer := vE | |
i := D10 | |
v1 := 12 | |
v2 := 0 | |
Sub13 | |
vD += 1 | |
if vD != 10 then jump L33 | |
vD := 0 | |
return | |
: L34 | |
i := D37 | |
v7 += 2 | |
v8 += 13 | |
v5 := v7 | |
v6 := v8 | |
v0 := v7 | |
v9 := v8 | |
sprite v7 v8 1 | |
sprite v7 v8 1 | |
Sub25 | |
loop | |
v8 += -1 | |
v0 += 1 | |
v5 += -1 | |
v6 += -2 | |
v9 += -2 | |
sprite v7 v8 2 | |
sprite v7 v8 2 | |
sprite v0 v9 2 | |
sprite v0 v9 2 | |
sprite v5 v6 2 | |
sprite v5 v6 2 | |
vD += 1 | |
Sub25 | |
i := D10 | |
v1 := 12 | |
v2 := 0 | |
Sub13 | |
i := D37 | |
if vD != 5 then | |
again | |
jump L36 | |
: L36 | |
jump L38 | |
: Sub25 | |
vE := 2 | |
buzzer := vE | |
return | |
: L37 | |
v8 += 10 | |
Sub24 | |
jump L34 | |
0x17 0x42 | |
: Sub26 | |
vD := 0 | |
buzzer := v8 | |
Sub22 | |
vA := v7 | |
vB := v8 | |
vB += 5 | |
return | |
: L38 | |
loop | |
i := D10 | |
v1 := 12 | |
v2 := 0 | |
Sub13 | |
i := D38 | |
jump L39 | |
: L39 | |
sprite vA vB 2 | |
vE := 2 | |
buzzer := vE | |
again | |
: D38 | |
0xc0 0xc0 | |
: D39 | |
0x18 0x3c 0xa5 0xff 0xbd 0x24 | |
: L40 | |
v1 := 31 | |
v2 := 23 | |
sprite v1 v2 1 | |
return | |
: D40 | |
0xee 0xaa 0xae 0xa8 0xe8 0xeb 0x4a 0x4a 0x4a 0x4b 0xa2 0xb2 0xaa 0xa6 0xa2 0x30 0x90 0x13 0x90 0x38 0x70 0x10 0x76 0x40 0x70 0xe0 0x20 0xe0 0x20 0xe0 | |
: L41 | |
jump L60 | |
: L42 | |
v1 := 9 | |
v2 := 8 | |
Sub16 | |
loop | |
v0 := key | |
if v0 == 1 then jump L44 | |
if v0 == 2 then jump L47 | |
if v0 == 3 then jump L48 | |
again | |
: L44 | |
jump L61 | |
: L45 | |
v0 := 11 | |
save v0 | |
v0 := 150 | |
: L46 | |
i := D2 | |
save v0 | |
i := D3 | |
v0 := -6 | |
save v0 | |
i := D1 | |
v0 := 0 | |
save v0 | |
jump L50 | |
0x17 0xec 0x0 0x0 | |
: L47 | |
i := D27 | |
v0 := 14 | |
save v0 | |
i := D32 | |
jump L62 | |
: L48 | |
jump L63 | |
: L49 | |
v0 := 100 | |
save v0 | |
i := D3 | |
v0 := 32 | |
save v0 | |
i := D1 | |
v0 := 26 | |
save v0 | |
: L50 | |
loop | |
v3 := delay | |
if v3 != 0 then | |
again | |
clear | |
jump L2 | |
: L51 | |
Sub26 | |
vA += 7 | |
jump L32 | |
0xbf 0xbb | |
: L52 | |
vF := 0 | |
v0 := 49 | |
v0 -= vA | |
if vF != 0 then jump L55 | |
: L53 | |
if vC == 0 then jump L57 | |
if vC == 1 then jump L57 | |
if vC == 2 then jump L57 | |
jump L56 | |
0x0 0x0 | |
: L54 | |
vF := 0 | |
v0 := 79 | |
v0 -= vA | |
if vF != 0 then jump L55 | |
jump L53 | |
0x0 0x0 | |
: Sub27 | |
i := D12 | |
v1 := 3 | |
v2 := 0 | |
Sub15 | |
vE := 2 | |
buzzer := vE | |
return | |
: L55 | |
loop | |
Sub27 | |
again | |
: L56 | |
loop | |
Sub27 | |
i := D13 | |
v1 := 11 | |
v2 := 6 | |
Sub13 | |
again | |
: L57 | |
loop | |
Sub27 | |
i := D11 | |
v1 := 8 | |
v2 := 6 | |
Sub14 | |
again | |
0x6a 0xa1 0xa4 0xdb 0xd7 0x85 | |
: L58 | |
i := D35 | |
v7 += 2 | |
v8 += -3 | |
sprite v7 v8 8 | |
Sub22 | |
i := D35 | |
sprite v7 v8 8 | |
v7 += -2 | |
v8 += 3 | |
loop | |
i := D33 | |
sprite v7 v8 5 | |
sprite v7 v8 5 | |
i := D4 | |
v1 := 48 | |
v2 := 0 | |
Sub13 | |
vE := 2 | |
buzzer := vE | |
vB += -1 | |
vC += 1 | |
v8 += 1 | |
if vB == 27 then Sub10 | |
if vB != 0 then | |
again | |
Sub22 | |
Sub26 | |
vA += 3 | |
vE := 2 | |
Sub24 | |
jump L37 | |
: L60 | |
i := D34 | |
v1 := 27 | |
v2 := 15 | |
sprite v1 v2 1 | |
i := D40 | |
jump L42 | |
0x0 0x0 | |
: L61 | |
i := D32 | |
v0 := 5 | |
save v0 | |
i := D27 | |
jump L45 | |
: L62 | |
v0 := 3 | |
save v0 | |
v0 := 200 | |
jump L46 | |
: L63 | |
i := D32 | |
v0 := 3 | |
save v0 | |
i := D2 | |
jump L49 | |
0x76 0xf6 0x32 0x7f 0x0 0x10 0x18 0x0 0xff 0x7e 0xc7 0xfd 0x80 0x50 0x35 0xc9 0xa4 0x2e 0x67 0x80 0x0 0x80 0x10 0x0 0x6f 0xff 0x7f 0x73 0x38 0x0 0xc9 0x17 0xb7 0x27 0xa3 0x3f 0x0 0x0 0x94 0xc8 0xff 0xef 0xff 0xed 0xc8 0x90 0xfe 0xfc 0xff 0x27 0x29 0x30 0x90 0x58 0x8c 0x12 0xff 0x7f 0x7f 0x77 0x91 0x80 0x1f 0xe9 0x62 0xd7 0x3b 0x2b | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Mastermind FourRow (Robert Lindley, 1978).ch8 | |
###################################################################### | |
:proto L6 # 24A | |
:proto L11 # 2C2 | |
:proto D3 # 2FC | |
:proto Sub1 # 300 | |
:proto Sub2 # 30E | |
:proto D4 # 3F4 | |
:proto D5 # 3F8 | |
:proto D6 # 3FC | |
: main | |
i := D3 | |
vD := 0 | |
: L1 | |
vE := 0 | |
loop | |
sprite vD vE 3 | |
vE += 6 | |
if vE != 24 then | |
again | |
vD += 6 | |
if vD != 60 then jump L1 | |
i := D4 | |
Sub1 | |
Sub1 | |
Sub1 | |
Sub1 | |
vD := 0 | |
vE := 0 | |
vC := 0 | |
: L3 | |
i := D4 | |
load v3 | |
save v3 | |
vB := 0 | |
: L4 | |
loop | |
v0 := key | |
if v0 != 15 then jump L6 | |
loop | |
if vB == 0 then jump L4 | |
vE += -6 | |
i := D6 | |
vB += -1 | |
i += vB | |
load v0 | |
i := hex v0 | |
sprite vD vE 5 | |
i := D3 | |
sprite vD vE 3 | |
again | |
: L6 | |
vA := -7 | |
vA += v0 | |
if vF != 0 then jump L4 | |
if v0 == 0 then jump L4 | |
i := D3 | |
sprite vD vE 3 | |
i := D6 | |
i += vB | |
save v0 | |
i := hex v0 | |
sprite vD vE 5 | |
vE += 6 | |
vB += 1 | |
if vB != 4 then | |
again | |
v4 := 0 | |
v8 := 0 | |
vB := 0 | |
loop | |
i := D6 | |
i += vB | |
load v0 | |
v2 := v0 | |
i := D5 | |
i += vB | |
load v0 | |
v3 := v0 | |
Sub2 | |
i := D6 | |
i += vB | |
v0 := v2 | |
save v0 | |
i := D5 | |
i += vB | |
v0 := v3 | |
save v0 | |
vB += 1 | |
if vB != 4 then | |
again | |
if v8 != 4 then jump L11 | |
: L8 | |
vE := 0 | |
vD := 60 | |
v9 := 0 | |
loop | |
i := D4 | |
i += v9 | |
load v0 | |
i := hex v0 | |
sprite vD vE 5 | |
vE += 6 | |
v9 += 1 | |
if v9 != 4 then | |
again | |
v0 := 32 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L8 | |
: L11 | |
v4 := 1 | |
vA := 0 | |
: L12 | |
vB := 0 | |
i := D6 | |
i += vA | |
load v0 | |
v2 := v0 | |
loop | |
i := D5 | |
i += vB | |
load v0 | |
v3 := v0 | |
Sub2 | |
i := D5 | |
i += vB | |
v0 := v3 | |
save v0 | |
vB += 1 | |
if vB != 4 then | |
again | |
vA += 1 | |
if vA != 4 then jump L12 | |
vD += 6 | |
vE := 0 | |
vC += 1 | |
if vC != 10 then jump L3 | |
jump L8 | |
: D1 | |
0x90 | |
: D2 | |
0xf0 | |
: D3 | |
0x0 0x0 0x60 0x0 | |
: Sub1 | |
loop | |
v0 := random 0b111 | |
if v0 == 0 then jump Sub1 | |
if v0 == 7 then | |
again | |
save v0 | |
return | |
: Sub2 | |
if v2 != v3 then return | |
i := D1 | |
if v4 != 0 then i := D2 | |
sprite vD vE 1 | |
vE += 2 | |
v8 += 1 | |
v2 := 14 | |
v3 := 15 | |
return | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D4 0 0 0 0 | |
: D5 0 0 0 0 | |
: D6 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Merlin [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 219 | |
:proto L5 # 279 | |
:proto L6 # 283 | |
:proto L7 # 28D | |
:proto L8 # 297 | |
:proto L9 # 2B5 | |
:proto Sub1 # 2C1 | |
:proto Sub2 # 2CB | |
:proto Sub3 # 2DF | |
:proto Sub4 # 2F9 | |
:proto D1 # 30F | |
:proto D2 # 317 | |
:proto D3 # 31D | |
:proto D4 # 331 | |
:proto D5 # 345 | |
:proto D6 # 359 | |
: main | |
jump L1 | |
0x20 0x4d 0x45 0x52 0x4c 0x49 0x4e 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
Sub4 | |
i := D3 | |
v0 := 16 | |
v1 := 0 | |
Sub2 | |
i := D4 | |
v0 := 11 | |
v1 := 27 | |
Sub2 | |
v4 := 4 | |
: L2 | |
Sub3 | |
v5 := 0 | |
v2 := 40 | |
Sub1 | |
loop | |
v2 := random 0b11 | |
v0 := v2 | |
i := D6 | |
i += v5 | |
save v0 | |
v0 := 23 | |
v1 := 8 | |
v3 := 1 | |
v3 &= v2 | |
if v3 != 0 then v0 += 10 | |
v3 := 2 | |
v3 &= v2 | |
if v3 != 0 then v1 += 10 | |
i := D2 | |
sprite v0 v1 6 | |
v2 := 20 | |
Sub1 | |
sprite v0 v1 6 | |
v2 := 5 | |
Sub1 | |
v5 += 1 | |
if v4 != v5 then | |
again | |
v5 := 0 | |
: L4 | |
loop | |
v0 := 23 | |
v1 := 8 | |
i := D2 | |
v3 := key | |
if v3 != 4 then jump L5 | |
v3 := 0 | |
jump L8 | |
: L5 | |
if v3 != 5 then jump L6 | |
v0 += 10 | |
v3 := 1 | |
jump L8 | |
: L6 | |
if v3 != 7 then jump L7 | |
v1 += 10 | |
v3 := 2 | |
jump L8 | |
: L7 | |
if v3 != 8 then jump L4 | |
v0 += 10 | |
v1 += 10 | |
v3 := 3 | |
: L8 | |
sprite v0 v1 6 | |
v2 := 20 | |
Sub1 | |
sprite v0 v1 6 | |
i := D6 | |
i += v5 | |
load v0 | |
v5 += 1 | |
if v0 != v3 then jump L9 | |
if v5 != v4 then | |
again | |
Sub3 | |
v4 += 1 | |
jump L2 | |
: L9 | |
Sub4 | |
i := D5 | |
v0 := 16 | |
v1 := 14 | |
Sub2 | |
loop | |
again | |
: Sub1 | |
delay := v2 | |
loop | |
v2 := delay | |
if v2 != 0 then | |
again | |
return | |
: Sub2 | |
v3 := v0 | |
v2 := 5 | |
loop | |
sprite v0 v1 5 | |
i += v2 | |
v0 += 8 | |
v5 := v3 | |
v5 += 32 | |
if v0 != v5 then | |
again | |
return | |
: Sub3 | |
i := D6 | |
v3 := v4 | |
v3 += -3 | |
bcd v3 | |
load v2 | |
i := hex v1 | |
v0 := 43 | |
v3 := 27 | |
sprite v0 v3 5 | |
v0 += 5 | |
i := hex v2 | |
sprite v0 v3 5 | |
return | |
: Sub4 | |
i := D1 | |
v0 := 23 | |
v1 := 7 | |
sprite v0 v1 8 | |
v0 += 10 | |
sprite v0 v1 8 | |
v1 += 10 | |
sprite v0 v1 8 | |
v0 += -10 | |
sprite v0 v1 8 | |
return | |
: D1 | |
0xff 0x81 0x81 0x81 0x81 0x81 0x81 0xff | |
: D2 | |
0x7e 0x7e 0x7e 0x7e 0x7e 0x7e | |
: D3 | |
0xdb 0xaa 0x8b 0xcb 0xcb 0xef 0x8 0x8f 0xd 0xec 0xa0 0xa0 0xb0 0x30 0xbe 0x5f 0x51 0x51 0xd9 0xd9 | |
: D4 | |
0x83 0x82 0x83 0x82 0xfb 0xe8 0x8 0x88 0x5 0xe2 0xbe 0xa0 0xb8 0x20 0x3e 0x80 0x80 0x80 0x80 0xf8 | |
: D5 | |
0xf7 0x85 0xb7 0x95 0xf5 0x76 0x54 0x56 0x54 0x56 0x3a 0x2a 0x2a 0x2a 0x39 0xb6 0xa5 0xb6 0xa5 0x35 | |
: D6 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Missile [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 219 | |
:proto L4 # 249 | |
:proto L5 # 24F | |
:proto L8 # 291 | |
:proto L9 # 295 | |
:proto L10 # 297 | |
:proto D1 # 2AD | |
:proto D2 # 2B0 | |
:proto D3 # 2B4 | |
: main | |
jump L1 | |
0x4d 0x49 0x53 0x53 0x49 0x4c 0x45 0x20 0x62 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
vC := 12 | |
v0 := 0 | |
v1 := 0 | |
v5 := 8 | |
v6 := 10 | |
v7 := 0 | |
vE := 1 | |
i := D1 | |
loop | |
sprite v0 v1 4 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
v0 := 0 | |
v1 := 28 | |
i := D2 | |
sprite v0 v1 4 | |
: L3 | |
i := D2 | |
sprite v0 v1 4 | |
if vE != 1 then jump L4 | |
v0 += 4 | |
if v0 == 56 then vE := 0 | |
jump L5 | |
: L4 | |
v0 += -4 | |
if v0 == 0 then vE := 1 | |
: L5 | |
sprite v0 v1 4 | |
delay := vC | |
loop | |
vB := delay | |
if vB != 0 then | |
again | |
v2 := 8 | |
if v2 -key then jump L9 | |
if vC != 0 then vC += -2 | |
v3 := 27 | |
v2 := v0 | |
i := D2 | |
sprite v2 v3 1 | |
v4 := 0 | |
loop | |
sprite v2 v3 1 | |
v3 += -1 | |
sprite v2 v3 1 | |
if vF != 0 then v4 := 1 | |
if v3 != 3 then | |
again | |
sprite v2 v3 1 | |
if v4 != 1 then jump L8 | |
v7 += 5 | |
v5 += -1 | |
v2 := v0 | |
v3 := 0 | |
i := D1 | |
sprite v2 v3 4 | |
if v5 == 0 then jump L10 | |
: L8 | |
v6 += -1 | |
if v6 != 0 then : L9 | |
jump L3 | |
: L10 | |
i := D3 | |
bcd v7 | |
load v2 | |
v3 := 27 | |
v4 := 13 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
loop | |
again | |
: D1 | |
0x10 0x38 0x38 | |
: D2 | |
0x10 0x38 0x7c 0xfe | |
: D3 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Most Dangerous Game [Peter Maruhnic].ch8 | |
###################################################################### | |
:proto L5 # 26A | |
:proto L8 # 288 | |
:proto L9 # 28C | |
:proto Sub1 # 2A6 | |
:proto Sub2 # 2D6 | |
:proto Sub3 # 2EC | |
:proto L13 # 308 | |
:proto Sub4 # 310 | |
:proto Sub5 # 31A | |
:proto Sub6 # 332 | |
:proto L15 # 342 | |
:proto L16 # 364 | |
:proto Sub7 # 372 | |
:proto L18 # 380 | |
:proto L19 # 390 | |
:proto L20 # 39C | |
:proto Sub8 # 3A0 | |
:proto L22 # 3F6 | |
:proto L23 # 404 | |
:proto L24 # 412 | |
:proto Sub9 # 41A | |
:proto Sub10 # 424 | |
:proto Sub11 # 430 | |
:proto L27 # 440 | |
:proto L29 # 464 | |
:proto D1 # 4A0 | |
:proto Sub14 # 4AE | |
:proto L30 # 4E0 | |
:proto L31 # 4F4 | |
:proto L33 # 508 | |
:proto L34 # 516 | |
:proto L35 # 51E | |
:proto L37 # 52C | |
:proto L38 # 53A | |
:proto L39 # 542 | |
:proto L40 # 556 | |
:proto L41 # 564 | |
:proto L42 # 572 | |
:proto L44 # 596 | |
:proto L45 # 5AA | |
:proto L46 # 5BE | |
:proto D2 # 5C8 | |
:proto D3 # 5CD | |
:proto D4 # 5D2 | |
:proto D5 # 5D7 | |
:proto D6 # 5DC | |
:proto D7 # 5E3 | |
:proto D8 # 5EA | |
:proto D9 # 5EC | |
:proto D10 # 5EF | |
:proto D11 # 5F0 | |
:proto D12 # 5F1 | |
:proto D13 # 671 | |
:proto D14 # 678 | |
:proto D15 # 67F | |
:proto D16 # 682 | |
:proto D17 # 684 | |
:proto D18 # 68E | |
: main | |
v0 := 1 | |
i := D11 | |
save v0 | |
v0 := -1 | |
v1 := 0 | |
loop | |
save v0 | |
v1 += 1 | |
if v1 != 128 then | |
again | |
clear | |
v0 := 15 | |
v1 := 6 | |
v2 := 3 | |
v3 := 0 | |
v4 := 46 | |
v5 := 30 | |
v6 := 1 | |
i := D13 | |
save v6 | |
i := D10 | |
sprite v4 v5 1 | |
v2 := 5 | |
v4 := 18 | |
v5 := 2 | |
sprite v4 v5 1 | |
i := D14 | |
save v6 | |
i := D10 | |
v2 := 4 | |
: L2 | |
v1 := 20 | |
loop | |
sprite v1 v2 1 | |
v1 += 4 | |
if v1 != 48 then | |
again | |
v2 += 4 | |
if v2 != 32 then jump L2 | |
vE := 1 | |
loop | |
i := D13 | |
Sub2 | |
Sub4 | |
Sub7 | |
if vF != 0 then jump L5 | |
Sub4 | |
Sub5 | |
Sub6 | |
if vF != 0 then jump L8 | |
Sub5 | |
i := D16 | |
Sub2 | |
again | |
: L5 | |
if vF != 1 then jump L9 | |
: L6 | |
clear | |
v0 := 5 | |
loop | |
Sub1 | |
Sub4 | |
Sub10 | |
Sub4 | |
Sub1 | |
Sub1 | |
Sub4 | |
v0 += -1 | |
if v0 != 0 then | |
again | |
jump main | |
: L8 | |
if vF != 1 then jump L6 | |
: L9 | |
clear | |
v0 := 5 | |
loop | |
Sub1 | |
Sub5 | |
Sub10 | |
Sub5 | |
Sub1 | |
Sub1 | |
Sub5 | |
v0 += -1 | |
if v0 != 0 then | |
again | |
jump main | |
: Sub1 | |
vA := 16 | |
vB := 16 | |
i := D2 | |
sprite vA vB 5 | |
vA += 8 | |
i := D3 | |
sprite vA vB 5 | |
vA += 8 | |
i := D4 | |
sprite vA vB 5 | |
vA += 8 | |
i := D5 | |
sprite vA vB 5 | |
return | |
0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xd4 | |
: Sub2 | |
load v1 | |
i := D16 | |
save v1 | |
v3 := v1 | |
vA := 1 | |
vB := 4 | |
Sub3 | |
v0 := v3 | |
vA := 51 | |
Sub3 | |
return | |
: Sub3 | |
i := D15 | |
bcd v0 | |
load v2 | |
if v0 == 0 then jump L13 | |
i := hex v0 | |
sprite vA vB 5 | |
vA += 5 | |
: L11 | |
i := hex v1 | |
sprite vA vB 5 | |
: L12 | |
vA += 5 | |
i := hex v2 | |
sprite vA vB 5 | |
return | |
: L13 | |
if v1 == 0 then jump L12 | |
vA += 2 | |
jump L11 | |
: Sub4 | |
vA := 3 | |
vB := 23 | |
i := D6 | |
sprite vA vB 7 | |
return | |
: Sub5 | |
vA := 55 | |
vB := 23 | |
i := D7 | |
sprite vA vB 7 | |
return | |
0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xd4 | |
: Sub6 | |
i := D13 | |
load v6 | |
loop | |
Sub8 | |
if vF != 3 then jump L15 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
: L15 | |
i := D13 | |
load v2 | |
i := D13 | |
save v6 | |
if vF == 1 then return | |
if vF != 2 then if v1 == 0 then jump L16 | |
v6 := 4 | |
v3 := 1 | |
Sub8 | |
if vF == 0 then jump L16 | |
v1 += -1 | |
if vF == 1 then return | |
: L16 | |
v0 += -1 | |
vF := 0 | |
if v0 == 0 then vF := -1 | |
i := D13 | |
save v1 | |
return | |
: Sub7 | |
i := D14 | |
load v6 | |
loop | |
if v4 == 46 then if v5 != 30 then jump L18 | |
vF := 1 | |
return | |
: L18 | |
Sub8 | |
if vF == 1 then jump L20 | |
if vF != 3 then jump L19 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
: L19 | |
vF := 0 | |
i := D14 | |
load v2 | |
i := D14 | |
save v6 | |
return | |
: L20 | |
vF := -1 | |
return | |
: Sub8 | |
i := D17 | |
save v9 | |
i := D10 | |
Sub11 | |
vF := 0 | |
if v0 == 0 then jump L22 | |
if v3 == 1 then sprite v4 v5 1 | |
vC := 0 | |
vD := 0 | |
if v0 == 2 then vC := -1 | |
if v0 == 4 then vD := -1 | |
if v0 == 6 then vD := 1 | |
if v0 == 8 then vC := 1 | |
vA := v4 | |
vB := v5 | |
loop | |
Sub9 | |
Sub10 | |
Sub9 | |
Sub14 | |
i := D10 | |
if v0 == 0 then jump L23 | |
Sub9 | |
Sub10 | |
Sub9 | |
if vF == 1 then jump L24 | |
v4 := vA | |
v5 := vB | |
v6 += -1 | |
if v6 != 0 then | |
again | |
vD := 2 | |
buzzer := vD | |
if v3 == 1 then sprite vA vB 1 | |
vF := 3 | |
: L22 | |
i := D17 | |
vA := v4 | |
vB := v5 | |
load v9 | |
v4 := vA | |
v5 := vB | |
return | |
: L23 | |
vD := 16 | |
buzzer := vD | |
sprite vA vB 1 | |
if v3 == 0 then sprite v4 v5 1 | |
vF := 2 | |
jump L22 | |
: L24 | |
vD := 32 | |
buzzer := vD | |
vF := 1 | |
jump L22 | |
: Sub9 | |
sprite vA vB 1 | |
vA += vD | |
vB += vC | |
sprite vA vB 1 | |
return | |
: Sub10 | |
v8 := 8 | |
delay := v8 | |
loop | |
v8 := delay | |
if v8 != 0 then | |
again | |
return | |
: Sub11 | |
v0 := 0 | |
sprite v4 v5 1 | |
loop | |
if v0 key then jump L27 | |
v0 += 2 | |
if v0 != 10 then | |
again | |
jump Sub11 | |
: L27 | |
vD := 8 | |
buzzer := vD | |
if vF != 0 then sprite v4 v5 1 | |
loop | |
if v0 key then | |
again | |
return | |
: Sub12 | |
v4 <<= v1 | |
v4 <<= v4 | |
v5 <<= v2 | |
v3 >>= v2 | |
if vF != 1 then jump L29 | |
v4 += 16 | |
v5 += -1 | |
i := D9 | |
sprite v4 v5 3 | |
return | |
: L29 | |
v4 += 17 | |
i := D8 | |
sprite v4 v5 1 | |
return | |
0x1 0x0 0x0 0xd4 | |
: Sub13 | |
i := D1 | |
v1 <<= v0 | |
v0 += v1 | |
i += v0 | |
load v2 | |
i := D12 | |
v0 += v8 | |
i += v0 | |
load v0 | |
i += v1 | |
v1 := v0 | |
load v0 | |
i += v2 | |
v2 := v1 | |
v2 -= v0 | |
if vF != 0 then v1 := v0 | |
load v0 | |
v2 := v0 | |
v2 -= v1 | |
if vF != 0 then v0 := v1 | |
return | |
0x1 0x0 | |
: D1 | |
0x7 0x0 0x7 0xf0 0x6 0x0 0xf9 0x7 0x7 0xf8 0x6 0x8 0x0 0xd4 | |
: Sub14 | |
v0 := 0 | |
if vA != 16 then if vA == 48 then return | |
if vB != 0 then if vB == 32 then return | |
v1 >>= vA | |
v1 >>= v1 | |
v1 += -4 | |
v2 >>= vB | |
i := D18 | |
save vF | |
v8 <<= v2 | |
v8 <<= v8 | |
v8 <<= v8 | |
v8 += v1 | |
i := D12 | |
i += v8 | |
load v0 | |
if v0 == -1 then jump L30 | |
if v0 == -2 then jump L46 | |
jump L45 | |
: L30 | |
v3 := random 0b11111111 | |
v6 := 112 | |
v3 += v6 | |
if vF == 1 then jump L31 | |
v0 := -2 | |
i := D12 | |
i += v8 | |
save v0 | |
jump L46 | |
: L31 | |
v3 >>= v2 | |
if vF != 1 then jump L35 | |
if v2 != 1 then jump L33 | |
vA := 0 | |
: L32 | |
v0 := 0 | |
Sub13 | |
vB := v0 | |
jump L39 | |
: L33 | |
if v2 != 15 then jump L34 | |
vB := 0 | |
v0 := 1 | |
Sub13 | |
vA := v0 | |
jump L39 | |
: L34 | |
v0 := 1 | |
Sub13 | |
vA := v0 | |
jump L32 | |
: L35 | |
if v1 != 0 then jump L37 | |
vA := 0 | |
: L36 | |
v0 := 2 | |
Sub13 | |
vB := v0 | |
jump L39 | |
: L37 | |
if v1 != 7 then jump L38 | |
vB := 0 | |
v0 := 3 | |
Sub13 | |
vA := v0 | |
jump L39 | |
: L38 | |
v0 := 3 | |
Sub13 | |
vA := v0 | |
jump L36 | |
: L39 | |
if vA != vB then jump L41 | |
if vA != -2 then if vA == -1 then jump L40 | |
i := D12 | |
i += v8 | |
v0 := -2 | |
save v0 | |
jump L46 | |
: L40 | |
i := D11 | |
load v0 | |
v0 += 1 | |
i := D11 | |
save v0 | |
vA := v0 | |
jump L44 | |
: L41 | |
v3 := vA | |
v3 -= vB | |
if vF == 0 then jump L42 | |
v3 := vA | |
vA := vB | |
vB := v3 | |
: L42 | |
if vA == -2 then jump L40 | |
if vB != -2 then if vB == -1 then jump L44 | |
v3 := -1 | |
i := D12 | |
: L43 | |
loop | |
if v3 == 128 then jump L44 | |
load v0 | |
v3 += 1 | |
if vB != v0 then jump L43 | |
i := D12 | |
i += v3 | |
v0 := vA | |
save v0 | |
again | |
: L44 | |
i := D12 | |
i += v8 | |
v0 := vA | |
save v0 | |
if vE == 0 then jump L45 | |
i := D18 | |
load v2 | |
Sub12 | |
jump L45 | |
: L45 | |
i := D18 | |
load vF | |
Sub12 | |
vD := 30 | |
buzzer := vD | |
Sub12 | |
i := D18 | |
load v5 | |
v0 := 0 | |
return | |
: L46 | |
i := D18 | |
load vF | |
v0 := 1 | |
return | |
0x1 0x0 | |
: D2 | |
0x8a 0x8a 0xaa 0xda 0x8a | |
: D3 | |
0x8a 0xcb 0xaa 0x9a 0x8a | |
: D4 | |
0x2f 0x28 0xae 0x68 0x2f | |
: D5 | |
0x7b 0x4b 0x7b 0x50 0x4b | |
: D6 | |
0x10 0x20 0x40 0xbf 0x40 0x20 0x10 | |
: D7 | |
0x8 0x4 0x2 0xfd 0x2 0x4 0x8 | |
: D8 | |
0xe0 0x0 | |
: D9 | |
0x80 0x80 0x80 | |
: D10 | |
0x80 | |
: D11 | |
0x0 | |
: D12 | |
0xd4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D13 0 0 0 0 0 0 0 | |
: D14 0 0 0 0 0 0 0 | |
: D15 0 0 0 | |
: D16 0 0 | |
: D17 0 0 0 0 0 0 0 0 0 0 | |
: D18 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Nim [Carmelo Cortez, 1978].ch8 | |
###################################################################### | |
:proto L2 # 218 | |
:proto L4 # 226 | |
:proto L6 # 250 | |
:proto L7 # 25A | |
:proto Sub1 # 262 | |
:proto L8 # 282 | |
:proto L10 # 292 | |
:proto D1 # 2A2 | |
:proto D2 # 2A7 | |
:proto D3 # 2AC | |
:proto D4 # 2B1 | |
:proto D5 # 350 | |
: main | |
vE := 35 | |
vD := 2 | |
Sub1 | |
vC := key | |
if vC == 15 then jump L2 | |
: L1 | |
vA := 1 | |
vE -= vA | |
Sub1 | |
vD -= vA | |
if vE == 0 then jump L8 | |
: L2 | |
v8 := 1 | |
loop | |
if v8 key then jump L4 | |
v8 += 1 | |
if v8 != 4 then | |
again | |
jump L2 | |
: L4 | |
v5 := vE | |
v5 -= v8 | |
if vF != 1 then jump L2 | |
vE -= v8 | |
Sub1 | |
if vE == 0 then jump L10 | |
v9 := 112 | |
delay := v9 | |
loop | |
v9 := delay | |
if v9 != 0 then | |
again | |
if v8 == vD then jump L6 | |
v7 := v8 | |
v6 := vD | |
v7 -= v6 | |
if vF == 0 then jump L6 | |
vD += 4 | |
: L6 | |
vD -= v8 | |
if vD != 0 then jump L7 | |
vD := 4 | |
jump L1 | |
: L7 | |
vE -= vD | |
Sub1 | |
vD := 4 | |
jump L2 | |
: Sub1 | |
buzzer := vA | |
clear | |
i := D5 | |
bcd vE | |
v3 := 16 | |
vB := 0 | |
load v2 | |
i := hex v0 | |
sprite v3 vB 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 vB 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 vB 5 | |
return | |
: L8 | |
i := D1 | |
v0 := 0 | |
v1 := 21 | |
sprite v0 v1 5 | |
i := D2 | |
v0 := 8 | |
sprite v0 v1 5 | |
loop | |
again | |
: L10 | |
i := D3 | |
v0 := 0 | |
v1 := 16 | |
sprite v0 v1 5 | |
i := D4 | |
v0 := 8 | |
sprite v0 v1 5 | |
loop | |
again | |
: D1 | |
0x8b 0x89 0x89 0xa9 0xdb | |
: D2 | |
0xb2 0x32 0x2a 0x26 0xa6 | |
: D3 | |
0x8e 0x8a 0x8a 0x8a 0xee | |
: D4 | |
0xee 0x88 0xec 0x28 0xee 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D5 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Paddles.ch8 | |
###################################################################### | |
:proto L3 # 266 | |
:proto L4 # 280 | |
:proto Sub1 # 29A | |
:proto Sub2 # 2B0 | |
:proto Sub3 # 2B8 | |
:proto Sub4 # 2C0 | |
:proto Sub5 # 2DA | |
:proto Sub6 # 2E2 | |
:proto Sub7 # 2EA | |
:proto Sub8 # 2F2 | |
:proto L5 # 2FA | |
:proto L6 # 30A | |
:proto L7 # 31C | |
:proto L8 # 320 | |
:proto L9 # 324 | |
:proto L10 # 328 | |
:proto L11 # 32C | |
:proto L12 # 336 | |
:proto Sub9 # 340 | |
:proto Sub10 # 346 | |
:proto Sub11 # 34C | |
:proto Sub12 # 352 | |
:proto Sub13 # 358 | |
:proto L13 # 362 | |
:proto L14 # 36C | |
:proto L15 # 370 | |
:proto L16 # 374 | |
:proto L17 # 37E | |
:proto L18 # 382 | |
:proto Sub14 # 386 | |
:proto Sub15 # 3A0 | |
:proto Sub16 # 3AC | |
:proto Sub17 # 3B2 | |
:proto Sub18 # 3C8 | |
:proto Sub19 # 3D0 | |
:proto Sub20 # 3D8 | |
:proto Sub21 # 3E2 | |
:proto Sub22 # 3FA | |
:proto Sub23 # 40A | |
:proto L20 # 41C | |
:proto D1 # 41E | |
:proto D2 # 426 | |
:proto D3 # 427 | |
:proto D4 # 428 | |
:proto D5 # 42E | |
: main | |
clear | |
v8 := 0 | |
v9 := 0 | |
vA := 32 | |
vB := 32 | |
vC := 9 | |
vD := 3 | |
vE := 3 | |
Sub14 | |
Sub17 | |
Sub15 | |
Sub21 | |
v7 := 0 | |
loop | |
v0 := 15 | |
if v0 key then v7 := 1 | |
v0 := 14 | |
if v0 key then v7 := 2 | |
if v7 == 0 then | |
again | |
clear | |
Sub14 | |
Sub17 | |
Sub15 | |
Sub21 | |
Sub16 | |
: L2 | |
loop | |
Sub16 | |
Sub15 | |
if vE == 1 then Sub9 | |
if vE == 2 then Sub10 | |
if vE == 3 then Sub11 | |
if vE == 4 then Sub12 | |
Sub13 | |
if v7 == 1 then Sub1 | |
if v7 == 2 then Sub4 | |
Sub15 | |
Sub16 | |
if vF == 1 then jump L5 | |
if vD == 0 then jump L3 | |
if vD == 31 then jump L4 | |
jump L2 | |
: L3 | |
Sub16 | |
Sub21 | |
v9 += 1 | |
Sub21 | |
v0 := 15 | |
buzzer := v0 | |
if v9 == 9 then jump L20 | |
vC := 9 | |
vD := 2 | |
vE := 2 | |
Sub16 | |
jump L2 | |
: L4 | |
Sub16 | |
Sub21 | |
v8 += 1 | |
Sub21 | |
v0 := 15 | |
buzzer := v0 | |
if v8 == 9 then jump L20 | |
vC := 9 | |
vD := 28 | |
vE := 1 | |
Sub16 | |
jump L2 | |
: Sub1 | |
v0 := 4 | |
if v0 key then Sub2 | |
v0 := 6 | |
if v0 key then Sub3 | |
v3 := random 0b11 | |
if v3 == 0 then return | |
vA := vC | |
return | |
: Sub2 | |
if vB == 8 then return | |
vB += -2 | |
return | |
: Sub3 | |
if vB == 56 then return | |
vB += 2 | |
return | |
: Sub4 | |
v0 := 4 | |
if v0 key then Sub5 | |
v0 := 6 | |
if v0 key then Sub6 | |
v0 := 7 | |
if v0 key then Sub7 | |
v0 := 9 | |
if v0 key then Sub8 | |
return | |
: Sub5 | |
if vA == 8 then return | |
vA += -2 | |
return | |
: Sub6 | |
if vA == 56 then return | |
vA += 2 | |
return | |
: Sub7 | |
if vB == 8 then return | |
vB += -2 | |
return | |
: Sub8 | |
if vB == 56 then return | |
vB += 2 | |
return | |
: L5 | |
v0 := 5 | |
buzzer := v0 | |
if vD == 1 then jump L11 | |
if vD == 30 then jump L12 | |
if vD == 16 then jump L6 | |
: L6 | |
if vE == 1 then jump L7 | |
if vE == 2 then jump L8 | |
if vE == 3 then jump L9 | |
if vE == 4 then jump L10 | |
jump L2 | |
: L7 | |
vE := 2 | |
jump L2 | |
: L8 | |
vE := 1 | |
jump L2 | |
: L9 | |
vE := 4 | |
jump L2 | |
: L10 | |
vE := 3 | |
jump L2 | |
: L11 | |
v0 := random 0b1 | |
vE := 2 | |
if v0 == 1 then vE := 3 | |
jump L2 | |
: L12 | |
v0 := random 0b1 | |
vE := 1 | |
if v0 == 1 then vE := 4 | |
again | |
: Sub9 | |
vC += 1 | |
vD += -1 | |
return | |
: Sub10 | |
vC += 1 | |
vD += 1 | |
return | |
: Sub11 | |
vC += -1 | |
vD += 1 | |
return | |
: Sub12 | |
vC += -1 | |
vD += -1 | |
return | |
: Sub13 | |
if vC == 63 then jump L13 | |
if vC == 8 then jump L16 | |
return | |
: L13 | |
if vE == 1 then jump L14 | |
if vE == 2 then jump L15 | |
return | |
: L14 | |
vE := 4 | |
return | |
: L15 | |
vE := 3 | |
return | |
: L16 | |
if vE == 3 then jump L17 | |
if vE == 4 then jump L18 | |
return | |
: L17 | |
vE := 2 | |
return | |
: L18 | |
vE := 1 | |
return | |
: Sub14 | |
v3 := 0 | |
v4 := 15 | |
i := D5 | |
sprite v3 v4 2 | |
i := D1 | |
v4 := 0 | |
v3 := 7 | |
loop | |
sprite v3 v4 8 | |
v4 += 8 | |
if v4 == 32 then return | |
again | |
0x0 0xee | |
: Sub15 | |
i := D2 | |
v3 := 1 | |
sprite vA v3 1 | |
v3 := 30 | |
sprite vB v3 1 | |
return | |
: Sub16 | |
i := D3 | |
sprite vC vD 1 | |
return | |
: Sub17 | |
v5 := random 0b10 | |
v3 := 8 | |
v4 := 16 | |
i := D2 | |
if v5 == 0 then Sub18 | |
if v5 == 1 then Sub19 | |
if v5 == 2 then Sub20 | |
return | |
: Sub18 | |
sprite v3 v4 1 | |
v3 := 56 | |
sprite v3 v4 1 | |
return | |
: Sub19 | |
sprite v3 v4 1 | |
v3 += 8 | |
sprite v3 v4 1 | |
return | |
: Sub20 | |
v3 := 56 | |
sprite v3 v4 1 | |
v3 += -8 | |
sprite v3 v4 1 | |
return | |
: Sub21 | |
v3 := 1 | |
v4 := 1 | |
i := hex v8 | |
sprite v3 v4 5 | |
v4 += 25 | |
i := hex v9 | |
sprite v3 v4 5 | |
if v7 == 1 then Sub22 | |
if v7 == 2 then Sub23 | |
return | |
: Sub22 | |
v4 := 9 | |
v0 := 12 | |
i := hex v0 | |
sprite v3 v4 5 | |
v4 := 18 | |
i := D4 | |
sprite v3 v4 5 | |
return | |
: Sub23 | |
v4 := 9 | |
v0 := 10 | |
i := hex v0 | |
sprite v3 v4 5 | |
v4 := 18 | |
v0 += 1 | |
i := hex v0 | |
sprite v3 v4 5 | |
return | |
: L20 | |
loop | |
again | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0xff | |
: D3 | |
0x80 | |
: D4 | |
0xf0 0x90 0xf0 0x90 0x90 0x0 | |
: D5 | |
0xfe 0xfe | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Pong (1 player).ch8 | |
###################################################################### | |
:proto L5 # 278 | |
:proto L6 # 282 | |
:proto L7 # 28A | |
:proto L8 # 2A2 | |
:proto L9 # 2BA | |
:proto L10 # 2C2 | |
:proto L11 # 2C8 | |
:proto Sub1 # 2D4 | |
:proto D1 # 2EA | |
:proto D2 # 2F0 | |
:proto D3 # 2F2 | |
: main | |
vA := 2 | |
vB := 12 | |
vC := 63 | |
vD := 12 | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
vE := 0 | |
Sub1 | |
v6 := 3 | |
v8 := 2 | |
: L1 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v7 := random 0b10111 | |
v7 += 8 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
v0 := 1 | |
if v0 key then vB += -2 | |
v0 := 4 | |
if v0 key then vB += 2 | |
v0 := 31 | |
vB &= v0 | |
sprite vA vB 6 | |
vD := v7 | |
v0 := random 0b1010 | |
vD += -2 | |
if v0 == 0 then vD += 2 | |
v0 := 0 | |
v0 := 31 | |
vD &= v0 | |
sprite vC vD 6 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v6 == 2 then jump L5 | |
if v6 == 63 then jump L6 | |
: L4 | |
if v7 == 31 then v9 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
again | |
: L5 | |
v8 := 2 | |
v3 := 1 | |
v0 := v7 | |
v0 -= vB | |
jump L7 | |
: L6 | |
v8 := -2 | |
v3 := 10 | |
v0 := v7 | |
v0 -= vD | |
: L7 | |
if vF != 1 then jump L8 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L9 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L10 | |
: L8 | |
v0 := 32 | |
buzzer := v0 | |
Sub1 | |
vE += v3 | |
Sub1 | |
v6 := 62 | |
if v3 != 1 then v6 := 3 | |
v8 := -2 | |
if v3 != 1 then v8 := 2 | |
jump L1 | |
: L9 | |
v9 += -1 | |
if v9 == -2 then v9 := -1 | |
jump L11 | |
: L10 | |
v9 += 1 | |
if v9 == 2 then v9 := 1 | |
: L11 | |
v0 := 4 | |
buzzer := v0 | |
v6 += 1 | |
if v6 == 64 then v6 += -2 | |
jump L4 | |
: Sub1 | |
i := D3 | |
bcd vE | |
load v2 | |
i := hex v1 | |
v4 := 20 | |
v5 := 0 | |
sprite v4 v5 5 | |
v4 += 21 | |
i := hex v2 | |
sprite v4 v5 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Pong 2 (Pong hack) [David Winter, 1997].ch8 | |
###################################################################### | |
:proto L5 # 278 | |
:proto L6 # 282 | |
:proto L7 # 28A | |
:proto L8 # 2A2 | |
:proto L9 # 2BA | |
:proto L10 # 2C2 | |
:proto L11 # 2C8 | |
:proto Sub1 # 2D4 | |
:proto D1 # 2EA | |
:proto D2 # 2F0 | |
:proto D3 # 2F2 | |
:proto Sub2 # 2FC | |
: main | |
Sub2 | |
vB := 12 | |
vC := 63 | |
vD := 12 | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
vE := 0 | |
Sub1 | |
v6 := 3 | |
v8 := 2 | |
: L1 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v7 := random 0b10111 | |
v7 += 8 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
v0 := 1 | |
if v0 key then vB += -2 | |
v0 := 4 | |
if v0 key then vB += 2 | |
v0 := 31 | |
vB &= v0 | |
sprite vA vB 6 | |
v0 := 12 | |
if v0 key then vD += -2 | |
v0 := 13 | |
if v0 key then vD += 2 | |
v0 := 31 | |
vD &= v0 | |
sprite vC vD 6 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v6 == 0 then jump L5 | |
if v6 == 63 then jump L6 | |
: L4 | |
if v7 == 31 then v9 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
again | |
: L5 | |
v8 := 2 | |
v3 := 1 | |
v0 := v7 | |
v0 -= vB | |
jump L7 | |
: L6 | |
v8 := -2 | |
v3 := 10 | |
v0 := v7 | |
v0 -= vD | |
: L7 | |
if vF != 1 then jump L8 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L9 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L10 | |
: L8 | |
v0 := 32 | |
buzzer := v0 | |
Sub1 | |
vE += v3 | |
Sub1 | |
v6 := 62 | |
if v3 != 1 then v6 := 3 | |
v8 := -2 | |
if v3 != 1 then v8 := 2 | |
jump L1 | |
: L9 | |
v9 += -1 | |
if v9 == -2 then v9 := -1 | |
jump L11 | |
: L10 | |
v9 += 1 | |
if v9 == 2 then v9 := 1 | |
: L11 | |
v0 := 4 | |
buzzer := v0 | |
v6 += 1 | |
if v6 == 64 then v6 += -2 | |
jump L4 | |
: Sub1 | |
i := D3 | |
bcd vE | |
load v2 | |
i := hex v1 | |
v4 := 20 | |
v5 := 2 | |
sprite v4 v5 5 | |
v4 += 21 | |
i := hex v2 | |
sprite v4 v5 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0x0 0x0 0x0 0x0 | |
: D4 | |
0xc0 0xc0 0xc0 0x0 | |
: D5 | |
0xff 0x0 | |
: Sub2 | |
vB := 32 | |
vC := 0 | |
i := D4 | |
loop | |
sprite vB vC 4 | |
vC += 4 | |
if vC != 32 then | |
again | |
vA := 0 | |
vB := 0 | |
vC := 31 | |
i := D5 | |
loop | |
sprite vA vB 1 | |
sprite vA vC 1 | |
vA += 8 | |
if vA != 64 then | |
again | |
i := D4 | |
vA := 0 | |
vB := 32 | |
sprite vB vA 1 | |
return | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Pong (alt).ch8 | |
###################################################################### | |
:proto L5 # 278 | |
:proto L6 # 282 | |
:proto L7 # 28A | |
:proto L8 # 2A2 | |
:proto L9 # 2BA | |
:proto L10 # 2C2 | |
:proto L11 # 2C8 | |
:proto Sub1 # 2D4 | |
:proto D1 # 2EA | |
:proto D2 # 2F0 | |
:proto D3 # 2F2 | |
:proto Sub2 # 2F6 | |
: main | |
Sub2 | |
vB := 12 | |
vC := 63 | |
vD := 12 | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
vE := 0 | |
Sub1 | |
v6 := 3 | |
v8 := 2 | |
: L1 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v7 := random 0b10111 | |
v7 += 8 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
v0 := 1 | |
if v0 key then vB += -2 | |
v0 := 4 | |
if v0 key then vB += 2 | |
v0 := 31 | |
vB &= v0 | |
sprite vA vB 6 | |
v0 := 12 | |
if v0 key then vD += -2 | |
v0 := 13 | |
if v0 key then vD += 2 | |
v0 := 31 | |
vD &= v0 | |
sprite vC vD 6 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v6 == 0 then jump L5 | |
if v6 == 63 then jump L6 | |
: L4 | |
if v7 == 31 then v9 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
again | |
: L5 | |
v8 := 2 | |
v3 := 1 | |
v0 := v7 | |
v0 -= vB | |
jump L7 | |
: L6 | |
v8 := -2 | |
v3 := 10 | |
v0 := v7 | |
v0 -= vD | |
: L7 | |
if vF != 1 then jump L8 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L9 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L10 | |
: L8 | |
v0 := 32 | |
buzzer := v0 | |
Sub1 | |
vE += v3 | |
Sub1 | |
v6 := 62 | |
if v3 != 1 then v6 := 3 | |
v8 := -2 | |
if v3 != 1 then v8 := 2 | |
jump L1 | |
: L9 | |
v9 += -1 | |
if v9 == -2 then v9 := -1 | |
jump L11 | |
: L10 | |
v9 += 1 | |
if v9 == 2 then v9 := 1 | |
: L11 | |
v0 := 4 | |
buzzer := v0 | |
v6 += 1 | |
if v6 == 64 then v6 += -2 | |
jump L4 | |
: Sub1 | |
i := D3 | |
bcd vE | |
load v2 | |
i := hex v1 | |
v4 := 20 | |
v5 := 0 | |
sprite v4 v5 5 | |
v4 += 21 | |
i := hex v2 | |
sprite v4 v5 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0x0 0x0 0x0 0x0 | |
: Sub2 | |
vB := 32 | |
vC := 0 | |
i := D1 | |
loop | |
sprite vB vC 1 | |
vC += 1 | |
if vC != 32 then | |
again | |
vA := 0 | |
return | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Pong [Paul Vervalin, 1990].ch8 | |
###################################################################### | |
:proto L5 # 278 | |
:proto L6 # 282 | |
:proto L7 # 28A | |
:proto L8 # 2A2 | |
:proto L9 # 2BA | |
:proto L10 # 2C2 | |
:proto L11 # 2C8 | |
:proto Sub1 # 2D4 | |
:proto D1 # 2EA | |
:proto D2 # 2F0 | |
:proto D3 # 2F2 | |
: main | |
vA := 2 | |
vB := 12 | |
vC := 63 | |
vD := 12 | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
vE := 0 | |
Sub1 | |
v6 := 3 | |
v8 := 2 | |
: L1 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v7 := random 0b10111 | |
v7 += 8 | |
v9 := -1 | |
i := D2 | |
sprite v6 v7 1 | |
loop | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
v0 := 1 | |
if v0 key then vB += -2 | |
v0 := 4 | |
if v0 key then vB += 2 | |
v0 := 31 | |
vB &= v0 | |
sprite vA vB 6 | |
v0 := 12 | |
if v0 key then vD += -2 | |
v0 := 13 | |
if v0 key then vD += 2 | |
v0 := 31 | |
vD &= v0 | |
sprite vC vD 6 | |
i := D2 | |
sprite v6 v7 1 | |
v6 += v8 | |
v7 += v9 | |
v0 := 63 | |
v6 &= v0 | |
v1 := 31 | |
v7 &= v1 | |
if v6 == 2 then jump L5 | |
if v6 == 63 then jump L6 | |
: L4 | |
if v7 == 31 then v9 := -1 | |
if v7 == 0 then v9 := 1 | |
sprite v6 v7 1 | |
again | |
: L5 | |
v8 := 2 | |
v3 := 1 | |
v0 := v7 | |
v0 -= vB | |
jump L7 | |
: L6 | |
v8 := -2 | |
v3 := 10 | |
v0 := v7 | |
v0 -= vD | |
: L7 | |
if vF != 1 then jump L8 | |
v1 := 2 | |
v0 -= v1 | |
if vF != 1 then jump L9 | |
v0 -= v1 | |
if vF != 1 then jump L11 | |
v0 -= v1 | |
if vF != 1 then jump L10 | |
: L8 | |
v0 := 32 | |
buzzer := v0 | |
Sub1 | |
vE += v3 | |
Sub1 | |
v6 := 62 | |
if v3 != 1 then v6 := 3 | |
v8 := -2 | |
if v3 != 1 then v8 := 2 | |
jump L1 | |
: L9 | |
v9 += -1 | |
if v9 == -2 then v9 := -1 | |
jump L11 | |
: L10 | |
v9 += 1 | |
if v9 == 2 then v9 := 1 | |
: L11 | |
v0 := 4 | |
buzzer := v0 | |
v6 += 1 | |
if v6 == 64 then v6 += -2 | |
jump L4 | |
: Sub1 | |
i := D3 | |
bcd vE | |
load v2 | |
i := hex v1 | |
v4 := 20 | |
v5 := 0 | |
sprite v4 v5 5 | |
v4 += 21 | |
i := hex v2 | |
sprite v4 v5 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x80 0x0 | |
: D3 | |
0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Programmable Spacefighters [Jef Winsor].ch8 | |
###################################################################### | |
:proto L9 # 2A6 | |
:proto L12 # 2D0 | |
:proto L17 # 31A | |
:proto L18 # 326 | |
:proto L19 # 32E | |
:proto L20 # 33C | |
:proto L21 # 356 | |
:proto L23 # 362 | |
:proto L26 # 384 | |
:proto L28 # 3BA | |
:proto L30 # 3D6 | |
:proto L31 # 3DE | |
:proto L32 # 3E4 | |
:proto L33 # 3E8 | |
:proto L34 # 3FC | |
:proto L35 # 400 | |
:proto L36 # 406 | |
:proto L37 # 412 | |
:proto L40 # 464 | |
:proto L41 # 470 | |
:proto Sub1 # 478 | |
:proto Sub2 # 482 | |
:proto Sub3 # 48E | |
:proto L42 # 4A8 | |
:proto L43 # 4B0 | |
:proto L45 # 4B8 | |
:proto Sub4 # 4C0 | |
:proto Sub5 # 4D2 | |
:proto Sub6 # 4D4 | |
:proto Sub7 # 4D8 | |
:proto Sub8 # 4DE | |
:proto Sub9 # 4E4 | |
:proto Sub10 # 4FC | |
:proto Sub11 # 506 | |
:proto L47 # 514 | |
:proto Sub12 # 518 | |
:proto Sub13 # 52C | |
:proto Sub14 # 52E | |
:proto Sub15 # 538 | |
:proto Sub16 # 540 | |
:proto Sub18 # 55E | |
:proto Sub19 # 564 | |
:proto Sub20 # 570 | |
:proto Sub21 # 592 | |
:proto Sub22 # 59E | |
:proto L51 # 5A0 | |
:proto D1 # 5A4 | |
:proto D2 # 5A5 | |
:proto D3 # 5BD | |
:proto D4 # 5C8 | |
:proto D5 # 5D5 | |
:proto D6 # 5DF | |
:proto D7 # 5E2 | |
:proto D8 # 5E5 | |
:proto D9 # 5E8 | |
:proto D10 # 5EB | |
:proto D11 # 5F0 | |
:proto D12 # 5F1 | |
:proto D13 # 5F5 | |
:proto D14 # 5FA | |
:proto D15 # 5FB | |
:proto D16 # 5FC | |
:proto D17 # 5FD | |
:proto D18 # 5FE | |
:proto D19 # 600 | |
:proto D20 # 628 | |
:proto D21 # 630 | |
: main | |
v1 := 30 | |
v2 := 14 | |
i := D5 | |
sprite v1 v2 3 | |
v5 := 0 | |
loop | |
Sub20 | |
v5 += 1 | |
if v5 != 6 then | |
again | |
i := D15 | |
load v5 | |
if v4 == 0 then v4 := 1 | |
if v2 == 0 then v2 := 1 | |
if v1 == 0 then v1 := 1 | |
if v0 == 0 then v0 := 1 | |
v6 := 8 | |
v6 &= v0 | |
if v6 != 0 then v0 := 8 | |
v6 := v1 | |
v1 := v5 | |
i := D15 | |
save v4 | |
v3 := v6 | |
v4 := 0 | |
clear | |
vE := 0 | |
loop | |
vB := vE | |
vA := 3 | |
i := D2 | |
Sub18 | |
load v2 | |
vA := 5 | |
i := D19 | |
Sub18 | |
save v4 | |
Sub19 | |
vE += 1 | |
i := D15 | |
load v0 | |
if v0 != vE then | |
again | |
i := D3 | |
v5 := 62 | |
v6 := 1 | |
sprite v5 v6 13 | |
v6 := 16 | |
sprite v5 v6 13 | |
v6 := 31 | |
loop | |
v5 += -9 | |
sprite v5 v6 1 | |
if v5 != 17 then | |
again | |
v5 := 0 | |
v1 := 0 | |
v2 := 8 | |
loop | |
Sub21 | |
v5 += 1 | |
v2 += 6 | |
if v5 != 3 then | |
again | |
i := D18 | |
load v0 | |
jump L41 | |
: L5 | |
Sub21 | |
: L6 | |
v1 := 4 | |
v2 += 1 | |
i := D5 | |
loop | |
sprite v1 v2 3 | |
v2 += -6 | |
if v2 != 3 then | |
again | |
v0 := 0 | |
jump L9 | |
: L8 | |
Sub15 | |
load v0 | |
Sub16 | |
i := D1 | |
load v0 | |
: L9 | |
v0 += 1 | |
if v0 == 100 then v0 := 0 | |
Sub15 | |
save v0 | |
Sub16 | |
: L10 | |
vE := key | |
if vE == 0 then jump L12 | |
vE += -1 | |
v6 := 8 | |
v6 &= vE | |
if v6 != 0 then vE := 7 | |
Sub13 | |
Sub12 | |
loop | |
Sub11 | |
if v7 == 16 then | |
again | |
Sub12 | |
jump L10 | |
: L12 | |
loop | |
i := D13 | |
load v9 | |
Sub13 | |
if v3 == -16 then jump L23 | |
vA := key | |
Sub12 | |
: L13 | |
i := D17 | |
load v0 | |
vD := v0 | |
Sub10 | |
v8 := 0 | |
v0 := 14 | |
loop | |
save v0 | |
v8 += 1 | |
if v8 != 15 then | |
again | |
Sub8 | |
: L15 | |
vD += -1 | |
Sub9 | |
loop | |
Sub13 | |
Sub11 | |
if v7 != 16 then v7 := key | |
i := D18 | |
load v0 | |
if v0 == 0 then jump L17 | |
v8 := delay | |
if v8 != 0 then jump L17 | |
Sub9 | |
v9 += -1 | |
Sub8 | |
if v9 == 0 then jump L20 | |
Sub9 | |
: L17 | |
if v7 == 16 then | |
again | |
if v7 != 11 then jump L18 | |
Sub9 | |
jump L13 | |
: L18 | |
if v7 != 14 then jump L19 | |
Sub9 | |
jump L20 | |
: L19 | |
Sub10 | |
i += vD | |
v0 := v7 | |
save v0 | |
Sub9 | |
if vD != 0 then jump L15 | |
: L20 | |
Sub13 | |
Sub12 | |
i := D16 | |
load v0 | |
v6 := v0 | |
i := D14 | |
load v5 | |
Sub13 | |
if v6 == 0 then jump L21 | |
v5 += v4 | |
if vF == 1 then v5 := -1 | |
: L21 | |
v4 := v5 | |
vA := 5 | |
i := D19 | |
Sub7 | |
loop | |
if vA -key then | |
again | |
: L23 | |
i := D15 | |
load v0 | |
vE += 1 | |
if v0 != vE then | |
again | |
i := D11 | |
load vD | |
: L24 | |
vD += -1 | |
vE := 0 | |
loop | |
Sub13 | |
if v3 == -16 then jump L26 | |
Sub10 | |
i += vD | |
load v0 | |
if v0 == 5 then jump L37 | |
: L26 | |
vE += 1 | |
i := D15 | |
load v0 | |
if v0 != vE then | |
again | |
vE := 0 | |
v9 := 0 | |
: L27 | |
Sub13 | |
if v3 == 0 then jump L36 | |
if v3 == -16 then jump L28 | |
Sub10 | |
i += vD | |
load v0 | |
if v0 != 14 then v9 := -1 | |
if v0 == 2 then jump L32 | |
if v0 == 1 then jump L30 | |
if v0 == 3 then jump L30 | |
if v0 == 4 then jump L31 | |
if v0 == 6 then jump L31 | |
: L28 | |
vE += 1 | |
i := D15 | |
load v0 | |
vC := 0 | |
delay := vC | |
loop | |
vC := delay | |
if vC != 0 then | |
again | |
if vE != v0 then jump L27 | |
if v9 != 0 then if vD == 0 then jump L8 | |
jump L24 | |
: L30 | |
v0 += 3 | |
v5 := v0 | |
Sub4 | |
jump L33 | |
: L31 | |
v5 := v0 | |
Sub4 | |
jump L34 | |
: L32 | |
Sub13 | |
Sub19 | |
: L33 | |
v6 := v0 | |
Sub3 | |
i := D4 | |
vF := 0 | |
sprite v1 v2 2 | |
if vF == 1 then jump L35 | |
v0 := v6 | |
sprite v1 v2 2 | |
Sub5 | |
: L34 | |
Sub19 | |
jump L28 | |
: L35 | |
sprite v1 v2 2 | |
Sub13 | |
jump L34 | |
: L36 | |
v3 := -16 | |
Sub5 | |
Sub1 | |
Sub19 | |
Sub1 | |
jump L28 | |
: L37 | |
Sub13 | |
if v4 == 0 then jump L26 | |
v4 += -1 | |
Sub5 | |
v7 := v0 | |
loop | |
Sub3 | |
if vF == -1 then jump L26 | |
v6 := 3 | |
vB := v7 | |
vB &= v6 | |
vA := 3 | |
i := D6 | |
Sub18 | |
vF := 2 | |
buzzer := vF | |
sprite v1 v2 3 | |
vC := vF | |
sprite v1 v2 3 | |
v0 := v7 | |
if vC != 1 then | |
again | |
v5 := v1 | |
v6 := v2 | |
vB := 0 | |
loop | |
if vB == vE then jump L40 | |
Sub14 | |
if v3 == -16 then jump L40 | |
if v1 != v5 then jump L40 | |
if v2 != v6 then jump L40 | |
if v3 != 0 then v3 += -1 | |
Sub6 | |
Sub2 | |
Sub2 | |
jump L26 | |
: L40 | |
vB += 1 | |
i := D15 | |
load v0 | |
if v0 != vB then | |
again | |
jump L26 | |
: L41 | |
if v0 != 0 then jump L5 | |
v2 += -6 | |
jump L6 | |
: Sub1 | |
vF := 3 | |
i := D6 | |
sprite v1 v2 3 | |
i := D7 | |
sprite v1 v2 3 | |
: Sub2 | |
buzzer := vF | |
i := D9 | |
sprite v1 v2 3 | |
i := D8 | |
sprite v1 v2 3 | |
return | |
: Sub3 | |
i := D12 | |
i += v0 | |
load v0 | |
v2 += v0 | |
v0 := 1 | |
i += v0 | |
load v0 | |
v1 += v0 | |
vF := 0 | |
if v1 != 14 then jump L42 | |
v1 := 59 | |
vF := -1 | |
: L42 | |
if v1 != 62 then jump L43 | |
v1 := 17 | |
vF := -1 | |
: L43 | |
if v2 != -3 then jump L45 | |
v2 := 27 | |
: L44 | |
vF := -1 | |
: L45 | |
if v2 != 30 then return | |
v2 := 0 | |
jump L44 | |
: Sub4 | |
Sub13 | |
v6 := v0 | |
Sub19 | |
v0 := v6 | |
if v5 == 4 then v0 += -2 | |
v0 += 1 | |
v6 := 7 | |
v0 &= v6 | |
: Sub5 | |
vB := vE | |
: Sub6 | |
vA := 5 | |
i := D19 | |
: Sub7 | |
Sub18 | |
save v4 | |
return | |
: Sub8 | |
v8 := -16 | |
delay := v8 | |
return | |
: Sub9 | |
v5 := 7 | |
v6 := 20 | |
i := hex vD | |
sprite v5 v6 5 | |
i := D18 | |
load v0 | |
if v0 == 0 then return | |
v6 := 26 | |
i := hex v9 | |
sprite v5 v6 5 | |
return | |
: Sub10 | |
vB := vE | |
vA := 15 | |
i := D20 | |
Sub18 | |
return | |
: Sub11 | |
Sub19 | |
v7 := 0 | |
loop | |
if v7 key then jump L47 | |
v7 += 1 | |
if v7 != 16 then | |
again | |
: L47 | |
Sub19 | |
return | |
: Sub12 | |
vE += 1 | |
v5 := 7 | |
v6 := 8 | |
i := hex vE | |
sprite v5 v6 5 | |
v6 := 14 | |
i := hex v3 | |
sprite v5 v6 5 | |
vE += -1 | |
return | |
: Sub13 | |
vB := vE | |
: Sub14 | |
vA := 5 | |
i := D19 | |
Sub18 | |
load v4 | |
return | |
: Sub15 | |
i := D1 | |
v5 := 0 | |
v6 := 1 | |
return | |
: Sub16 | |
i := D21 | |
bcd v0 | |
load v2 | |
i := hex v1 | |
sprite v5 v6 5 | |
i := hex v2 | |
v5 += 5 | |
sprite v5 v6 5 | |
return | |
: Sub17 | |
vC := 0 | |
loop | |
if vA == 0 then return | |
vC += vB | |
vA += -1 | |
again | |
: Sub18 | |
Sub17 | |
i += vC | |
return | |
: Sub19 | |
vA := 3 | |
vB := v0 | |
i := D4 | |
Sub18 | |
sprite v1 v2 3 | |
return | |
: Sub20 | |
v2 := 13 | |
v1 := 26 | |
Sub21 | |
v1 := 33 | |
Sub22 | |
i := D15 | |
i += v5 | |
save v0 | |
v6 := 120 | |
delay := v6 | |
loop | |
v6 := delay | |
if v6 != 0 then | |
again | |
v1 := 26 | |
Sub21 | |
v1 := 33 | |
jump L51 | |
: Sub21 | |
i := D10 | |
i += v5 | |
load v0 | |
: L50 | |
i := hex v0 | |
sprite v1 v2 5 | |
return | |
: Sub22 | |
v3 := key | |
: L51 | |
v0 := v3 | |
jump L50 | |
: D1 | |
0x1 | |
: D2 | |
0x6 0x3b 0xf 0x2 0x11 0xc 0x0 0x29 0x1b 0x4 0x23 0x0 0x0 0x1d 0x1b 0x4 0x2f 0x0 0x0 0x35 0x1b 0x4 0x17 0x0 | |
: D3 | |
0x49 0x0 0x0 0x40 0x0 0x0 0x40 0x0 0x0 0x40 0x0 | |
: D4 | |
0x0 0x40 0xa0 0x0 0xc0 0x40 0x80 0x40 0x80 0x40 0xc0 0x0 0xa0 | |
: D5 | |
0x40 0x0 0x40 0x60 0x0 0x20 0x40 0x20 0x0 0x60 | |
: D6 | |
0x40 0x40 0x40 | |
: D7 | |
0x20 0x40 0x80 | |
: D8 | |
0x0 0xe0 0x0 | |
: D9 | |
0x80 0x40 0x20 | |
: D10 | |
0x5 0xd 0xe 0xc 0xf | |
: D11 | |
0xa | |
: D12 | |
0xfd 0xfd 0x0 0x3 | |
: D13 | |
0x3 0x3 0x0 0xfd 0xfd | |
: D14 | |
0xfd | |
: D15 | |
0xd4 | |
: D16 0 | |
: D17 0 | |
: D18 0 0 | |
: D19 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D20 0 0 0 0 0 0 0 0 | |
: D21 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Puzzle.ch8 | |
###################################################################### | |
:proto L2 # 224 | |
:proto Sub1 # 252 | |
:proto L5 # 264 | |
:proto L6 # 270 | |
:proto L7 # 27C | |
:proto L8 # 288 | |
:proto D1 # 2B0 | |
:proto D2 # 300 | |
: main | |
vA := 18 | |
vB := 1 | |
v1 := 16 | |
v2 := 0 | |
v0 := 0 | |
loop | |
i := D1 | |
sprite v1 v2 7 | |
i := hex v0 | |
if v0 != 0 then sprite vA vB 5 | |
v1 += 8 | |
vA += 8 | |
if v1 != 48 then jump L2 | |
v1 := 16 | |
v2 += 8 | |
vA := 18 | |
vB += 8 | |
: L2 | |
i := D2 | |
i += v0 | |
save v0 | |
v0 += 1 | |
if v0 != 16 then | |
again | |
vA := 18 | |
vB := 1 | |
vC := 0 | |
v2 := -1 | |
loop | |
v0 := random 0b110 | |
v0 += 2 | |
Sub1 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
vE := 0 | |
vE := 0 | |
loop | |
v0 := key | |
Sub1 | |
vE += 1 | |
vE += 1 | |
again | |
: Sub1 | |
v4 := vA | |
v5 := vB | |
v6 := vC | |
if v0 != 2 then jump L5 | |
if v5 == 1 then jump L5 | |
v5 += -8 | |
v6 += -4 | |
: L5 | |
if v0 != 8 then jump L6 | |
if v5 == 25 then jump L6 | |
v5 += 8 | |
v6 += 4 | |
: L6 | |
if v0 != 6 then jump L7 | |
if v4 == 18 then jump L7 | |
v4 += -8 | |
v6 += -1 | |
: L7 | |
if v0 != 4 then jump L8 | |
if v4 == 42 then jump L8 | |
v4 += 8 | |
v6 += 1 | |
: L8 | |
i := D2 | |
i += v6 | |
load v0 | |
v1 := v0 | |
v0 := 0 | |
i := D2 | |
i += v6 | |
save v0 | |
i := D2 | |
i += vC | |
v0 := v1 | |
save v0 | |
i := hex v1 | |
sprite v4 v5 5 | |
sprite vA vB 5 | |
vA := v4 | |
vB := v5 | |
vC := v6 | |
return | |
0xee 0x5e | |
: D1 | |
0xfe 0xfe 0xfe 0xfe 0xfe 0xfe 0xfe 0xfe 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D2 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Reversi [Philip Baltzer].ch8 | |
###################################################################### | |
:proto L3 # 21A | |
:proto L4 # 21E | |
:proto L7 # 272 | |
:proto L10 # 28C | |
:proto L11 # 2B0 | |
:proto L12 # 2B8 | |
:proto L13 # 2BA | |
:proto D1 # 2D7 | |
:proto D2 # 2DA | |
:proto Sub1 # 2DE | |
:proto Sub2 # 2EC | |
:proto L16 # 306 | |
:proto Sub3 # 30C | |
:proto L18 # 332 | |
:proto L19 # 336 | |
:proto L20 # 342 | |
:proto L21 # 34E | |
:proto L22 # 356 | |
:proto L23 # 35E | |
:proto L25 # 366 | |
:proto L26 # 372 | |
:proto Sub4 # 37E | |
:proto Sub5 # 388 | |
:proto Sub6 # 394 | |
:proto Sub7 # 39E | |
:proto Sub9 # 3A8 | |
:proto L30 # 3C4 | |
:proto L31 # 3C8 | |
:proto L32 # 3CC | |
:proto Sub10 # 3D0 | |
:proto L34 # 3F2 | |
:proto Sub11 # 3FA | |
:proto L36 # 41A | |
:proto L37 # 426 | |
:proto L38 # 42A | |
:proto Sub12 # 42E | |
:proto D3 # 440 | |
: main | |
vD := 2 | |
vE := 2 | |
vC := 0 | |
i := D1 | |
vB := 0 | |
: L1 | |
vA := 17 | |
loop | |
sprite vA vB 3 | |
if vA != 45 then jump L3 | |
if vB == 28 then jump L4 | |
vB += 4 | |
jump L1 | |
: L3 | |
vA += 4 | |
again | |
: L4 | |
vA := 29 | |
vB := 12 | |
sprite vA vB 3 | |
vA += 4 | |
vB += 4 | |
sprite vA vB 3 | |
i := D2 | |
sprite vA vB 3 | |
vA += -4 | |
sprite vA vB 3 | |
vB += -4 | |
sprite vA vB 3 | |
vA += 4 | |
sprite vA vB 3 | |
v0 := 2 | |
Sub1 | |
v0 := 52 | |
Sub1 | |
i := D1 | |
v0 := 52 | |
Sub1 | |
Sub6 | |
v9 := 1 | |
Sub3 | |
v8 := 0 | |
: L5 | |
Sub4 | |
v9 := 0 | |
loop | |
if v9 == 9 then jump L7 | |
v9 += 1 | |
if v9 -key then | |
again | |
if v9 == 5 then jump L10 | |
if v8 != 0 then Sub7 | |
Sub3 | |
if v8 != 0 then Sub7 | |
v1 := 2 | |
buzzer := v1 | |
jump L5 | |
: L7 | |
v9 := 15 | |
if v9 -key then jump L5 | |
: L8 | |
if v8 != 0 then Sub2 | |
vC += 128 | |
if v8 != 0 then Sub2 | |
v1 := 24 | |
buzzer := v1 | |
loop | |
if v9 key then | |
again | |
jump L5 | |
: L10 | |
if v8 != 0 then Sub4 | |
Sub9 | |
if v1 != 0 then jump L5 | |
v3 := vA | |
v4 := vB | |
v9 := 0 | |
Sub10 | |
if v2 == 0 then jump L5 | |
Sub6 | |
i := D2 | |
sprite v3 v4 3 | |
if vC != 0 then jump L11 | |
i := D1 | |
sprite v3 v4 3 | |
: L11 | |
if vC != 0 then jump L12 | |
vD += 1 | |
jump L13 | |
: L12 | |
vE += 1 | |
: L13 | |
loop | |
Sub11 | |
Sub10 | |
if v2 != 0 then | |
again | |
Sub6 | |
v1 := vD | |
v1 += vE | |
if v1 != 64 then jump L8 | |
loop | |
Sub12 | |
Sub12 | |
Sub5 | |
Sub12 | |
again | |
0x1 | |
: D1 | |
0x0 0x40 0x0 | |
: D2 | |
0xe0 0xa0 0xe0 0xd4 | |
: Sub1 | |
v1 := 11 | |
sprite v0 v1 3 | |
v0 += 4 | |
sprite v0 v7 3 | |
v0 += 4 | |
sprite v0 v1 3 | |
return | |
: Sub2 | |
i := D3 | |
if vC != 0 then jump L16 | |
v5 := 2 | |
bcd vD | |
: L15 | |
v6 := 4 | |
load v2 | |
i := hex v1 | |
sprite v5 v6 5 | |
v5 += 7 | |
i := hex v2 | |
sprite v5 v6 5 | |
return | |
: L16 | |
v5 := 52 | |
bcd vE | |
jump L15 | |
: Sub3 | |
v7 := 0 | |
if v9 == 9 then jump L26 | |
if v9 == 8 then jump L23 | |
if v9 == 7 then jump L25 | |
if v9 == 6 then jump L22 | |
if v9 == 4 then jump L21 | |
if v9 == 3 then jump L20 | |
if v9 == 1 then jump L19 | |
if vB == 0 then jump L18 | |
: L17 | |
vB += -4 | |
return | |
: L18 | |
v7 := -1 | |
return | |
: L19 | |
if vB == 0 then jump L18 | |
if vA == 17 then jump L18 | |
vA += -4 | |
jump L17 | |
: L20 | |
if vB == 0 then jump L18 | |
if vA == 45 then jump L18 | |
vA += 4 | |
jump L17 | |
: L21 | |
if vA == 17 then jump L18 | |
vA += -4 | |
return | |
: L22 | |
if vA == 45 then jump L18 | |
vA += 4 | |
return | |
: L23 | |
if vB == 28 then jump L18 | |
: L24 | |
vB += 4 | |
return | |
: L25 | |
if vB == 28 then jump L18 | |
if vA == 17 then jump L18 | |
vA += -4 | |
jump L24 | |
: L26 | |
if vB == 28 then jump L18 | |
if vA == 45 then jump L18 | |
vA += 4 | |
jump L24 | |
: Sub4 | |
Sub5 | |
Sub2 | |
Sub7 | |
v8 += 128 | |
return | |
: Sub5 | |
v1 := 16 | |
delay := v1 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
return | |
: Sub6 | |
Sub2 | |
vC += 128 | |
Sub2 | |
vC += 128 | |
return | |
: Sub7 | |
i := D1 | |
: L28 | |
sprite vA vB 3 | |
return | |
: Sub8 | |
i := D2 | |
jump L28 | |
: Sub9 | |
Sub8 | |
v1 := vF | |
Sub8 | |
if v1 == 0 then jump L32 | |
Sub7 | |
v1 := vF | |
Sub7 | |
if v1 != 0 then jump L30 | |
if vC != 0 then jump L31 | |
: L29 | |
v1 := 128 | |
return | |
: L30 | |
if vC != 0 then jump L29 | |
: L31 | |
v1 := -1 | |
return | |
: L32 | |
v1 := 0 | |
return | |
: Sub10 | |
vA := v3 | |
vB := v4 | |
v9 += 1 | |
if v9 == 5 then v9 += 1 | |
v2 := 0 | |
if v9 == 10 then return | |
loop | |
Sub3 | |
Sub9 | |
if v1 == 0 then jump Sub10 | |
if v1 != 128 then jump L34 | |
if v2 != 0 then return | |
jump Sub10 | |
: L34 | |
if v7 == -1 then jump Sub10 | |
v2 += 1 | |
again | |
: Sub11 | |
v1 := v9 | |
v9 := 10 | |
v9 -= v1 | |
loop | |
Sub3 | |
v1 := vA | |
v1 -= v3 | |
if v1 != 0 then jump L36 | |
v1 := vB | |
v1 -= v4 | |
if v1 != 0 then jump L36 | |
v1 := v9 | |
v9 := 10 | |
v9 -= v1 | |
return | |
: L36 | |
Sub7 | |
if vC != 0 then jump L37 | |
vD += 1 | |
vE += -1 | |
jump L38 | |
: L37 | |
vD += -1 | |
vE += 1 | |
: L38 | |
Sub12 | |
again | |
: Sub12 | |
v1 := 4 | |
buzzer := v1 | |
Sub5 | |
return | |
0x14 0x24 0x4a 0x2d 0x14 0x24 0x7a 0x4 0x14 0x20 | |
: D3 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Rocket [Joseph Weisbecker, 1978].ch8 | |
###################################################################### | |
:proto L5 # 262 | |
:proto Sub1 # 26A | |
:proto D1 # 278 | |
:proto D2 # 27E | |
:proto D3 # 2A0 | |
:proto D4 # 2A2 | |
: main | |
v1 := 0 | |
v2 := 0 | |
v3 := 56 | |
v4 := 27 | |
v5 := 0 | |
v6 := 8 | |
i := D2 | |
sprite v5 v6 3 | |
: L1 | |
Sub1 | |
if v2 == 9 then loop | |
again | |
v2 += 1 | |
v8 := 26 | |
vA := 0 | |
v7 := random 0b11111 | |
v7 += 15 | |
v9 := 0 | |
i := D1 | |
sprite v7 v8 6 | |
: L3 | |
loop | |
i := D2 | |
sprite v5 v6 3 | |
v0 := random 0b11 | |
v5 += v0 | |
sprite v5 v6 3 | |
if vF != 0 then jump L5 | |
v0 := 15 | |
if v0 key then v9 := 1 | |
if v9 != 1 then jump L3 | |
v0 := delay | |
if v0 != 0 then jump L3 | |
i := D1 | |
sprite v7 v8 6 | |
v8 += -1 | |
sprite v7 v8 6 | |
if vF != 0 then jump L5 | |
v0 := 3 | |
delay := v0 | |
if v8 != 0 then | |
again | |
: L4 | |
Sub1 | |
i := D1 | |
sprite v7 v8 6 | |
v1 += vA | |
jump L1 | |
: L5 | |
vA := 1 | |
v0 := 3 | |
buzzer := v0 | |
jump L4 | |
: Sub1 | |
i := D3 | |
bcd v1 | |
i := D4 | |
load v0 | |
i := hex v0 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0x20 0x70 0x70 0xf8 0xd8 0x88 | |
: D2 | |
0x7c 0xd6 0x7c 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D3 0 0 | |
: D4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Rocket Launcher.ch8 | |
###################################################################### | |
:proto Sub1 # 258 | |
:proto D1 # 25E | |
:proto D2 # 260 | |
:proto D3 # 268 | |
: main | |
clear | |
i := D2 | |
v0 := 7 | |
v1 := 56 | |
v2 := 25 | |
sprite v0 v2 7 | |
sprite v1 v2 7 | |
i := D1 | |
v0 := 0 | |
v1 := 24 | |
loop | |
sprite v0 v1 1 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
v8 := 30 | |
v9 := 17 | |
Sub1 | |
v0 := 15 | |
loop | |
if v0 -key then | |
again | |
v0 := 8 | |
buzzer := v0 | |
: L3 | |
Sub1 | |
: L4 | |
v9 += -1 | |
Sub1 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v0 := 1 | |
buzzer := v0 | |
if v9 != 0 then jump L3 | |
clear | |
v4 := 12 | |
loop | |
v5 := random 0b100000 | |
v6 := random 0b1000000 | |
sprite v6 v5 1 | |
v4 += -1 | |
if v4 != 0 then | |
again | |
v9 := 26 | |
jump L4 | |
: Sub1 | |
i := D3 | |
sprite v8 v9 7 | |
return | |
: D1 | |
0xff 0x0 | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x0 | |
: D3 | |
0x20 0x70 0x70 0x70 0x70 0xf8 0x50 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Rocket Launch [Jonas Lindstedt].ch8 | |
###################################################################### | |
:proto L1 # 212 | |
:proto L4 # 274 | |
:proto L6 # 28C | |
:proto L7 # 2B8 | |
:proto L8 # 2C4 | |
:proto L9 # 2D4 | |
:proto L11 # 324 | |
:proto L15 # 39C | |
:proto D7 # E00 | |
:proto D8 # F00 | |
:proto D9 # FA0 | |
: main | |
jump L1 | |
0x4a 0x6f 0x6e 0x61 0x73 0x21 | |
: D1 | |
0xff 0xff | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: L1 | |
clear | |
v0 := 1 | |
v1 := 1 | |
v2 := 62 | |
i := D1 | |
loop | |
sprite v0 v1 1 | |
sprite v0 v2 1 | |
v0 += 8 | |
if v0 != 65 then | |
again | |
i := D2 | |
v0 := 2 | |
v1 := 1 | |
v2 := 63 | |
loop | |
sprite v1 v0 7 | |
sprite v2 v0 7 | |
v0 += 7 | |
if v0 != 30 then | |
again | |
jump L4 | |
: D3 | |
0xc4 0xaa 0xca 0xaa 0xa4 0x0 0x84 0x8a 0x8e 0x8a 0xea 0x0 0x6a 0x8a 0x8c 0x8a 0x6a 0x0 0xaa 0xae 0xae 0xaa 0x4a 0x0 0xee 0x84 0xc4 0x84 0xe4 0x0 0x6a 0x8a 0x8e 0x8a 0x6a 0x0 | |
: Sub1 | |
i := D3 | |
v2 := 12 | |
sprite v0 v1 11 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 11 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 11 | |
v0 += -16 | |
return | |
: L4 | |
v0 := random 0b11111 | |
v1 := random 0b1111 | |
v0 += 6 | |
v1 += 3 | |
Sub1 | |
v2 := 30 | |
delay := v2 | |
loop | |
v2 := delay | |
if v2 != 0 then jump L6 | |
Sub1 | |
jump L4 | |
: L6 | |
v2 := 11 | |
if v2 -key then | |
again | |
Sub1 | |
jump L9 | |
: D4 | |
0xf8 0x70 0x70 0x70 0x70 0x20 | |
: D5 | |
0x20 0x3 | |
: Sub2 | |
i := D4 | |
sprite v0 v1 6 | |
return | |
: Sub3 | |
i := D9 | |
save v2 | |
i := D5 | |
load v1 | |
v2 := 6 | |
if v2 -key then jump L7 | |
Sub2 | |
v0 += 1 | |
Sub2 | |
: L7 | |
v2 := 4 | |
if v2 -key then jump L8 | |
Sub2 | |
v0 += -1 | |
Sub2 | |
: L8 | |
if vF != 0 then jump L15 | |
i := D5 | |
save v1 | |
i := D9 | |
load v2 | |
return | |
0x19 0x19 | |
: L9 | |
i := D8 | |
v0 := 29 | |
v1 := v0 | |
v2 := v0 | |
v3 := v0 | |
v4 := v0 | |
save v4 | |
i := D5 | |
v0 := 32 | |
v1 := 3 | |
save v1 | |
vD := 13 | |
vE := 0 | |
jump L11 | |
: Sub4 | |
v2 := 2 | |
v3 := 0 | |
loop | |
i := D8 | |
i += v3 | |
load v1 | |
i := D2 | |
sprite v0 v2 7 | |
sprite v1 v2 7 | |
if vF != 0 then jump L15 | |
v0 += vD | |
sprite v0 v2 7 | |
v0 := v1 | |
v1 += vD | |
sprite v1 v2 7 | |
if vF != 0 then jump L15 | |
i := D8 | |
i += v3 | |
save v0 | |
Sub3 | |
v2 += 7 | |
v3 += 1 | |
if v3 != 4 then | |
again | |
return | |
: L11 | |
v1 := 2 | |
v2 := 0 | |
loop | |
i := D8 | |
i += v2 | |
load v0 | |
i := D2 | |
sprite v0 v1 7 | |
v0 += vD | |
sprite v0 v1 7 | |
v1 += 7 | |
v2 += 1 | |
if v2 != 4 then | |
again | |
i := D5 | |
load v1 | |
i := D4 | |
sprite v0 v1 6 | |
: L13 | |
loop | |
Sub4 | |
i := D8 | |
v0 := 4 | |
i += v0 | |
load v0 | |
v1 := random 0b10 | |
v1 += -1 | |
v0 += v1 | |
if v0 == 2 then v0 := 3 | |
if v0 == 46 then v0 := 45 | |
save v0 | |
vE += 1 | |
v0 := 31 | |
v1 := vE | |
v1 &= v0 | |
if v1 != 31 then | |
again | |
v1 := 2 | |
v2 := 0 | |
loop | |
i := D8 | |
i += v2 | |
load v0 | |
v0 += vD | |
i := D2 | |
sprite v0 v1 7 | |
v0 += -1 | |
sprite v0 v1 7 | |
v1 += 7 | |
v2 += 1 | |
if v2 != 4 then | |
again | |
vD += -1 | |
jump L13 | |
: D6 | |
0x66 0x88 0x48 0x28 0xc6 0x4c 0xaa 0xac 0xaa 0x4a 0xe0 0x88 0xc0 0x88 0xe0 0x0 | |
: L15 | |
v0 := 30 | |
buzzer := v0 | |
v0 <<= v0 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
clear | |
i := D7 | |
bcd vE | |
: L17 | |
vB := 13 | |
vA := 13 | |
vC := 5 | |
i := D6 | |
sprite vA vB 5 | |
vA += 8 | |
i += vC | |
sprite vA vB 5 | |
vA += 8 | |
i += vC | |
sprite vA vB 5 | |
i := D7 | |
load v2 | |
i := hex v0 | |
vA += 8 | |
sprite vA vB 5 | |
i := hex v1 | |
vA += 5 | |
sprite vA vB 5 | |
i := hex v2 | |
vA += 5 | |
sprite vA vB 5 | |
vC := 20 | |
delay := vC | |
loop | |
vC := delay | |
if vC != 0 then | |
again | |
vC := 11 | |
if vC -key then jump L17 | |
jump main | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D7 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D8 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D9 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Rush Hour [Hap, 2006] (alt).ch8 | |
###################################################################### | |
:proto L1 # 224 | |
:proto L8 # 2C2 | |
:proto L11 # 306 | |
:proto L12 # 314 | |
:proto L13 # 324 | |
:proto L14 # 330 | |
:proto L15 # 336 | |
:proto L16 # 338 | |
:proto Sub1 # 341 | |
:proto Sub2 # 349 | |
:proto L17 # 361 | |
:proto Sub3 # 36F | |
:proto L18 # 381 | |
:proto L19 # 385 | |
:proto L20 # 38B | |
:proto L21 # 399 | |
:proto L22 # 3B1 | |
:proto L28 # 425 | |
:proto L29 # 42F | |
:proto L30 # 43D | |
:proto L31 # 455 | |
:proto Sub4 # 46B | |
:proto Sub5 # 47D | |
:proto L33 # 49F | |
:proto Sub6 # 4A7 | |
:proto Sub7 # 4AF | |
:proto Sub8 # 4B1 | |
:proto Sub9 # 4B3 | |
:proto L35 # 4D7 | |
:proto L36 # 4E7 | |
:proto L38 # 541 | |
:proto L41 # 593 | |
:proto Sub10 # 597 | |
:proto L42 # 5C1 | |
:proto D9 # 69C | |
:proto D11 # 6A2 | |
:proto Sub11 # 6A6 | |
:proto L43 # 6C2 | |
:proto L44 # 6DC | |
:proto Sub12 # 702 | |
:proto L45 # 722 | |
:proto L46 # 73C | |
:proto D12 # 78E | |
:proto D13 # 78F | |
:proto D14 # 795 | |
:proto D15 # 796 | |
:proto D16 # 79A | |
:proto D17 # 79E | |
:proto D18 # 7AC | |
:proto D19 # 7E0 | |
:proto D20 # 7E4 | |
:proto D21 # 7ED | |
:proto D22 # 7F1 | |
:proto D23 # 7F7 | |
:proto D24 # 7FB | |
:proto D25 # 7FC | |
:proto D26 # 7FF | |
:proto D27 # 803 | |
:proto D29 # 813 | |
:proto D30 # 817 | |
:proto D31 # 829 | |
:proto D32 # 858 | |
:proto D34 # 869 | |
:proto D35 # 875 | |
:proto D36 # 889 | |
:proto D37 # 892 | |
:proto D38 # 896 | |
:proto D39 # 897 | |
:proto D40 # 8A1 | |
:proto Sub13 # D47 | |
:proto Sub14 # D55 | |
:proto Sub15 # DBD | |
:proto L49 # DF3 | |
:proto D43 # DF7 | |
:proto D44 # EF0 | |
:proto Sub17 # F0E | |
:proto L51 # F2C | |
:proto L53 # F48 | |
:proto L54 # F54 | |
:proto L55 # F60 | |
:proto L59 # FAC | |
:proto L60 # FD6 | |
:proto L61 # FDE | |
:proto L62 # FE6 | |
:proto L63 # FEE | |
:proto D45 # FF5 | |
: main | |
Sub13 | |
if v0 != v1 then Sub17 | |
jump L1 | |
: D1 | |
0x5b 0x62 0x79 | |
: D2 | |
0x20 | |
: D3 | |
0x68 0x61 0x70 0x5d 0x9a 0x0 0x88 0x0 | |
: D4 | |
0x84 0x35 0x88 0x0 0x88 0x6a 0x80 0x27 0x84 0x35 0x80 0x27 0x88 0x6a 0x84 0x19 | |
: L1 | |
clear | |
i := D38 | |
load vA | |
loop | |
delay := v3 | |
i := D39 | |
i += v2 | |
load v1 | |
i := D35 | |
i += v0 | |
Sub9 | |
sprite v4 vA 7 | |
i += v1 | |
sprite v9 vA 7 | |
buzzer := vA | |
v4 += 8 | |
v9 += -8 | |
v2 += 2 | |
if v2 != 8 then | |
again | |
v0 := 10 | |
Sub8 | |
v8 := 72 | |
Sub15 | |
Sub13 | |
if v0 != v1 then jump L51 | |
Sub7 | |
v8 := 93 | |
Sub15 | |
v0 := key | |
: L3 | |
0x0 : D5 0xe0 # SMC: clear | |
v0 := 15 | |
Sub8 | |
i := D37 | |
load v1 | |
i := L28 | |
save v1 | |
i := D23 | |
load v5 | |
i := D31 | |
loop | |
sprite v5 v4 6 | |
v5 += 8 | |
if v5 != 64 then | |
again | |
loop | |
sprite v4 v0 13 | |
sprite v4 v1 12 | |
v4 += 8 | |
if v4 != 40 then | |
again | |
: L6 | |
v2 += 6 | |
v1 := 8 | |
i := D16 | |
if v2 == 32 then i := D15 | |
sprite v2 v1 5 | |
i := D27 | |
i += v3 | |
v3 += 1 | |
load v0 | |
i := D25 | |
if v0 != 0 then sprite v2 v1 4 | |
if v2 == 32 then jump L8 | |
v1 := 7 | |
i := D27 | |
i += v3 | |
load v0 | |
: L7 | |
loop | |
v1 += 6 | |
if v1 == 31 then jump L6 | |
i := D14 | |
sprite v2 v1 6 | |
if v0 == 0 then jump L7 | |
i := D24 | |
sprite v2 v1 5 | |
v0 += -1 | |
again | |
: L8 | |
v8 := 54 | |
Sub15 | |
i := D36 | |
load vE | |
v7 := 10 | |
: L9 | |
Sub1 | |
loop | |
i := D13 | |
sprite v7 vB 1 | |
Sub9 | |
v9 := key | |
sprite v7 vB 1 | |
if v9 == 1 then jump L20 | |
if v9 == 10 then jump L21 | |
v0 := 6 | |
delay := v0 | |
Sub2 | |
v6 := 0 | |
if v9 == 5 then jump L11 | |
if v9 == 8 then jump L12 | |
if v9 == 9 then jump L13 | |
if v9 != 7 then jump L9 | |
if v7 == 10 then jump L9 | |
vC += -1 | |
v7 += -6 | |
v6 := -1 | |
v5 := 116 | |
jump L15 | |
: L11 | |
if vB == 10 then jump L9 | |
vD += -1 | |
vB += -6 | |
v6 := -1 | |
v5 := 186 | |
jump L16 | |
: L12 | |
if vB == 28 then jump L9 | |
if v7 == 34 then jump L9 | |
vD += 1 | |
vB += 6 | |
v5 := 70 | |
jump L16 | |
: L13 | |
if v7 == 34 then jump L9 | |
if v7 != 28 then jump L14 | |
if vB != 10 then jump L9 | |
: L14 | |
vC += 1 | |
v7 += 6 | |
v5 := 140 | |
: L15 | |
Sub3 | |
: L16 | |
Sub3 | |
jump L9 | |
: D6 | |
0x36 0x3b 0x8 0x2c 0x31 | |
: Sub1 | |
v0 := vC | |
v1 := vD | |
i := D21 | |
save v1 | |
: Sub2 | |
i := D6 | |
load v4 | |
if vE == 0 then jump L17 | |
i := D5 | |
sprite v0 v2 1 | |
v2 += -2 | |
v0 := vE | |
if v0 == 10 then v0 := 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
: L17 | |
i := D21 | |
load v1 | |
i := hex v1 | |
sprite v4 v2 5 | |
i := hex v0 | |
sprite v3 v2 5 | |
return | |
: Sub3 | |
i := L28 | |
load v1 | |
v2 := v6 | |
v1 += v5 | |
if vF == 1 then jump L18 | |
if v6 == -1 then v0 += -1 | |
jump L19 | |
: L18 | |
if v6 == 0 then v0 += 1 | |
: L19 | |
i := L28 | |
save v1 | |
return | |
: L20 | |
Sub14 | |
buzzer := v9 | |
v8 := 47 | |
Sub15 | |
v0 := 45 | |
Sub8 | |
jump L1 | |
: L21 | |
if vF == 1 then jump L22 | |
Sub14 | |
buzzer := v9 | |
v8 := 40 | |
Sub15 | |
v0 := 45 | |
Sub8 | |
v8 := 40 | |
Sub15 | |
Sub14 | |
again | |
: L22 | |
Sub14 | |
Sub6 | |
vE += 1 | |
: L23 | |
clear | |
Sub14 | |
v8 := 0 | |
Sub15 | |
Sub2 | |
v8 := vE | |
v8 += -1 | |
v0 <<= v0 | |
v8 += v0 | |
v8 &= v2 | |
v8 <<= v8 | |
i := D3 | |
load v7 | |
i := D4 | |
i += v8 | |
load v3 | |
v5 := v1 | |
v7 := v3 | |
i := D3 | |
save v7 | |
i := D19 | |
load vC | |
i := D9 | |
save v1 | |
i := D11 | |
save v1 | |
i := D32 | |
Sub4 | |
v2 := 15 | |
i := D34 | |
Sub4 | |
i := hex vC | |
loop | |
sprite v3 v5 5 | |
v3 += 5 | |
if v3 != 64 then | |
again | |
i := D18 | |
sprite v4 vC 10 | |
sprite v4 v6 10 | |
sprite v4 v5 12 | |
sprite vC vC 10 | |
sprite vC v6 10 | |
sprite vC v5 12 | |
i := D31 | |
loop | |
sprite v7 vA 15 | |
sprite v7 v8 15 | |
v7 += 8 | |
if v7 != 36 then | |
again | |
i := D12 | |
sprite v4 v6 7 | |
: L26 | |
v8 := -1 | |
loop | |
if vB != 0 then jump L29 | |
vB := 8 | |
: L28 | |
i := D40 | |
i += vC | |
load v0 | |
vD := v0 | |
vC += 1 | |
: L29 | |
vB += -1 | |
vD >>= vD | |
if vF == 0 then jump L30 | |
v8 += 1 | |
if v8 != 3 then | |
again | |
: L30 | |
if v8 == -1 then jump L31 | |
if vA == 11 then v8 += 4 | |
Sub5 | |
v8 >>= v8 | |
if vF == 1 then jump L31 | |
v9 += -3 | |
v8 >>= v8 | |
if vF == 1 then v9 += 5 | |
: L31 | |
v9 += 5 | |
if v9 != 35 then jump L26 | |
v9 := 5 | |
vA += 5 | |
if vA != 31 then jump L26 | |
i := D20 | |
load vD | |
Sub15 | |
jump L36 | |
: Sub4 | |
v0 := 41 | |
loop | |
sprite v0 v2 4 | |
v0 += 8 | |
if v0 == 65 then return | |
i += v7 | |
again | |
: D7 | |
0x2d 0x1f 0x1b 0x24 | |
: Sub5 | |
i := D2 | |
i += v8 | |
load v1 | |
v0 := v8 | |
v0 >>= v0 | |
if vF == 1 then jump L33 | |
i := D7 | |
i += v0 | |
load v0 | |
i := D17 | |
i += v1 | |
sprite v9 vA 5 | |
i += v0 | |
v9 += 8 | |
sprite v9 vA 5 | |
return | |
: L33 | |
i := D17 | |
i += v1 | |
sprite v9 vA 15 | |
return | |
: Sub6 | |
v0 := 1 | |
buzzer := v0 | |
v8 := 35 | |
Sub15 | |
: Sub7 | |
v0 := 33 | |
: Sub8 | |
delay := v0 | |
: Sub9 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: L34 | |
loop | |
if v5 key then | |
again | |
i := D26 | |
sprite vB vC 5 | |
Sub14 | |
v8 := 18 | |
Sub15 | |
v9 := key | |
v8 := 18 | |
Sub15 | |
if v9 != 10 then jump L35 | |
Sub6 | |
jump L23 | |
: L35 | |
Sub15 | |
v9 := key | |
v8 := 27 | |
Sub15 | |
if v9 != 10 then jump L36 | |
Sub6 | |
jump L3 | |
: L36 | |
Sub14 | |
jump L38 | |
0x25 0xc5 0x15 0x41 0x25 0x97 0x26 0x21 0x14 0xff 0x25 0xf1 | |
: L37 | |
Sub10 | |
jump L38 | |
0x25 0xc5 0x26 0x21 0x3b 0xff 0x15 0x41 0x66 0x0 0x65 0x7 0x23 0x6f 0x3e 0xa 0x13 0xb5 0x0 0xe0 0x68 0x6b 0x2d 0xbd 0xa7 0xec 0xf2 0x65 0x41 0x5 0x15 0x3b 0xa8 0x3 0xf1 0x1e 0xf0 0x65 0x40 0x3 0x15 0x3b 0x72 0xf6 0x50 0x20 0x15 0x3b 0x70 0x1 0xa8 0x3 0xf1 0x1e 0xf0 0x55 0x2d 0xbd 0x2d 0x47 0x50 0x10 0x2e 0xce 0x12 0x58 0x25 0xc5 0x25 0xf1 | |
: L38 | |
i := D26 | |
sprite vB vC 5 | |
: L39 | |
loop | |
i := D22 | |
load v6 | |
if v5 key then jump L34 | |
if v2 key then v0 += 2 | |
if v1 key then v0 += 4 | |
if v3 key then v0 += 8 | |
if v6 key then v0 += 16 | |
if v0 == 0 then jump L41 | |
vA := delay | |
if vA != 0 then jump L39 | |
delay := v4 | |
if v4 key then v5 := 2 | |
i := D26 | |
sprite vB vC 5 | |
v5 |= vF | |
: L40 | |
jump0 L40 | |
jump L37 | |
0x14 0xfd 0x14 0xef 0x14 0xeb 0x14 0xf7 0x14 0xfb 0x14 0xef 0x15 0x3f 0x14 0xf5 0x14 0xfd 0x14 0xef 0x15 0x3d 0x14 0xf5 0x14 0xfb 0x14 0xef | |
: L41 | |
delay := v0 | |
again | |
: Sub10 | |
if vB == 35 then return | |
if vC == 1 then return | |
if v5 != 3 then jump L42 | |
Sub12 | |
if vA == v9 then return | |
v0 := vA | |
v0 += -1 | |
i := D30 | |
sprite vB v0 1 | |
sprite vB v0 1 | |
if vF == 1 then return | |
v9 := vB | |
Sub5 | |
vA += -5 | |
Sub5 | |
Sub11 | |
: L42 | |
vC += -5 | |
return | |
0x4b 0x23 0x0 0xee 0x4c 0x1a 0x0 0xee 0x35 0x3 0x15 0xed 0x27 0x2 0x9a 0x90 0x0 0xee 0x79 0x5 0xa8 0x17 0xdb 0x91 0xdb 0x91 0x4f 0x1 0x0 0xee 0x89 0xb0 0x24 0x7d 0x7a 0x5 0x24 0x7d 0x26 0xa6 0x7c 0x5 0x0 0xee 0x4b 0x5 0x0 0xee 0x35 0x3 0x16 0x17 0x27 0x46 0x99 0x60 0x0 0xee 0x80 0x90 0x70 0xff 0xa8 0x18 0xd0 0xc3 0xd0 0xc3 0x4f 0x1 0x0 0xee 0x8a 0xc0 0x24 0x7d 0x79 0xf3 0x24 0x7d 0x26 0xa6 0x7b 0xfb 0x0 0xee 0x4c 0xb 0x16 0x29 0x0 0xee 0x4b 0x1e 0x16 0x1b 0x4b 0x23 0x0 0xee 0x35 0x3 0x16 0x4d 0x27 0x46 0x99 0x60 0x0 0xee 0x76 0x5 0xa8 0x18 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x0 0xee 0x8a 0xc0 0x24 0x7d 0x79 0xfd 0x24 0x7d 0x26 0xa6 0x46 0x23 0x16 0x51 0x7b 0x5 0x0 0xee 0x7b 0x5 0x86 0xb0 0x8b 0x90 0x7b 0xf3 0xa8 0x17 0xdb 0xc1 0xdb 0xc1 0x4f 0x0 0x16 0x6d 0xa8 0x13 0xdb 0xc5 0xdb 0xc5 0x4f 0x1 0x16 0x83 0x4b 0x5 0x16 0x75 0x7b 0xfb 0x16 0x59 0x87 0x80 0x2d 0x55 0x68 0xa 0x2d 0xbd 0x6a 0xb 0x88 0x70 0x66 0xff 0x63 0x0 0x8b 0x60 0x62 0xb 0xf2 0x18 0xf2 0x15 0x79 0xf8 0x24 0x7d 0x73 0x1 0x24 0xb3 0x33 0xb 0x16 0x8b 0x0 0xee | |
: D8 | |
0x0 | |
: D9 | |
0x0 0x0 0x36 0x3b 0x14 | |
: D10 | |
0x0 | |
: D11 | |
0x0 0x0 0x2c 0x31 | |
: Sub11 | |
i := D9 | |
load v4 | |
buzzer := v5 | |
vD += 1 | |
i := D8 | |
bcd vD | |
if v1 == 9 then jump L43 | |
i := hex v1 | |
sprite v3 v4 5 | |
v1 += 1 | |
i := hex v1 | |
sprite v3 v4 5 | |
return | |
: L43 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
i := D9 | |
load v1 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
if vD == 100 then jump L44 | |
return | |
: L44 | |
i := D11 | |
load v3 | |
vD := 0 | |
v7 += 1 | |
if v7 == 100 then v7 := 0 | |
i := D10 | |
bcd v7 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
i := D11 | |
load v1 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
return | |
: Sub12 | |
v8 := 1 | |
vA := vC | |
v9 := vC | |
i := D29 | |
sprite vB v9 5 | |
sprite vB v9 5 | |
if vF == 1 then jump L45 | |
v9 += 5 | |
sprite vB v9 5 | |
sprite vB v9 5 | |
if vF == 1 then jump L45 | |
v9 += 5 | |
v8 += 2 | |
return | |
: L45 | |
i := D30 | |
sprite vB vA 1 | |
sprite vB vA 1 | |
if vF == 1 then jump L46 | |
vA += -5 | |
sprite vB vA 1 | |
sprite vB vA 1 | |
if vF == 1 then jump L46 | |
vA += -5 | |
v8 += 2 | |
return | |
: L46 | |
v0 := v9 | |
v0 -= vA | |
if v0 == 10 then v8 += 2 | |
return | |
0x68 0x0 0x4c 0xb 0x78 0x4 0x89 0xb0 0x86 0xb0 0xa8 0x1b 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x17 0x6a 0x76 0x5 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x17 0x6a 0x76 0x5 0x78 0x2 0x0 0xee 0xa8 0x18 0xd9 0xc3 0xd9 0xc3 0x4f 0x1 0x17 0x84 0x79 0xfb 0xd9 0xc3 0xd9 0xc3 0x4f 0x1 0x17 0x84 0x79 0xfb 0x78 0x2 0x0 0xee 0x80 0x60 0x80 0x95 0x40 0xa 0x78 0x2 0x0 0xee | |
: D12 | |
0xd0 | |
: D13 | |
0x80 0x80 0x80 0x80 0x80 0xd0 | |
: D14 | |
0x20 | |
: D15 | |
0xf8 0x88 0x88 0x88 | |
: D16 | |
0xf8 0x88 0x8c 0x88 | |
: D17 | |
0xf8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 | |
: D18 | |
0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0x88 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0x88 0xf8 0x88 0xc8 0xa8 0x98 0x88 0xc8 0xa8 0x98 0x88 0xc8 0xa8 0x98 0x88 0xf8 0x88 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0x88 0xf8 0x0 0x0 0x0 | |
: D19 | |
0x0 0x0 0x1 0x2c | |
: D20 | |
0x23 0x14 0xa 0x4 0x10 0x5 0x1 0x0 0x0 | |
: D21 | |
0x0 0x0 0x5 0x1 | |
: D22 | |
0x0 0x9 0x5 0x8 0xa 0x1 | |
: D23 | |
0x7 0x14 0x2 0x0 | |
: D24 | |
0x0 | |
: D25 | |
0x0 0x70 0x70 | |
: D26 | |
0x70 0xf8 0xf8 0xf8 | |
: D27 | |
0x70 | |
: D28 | |
0x0 0x0 0x0 0x0 0xf8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xf8 0x0 | |
: D29 | |
0x0 0x0 0x0 0x0 | |
: D30 | |
0x20 0x0 0x0 0x80 0x0 0x0 0x8 0xff 0x88 0x91 0xa2 0xff 0x80 0xb3 0x80 0xff 0xff 0x80 | |
: D31 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfd 0xfc 0x80 0xfc 0xfd 0xfe 0x8a 0x12 0x22 0xfe 0x2 0x9a 0x2 0xfe 0xfe 0x2 0xfe 0xfe 0xee 0xe6 0x2 0xe6 0xee 0xc0 0x40 0x40 0x40 0xc0 0xc0 0x40 0xc0 0xc0 | |
: D32 | |
0x83 0xe4 0x94 0xe3 0x33 0x8a 0xaa 0x1a 0x8 0x38 0x48 | |
: D33 | |
0x38 0x38 0x38 0x38 0x38 0x38 | |
: D34 | |
0xf1 0xaa 0xaa 0xa9 0x94 0x55 0x49 0x88 0x8c 0x50 0x4 0xd8 | |
: D35 | |
0xfc 0xe6 0xe6 0xe4 0xf8 0xec 0xe6 0xe6 0xe6 0xfe 0xe6 0xe6 0xe6 0xe6 0xe6 0xe6 0x7c 0xe6 0xe0 0x7c | |
: D36 | |
0x6 0xe6 0x7c 0xe6 0xe6 0xe6 0xe6 0xe6 0x7c | |
: D37 | |
0xa8 0xa1 0xa 0x1 | |
: D38 | |
0xa | |
: D39 | |
0x0 0x0 0xa 0x0 0x10 0x6 0x6 0x0 0x39 0x1 | |
: D40 | |
0xe1 0x9f 0x47 0x0 0x86 0x38 0x0 0xe3 0x30 0x1f 0x73 0x60 0x4a 0x0 0x0 0xa0 0x47 0xbc 0x1 0x1 0x0 0xcf 0x3 0x8 0xec 0xc0 0x38 0x0 0x79 0x7b 0x3c 0x31 0xc7 0x10 0x4 0x19 0xf1 0xaf 0xa7 0x61 0x0 0x7 0xd6 0x86 0x21 0x46 0x60 0x0 0x0 0xe8 0x69 0xda 0x88 0xda 0xe5 0x0 0x56 0x58 0xf1 0xfb 0x83 0x31 0x0 0x4d 0xe1 0x3f 0x38 0xb0 0x22 0x0 0xdf 0x3 0x8 0xec 0xc0 0x38 0x0 0x8b 0xe7 0x11 0xe0 0x60 0xe 0x0 0x35 0x8c 0x37 0x79 0x82 0x25 0x1 0xd 0xd0 0xd6 0x46 0x30 0x5 0x0 0x4a 0xfd 0xff 0x7 0x1b 0x90 0x2 0xb5 0x9f 0xb0 0xf 0xe 0x8 0x0 0x3b 0xa8 0x86 0x3c 0x67 0x3b 0x0 0xed 0x9 0x3e 0x38 0x84 0x3 0x0 0x2c 0x30 0x16 0x34 0xe 0x0 0x0 0xe3 0x34 0x1a 0xf 0xb0 0xe0 0x0 0xed 0x79 0x20 0x38 0x0 0x1c 0x0 0xec 0xc6 0x27 0x18 0x4d 0xe6 0x0 0xdc 0xb3 0x20 0x6c 0x41 0x1c 0x0 0x2c 0x6 0xd3 0x8 0x67 0x2 0x0 0x4d 0xe1 0x3f 0xe3 0x30 0xb 0x2 0xe6 0xc6 0x9e 0xd8 0xe 0xc6 0x10 0xeb 0x11 0x1a 0x8f 0x30 0xe0 0x0 0x37 0x78 0x5 0x9b 0x9e 0x53 0x0 0xe7 0x31 0x84 0xad 0x68 0x76 0x0 0x6f 0x87 0x21 0x94 0x7 0xa 0x0 0x39 0xac 0xc5 0xf3 0x9 0x70 0x0 0xfd 0x2 0x82 0xd5 0x63 0x4 0x0 0xf6 0x2 0x82 0xd5 0x6b 0x73 0x0 0xe3 0x30 0x1f 0x73 0x83 0x29 0x1 0x7c 0x8f 0x11 0xec 0xd0 0x26 0x0 0x7f 0x59 0x9e 0xb8 0xc1 0x14 0x0 0x4d 0xf1 0xff 0xc1 0x81 0x15 0x1 0xe3 0x34 0x1a 0x8f 0xb0 0xe0 0x0 0xec 0x30 0x1a 0x9f 0x6c 0x41 0x0 0x9f 0xb1 0xf1 0xc8 0xd 0xa6 0x4 0x7a 0xc0 0x2f 0xf0 0x1 0x10 0x0 0xec 0xf0 0x9 0x46 0x93 0x39 0x0 0xd 0xa6 0x7f 0x61 0xc1 0x56 0x0 0xf7 0x1b 0x43 0x4c 0xd9 0x8 0xe 0xe6 0x9e 0x8d 0xa0 0x9e 0x25 0x0 0xec 0x62 0x16 0x6c 0x3d 0xe2 0x0 0x67 0xdb 0xc1 0xb7 0x0 0xeb 0x0 0xea 0xf 0x2c 0x59 0x7 0xa 0x0 0xde 0x1a 0x36 0x62 0xcd 0x18 0x70 0x5a 0x62 0x7c 0xc2 0xf 0x28 0x0 0x6d 0xc 0x69 0xd3 0x80 0xd6 0x1 0xf6 0x82 0xd2 0xef 0xd0 0x80 0x0 0xeb 0x7 0x68 0x30 0xc7 0x5a 0x0 0x73 0x3 0xfa 0x6d 0xc1 0xe6 0x28 0xbb 0xe7 0x68 0x3 0xe2 0x86 0x0 0xbf 0xf5 0x30 0x1a 0x4c 0x18 0x7 0xd 0x3f 0xfe 0x9 0x7 0x56 0x4 0xdf 0xc6 0xf0 0xc8 0xd 0xa6 0x4 0x4b 0xea 0x63 0x2c 0xd8 0xa 0x0 0xd6 0x30 0x16 0xb4 0x7e 0x84 0x3 0x6b 0xde 0x80 0xa6 0x1f 0x50 0x2 0xd3 0x73 0xb4 0x1 0x71 0xe3 0x0 0x56 0x64 0x6d 0x40 0xd3 0xe6 0x0 0x6b 0x81 0xb5 0x64 0x2d 0xe0 0x0 0x2b 0xec 0xf2 0xb6 0x8c 0x61 0x1c 0xbf 0x1b 0x3c 0xb1 0x6 0x1c 0x5 0xb7 0x11 0xbe 0xc1 0x84 0x76 0x0 0x6a 0x6c 0x84 0x7f 0xb 0xa2 0x3 0x3b 0xd8 0x17 0xd6 0x60 0x18 0x7 0x5b 0x1e 0xe8 0x93 0x35 0x8c 0x3 0x5b 0xf1 0x4a 0x9f 0xb1 0x80 0x3 0x56 0xac 0xf 0xbe 0x1 0x39 0x0 0xf3 0x82 0x7d 0x60 0x67 0x2c 0x1 0x2e 0xd6 0x92 0xb5 0xbd 0xd0 0x1 0xb7 0x2d 0xc8 0x58 0x62 0x2d 0x0 0xa 0x3f 0x82 0xac 0xc5 0x1c 0x0 0xdc 0x33 0x20 0x6d 0x6c 0xc4 0x1 0x56 0x58 0xf1 0xfe 0x3c 0x3 0x2 0x4d 0x50 0x63 0x4f 0x34 0x13 0x0 0x37 0xcf 0x90 0x58 0xcd 0x4 0x1 0x6f 0xd 0x71 0xbf 0xc 0x3 0x1c 0x3f 0x42 0xef 0xa6 0xd 0x48 0x1 0xdc 0xf3 0xc9 0x80 0xdc 0x38 0x0 0xee 0x47 0x34 0xfe 0x89 0x1d 0xa 0xf8 0xc0 0x1f 0x66 0x1 0xe 0x0 0xc7 0x1f 0xfe 0xb0 0x62 0x2b 0x0 0xbb 0xbd 0x83 0x25 0xf 0x74 0x0 0xbe 0x46 0xcf 0x59 0x83 0x29 0x1 0xc7 0x3 0x87 0x6d 0x87 0x25 0x0 0xe6 0xb0 0xf7 0xc1 0x79 0x6 0x4 0xac 0x61 0x73 0xec 0x8b 0x11 0x4 0x6d 0xc 0x71 0x3b 0x2f 0xac 0x0 0xdf 0x19 0x9e 0xe6 0xc0 0x2e 0x2 0xec 0xb2 0xff 0xf 0x3e 0x0 0xa 0xf8 0x62 0xe 0xac 0x1f 0xe0 0x0 0x56 0xdc 0xff 0xa1 0xb0 0x15 0x0 0x7f 0x5e 0xd0 0xe8 0x81 0xe0 0x0 0xfc 0x61 0x5 0xd3 0xde 0xd1 0x1 0x66 0x41 0x7f 0x23 0x9e 0x25 0x0 0xed 0x79 0x20 0xe0 0xce 0x76 0x0 0xe9 0x6b 0x6e 0x3c 0x52 0x5c 0x0 0xbf 0x1b 0x3d 0xb1 0x6 0x9c 0x3 0x3f 0xb 0x70 0xd3 0x78 0xa4 0x3 0xd6 0x86 0x71 0xac 0x65 0xc 0x1 0xbb 0xe7 0x68 0x3 0xe2 0xc6 0x1 0xeb 0x37 0x86 0xd8 0x3b 0x38 0x38 0xbf 0x83 0x3d 0xf1 0x4 0x4b 0x4 0x4d 0xe1 0x3f 0xe3 0xc0 0x8a 0x0 0x67 0xdb 0xc1 0x5a 0x1e 0xe8 0x0 0xdd 0xcf 0x51 0x9a 0xc6 0xe9 0x0 0xdc 0xb3 0xe4 0xf9 0x0 0xe1 0x0 0x37 0xbf 0xc0 0x27 0xc0 0x71 0x0 0xac 0xc1 0xbb 0xf9 0xf 0x26 0x14 0xd3 0xc6 0x80 0x76 0xf 0x53 0x0 0xce 0x63 0x13 0xac 0xb0 0x15 0x0 0xbd 0x3d 0x80 0xe0 0x5b 0x10 0x0 0xb5 0x5 0x4f 0xe3 0xb0 0x15 0x0 0xbf 0xa2 0xa7 0x71 0x3c 0xb 0x2 0x37 0xbf 0xc0 0x7 0xb 0x50 0x0 0xb7 0xff 0x5 0xa2 0xc1 0x84 0x2 0xec 0xc6 0x27 0x2c 0x63 0x19 0x7 0x33 0xc1 0xbe 0x21 0xb9 0x21 0x1 0xb7 0x5f 0xf0 0x32 0x80 0x5d 0x4 0xb3 0x1e 0x59 0x3 0xca 0x88 0x0 0x56 0xf 0x2f 0x28 0x6c 0x5 0x0 0xb6 0x43 0x6b 0xc8 0x6f 0xb 0x10 0x37 0x6b 0x8 0x1b 0xa0 0x0 0x0 0xcf 0x2 0xb4 0x39 0xde 0x16 0x0 0xd7 0x7f 0x43 0x60 0x6b 0x40 0x1 0x7e 0x1a 0x3d 0xd1 0x6 0xa4 0x0 0x4d 0xf 0x4f 0xe3 0xc0 0xa 0x0 0x3b 0xd8 0x17 0x18 0xd1 0x76 0x0 0x6f 0x87 0xa6 0x4d 0x80 0x5 0x1 0x5b 0x31 0x3e 0xa6 0xc0 0x12 0x0 0x67 0x3 0x3e 0x66 0x87 0xad 0x8 0x76 0x1b 0x43 0xde 0xe 0xc6 0x10 0xf9 0x1 0x3e 0xb0 0x43 0x3b 0x0 0x19 0x8b 0xe7 0x13 0xe0 0x38 0x0 0xec 0xf2 0xb3 0x0 0x95 0x15 0x0 0x59 0x43 0x1a 0x33 0x1e 0x29 0x0 0x9a 0xdf 0x80 0x66 0xd 0x26 0x1c 0x56 0x58 0x1f 0x9c 0x67 0x9 0x0 0x37 0x16 0xb4 0x7d 0x3 0xa2 0x0 0x3 0xee 0xbf 0x8d 0x0 0x4b 0x0 0xdf 0x30 0xa2 0x69 0x3c 0x52 0x0 0x56 0xaf 0x7f 0xc2 0xc1 0x6 0x4 0x56 0x58 0xb1 0xff 0x83 0x5 0x1 0x76 0x83 0xf9 0x18 0xb 0xd6 0x1 0xdf 0x92 0xa7 0xd1 0x80 0xa6 0x0 0xbf 0xc2 0x9e 0xd0 0x78 0x44 0x1 0xb5 0x1 0x68 0xef 0xb0 0x5 0x1 0x5b 0xf1 0xa 0x32 0xbf 0xe0 0x0 0xfc 0x82 0x9 0x56 0xaf 0x71 0x0 0x58 0x3f 0x86 0xbc 0xc2 0x12 0x1 0x2d 0xf1 0x3e 0xe6 0xc0 0x88 0x0 0xec 0x60 0x34 0x1a 0x6f 0xc2 0x1 0xdc 0xb3 0x8c 0xb0 0x5 0x71 0x0 0x76 0x3 0xb4 0x7d 0x8f 0x11 0x1c 0x6b 0xf1 0x7c 0x80 0x60 0x1d 0x0 0x4d 0xf1 0x5e 0x38 0xc3 0x88 0x0 0x3c 0x80 | |
: D41 | |
0xf0 0x7 0x4 0x7 0x0 0xbd 0x7 0x4 0x80 0x5 0x0 0x0 0xc7 0x33 0x24 0xef 0x1 0xe0 0x0 0xdf 0x7 0x26 0x34 0x86 0x1c 0x0 0x73 0x90 0xdb 0x34 0x1e 0x39 0x0 0xeb 0x87 0x21 0x8c 0x8f 0x61 0x8 0xb5 0x27 0xf8 0x60 0x6c 0x44 0x1 0xbf 0xf5 0x80 0x36 0xd 0xb8 0xe 0xfe 0x36 0x3c 0xf2 0xd 0x8 0x7 0x37 0xde 0x60 0x7a 0x62 0xc1 0x5 | |
: Sub13 | |
i := D44 | |
load v0 | |
v0 += 1 | |
v1 := v0 | |
i := D44 | |
load v0 | |
return | |
: Sub14 | |
v2 := 59 | |
v1 := 26 | |
i := D18 | |
loop | |
v0 := 2 | |
delay := v0 | |
sprite v2 v1 6 | |
Sub9 | |
v2 += -5 | |
if v2 != 39 then | |
again | |
i := D33 | |
sprite v2 v1 6 | |
return | |
: D42 | |
0x82 0x2 0x2 0x3 0x0 0x40 0x84 0xc4 0xa4 0xa0 0xa0 0x64 0xa0 0x2 0x43 0x0 0x40 0x82 0x82 0x0 0x80 0x85 0xe5 0x90 0xe0 0x84 0xa0 0xc0 0xa4 0xa4 0x40 0x40 0xa4 0xa0 0x40 0x80 0x44 0xa0 0x20 0xc3 0x83 0x80 0x80 0x43 0x83 0xc0 0x80 0x44 0xa0 0x80 0x64 0x80 0x80 0x65 0x90 0x90 0x64 0x80 0x20 0xc4 0x20 0xa0 0x60 0xe4 0x20 0x80 0xe0 0x15 0x75 0x90 0x70 0x10 0xf6 0xa8 0xae 0xa8 0x50 0x50 | |
: Sub15 | |
i := L49 | |
i += v8 | |
load v5 | |
: Sub16 | |
v8 += 2 | |
vA := -8 | |
loop | |
v6 := 2 | |
delay := v6 | |
i := D43 | |
i += v8 | |
v8 += 1 | |
load v0 | |
if v0 == -1 then return | |
i := D42 | |
i += v0 | |
load v3 | |
v6 := v0 | |
v0 &= vA | |
v1 &= vA | |
v2 &= vA | |
v3 &= vA | |
i := D1 | |
save v3 | |
i := D1 | |
sprite v4 v5 4 | |
v4 += v6 | |
v4 -= v0 | |
: L49 | |
Sub9 | |
again | |
: D43 | |
0x2a 0x1b 0x4a 0x3b 0x12 0x2c 0x2 0x2 0x2 0xff 0x2d 0x1b 0x7 0x12 0x32 0x2f 0x11 0xff 0x2a 0x1b 0x27 0x2f 0x2c 0x27 0x20 0xb 0xff 0x2a 0x1b 0x44 0x8 0x12 0x2c 0xb 0xff 0x30 0x1b 0x35 0x19 0xff 0x2d 0x1b 0x28 0x35 0x32 0x19 0xff 0x2c 0x1b 0x15 0x3b 0x32 0x19 0xff 0x2 0x1 0x32 0x6 0x35 0x35 0x38 0x2f 0x1 0x15 0x35 0x3b 0x27 0x43 0x38 0x2f 0x2c 0xff 0x1 0xa 0x2c 0x27 0x3b 0x2b 0x2b 0x12 0x32 0x1 0xe 0x3b 0x48 0x1 0x16 0x8 0x3f 0x3f 0x28 0x2f 0xff 0xc 0x18 0x16 0x27 0x2f 0x38 0x38 0x1 0x3b 0x1 0x19 0x2f 0x20 0xff 0xd 0x3 0x4a 0x2f 0x28 0x28 0x1 0x43 0x35 0x7 0x2f 0x11 0xff 0x1 0xa 0x8 0x7 0x28 0x35 0x32 0x19 0x2f 0x43 0x1 0x7 0x2f 0x1d 0x2c 0x1 0x38 0x2f 0x2c 0xff 0x2 0x11 0x16 0x3b 0x38 0x38 0x4a 0x35 0x27 0x43 0xd 0xff 0x30 0x1b 0x7 0x35 0xff 0x18 0x12 0x16 0x28 0x3b 0x20 0xff 0x14 0x18 0x8 0x7 0x28 0x35 0x32 0x19 0xff 0x1 0xa 0x35 0x27 0x12 0x24 0xd 0x1 0x7 0x35 0x15 0x3 0x2c 0x6 0x12 0x7 0x19 0x2b 0x8 0x7 0xff 0x2 0x11 0x2b 0x35 0x27 0x1 0x0 0x32 0x6 0x12 0x16 0x0 0x1 0x15 0x20 0x1 0x6 0x3b 0x16 0x2 0xff 0x60 0x13 0x24 0xb1 0x2d 0xbd 0xa8 0x4 0xf3 0x65 0x80 0xe 0x80 0xe 0x80 0x11 0x83 0x3e 0x83 0x3e 0x83 0x21 0x61 0xa 0x62 0x5 0x82 0x3 0x81 0x33 0xa2 0x8 0xf3 0x55 | |
: D44 | |
0x63 0x2b 0x61 0x10 0x62 0x0 0xa2 0x8 0xf2 0x1e 0xf0 0x65 0xf0 0x29 0x60 0x11 0x24 0xb1 0xd3 0x15 0x73 0x5 0x72 0x1 0x32 0x4 0x1e 0xf6 0x0 0xee | |
: Sub17 | |
clear | |
v8 := 173 | |
Sub15 | |
Sub7 | |
Sub15 | |
v0 := 110 | |
Sub8 | |
return | |
: Sub18 | |
i := D31 | |
v0 := 16 | |
loop | |
sprite v0 v1 6 | |
v0 += 8 | |
if v0 != 48 then | |
again | |
return | |
: L51 | |
Sub7 | |
v8 := 157 | |
Sub15 | |
Sub15 | |
v1 := 17 | |
Sub18 | |
: L52 | |
loop | |
v3 := key | |
if v3 == 5 then jump L53 | |
if v3 == 8 then jump L54 | |
if v3 == 10 then jump L55 | |
jump L52 | |
: L53 | |
if v1 == 17 then jump L52 | |
Sub18 | |
v1 := 17 | |
Sub18 | |
jump L52 | |
: L54 | |
if v1 == 23 then jump L52 | |
Sub18 | |
v1 := 23 | |
Sub18 | |
again | |
: L55 | |
v0 := 1 | |
buzzer := v0 | |
v2 := 5 | |
loop | |
delay := v2 | |
Sub18 | |
v3 += -1 | |
Sub9 | |
if v3 != 0 then | |
again | |
if v1 == 17 then jump L3 | |
clear | |
v4 := 2 | |
v5 := 14 | |
v8 := 140 | |
Sub16 | |
i := D45 | |
load v8 | |
i := D41 | |
sprite v1 v3 1 | |
: L57 | |
v0 := key | |
i := D1 | |
i += v7 | |
v7 += 1 | |
save v0 | |
i := D41 | |
sprite v1 v3 1 | |
i := hex v0 | |
sprite v1 v2 5 | |
buzzer := v6 | |
if v7 == 4 then jump L59 | |
v1 += 5 | |
i := D41 | |
sprite v1 v3 1 | |
loop | |
if v0 key then | |
again | |
jump L57 | |
: L59 | |
Sub14 | |
i := D1 | |
load v3 | |
v1 ^= v4 | |
v2 ^= v5 | |
if v2 != v0 then jump L63 | |
if v1 != v3 then jump L63 | |
v1 := v0 | |
v2 := v3 | |
v0 >>= v0 | |
v0 >>= v0 | |
v3 >>= v3 | |
v3 >>= v3 | |
v1 &= v6 | |
v2 &= v6 | |
if v1 == 0 then jump L60 | |
if v0 == 0 then jump L63 | |
: L60 | |
if v2 == 0 then jump L61 | |
if v1 == 0 then jump L63 | |
: L61 | |
if v3 == 0 then jump L62 | |
if v2 == 0 then jump L63 | |
: L62 | |
i := D28 | |
save v3 | |
Sub6 | |
jump L3 | |
: L63 | |
buzzer := v4 | |
Sub15 | |
Sub7 | |
0x12 : D45 0x24 # SMC: jump L1 | |
0x2b 0xd 0x11 0xa 0x5 0x3 0x0 0x98 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Rush Hour [Hap, 2006].ch8 | |
###################################################################### | |
:proto L2 # 27A | |
:proto D5 # 2B7 | |
:proto L4 # 2B8 | |
:proto Sub1 # 2BC | |
:proto L5 # 2E6 | |
:proto L6 # 3DC | |
:proto L7 # 3F8 | |
:proto L8 # 408 | |
:proto D6 # 40B | |
:proto Sub6 # 429 | |
:proto L9 # 445 | |
:proto L10 # 45F | |
:proto Sub7 # 485 | |
:proto L11 # 4A5 | |
:proto L12 # 4BF | |
:proto L15 # 51D | |
:proto L17 # 559 | |
:proto L22 # 5BB | |
:proto L25 # 5FF | |
:proto L26 # 60D | |
:proto L27 # 61D | |
:proto L28 # 629 | |
:proto L29 # 62F | |
:proto L30 # 631 | |
:proto Sub8 # 635 | |
:proto Sub9 # 63D | |
:proto L31 # 655 | |
:proto Sub10 # 663 | |
:proto L32 # 675 | |
:proto L33 # 679 | |
:proto L34 # 67F | |
:proto L35 # 697 | |
:proto L36 # 69D | |
:proto L41 # 70B | |
:proto L42 # 715 | |
:proto L43 # 723 | |
:proto L44 # 73B | |
:proto Sub11 # 751 | |
:proto Sub12 # 763 | |
:proto L46 # 785 | |
:proto D14 # 78D | |
:proto D15 # 78E | |
:proto D16 # 794 | |
:proto D17 # 795 | |
:proto D18 # 799 | |
:proto D19 # 79D | |
:proto D20 # 7AB | |
:proto D21 # 7DF | |
:proto D22 # 7E3 | |
:proto D23 # 7EC | |
:proto D24 # 7F0 | |
:proto D25 # 7F6 | |
:proto D26 # 7FA | |
:proto D27 # 7FB | |
:proto D28 # 7FE | |
:proto D29 # 802 | |
:proto D31 # 812 | |
:proto D32 # 816 | |
:proto D33 # 828 | |
:proto D34 # 857 | |
:proto D36 # 868 | |
:proto D37 # 874 | |
:proto D38 # 888 | |
:proto D39 # 891 | |
:proto D40 # 895 | |
:proto D41 # 896 | |
:proto D42 # 8A0 | |
:proto Sub13 # D46 | |
:proto Sub14 # D54 | |
:proto Sub15 # DBC | |
:proto L49 # DFA | |
:proto D45 # DFE | |
:proto L50 # ED0 | |
:proto D46 # EF0 | |
:proto L52 # F2C | |
:proto L54 # F48 | |
:proto L55 # F54 | |
:proto L56 # F60 | |
:proto L60 # FAC | |
:proto L61 # FD6 | |
:proto L62 # FDE | |
:proto L63 # FE6 | |
:proto L64 # FEE | |
:proto D47 # FF5 | |
: main | |
Sub13 | |
if v0 == v1 then jump L15 | |
jump L50 | |
: D1 | |
0x5b 0x62 0x79 | |
: D2 | |
0x20 | |
: D3 | |
0x68 0x61 0x70 0x5d 0x9a 0x0 0x88 0x0 | |
: D4 | |
0x84 0x35 0x88 0x0 0x88 0x6a 0x80 0x27 0x84 0x35 0x80 0x27 0x88 0x6a 0x84 0x19 0x22 0xea 0x12 0x7a 0x22 0xbc 0x23 0x46 0x12 0x38 0x23 0x16 | |
: L1 | |
Sub1 | |
jump L2 | |
0x22 0xea 0x23 0x46 0x3b 0xff 0x12 0x7a 0x66 0x0 0x65 0x7 0x26 0x63 0x3e 0xa 0x16 0x9b 0x0 0xe0 0x68 0x6e 0x2d 0xbc 0xa7 0xeb 0xf2 0x65 0x41 0x5 0x12 0x74 0xa8 0x2 0xf1 0x1e 0xf0 0x65 0x40 0x3 0x12 0x74 0x72 0xf6 0x50 0x20 0x12 0x74 0x70 0x1 0xa8 0x2 0xf1 0x1e 0xf0 0x55 0x2d 0xbc 0x2d 0x46 0x50 0x10 0x2e 0xde 0x15 0x51 0x22 0xea 0x23 0x16 | |
: L2 | |
i := D28 | |
sprite vB vC 5 | |
: L3 | |
loop | |
i := D24 | |
load v6 | |
if v5 key then jump L6 | |
if v2 key then v0 += 1 | |
if v1 key then v0 += 2 | |
if v3 key then v0 += 4 | |
if v6 key then v0 += 8 | |
if v0 == 0 then jump L4 | |
vA := delay | |
if vA != 0 then jump L3 | |
delay := v4 | |
if v4 key then v5 := 2 | |
i := D28 | |
sprite vB vC 5 | |
v5 |= vF | |
i := D6 | |
i += v0 | |
load v0 | |
i := D5 | |
save v0 | |
0x12 : D5 0x30 # SMC: jump L1 | |
: L4 | |
delay := v0 | |
again | |
: Sub1 | |
if vB == 35 then return | |
if vC == 1 then return | |
if v5 != 3 then jump L5 | |
Sub7 | |
if vA == v9 then return | |
v0 := vA | |
v0 += -1 | |
i := D32 | |
sprite vB v0 1 | |
sprite vB v0 1 | |
if vF == 1 then return | |
v9 := vB | |
Sub12 | |
vA += -5 | |
Sub12 | |
Sub6 | |
: L5 | |
vC += -5 | |
return | |
0x4b 0x23 0x0 0xee 0x4c 0x1a 0x0 0xee 0x35 0x3 0x13 0x12 0x24 0x85 0x9a 0x90 0x0 0xee 0x79 0x5 0xa8 0x16 0xdb 0x91 0xdb 0x91 0x4f 0x1 0x0 0xee 0x89 0xb0 0x27 0x63 0x7a 0x5 0x27 0x63 0x24 0x29 0x7c 0x5 0x0 0xee 0x4b 0x5 0x0 0xee 0x35 0x3 0x13 0x3c 0x24 0xc9 0x99 0x60 0x0 0xee 0x80 0x90 0x70 0xff 0xa8 0x17 0xd0 0xc3 0xd0 0xc3 0x4f 0x1 0x0 0xee 0x8a 0xc0 0x27 0x63 0x79 0xf3 0x27 0x63 0x24 0x29 0x7b 0xfb 0x0 0xee 0x4c 0xb 0x13 0x4e 0x0 0xee 0x4b 0x1e 0x13 0x40 0x4b 0x23 0x0 0xee 0x35 0x3 0x13 0x72 0x24 0xc9 0x99 0x60 0x0 0xee 0x76 0x5 0xa8 0x17 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x0 0xee 0x8a 0xc0 0x27 0x63 0x79 0xfd 0x27 0x63 0x24 0x29 0x46 0x23 0x13 0x76 0x7b 0x5 0x0 0xee 0x7b 0x5 0x86 0xb0 0x8b 0x90 0x7b 0xf3 0xa8 0x16 0xdb 0xc1 0xdb 0xc1 0x4f 0x0 0x13 0x92 0xa8 0x12 0xdb 0xc5 0xdb 0xc5 0x4f 0x1 0x13 0xb0 0x4b 0x5 0x13 0x9a 0x7b 0xfb 0x13 0x7e 0x8b 0x80 0x2d 0x54 0x68 0x9 0x37 0x0 0x68 0x16 0x47 0x1 0x68 0x10 0x2d 0xbc 0x6a 0xb 0x88 0xb0 0x66 0xff 0x63 0x0 0x8b 0x60 0x62 0xb 0xf2 0x18 0xf2 0x15 0x79 0xf8 0x27 0x63 0x73 0x1 0x23 0xd4 0x33 0xb 0x13 0xb8 0x0 0xee | |
: Sub2 | |
v0 := 1 | |
buzzer := v0 | |
v8 := 44 | |
Sub15 | |
: Sub3 | |
v0 := 33 | |
: Sub4 | |
delay := v0 | |
: Sub5 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: L6 | |
loop | |
if v5 key then | |
again | |
i := D28 | |
sprite vB vC 5 | |
Sub14 | |
v8 := 29 | |
Sub15 | |
v9 := key | |
v8 := 29 | |
Sub15 | |
if v9 != 10 then jump L7 | |
Sub2 | |
jump L36 | |
: L7 | |
Sub15 | |
v9 := key | |
v8 := 37 | |
Sub15 | |
if v9 != 10 then jump L8 | |
Sub2 | |
jump L17 | |
: L8 | |
Sub14 | |
0x12 : D6 0x7a # SMC: jump L2 | |
0x30 0x36 0x28 0x24 0x30 0x34 0x28 0x78 0x2e 0x36 0x28 0x76 0x2e 0x34 0x28 | |
: D7 | |
0x0 | |
: D8 | |
0x0 0x0 | |
: D9 | |
0x36 0x3b 0x14 0x2c 0x31 0x8 | |
: D10 | |
0x0 | |
: D11 | |
0x0 0x0 0x2c 0x31 | |
: Sub6 | |
i := D8 | |
load v4 | |
buzzer := v5 | |
vD += 1 | |
i := D7 | |
bcd vD | |
if v1 == 9 then jump L9 | |
i := hex v1 | |
sprite v3 v4 5 | |
v1 += 1 | |
i := hex v1 | |
sprite v3 v4 5 | |
return | |
: L9 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
i := D8 | |
load v1 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
if vD == 100 then jump L10 | |
return | |
: L10 | |
i := D11 | |
load v3 | |
vD := 0 | |
v7 += 1 | |
if v7 == 100 then v7 := 0 | |
i := D10 | |
bcd v7 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
i := D11 | |
load v1 | |
i := hex v0 | |
sprite v2 v4 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
return | |
: Sub7 | |
v8 := 1 | |
vA := vC | |
v9 := vC | |
i := D31 | |
sprite vB v9 5 | |
sprite vB v9 5 | |
if vF == 1 then jump L11 | |
v9 += 5 | |
sprite vB v9 5 | |
sprite vB v9 5 | |
if vF == 1 then jump L11 | |
v9 += 5 | |
v8 += 2 | |
return | |
: L11 | |
i := D32 | |
sprite vB vA 1 | |
sprite vB vA 1 | |
if vF == 1 then jump L12 | |
vA += -5 | |
sprite vB vA 1 | |
sprite vB vA 1 | |
if vF == 1 then jump L12 | |
vA += -5 | |
v8 += 2 | |
return | |
: L12 | |
v0 := v9 | |
v0 -= vA | |
if v0 == 10 then v8 += 2 | |
return | |
0x68 0x0 0x4c 0xb 0x78 0x4 0x89 0xb0 0x86 0xb0 0xa8 0x1a 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x14 0xed 0x76 0x5 0xd6 0xc3 0xd6 0xc3 0x4f 0x1 0x14 0xed 0x76 0x5 0x78 0x2 0x0 0xee 0xa8 0x17 0xd9 0xc3 0xd9 0xc3 0x4f 0x1 0x15 0x7 0x79 0xfb 0xd9 0xc3 0xd9 0xc3 0x4f 0x1 0x15 0x7 0x79 0xfb 0x78 0x2 0x0 0xee 0x80 0x60 0x80 0x95 0x40 0xa 0x78 0x2 0x0 0xee | |
: L13 | |
Sub14 | |
buzzer := v9 | |
v8 := 54 | |
Sub15 | |
v0 := 45 | |
: L14 | |
Sub4 | |
: L15 | |
clear | |
i := D40 | |
load vA | |
loop | |
delay := v3 | |
i := D41 | |
i += v2 | |
load v1 | |
i := D37 | |
i += v0 | |
Sub5 | |
sprite v4 vA 7 | |
i += v1 | |
sprite v9 vA 7 | |
buzzer := vA | |
v4 += 8 | |
v9 += -8 | |
v2 += 2 | |
if v2 != 8 then | |
again | |
v0 := 10 | |
Sub4 | |
v8 := 77 | |
Sub15 | |
Sub13 | |
if v0 != v1 then jump L52 | |
Sub3 | |
v8 := 97 | |
Sub15 | |
v0 := key | |
: L17 | |
0x0 : D12 0xe0 # SMC: clear | |
v0 := 15 | |
Sub4 | |
i := D39 | |
load v1 | |
i := L41 | |
save v1 | |
i := D25 | |
load v5 | |
i := D33 | |
loop | |
sprite v5 v4 6 | |
v5 += 8 | |
if v5 != 64 then | |
again | |
loop | |
sprite v4 v0 13 | |
sprite v4 v1 12 | |
v4 += 8 | |
if v4 != 40 then | |
again | |
: L20 | |
v2 += 6 | |
v1 := 8 | |
i := D18 | |
if v2 == 32 then i := D17 | |
sprite v2 v1 5 | |
i := D29 | |
i += v3 | |
v3 += 1 | |
load v0 | |
i := D27 | |
if v0 != 0 then sprite v2 v1 4 | |
if v2 == 32 then jump L22 | |
v1 := 7 | |
i := D29 | |
i += v3 | |
load v0 | |
: L21 | |
loop | |
v1 += 6 | |
if v1 == 31 then jump L20 | |
i := D16 | |
sprite v2 v1 6 | |
if v0 == 0 then jump L21 | |
i := D26 | |
sprite v2 v1 5 | |
v0 += -1 | |
again | |
: L22 | |
v8 := 60 | |
Sub15 | |
i := D38 | |
load vE | |
v7 := 10 | |
: L23 | |
Sub8 | |
loop | |
i := D15 | |
sprite v7 vB 1 | |
Sub5 | |
v9 := key | |
sprite v7 vB 1 | |
if v9 == 1 then jump L13 | |
if v9 == 10 then jump L34 | |
v0 := 6 | |
delay := v0 | |
Sub9 | |
v6 := 0 | |
if v9 == 5 then jump L25 | |
if v9 == 8 then jump L26 | |
if v9 == 9 then jump L27 | |
if v9 != 7 then jump L23 | |
if v7 == 10 then jump L23 | |
vC += -1 | |
v7 += -6 | |
v6 := -1 | |
v5 := 116 | |
jump L29 | |
: L25 | |
if vB == 10 then jump L23 | |
vD += -1 | |
vB += -6 | |
v6 := -1 | |
v5 := 186 | |
jump L30 | |
: L26 | |
if vB == 28 then jump L23 | |
if v7 == 34 then jump L23 | |
vD += 1 | |
vB += 6 | |
v5 := 70 | |
jump L30 | |
: L27 | |
if v7 == 34 then jump L23 | |
if v7 != 28 then jump L28 | |
if vB != 10 then jump L23 | |
: L28 | |
vC += 1 | |
v7 += 6 | |
v5 := 140 | |
: L29 | |
Sub10 | |
: L30 | |
Sub10 | |
jump L23 | |
: Sub8 | |
v0 := vC | |
v1 := vD | |
i := D23 | |
save v1 | |
: Sub9 | |
i := D9 | |
load v5 | |
if vE == 0 then jump L31 | |
i := D12 | |
sprite v0 v5 1 | |
v5 += -2 | |
v0 := vE | |
if v0 == 10 then v0 := 15 | |
i := hex v0 | |
sprite v1 v5 5 | |
: L31 | |
i := D23 | |
load v1 | |
i := hex v1 | |
sprite v4 v5 5 | |
i := hex v0 | |
sprite v3 v5 5 | |
return | |
: Sub10 | |
i := L41 | |
load v1 | |
v2 := v6 | |
v1 += v5 | |
if vF == 1 then jump L32 | |
if v6 == -1 then v0 += -1 | |
jump L33 | |
: L32 | |
if v6 == 0 then v0 += 1 | |
: L33 | |
i := L41 | |
save v1 | |
return | |
: L34 | |
if vF == 1 then jump L35 | |
Sub14 | |
buzzer := v9 | |
v8 := 48 | |
Sub15 | |
v0 := 45 | |
Sub4 | |
v8 := 48 | |
Sub15 | |
Sub14 | |
again | |
: L35 | |
Sub14 | |
Sub2 | |
vE += 1 | |
: L36 | |
clear | |
Sub14 | |
v8 := 0 | |
Sub15 | |
Sub9 | |
v8 := vE | |
v8 += -1 | |
v0 <<= v0 | |
v8 += v0 | |
v8 &= v5 | |
v8 <<= v8 | |
i := D3 | |
load v7 | |
i := D4 | |
i += v8 | |
load v3 | |
v5 := v1 | |
v7 := v3 | |
i := D3 | |
save v7 | |
i := D21 | |
load vC | |
i := D8 | |
save v1 | |
i := D11 | |
save v1 | |
i := D34 | |
Sub11 | |
v2 := 15 | |
i := D36 | |
Sub11 | |
i := hex vC | |
loop | |
sprite v3 v5 5 | |
v3 += 5 | |
if v3 != 64 then | |
again | |
i := D20 | |
sprite v4 vC 10 | |
sprite v4 v6 10 | |
sprite v4 v5 12 | |
sprite vC vC 10 | |
sprite vC v6 10 | |
sprite vC v5 12 | |
i := D33 | |
loop | |
sprite v7 vA 15 | |
sprite v7 v8 15 | |
v7 += 8 | |
if v7 != 36 then | |
again | |
i := D14 | |
sprite v4 v6 7 | |
: L39 | |
v8 := -1 | |
loop | |
if vB != 0 then jump L42 | |
vB := 8 | |
: L41 | |
i := D42 | |
i += vC | |
load v0 | |
vD := v0 | |
vC += 1 | |
: L42 | |
vB += -1 | |
vD >>= vD | |
if vF == 0 then jump L43 | |
v8 += 1 | |
if v8 != 3 then | |
again | |
: L43 | |
if v8 == -1 then jump L44 | |
if vA == 11 then v8 += 4 | |
Sub12 | |
v8 >>= v8 | |
if vF == 1 then jump L44 | |
v9 += -3 | |
v8 >>= v8 | |
if vF == 1 then v9 += 5 | |
: L44 | |
v9 += 5 | |
if v9 != 35 then jump L39 | |
v9 := 5 | |
vA += 5 | |
if vA != 31 then jump L39 | |
i := D22 | |
load vD | |
Sub15 | |
jump L8 | |
: Sub11 | |
v0 := 41 | |
loop | |
sprite v0 v2 4 | |
v0 += 8 | |
if v0 == 65 then return | |
i += v7 | |
again | |
: D13 | |
0x2d 0x1f 0x1b 0x24 | |
: Sub12 | |
i := D2 | |
i += v8 | |
load v1 | |
v0 := v8 | |
v0 >>= v0 | |
if vF == 1 then jump L46 | |
i := D13 | |
i += v0 | |
load v0 | |
i := D19 | |
i += v1 | |
sprite v9 vA 5 | |
i += v0 | |
v9 += 8 | |
sprite v9 vA 5 | |
return | |
: L46 | |
i := D19 | |
i += v1 | |
sprite v9 vA 15 | |
return | |
: D14 | |
0xd0 | |
: D15 | |
0x80 0x80 0x80 0x80 0x80 0xd0 | |
: D16 | |
0x20 | |
: D17 | |
0xf8 0x88 0x88 0x88 | |
: D18 | |
0xf8 0x88 0x8c 0x88 | |
: D19 | |
0xf8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 | |
: D20 | |
0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0xf8 0x88 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0x88 0xf8 0x88 0xc8 0xa8 0x98 0x88 0xc8 0xa8 0x98 0x88 0xc8 0xa8 0x98 0x88 0xf8 0x88 0xa8 0xa8 0x88 0x88 0xa8 0xa8 0x88 0xf8 0x0 0x0 0x0 | |
: D21 | |
0x0 0x0 0x1 0x2c | |
: D22 | |
0x23 0x14 0xa 0x4 0x10 0x5 0x1 0x0 0x0 | |
: D23 | |
0x0 0x0 0x5 0x1 | |
: D24 | |
0x0 0x9 0x5 0x8 0xa 0x1 | |
: D25 | |
0x7 0x14 0x2 0x0 | |
: D26 | |
0x0 | |
: D27 | |
0x0 0x70 0x70 | |
: D28 | |
0x70 0xf8 0xf8 0xf8 | |
: D29 | |
0x70 | |
: D30 | |
0x0 0x0 0x0 0x0 0xf8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xd8 0xf8 0x0 | |
: D31 | |
0x0 0x0 0x0 0x0 | |
: D32 | |
0x20 0x0 0x0 0x80 0x0 0x0 0x8 0xff 0x88 0x91 0xa2 0xff 0x80 0xb3 0x80 0xff 0xff 0x80 | |
: D33 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfd 0xfc 0x80 0xfc 0xfd 0xfe 0x8a 0x12 0x22 0xfe 0x2 0x9a 0x2 0xfe 0xfe 0x2 0xfe 0xfe 0xee 0xe6 0x2 0xe6 0xee 0xc0 0x40 0x40 0x40 0xc0 0xc0 0x40 0xc0 0xc0 | |
: D34 | |
0x83 0xe4 0x94 0xe3 0x33 0x8a 0xaa 0x1a 0x8 0x38 0x48 | |
: D35 | |
0x38 0x38 0x38 0x38 0x38 0x38 | |
: D36 | |
0xf1 0xaa 0xaa 0xa9 0x94 0x55 0x49 0x88 0x8c 0x50 0x4 0xd8 | |
: D37 | |
0xfc 0xe6 0xe6 0xe4 0xf8 0xec 0xe6 0xe6 0xe6 0xfe 0xe6 0xe6 0xe6 0xe6 0xe6 0xe6 0x7c 0xe6 0xe0 0x7c | |
: D38 | |
0x6 0xe6 0x7c 0xe6 0xe6 0xe6 0xe6 0xe6 0x7c | |
: D39 | |
0xa8 0xa0 0xa 0x1 | |
: D40 | |
0xa | |
: D41 | |
0x0 0x0 0xa 0x0 0x10 0x6 0x6 0x0 0x39 0x1 | |
: D42 | |
0xe1 0x9f 0x47 0x0 0x86 0x38 0x0 0xe3 0x30 0x1f 0x73 0x60 0x4a 0x0 0x0 0xa0 0x47 0xbc 0x1 0x1 0x0 0xcf 0x3 0x8 0xec 0xc0 0x38 0x0 0x79 0x7b 0x3c 0x31 0xc7 0x10 0x4 0x19 0xf1 0xaf 0xa7 0x61 0x0 0x7 0xd6 0x86 0x21 0x46 0x60 0x0 0x0 0xe8 0x69 0xda 0x88 0xda 0xe5 0x0 0x56 0x58 0xf1 0xfb 0x83 0x31 0x0 0x4d 0xe1 0x3f 0x38 0xb0 0x22 0x0 0xdf 0x3 0x8 0xec 0xc0 0x38 0x0 0x8b 0xe7 0x11 0xe0 0x60 0xe 0x0 0x35 0x8c 0x37 0x79 0x82 0x25 0x1 0xd 0xd0 0xd6 0x46 0x30 0x5 0x0 0x4a 0xfd 0xff 0x7 0x1b 0x90 0x2 0xb5 0x9f 0xb0 0xf 0xe 0x8 0x0 0x3b 0xa8 0x86 0x3c 0x67 0x3b 0x0 0xed 0x9 0x3e 0x38 0x84 0x3 0x0 0x2c 0x30 0x16 0x34 0xe 0x0 0x0 0xe3 0x34 0x1a 0xf 0xb0 0xe0 0x0 0xed 0x79 0x20 0x38 0x0 0x1c 0x0 0xec 0xc6 0x27 0x18 0x4d 0xe6 0x0 0xdc 0xb3 0x20 0x6c 0x41 0x1c 0x0 0x2c 0x6 0xd3 0x8 0x67 0x2 0x0 0x4d 0xe1 0x3f 0xe3 0x30 0xb 0x2 0xe6 0xc6 0x9e 0xd8 0xe 0xc6 0x10 0xeb 0x11 0x1a 0x8f 0x30 0xe0 0x0 0x37 0x78 0x5 0x9b 0x9e 0x53 0x0 0xe7 0x31 0x84 0xad 0x68 0x76 0x0 0x6f 0x87 0x21 0x94 0x7 0xa 0x0 0x39 0xac 0xc5 0xf3 0x9 0x70 0x0 0xfd 0x2 0x82 0xd5 0x63 0x4 0x0 0xf6 0x2 0x82 0xd5 0x6b 0x73 0x0 0xe3 0x30 0x1f 0x73 0x83 0x29 0x1 0x7c 0x8f 0x11 0xec 0xd0 0x26 0x0 0x7f 0x59 0x9e 0xb8 0xc1 0x14 0x0 0x4d 0xf1 0xff 0xc1 0x81 0x15 0x1 0xe3 0x34 0x1a 0x8f 0xb0 0xe0 0x0 0xec 0x30 0x1a 0x9f 0x6c 0x41 0x0 0x9f 0xb1 0xf1 0xc8 0xd 0xa6 0x4 0x7a 0xc0 0x2f 0xf0 0x1 0x10 0x0 0xec 0xf0 0x9 0x46 0x93 0x39 0x0 0xd 0xa6 0x7f 0x61 0xc1 0x56 0x0 0xf7 0x1b 0x43 0x4c 0xd9 0x8 0xe 0xe6 0x9e 0x8d 0xa0 0x9e 0x25 0x0 0xec 0x62 0x16 0x6c 0x3d 0xe2 0x0 0x67 0xdb 0xc1 0xb7 0x0 0xeb 0x0 0xea 0xf 0x2c 0x59 0x7 0xa 0x0 0xde 0x1a 0x36 0x62 0xcd 0x18 0x70 0x5a 0x62 0x7c 0xc2 0xf 0x28 0x0 0x6d 0xc 0x69 0xd3 0x80 0xd6 0x1 0xf6 0x82 0xd2 0xef 0xd0 0x80 0x0 0xeb 0x7 0x68 0x30 0xc7 0x5a 0x0 0x73 0x3 0xfa 0x6d 0xc1 0xe6 0x28 0xbb 0xe7 0x68 0x3 0xe2 0x86 0x0 0xbf 0xf5 0x30 0x1a 0x4c 0x18 0x7 0xd 0x3f 0xfe 0x9 0x7 0x56 0x4 0xdf 0xc6 0xf0 0xc8 0xd 0xa6 0x4 0x4b 0xea 0x63 0x2c 0xd8 0xa 0x0 0xd6 0x30 0x16 0xb4 0x7e 0x84 0x3 0x6b 0xde 0x80 0xa6 0x1f 0x50 0x2 0xd3 0x73 0xb4 0x1 0x71 0xe3 0x0 0x56 0x64 0x6d 0x40 0xd3 0xe6 0x0 0x6b 0x81 0xb5 0x64 0x2d 0xe0 0x0 0x2b 0xec 0xf2 0xb6 0x8c 0x61 0x1c 0xbf 0x1b 0x3c 0xb1 0x6 0x1c 0x5 0xb7 0x11 0xbe 0xc1 0x84 0x76 0x0 0x6a 0x6c 0x84 0x7f 0xb 0xa2 0x3 0x3b 0xd8 0x17 0xd6 0x60 0x18 0x7 0x5b 0x1e 0xe8 0x93 0x35 0x8c 0x3 0x5b 0xf1 0x4a 0x9f 0xb1 0x80 0x3 0x56 0xac 0xf 0xbe 0x1 0x39 0x0 0xf3 0x82 0x7d 0x60 0x67 0x2c 0x1 0x2e 0xd6 0x92 0xb5 0xbd 0xd0 0x1 0xb7 0x2d 0xc8 0x58 0x62 0x2d 0x0 0xa 0x3f 0x82 0xac 0xc5 0x1c 0x0 0xdc 0x33 0x20 0x6d 0x6c 0xc4 0x1 0x56 0x58 0xf1 0xfe 0x3c 0x3 0x2 0x4d 0x50 0x63 0x4f 0x34 0x13 0x0 0x37 0xcf 0x90 0x58 0xcd 0x4 0x1 0x6f 0xd 0x71 0xbf 0xc 0x3 0x1c 0x3f 0x42 0xef 0xa6 0xd 0x48 0x1 0xdc 0xf3 0xc9 0x80 0xdc 0x38 0x0 0xee 0x47 0x34 0xfe 0x89 0x1d 0xa 0xf8 0xc0 0x1f 0x66 0x1 0xe 0x0 0xc7 0x1f 0xfe 0xb0 0x62 0x2b 0x0 0xbb 0xbd 0x83 0x25 0xf 0x74 0x0 0xbe 0x46 0xcf 0x59 0x83 0x29 0x1 0xc7 0x3 0x87 0x6d 0x87 0x25 0x0 0xe6 0xb0 0xf7 0xc1 0x79 0x6 0x4 0xac 0x61 0x73 0xec 0x8b 0x11 0x4 0x6d 0xc 0x71 0x3b 0x2f 0xac 0x0 0xdf 0x19 0x9e 0xe6 0xc0 0x2e 0x2 0xec 0xb2 0xff 0xf 0x3e 0x0 0xa 0xf8 0x62 0xe 0xac 0x1f 0xe0 0x0 0x56 0xdc 0xff 0xa1 0xb0 0x15 0x0 0x7f 0x5e 0xd0 0xe8 0x81 0xe0 0x0 0xfc 0x61 0x5 0xd3 0xde 0xd1 0x1 0x66 0x41 0x7f 0x23 0x9e 0x25 0x0 0xed 0x79 0x20 0xe0 0xce 0x76 0x0 0xe9 0x6b 0x6e 0x3c 0x52 0x5c 0x0 0xbf 0x1b 0x3d 0xb1 0x6 0x9c 0x3 0x3f 0xb 0x70 0xd3 0x78 0xa4 0x3 0xd6 0x86 0x71 0xac 0x65 0xc 0x1 0xbb 0xe7 0x68 0x3 0xe2 0xc6 0x1 0xeb 0x37 0x86 0xd8 0x3b 0x38 0x38 0xbf 0x83 0x3d 0xf1 0x4 0x4b 0x4 0x4d 0xe1 0x3f 0xe3 0xc0 0x8a 0x0 0x67 0xdb 0xc1 0x5a 0x1e 0xe8 0x0 0xdd 0xcf 0x51 0x9a 0xc6 0xe9 0x0 0xdc 0xb3 0xe4 0xf9 0x0 0xe1 0x0 0x37 0xbf 0xc0 0x27 0xc0 0x71 0x0 0xac 0xc1 0xbb 0xf9 0xf 0x26 0x14 0xd3 0xc6 0x80 0x76 0xf 0x53 0x0 0xce 0x63 0x13 0xac 0xb0 0x15 0x0 0xbd 0x3d 0x80 0xe0 0x5b 0x10 0x0 0xb5 0x5 0x4f 0xe3 0xb0 0x15 0x0 0xbf 0xa2 0xa7 0x71 0x3c 0xb 0x2 0x37 0xbf 0xc0 0x7 0xb 0x50 0x0 0xb7 0xff 0x5 0xa2 0xc1 0x84 0x2 0xec 0xc6 0x27 0x2c 0x63 0x19 0x7 0x33 0xc1 0xbe 0x21 0xb9 0x21 0x1 0xb7 0x5f 0xf0 0x32 0x80 0x5d 0x4 0xb3 0x1e 0x59 0x3 0xca 0x88 0x0 0x56 0xf 0x2f 0x28 0x6c 0x5 0x0 0xb6 0x43 0x6b 0xc8 0x6f 0xb 0x10 0x37 0x6b 0x8 0x1b 0xa0 0x0 0x0 0xcf 0x2 0xb4 0x39 0xde 0x16 0x0 0xd7 0x7f 0x43 0x60 0x6b 0x40 0x1 0x7e 0x1a 0x3d 0xd1 0x6 0xa4 0x0 0x4d 0xf 0x4f 0xe3 0xc0 0xa 0x0 0x3b 0xd8 0x17 0x18 0xd1 0x76 0x0 0x6f 0x87 0xa6 0x4d 0x80 0x5 0x1 0x5b 0x31 0x3e 0xa6 0xc0 0x12 0x0 0x67 0x3 0x3e 0x66 0x87 0xad 0x8 0x76 0x1b 0x43 0xde 0xe 0xc6 0x10 0xf9 0x1 0x3e 0xb0 0x43 0x3b 0x0 0x19 0x8b 0xe7 0x13 0xe0 0x38 0x0 0xec 0xf2 0xb3 0x0 0x95 0x15 0x0 0x59 0x43 0x1a 0x33 0x1e 0x29 0x0 0x9a 0xdf 0x80 0x66 0xd 0x26 0x1c 0x56 0x58 0x1f 0x9c 0x67 0x9 0x0 0x37 0x16 0xb4 0x7d 0x3 0xa2 0x0 0x3 0xee 0xbf 0x8d 0x0 0x4b 0x0 0xdf 0x30 0xa2 0x69 0x3c 0x52 0x0 0x56 0xaf 0x7f 0xc2 0xc1 0x6 0x4 0x56 0x58 0xb1 0xff 0x83 0x5 0x1 0x76 0x83 0xf9 0x18 0xb 0xd6 0x1 0xdf 0x92 0xa7 0xd1 0x80 0xa6 0x0 0xbf 0xc2 0x9e 0xd0 0x78 0x44 0x1 0xb5 0x1 0x68 0xef 0xb0 0x5 0x1 0x5b 0xf1 0xa 0x32 0xbf 0xe0 0x0 0xfc 0x82 0x9 0x56 0xaf 0x71 0x0 0x58 0x3f 0x86 0xbc 0xc2 0x12 0x1 0x2d 0xf1 0x3e 0xe6 0xc0 0x88 0x0 0xec 0x60 0x34 0x1a 0x6f 0xc2 0x1 0xdc 0xb3 0x8c 0xb0 0x5 0x71 0x0 0x76 0x3 0xb4 0x7d 0x8f 0x11 0x1c 0x6b 0xf1 0x7c 0x80 0x60 0x1d 0x0 0x4d 0xf1 0x5e 0x38 0xc3 0x88 0x0 0x3c 0x80 | |
: D43 | |
0xf0 0x7 0x4 0x7 0x0 0xbd 0x7 0x4 0x80 0x5 0x0 0x0 0xc7 0x33 0x24 0xef 0x1 0xe0 0x0 0xdf 0x7 0x26 0x34 0x86 0x1c 0x0 0x73 0x90 0xdb 0x34 0x1e 0x39 0x0 0xeb 0x87 0x21 0x8c 0x8f 0x61 0x8 0xb5 0x27 0xf8 0x60 0x6c 0x44 0x1 0xbf 0xf5 0x80 0x36 0xd 0xb8 0xe 0xfe 0x36 0x3c 0xf2 0xd 0x8 0x7 0x37 0xde 0x60 0x7a 0x62 0xc1 0x5 | |
: Sub13 | |
i := D46 | |
load v0 | |
v0 += 1 | |
v1 := v0 | |
i := D46 | |
load v0 | |
return | |
: Sub14 | |
v2 := 59 | |
v1 := 26 | |
i := D20 | |
loop | |
v0 := 2 | |
delay := v0 | |
sprite v2 v1 6 | |
Sub5 | |
v2 += -5 | |
if v2 != 39 then | |
again | |
i := D35 | |
sprite v2 v1 6 | |
return | |
: D44 | |
0x82 0x2 0x2 0x3 0x0 0x40 0x84 0xc4 0xa4 0xa0 0xa0 0x64 0xa0 0x2 0x43 0x0 0x40 0x82 0x82 0x0 0x80 0x85 0xe5 0x90 0xe0 0x84 0xa0 0xc0 0xa4 0xa4 0x40 0x40 0xa4 0xa0 0x40 0x80 0x44 0xa0 0x20 0xc3 0x83 0x80 0x80 0x43 0x83 0xc0 0x80 0x44 0xa0 0x80 0x64 0x80 0x80 0x65 0x90 0x90 0x64 0x80 0x20 0xc4 0x20 0xa0 0x60 0xe4 0x20 0x80 0xe0 0x15 0x75 0x90 0x70 0x10 0xf6 0xa8 0xae 0xa8 0x50 0x50 | |
: Sub15 | |
i := L49 | |
i += v8 | |
load v5 | |
: Sub16 | |
v8 += 2 | |
vA := -8 | |
loop | |
v6 := 3 | |
delay := v6 | |
i := D45 | |
i += v8 | |
v8 += 1 | |
load v0 | |
v0 <<= v0 | |
v6 := vF | |
v0 >>= v0 | |
i := D44 | |
i += v0 | |
load v3 | |
if v6 == 0 then v6 := v0 | |
v0 &= vA | |
v1 &= vA | |
v2 &= vA | |
v3 &= vA | |
i := D1 | |
save v3 | |
i := D1 | |
sprite v4 v5 4 | |
if v6 == 1 then return | |
v4 += v6 | |
v4 -= v0 | |
: L49 | |
Sub5 | |
again | |
: D45 | |
0x2a 0x1b 0x4a 0x3b 0x12 0x2c 0x2 0x2 0x82 0x2d 0x1b 0x7 0x12 0x32 0x2f 0x91 0x2d 0x1b 0x32 0x35 0x35 0xa8 0x2d 0x1b 0x16 0x2b 0x2b 0x2c 0x91 0x2a 0x1b 0x27 0x2f 0x2c 0x27 0x20 0x8b 0x2a 0x1b 0x44 0x8 0x12 0x2c 0x8b 0x30 0x1b 0x35 0x99 0x2d 0x1b 0x28 0x35 0x32 0x99 0x2c 0x1b 0x15 0x3b 0x32 0x99 0x2 0x1 0x32 0x6 0x35 0x35 0x38 0x2f 0x1 0x15 0x35 0x3b 0x27 0x43 0x38 0x2f 0xac 0x1 0xa 0x2c 0x27 0x3b 0x2b 0x2b 0x12 0x32 0x1 0xe 0x3b 0x48 0x1 0x16 0x8 0x3f 0x3f 0x28 0xaf 0xc 0x18 0x16 0x27 0x2f 0x38 0x38 0x1 0x3b 0x1 0x19 0x2f 0xa0 0xd 0x3 0x4a 0x2f 0x28 0x28 0x1 0x43 0x35 0x7 0x2f 0x91 0x1 0xa 0x8 0x7 0x28 0x35 0x32 0x19 0x2f 0x43 0x1 0x7 0x2f 0x1d 0x2c 0x1 0x38 0x2f 0xac 0x2 0x11 0x16 0x3b 0x38 0x38 0x4a 0x35 0x27 0x43 0x8d 0x30 0x1b 0x7 0xb5 0x18 0x12 0x16 0x28 0x3b 0xa0 0x14 0x18 0x8 0x7 0x28 0x35 0x32 0x99 0x1 0xa 0x35 0x27 0x12 0x24 0xd 0x1 0x7 0x35 0x15 0x3 0x2c 0x6 0x12 0x7 0x19 0x2b 0x8 0x87 0x2 0x11 0x2b 0x35 0x27 0x1 0x0 0x32 0x6 0x12 0x16 0x0 0x1 0x15 0x20 0x1 0x6 0x3b 0x16 0x82 | |
: L50 | |
clear | |
v8 := 170 | |
Sub15 | |
Sub3 | |
Sub15 | |
v0 := 110 | |
jump L14 | |
0x60 0x13 0x23 0xd2 0x2d 0xbc 0xa8 0x3 0xf3 0x65 0x80 0xe 0x80 0xe 0x80 0x11 0x83 0x3e | |
: D46 | |
0x83 0x3e 0x83 0x21 0x61 0xa 0x62 0x5 0x82 0x3 0x81 0x33 0xa2 0x8 0xf3 0x55 0x63 0x2b 0x61 0x10 0x62 0x0 0xa2 0x8 0xf2 0x1e 0xf0 0x65 0xf0 0x29 0x60 0x11 0x23 0xd2 0xd3 0x15 0x73 0x5 0x72 0x1 0x32 0x4 0x1f 0x6 0x0 0xee | |
: Sub17 | |
i := D33 | |
v0 := 16 | |
loop | |
sprite v0 v1 6 | |
v0 += 8 | |
if v0 != 48 then | |
again | |
return | |
: L52 | |
Sub3 | |
v8 := 156 | |
Sub15 | |
Sub15 | |
v1 := 17 | |
Sub17 | |
: L53 | |
loop | |
v3 := key | |
if v3 == 5 then jump L54 | |
if v3 == 8 then jump L55 | |
if v3 == 10 then jump L56 | |
jump L53 | |
: L54 | |
if v1 == 17 then jump L53 | |
Sub17 | |
v1 := 17 | |
Sub17 | |
jump L53 | |
: L55 | |
if v1 == 23 then jump L53 | |
Sub17 | |
v1 := 23 | |
Sub17 | |
again | |
: L56 | |
v0 := 1 | |
buzzer := v0 | |
v2 := 5 | |
loop | |
delay := v2 | |
Sub17 | |
v3 += -1 | |
Sub5 | |
if v3 != 0 then | |
again | |
if v1 == 17 then jump L17 | |
clear | |
v4 := 2 | |
v5 := 14 | |
v8 := 141 | |
Sub16 | |
i := D47 | |
load v8 | |
i := D43 | |
sprite v1 v3 1 | |
: L58 | |
v0 := key | |
i := D1 | |
i += v7 | |
v7 += 1 | |
save v0 | |
i := D43 | |
sprite v1 v3 1 | |
i := hex v0 | |
sprite v1 v2 5 | |
buzzer := v6 | |
if v7 == 4 then jump L60 | |
v1 += 5 | |
i := D43 | |
sprite v1 v3 1 | |
loop | |
if v0 key then | |
again | |
jump L58 | |
: L60 | |
Sub14 | |
i := D1 | |
load v3 | |
v1 ^= v4 | |
v2 ^= v5 | |
if v2 != v0 then jump L64 | |
if v1 != v3 then jump L64 | |
v1 := v0 | |
v2 := v3 | |
v0 >>= v0 | |
v0 >>= v0 | |
v3 >>= v3 | |
v3 >>= v3 | |
v1 &= v6 | |
v2 &= v6 | |
if v1 == 0 then jump L61 | |
if v0 == 0 then jump L64 | |
: L61 | |
if v2 == 0 then jump L62 | |
if v1 == 0 then jump L64 | |
: L62 | |
if v3 == 0 then jump L63 | |
if v2 == 0 then jump L64 | |
: L63 | |
i := D30 | |
save v3 | |
Sub2 | |
jump L17 | |
: L64 | |
buzzer := v4 | |
Sub15 | |
Sub3 | |
0x15 : D47 0x1d # SMC: jump L15 | |
0x2b 0xd 0x11 0xa 0x5 0x3 0x0 0x98 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Russian Roulette [Carmelo Cortez, 1978].ch8 | |
###################################################################### | |
:proto L3 # 232 | |
:proto L5 # 246 | |
:proto D1 # 25A | |
:proto D2 # 25F | |
:proto D3 # 264 | |
:proto D4 # 269 | |
:proto D5 # 26E | |
:proto D6 # 273 | |
:proto D7 # 278 | |
:proto D8 # 27D | |
:proto D9 # 282 | |
:proto Sub1 # 288 | |
:proto D10 # 292 | |
: main | |
v5 := 10 | |
: L1 | |
Sub1 | |
v2 := key | |
v3 := random 0b101 | |
if v3 == 4 then jump L3 | |
i := D1 | |
v1 := 16 | |
sprite v1 v3 5 | |
i := D2 | |
v1 := 24 | |
sprite v1 v3 5 | |
i := D3 | |
v1 := 32 | |
sprite v1 v3 5 | |
v4 := 48 | |
delay := v4 | |
loop | |
v4 := delay | |
if v4 != 0 then | |
again | |
clear | |
v5 += -1 | |
if v5 == 0 then jump L5 | |
jump L1 | |
: L3 | |
i := D4 | |
v1 := 16 | |
sprite v1 v3 5 | |
i := D5 | |
v1 := 24 | |
sprite v1 v3 5 | |
i := D6 | |
v1 := 32 | |
sprite v1 v3 5 | |
loop | |
again | |
: L5 | |
i := D7 | |
v1 := 16 | |
sprite v1 v3 5 | |
i := D8 | |
v1 := 24 | |
sprite v1 v3 5 | |
i := D9 | |
v1 := 32 | |
sprite v1 v3 5 | |
loop | |
again | |
: D1 | |
0xe8 0x88 0x88 0x88 0xee | |
: D2 | |
0xee 0x48 0x48 0x48 0xee | |
: D3 | |
0xaa 0xca 0xca 0xc0 0xaa | |
: D4 | |
0xf7 0x55 0x77 0x55 0xf5 | |
: D5 | |
0x65 0x65 0x55 0x4d 0x4d | |
: D6 | |
0xd5 0x15 0x15 0x40 0xd5 | |
: D7 | |
0x8b 0x89 0x89 0xa9 0xdb | |
: D8 | |
0xb2 0x32 0x2a 0x26 0xa2 | |
: D9 | |
0xaa 0xaa 0xaa 0x0 0xaa 0x20 | |
: Sub1 | |
i := D10 | |
v6 := 24 | |
v7 := 16 | |
sprite v6 v7 7 | |
return | |
: D10 | |
0x8 0x2a 0x7f 0x63 0x6b 0x63 0x7f 0x7f 0x63 0x7f | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Sequence Shoot [Joyce Weisbecker].ch8 | |
###################################################################### | |
:proto L3 # 25A | |
:proto Sub1 # 270 | |
:proto Sub2 # 2AC | |
:proto L8 # 2BE | |
:proto L9 # 2D2 | |
:proto L11 # 2F0 | |
:proto Sub3 # 2F6 | |
:proto Sub4 # 312 | |
:proto Sub5 # 318 | |
:proto D1 # 321 | |
:proto D2 # 322 | |
:proto D3 # 326 | |
:proto D4 # 332 | |
:proto D5 # 33B | |
:proto L12 # 340 | |
:proto D6 # 380 | |
:proto D7 # 400 | |
: main | |
clear | |
vE := 0 | |
vD := 0 | |
i := D3 | |
v8 := 8 | |
v9 := 11 | |
sprite v8 v9 12 | |
i := D4 | |
v9 := 23 | |
sprite v8 v9 9 | |
i := D5 | |
v8 := 16 | |
v9 := 19 | |
sprite v8 v9 2 | |
v8 := 50 | |
v9 := 2 | |
Sub4 | |
v9 := 10 | |
Sub4 | |
v9 := 18 | |
Sub4 | |
v9 := 26 | |
Sub4 | |
Sub3 | |
v1 := -1 | |
: L1 | |
Sub5 | |
vC := 0 | |
vD += 1 | |
vA := vD | |
loop | |
Sub1 | |
vA += -1 | |
if vA != 0 then | |
again | |
v0 := 0 | |
i := D7 | |
i += vC | |
save v0 | |
Sub2 | |
if vA != 0 then jump L3 | |
Sub3 | |
vE += vD | |
Sub3 | |
if vE != 22 then jump L1 | |
: L3 | |
v2 := 18 | |
: L4 | |
buzzer := v2 | |
v1 := 26 | |
delay := v1 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
v2 += -2 | |
if v2 != 0 then jump L4 | |
loop | |
again | |
: Sub1 | |
vB := random 0b11 | |
vB += 12 | |
v0 := vB | |
i := D7 | |
i += vC | |
save v0 | |
vC += 1 | |
v1 := -1 | |
Sub5 | |
v8 := 50 | |
v9 := 26 | |
if vB == 12 then v9 := 2 | |
if vB == 13 then v9 := 10 | |
if vB == 14 then v9 := 18 | |
Sub4 | |
v1 := 96 | |
Sub5 | |
Sub4 | |
v1 := 15 | |
Sub5 | |
Sub4 | |
v1 := 15 | |
Sub5 | |
Sub4 | |
v1 := 15 | |
Sub5 | |
return | |
: Sub2 | |
vA := 0 | |
: L7 | |
i := D7 | |
i += vA | |
vA += 1 | |
load v0 | |
if v0 != 0 then jump L8 | |
vA := 0 | |
return | |
: L8 | |
vB := key | |
v1 := 2 | |
buzzer := v2 | |
vB -= v0 | |
if vB == 0 then jump L9 | |
v1 := -1 | |
Sub5 | |
vA := 1 | |
return | |
: L9 | |
v0 += -14 | |
v8 := 19 | |
v9 := 19 | |
i := D1 | |
loop | |
sprite v8 v9 1 | |
v1 := 8 | |
Sub5 | |
if vF == 1 then jump L11 | |
sprite v8 v9 1 | |
v1 := 8 | |
Sub5 | |
v8 += 4 | |
v9 += v0 | |
again | |
: L11 | |
v1 := 2 | |
buzzer := v1 | |
jump L12 | |
: Sub3 | |
i := D6 | |
bcd vE | |
load v2 | |
i := hex v0 | |
v8 := 16 | |
v9 := 2 | |
sprite v8 v9 5 | |
i := hex v1 | |
v8 += 6 | |
sprite v8 v9 5 | |
i := hex v2 | |
v8 += 6 | |
sprite v8 v9 5 | |
return | |
: Sub4 | |
i := D2 | |
sprite v8 v9 4 | |
return | |
: Sub5 | |
loop | |
v1 += -1 | |
if v1 != 0 then | |
again | |
return | |
0x1 | |
: D1 | |
0x80 | |
: D2 | |
0xf0 0xf0 0xf0 0xf0 | |
: D3 | |
0x7c 0x7c 0xfe 0x7c 0x7c 0x70 0x7c 0x38 0x7f 0x7f 0x7c 0x7c | |
: D4 | |
0x7c 0x7c 0x7c 0x38 0x38 0x38 0x38 0x38 0x3e | |
: D5 | |
0xe0 0x80 0x0 0xd4 0xd4 | |
: L12 | |
sprite v8 v9 1 | |
jump L7 | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D7 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Shooting Stars [Philip Baltzer, 1978].ch8 | |
###################################################################### | |
:proto L5 # 240 | |
:proto L6 # 244 | |
:proto L7 # 248 | |
:proto L8 # 24C | |
:proto L9 # 24E | |
:proto L10 # 25C | |
:proto D1 # 270 | |
:proto L11 # 272 | |
:proto L12 # 294 | |
:proto D2 # 2A0 | |
:proto L15 # 2B0 | |
:proto L17 # 2BE | |
:proto D3 # 2C5 | |
: main | |
v0 := 0 | |
: L1 | |
vE := 0 | |
v1 := 24 | |
v2 := 14 | |
i := D3 | |
sprite v1 v2 6 | |
v3 := random 0b110000 | |
v4 := random 0b11010 | |
loop | |
i := D3 | |
sprite v3 v4 3 | |
if vF != 0 then jump L12 | |
if vE != 0 then jump L9 | |
v1 := random 0b111111 | |
v2 := random 0b11111 | |
v9 := random 0b11 | |
v9 += 1 | |
vA := random 0b11 | |
vA += -4 | |
vB := v9 | |
vC := random 0b1 | |
if vC != 0 then jump L6 | |
: L3 | |
vC := random 0b1 | |
if vC != 0 then jump L7 | |
: L4 | |
vC := random 0b1 | |
if vC != 0 then jump L5 | |
v1 := 0 | |
jump L8 | |
: L5 | |
v2 := 0 | |
jump L8 | |
: L6 | |
v9 := vA | |
jump L3 | |
: L7 | |
vA := vB | |
jump L4 | |
: L8 | |
vE := -1 | |
: L9 | |
v1 += v9 | |
v2 += vA | |
vD := 8 | |
vB += vD | |
if vF == 0 then jump L10 | |
vE := 0 | |
: L10 | |
i := D1 | |
sprite v1 v2 1 | |
if vF == 0 then jump L11 | |
v0 += -1 | |
i := D3 | |
sprite v3 v4 3 | |
i := D2 | |
sprite v3 v4 5 | |
jump L17 | |
: D1 | |
0x2 0x0 | |
: L11 | |
i := D3 | |
sprite v3 v4 3 | |
v5 := 2 | |
v6 := 4 | |
v7 := 6 | |
v8 := 8 | |
if v5 key then v4 += -1 | |
if v6 key then v3 += -1 | |
if v7 key then v3 += 1 | |
if v8 key then v4 += 1 | |
i := D1 | |
sprite v1 v2 1 | |
again | |
: L12 | |
i := D2 | |
sprite v1 v2 5 | |
v0 += 1 | |
: L13 | |
i := hex v0 | |
sprite v8 v6 5 | |
jump L15 | |
: D2 | |
0x88 0x50 0x0 0x50 0x88 0x0 0x0 0x0 | |
: L14 | |
if v5 != v0 then jump L13 | |
v0 := 0 | |
jump L13 | |
: L15 | |
v5 := 64 | |
delay := v5 | |
loop | |
v5 := delay | |
if v5 != 0 then | |
again | |
clear | |
jump L1 | |
: L17 | |
v5 := -1 | |
jump L14 | |
0x0 0x0 0x0 | |
: D3 | |
0x3c 0x7e 0xff 0xff 0x7e 0x3c 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Slide [Joyce Weisbecker].ch8 | |
###################################################################### | |
:proto Sub1 # 258 | |
:proto L7 # 292 | |
:proto L11 # 2D4 | |
:proto L12 # 2D6 | |
:proto L14 # 2F8 | |
:proto Sub2 # 30E | |
:proto Sub3 # 328 | |
:proto L17 # 338 | |
:proto Sub4 # 34C | |
:proto D1 # 357 | |
:proto D2 # 359 | |
:proto D3 # 35C | |
:proto D4 # 360 | |
:proto D5 # 361 | |
:proto L19 # 366 | |
:proto L21 # 374 | |
:proto Sub5 # 37A | |
: main | |
clear | |
i := D4 | |
v8 := 0 | |
v9 := 0 | |
v2 := 1 | |
Sub2 | |
v2 := -1 | |
Sub2 | |
vA := 0 | |
vB := 0 | |
v4 := 6 | |
vC := 0 | |
Sub3 | |
vC := 1 | |
Sub3 | |
i := D2 | |
vD := 40 | |
vE := 18 | |
sprite vD vE 3 | |
vD := 48 | |
vE := 14 | |
sprite vD vE 3 | |
vE := 22 | |
sprite vD vE 3 | |
vD := 56 | |
vE := 10 | |
sprite vD vE 3 | |
vE := 26 | |
sprite vD vE 3 | |
loop | |
vC := 0 | |
vD := 3 | |
Sub1 | |
vC := 1 | |
vD := 59 | |
Sub1 | |
v4 += -1 | |
if v4 != 0 then | |
again | |
v2 := 15 | |
: L2 | |
buzzer := v2 | |
v1 := 24 | |
delay := v1 | |
jump L19 | |
0x12 0x56 | |
: Sub1 | |
v2 := 4 | |
Sub4 | |
i := D1 | |
vE := 3 | |
sprite vD vE 2 | |
v5 := 3 | |
: L3 | |
v6 := 0 | |
vE := 112 | |
i := D3 | |
v8 := 5 | |
v9 := 9 | |
sprite v8 v9 4 | |
: L4 | |
vD := 1 | |
: L5 | |
v1 := 17 | |
loop | |
v2 := random 0b11000 | |
v2 += 8 | |
Sub4 | |
sprite v8 v9 4 | |
v9 += vD | |
sprite v8 v9 4 | |
v1 += -1 | |
if v0 key then jump L7 | |
if v1 != 0 then | |
again | |
if vD == -1 then jump L4 | |
vD := -1 | |
jump L5 | |
: L7 | |
v2 := 2 | |
buzzer := v2 | |
: L8 | |
loop | |
v2 := 16 | |
Sub4 | |
if vE != 0 then vE += -2 | |
if v0 key then jump L8 | |
v2 := 16 | |
Sub4 | |
if v0 key then | |
again | |
v2 := 4 | |
Sub4 | |
: L9 | |
loop | |
v3 := vE | |
v3 += vE | |
v2 := v3 | |
Sub4 | |
vE += 2 | |
sprite v8 v9 4 | |
v8 += 1 | |
sprite v8 v9 4 | |
if vF == 1 then jump L14 | |
if vE != 112 then jump L9 | |
: L10 | |
v2 := 128 | |
Sub5 | |
Sub3 | |
if vC != 0 then jump L11 | |
vA += v6 | |
jump L12 | |
: L11 | |
vB += v6 | |
: L12 | |
Sub3 | |
: L13 | |
i := D3 | |
sprite v8 v9 4 | |
v2 := 32 | |
buzzer := v2 | |
v5 += -1 | |
if v5 != 0 then jump L3 | |
i := D1 | |
vE := 3 | |
vD := 3 | |
if vC != 0 then vD := 59 | |
sprite vD vE 2 | |
v2 := 4 | |
Sub4 | |
return | |
: L14 | |
v2 := 2 | |
buzzer := v2 | |
if v8 == 60 then jump L13 | |
if v8 == 37 then v6 += 2 | |
if v8 == 45 then v6 += 4 | |
if v8 == 53 then v6 += 8 | |
jump L21 | |
: Sub2 | |
v1 := 63 | |
loop | |
sprite v8 v9 1 | |
v1 += -1 | |
v8 += v2 | |
if v1 != 0 then | |
again | |
v1 := 31 | |
loop | |
sprite v8 v9 1 | |
v1 += -1 | |
v9 += v2 | |
if v1 != 0 then | |
again | |
return | |
: Sub3 | |
i := D5 | |
vE := 2 | |
vD := 8 | |
bcd vA | |
if vC == 0 then jump L17 | |
vD := 40 | |
bcd vB | |
: L17 | |
load v2 | |
i := hex v0 | |
sprite vD vE 5 | |
vD += 6 | |
i := hex v1 | |
sprite vD vE 5 | |
vD += 6 | |
i := hex v2 | |
sprite vD vE 5 | |
return | |
: Sub4 | |
v2 += 2 | |
loop | |
v2 += -1 | |
if v2 != 0 then | |
again | |
return | |
0x1 | |
: D1 | |
0xc0 0xc0 | |
: D2 | |
0xe0 0xa0 0xe0 | |
: D3 | |
0xf0 0xf0 0xf0 0xf0 | |
: D4 | |
0x80 | |
: D5 | |
0x0 0x0 0x4 0x0 0xd4 | |
: L19 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
v2 += -1 | |
if v2 != 0 then jump L2 | |
loop | |
again | |
: L21 | |
if vE != 112 then | |
again | |
jump L10 | |
: Sub5 | |
delay := v2 | |
loop | |
v2 := delay | |
if v2 != 0 then | |
again | |
return | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Soccer.ch8 | |
###################################################################### | |
:proto L2 # 226 | |
:proto L4 # 25C | |
:proto L6 # 280 | |
:proto Sub1 # 2A4 | |
:proto Sub2 # 2B0 | |
:proto Sub3 # 2BC | |
:proto Sub4 # 2C8 | |
:proto Sub5 # 2D4 | |
:proto Sub6 # 2E4 | |
:proto L8 # 2F6 | |
:proto L9 # 304 | |
:proto Sub7 # 308 | |
:proto Sub8 # 30C | |
:proto L10 # 31A | |
:proto L11 # 31E | |
:proto Sub9 # 322 | |
:proto Sub10 # 334 | |
:proto Sub11 # 33E | |
:proto D1 # 348 | |
: main | |
clear | |
vA := 12 | |
vB := 12 | |
v8 := 0 | |
v9 := 0 | |
v6 := 0 | |
v7 := 0 | |
v5 := 0 | |
v4 := 0 | |
i := D1 | |
Sub9 | |
Sub10 | |
Sub11 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 == 0 then jump L2 | |
again | |
: L2 | |
v4 := 2 | |
v6 := 2 | |
v7 := 16 | |
Sub7 | |
Sub5 | |
: L3 | |
loop | |
Sub7 | |
Sub8 | |
if v6 == 64 then jump L4 | |
if v6 == -2 then jump L6 | |
Sub7 | |
if vF == 1 then Sub6 | |
v0 := 1 | |
if v0 key then Sub1 | |
v0 := 4 | |
if v0 key then Sub2 | |
v0 := 12 | |
if v0 key then Sub3 | |
v0 := 13 | |
if v0 key then Sub4 | |
again | |
: L4 | |
Sub9 | |
v8 += 1 | |
if v8 == 10 then v8 := 0 | |
Sub9 | |
v0 := 20 | |
buzzer := v0 | |
v6 := 2 | |
v7 := 16 | |
v4 := 2 | |
Sub5 | |
Sub7 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 == 0 then jump L3 | |
again | |
: L6 | |
Sub9 | |
v9 += 1 | |
if v9 == 10 then v9 := 0 | |
Sub9 | |
v0 := 20 | |
buzzer := v0 | |
v6 := 58 | |
v7 := 16 | |
v4 := -2 | |
Sub5 | |
Sub7 | |
v0 := 96 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 == 0 then jump L3 | |
again | |
: Sub1 | |
if vA == 0 then return | |
Sub10 | |
vA += -2 | |
Sub10 | |
return | |
: Sub2 | |
if vA == 26 then return | |
Sub10 | |
vA += 2 | |
Sub10 | |
return | |
: Sub3 | |
if vB == 0 then return | |
Sub11 | |
vB += -2 | |
Sub11 | |
return | |
: Sub4 | |
if vB == 26 then return | |
Sub11 | |
vB += 2 | |
Sub11 | |
return | |
: Sub5 | |
v0 := random 0b11 | |
if v0 == 0 then v5 := -1 | |
if v0 == 1 then v5 := 0 | |
if v0 == 2 then v5 := 1 | |
return | |
: Sub6 | |
if v6 == 0 then jump L8 | |
if v6 == 20 then jump L8 | |
if v6 == 40 then jump L8 | |
if v6 == 60 then jump L8 | |
return | |
: L8 | |
Sub5 | |
v0 := 4 | |
buzzer := v0 | |
if v4 == -2 then jump L9 | |
v4 := -2 | |
return | |
: L9 | |
v4 := 2 | |
return | |
: Sub7 | |
sprite v6 v7 1 | |
return | |
: Sub8 | |
v6 += v4 | |
v7 += v5 | |
if v7 == 0 then jump L10 | |
if v7 == 31 then jump L11 | |
return | |
: L10 | |
v5 := 1 | |
return | |
: L11 | |
v5 := -1 | |
return | |
: Sub9 | |
v1 := 21 | |
v0 := 0 | |
i := hex v8 | |
sprite v1 v0 5 | |
v1 += 20 | |
i := hex v9 | |
sprite v1 v0 5 | |
i := D1 | |
return | |
: Sub10 | |
v1 := 0 | |
sprite v1 vA 6 | |
v1 += 40 | |
sprite v1 vA 6 | |
return | |
: Sub11 | |
v1 := 20 | |
sprite v1 vB 6 | |
v1 += 40 | |
sprite v1 vB 6 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Space Flight.ch8 | |
###################################################################### | |
:proto L2 # 216 | |
:proto L4 # 22A | |
:proto L6 # 26C | |
:proto Sub1 # 284 | |
:proto L10 # 29A | |
:proto L12 # 2AE | |
:proto L13 # 30E | |
:proto Sub2 # 31C | |
:proto L16 # 358 | |
:proto L19 # 37E | |
:proto L20 # 396 | |
:proto L22 # 3A2 | |
:proto L23 # 3B4 | |
:proto L25 # 3CA | |
:proto L27 # 3DE | |
:proto D1 # 408 | |
:proto D2 # 409 | |
:proto D3 # 413 | |
:proto D4 # 41A | |
:proto D5 # 421 | |
:proto D6 # 428 | |
:proto D7 # 42F | |
:proto D8 # 436 | |
:proto D9 # 43D | |
:proto D10 # 444 | |
:proto D11 # 44B | |
:proto D12 # 452 | |
:proto D13 # 459 | |
:proto D14 # 460 | |
:proto D15 # 467 | |
:proto D16 # 46E | |
:proto D17 # 475 | |
:proto D18 # 47C | |
:proto D19 # 483 | |
:proto D20 # 48A | |
:proto D21 # 491 | |
:proto D22 # 498 | |
:proto D23 # 49A | |
:proto D24 # 49C | |
:proto D25 # 49E | |
:proto D26 # 4A0 | |
:proto D27 # 4A2 | |
:proto D28 # 4A9 | |
:proto D29 # 4B0 | |
:proto D30 # 4B7 | |
:proto D31 # 4BE | |
:proto D32 # 4C5 | |
: main | |
clear | |
i := D1 | |
v3 := 0 | |
v4 := 0 | |
v5 := 31 | |
loop | |
sprite v3 v4 1 | |
sprite v3 v5 1 | |
v3 += 8 | |
if v3 == 64 then jump L2 | |
again | |
: L2 | |
v3 := 0 | |
v4 := 1 | |
v5 := 63 | |
i := D2 | |
loop | |
sprite v3 v4 10 | |
sprite v5 v4 10 | |
v4 += 10 | |
if v4 == 31 then jump L4 | |
again | |
: L4 | |
i := D3 | |
v3 := 17 | |
v4 := 6 | |
sprite v3 v4 7 | |
i := D4 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D5 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D6 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D7 | |
v3 := 14 | |
v4 := 20 | |
sprite v3 v4 7 | |
i := D8 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D9 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D10 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D11 | |
v3 += 8 | |
sprite v3 v4 7 | |
v0 := 15 | |
loop | |
if v0 key then jump L6 | |
again | |
: L6 | |
v9 := 3 | |
vA := 4 | |
vB := 1 | |
vC := 0 | |
vD := 15 | |
: L7 | |
if vB == 11 then vB := 10 | |
Sub1 | |
v0 := 14 | |
: L8 | |
loop | |
if v0 key then jump L13 | |
again | |
: Sub1 | |
clear | |
i := D1 | |
v3 := 0 | |
v4 := 0 | |
v5 := 31 | |
loop | |
sprite v3 v4 1 | |
sprite v3 v5 1 | |
v3 += 8 | |
if v3 == 64 then jump L10 | |
again | |
: L10 | |
v3 := 0 | |
v4 := 1 | |
v5 := 63 | |
i := D2 | |
loop | |
sprite v3 v4 10 | |
sprite v5 v4 10 | |
v4 += 10 | |
if v4 == 31 then jump L12 | |
again | |
: L12 | |
i := D7 | |
v3 := 10 | |
v4 := 12 | |
sprite v3 v4 7 | |
i := D8 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D9 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D10 | |
v3 += 8 | |
sprite v3 v4 7 | |
i := D11 | |
v3 += 8 | |
sprite v3 v4 7 | |
if vB == 1 then i := D12 | |
if vB == 2 then i := D13 | |
if vB == 3 then i := D14 | |
if vB == 4 then i := D15 | |
if vB == 5 then i := D16 | |
if vB == 6 then i := D17 | |
if vB == 7 then i := D18 | |
if vB == 8 then i := D19 | |
if vB == 9 then i := D20 | |
if vB == 10 then i := D21 | |
v3 += 5 | |
sprite v3 v4 7 | |
if v9 == 3 then i := D24 | |
if v9 == 2 then i := D25 | |
if v9 == 1 then i := D26 | |
v0 := 2 | |
v1 := 2 | |
sprite v0 v1 2 | |
return | |
: L13 | |
Sub2 | |
i := D23 | |
sprite vC vD 2 | |
v0 := 15 | |
loop | |
if v0 -key then | |
again | |
jump L16 | |
: Sub2 | |
clear | |
i := D22 | |
if vB == 1 then v3 := 30 | |
if vB == 2 then v3 := 40 | |
if vB == 3 then v3 := 50 | |
if vB == 4 then v3 := 55 | |
if vB == 5 then v3 := 60 | |
if vB == 6 then v3 := 65 | |
if vB == 7 then v3 := 70 | |
if vB == 8 then v3 := 75 | |
if vB == 9 then v3 := 80 | |
if vB == 10 then v3 := 85 | |
loop | |
v4 := random 0b110100 | |
v4 += 10 | |
v6 := random 0b11111 | |
sprite v4 v6 1 | |
v3 += -1 | |
if v3 == -1 then return | |
again | |
: L16 | |
sprite vC vD 2 | |
loop | |
v0 := 1 | |
if v0 key then vD += -1 | |
v0 := 4 | |
if v0 key then vD += 1 | |
vC += 2 | |
sprite vC vD 2 | |
if vF == 1 then jump L20 | |
if vC == 62 then jump L19 | |
v0 := 5 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L16 | |
: L19 | |
sprite vC vD 2 | |
vC := 0 | |
v0 := 5 | |
buzzer := v0 | |
vA += -1 | |
if vA != 0 then | |
again | |
vA := 4 | |
vC := 0 | |
vD := 15 | |
vB += 1 | |
jump L7 | |
: L20 | |
v0 := 8 | |
buzzer := v0 | |
v0 := 15 | |
loop | |
if v0 key then jump L22 | |
again | |
: L22 | |
v9 += -1 | |
vC := 0 | |
vD := 15 | |
vA := 4 | |
if v9 == 0 then jump L23 | |
Sub1 | |
v0 := 14 | |
jump L8 | |
: L23 | |
clear | |
i := D1 | |
v3 := 0 | |
v4 := 0 | |
v5 := 31 | |
loop | |
sprite v3 v4 1 | |
sprite v3 v5 1 | |
v3 += 8 | |
if v3 == 64 then jump L25 | |
again | |
: L25 | |
v3 := 0 | |
v4 := 1 | |
v5 := 63 | |
i := D2 | |
loop | |
sprite v3 v4 10 | |
sprite v5 v4 10 | |
v4 += 10 | |
if v4 == 31 then jump L27 | |
again | |
: L27 | |
i := D27 | |
v4 := 8 | |
v3 := 20 | |
sprite v3 v4 7 | |
v3 += 8 | |
i := D28 | |
sprite v3 v4 7 | |
v3 += 8 | |
i := D29 | |
sprite v3 v4 7 | |
v3 := 20 | |
v4 := 17 | |
i := D30 | |
sprite v3 v4 7 | |
v3 += 8 | |
i := D31 | |
sprite v3 v4 7 | |
i := D32 | |
v3 += 8 | |
sprite v3 v4 7 | |
loop | |
again | |
: D1 | |
0xff | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D3 | |
0xfb 0x82 0x82 0xfb 0xa 0xa 0xfa | |
: D4 | |
0xef 0x28 0x28 0xef 0x8 0x8 0x8 | |
: D5 | |
0xbe 0xa0 0xa0 0xa0 0xa0 0xa0 0xbe | |
: D6 | |
0xf8 0x80 0x80 0xf8 0x80 0x80 0xf8 | |
: D7 | |
0xfa 0x82 0x82 0xfa 0x82 0x82 0x83 | |
: D8 | |
0xf 0x2 0x2 0x2 0x2 0x2 0xef | |
: D9 | |
0xbe 0x20 0x20 0x26 0x22 0x22 0xbe | |
: D10 | |
0x8b 0x88 0x88 0xf8 0x88 0x88 0x88 | |
: D11 | |
0xe0 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D12 | |
0x8 0x8 0x8 0x8 0x8 0x8 0x8 | |
: D13 | |
0x3e 0x2 0x2 0x3e 0x20 0x20 0x3e | |
: D14 | |
0x3e 0x2 0x2 0x3e 0x2 0x2 0x3e | |
: D15 | |
0x22 0x22 0x22 0x3e 0x2 0x2 0x2 | |
: D16 | |
0x3e 0x20 0x20 0x3e 0x2 0x2 0x3e | |
: D17 | |
0x3e 0x20 0x20 0x3e 0x22 0x22 0x3e | |
: D18 | |
0x3e 0x2 0x4 0x8 0x10 0x10 0x10 | |
: D19 | |
0x3e 0x22 0x22 0x3e 0x22 0x22 0x3e | |
: D20 | |
0x3e 0x22 0x22 0x3e 0x2 0x2 0x3e | |
: D21 | |
0x2f 0x29 0x29 0x29 0x29 0x29 0x2f | |
: D22 | |
0x80 0x0 | |
: D23 | |
0xe0 0xe0 | |
: D24 | |
0xdb 0xdb | |
: D25 | |
0xd8 0xd8 | |
: D26 | |
0xc0 0xc0 | |
: D27 | |
0xfb 0x82 0x82 0x83 0x8a 0x8a 0xfa | |
: D28 | |
0xed 0x2a 0x28 0xe8 0x28 0x28 0x28 | |
: D29 | |
0xbe 0xa0 0xa0 0xbe 0xa0 0xa0 0xbe | |
: D30 | |
0xfa 0x8a 0x8a 0x8a 0x8a 0x89 0xf8 | |
: D31 | |
0x2f 0x28 0x28 0x2f 0x28 0x48 0x8f | |
: D32 | |
0xbe 0x22 0x22 0xbe 0x28 0x24 0xa2 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Space Intercept [Joseph Weisbecker, 1978].ch8 | |
###################################################################### | |
:proto L1 # 20A | |
:proto L2 # 20C | |
:proto L6 # 252 | |
:proto L7 # 274 | |
:proto L8 # 280 | |
:proto Sub1 # 286 | |
:proto Sub2 # 290 | |
:proto Sub3 # 29A | |
:proto D1 # 2B1 | |
:proto D2 # 2B4 | |
:proto D3 # 2BA | |
:proto D4 # 2C0 | |
:proto D5 # 2C3 | |
: main | |
v0 := key | |
if v0 != 2 then jump L1 | |
i := D3 | |
jump L2 | |
: L1 | |
i := D2 | |
: L2 | |
load v5 | |
i := D4 | |
save v3 | |
i := D4 | |
v6 := 0 | |
sprite v6 v3 3 | |
i := 6 | |
v7 := 29 | |
v8 := 31 | |
sprite v7 v8 1 | |
v9 := 0 | |
vA := 15 | |
Sub1 | |
: L3 | |
Sub2 | |
if vA == 0 then loop | |
again | |
v7 := 30 | |
v8 := 28 | |
i := D1 | |
sprite v7 v8 3 | |
vE := 0 | |
: L5 | |
vB := 128 | |
vD := 4 | |
if vD key then vB := -1 | |
vD := 5 | |
if vD key then vB := 0 | |
vD := 6 | |
if vD key then vB := 1 | |
if vB == 128 then jump L6 | |
vE := 1 | |
buzzer := vD | |
: L6 | |
loop | |
i := D4 | |
sprite v6 v3 3 | |
v6 += v4 | |
sprite v6 v3 3 | |
if vF != 0 then jump L7 | |
if vE == 0 then jump L5 | |
i := D1 | |
sprite v7 v8 3 | |
if v8 == 0 then jump L8 | |
v8 += -1 | |
v7 += vB | |
sprite v7 v8 3 | |
if vF != 1 then | |
again | |
: L7 | |
buzzer := vD | |
Sub1 | |
v9 += v5 | |
Sub1 | |
i := D1 | |
sprite v7 v8 3 | |
: L8 | |
Sub2 | |
vA += -1 | |
jump L3 | |
: Sub1 | |
i := D5 | |
bcd v9 | |
vC := 0 | |
Sub3 | |
return | |
: Sub2 | |
i := D5 | |
bcd vA | |
vC := 50 | |
Sub3 | |
return | |
: Sub3 | |
vD := 27 | |
load v2 | |
i := hex v0 | |
sprite vC vD 5 | |
vC += 5 | |
i := hex v1 | |
sprite vC vD 5 | |
vC += 5 | |
i := hex v2 | |
sprite vC vD 5 | |
return | |
0x1 | |
: D1 | |
0x40 0xe0 0xa0 | |
: D2 | |
0x7c 0xfe 0x7c 0x8 0x1 0x5 | |
: D3 | |
0x60 0xf0 0x60 0x3 0x1 0xf | |
: D4 0 0 0 | |
: D5 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Space Invaders [David Winter] (alt).ch8 | |
###################################################################### | |
:proto L1 # 225 | |
:proto L7 # 27D | |
:proto L8 # 28B | |
:proto L9 # 29F | |
:proto L10 # 2AD | |
:proto L11 # 2C9 | |
:proto L12 # 2D3 | |
:proto L13 # 2D5 | |
:proto L14 # 2DD | |
:proto L15 # 2E7 | |
:proto L16 # 2E9 | |
:proto L17 # 307 | |
:proto L18 # 31B | |
:proto L19 # 323 | |
:proto Sub1 # 347 | |
:proto Sub2 # 35F | |
:proto Sub3 # 36B | |
:proto Sub4 # 373 | |
:proto Sub5 # 387 | |
:proto L23 # 3A5 | |
:proto D1 # 3B7 | |
:proto D2 # 3CF | |
:proto D3 # 3D3 | |
:proto D4 # 4D3 | |
:proto D5 # 500 | |
:proto D6 # 602 | |
:proto D7 # 6F4 | |
: main | |
jump L1 | |
0x53 0x50 0x41 0x43 0x45 0x20 0x49 0x4e 0x56 0x41 0x44 0x45 0x52 0x53 0x20 0x76 0x30 0x2e 0x39 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
v0 := 0 | |
v1 := 0 | |
v2 := 8 | |
i := D3 | |
: L2 | |
loop | |
sprite v0 v1 8 | |
v1 += 8 | |
i += v2 | |
if v1 != 32 then jump L2 | |
v0 += 8 | |
v1 := 0 | |
if v0 != 64 then | |
again | |
v9 := 5 | |
vC := 21 | |
vE := 0 | |
: L3 | |
Sub5 | |
v0 := 10 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
Sub5 | |
vE += 1 | |
jump L3 | |
: L5 | |
v6 := 0 | |
v8 := 28 | |
v9 := 0 | |
vA := 4 | |
vB := 10 | |
vC := 4 | |
vD := 60 | |
vE := 15 | |
clear | |
Sub3 | |
Sub1 | |
delay := vD | |
: L6 | |
loop | |
v0 := 4 | |
if v0 -key then jump L7 | |
Sub3 | |
if v8 != 0 then v8 += -1 | |
Sub3 | |
: L7 | |
v0 := 6 | |
if v0 -key then jump L8 | |
Sub3 | |
if v8 != 57 then v8 += 1 | |
Sub3 | |
: L8 | |
if v6 != 0 then jump L9 | |
v0 := 5 | |
if v0 -key then jump L16 | |
v6 := 1 | |
v5 := 27 | |
v4 := v8 | |
i := D2 | |
sprite v4 v5 1 | |
: L9 | |
i := D2 | |
sprite v4 v5 1 | |
v5 += -1 | |
if v5 != -1 then jump L10 | |
v6 := 0 | |
jump L16 | |
: L10 | |
sprite v4 v5 1 | |
if vF != 1 then jump L16 | |
sprite v4 v5 1 | |
v6 := 0 | |
v3 := v4 | |
v3 += 3 | |
v3 -= vB | |
v2 := -8 | |
v3 &= v2 | |
v2 := 8 | |
if v3 != 0 then jump L11 | |
Sub4 | |
: L11 | |
v2 >>= v0 | |
if v3 == 8 then jump L12 | |
if v3 != 16 then jump L13 | |
: L12 | |
Sub4 | |
: L13 | |
v2 >>= v0 | |
if v3 != 24 then jump L14 | |
Sub4 | |
: L14 | |
v2 >>= v0 | |
if v3 == 32 then jump L15 | |
if v3 != 40 then jump L16 | |
: L15 | |
Sub4 | |
: L16 | |
if vE != 0 then jump L17 | |
v9 += 6 | |
if v9 == 24 then v9 := 0 | |
vA := 4 | |
vB := 10 | |
vC := 4 | |
vD += -12 | |
vE := 15 | |
clear | |
Sub1 | |
Sub3 | |
delay := vD | |
jump L6 | |
: L17 | |
v7 := delay | |
if v7 != 0 then jump L6 | |
delay := vD | |
Sub1 | |
vB += vA | |
if vB != 18 then jump L18 | |
vC += 2 | |
vA := -4 | |
: L18 | |
if vB != 2 then jump L19 | |
vC += 2 | |
vA := 4 | |
: L19 | |
Sub1 | |
if vC != 24 then | |
again | |
clear | |
i := D4 | |
v0 := 20 | |
v1 := 8 | |
v2 := 15 | |
loop | |
sprite v0 v1 15 | |
v0 += 8 | |
i += v2 | |
if v0 != 44 then | |
again | |
v0 := key | |
clear | |
i := D7 | |
load vE | |
jump L1 | |
: Sub1 | |
i := D1 | |
i += v9 | |
v1 := 8 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
vB += 208 | |
return | |
: Sub2 | |
v0 := vE | |
v0 &= v1 | |
if v0 != 0 then sprite vB vC 6 | |
vB += 12 | |
return | |
: Sub3 | |
i := D2 | |
v0 := 28 | |
sprite v8 v0 4 | |
return | |
: Sub4 | |
Sub1 | |
vE ^= v2 | |
Sub1 | |
v0 := 5 | |
buzzer := v0 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub5 | |
vA := 0 | |
vD := vE | |
vB := 4 | |
: L22 | |
loop | |
if v9 key then jump L5 | |
i := D6 | |
i += vD | |
load v0 | |
if v0 != -1 then jump L23 | |
vA := 0 | |
vB := 4 | |
vD := 1 | |
vE := 1 | |
jump L22 | |
: L23 | |
i := D5 | |
i += v0 | |
sprite vB vC 6 | |
vB += 8 | |
vD += 1 | |
vA += 1 | |
if vA != 7 then | |
again | |
return | |
: D1 | |
0x3c 0x7e 0xff 0xff 0x99 0x99 0x7e 0xff 0xff 0x24 0x24 0xe7 0x7e 0xff 0x3c 0x3c 0x7e 0xdb 0x81 0x42 0x3c 0x7e 0xff 0xdb | |
: D2 | |
0x10 0x38 0x7c 0xfe | |
: D3 | |
0x0 0x0 0x7f 0x0 0x3f 0x0 0x7f 0x0 0x0 0x0 0x1 0x1 0x1 0x3 0x3 0x3 0x3 0x0 0x0 0x3f 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x3f 0x8 0x8 0xff 0x0 0x0 0xfe 0x0 0xfc 0x0 0xfe 0x0 0x0 0x0 0x7e 0x42 0x42 0x62 0x62 0x62 0x62 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x7d 0x0 0x41 0x7d 0x5 0x7d 0x7d 0x0 0x0 0xc2 0xc2 0xc6 0x44 0x6c 0x28 0x38 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xf7 0x10 0x14 0xf7 0xf7 0x4 0x4 0x0 0x0 0x7c 0x44 0xfe 0xc2 0xc2 0xc2 0xc2 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xef 0x20 0x28 0xe8 0xe8 0x2f 0x2f 0x0 0x0 0xf9 0x85 0xc5 0xc5 0xc5 0xc5 0xf9 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xbe 0x0 0x20 0x30 0x20 0xbe 0xbe 0x0 0x0 0xf7 0x4 0xe7 0x85 0x85 0x84 0xf4 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x0 0x7f 0x0 0x3f 0x0 0x7f 0x0 0x0 0x0 0xef 0x28 0xef 0x0 0xe0 0x60 0x6f 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x0 0xfe 0x0 0xfc 0x0 0xfe 0x0 0x0 0x0 0xc0 0x0 0xc0 0xc0 0xc0 0xc0 0xc0 0x0 0x0 0xfc 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0xfc 0x10 0x10 0xff | |
: D4 | |
0xf9 0x81 0xb9 0x8b 0x9a 0x9a 0xfa 0x0 0xfa 0x8a 0x9a 0x9a 0x9b 0x99 0xf8 0xe6 0x25 0x25 0xf4 0x34 0x34 0x34 0x0 0x17 0x14 0x34 0x37 0x36 0x26 0xc7 0xdf 0x50 0x50 0x5c 0xd8 0xd8 0xdf 0x0 0xdf 0x11 0x1f 0x12 0x1b 0x19 0xd9 | |
: D5 | |
0x7c 0x44 0xfe 0x86 0x86 0x86 0xfc 0x84 0xfe 0x82 0x82 0xfe 0xfe 0x80 0xc0 0xc0 0xc0 0xfe 0xfc 0x82 0xc2 0xc2 0xc2 0xfc 0xfe 0x80 0xf8 0xc0 0xc0 0xfe 0xfe 0x80 0xf0 0xc0 0xc0 0xc0 0xfe 0x80 0xbe 0x86 0x86 0xfe 0x86 0x86 0xfe 0x86 0x86 0x86 0x10 0x10 0x10 0x10 0x10 0x10 0x18 0x18 0x18 0x48 0x48 0x78 0x9c 0x90 0xb0 0xc0 0xb0 0x9c 0x80 0x80 0xc0 0xc0 0xc0 0xfe 0xee 0x92 0x92 0x86 0x86 0x86 0xfe 0x82 0x86 0x86 0x86 0x86 0x7c 0x82 0x86 0x86 0x86 0x7c 0xfe 0x82 0xfe 0xc0 0xc0 0xc0 0x7c 0x82 0xc2 0xca 0xc4 0x7a 0xfe 0x86 0xfe 0x90 0x9c 0x84 0xfe 0xc0 0xfe 0x2 0x2 0xfe 0xfe 0x10 0x30 0x30 0x30 0x30 0x82 0x82 0xc2 0xc2 0xc2 0xfe 0x82 0x82 0x82 0xee 0x38 0x10 0x86 0x86 0x96 0x92 0x92 0xee 0x82 0x44 0x38 0x38 0x44 0x82 0x82 0x82 0xfe 0x30 0x30 0x30 0xfe 0x2 0x1e 0xf0 0x80 0xfe 0x0 0x0 0x0 0x0 0x6 0x6 0x0 0x0 0x0 0x60 0x60 0xc0 0x0 0x0 0x0 0x0 0x0 0x0 0x18 0x18 0x18 0x18 0x0 0x18 0x7c 0xc6 0xc 0x18 0x0 0x18 0x0 0x0 0xfe 0xfe 0x0 0x0 0xfe 0x82 0x86 0x86 0x86 0xfe 0x8 0x8 0x8 0x18 0x18 0x18 0xfe 0x2 0xfe 0xc0 0xc0 0xfe 0xfe 0x2 0x1e 0x6 0x6 0xfe 0x84 0xc4 0xc4 0xfe 0x4 0x4 0xfe 0x80 0xfe 0x6 0x6 0xfe 0xc0 0xc0 0xc0 0xfe 0x82 0xfe 0xfe 0x2 0x2 0x6 0x6 0x6 0x7c 0x44 0xfe 0x86 0x86 0xfe 0xfe 0x82 0xfe 0x6 0x6 0x6 0x44 0xfe 0x44 0x44 0xfe 0x44 | |
: D6 | |
0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x6c 0x5a 0x0 0xc 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x5a 0x66 0x54 0x24 0x66 0x0 0x48 0x48 0x18 0x12 0xa8 0x6 0x90 0xa8 0x12 0x0 0x7e 0x30 0x12 0xa8 0x84 0x30 0x4e 0x72 0x18 0x66 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x90 0x54 0x78 0xa8 0x48 0x78 0x6c 0x72 0xa8 0x12 0x18 0x6c 0x72 0x66 0x54 0x90 0xa8 0x72 0x2a 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x72 0x54 0xa8 0x5a 0x66 0x18 0x7e 0x18 0x4e 0x72 0xa8 0x72 0x2a 0x18 0x30 0x66 0xa8 0x30 0x4e 0x7e 0x0 0x6c 0x30 0x54 0x4e 0x9c 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x48 0x54 0x7e 0x18 0xa8 0x90 0x54 0x78 0x66 0xa8 0x6c 0x2a 0x30 0x5a 0xa8 0x84 0x30 0x72 0x2a 0xa8 0xd8 0xa8 0x0 0x4e 0x12 0xa8 0xe4 0xa2 0xa8 0x0 0x4e 0x12 0xa8 0x6c 0x2a 0x54 0x54 0x72 0xa8 0x84 0x30 0x72 0x2a 0xa8 0xde 0x9c 0xa8 0x72 0x2a 0x18 0xa8 0xc 0x54 0x48 0x5a 0x78 0x72 0x18 0x66 0xa8 0x72 0x18 0x42 0x42 0x6c 0xa8 0x72 0x2a 0x0 0x72 0xa8 0x72 0x2a 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x30 0x4e 0xc 0x66 0x18 0x0 0x6c 0x18 0xa8 0x72 0x2a 0x18 0x30 0x66 0xa8 0x1e 0x54 0x66 0xc 0x18 0x9c 0xa8 0x24 0x54 0x54 0x12 0xa8 0x42 0x78 0xc 0x3c 0xa8 0xae 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xff | |
: D7 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Space Invaders [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 225 | |
:proto L7 # 27D | |
:proto L8 # 28B | |
:proto L9 # 29F | |
:proto L10 # 2AD | |
:proto L11 # 2C9 | |
:proto L12 # 2D3 | |
:proto L13 # 2D5 | |
:proto L14 # 2DD | |
:proto L15 # 2E7 | |
:proto L16 # 2E9 | |
:proto L17 # 307 | |
:proto L18 # 31B | |
:proto L19 # 323 | |
:proto Sub1 # 351 | |
:proto Sub2 # 369 | |
:proto Sub3 # 375 | |
:proto Sub4 # 37D | |
:proto Sub5 # 391 | |
:proto L24 # 3AF | |
:proto D1 # 3C1 | |
:proto D2 # 3D9 | |
:proto D3 # 3DD | |
:proto D4 # 4DD | |
:proto D5 # 50A | |
:proto D6 # 60C | |
:proto D7 # 706 | |
: main | |
jump L1 | |
0x53 0x50 0x41 0x43 0x45 0x20 0x49 0x4e 0x56 0x41 0x44 0x45 0x52 0x53 0x20 0x30 0x2e 0x39 0x31 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
v0 := 0 | |
v1 := 0 | |
v2 := 8 | |
i := D3 | |
: L2 | |
loop | |
sprite v0 v1 8 | |
v1 += 8 | |
i += v2 | |
if v1 != 32 then jump L2 | |
v0 += 8 | |
v1 := 0 | |
if v0 != 64 then | |
again | |
v9 := 5 | |
vC := 21 | |
vE := 0 | |
: L3 | |
Sub5 | |
v0 := 10 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
Sub5 | |
vE += 1 | |
jump L3 | |
: L5 | |
v6 := 0 | |
v8 := 28 | |
v9 := 0 | |
vA := 4 | |
vB := 10 | |
vC := 4 | |
vD := 60 | |
vE := 15 | |
clear | |
Sub3 | |
Sub1 | |
delay := vD | |
: L6 | |
loop | |
v0 := 4 | |
if v0 -key then jump L7 | |
Sub3 | |
if v8 != 0 then v8 += -1 | |
Sub3 | |
: L7 | |
v0 := 6 | |
if v0 -key then jump L8 | |
Sub3 | |
if v8 != 57 then v8 += 1 | |
Sub3 | |
: L8 | |
if v6 != 0 then jump L9 | |
v0 := 5 | |
if v0 -key then jump L16 | |
v6 := 1 | |
v5 := 27 | |
v4 := v8 | |
i := D2 | |
sprite v4 v5 1 | |
: L9 | |
i := D2 | |
sprite v4 v5 1 | |
v5 += -1 | |
if v5 != -1 then jump L10 | |
v6 := 0 | |
jump L16 | |
: L10 | |
sprite v4 v5 1 | |
if vF != 1 then jump L16 | |
sprite v4 v5 1 | |
v6 := 0 | |
v3 := v4 | |
v3 += 3 | |
v3 -= vB | |
v2 := -8 | |
v3 &= v2 | |
v2 := 8 | |
if v3 != 0 then jump L11 | |
Sub4 | |
: L11 | |
v2 >>= v0 | |
if v3 == 8 then jump L12 | |
if v3 != 16 then jump L13 | |
: L12 | |
Sub4 | |
: L13 | |
v2 >>= v0 | |
if v3 != 24 then jump L14 | |
Sub4 | |
: L14 | |
v2 >>= v0 | |
if v3 == 32 then jump L15 | |
if v3 != 40 then jump L16 | |
: L15 | |
Sub4 | |
: L16 | |
if vE != 0 then jump L17 | |
v9 += 6 | |
if v9 == 24 then v9 := 0 | |
vA := 4 | |
vB := 10 | |
vC := 4 | |
vD += -12 | |
vE := 15 | |
clear | |
Sub1 | |
Sub3 | |
delay := vD | |
jump L6 | |
: L17 | |
v7 := delay | |
if v7 != 0 then jump L6 | |
delay := vD | |
Sub1 | |
vB += vA | |
if vB != 18 then jump L18 | |
vC += 2 | |
vA := -4 | |
: L18 | |
if vB != 2 then jump L19 | |
vC += 2 | |
vA := 4 | |
: L19 | |
Sub1 | |
if vC != 24 then | |
again | |
clear | |
i := D4 | |
v0 := 20 | |
v1 := 8 | |
v2 := 15 | |
loop | |
sprite v0 v1 15 | |
v0 += 8 | |
i += v2 | |
if v0 != 44 then | |
again | |
v0 := -1 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v0 := key | |
clear | |
i := D7 | |
load vE | |
jump L1 | |
: Sub1 | |
i := D1 | |
i += v9 | |
v1 := 8 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
v1 >>= v0 | |
Sub2 | |
vB += 208 | |
return | |
: Sub2 | |
v0 := vE | |
v0 &= v1 | |
if v0 != 0 then sprite vB vC 6 | |
vB += 12 | |
return | |
: Sub3 | |
i := D2 | |
v0 := 28 | |
sprite v8 v0 4 | |
return | |
: Sub4 | |
Sub1 | |
vE ^= v2 | |
Sub1 | |
v0 := 5 | |
buzzer := v0 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub5 | |
vA := 0 | |
vD := vE | |
vB := 4 | |
: L23 | |
loop | |
if v9 key then jump L5 | |
i := D6 | |
i += vD | |
load v0 | |
if v0 != -1 then jump L24 | |
vA := 0 | |
vB := 4 | |
vD := 1 | |
vE := 1 | |
jump L23 | |
: L24 | |
i := D5 | |
i += v0 | |
sprite vB vC 6 | |
vB += 8 | |
vD += 1 | |
vA += 1 | |
if vA != 7 then | |
again | |
return | |
: D1 | |
0x3c 0x7e 0xff 0xff 0x99 0x99 0x7e 0xff 0xff 0x24 0x24 0xe7 0x7e 0xff 0x3c 0x3c 0x7e 0xdb 0x81 0x42 0x3c 0x7e 0xff 0xdb | |
: D2 | |
0x10 0x38 0x7c 0xfe | |
: D3 | |
0x0 0x0 0x7f 0x0 0x3f 0x0 0x7f 0x0 0x0 0x0 0x1 0x1 0x1 0x3 0x3 0x3 0x3 0x0 0x0 0x3f 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x3f 0x8 0x8 0xff 0x0 0x0 0xfe 0x0 0xfc 0x0 0xfe 0x0 0x0 0x0 0x7e 0x42 0x42 0x62 0x62 0x62 0x62 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x7d 0x0 0x41 0x7d 0x5 0x7d 0x7d 0x0 0x0 0xc2 0xc2 0xc6 0x44 0x6c 0x28 0x38 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xf7 0x10 0x14 0xf7 0xf7 0x4 0x4 0x0 0x0 0x7c 0x44 0xfe 0xc2 0xc2 0xc2 0xc2 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xef 0x20 0x28 0xe8 0xe8 0x2f 0x2f 0x0 0x0 0xf9 0x85 0xc5 0xc5 0xc5 0xc5 0xf9 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0xbe 0x0 0x20 0x30 0x20 0xbe 0xbe 0x0 0x0 0xf7 0x4 0xe7 0x85 0x85 0x84 0xf4 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x0 0x7f 0x0 0x3f 0x0 0x7f 0x0 0x0 0x0 0xef 0x28 0xef 0x0 0xe0 0x60 0x6f 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0xff 0x0 0x0 0xfe 0x0 0xfc 0x0 0xfe 0x0 0x0 0x0 0xc0 0x0 0xc0 0xc0 0xc0 0xc0 0xc0 0x0 0x0 0xfc 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0xfc 0x10 0x10 0xff | |
: D4 | |
0xf9 0x81 0xb9 0x8b 0x9a 0x9a 0xfa 0x0 0xfa 0x8a 0x9a 0x9a 0x9b 0x99 0xf8 0xe6 0x25 0x25 0xf4 0x34 0x34 0x34 0x0 0x17 0x14 0x34 0x37 0x36 0x26 0xc7 0xdf 0x50 0x50 0x5c 0xd8 0xd8 0xdf 0x0 0xdf 0x11 0x1f 0x12 0x1b 0x19 0xd9 | |
: D5 | |
0x7c 0x44 0xfe 0x86 0x86 0x86 0xfc 0x84 0xfe 0x82 0x82 0xfe 0xfe 0x80 0xc0 0xc0 0xc0 0xfe 0xfc 0x82 0xc2 0xc2 0xc2 0xfc 0xfe 0x80 0xf8 0xc0 0xc0 0xfe 0xfe 0x80 0xf0 0xc0 0xc0 0xc0 0xfe 0x80 0xbe 0x86 0x86 0xfe 0x86 0x86 0xfe 0x86 0x86 0x86 0x10 0x10 0x10 0x10 0x10 0x10 0x18 0x18 0x18 0x48 0x48 0x78 0x9c 0x90 0xb0 0xc0 0xb0 0x9c 0x80 0x80 0xc0 0xc0 0xc0 0xfe 0xee 0x92 0x92 0x86 0x86 0x86 0xfe 0x82 0x86 0x86 0x86 0x86 0x7c 0x82 0x86 0x86 0x86 0x7c 0xfe 0x82 0xfe 0xc0 0xc0 0xc0 0x7c 0x82 0xc2 0xca 0xc4 0x7a 0xfe 0x86 0xfe 0x90 0x9c 0x84 0xfe 0xc0 0xfe 0x2 0x2 0xfe 0xfe 0x10 0x30 0x30 0x30 0x30 0x82 0x82 0xc2 0xc2 0xc2 0xfe 0x82 0x82 0x82 0xee 0x38 0x10 0x86 0x86 0x96 0x92 0x92 0xee 0x82 0x44 0x38 0x38 0x44 0x82 0x82 0x82 0xfe 0x30 0x30 0x30 0xfe 0x2 0x1e 0xf0 0x80 0xfe 0x0 0x0 0x0 0x0 0x6 0x6 0x0 0x0 0x0 0x60 0x60 0xc0 0x0 0x0 0x0 0x0 0x0 0x0 0x18 0x18 0x18 0x18 0x0 0x18 0x7c 0xc6 0xc 0x18 0x0 0x18 0x0 0x0 0xfe 0xfe 0x0 0x0 0xfe 0x82 0x86 0x86 0x86 0xfe 0x8 0x8 0x8 0x18 0x18 0x18 0xfe 0x2 0xfe 0xc0 0xc0 0xfe 0xfe 0x2 0x1e 0x6 0x6 0xfe 0x84 0xc4 0xc4 0xfe 0x4 0x4 0xfe 0x80 0xfe 0x6 0x6 0xfe 0xc0 0xc0 0xc0 0xfe 0x82 0xfe 0xfe 0x2 0x2 0x6 0x6 0x6 0x7c 0x44 0xfe 0x86 0x86 0xfe 0xfe 0x82 0xfe 0x6 0x6 0x6 0x44 0xfe 0x44 0x44 0xfe 0x44 | |
: D6 | |
0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x6c 0x5a 0x0 0xc 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x5a 0x66 0x54 0x24 0x66 0x0 0x48 0x48 0x18 0x12 0xa8 0x6 0x90 0xa8 0x12 0x0 0x7e 0x30 0x12 0xa8 0x84 0x30 0x4e 0x72 0x18 0x66 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x90 0x54 0x78 0xa8 0x48 0x78 0x6c 0x72 0xa8 0x12 0x18 0x6c 0x72 0x66 0x54 0x90 0xa8 0x72 0x2a 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x72 0x54 0xa8 0x5a 0x66 0x18 0x7e 0x18 0x4e 0x72 0xa8 0x72 0x2a 0x18 0x30 0x66 0xa8 0x30 0x4e 0x7e 0x0 0x6c 0x30 0x54 0x4e 0x9c 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0x48 0x54 0x7e 0x18 0xa8 0x90 0x54 0x78 0x66 0xa8 0x6c 0x2a 0x30 0x5a 0xa8 0x84 0x30 0x72 0x2a 0xa8 0xd8 0xa8 0x0 0x4e 0x12 0xa8 0xe4 0xa2 0xa8 0x0 0x4e 0x12 0xa8 0x6c 0x2a 0x54 0x54 0x72 0xa8 0x84 0x30 0x72 0x2a 0xa8 0xde 0x9c 0xa8 0x72 0x2a 0x18 0xa8 0xc 0x54 0x48 0x5a 0x78 0x72 0x18 0x66 0xa8 0x66 0x18 0x5a 0x54 0x66 0x72 0x6c 0xa8 0x72 0x2a 0x0 0x72 0xa8 0x72 0x2a 0x18 0xa8 0x30 0x4e 0x7e 0x0 0x12 0x18 0x66 0x6c 0xa8 0x0 0x66 0x18 0xa8 0x30 0x4e 0xc 0x66 0x18 0x0 0x6c 0x30 0x4e 0x24 0xa8 0x72 0x2a 0x18 0x30 0x66 0xa8 0x1e 0x54 0x66 0xc 0x18 0x9c 0xa8 0x24 0x54 0x54 0x12 0xa8 0x42 0x78 0xc 0x3c 0xa8 0xae 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xa8 0xff | |
: D7 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Spooky Spot [Joseph Weisbecker, 1978].ch8 | |
###################################################################### | |
:proto L3 # 236 | |
:proto L4 # 240 | |
:proto Sub1 # 242 | |
:proto Sub2 # 254 | |
:proto Sub3 # 25A | |
:proto Sub4 # 26A | |
:proto D1 # 270 | |
:proto D2 # 280 | |
:proto D3 # 290 | |
: main | |
clear | |
Sub1 | |
Sub2 | |
vA := key | |
i := D3 | |
v1 := 0 | |
v2 := 16 | |
: L1 | |
sprite v1 v2 1 | |
if vF != 0 then jump L3 | |
vA := 4 | |
buzzer := vA | |
vA := 10 | |
delay := vA | |
loop | |
vA := delay | |
if vA != 0 then | |
again | |
v1 += 1 | |
vA := random 0b1 | |
if vA != 1 then vA := -1 | |
v2 += vA | |
if v2 == 7 then v2 += 1 | |
if v2 == 24 then v2 += -1 | |
jump L1 | |
: L3 | |
vA := 16 | |
vA &= v2 | |
if vA != 0 then jump L4 | |
Sub3 | |
: L4 | |
Sub4 | |
: Sub1 | |
i := D1 | |
v4 := 8 | |
: L5 | |
v3 := 48 | |
sprite v3 v4 8 | |
vA := 8 | |
i += vA | |
v3 += 8 | |
sprite v3 v4 8 | |
return | |
: Sub2 | |
i := D2 | |
v4 := 16 | |
jump L5 | |
: Sub3 | |
v4 := 8 | |
: L6 | |
v3 := 49 | |
i := D3 | |
loop | |
sprite v3 v4 8 | |
v3 += 1 | |
if v3 != 64 then | |
again | |
loop | |
again | |
: Sub4 | |
v4 := 16 | |
jump L6 | |
0x1 0x1 | |
: D1 | |
0x7f 0x7f 0x6a 0x6a 0x62 0x76 0x76 0x7f 0xff 0xff 0x23 0xef 0x63 0xfb 0x23 0xff | |
: D2 | |
0x7f 0x76 0x72 0x70 0x74 0x76 0x7f 0x7f 0xff 0x87 0xb7 0xb7 0xb7 0x87 0xff 0xff | |
: D3 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0xd4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Squash [David Winter].ch8 | |
###################################################################### | |
:proto L4 # 25C | |
:proto L5 # 26A | |
:proto Sub1 # 2AE | |
:proto Sub2 # 2B8 | |
:proto D1 # 2C8 | |
:proto D2 # 2CD | |
:proto D3 # 2D2 | |
:proto D4 # 2D3 | |
: main | |
i := D3 | |
v0 := 0 | |
v1 := 0 | |
v2 := 30 | |
loop | |
sprite v0 v1 1 | |
sprite v0 v2 1 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
i := D2 | |
v0 := 62 | |
v1 := 1 | |
loop | |
sprite v0 v1 5 | |
v1 += 5 | |
if v1 != 26 then | |
again | |
sprite v0 v1 4 | |
v3 := 0 | |
v4 := random 0b1111 | |
v4 += 8 | |
v5 := 1 | |
v4 |= v5 | |
v5 := 3 | |
v6 := 2 | |
v7 := 1 | |
v8 := v4 | |
v8 += 2 | |
v9 := 1 | |
vA := 4 | |
vB := 5 | |
Sub2 | |
i := D1 | |
sprite v3 v4 5 | |
sprite v7 v8 1 | |
: L3 | |
loop | |
vC := 1 | |
Sub1 | |
i := D1 | |
vC := v7 | |
vD := v8 | |
if v9 -key then jump L4 | |
if v4 == 1 then jump L4 | |
sprite v3 v4 5 | |
v4 += -1 | |
sprite v3 v4 5 | |
: L4 | |
if vA -key then jump L5 | |
if v4 == 25 then jump L5 | |
sprite v3 v4 5 | |
v4 += 1 | |
sprite v3 v4 5 | |
: L5 | |
v7 += v5 | |
v8 += v6 | |
if v7 == 1 then v5 := 3 | |
if v7 == 61 then v5 := -3 | |
if v8 == 1 then v6 := 2 | |
if v8 == 29 then v6 := -2 | |
sprite vC vD 1 | |
sprite v7 v8 1 | |
if v7 != 1 then | |
again | |
vC := v8 | |
vC -= v4 | |
vD := 0 | |
loop | |
if vC == vD then jump L3 | |
vD += 1 | |
if vD != 5 then | |
again | |
vC := key | |
Sub2 | |
vB += -1 | |
Sub2 | |
if vB != -1 then jump L3 | |
Sub2 | |
vB := 0 | |
loop | |
Sub2 | |
vC := 30 | |
Sub1 | |
again | |
: Sub1 | |
delay := vC | |
loop | |
vC := delay | |
if vC != 0 then | |
again | |
return | |
: Sub2 | |
i := D4 | |
bcd vB | |
load v2 | |
i := hex v2 | |
v0 := 57 | |
v1 := 2 | |
sprite v0 v1 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0xe0 0xe0 0xe0 0xe0 0xe0 | |
: D3 | |
0xff | |
: D4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Submarine [Carmelo Cortez, 1978].ch8 | |
###################################################################### | |
:proto L3 # 23C | |
:proto L4 # 242 | |
:proto L5 # 286 | |
:proto L6 # 28C | |
:proto L7 # 292 | |
:proto L8 # 296 | |
:proto Sub1 # 2A2 | |
:proto Sub2 # 2AC | |
:proto Sub3 # 2B6 | |
:proto D1 # 2CD | |
:proto D2 # 2D0 | |
:proto D3 # 2D4 | |
:proto D4 # 2D7 | |
:proto L9 # 2D8 | |
:proto D5 # 2F8 | |
:proto D6 # 300 | |
:proto D7 # 305 | |
:proto D8 # 30A | |
:proto D9 # 30F | |
: main | |
i := D1 | |
v9 := 56 | |
vA := 30 | |
sprite v9 vA 2 | |
i := D2 | |
vB := 0 | |
vC := 26 | |
sprite vB vC 2 | |
i := D3 | |
v4 := 60 | |
v6 := 6 | |
sprite v4 v6 3 | |
v7 := 0 | |
v8 := 25 | |
Sub1 | |
: L1 | |
Sub2 | |
if v8 == 0 then jump L9 | |
v5 := 9 | |
i := D4 | |
v3 := 0 | |
: L2 | |
vD := 5 | |
if vD key then v3 := 1 | |
vE := v4 | |
if vD key then sprite vE v5 1 | |
jump L3 | |
0xed 0xa1 0x22 0xd8 | |
: L3 | |
loop | |
i := D3 | |
sprite v4 v6 3 | |
jump L4 | |
: L4 | |
v4 += -1 | |
sprite v4 v6 3 | |
i := D2 | |
sprite vB vC 2 | |
vD := random 0b100 | |
vB += vD | |
sprite vB vC 2 | |
if vF != 0 then jump L7 | |
i := D1 | |
sprite v9 vA 2 | |
vD := random 0b111 | |
if vD == 0 then v9 += 3 | |
v9 += -3 | |
sprite v9 vA 2 | |
if vF != 0 then jump L6 | |
if v3 == 0 then jump L2 | |
i := D4 | |
sprite vE v5 1 | |
if v5 == 31 then jump L5 | |
v5 += 2 | |
buzzer := v3 | |
sprite vE v5 1 | |
if vF != 1 then | |
again | |
vD := 31 | |
vD &= v5 | |
if vD == 31 then jump L6 | |
jump L7 | |
: L5 | |
Sub2 | |
v8 += -1 | |
jump L1 | |
: L6 | |
Sub1 | |
v7 += 5 | |
jump L8 | |
: L7 | |
Sub1 | |
v7 += 10 | |
: L8 | |
Sub1 | |
vD := 3 | |
buzzer := vD | |
i := D4 | |
sprite vE v5 1 | |
jump L5 | |
: Sub1 | |
i := D5 | |
bcd v7 | |
v3 := 0 | |
Sub3 | |
return | |
: Sub2 | |
i := D5 | |
bcd v8 | |
v3 := 50 | |
Sub3 | |
return | |
: Sub3 | |
vD := 0 | |
load v2 | |
i := hex v0 | |
sprite v3 vD 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 vD 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 vD 5 | |
return | |
0x1 | |
: D1 | |
0x8 0x7f 0x7c | |
: D2 | |
0x8 0x3e 0x60 0x8 | |
: D3 | |
0x18 0x3c 0xff | |
: D4 | |
0x8 | |
: L9 | |
i := D6 | |
v3 := 17 | |
vD := 11 | |
sprite v3 vD 5 | |
i := D7 | |
v3 := 25 | |
sprite v3 vD 5 | |
i := D8 | |
v3 := 35 | |
sprite v3 vD 5 | |
i := D9 | |
v3 := 43 | |
sprite v3 vD 5 | |
v3 := 0 | |
loop | |
again | |
0x6d 0xb | |
: D5 | |
0x0 0x1 0x4 0x0 0x0 0xee 0x0 0x1 | |
: D6 | |
0xee 0x8a 0x8a 0xaa 0xee | |
: D7 | |
0xef 0xa5 0xa5 0xa5 0xef | |
: D8 | |
0x7a 0x2a 0x3b 0x29 0x79 | |
: D9 | |
0xba 0xa2 0xb2 0x20 0x3a 0x34 0x3a 0x3c 0xd6 0x54 0x1c 0xc 0x40 0x9e 0x25 0x68 0xc | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Sum Fun [Joyce Weisbecker].ch8 | |
###################################################################### | |
:proto L3 # 22C | |
:proto L4 # 24A | |
:proto Sub1 # 25A | |
:proto Sub2 # 262 | |
:proto Sub3 # 270 | |
:proto Sub4 # 282 | |
:proto Sub5 # 28A | |
:proto Sub6 # 294 | |
:proto Sub7 # 29A | |
:proto L8 # 2A4 | |
:proto D1 # 2B0 | |
: main | |
clear | |
vA := 0 | |
Sub2 | |
v3 := 128 | |
Sub5 | |
v5 := 20 | |
loop | |
v0 := random 0b11 | |
v1 := random 0b11 | |
v2 := random 0b11 | |
v4 := 0 | |
v4 += v0 | |
v4 += v1 | |
v4 += v2 | |
Sub1 | |
jump L8 | |
: L2 | |
loop | |
v3 := 144 | |
Sub4 | |
if v4 key then jump L3 | |
if v6 != 0 then v6 += -1 | |
again | |
: L3 | |
Sub6 | |
v3 := 16 | |
Sub4 | |
Sub7 | |
v3 := 128 | |
Sub5 | |
clear | |
vA += v6 | |
Sub2 | |
v5 += -1 | |
if v5 == 0 then jump L4 | |
v3 := 96 | |
Sub5 | |
again | |
: L4 | |
v4 := 18 | |
loop | |
buzzer := v4 | |
v3 := 26 | |
Sub5 | |
v4 += -2 | |
if v4 != 0 then | |
again | |
loop | |
again | |
: Sub1 | |
v8 := 16 | |
v9 := 19 | |
Sub3 | |
return | |
: Sub2 | |
v8 := 48 | |
v9 := 0 | |
i := D1 | |
bcd vA | |
load v2 | |
Sub3 | |
return | |
: Sub3 | |
i := hex v0 | |
sprite v8 v9 5 | |
v8 += 6 | |
i := hex v1 | |
sprite v8 v9 5 | |
v8 += 6 | |
i := hex v2 | |
sprite v8 v9 5 | |
return | |
: Sub4 | |
loop | |
v3 += -1 | |
if v3 != 0 then | |
again | |
return | |
: Sub5 | |
delay := v3 | |
loop | |
v3 := delay | |
if v3 != 0 then | |
again | |
return | |
: Sub6 | |
v3 := 2 | |
buzzer := v3 | |
return | |
: Sub7 | |
v8 := 22 | |
v9 := 10 | |
i := hex v4 | |
sprite v8 v9 5 | |
return | |
: L8 | |
v6 := 10 | |
v3 := 128 | |
Sub4 | |
if v4 key then jump L3 | |
jump L2 | |
: D1 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Syzygy [Roy Trevino, 1990].ch8 | |
###################################################################### | |
:proto L1 # 212 | |
:proto L3 # 224 | |
:proto L4 # 228 | |
:proto L5 # 22C | |
:proto L7 # 28C | |
:proto L8 # 294 | |
:proto L9 # 29C | |
:proto L11 # 324 | |
:proto L12 # 33E | |
:proto L14 # 358 | |
:proto L15 # 388 | |
:proto L18 # 3AA | |
:proto L19 # 3DE | |
:proto L20 # 424 | |
:proto L21 # 432 | |
:proto L22 # 43A | |
:proto L23 # 444 | |
:proto L25 # 47C | |
:proto L26 # 482 | |
:proto L27 # 490 | |
:proto L28 # 496 | |
:proto Sub1 # 49A | |
:proto Sub2 # 4B6 | |
:proto Sub3 # 4DA | |
:proto Sub4 # 522 | |
:proto D1 # 54C | |
:proto D2 # 54E | |
:proto D3 # 550 | |
:proto D4 # 552 | |
:proto D5 # 562 | |
:proto D6 # 56C | |
:proto D7 # 576 | |
:proto D8 # 580 | |
:proto D9 # 58A | |
:proto D10 # 58E | |
:proto D11 # 592 | |
:proto D12 # 598 | |
:proto D13 # 59E | |
:proto D14 # 5A4 | |
:proto D15 # 5AA | |
:proto D16 # 5AE | |
:proto D17 # 800 | |
: main | |
jump L1 | |
0x8d 0x8d 0x20 0xa9 0x31 0x39 0x39 0x30 0x20 0x52 0x54 0x54 0x20 0x8e 0x8e 0x0 | |
: L1 | |
Sub2 | |
Sub3 | |
loop | |
v0 := 15 | |
if v0 key then jump L3 | |
v0 := 14 | |
if v0 key then jump L4 | |
again | |
: L3 | |
Sub3 | |
jump L5 | |
: L4 | |
clear | |
jump L5 | |
: L5 | |
v1 := random 0b11111 | |
v1 += 16 | |
v2 := random 0b1111 | |
v2 += 8 | |
v3 := random 0b11 | |
v5 := v3 | |
v6 := v1 | |
v7 := v2 | |
v8 := v3 | |
if v8 == 0 then v7 += 1 | |
if v8 == 1 then v7 += -1 | |
if v8 == 2 then v6 += 1 | |
if v8 == 3 then v6 += -1 | |
i := D1 | |
sprite v1 v2 1 | |
sprite v6 v7 1 | |
v4 := -16 | |
v9 := -15 | |
i := D17 | |
i += v4 | |
v0 := v3 | |
save v0 | |
v4 += 1 | |
i := D17 | |
i += v4 | |
v0 := 1 | |
save v0 | |
Sub4 | |
vA := 0 | |
vA += 0 | |
: L6 | |
loop | |
v0 := delay | |
if v0 != 0 then jump L9 | |
if vD != 0 then jump L8 | |
v0 := 0 | |
i := hex v0 | |
sprite vB vC 5 | |
if vF != 1 then jump L7 | |
sprite vB vC 5 | |
Sub4 | |
delay := v0 | |
jump L9 | |
: L7 | |
delay := vE | |
vD := 1 | |
vE := 0 | |
jump L9 | |
: L8 | |
v0 := vE | |
i := hex v0 | |
sprite vB vC 5 | |
Sub4 | |
: L9 | |
v0 := 3 | |
if v0 key then v3 := 0 | |
v0 := 6 | |
if v0 key then v3 := 1 | |
v0 := 7 | |
if v0 key then v3 := 2 | |
v0 := 8 | |
if v0 key then v3 := 3 | |
if v3 == 0 then v2 += -1 | |
if v3 == 1 then v2 += 1 | |
if v3 == 2 then v1 += -1 | |
if v3 == 3 then v1 += 1 | |
i := D1 | |
sprite v1 v2 1 | |
if vF != 1 then jump L11 | |
if vD != 1 then jump L15 | |
v0 := 63 | |
v1 &= v0 | |
v0 := 31 | |
v2 &= v0 | |
v0 := vB | |
v0 =- v1 | |
if vF != 1 then jump L15 | |
v0 := vB | |
v0 += 3 | |
v0 -= v1 | |
if vF != 1 then jump L15 | |
v0 := vC | |
v0 =- v2 | |
if vF != 1 then jump L15 | |
v0 := vC | |
v0 += 4 | |
v0 -= v2 | |
if vF != 1 then jump L15 | |
v0 := 4 | |
buzzer := v0 | |
vE := random 0b111 | |
vE += 2 | |
vA += vE | |
i := D1 | |
sprite v1 v2 1 | |
v0 := 0 | |
i := hex v0 | |
sprite vB vC 5 | |
v0 := vE | |
i := hex v0 | |
sprite vB vC 5 | |
v0 := 48 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
i := D1 | |
sprite v1 v2 1 | |
: L11 | |
if v3 == v5 then jump L12 | |
v4 += 1 | |
i := D17 | |
i += v4 | |
v0 := v3 | |
save v0 | |
v4 += 1 | |
i := D17 | |
i += v4 | |
v0 := 0 | |
save v0 | |
v5 := v3 | |
: L12 | |
i := D17 | |
i += v4 | |
load v0 | |
v0 += 1 | |
save v0 | |
if vA == 0 then jump L14 | |
v0 := 12 | |
loop | |
v0 += -1 | |
if v0 != 0 then | |
again | |
vA += -1 | |
jump L6 | |
: L14 | |
i := D1 | |
sprite v6 v7 1 | |
if v8 == 0 then v7 += -1 | |
if v8 == 1 then v7 += 1 | |
if v8 == 2 then v6 += -1 | |
if v8 == 3 then v6 += 1 | |
i := D17 | |
i += v9 | |
load v0 | |
v0 += -1 | |
save v0 | |
if v0 != 0 then jump L6 | |
v9 += 1 | |
i := D17 | |
i += v9 | |
load v0 | |
v8 := v0 | |
v9 += 1 | |
again | |
: L15 | |
v0 := 13 | |
buzzer := v0 | |
v0 := 11 | |
loop | |
if v0 -key then | |
again | |
vB := 1 | |
vC := 0 | |
vD := 0 | |
: L17 | |
loop | |
vB += 1 | |
if vB != 10 then jump L18 | |
vB := 0 | |
vC += 1 | |
if vC != 10 then jump L18 | |
vC := 0 | |
vD += 1 | |
: L18 | |
i := D1 | |
sprite v6 v7 1 | |
if v8 == 0 then v7 += -1 | |
if v8 == 1 then v7 += 1 | |
if v8 == 2 then v6 += -1 | |
if v8 == 3 then v6 += 1 | |
i := D17 | |
i += v9 | |
load v0 | |
v0 += -1 | |
save v0 | |
if v0 != 0 then jump L17 | |
if v9 == v4 then jump L19 | |
v9 += 1 | |
i := D17 | |
i += v9 | |
load v0 | |
v8 := v0 | |
v9 += 1 | |
again | |
: L19 | |
clear | |
v6 := 17 | |
v7 := 9 | |
v8 := 47 | |
v9 := 23 | |
i := D4 | |
sprite v6 v7 14 | |
sprite v8 v7 14 | |
v7 += -1 | |
i := D2 | |
sprite v6 v7 1 | |
sprite v6 v9 1 | |
v6 += 8 | |
sprite v6 v7 1 | |
sprite v6 v9 1 | |
v6 += 8 | |
sprite v6 v7 1 | |
sprite v6 v9 1 | |
v6 += 8 | |
i := D3 | |
sprite v6 v7 1 | |
sprite v6 v9 1 | |
i := D13 | |
v6 := 19 | |
v7 := 17 | |
Sub1 | |
i := D16 | |
load v3 | |
if v3 == vD then jump L20 | |
v0 := v3 | |
v0 -= vD | |
if vF != 1 then jump L22 | |
jump L23 | |
: L20 | |
if v2 == vC then jump L21 | |
v0 := v2 | |
v0 -= vC | |
if vF != 1 then jump L22 | |
jump L23 | |
: L21 | |
v0 := v1 | |
v0 -= vB | |
if vF != 0 then jump L23 | |
: L22 | |
i := D16 | |
v3 := vD | |
v2 := vC | |
v1 := vB | |
save v3 | |
: L23 | |
i := D16 | |
load v3 | |
v6 := 19 | |
v7 += -7 | |
vD := v3 | |
vC := v2 | |
vB := v1 | |
i := D14 | |
Sub1 | |
loop | |
v1 := random 0b111111 | |
v2 := random 0b11111 | |
v0 := 13 | |
v0 -= v1 | |
if vF != 0 then jump L25 | |
v0 := 48 | |
v0 =- v1 | |
if vF != 0 then jump L25 | |
v0 := 3 | |
v0 -= v2 | |
if vF != 0 then jump L25 | |
v0 := 24 | |
v0 =- v2 | |
if vF != 0 then jump L25 | |
jump L26 | |
: L25 | |
v3 := random 0b1111 | |
i := hex v3 | |
sprite v1 v2 5 | |
: L26 | |
v0 := 15 | |
if v0 key then jump L27 | |
v0 := 14 | |
if v0 key then jump L28 | |
again | |
: L27 | |
clear | |
Sub2 | |
jump L5 | |
: L28 | |
clear | |
jump L5 | |
: Sub1 | |
sprite v6 v7 5 | |
i := D15 | |
v6 += 2 | |
sprite v6 v7 4 | |
i := hex vD | |
v6 += 10 | |
sprite v6 v7 5 | |
i := hex vC | |
v6 += 5 | |
sprite v6 v7 5 | |
i := hex vB | |
v6 += 5 | |
sprite v6 v7 5 | |
return | |
: Sub2 | |
i := D2 | |
v1 := 0 | |
v2 := 0 | |
v6 := 31 | |
loop | |
sprite v1 v2 1 | |
sprite v1 v6 1 | |
v1 += 8 | |
if v1 != 64 then | |
again | |
i := D4 | |
v2 := 1 | |
v5 := 63 | |
sprite v1 v2 15 | |
sprite v5 v2 15 | |
v2 += 15 | |
sprite v1 v2 15 | |
sprite v5 v2 15 | |
return | |
: Sub3 | |
v1 := 12 | |
v2 := 7 | |
i := D5 | |
sprite v1 v2 10 | |
i := D6 | |
v1 += 6 | |
sprite v1 v2 10 | |
i := D7 | |
v1 += 6 | |
sprite v1 v2 10 | |
i := D6 | |
v1 += 6 | |
sprite v1 v2 10 | |
i := D8 | |
v1 += 6 | |
sprite v1 v2 10 | |
i := D6 | |
v1 += 6 | |
sprite v1 v2 10 | |
v1 := 14 | |
v2 := 24 | |
i := D9 | |
sprite v1 v2 3 | |
i := D10 | |
v1 += 8 | |
v2 += -1 | |
sprite v1 v2 4 | |
v1 += 9 | |
v2 += -2 | |
i := D11 | |
sprite v1 v2 6 | |
v1 += 6 | |
v2 += 1 | |
i := D12 | |
sprite v1 v2 5 | |
return | |
: Sub4 | |
vD := 197 | |
loop | |
vB := random 0b111111 | |
vE := vB | |
vE += vD | |
if vF == 1 then | |
again | |
vB += 1 | |
vD := -26 | |
loop | |
vC := random 0b11111 | |
vE := vC | |
vE += vD | |
if vF == 1 then | |
again | |
vC += 1 | |
vD := 0 | |
vE := random 0b111111 | |
vE += 64 | |
delay := vE | |
vE := random 0b111111 | |
vE += 64 | |
return | |
: D1 | |
0x80 0x0 | |
: D2 | |
0xff 0x0 | |
: D3 | |
0xfe 0x0 | |
: D4 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D5 | |
0x1f 0x10 0x10 0x10 0x1f 0x1 0x1 0x1 0x1 0x1f | |
: D6 | |
0x11 0x11 0x11 0x11 0x1f 0x4 0x4 0x4 0x4 0x4 | |
: D7 | |
0x1f 0x1 0x2 0x2 0x4 0x4 0x8 0x8 0x10 0x1f | |
: D8 | |
0x1f 0x11 0x10 0x10 0x10 0x13 0x11 0x11 0x11 0x1f | |
: D9 | |
0x5 0x5 0x2 0x0 | |
: D10 | |
0x71 0x51 0x51 0x75 | |
: D11 | |
0xc 0x12 0x1e 0x14 0x12 0x9 | |
: D12 | |
0x14 0x3e 0x15 0x15 0x2a 0x0 | |
: D13 | |
0x77 0x44 0x24 0x14 0x77 0x0 | |
: D14 | |
0x57 0x52 0x72 0x52 0x57 0x0 | |
: D15 | |
0x0 0x1 0x0 0x1 | |
: D16 | |
0x0 0x0 0x0 0x0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D17 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Tank.ch8 | |
###################################################################### | |
:proto L2 # 230 | |
:proto Sub1 # 27C | |
:proto L6 # 288 | |
:proto Sub2 # 2AE | |
:proto Sub3 # 2C6 | |
:proto Sub4 # 2EC | |
:proto Sub5 # 30A | |
:proto Sub6 # 314 | |
:proto L8 # 332 | |
:proto L10 # 344 | |
:proto Sub7 # 362 | |
:proto L11 # 366 | |
:proto L12 # 382 | |
:proto L13 # 384 | |
:proto L14 # 38C | |
:proto Sub8 # 39A | |
:proto Sub9 # 3AC | |
:proto Sub10 # 3BE | |
:proto L16 # 3CE | |
:proto Sub11 # 3D4 | |
:proto Sub12 # 3EC | |
:proto Sub13 # 3F2 | |
:proto D7 # 3FF | |
:proto D8 # 419 | |
:proto D9 # 41A | |
:proto D10 # 41F | |
:proto D11 # 427 | |
: main | |
jump L2 | |
: L1 | |
v6 += -5 | |
v0 := 32 | |
v0 -= v6 | |
if vF == 0 then v6 := 0 | |
jump L13 | |
0x0 0xff 0x0 0x0 | |
: D1 | |
0x0 0x1 0x0 0xc 0xa | |
: D2 | |
0x0 0x19 | |
: D3 | |
0x2 0x4 0x6 0x8 | |
: D4 | |
0x2 0x2 0x3 0x2c 0x0 0xf | |
: D5 | |
0x0 0x2 0x5 0x2e 0x8 0x0 | |
: D6 | |
0x0 0x2 0x5 0x0 0x0 0x0 0x0 | |
: L2 | |
vE := 0 | |
vD := 160 | |
vA := 8 | |
v9 := 6 | |
v8 := 4 | |
v7 := 2 | |
v6 := 25 | |
v4 := 16 | |
v3 := 12 | |
v2 := 0 | |
v1 := 6 | |
i := D1 | |
save vA | |
: L3 | |
Sub11 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
Sub11 | |
Sub5 | |
Sub7 | |
i := D1 | |
load v5 | |
Sub2 | |
loop | |
Sub3 | |
Sub4 | |
if vF != 1 then Sub6 | |
if vF != 1 then Sub4 | |
if vF != 1 then Sub4 | |
if vF != 1 then Sub1 | |
if vF == 1 then jump L11 | |
again | |
: Sub1 | |
i := D1 | |
load v5 | |
if v6 == 0 then if v5 != 0 then jump L6 | |
jump L14 | |
: L6 | |
if v7 key then v2 := 9 | |
if v8 key then v2 := 4 | |
if v9 key then v2 := 6 | |
if vA key then v2 := 1 | |
if v2 == 0 then return | |
Sub2 | |
v1 := v2 | |
Sub8 | |
Sub9 | |
vC := 1 | |
v2 := 0 | |
vF := 0 | |
i := D1 | |
save v5 | |
: Sub2 | |
i := D7 | |
if v1 == 1 then v0 := 0 | |
if v1 == 4 then v0 := 19 | |
if v1 == 6 then v0 := 13 | |
if v1 == 9 then v0 := 6 | |
i += v0 | |
sprite v3 v4 7 | |
return | |
: Sub3 | |
v0 := 5 | |
if v0 -key then return | |
if v5 == 15 then return | |
v5 := 15 | |
v6 += -1 | |
i := D1 | |
save v5 | |
v4 += 3 | |
v3 += 3 | |
Sub8 | |
Sub8 | |
Sub8 | |
i := D5 | |
save v5 | |
i := D8 | |
sprite v3 v4 1 | |
return | |
: Sub4 | |
i := D5 | |
load v5 | |
if v5 == 0 then return | |
i := D8 | |
sprite v3 v4 1 | |
Sub8 | |
vC := 2 | |
Sub10 | |
if vB == 187 then jump Sub5 | |
sprite v3 v4 1 | |
: L7 | |
i := D5 | |
save v5 | |
return | |
: Sub5 | |
v5 := 0 | |
v0 := 0 | |
i := D2 | |
save v0 | |
jump L7 | |
: Sub6 | |
i := D4 | |
load v5 | |
if v5 != 15 then jump L10 | |
i := D9 | |
sprite v3 v4 5 | |
if v2 != 0 then jump L8 | |
v1 := random 0b11 | |
i := D3 | |
i += v1 | |
load v0 | |
v1 := v0 | |
v2 := random 0b1111 | |
v2 += 1 | |
: L8 | |
Sub8 | |
i := D9 | |
vC := 3 | |
v2 += -1 | |
vF := 0 | |
sprite v3 v4 5 | |
: L9 | |
i := D4 | |
save v5 | |
return | |
: L10 | |
v4 := random 0b111 | |
i := D10 | |
i += v4 | |
load v0 | |
v3 := v0 | |
i := D11 | |
i += v4 | |
load v0 | |
v4 := v0 | |
i := D9 | |
sprite v3 v4 5 | |
v0 := 32 | |
buzzer := v0 | |
v5 := 15 | |
jump L9 | |
: Sub7 | |
v5 := 0 | |
jump L9 | |
: L11 | |
if vC == 1 then jump L1 | |
if vC == 2 then jump L12 | |
i := D5 | |
load v5 | |
if v5 == 0 then jump L1 | |
i := D8 | |
sprite v3 v4 1 | |
vF := 0 | |
sprite v3 v4 1 | |
if vF != 1 then jump L1 | |
: L12 | |
vE += 10 | |
: L13 | |
v0 := 64 | |
buzzer := v0 | |
clear | |
jump L3 | |
: L14 | |
clear | |
Sub11 | |
v0 := 96 | |
buzzer := v0 | |
loop | |
again | |
0x6e 0x0 0x13 0x84 | |
: Sub8 | |
if v1 == 1 then v4 += -1 | |
if v1 == 4 then v3 += -1 | |
if v1 == 6 then v3 += 1 | |
if v1 == 9 then v4 += 1 | |
return | |
: Sub9 | |
if v4 == 0 then v4 += 1 | |
if v3 == 0 then v3 += 1 | |
if v3 == 56 then v3 += -1 | |
if v4 == 24 then v4 += -1 | |
return | |
: Sub10 | |
vB := 0 | |
if v4 == 0 then jump L16 | |
if v3 == 0 then jump L16 | |
if v3 == 63 then jump L16 | |
if v4 == 31 then : L16 | |
vB := 187 | |
vF := 0 | |
return | |
: Sub11 | |
v3 := 8 | |
v4 := 8 | |
i := D6 | |
bcd vE | |
load v2 | |
Sub12 | |
v3 := 40 | |
i := D6 | |
bcd v6 | |
load v2 | |
Sub13 | |
return | |
: Sub12 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 6 | |
: Sub13 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
0x1 | |
: D7 | |
0x10 0x54 0x7c 0x6c 0x7c 0x7c 0x44 0x7c 0x7c 0x6c 0x7c 0x54 0x10 0x0 0xfc 0x78 0x6e 0x78 0xfc 0x0 0x3f 0x1e 0x76 0x1e 0x3f 0x0 | |
: D8 | |
0x80 | |
: D9 | |
0xa8 0x70 0xf8 0x70 0xa8 | |
: D10 | |
0xb 0x1b 0x28 0x38 0x30 0x20 0x10 0x0 | |
: D11 | |
0x0 0x0 0x0 0x8 0x1b 0x1b 0x1b 0x18 0x4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Tapeworm [JDR, 1999].ch8 | |
###################################################################### | |
:proto D1 # 206 | |
:proto L1 # 238 | |
:proto L3 # 24A | |
:proto D9 # 25E | |
:proto L5 # 268 | |
:proto D10 # 292 | |
:proto L6 # 2AA | |
:proto L8 # 2CA | |
:proto L12 # 30E | |
: main | |
clear | |
i := D1 | |
jump L1 | |
: D1 | |
0xff | |
: D2 | |
0x80 | |
: D3 | |
0xfb 0x22 0x22 0x23 0x22 0x22 0x22 0x0 | |
: D4 | |
0xef 0x28 0x28 0xef 0x28 0x28 0x28 0x0 | |
: D5 | |
0xbd 0xa1 0xa1 0xb9 0x21 0x20 0x3c 0x0 | |
: D6 | |
0xb 0xa 0xa 0xa 0xa 0xaa 0x53 0x0 | |
: D7 | |
0xef 0x28 0x28 0x2f 0x2a 0x29 0xe8 0x0 | |
: D8 | |
0xb6 0xaa 0xa2 0xa2 0x22 0x22 0xa2 0x0 | |
: L1 | |
v4 := 0 | |
v5 := 0 | |
v6 := 31 | |
loop | |
sprite v4 v5 1 | |
sprite v4 v6 1 | |
v4 += 8 | |
if v4 == 64 then jump L3 | |
again | |
: L3 | |
i := D9 | |
v4 := 0 | |
v5 := 63 | |
v6 := 1 | |
loop | |
sprite v4 v6 10 | |
sprite v5 v6 10 | |
v6 += 10 | |
if v6 == 31 then jump L5 | |
again | |
: D9 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: L5 | |
v4 := 8 | |
v5 := 8 | |
i := D3 | |
sprite v4 v5 7 | |
v4 += 8 | |
i := D4 | |
sprite v4 v5 7 | |
v4 += 8 | |
i := D5 | |
sprite v4 v5 7 | |
v4 += 8 | |
i := D6 | |
sprite v4 v5 7 | |
v4 += 8 | |
i := D7 | |
sprite v4 v5 7 | |
i := D8 | |
v4 += 8 | |
sprite v4 v5 7 | |
i := D10 | |
jump L6 | |
: D10 | |
0xf7 0x14 0x14 0x94 0xf7 0x0 | |
: D11 | |
0x38 0xa8 0xb8 0xb1 0x2a 0x0 | |
: D12 | |
0x4e 0xca 0x4e 0x42 0xee 0x0 | |
: D13 | |
0xee 0xaa 0xee 0x22 0xee 0x0 | |
: L6 | |
v4 := 17 | |
v5 := 19 | |
sprite v4 v5 5 | |
v4 += 8 | |
i := D11 | |
sprite v4 v5 5 | |
v4 += 9 | |
i := D12 | |
sprite v4 v5 5 | |
v4 += 8 | |
i := D13 | |
sprite v4 v5 5 | |
v0 := 15 | |
loop | |
if v0 key then jump L8 | |
again | |
: L8 | |
clear | |
: L9 | |
v5 := 31 | |
v6 := 15 | |
i := D2 | |
v7 := 6 | |
v8 := 2 | |
: L10 | |
sprite v5 v6 1 | |
if vF == 1 then jump L12 | |
delay := v8 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v0 := 2 | |
if v0 key then v7 := 2 | |
v0 := 4 | |
if v0 key then v7 := 4 | |
v0 := 6 | |
if v0 key then v7 := 6 | |
v0 := 8 | |
if v0 key then v7 := 8 | |
if v7 == 2 then v6 += -1 | |
if v7 == 8 then v6 += 1 | |
if v7 == 4 then v5 += -1 | |
if v7 == 6 then v5 += 1 | |
jump L10 | |
: L12 | |
v0 := 6 | |
buzzer := v0 | |
v0 := 15 | |
loop | |
if v0 -key then | |
again | |
clear | |
jump L9 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Tetris [Fran Dachille, 1991].ch8 | |
###################################################################### | |
:proto L5 # 23C | |
:proto L6 # 250 | |
:proto Sub1 # 25C | |
:proto Sub2 # 272 | |
:proto Sub3 # 284 | |
:proto Sub4 # 296 | |
:proto D1 # 2B4 | |
:proto Sub5 # 2B6 | |
:proto D2 # 2C4 | |
:proto Sub6 # 334 | |
:proto Sub7 # 340 | |
:proto Sub8 # 35E | |
:proto Sub9 # 372 | |
:proto L13 # 390 | |
:proto L14 # 394 | |
:proto L15 # 3A6 | |
:proto Sub10 # 3C0 | |
:proto Sub11 # 3E6 | |
:proto D3 # 700 | |
:proto D4 # 804 | |
: main | |
i := D1 | |
Sub11 | |
Sub5 | |
loop | |
v0 += 1 | |
sprite v0 v1 1 | |
if v0 != 37 then | |
again | |
loop | |
v1 += -1 | |
sprite v0 v1 1 | |
v0 := 26 | |
sprite v0 v1 1 | |
v0 := 37 | |
if v1 != 0 then | |
again | |
: L3 | |
loop | |
v4 := random 0b1110000 | |
if v4 == 112 then | |
again | |
v3 := random 0b11 | |
v0 := 30 | |
v1 := 3 | |
Sub1 | |
: L4 | |
delay := v5 | |
sprite v0 v1 4 | |
if vF != 1 then jump L5 | |
sprite v0 v1 4 | |
v1 += -1 | |
sprite v0 v1 4 | |
Sub7 | |
jump L3 | |
: L5 | |
loop | |
if v7 key then Sub2 | |
if v8 key then Sub3 | |
if v9 key then Sub4 | |
if v2 -key then jump L6 | |
v6 := 0 | |
delay := v6 | |
: L6 | |
v6 := delay | |
if v6 != 0 then | |
again | |
sprite v0 v1 4 | |
v1 += 1 | |
jump L4 | |
: Sub1 | |
i := D2 | |
i += v4 | |
v6 := 0 | |
if v3 == 1 then v6 := 4 | |
if v3 == 2 then v6 := 8 | |
if v3 == 3 then v6 := 12 | |
i += v6 | |
return | |
: Sub2 | |
sprite v0 v1 4 | |
v0 += -1 | |
Sub6 | |
if vF != 1 then return | |
sprite v0 v1 4 | |
v0 += 1 | |
Sub6 | |
return | |
: Sub3 | |
sprite v0 v1 4 | |
v0 += 1 | |
Sub6 | |
if vF != 1 then return | |
sprite v0 v1 4 | |
v0 += -1 | |
Sub6 | |
return | |
: Sub4 | |
sprite v0 v1 4 | |
v3 += 1 | |
if v3 == 4 then v3 := 0 | |
Sub1 | |
Sub6 | |
if vF != 1 then return | |
sprite v0 v1 4 | |
v3 += -1 | |
if v3 == -1 then v3 := 3 | |
Sub1 | |
Sub6 | |
return | |
: D1 | |
0x80 0x0 | |
: Sub5 | |
v7 := 5 | |
v8 := 6 | |
v9 := 4 | |
v1 := 31 | |
v5 := 16 | |
v2 := 7 | |
return | |
: D2 | |
0x40 0xe0 0x0 0x0 0x40 0xc0 0x40 0x0 0x0 0xe0 0x40 0x0 0x40 0x60 0x40 0x0 0x40 0x40 0x60 0x0 0x20 0xe0 0x0 0x0 0xc0 0x40 0x40 0x0 0x0 0xe0 0x80 0x0 0x40 0x40 0xc0 0x0 0x0 0xe0 0x20 0x0 0x60 0x40 0x40 0x0 0x80 0xe0 0x0 0x0 0x40 0xc0 0x80 0x0 0xc0 0x60 0x0 0x0 0x40 0xc0 0x80 0x0 0xc0 0x60 0x0 0x0 0x80 0xc0 0x40 0x0 0x0 0x60 0xc0 0x0 0x80 0xc0 0x40 0x0 0x0 0x60 0xc0 0x0 0xc0 0xc0 0x0 0x0 0xc0 0xc0 0x0 0x0 0xc0 0xc0 0x0 0x0 0xc0 0xc0 0x0 0x0 0x40 0x40 0x40 0x40 0x0 0xf0 0x0 0x0 0x40 0x40 0x40 0x40 0x0 0xf0 0x0 0x0 | |
: Sub6 | |
sprite v0 v1 4 | |
v6 := 53 | |
loop | |
v6 += -1 | |
if v6 != 0 then | |
again | |
return | |
: Sub7 | |
i := D1 | |
vC := v1 | |
if vC != 30 then vC += 1 | |
if vC != 30 then vC += 1 | |
if vC != 30 then vC += 1 | |
loop | |
Sub8 | |
if vB == 10 then Sub9 | |
if v1 == vC then return | |
v1 += 1 | |
again | |
: Sub8 | |
v0 := 27 | |
vB := 0 | |
loop | |
sprite v0 v1 1 | |
if vF != 0 then vB += 1 | |
sprite v0 v1 1 | |
v0 += 1 | |
if v0 != 37 then | |
again | |
return | |
: Sub9 | |
v0 := 27 | |
loop | |
sprite v0 v1 1 | |
v0 += 1 | |
if v0 != 37 then | |
again | |
vE := v1 | |
vD := vE | |
vE += -1 | |
: L11 | |
v0 := 27 | |
vB := 0 | |
loop | |
sprite v0 vE 1 | |
if vF != 0 then jump L13 | |
sprite v0 vE 1 | |
jump L14 | |
: L13 | |
sprite v0 vD 1 | |
vB += 1 | |
: L14 | |
v0 += 1 | |
if v0 != 37 then | |
again | |
if vB == 0 then jump L15 | |
vD += -1 | |
vE += -1 | |
if vD != 1 then jump L11 | |
: L15 | |
Sub10 | |
if vF != 1 then Sub10 | |
vA += 1 | |
Sub10 | |
v0 := vA | |
vD := 7 | |
v0 &= vD | |
if v0 == 4 then v5 += -2 | |
if v5 == 2 then v5 := 4 | |
return | |
: Sub10 | |
i := D3 | |
save v2 | |
i := D4 | |
bcd vA | |
load v2 | |
i := hex v0 | |
vD := 50 | |
vE := 0 | |
sprite vD vE 5 | |
vD += 5 | |
i := hex v1 | |
sprite vD vE 5 | |
vD += 5 | |
i := hex v2 | |
sprite vD vE 5 | |
i := D3 | |
load v2 | |
i := D1 | |
return | |
: Sub11 | |
vA := 0 | |
v0 := 25 | |
return | |
0x37 0x23 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D3 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Tic-Tac-Toe [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 218 | |
:proto Sub1 # 27C | |
:proto L8 # 28A | |
:proto Sub2 # 2C8 | |
:proto Sub3 # 344 | |
:proto Sub4 # 34A | |
:proto L10 # 354 | |
:proto L11 # 35A | |
:proto L12 # 35E | |
:proto Sub5 # 366 | |
:proto Sub6 # 388 | |
:proto Sub7 # 394 | |
:proto D1 # 39A | |
:proto D2 # 39B | |
:proto D3 # 3AA | |
:proto D4 # 3AF | |
:proto D5 # 3B4 | |
:proto D6 # 3C4 | |
:proto D7 # 3D4 | |
:proto D8 # 3E6 | |
: main | |
jump L1 | |
0x54 0x49 0x43 0x54 0x41 0x43 0x20 0x62 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
vB := 0 | |
vC := 0 | |
: L2 | |
v0 := vB | |
v1 := vC | |
i := D8 | |
save v1 | |
i := D6 | |
load vF | |
i := D5 | |
save vF | |
i := D8 | |
load v1 | |
vB := v0 | |
vC := v1 | |
clear | |
vE := 1 | |
v0 := 19 | |
v1 := 3 | |
i := D1 | |
: L3 | |
loop | |
sprite v0 v1 1 | |
v0 += 8 | |
if v0 != 43 then jump L3 | |
v0 := 19 | |
v1 += 8 | |
if v1 != 35 then | |
again | |
v0 := 19 | |
v1 := 3 | |
i := D2 | |
loop | |
sprite v0 v1 15 | |
v0 += 8 | |
if v0 != 51 then | |
again | |
v0 := 19 | |
v1 += 15 | |
loop | |
sprite v0 v1 10 | |
v0 += 8 | |
if v0 != 51 then | |
again | |
Sub5 | |
: L6 | |
loop | |
v0 := key | |
v1 := v0 | |
i := D5 | |
i += v0 | |
load v0 | |
if v0 == 0 then jump L8 | |
Sub1 | |
again | |
: Sub1 | |
v0 := 16 | |
buzzer := v0 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: L8 | |
v0 := 2 | |
vE ^= v0 | |
v0 := vE | |
save v0 | |
i := D7 | |
v0 := v1 | |
v0 += -1 | |
v0 += v0 | |
i += v0 | |
load v1 | |
i := D3 | |
if vE != 3 then i := D4 | |
sprite v0 v1 5 | |
Sub2 | |
if vA != 0 then jump L2 | |
i := D5 | |
v1 := 0 | |
v2 := 0 | |
v3 := 1 | |
loop | |
load v0 | |
if v0 != 0 then v1 += 1 | |
i += v3 | |
v2 += 1 | |
if v2 != 16 then | |
again | |
if v1 != 16 then jump L6 | |
jump L2 | |
: Sub2 | |
vA := 0 | |
i := D5 | |
v0 := 1 | |
i += v0 | |
load v8 | |
v9 := 0 | |
v9 += v0 | |
Sub3 | |
v9 += v1 | |
Sub3 | |
v9 += v2 | |
Sub4 | |
v9 := 0 | |
v9 += v3 | |
Sub3 | |
v9 += v4 | |
Sub3 | |
v9 += v5 | |
Sub4 | |
v9 := 0 | |
v9 += v6 | |
Sub3 | |
v9 += v7 | |
Sub3 | |
v9 += v8 | |
Sub4 | |
v9 := 0 | |
v9 += v6 | |
Sub3 | |
v9 += v3 | |
Sub3 | |
v9 += v0 | |
Sub4 | |
v9 := 0 | |
v9 += v7 | |
Sub3 | |
v9 += v4 | |
Sub3 | |
v9 += v1 | |
Sub4 | |
v9 := 0 | |
v9 += v8 | |
Sub3 | |
v9 += v5 | |
Sub3 | |
v9 += v2 | |
Sub4 | |
v9 := 0 | |
v9 += v8 | |
Sub3 | |
v9 += v4 | |
Sub3 | |
v9 += v0 | |
Sub4 | |
v9 := 0 | |
v9 += v6 | |
Sub3 | |
v9 += v4 | |
Sub3 | |
v9 += v2 | |
Sub4 | |
return | |
: Sub3 | |
v9 <<= v0 | |
v9 <<= v0 | |
return | |
: Sub4 | |
if v9 == 21 then jump L10 | |
if v9 == 63 then jump L11 | |
return | |
: L10 | |
Sub5 | |
vB += 1 | |
jump L12 | |
: L11 | |
Sub5 | |
vC += 1 | |
: L12 | |
Sub5 | |
vA := 1 | |
v0 := key | |
return | |
: Sub5 | |
v3 := 5 | |
v4 := 10 | |
i := D4 | |
sprite v3 v4 5 | |
v3 := 2 | |
v4 += 6 | |
i := D8 | |
bcd vB | |
Sub6 | |
v3 := 50 | |
v4 := 10 | |
i := D3 | |
sprite v3 v4 5 | |
v3 := 47 | |
v4 += 6 | |
i := D8 | |
bcd vC | |
: Sub6 | |
load v2 | |
i := hex v0 | |
Sub7 | |
i := hex v1 | |
Sub7 | |
i := hex v2 | |
: Sub7 | |
sprite v3 v4 5 | |
v3 += 5 | |
return | |
: D1 | |
0x7f | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D3 | |
0x1c 0x22 0x22 0x22 0x1c | |
: D4 | |
0x22 0x14 0x8 0x14 0x22 | |
: D5 | |
0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 | |
: D6 | |
0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 | |
: D7 | |
0x13 0x5 0x1b 0x5 0x23 0x5 0x13 0xd 0x1b 0xd 0x23 0xd 0x13 0x15 0x1b 0x15 0x23 0x15 | |
: D8 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Timebomb.ch8 | |
###################################################################### | |
:proto L2 # 21A | |
:proto L3 # 22A | |
:proto Sub1 # 23A | |
:proto L4 # 256 | |
:proto L6 # 274 | |
:proto D1 # 28A | |
: main | |
clear | |
vA := 5 | |
Sub1 | |
: L1 | |
loop | |
v0 := 2 | |
if v0 key then jump L2 | |
v0 := 8 | |
if v0 key then jump L3 | |
v0 := 5 | |
if v0 key then jump L4 | |
jump L1 | |
: L2 | |
if vA == -16 then jump L1 | |
Sub1 | |
vA += 1 | |
Sub1 | |
v0 := 2 | |
buzzer := v0 | |
jump L1 | |
: L3 | |
if vA == 5 then jump L1 | |
Sub1 | |
vA += -1 | |
Sub1 | |
v0 := 2 | |
buzzer := v0 | |
again | |
: Sub1 | |
i := D1 | |
bcd vA | |
load v2 | |
v3 := 25 | |
v4 := 14 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: L4 | |
v0 := 60 | |
delay := v0 | |
: L5 | |
loop | |
v0 := delay | |
if v0 != 0 then jump L5 | |
Sub1 | |
vA += -1 | |
Sub1 | |
v0 := 5 | |
buzzer := v0 | |
if vA == 0 then jump L6 | |
v0 := 60 | |
delay := v0 | |
again | |
: L6 | |
clear | |
v0 := 50 | |
buzzer := v0 | |
v0 := 20 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
vA := 5 | |
Sub1 | |
jump L1 | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Tron.ch8 | |
###################################################################### | |
:proto L2 # 22E | |
:proto L3 # 234 | |
:proto L5 # 24C | |
:proto L7 # 260 | |
:proto L11 # 2D0 | |
:proto L12 # 2DA | |
:proto L13 # 2E2 | |
:proto Sub1 # 2FC | |
:proto Sub2 # 306 | |
:proto Sub3 # 310 | |
:proto Sub4 # 31A | |
:proto Sub5 # 324 | |
:proto Sub6 # 32E | |
:proto Sub7 # 338 | |
:proto Sub8 # 342 | |
:proto D1 # 34C | |
:proto D2 # 355 | |
:proto D3 # 35E | |
:proto D4 # 367 | |
:proto D5 # 370 | |
:proto D6 # 37A | |
: main | |
clear | |
i := D1 | |
v3 := 18 | |
v4 := 11 | |
sprite v3 v4 9 | |
v3 += 8 | |
i := D2 | |
sprite v3 v4 9 | |
v3 += 8 | |
i := D3 | |
sprite v3 v4 9 | |
v3 += 8 | |
i := D4 | |
sprite v3 v4 9 | |
v3 := 0 | |
v4 := 0 | |
: L1 | |
loop | |
v0 := 15 | |
if v0 key then jump L2 | |
v0 := 11 | |
if v0 key then jump L3 | |
again | |
: L2 | |
v5 := 1 | |
clear | |
jump L7 | |
: L3 | |
v5 := 2 | |
clear | |
v0 := 0 | |
v1 := 0 | |
v2 := 31 | |
i := D1 | |
loop | |
sprite v0 v1 1 | |
sprite v0 v2 1 | |
v0 += 8 | |
if v0 == 64 then jump L5 | |
again | |
: L5 | |
v0 := 1 | |
v1 := 0 | |
v2 := 63 | |
i := D5 | |
loop | |
sprite v1 v0 10 | |
sprite v2 v0 10 | |
v0 += 10 | |
if v0 == 31 then jump L7 | |
again | |
: L7 | |
i := D5 | |
vC := 32 | |
vB := 15 | |
vA := 31 | |
vD := 15 | |
v6 := -1 | |
v7 := 0 | |
v8 := 1 | |
v9 := 0 | |
sprite vA vB 1 | |
sprite vC vD 1 | |
v0 := 0 | |
loop | |
if v0 -key then | |
again | |
v0 := 10 | |
buzzer := v0 | |
: L9 | |
v0 := 1 | |
if v0 key then Sub1 | |
v0 += 3 | |
if v0 key then Sub2 | |
v0 += 3 | |
if v0 key then Sub3 | |
v0 += 3 | |
if v0 key then Sub4 | |
v0 := 3 | |
if v0 key then Sub5 | |
v0 += 9 | |
if v0 key then Sub6 | |
v0 += -3 | |
if v0 key then Sub7 | |
v0 += 5 | |
if v0 key then Sub8 | |
vA += v6 | |
vC += v8 | |
vB += v7 | |
vD += v9 | |
sprite vA vB 1 | |
if vF == 1 then jump L11 | |
sprite vC vD 1 | |
if vF == 1 then jump L12 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
jump L9 | |
: L11 | |
clear | |
v4 += 1 | |
if v4 == 10 then v4 := 0 | |
jump L13 | |
: L12 | |
clear | |
v3 += 1 | |
if v3 == 10 then v3 := 0 | |
: L13 | |
v0 := 10 | |
buzzer := v0 | |
i := hex v3 | |
v0 := 25 | |
v1 := 13 | |
sprite v0 v1 5 | |
i := D6 | |
v0 += 6 | |
sprite v0 v1 4 | |
i := hex v4 | |
v0 += 5 | |
sprite v0 v1 5 | |
jump L1 | |
: Sub1 | |
if v7 == 1 then return | |
v6 := 0 | |
v7 := -1 | |
return | |
: Sub2 | |
if v7 == -1 then return | |
v6 := 0 | |
v7 := 1 | |
return | |
: Sub3 | |
if v9 == 1 then return | |
v8 := 0 | |
v9 := -1 | |
return | |
: Sub4 | |
if v9 == -1 then return | |
v8 := 0 | |
v9 := 1 | |
return | |
: Sub5 | |
if v6 == 1 then return | |
v6 := -1 | |
v7 := 0 | |
return | |
: Sub6 | |
if v6 == -1 then return | |
v6 := 1 | |
v7 := 0 | |
return | |
: Sub7 | |
if v8 == 1 then return | |
v8 := -1 | |
v9 := 0 | |
return | |
: Sub8 | |
if v8 == -1 then return | |
v8 := 1 | |
v9 := 0 | |
return | |
: D1 | |
0xff 0x80 0xbe 0x88 0x88 0x88 0x88 0x80 0xff | |
: D2 | |
0xff 0x0 0xfb 0x8a 0xfa 0x92 0x8b 0x0 0xff | |
: D3 | |
0xff 0x0 0xe8 0x2c 0x2a 0x29 0xe8 0x0 0xff | |
: D4 | |
0xe0 0x20 0xa0 0xa0 0xa0 0xa0 0xa0 0x20 0xe0 | |
: D5 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D6 | |
0x0 0x40 0x0 0x40 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/UFO [Lutz V, 1992].ch8 | |
###################################################################### | |
:proto L5 # 286 | |
:proto L6 # 28C | |
:proto L7 # 292 | |
:proto L8 # 296 | |
:proto Sub1 # 2A2 | |
:proto Sub2 # 2AC | |
:proto Sub3 # 2B6 | |
:proto D1 # 2CD | |
:proto D2 # 2D0 | |
:proto D3 # 2D3 | |
:proto D4 # 2D6 | |
:proto Sub4 # 2D8 | |
:proto D5 # 2F8 | |
: main | |
i := D1 | |
v9 := 56 | |
vA := 8 | |
sprite v9 vA 3 | |
i := D2 | |
vB := 0 | |
vC := 3 | |
sprite vB vC 3 | |
i := D4 | |
v4 := 29 | |
v5 := 31 | |
sprite v4 v5 1 | |
v7 := 0 | |
v8 := 15 | |
Sub1 | |
: L1 | |
Sub2 | |
if v8 == 0 then loop | |
again | |
v4 := 30 | |
v5 := 28 | |
i := D3 | |
sprite v4 v5 3 | |
vE := 0 | |
: L3 | |
v6 := 128 | |
vD := 4 | |
if vD key then v6 := -1 | |
vD := 5 | |
if vD key then v6 := 0 | |
vD := 6 | |
if vD key then v6 := 1 | |
if v6 != 128 then Sub4 | |
loop | |
i := D2 | |
sprite vB vC 3 | |
vD := random 0b1 | |
vB += vD | |
sprite vB vC 3 | |
if vF != 0 then jump L7 | |
i := D1 | |
sprite v9 vA 3 | |
vD := random 0b1 | |
if vD != 0 then vD := -1 | |
v9 += -2 | |
sprite v9 vA 3 | |
if vF != 0 then jump L6 | |
if vE == 0 then jump L3 | |
i := D3 | |
sprite v4 v5 3 | |
if v5 == 0 then jump L5 | |
v5 += -1 | |
v4 += v6 | |
sprite v4 v5 3 | |
if vF != 1 then | |
again | |
vD := 8 | |
vD &= v5 | |
if vD == 8 then jump L6 | |
jump L7 | |
: L5 | |
Sub2 | |
v8 += -1 | |
jump L1 | |
: L6 | |
Sub1 | |
v7 += 5 | |
jump L8 | |
: L7 | |
Sub1 | |
v7 += 15 | |
: L8 | |
Sub1 | |
vD := 3 | |
buzzer := vD | |
i := D3 | |
sprite v4 v5 3 | |
jump L5 | |
: Sub1 | |
i := D5 | |
bcd v7 | |
v3 := 0 | |
Sub3 | |
return | |
: Sub2 | |
i := D5 | |
bcd v8 | |
v3 := 50 | |
Sub3 | |
return | |
: Sub3 | |
vD := 27 | |
load v2 | |
i := hex v0 | |
sprite v3 vD 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 vD 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 vD 5 | |
return | |
0x1 | |
: D1 | |
0x7c 0xfe 0x7c | |
: D2 | |
0x60 0xf0 0x60 | |
: D3 | |
0x40 0xe0 0xa0 | |
: D4 | |
0xf8 0xd4 | |
: Sub4 | |
vE := 1 | |
vD := 16 | |
buzzer := vD | |
return | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D5 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Vers [JMN, 1991].ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L6 # 2B4 | |
:proto L7 # 2B8 | |
:proto L8 # 2BA | |
:proto L11 # 2E4 | |
: main | |
jump L1 | |
0x4a 0x4d 0x4e 0x20 0x31 0x39 0x39 0x31 0x20 0x53 0x4f 0x46 0x54 0x57 0x41 0x52 0x45 0x53 0x20 | |
: D1 | |
0x80 0x80 | |
: D2 | |
0xff 0x0 0x0 | |
: L1 | |
v3 := 0 | |
v7 := 0 | |
: L2 | |
clear | |
i := D2 | |
v0 := 0 | |
v1 := 0 | |
loop | |
sprite v0 v1 1 | |
v1 += -1 | |
sprite v0 v1 1 | |
v1 += 1 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
v1 += 1 | |
i := D1 | |
loop | |
sprite v0 v1 2 | |
v0 += -1 | |
sprite v0 v1 2 | |
v0 += 1 | |
v1 += 2 | |
if v1 != 31 then | |
again | |
v0 := 8 | |
v1 := 16 | |
v2 := 4 | |
v4 := 55 | |
v5 := 15 | |
v6 := 2 | |
sprite v0 v1 1 | |
sprite v4 v5 1 | |
loop | |
v8 := 1 | |
if v8 key then v2 := 2 | |
v8 := 2 | |
if v8 key then v2 := 4 | |
v8 := 7 | |
if v8 key then v2 := 1 | |
v8 := 10 | |
if v8 key then v2 := 3 | |
v8 := 11 | |
if v8 key then v6 := 2 | |
v8 := 15 | |
if v8 key then v6 := 4 | |
v8 := 12 | |
if v8 key then v6 := 1 | |
v8 := 13 | |
if v8 key then v6 := 3 | |
if v2 == 1 then v1 += -1 | |
if v2 == 2 then v0 += -1 | |
if v2 == 3 then v1 += 1 | |
if v2 == 4 then v0 += 1 | |
if v6 == 1 then v5 += -1 | |
if v6 == 2 then v4 += -1 | |
if v6 == 3 then v5 += 1 | |
if v6 == 4 then v4 += 1 | |
sprite v0 v1 1 | |
if vF != 0 then jump L6 | |
sprite v4 v5 1 | |
if vF != 0 then jump L7 | |
again | |
: L6 | |
v7 += 1 | |
jump L8 | |
: L7 | |
v3 += 1 | |
: L8 | |
v8 := 0 | |
loop | |
v8 += 1 | |
if v8 != 0 then | |
again | |
clear | |
v0 := 8 | |
v1 := 4 | |
i := hex v3 | |
sprite v0 v1 5 | |
v0 := 52 | |
i := hex v7 | |
sprite v0 v1 5 | |
v8 := 0 | |
loop | |
v8 += 1 | |
if v8 != 0 then | |
again | |
if v3 == 8 then jump L11 | |
if v7 == 8 then jump L11 | |
jump L2 | |
: L11 | |
loop | |
again | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Vertical Brix [Paul Robson, 1996].ch8 | |
###################################################################### | |
:proto Sub1 # 24A | |
:proto D1 # 254 | |
:proto Sub2 # 25A | |
:proto L6 # 268 | |
:proto L7 # 272 | |
:proto L8 # 27C | |
:proto Sub3 # 288 | |
:proto D2 # 2BA | |
:proto Sub4 # 2C0 | |
:proto Sub5 # 2D0 | |
:proto Sub6 # 346 | |
:proto D3 # 364 | |
:proto Sub7 # 366 | |
:proto D4 # 386 | |
:proto Sub8 # 38A | |
:proto D5 # 3A6 | |
:proto Sub9 # 3AC | |
:proto Sub10 # 3B6 | |
:proto D6 # 3CE | |
: main | |
clear | |
Sub10 | |
loop | |
v0 := 7 | |
if v0 -key then | |
again | |
: L2 | |
v8 := 0 | |
v7 := 3 | |
Sub6 | |
Sub1 | |
Sub4 | |
Sub7 | |
Sub8 | |
Sub9 | |
v0 := key | |
: L3 | |
loop | |
Sub2 | |
Sub2 | |
Sub5 | |
Sub3 | |
if vA != 0 then | |
again | |
vC := 1 | |
Sub9 | |
v7 += -1 | |
Sub9 | |
v0 := 120 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
if v7 != 0 then jump L3 | |
Sub9 | |
v0 := 7 | |
loop | |
if v0 -key then | |
again | |
jump L2 | |
0x0 0xfd | |
: Sub1 | |
v9 := 16 | |
v0 := 2 | |
i := D1 | |
sprite v0 v9 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x0 | |
: Sub2 | |
v0 := 1 | |
if v0 key then jump L6 | |
v0 := 4 | |
if v0 key then jump L7 | |
return | |
: L6 | |
v0 := v9 | |
v0 += -1 | |
if v0 == 0 then return | |
jump L8 | |
: L7 | |
v0 := v9 | |
v0 += 1 | |
if v0 == 27 then return | |
jump L8 | |
: L8 | |
v1 := 2 | |
i := D1 | |
sprite v1 v9 5 | |
sprite v1 v0 5 | |
v9 := v0 | |
return | |
: Sub3 | |
v0 := vA | |
v0 += -2 | |
if v0 != 0 then return | |
v0 := vB | |
v0 -= v9 | |
if vF == 0 then return | |
v1 := v0 | |
v2 := 5 | |
v1 -= v2 | |
if vF != 0 then return | |
i := D2 | |
i += v0 | |
load v0 | |
vD := v0 | |
if vB == 1 then vD := 1 | |
if vB == 30 then vD := -1 | |
vC := 1 | |
v0 := 10 | |
buzzer := v0 | |
return | |
: D2 | |
0xff 0xff 0x0 0x1 0x1 0x0 | |
: Sub4 | |
vB := random 0b100000 | |
vB += 1 | |
vA := 4 | |
vC := 1 | |
vD := 1 | |
i := D3 | |
sprite vA vB 1 | |
return | |
: Sub5 | |
v0 := vA | |
v1 := vB | |
vA += vC | |
vB += vD | |
i := D3 | |
if vB == 1 then vD := 1 | |
if vB == 30 then vD := -1 | |
if vA == 62 then vC := -1 | |
if vA == 0 then vC := 1 | |
sprite v0 v1 1 | |
sprite vA vB 1 | |
if vF == 0 then return | |
v0 := vA | |
v1 := 33 | |
v0 -= v1 | |
if vF == 0 then return | |
v0 := vA | |
v1 := vB | |
v0 += 222 | |
v1 += -1 | |
v2 := -1 | |
v3 := -1 | |
v4 := 3 | |
loop | |
v2 += 1 | |
v0 -= v4 | |
if vF != 0 then | |
again | |
loop | |
v3 += 1 | |
v1 -= v4 | |
if vF != 0 then | |
again | |
v0 := v2 | |
v1 := v3 | |
v0 += v2 | |
v0 += v2 | |
v1 += v3 | |
v1 += v3 | |
v0 += 34 | |
v1 += 1 | |
i := D4 | |
sprite v0 v1 3 | |
vE += -1 | |
v0 := 0 | |
vC =- v0 | |
v0 := 2 | |
buzzer := v0 | |
Sub8 | |
v8 += 1 | |
Sub8 | |
if vE != 0 then return | |
Sub7 | |
return | |
: Sub6 | |
clear | |
v0 := 0 | |
v1 := 0 | |
v2 := 31 | |
i := D3 | |
loop | |
sprite v0 v1 1 | |
sprite v0 v2 1 | |
v0 += 1 | |
if v0 != 63 then | |
again | |
loop | |
sprite v0 v1 1 | |
v1 += 1 | |
if v1 != 32 then | |
again | |
return | |
: D3 | |
0x80 0x0 | |
: Sub7 | |
v1 := 1 | |
v3 := 10 | |
i := D4 | |
: L13 | |
v0 := 34 | |
v2 := 7 | |
loop | |
sprite v0 v1 3 | |
v0 += 3 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
v1 += 3 | |
v3 += -1 | |
if v3 != 0 then jump L13 | |
vE := 70 | |
return | |
: D4 | |
0xe0 0xa0 0xe0 0x0 | |
: Sub8 | |
i := D5 | |
bcd v8 | |
load v2 | |
v3 := 3 | |
v4 := 2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: Sub9 | |
v0 := 20 | |
v1 := 2 | |
i := hex v7 | |
sprite v0 v1 5 | |
return | |
: Sub10 | |
v0 := 10 | |
v1 := 12 | |
v2 := 9 | |
v3 := 5 | |
i := D6 | |
loop | |
sprite v0 v1 5 | |
i += v3 | |
v0 += 5 | |
v2 += -1 | |
if v2 != 0 then | |
again | |
return | |
: D6 | |
0x90 0x90 0x90 0x90 0x60 0xe0 0x90 0xe0 0x90 0xe0 0xe0 0x90 0xe0 0x90 0x90 0x20 0x20 0x20 0x20 0x20 0x90 0x90 0x60 0x90 0x90 0x0 0x0 0x60 0x0 0x0 0xf0 0x90 0xf0 0x80 0x80 0xf0 0x80 0xf0 0x10 0xf0 0xe0 0x90 0xe0 0x90 0x90 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Wall [David Winter].ch8 | |
###################################################################### | |
:proto L1 # 218 | |
:proto L7 # 27C | |
:proto L8 # 28A | |
:proto L10 # 2BE | |
:proto Sub1 # 2C4 | |
:proto D1 # 2DA | |
:proto D2 # 2DF | |
:proto D3 # 2E4 | |
:proto D4 # 2E5 | |
: main | |
jump L1 | |
0x20 0x57 0x41 0x4c 0x4c 0x20 0x62 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 0x20 | |
: L1 | |
i := D3 | |
v0 := 0 | |
v1 := 0 | |
v2 := 30 | |
loop | |
sprite v0 v1 1 | |
sprite v0 v2 1 | |
v0 += 8 | |
if v0 != 64 then | |
again | |
i := D2 | |
v0 := 62 | |
v1 := 1 | |
loop | |
sprite v0 v1 5 | |
v1 += 5 | |
if v1 != 26 then | |
again | |
sprite v0 v1 4 | |
v3 := 0 | |
v4 := random 0b1111 | |
v4 += 8 | |
v5 := 1 | |
v4 |= v5 | |
v5 := 3 | |
v6 := 2 | |
v7 := 1 | |
v8 := v4 | |
v8 += 2 | |
v9 := 1 | |
vA := 4 | |
vB := 0 | |
i := D1 | |
sprite v3 v4 5 | |
sprite v7 v8 1 | |
vC := key | |
: L4 | |
Sub1 | |
: L5 | |
vC := 1 | |
delay := vC | |
loop | |
vC := delay | |
if vC != 0 then | |
again | |
i := D1 | |
vC := v7 | |
vD := v8 | |
if v9 -key then jump L7 | |
if v4 == 1 then jump L7 | |
sprite v3 v4 5 | |
v4 += -2 | |
sprite v3 v4 5 | |
: L7 | |
if vA -key then jump L8 | |
if v4 == 25 then jump L8 | |
sprite v3 v4 5 | |
v4 += 2 | |
sprite v3 v4 5 | |
: L8 | |
v7 += v5 | |
v8 += v6 | |
if v7 == 1 then v5 := 3 | |
if v7 == 61 then v5 := -3 | |
if v8 == 1 then v6 := 2 | |
if v8 == 29 then v6 := -2 | |
sprite vC vD 1 | |
sprite v7 v8 1 | |
if v7 != 1 then jump L5 | |
vC := v8 | |
vC -= v4 | |
vD := 0 | |
loop | |
if vC == vD then jump L10 | |
vD += 1 | |
if vD != 5 then | |
again | |
vC := key | |
Sub1 | |
vB := 0 | |
jump L4 | |
: L10 | |
Sub1 | |
vB += 1 | |
jump L4 | |
: Sub1 | |
i := D4 | |
bcd vB | |
vC := 52 | |
vD := 2 | |
load v2 | |
i := hex v1 | |
sprite vC vD 5 | |
vC += 5 | |
i := hex v2 | |
sprite vC vD 5 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0xe0 0xe0 0xe0 0xe0 0xe0 | |
: D3 | |
0xff | |
: D4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Wipe Off [Joseph Weisbecker].ch8 | |
###################################################################### | |
:proto L6 # 298 | |
:proto L7 # 2A4 | |
:proto L8 # 2AA | |
:proto D1 # 2CB | |
:proto D2 # 2CC | |
:proto D3 # 2CD | |
:proto D4 # 2F0 | |
: main | |
i := D2 | |
vA := 7 | |
v1 := 0 | |
: L1 | |
vB := 8 | |
v0 := 0 | |
loop | |
sprite v0 v1 1 | |
v0 += 8 | |
vB += -1 | |
if vB != 0 then | |
again | |
v1 += 4 | |
vA += -1 | |
if vA != 0 then jump L1 | |
v6 := 0 | |
v7 := 16 | |
i := D3 | |
v0 := 32 | |
v1 := 30 | |
sprite v0 v1 1 | |
: L3 | |
v3 := 29 | |
v2 := 63 | |
v2 &= v0 | |
v7 += -1 | |
if v7 == 0 then jump L8 | |
vF := key | |
: L4 | |
i := D1 | |
sprite v2 v3 1 | |
v5 := -1 | |
v4 := random 0b1 | |
if v4 != 1 then v4 := -1 | |
: L5 | |
loop | |
i := D3 | |
vC := 0 | |
vE := 4 | |
if vE key then vC := -1 | |
vE := 6 | |
if vE key then vC := 1 | |
sprite v0 v1 1 | |
v0 += vC | |
sprite v0 v1 1 | |
if vF == 1 then jump L6 | |
if v2 == 0 then v4 := 1 | |
if v2 == 63 then v4 := -1 | |
if v3 == 0 then v5 := 1 | |
if v3 == 31 then jump L7 | |
i := D1 | |
sprite v2 v3 1 | |
v2 += v4 | |
v3 += v5 | |
sprite v2 v3 1 | |
if vF != 1 then jump L5 | |
if v3 == 30 then jump L6 | |
vA := 2 | |
buzzer := vA | |
v6 += 1 | |
if v6 == 112 then jump L8 | |
sprite v2 v3 1 | |
v4 := random 0b1 | |
if v4 != 1 then v4 := -1 | |
v5 := random 0b1 | |
if v5 != 1 then v5 := -1 | |
again | |
: L6 | |
vA := 3 | |
buzzer := vA | |
i := D1 | |
sprite v2 v3 1 | |
v3 += -1 | |
jump L4 | |
: L7 | |
i := D1 | |
sprite v2 v3 1 | |
jump L3 | |
: L8 | |
i := D3 | |
sprite v0 v1 1 | |
i := D4 | |
bcd v6 | |
load v2 | |
v3 := 24 | |
v4 := 27 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
loop | |
again | |
0x1 | |
: D1 | |
0x80 | |
: D2 | |
0x44 | |
: D3 | |
0xff 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/Worm V4 [RB-Revival Studios, 2007].ch8 | |
###################################################################### | |
:proto L1 # 25C | |
:proto Sub2 # 322 | |
:proto L9 # 33C | |
:proto L10 # 352 | |
:proto Sub3 # 370 | |
:proto Sub4 # 374 | |
:proto Sub5 # 380 | |
:proto D4 # 386 | |
:proto D5 # 38E | |
:proto D6 # 38F | |
:proto D7 # 392 | |
:proto D8 # 395 | |
:proto D9 # 397 | |
:proto D10 # 39B | |
:proto D11 # 39C | |
:proto D12 # 3A5 | |
:proto D13 # 4A5 | |
: main | |
jump L1 | |
: D1 | |
0x57 0x6f 0x72 0x6d 0x20 0x76 0x2e 0x34 0x2c 0x20 0x62 0x79 0x3a 0x20 0x52 0x42 0x2c 0x20 0x43 0x68 0x69 0x70 0x2d 0x38 0x20 0x76 0x65 0x72 0x73 0x69 0x6f 0x6e 0x20 0x62 0x79 0x3a 0x20 0x4d 0x61 0x72 0x74 0x69 0x6a 0x6e 0x20 0x57 0x65 0x6e 0x74 0x69 0x6e 0x67 0x20 0x2f 0x20 0x52 0x65 0x76 0x69 0x76 0x61 0x6c 0x20 0x53 0x74 0x75 0x64 0x69 0x6f 0x73 | |
: D2 | |
0x0 0x52 0x42 0x39 0x32 | |
: D3 | |
0x0 0x0 0x0 0x1f 0x0 0x0 0x13 0x7c 0x0 0x0 0x6 0xe 0x1 0x0 0x4 | |
: L1 | |
clear | |
i := D3 | |
load vE | |
i := D12 | |
loop | |
save v0 | |
i += vC | |
v1 += 1 | |
if v1 != 0 then | |
again | |
i := D6 | |
sprite vA vB 3 | |
i := D5 | |
loop | |
sprite v4 v2 1 | |
sprite v4 v3 1 | |
v4 += 2 | |
if v4 != 58 then | |
again | |
i := D11 | |
v3 := 0 | |
loop | |
sprite v3 v2 1 | |
sprite v4 v2 1 | |
v2 += 1 | |
if v2 != 31 then | |
again | |
i := D2 | |
load v0 | |
i := D1 | |
bcd v0 | |
i := D1 | |
bcd v5 | |
Sub2 | |
Sub4 | |
loop | |
i := D10 | |
sprite v7 v6 1 | |
v6 += 2 | |
if v6 != 33 then | |
again | |
: L6 | |
v3 := 6 | |
delay := v3 | |
i := D12 | |
i += v8 | |
load v0 | |
v4 := v0 | |
v0 := vA | |
i := D12 | |
i += v8 | |
save v0 | |
i := D13 | |
i += v8 | |
load v0 | |
v1 := v0 | |
v0 := vB | |
i := D13 | |
i += v8 | |
save v0 | |
i := D7 | |
if v4 != 0 then sprite v4 v1 3 | |
i := D4 | |
i += v9 | |
load v1 | |
i := D8 | |
sprite vA vB 2 | |
vA += v0 | |
vB += v1 | |
i := D6 | |
sprite vA vB 3 | |
if vF != 0 then jump L9 | |
v0 := random 0b1111 | |
if v0 == 0 then Sub3 | |
: L7 | |
v8 += 1 | |
if v8 == vE then v8 := 0 | |
v3 := 6 | |
delay := v3 | |
loop | |
v6 := -1 | |
v1 := 6 | |
if v1 key then v6 := 0 | |
v1 := 2 | |
if v1 key then v6 := 2 | |
v1 := 4 | |
if v1 key then v6 := 4 | |
v1 := 8 | |
if v1 key then v6 := 6 | |
if v6 != -1 then v9 := v6 | |
v3 := delay | |
if v3 != 0 then | |
again | |
jump L6 | |
: Sub1 | |
Sub2 | |
i := D1 | |
bcd v5 | |
: Sub2 | |
v3 := 0 | |
v4 := 60 | |
i := D1 | |
load v2 | |
i := hex v0 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v1 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v4 v3 5 | |
return | |
: L9 | |
Sub5 | |
i := D6 | |
sprite vA vB 3 | |
sprite vA vB 3 | |
if vF != 0 then jump L10 | |
v4 := 2 | |
buzzer := v4 | |
v5 += 1 | |
Sub1 | |
jump L7 | |
: L10 | |
v4 := 10 | |
buzzer := v4 | |
sprite vA vB 3 | |
vA -= v0 | |
vB -= v1 | |
i := D8 | |
sprite vA vB 2 | |
i := D2 | |
load v0 | |
i := D2 | |
v0 -= v5 | |
v0 := v5 | |
if vF == 0 then save v0 | |
loop | |
again | |
: Sub3 | |
vE += 1 | |
return | |
: Sub4 | |
i := D9 | |
: L12 | |
vC := random 0b111111 | |
vD := random 0b11111 | |
sprite vC vD 4 | |
if vF == 0 then return | |
: Sub5 | |
i := D9 | |
sprite vC vD 4 | |
jump L12 | |
: D4 | |
0x4 0x0 0x0 0xfc 0xfc 0x0 0x0 0x4 | |
: D5 | |
0xc0 | |
: D6 | |
0xe0 0xe0 0xe0 | |
: D7 | |
0xe0 0xa0 0xe0 | |
: D8 | |
0x0 0x40 | |
: D9 | |
0x30 0x58 0x78 0x30 | |
: D10 | |
0xf0 | |
: D11 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D12 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D13 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/X-Mirror.ch8 | |
###################################################################### | |
:proto Sub1 # 22E | |
:proto Sub2 # 238 | |
:proto Sub3 # 244 | |
:proto Sub4 # 250 | |
:proto Sub5 # 25C | |
:proto D1 # 268 | |
: main | |
v6 := 30 | |
v7 := 15 | |
v8 := 31 | |
v9 := 15 | |
vA := 30 | |
vB := 16 | |
vC := 31 | |
vD := 16 | |
i := D1 | |
Sub1 | |
loop | |
v0 := 2 | |
if v0 key then Sub3 | |
v0 := 8 | |
if v0 key then Sub2 | |
v0 := 4 | |
if v0 key then Sub4 | |
v0 := 6 | |
if v0 key then Sub5 | |
again | |
: Sub1 | |
sprite v6 v7 1 | |
sprite v8 v9 1 | |
sprite vA vB 1 | |
sprite vC vD 1 | |
return | |
: Sub2 | |
v7 += -1 | |
v9 += -1 | |
vB += 1 | |
vD += 1 | |
Sub1 | |
return | |
: Sub3 | |
v7 += 1 | |
v9 += 1 | |
vB += -1 | |
vD += -1 | |
Sub1 | |
return | |
: Sub4 | |
v6 += -1 | |
v8 += 1 | |
vA += -1 | |
vC += 1 | |
Sub1 | |
return | |
: Sub5 | |
v6 += 1 | |
v8 += -1 | |
vA += 1 | |
vC += -1 | |
Sub1 | |
return | |
: D1 | |
0x80 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Games/ZeroPong [zeroZshadow, 2007].ch8 | |
###################################################################### | |
:proto L2 # 216 | |
:proto L3 # 222 | |
:proto L4 # 230 | |
:proto L5 # 23C | |
:proto L7 # 26A | |
:proto L8 # 272 | |
:proto L9 # 27A | |
:proto L10 # 288 | |
:proto L11 # 28A | |
:proto L12 # 294 | |
:proto L13 # 296 | |
:proto L15 # 2AA | |
:proto D1 # 2B0 | |
:proto D2 # 2B6 | |
: main | |
jump L8 | |
: L1 | |
v0 := 3 | |
delay := v0 | |
i := D1 | |
v0 := 10 | |
if v0 -key then jump L2 | |
sprite v7 v8 6 | |
v8 += 1 | |
sprite v7 v8 6 | |
jump L3 | |
: L2 | |
v0 := 11 | |
if v0 -key then jump L3 | |
sprite v7 v8 6 | |
v8 += -1 | |
sprite v7 v8 6 | |
: L3 | |
v0 := 8 | |
if v0 -key then jump L4 | |
sprite v9 vA 6 | |
vA += 1 | |
sprite v9 vA 6 | |
jump L5 | |
: L4 | |
v0 := 2 | |
if v0 -key then jump L5 | |
sprite v9 vA 6 | |
vA += -1 | |
sprite v9 vA 6 | |
: L5 | |
i := D2 | |
sprite v3 v4 1 | |
loop | |
v3 += v5 | |
v4 += v6 | |
if v3 == 0 then jump L9 | |
if v3 == 63 then jump L9 | |
if v4 == 0 then v6 := 1 | |
if v4 == 31 then v6 := -1 | |
sprite v3 v4 1 | |
if vF != 1 then jump L7 | |
if v3 == 2 then v5 := 1 | |
if v3 == 62 then v5 := -1 | |
sprite v3 v4 1 | |
v0 := 200 | |
buzzer := v0 | |
again | |
: L7 | |
v0 := 15 | |
if v0 key then jump L8 | |
jump L1 | |
: L8 | |
v7 := 2 | |
v8 := 10 | |
v9 := 62 | |
vA := 10 | |
: L9 | |
v3 := 32 | |
v4 := 16 | |
v5 := random 0b1 | |
if v5 == 0 then jump L10 | |
v5 := -1 | |
jump L11 | |
: L10 | |
v5 := 1 | |
: L11 | |
v6 := random 0b1 | |
if v6 == 0 then jump L12 | |
v6 := -1 | |
jump L13 | |
: L12 | |
v6 := 1 | |
: L13 | |
clear | |
i := D1 | |
sprite v7 v8 6 | |
sprite v9 vA 6 | |
i := D2 | |
sprite v3 v4 1 | |
loop | |
v0 := 15 | |
if v0 key then jump L15 | |
again | |
: L15 | |
loop | |
if v0 -key then jump L1 | |
again | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x80 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Astro Dodge Hires [Revival Studios, 2008].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x12 0xd4 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 0x2 0x30 0x6d 0x20 0xfd 0x15 0x24 0x26 0x24 0x2e 0x6d 0x40 0xfd 0x15 0x24 0x26 0x24 0x2e 0x6d 0x20 0xfd 0x15 0x24 0x26 0x2 0x30 0xa7 0x7b 0x24 0xee 0x24 0x86 0x6d 0x4 0x6c 0x0 0x60 0x5 0xe0 0x9e 0x13 0x0 0x13 0x14 0xfd 0x15 0x24 0x26 0x7c 0x1 0x4c 0x0 0x24 0x86 0x4c 0x4 0x24 0x86 0x4c 0x8 0x6c 0x0 0x12 0xf8 0x6d 0x2 0xfd 0x18 0xa7 0x7b 0x24 0xee 0x2 0x30 0x68 0x10 0x69 0x30 0x23 0xa8 0x23 0x4c 0x25 0x18 0x63 0x2c 0x64 0x0 0x25 0xe0 0x63 0x2c 0x64 0x6 0x25 0xf0 0x6d 0x0 0x6e 0x8 0x23 0x76 0x23 0xae 0x7d 0x8 0x4d 0x80 0x6d 0x0 0x7e 0x8 0x4e 0x80 0x6e 0x0 0x13 0x38 0x12 0xec 0x6c 0x0 0xa6 0xc6 0xfc 0x1e 0xf1 0x65 0xc1 0x3 0xa6 0xc6 0xfc 0x1e 0xf1 0x55 0xa6 0xfb 0xd0 0x18 0x7c 0x3 0x3c 0x9 0x13 0x4e 0x0 0xee 0x25 0x20 0x23 0xe0 0xc0 0xf 0x80 0x4 0x80 0x4 0x61 0x0 0x0 0xee 0x6c 0x0 0x65 0x0 0xa6 0xc6 0xfc 0x1e 0xf2 0x65 0xa6 0xfb 0xfd 0x1e 0xd0 0x18 0x81 0x24 0x83 0x10 0x64 0x3c 0x83 0x45 0x4f 0x1 0x23 0x68 0xa6 0xfb 0xfe 0x1e 0xd0 0x18 0xa6 0xc6 0xfc 0x1e 0xf1 0x55 0x75 0x18 0x7c 0x3 0x3c 0x9 0x13 0x7a 0x0 0xee 0xa6 0xf3 0xd8 0x98 0x0 0xee 0x23 0xa8 0x60 0x4 0xe0 0x9e 0x13 0xba 0x38 0x0 0x78 0xfe 0x60 0x6 0xe0 0x9e 0x13 0xc4 0x38 0x38 0x78 0x2 0x60 0x2 0xe0 0x9e 0x13 0xce 0x39 0x10 0x79 0xff 0x60 0x8 0xe0 0x9e 0x13 0xd8 0x39 0x18 0x79 0x1 0x23 0xa8 0x4f 0x1 0x13 0xee 0x0 0xee 0x63 0x2c 0x64 0x0 0x25 0x42 0x63 0x2c 0x64 0x6 0x25 0x7e 0x0 0xee 0x6d 0x1 0xfd 0x18 0x6d 0x4 0xfd 0x15 0x24 0x26 0x6d 0x1 0xfd 0x18 0x6d 0x4 0xfd 0x15 0x24 0x26 0x6d 0x1 0xfd 0x18 0x6d 0x4 0xfd 0x15 0x24 0x26 0x6d 0x1 0xfd 0x18 0x2 0x30 0x60 0x0 0x61 0x10 0x24 0xbc 0x63 0x16 0x64 0x2a 0x25 0xe0 0x60 0x5 0xe0 0x9e 0x14 0x1e 0x12 0xec 0xf0 0x7 0x30 0x0 0x14 0x26 0x0 0xee 0x6d 0x4 0x61 0x1d 0x60 0x1c 0x62 0x12 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x26 0x60 0x14 0x62 0xc 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0x60 0x24 0x62 0x18 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x26 0x60 0xc 0x62 0x6 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0x60 0x2c 0x62 0x1e 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x26 0xa6 0x9c 0x60 0x4 0xd0 0x16 0x60 0x34 0x62 0x24 0xa6 0x9c 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x26 0x0 0xee 0x62 0x6 0x60 0x0 0x61 0x30 0xa6 0xc 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x70 0x8 0xf2 0x1e 0xd0 0x16 0x0 0xee 0x62 0xc 0xa6 0x3c 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x70 0x8 0xf2 0x1e 0xd0 0x1c 0x0 0xee 0x64 0x1 0x65 0x7 0x62 0x0 0x63 0x0 0x60 0x0 0x81 0x30 0x71 0xc 0xd0 0x11 0x71 0x8 0xf4 0x1e 0xd0 0x11 0xf4 0x1e 0x70 0x8 0x30 0x40 0x14 0xf8 0x73 0x3 0x83 0x52 0x72 0x1 0x32 0x8 0x14 0xf6 0x0 0xee 0x60 0x0 0xa6 0x2 0xf0 0x55 0x0 0xee 0xa6 0x2 0xf1 0x65 0x82 0x0 0x83 0x10 0x70 0x1 0x85 0x0 0x85 0x15 0x4f 0x1 0x81 0x0 0xa6 0x2 0xf3 0x55 0x0 0xee 0xf1 0x29 0xd3 0x45 0xf0 0x29 0xd3 0x45 0x0 0xee 0xa6 0x2 0xf2 0x65 0xa6 0x9 0xf2 0x33 0xa6 0x6 0xf0 0x33 0xa6 0x9 0xf0 0x65 0x81 0x0 0xa6 0x6 0xf0 0x65 0x50 0x10 0x25 0x38 0x73 0x5 0xa6 0xa 0xf0 0x65 0x81 0x0 0xa6 0x7 0xf0 0x65 0x50 0x10 0x25 0x38 0x73 0x5 0xa6 0xb 0xf0 0x65 0x81 0x0 0xa6 0x8 0xf0 0x65 0x50 0x10 0x25 0x38 0x0 0xee 0xa6 0x3 0xf2 0x65 0xa6 0x9 0xf2 0x33 0xa6 0x6 0xf0 0x33 0xa6 0x9 0xf0 0x65 0x81 0x0 0xa6 0x6 0xf0 0x65 0x50 0x10 0x25 0x38 0x73 0x5 0xa6 0xa 0xf0 0x65 0x81 0x0 0xa6 0x7 0xf0 0x65 0x50 0x10 0x25 0x38 0x73 0x5 0xa6 0xb 0xf0 0x65 0x81 0x0 0xa6 0x8 0xf0 0x65 0x50 0x10 0x25 0x38 0x0 0xee 0xa6 0x6 0xf0 0x65 0xf0 0x29 0xd3 0x45 0x73 0x5 0xa6 0x7 0xf0 0x65 0xf0 0x29 0xd3 0x45 0x73 0x5 0xa6 0x8 0xf0 0x65 0xf0 0x29 0xd3 0x45 0x73 0x5 0x62 0x0 0xf2 0x29 0xd3 0x45 0x0 0xee 0xa6 0x2 0xf2 0x65 0xa6 0x9 0xf2 0x33 0xa6 0x6 0xf0 0x33 0x25 0xba 0x0 0xee 0xa6 0x3 0xf2 0x65 0xa6 0x9 0xf2 0x33 0xa6 0x6 0xf0 0x33 0x25 0xba 0x0 0xee 0xff 0xff 0x0 0x14 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3c 0x36 0x3c 0x30 0x30 0x0 0xf3 0xdb 0xf3 0xdb 0xdb 0x0 0xe7 0xc 0xc7 0x1 0xef 0x0 0x9e 0x30 0x1c 0x86 0x3c 0x0 0x1e 0x30 0x1c 0x6 0x3c 0x0 0xf3 0x66 0x67 0x66 0x66 0x0 0x9e 0xdb 0xde 0xdb 0xdb 0x0 0x78 0x30 0x30 0x30 0x30 0x1 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x1 0xe7 0xd 0xd 0x6f 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0xed 0x3f 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0x3e 0xb0 0xb0 0xbc 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xbe 0x1c 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x1c 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0x7b 0x3b 0xef 0xd 0xd 0xcf 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xed 0x0 0x80 0x80 0x0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 0x0 0x1 0x1 0x18 0x2 0x2 0x30 0x3 0x3 0x40 0x4 0x1 0x40 0x5 0x2 0x40 0x7 0x3 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x0 0x1 0x1 0x18 0x18 0x34 0x24 0x7e 0xff 0xe7 0x99 0x0 0x40 0x38 0x14 0x2a 0x75 0x3a 0x14 0x0 0x0 0x28 0x70 0x3e 0x7 0x2a 0x0 0x0 0x40 0x8 0x5c 0x7a 0x75 0xa 0x4 0x0 0x50 0x28 0x54 0x3e 0x75 0x2e 0x1 0x20 0x70 0x78 0x7c 0x3c 0x75 0x6a 0x54 0x0 0x64 0x78 0x78 0x7e 0x7d 0xe8 0x50 0x8 0x44 0x2a 0x50 0x3a 0x5d 0xe8 0x40 0x8 0x54 0xa 0x11 0x2a 0x5c 0x68 0x40 0x0 0x4 0x2a 0x57 0x2a 0x16 0x28 0x50 0x0 0x0 0x2a 0x13 0x6a 0x56 0x8 0x0 0x0 0x0 0x8 0x71 0x2a 0x52 0x30 0x0 0x0 0x4 0xa 0x14 0x3a 0x60 0x68 0x0 0x0 0x4 0xa 0x1c 0x3e 0x70 0x68 0x50 0x20 0x50 0x2e 0x5f 0x2e 0x5c 0x28 0x50 0x20 0x5c 0x3a 0x57 0x3e 0x5e 0x28 0x50 0x0 0x58 0x38 0x77 0x2e 0x7f 0x3e 0x54 0x78 0x7e 0xf7 0xf1 0xbe 0x9e 0x38 0x66 0xf8 0xcd 0x73 0x9b 0xe3 0x36 0xcf 0xde 0x78 0x66 0xf7 0x1d 0xbe 0x9b 0x3a 0x36 0xf9 0xcd 0x73 0xb3 0xe3 0x6c 0xcf 0xd8 0xcd 0x33 0x83 0x78 0x33 0xd9 0x66 0x9c 0xcd 0xf8 0x9b 0xe3 0x36 0x87 0x6c 0x3c 0xfd 0x7e 0xf7 0x79 0xbf 0x9f 0x7c 0x66 0xfc 0xcd 0xfb 0x9b 0xf7 0x36 0xef 0xde 0xfd 0x66 0xf7 0x1d 0xbf 0x9b 0x7c 0x36 0xfc 0xcd 0xfb 0xb3 0xf7 0xec 0xef 0xd8 0xcd 0x0 0xc3 0x0 0x33 0x0 0x66 0x0 0xcd 0x0 0x9b 0x0 0x36 0x0 0xc 0x0 0x85 0x66 0x0 0x19 0x1 0x9b 0x46 0x66 0x5 0xcd 0x88 0x9b 0x14 0x6c 0x20 0xd8 0xcd 0x33 0x83 0x7c 0x33 0xd9 0x6e 0xbe 0xcd 0xfd 0xdb 0xf3 0x76 0xcf 0x6c 0xbc | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Maze [David Winter, 199x].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x60 0x0 0x61 0x0 0xa2 0xe2 0xc2 0x1 0x32 0x1 0xa2 0xde 0xd0 0x14 0x70 0x4 0x30 0x40 0x12 0xc4 0x60 0x0 0x71 0x4 0x31 0x40 0x12 0xc4 0x12 0xdc 0x80 0x40 0x20 0x10 0x20 0x40 0x80 0x10 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Particle Demo [zeroZshadow, 2008].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0xa3 0xe1 0x60 0x0 0x61 0x4 0x62 0x8 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0xf2 0x1e 0x80 0x24 0xd0 0x15 0x66 0x5 0x67 0x2 0x6a 0x0 0x13 0x78 0x6b 0x0 0x6c 0x0 0xa3 0x98 0xfb 0x1e 0xf3 0x65 0x23 0x8e 0x23 0x1c 0x13 0x22 0x23 0x8e 0x23 0x1c 0x7b 0x4 0x7c 0x1 0x5c 0x60 0x13 0x0 0x12 0xfc 0x12 0xc0 0xa3 0xe0 0xde 0xd1 0x0 0xee 0xa3 0x98 0xfb 0x1e 0xf3 0x65 0x80 0x24 0x81 0x34 0x8e 0x0 0x8d 0x10 0x8e 0xe6 0x8d 0xd6 0x84 0xe0 0x65 0xc2 0x84 0x54 0x4f 0x1 0x13 0x52 0x4d 0x0 0x63 0x1 0x84 0xd0 0x65 0xe1 0x84 0x54 0x4f 0x1 0x13 0x52 0x33 0x2 0x73 0x1 0x13 0x54 0x23 0x5c 0xa3 0x98 0xfb 0x1e 0xf3 0x55 0x13 0xc 0xa3 0xc0 0xfa 0x1e 0xf0 0x65 0x82 0x0 0x7a 0x1 0x64 0x1f 0x8a 0x42 0x60 0x20 0x61 0x1e 0x80 0xe 0x81 0x1e 0xc3 0x3 0x73 0xf8 0x0 0xee 0x6b 0x0 0x6c 0x0 0x23 0x5c 0xa3 0x98 0xfb 0x1e 0xf3 0x55 0x7b 0x4 0x7c 0x1 0x5c 0x60 0x13 0x7c 0x12 0xfc 0x8e 0x0 0x8d 0x10 0x8e 0xe6 0x0 0xee 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf8 0xfa 0xf9 0xfe 0xfb 0xfc 0xfd 0xff 0x2 0x1 0x3 0x5 0x4 0x6 0x7 0x8 0x6 0x7 0x4 0x5 0x3 0x1 0x2 0xfe 0xff 0xfc 0xfb 0xfd 0xfa 0xf9 0xf8 0xfa 0x80 0xf7 0x6 0x77 0x6 0x36 0x0 0x0 0x0 0xc7 0x6c 0xcf 0xc 0xc 0x0 0x0 0x0 0x9f 0xd9 0xdf 0xd9 0xd9 0x0 0x0 0x0 0x3f 0x8c 0xc 0x8c 0x8c 0x0 0x0 0x0 0x67 0x6c 0x6c 0x6c 0x67 0x0 0x0 0x0 0xb0 0x30 0x30 0x30 0xbe 0x0 0x0 0x0 0xf9 0xc3 0xf1 0xc0 0xfb 0x0 0x0 0x0 0xef 0x0 0xce 0x60 0xcc 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Sierpinski [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x12 0xc6 0x43 0x38 0x50 0x48 0x60 0x0 0x85 0x0 0x60 0x1 0x81 0x50 0xa4 0xb2 0xf1 0x1e 0xf0 0x55 0x60 0x1f 0x8a 0x0 0x60 0x10 0x8b 0x0 0xa4 0x8e 0xf0 0x65 0xda 0xb1 0x60 0x1 0xa4 0x8f 0xf0 0x55 0x60 0x1f 0xa4 0xd2 0xf0 0x55 0x60 0x1 0xa4 0x90 0xf0 0x55 0xa4 0x8f 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x0 0x80 0x50 0x80 0x14 0xa4 0xd3 0xf0 0x55 0xa4 0x90 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x0 0x80 0x50 0x80 0x15 0xa4 0x91 0xf0 0x55 0xa4 0x90 0xf0 0x65 0x85 0x0 0xa4 0x91 0xf0 0x65 0xa4 0xb2 0xf0 0x1e 0xf0 0x65 0x86 0x0 0xa4 0x90 0xf0 0x65 0x87 0x0 0x60 0x1 0x81 0x0 0x80 0x70 0x80 0x14 0xa4 0xb2 0xf0 0x1e 0xf0 0x65 0x81 0x0 0x80 0x60 0x80 0x13 0x81 0x50 0xa4 0x92 0xf1 0x1e 0xf0 0x55 0xa4 0x91 0xf0 0x65 0x85 0x0 0xa4 0x91 0xf0 0x65 0xa4 0x92 0xf0 0x1e 0xf0 0x65 0x81 0x50 0xa4 0xb2 0xf1 0x1e 0xf0 0x55 0xa4 0x90 0xf0 0x65 0xa4 0x92 0xf0 0x1e 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x50 0x50 0x10 0x6f 0x1 0x3f 0x0 0x13 0xc8 0xa4 0x90 0xf0 0x65 0x85 0x0 0x60 0x1f 0x81 0x0 0x80 0x50 0x80 0x14 0x8a 0x0 0xa4 0x8f 0xf0 0x65 0x85 0x0 0x60 0x10 0x81 0x0 0x80 0x50 0x80 0x14 0x8b 0x0 0xa4 0x8e 0xf0 0x65 0xda 0xb1 0x60 0x1f 0x85 0x0 0xa4 0x90 0xf0 0x65 0x81 0x0 0x80 0x50 0x80 0x15 0x8a 0x0 0xa4 0x8f 0xf0 0x65 0x85 0x0 0x60 0x10 0x81 0x0 0x80 0x50 0x80 0x14 0x8b 0x0 0xa4 0x8e 0xf0 0x65 0xda 0xb1 0xa4 0x90 0xf0 0x65 0x85 0x0 0xa4 0xd3 0xf0 0x65 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x90 0x10 0x6f 0x0 0x3f 0x1 0x13 0xee 0xa4 0x90 0xf0 0x65 0x70 0x1 0xf0 0x55 0x13 0x6 0xa4 0x8f 0xf0 0x65 0x85 0x0 0xa4 0xd2 0xf0 0x65 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x90 0x10 0x6f 0x0 0x3f 0x1 0x14 0x14 0xa4 0x8f 0xf0 0x65 0x70 0x1 0xf0 0x55 0x12 0xee 0x14 0x14 0x81 0x0 0xa4 0xd4 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x14 0x28 0x80 0x30 0x0 0xee 0xa4 0xd4 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x14 0x60 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x14 0x5a 0x84 0xe 0x85 0xe 0x14 0x4c 0x80 0x45 0x86 0x54 0x14 0x3c 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x14 0x66 0x80 0x20 0x0 0xee 0xa4 0x8a 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Stars [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x12 0xc6 0x43 0x38 0x50 0x48 0x60 0x0 0x85 0x0 0xc0 0x38 0x81 0x50 0xa6 0x72 0xf1 0x1e 0xf0 0x55 0x60 0x0 0x85 0x0 0xc0 0x38 0x81 0x50 0xa6 0x7a 0xf1 0x1e 0xf0 0x55 0x60 0x0 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x8a 0x0 0x60 0x0 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x8b 0x0 0x60 0x0 0xa6 0x42 0xf0 0x1e 0xda 0xb8 0x60 0x1 0xa6 0x84 0xf0 0x55 0x60 0x7 0xa6 0x86 0xf0 0x55 0xa6 0x84 0xf0 0x65 0x85 0x0 0xc0 0x38 0x81 0x50 0xa6 0x72 0xf1 0x1e 0xf0 0x55 0x60 0x0 0xa6 0x83 0xf0 0x55 0xa6 0x84 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x0 0x80 0x50 0x80 0x15 0xa6 0x88 0xf0 0x55 0xa6 0x84 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x85 0x0 0xa6 0x83 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x86 0x0 0x60 0x8 0x81 0x0 0x80 0x60 0x80 0x14 0x81 0x0 0x80 0x50 0x82 0x0 0x80 0x15 0x80 0x20 0x3f 0x0 0x13 0x9c 0xa6 0x84 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x85 0x0 0xa6 0x83 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x86 0x0 0x60 0x8 0x81 0x0 0x80 0x60 0x80 0x15 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x3f 0x0 0x13 0x96 0x60 0x1 0xa6 0x85 0xf0 0x55 0x13 0x9c 0x60 0x0 0xa6 0x85 0xf0 0x55 0xa6 0x83 0xf0 0x65 0x85 0x0 0xa6 0x88 0xf0 0x65 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x90 0x10 0x6f 0x0 0x3f 0x1 0x13 0xc2 0xa6 0x83 0xf0 0x65 0x70 0x1 0xf0 0x55 0x13 0x32 0xa6 0x85 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x50 0x50 0x10 0x6f 0x1 0x3f 0x0 0x13 0xe4 0xa6 0x84 0xf0 0x65 0x85 0x0 0xc0 0x78 0x81 0x50 0xa6 0x72 0xf1 0x1e 0xf0 0x55 0xa6 0x85 0xf0 0x65 0x85 0x0 0x60 0x0 0x81 0x50 0x50 0x10 0x6f 0x1 0x90 0x10 0x6f 0x0 0x3f 0x0 0x13 0x1a 0xa6 0x84 0xf0 0x65 0x85 0x0 0xc0 0x38 0x81 0x50 0xa6 0x7a 0xf1 0x1e 0xf0 0x55 0x60 0x0 0xa6 0x83 0xf0 0x55 0xa6 0x84 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x0 0x80 0x50 0x80 0x15 0xa6 0x88 0xf0 0x55 0xa6 0x84 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x85 0x0 0xa6 0x83 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x86 0x0 0x60 0x8 0x81 0x0 0x80 0x60 0x80 0x14 0x81 0x0 0x80 0x50 0x82 0x0 0x80 0x15 0x80 0x20 0x3f 0x0 0x14 0x8c 0xa6 0x84 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x85 0x0 0xa6 0x83 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x86 0x0 0x60 0x8 0x81 0x0 0x80 0x60 0x80 0x15 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x3f 0x0 0x14 0x86 0x60 0x1 0xa6 0x85 0xf0 0x55 0x14 0x8c 0x60 0x0 0xa6 0x85 0xf0 0x55 0xa6 0x83 0xf0 0x65 0x85 0x0 0xa6 0x88 0xf0 0x65 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x90 0x10 0x6f 0x0 0x3f 0x1 0x14 0xb2 0xa6 0x83 0xf0 0x65 0x70 0x1 0xf0 0x55 0x14 0x22 0xa6 0x85 0xf0 0x65 0x85 0x0 0x60 0x1 0x81 0x50 0x50 0x10 0x6f 0x1 0x3f 0x0 0x14 0xd4 0xa6 0x84 0xf0 0x65 0x85 0x0 0xc0 0x18 0x81 0x50 0xa6 0x7a 0xf1 0x1e 0xf0 0x55 0xa6 0x85 0xf0 0x65 0x85 0x0 0x60 0x0 0x81 0x50 0x50 0x10 0x6f 0x1 0x90 0x10 0x6f 0x0 0x3f 0x0 0x14 0xa 0xa6 0x84 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x8a 0x0 0xa6 0x84 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x8b 0x0 0x60 0x0 0xa6 0x42 0xf0 0x1e 0xda 0xb8 0xa6 0x84 0xf0 0x65 0x85 0x0 0xa6 0x86 0xf0 0x65 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x90 0x10 0x6f 0x0 0x3f 0x1 0x15 0x30 0xa6 0x84 0xf0 0x65 0x70 0x1 0xf0 0x55 0x13 0xa 0xc0 0x7 0xa6 0x82 0xf0 0x55 0xa6 0x82 0xf0 0x65 0xa6 0x72 0xf0 0x1e 0xf0 0x65 0x8a 0x0 0xa6 0x82 0xf0 0x65 0xa6 0x7a 0xf0 0x1e 0xf0 0x65 0x8b 0x0 0xa6 0x82 0xf0 0x65 0xa6 0x6a 0xf0 0x1e 0xf0 0x65 0xa6 0x42 0xf0 0x1e 0xf0 0x65 0xda 0xb8 0x60 0xa 0xf0 0x15 0xa6 0x82 0xf0 0x65 0x85 0x0 0xa6 0x82 0xf0 0x65 0xa6 0x6a 0xf0 0x1e 0xf0 0x65 0x86 0x0 0x60 0x8 0x81 0x0 0x80 0x60 0x80 0x14 0x81 0x50 0xa6 0x6a 0xf1 0x1e 0xf0 0x55 0xa6 0x82 0xf0 0x65 0xa6 0x6a 0xf0 0x1e 0xf0 0x65 0x85 0x0 0x60 0x20 0x81 0x0 0x80 0x50 0x82 0x10 0x81 0x5 0x81 0x20 0x3f 0x0 0x15 0xb2 0xa6 0x82 0xf0 0x65 0x85 0x0 0x60 0x0 0x81 0x50 0xa6 0x6a 0xf1 0x1e 0xf0 0x55 0xa6 0x82 0xf0 0x65 0x85 0x0 0x60 0x32 0x81 0x50 0x50 0x10 0x6f 0x1 0x90 0x10 0x6f 0x0 0x3f 0x0 0x15 0x30 0x15 0xc8 0x81 0x0 0xa6 0x89 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x15 0xdc 0x80 0x30 0x0 0xee 0xa6 0x89 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x16 0x14 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x16 0xe 0x84 0xe 0x85 0xe 0x16 0x0 0x80 0x45 0x86 0x54 0x15 0xf0 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x16 0x1a 0x80 0x20 0x0 0xee 0xa6 0x3e 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x38 0x28 0x38 0x0 0x0 0x0 0x0 0x54 0x0 0x44 0x0 0x54 0x0 0x0 0x92 0x0 0x0 0x82 0x0 0x0 0x92 0x0 0x92 0x54 0x38 0xfe 0x38 0x54 0x92 0x0 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Test [Tom Swan, 1979].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x30 0x60 0x0 0x61 0x0 0xa2 0xd2 0xd0 0x14 0x70 0x4 0x71 0x4 0x31 0x40 0x12 0xc6 0x12 0xd0 0xf0 0xf0 0xf0 0xd4 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Hires Worm V4 [RB-Revival Studios, 2007].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x13 0xc 0x57 0x6f 0x72 0x6d 0x20 0x76 0x2e 0xf4 0x2c 0xe0 0x62 0x79 0x3a 0x20 0x52 0x42 0x2c 0xe0 0x43 0x68 0x69 0x70 0x2d 0xf8 0x20 0x76 0x65 0x72 0x73 0x69 0x6f 0x6e 0x20 0x62 0x79 0x3a 0x20 0x4d 0x61 0x72 0x74 0x69 0x6a 0x6e 0x20 0x57 0x65 0x6e 0x74 0x69 0x6e 0x67 0x20 0x2f 0x20 0x52 0x65 0x76 0x69 0x76 0x61 0x6c 0x20 0x53 0x74 0x75 0x64 0x69 0x6f 0x73 0x52 0x42 0x39 0x32 0x2 0x30 0x60 0x0 0x61 0x0 0x62 0x0 0x63 0x3e 0x64 0x0 0x65 0x0 0x66 0x14 0x67 0x7c 0x68 0x0 0x69 0x0 0x6a 0x6 0x6b 0xe 0x6c 0x1 0x6d 0x0 0x6e 0x4 0xa4 0x71 0xf0 0x55 0xfc 0x1e 0x71 0x1 0x31 0x0 0x13 0x2e 0xa4 0x5b 0xda 0xb3 0xa4 0x5a 0xd4 0x21 0xd4 0x31 0x74 0x2 0x34 0x3a 0x13 0x3e 0xa4 0x68 0x63 0x0 0xd3 0x21 0xd4 0x21 0x72 0x1 0x32 0x3f 0x13 0x4c 0xa3 0x8 0xf0 0x65 0xa2 0xc2 0xf0 0x33 0xa2 0xc2 0xf5 0x33 0x23 0xec 0x24 0x3e 0xa4 0x67 0xd7 0x61 0x76 0x2 0x36 0x40 0x13 0x66 0x63 0x6 0xf3 0x15 0xa4 0x71 0xf8 0x1e 0xf0 0x65 0x84 0x0 0x80 0xa0 0xa4 0x71 0xf8 0x1e 0xf0 0x55 0xa5 0x71 0xf8 0x1e 0xf0 0x65 0x81 0x0 0x80 0xb0 0xa5 0x71 0xf8 0x1e 0xf0 0x55 0xa4 0x5e 0x34 0x0 0xd4 0x13 0xa4 0x52 0xf9 0x1e 0xf1 0x65 0xa4 0x61 0xda 0xb2 0x8a 0x4 0x8b 0x14 0xa4 0x5b 0xda 0xb3 0x3f 0x0 0x14 0x6 0xc0 0xf 0x40 0x0 0x24 0x3a 0x78 0x1 0x98 0xe0 0x68 0x0 0x63 0x6 0xf3 0x15 0x66 0xff 0x61 0x6 0xe1 0xa1 0x66 0x0 0x61 0x2 0xe1 0xa1 0x66 0x2 0x61 0x4 0xe1 0xa1 0x66 0x4 0x61 0x8 0xe1 0xa1 0x66 0x6 0x36 0xff 0x89 0x60 0xf3 0x7 0x33 0x0 0x13 0xc0 0x13 0x70 0x23 0xec 0xa2 0xc2 0xf5 0x33 0x63 0x0 0x64 0x3c 0xa2 0xc2 0xf2 0x65 0xf0 0x29 0xd4 0x35 0x73 0x6 0xf1 0x29 0xd4 0x35 0x73 0x6 0xf2 0x29 0xd4 0x35 0x0 0xee 0x24 0x4a 0xa4 0x5b 0xda 0xb3 0xda 0xb3 0x3f 0x0 0x14 0x1c 0x64 0x2 0xf4 0x18 0x75 0x1 0x23 0xe6 0x13 0xb6 0x64 0xa 0xf4 0x18 0xda 0xb3 0x8a 0x5 0x8b 0x15 0xa4 0x61 0xda 0xb2 0xa3 0x8 0xf0 0x65 0xa3 0x8 0x80 0x55 0x80 0x50 0x4f 0x0 0xf0 0x55 0x14 0x38 0x7e 0x1 0x0 0xee 0xa4 0x63 0xcc 0x3f 0xcd 0x3f 0xdc 0xd4 0x4f 0x0 0x0 0xee 0xa4 0x63 0xdc 0xd4 0x14 0x40 0xff 0xff 0x4 0x0 0x0 0xfc 0xfc 0x0 0x0 0x4 0xc0 0xe0 0xe0 0xe0 0xe0 0xa0 0xe0 0x0 0x40 0x30 0x58 0x78 0x30 0xf0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Hires/Trip8 Hires Demo (2008) [Revival Studios].ch8 | |
###################################################################### | |
# InvalidOpcode('02AC',) | |
:proto L1 # 260 | |
: main | |
jump L1 | |
0x1 0x7a 0x42 0x70 0x22 0x78 0x22 0x52 0xc4 0x19 0xf8 0x0 0xa0 0x9b 0xfa 0xe 0xb0 0xe2 0xe2 0x80 0xe2 0x20 0xa0 0xe2 0x3c 0x15 0x80 0xe2 0x20 0xa0 0x34 0x1c 0x98 0x32 0x29 0xab 0x2b 0x8b 0xb8 0x88 0x32 0x3 0x7b 0x28 0x30 0x4 0xf8 0x2 0xae 0x9b 0xbf 0xf8 0x0 0xaf 0xf8 0x0 0x5f 0x1f 0x8f 0x3a 0x38 0x2e 0x8e 0x3a 0x38 0xd4 0x1 0x9b 0xff 0x1 0xbb 0xd4 | |
: D1 | |
0x9b 0x7c 0x0 0xbc 0x30 0x86 0x9c 0x7c 0x0 0xbc 0xfb 0x10 0x30 0xfc | |
: D2 | |
0x3a 0xb3 | |
: D3 | |
0x30 0xd9 0x2 0x45 0x2 0x30 | |
: L1 | |
v0 := 18 | |
v1 := 190 | |
i := main | |
save v1 | |
i := D1 | |
load vD | |
i := 224 | |
save vD | |
i := D2 | |
load v3 | |
i := 252 | |
save v3 | |
i := 126 | |
v0 := 63 | |
save v0 | |
i := 132 | |
v0 := 48 | |
v1 := 224 | |
save v1 | |
i := 215 | |
v1 := -26 | |
save v1 | |
i := D3 | |
load v3 | |
i := 506 | |
save v3 | |
v0 := -6 | |
i := 24 | |
save v0 | |
v0 := 6 | |
i := 13 | |
save v0 | |
v0 := 2 | |
i := 10 | |
save v0 | |
i := 3 | |
save v0 | |
0x2 0xac 0xf8 0x0 0xb0 0xa0 0x9b 0xb1 0xd0 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x32 0x30 0x31 0x31 0x2 0x30 0x12 0xd4 0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 0x2 0x30 0x6d 0x20 0xfd 0x15 0x24 0x86 0x24 0x8e 0x6d 0x40 0xfd 0x15 0x24 0x86 0x24 0x8e 0x6d 0x20 0xfd 0x15 0x24 0x86 0xa5 0x54 0x24 0xe6 0x6d 0x80 0xfd 0x15 0x24 0x86 0xa5 0x54 0x24 0xe6 0x6d 0x0 0x6b 0x0 0x23 0x82 0x4b 0x0 0x23 0xa0 0x4b 0x1 0x24 0x52 0x4b 0x2 0x23 0xa8 0x4b 0x3 0x24 0x52 0x4b 0x4 0x23 0xb0 0x4b 0x5 0x24 0x52 0x60 0x1 0xf0 0x15 0x24 0x86 0x7d 0x1 0x60 0x3f 0x8c 0xd0 0x8c 0x2 0x4c 0x0 0x23 0x2c 0x13 0x0 0x4b 0x0 0x23 0x4c 0x4b 0x1 0x23 0x88 0x4b 0x2 0x23 0x5e 0x4b 0x3 0x23 0x90 0x4b 0x4 0x23 0x70 0x4b 0x5 0x23 0x98 0x7b 0x1 0x4b 0x6 0x6b 0x0 0x0 0xee 0x23 0xc4 0xc9 0x3 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x24 0x2e 0x0 0xee 0x23 0xb8 0xc9 0x3 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x24 0x2e 0x0 0xee 0x23 0xd4 0xc9 0x3 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x89 0x94 0x24 0x2e 0x0 0xee 0x6e 0x0 0x23 0xc4 0x0 0xee 0x24 0x2e 0x6e 0x0 0x23 0xb8 0x0 0xee 0x24 0x2e 0x6e 0x0 0x23 0xd4 0x0 0xee 0x24 0x2e 0x6e 0x0 0x23 0xc4 0x0 0xee 0x23 0xc4 0x7e 0x3 0x23 0xc4 0x0 0xee 0x23 0xb8 0x7e 0x2 0x23 0xb8 0x0 0xee 0x23 0xd4 0x7e 0x2 0x23 0xd4 0x0 0xee 0x6c 0x0 0x23 0xfa 0x23 0xfa 0x23 0xfa 0x23 0xfa 0x0 0xee 0x6c 0x0 0x23 0xe0 0x23 0xe0 0x23 0xe0 0x23 0xe0 0x23 0xe0 0x23 0xe0 0x0 0xee 0x6c 0x0 0x24 0x14 0x24 0x14 0x24 0x14 0x24 0x14 0x0 0xee 0xa6 0x54 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfc 0x1e 0xf1 0x65 0x70 0xc 0x81 0x14 0xa5 0x48 0xd0 0x18 0x7c 0x2 0x0 0xee 0xa9 0x54 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfc 0x1e 0xf1 0x65 0x70 0xc 0x81 0x14 0xa5 0x48 0xd0 0x18 0x7c 0x2 0x0 0xee 0xab 0x54 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfe 0x1e 0xfc 0x1e 0xf1 0x65 0x70 0xc 0x81 0x14 0xa5 0x48 0xd0 0x18 0x7c 0x2 0x0 0xee 0x6c 0x0 0x60 0x1f 0x8a 0xd0 0x8a 0xc4 0x8a 0x2 0x8a 0x94 0xad 0x54 0xfa 0x1e 0xfa 0x1e 0xf1 0x65 0x80 0x4 0x81 0x14 0xa5 0x50 0xd0 0x15 0x7c 0x1 0x3c 0x8 0x14 0x30 0x0 0xee 0x60 0x1f 0x8a 0xd0 0x8a 0x2 0x8a 0x94 0xad 0x54 0xfa 0x1e 0xfa 0x1e 0xf1 0x65 0x80 0x4 0x81 0x14 0xa5 0x50 0xd0 0x15 0x60 0x1f 0x8a 0xd0 0x7a 0x8 0x8a 0x2 0x8a 0x94 0xad 0x54 0xfa 0x1e 0xfa 0x1e 0xf1 0x65 0x80 0x4 0x81 0x14 0xa5 0x50 0xd0 0x15 0x0 0xee 0xf0 0x7 0x30 0x0 0x14 0x86 0x0 0xee 0x6d 0x4 0x61 0x1d 0x60 0x1c 0x62 0x12 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x86 0x60 0x14 0x62 0xc 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0x60 0x24 0x62 0x18 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x86 0x60 0xc 0x62 0x6 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0x60 0x2c 0x62 0x1e 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x86 0xa5 0x1e 0x60 0x4 0xd0 0x16 0x60 0x34 0x62 0x24 0xa5 0x1e 0xf2 0x1e 0xd0 0x16 0xfd 0x15 0x24 0x86 0x0 0xee 0x64 0x1 0x65 0x7 0x62 0x0 0x63 0x0 0x60 0x0 0x81 0x30 0x71 0x10 0xd0 0x11 0x71 0x8 0xf4 0x1e 0xd0 0x11 0x71 0x8 0xf4 0x1e 0xd0 0x11 0x71 0x8 0xf4 0x1e 0xd0 0x11 0xf4 0x1e 0x70 0x8 0x30 0x40 0x14 0xf0 0x73 0x3 0x83 0x52 0x72 0x1 0x32 0x8 0x14 0xee 0x0 0xee 0xff 0xff 0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 0x38 0x44 0xb2 0xa2 0x82 0x82 0x44 0x38 0x20 0xf8 0x50 0x88 0x0 0x0 0x0 0x0 0x0 0x0 0x39 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x5b 0x0 0x0 0x0 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x1 0x0 0x0 0x7f 0x7d 0x0 0x0 0xff 0xef 0x0 0x0 0xfd 0x7b 0x0 0x0 0x7f 0x1b 0x0 0x0 0xf6 0x1b 0x0 0x0 0x9f 0xdf 0x0 0x0 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xe1 0x0 0x0 0x0 0x6f 0xc 0x0 0x0 0x7b 0x0 0x0 0x0 0xdb 0x0 0x0 0x0 0xdb 0x3 0x0 0x0 0xdf 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1d 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x73 0x0 0x0 0x18 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x2 0x0 0x0 0xe0 0xf8 0x0 0x0 0x0 0xee 0x0 0x0 0x0 0x3b 0x0 0x0 0x18 0x1b 0x0 0x0 0x0 0x1b 0x0 0x0 0x19 0x8f 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x71 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x5b 0x0 0x0 0x0 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xcf 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3f 0xd 0x0 0x0 0xff 0x6b 0x0 0x0 0xfe 0x63 0x0 0x0 0xbf 0x1b 0x0 0x0 0xfb 0x1a 0x0 0x0 0x4f 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xc1 0x0 0x0 0x0 0x6e 0xc 0x0 0x0 0x31 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0xdb 0x3 0x0 0x0 0x99 0x0 0x0 0x0 0x80 0x0 0x0 0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x7 0x8 0x17 0x8 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1b 0xa 0x16 0x16 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x1e 0xc 0x15 0x17 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x20 0xf 0x13 0x19 0x15 0xa 0x3 0x15 0x20 0x12 0xe 0x1 0x10 0x1a 0x1 0xb 0x14 0x8 0x0 0x11 0x1f 0x14 0xd 0x1b 0x12 0x1 0x4 0x9 0x15 0x6 0x0 0xd 0x1d 0x16 0xa 0x1b 0x15 0x3 0x6 0x8 0x18 0x5 0x1 0x9 0x1c 0x16 0x6 0x19 0x17 0x5 0x7 0x8 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x4 0x14 0x9 0x2 0x1a 0x18 0x1e 0x7 0x5 0x13 0x8 0x7 0x5 0x12 0xe 0x1 0x19 0x19 0x1f 0xa 0x2 0x12 0x8 0x6 0x8 0x12 0x14 0x2 0x18 0x1a 0x20 0xc 0x0 0x10 0x9 0x5 0xa 0x12 0x19 0x4 0x15 0x1b 0x0 0xe 0x1f 0xe 0xb 0x3 0xc 0x14 0x1d 0x8 0x0 0xb 0xe 0x1 0x11 0x1b 0x1d 0x11 0xb 0x17 0x1f 0xd 0x0 0x8 0x12 0x1 0xd 0x1a 0x1b 0x12 0x8 0x18 0x1e 0x12 0x2 0x7 0x17 0x2 0xa 0x17 0x19 0x13 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x17 0x8 0x17 0x14 0x1d 0xa 0x6 0x4 0x15 0x1a 0x1 0x15 0x1b 0x9 0xb 0x5 0x1b 0xe 0x8 0x3 0xe 0x1b 0x0 0x11 0x1e 0xc 0x10 0x4 0x17 0x12 0xa 0x2 0x8 0x1a 0x1f 0xf 0x0 0xd 0x16 0x4 0x10 0x14 0xd 0x2 0x1e 0x14 0x3 0x16 0x1b 0x6 0x2 0x9 0x9 0x13 0x10 0x1 0x1a 0x18 0x1f 0xa 0x1 0x12 0x7 0x6 0x4 0xf 0x14 0x2 0x13 0x1b 0x20 0xe 0x1 0xe 0xd 0x5 0x2 0xa 0x18 0x3 0xb 0x1b 0x1f 0x13 0x4 0xa 0x12 0x5 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0x15 0x19 0x1e 0x8 0x0 0x11 0x9 0x2 0x14 0x17 0x1b 0xc 0xe 0x17 0x1f 0xb 0x0 0xb 0xf 0x1 0x10 0x1a 0x1c 0x10 0x9 0x13 0x1f 0xe 0x2 0x6 0x15 0x2 0xa 0x1a 0x1a 0x15 0x8 0xe 0x1f 0xf 0x8 0x2 0x5 0x18 0x1a 0x5 0x17 0x19 0xa 0x9 0x1e 0x12 0x0 0x14 0xe 0x1 0x11 0x1b 0x1c 0x9 0xf 0x5 0x1d 0x14 0x0 0xe 0xc 0x1b 0x13 0x2 0x1d 0xe 0x15 0x4 0x1c 0x15 0x0 0xa 0x7 0x1a 0x16 0x5 0x1b 0x11 0x1b 0x5 0x4 0x5 0x4 0x17 0x1b 0x17 0x18 0x8 0x8 0x8 0x3 0x14 0xa 0x2 0x19 0x19 0x1f 0x8 0x4 0x12 0x9 0x6 0x5 0x12 0x11 0x2 0x17 0x1a 0x20 0xc 0x1 0x10 0xa 0x5 0x7 0x11 0x17 0x3 0x14 0x1b 0x0 0xd 0x20 0xf 0xc 0x3 0xa 0x12 0x1c 0x7 0x0 0xa 0x11 0x1b 0xf 0x2 0x1e 0x11 0xb 0x14 0x1f 0xb 0x0 0x8 0x12 0x1 0xd 0x1b 0x1b 0x13 0xa 0x16 0x1f 0xf 0x2 0x6 0x15 0x1 0xa 0x19 0x19 0x14 0x7 0x17 0x1e 0x13 0x3 0x6 0x19 0x3 0x8 0x17 0x18 0x14 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x1b 0x8 0x16 0x1a 0x5 0x4 0x1 0x15 0x1a 0x9 0x17 0x15 0x1a 0xa 0x11 0x1b 0x6 0x3 0x0 0x12 0x1d 0xa 0x17 0x16 0x17 0xa 0xb 0x1a 0x7 0x2 0x0 0x10 0x1f 0xc 0x16 0x17 0x15 0xa 0x6 0x18 0xa 0x1 0x20 0xe 0x0 0xe 0x14 0x19 0x13 0x8 0x2 0x14 0x20 0x11 0xe 0x1 0x11 0x1b 0x2 0xb 0x14 0x5 0x0 0xf 0x1f 0x14 0xd 0x1b 0x12 0x2 0x4 0xa 0x17 0x4 0x1 0xa 0x1d 0x15 0x8 0x1a 0x15 0x5 0x6 0x9 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x18 0x8 0x18 0x14 0x2 0x12 0x19 0x18 0xa 0x2 0x1e 0x7 0x4 0x13 0x14 0x17 0x4 0xe 0x17 0x19 0x11 0x1 0x20 0xb 0x1 0x10 0xf 0x18 0x8 0xa 0x15 0x1a 0x17 0x2 0x20 0xf 0x0 0xd 0x9 0x18 0xf 0x8 0x12 0x1a 0x1 0x8 0x1c 0x6 0x4 0x16 0x1d 0x13 0x16 0x9 0xf 0x1b 0x5 0x4 0x0 0x12 0x1e 0xa 0x18 0x16 0x1b 0xd 0xb 0x1a 0xc 0x1 0x0 0xe 0x1e 0xe 0x12 0x17 0x1d 0x12 0x7 0x19 0x14 0x1 0x0 0x9 0x1b 0x12 0xd 0x17 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0xa 0x3 0x1 0x14 0x1f 0xb 0x16 0x1a 0xb 0x5 0x4 0x10 0x11 0x5 0x0 0x11 0x20 0x11 0x10 0x1b 0xf 0x2 0x3 0xc 0x16 0x9 0x0 0xe 0x1d 0x16 0xa 0x1a 0x15 0x2 0x5 0x7 0x17 0xe 0x0 0xd 0x17 0x1a 0x1a 0x4 0x5 0x17 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x11 0x1b 0x3 0x13 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xc 0x1a 0x2 0xe 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 0x9 0x17 0x4 0xb 0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x15 0xa 0x3 0x15 0xe 0x1 0x1 0xb 0x14 0x8 0x0 0x11 0x12 0x1 0x14 0x12 0x15 0x6 0x0 0xd 0x13 0x14 0x15 0x3 0x18 0x5 0x1 0x9 0x11 0x15 0x17 0x5 0x1b 0x5 0x4 0x5 0x10 0x15 0x17 0x8 0x9 0x2 0x1e 0x7 0xe 0x15 0x8 0x7 0xe 0x1 0x1f 0xa 0xc 0x15 0x8 0x6 0x14 0x2 0xb 0x14 0x20 0xc 0x9 0x5 0x19 0x4 0xa 0x14 0x1f 0xe 0xb 0x3 0x1d 0x8 0x8 0x13 0xe 0x1 0x1d 0x11 0x1f 0xd 0x12 0x1 0x7 0x11 0x1b 0x12 0x1e 0x12 0x17 0x2 0x6 0x10 0x19 0x13 0x1b 0x17 0x1b 0x5 0x6 0xe 0x17 0x8 0x1d 0xa 0x15 0x1a 0x7 0xc 0x1b 0x9 0x1b 0xe 0xe 0x1b 0x8 0xa 0x1e 0xc 0x17 0x12 0x8 0x1a 0x1f 0xf 0xb 0x8 0x10 0x14 0x1e 0x14 0x3 0x16 0xf 0x7 0x9 0x13 0x1a 0x18 0x1 0x12 0x12 0x8 0x4 0xf 0x13 0x1b 0x15 0x9 0x1 0xe 0x2 0xa 0xb 0x1b 0x18 0xb 0x4 0xa 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0x0 0x11 0x9 0x2 0x18 0x10 0x6 0x12 0x0 0xb 0xf 0x1 0x16 0x13 0x5 0x10 0x2 0x6 0x14 0x14 0x15 0x2 0x5 0xe 0x11 0x14 0x8 0x2 0x1a 0x5 0x5 0xd 0xe 0x13 0xe 0x1 0x1c 0x9 0x6 0xc 0xd 0x11 0x13 0x2 0x1d 0xe 0x6 0xa 0xe 0xf 0x16 0x5 0x1b 0x11 0x7 0x9 0x10 0xe 0x18 0x8 0x8 0x8 0x8 0x14 0x12 0xe 0x4 0x12 0x9 0x6 0x13 0x16 0x14 0xe 0x1 0x10 0xa 0x5 0xf 0x16 0x16 0x10 0x0 0xd 0xc 0x3 0xa 0x15 0x16 0x12 0x0 0xa 0xf 0x2 0x7 0x13 0x0 0x8 0x15 0x13 0x12 0x1 0x5 0x10 0x2 0x6 0x15 0x1 0x13 0x15 0x5 0xe 0x3 0x6 0x19 0x3 0x11 0x15 0x5 0xb 0x1b 0x5 0x4 0x5 0xf 0x15 0x17 0x8 0x1b 0x8 0x5 0x4 0xe 0x15 0x1a 0x9 0x1a 0xa 0x6 0x3 0xc 0x14 0x1d 0xa 0x17 0xa 0x7 0x2 0x1f 0xc 0xb 0x14 0x15 0xa 0xa 0x1 0x20 0xe 0xa 0x13 0x13 0x8 0x20 0x11 0xe 0x1 0x9 0x12 0x14 0x5 0x1f 0x14 0x8 0x11 0x12 0x2 0x17 0x4 0x1d 0x15 0x7 0x10 0x15 0x5 0x1b 0x17 0x1b 0x5 0x6 0xe 0x18 0x8 0x19 0x18 0x1e 0x7 0x7 0xc 0x14 0x17 0x17 0x19 0x20 0xb 0x8 0xa 0xf 0x18 0x15 0x1a 0xb 0x8 0x20 0xf 0x9 0x18 0x12 0x1a 0xe 0x7 0x4 0x16 0x1d 0x13 0xf 0x1b 0x12 0x7 0x0 0x12 0x18 0x16 0xb 0x1a 0x0 0xe 0x16 0x9 0x12 0x17 0x7 0x19 0x0 0x9 0x18 0xb 0xd 0x17 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0xa 0x3 0x1 0x14 0x18 0x10 0xb 0x5 0x11 0x5 0x0 0x11 0x16 0x12 0xf 0x2 0x16 0x9 0x0 0xe 0x15 0x2 0x13 0x13 0x17 0xe 0x0 0xd 0x1a 0x4 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 0x10 0xe 0x6 0x7 0x19 0x7 0x19 0x15 0xd 0xe 0x1b 0x9 0x16 0x17 0x9 0x5 0xb 0xe 0x1c 0xc 0x12 0x18 0xd 0x4 0x1c 0xe 0x9 0xc 0xe 0x19 0x11 0x4 0x1b 0xe 0x9 0xa 0xb 0x18 0x14 0x5 0x1a 0xe 0x7 0x16 0xa 0x9 0x14 0x12 0x1a 0xe 0x5 0x14 0xc 0x7 0x13 0x14 0x1a 0xe 0x4 0x11 0xe 0x7 0x11 0x15 0x1b 0xe 0x4 0xe 0x10 0x15 0x10 0x7 0x6 0xc 0x1c 0xf 0xe 0x15 0x11 0x7 0xa 0xa 0x1d 0x10 0xc 0x15 0x13 0x8 0xe 0xa 0x1c 0x12 0xb 0x14 0x14 0x8 0x12 0xb 0xa 0x14 0x1a 0x14 0x5 0x8 0x15 0xe 0x7 0x6 0x8 0x13 0x17 0x16 0x15 0x11 0xa 0x4 0x7 0x11 0x17 0xb 0x13 0x15 0xd 0x4 0x6 0x10 0x18 0xc 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0x11 0x7 0xb 0x17 0x18 0x10 0x7 0xc 0x11 0x9 0x6 0x16 0x17 0x12 0x8 0xa 0x10 0xa 0x3 0x13 0x14 0x14 0x1a 0xa 0xe 0xb 0x11 0x15 0x1d 0xd 0x3 0xf 0xd 0xa 0x1d 0x10 0xd 0x15 0x12 0x8 0xc 0x8 0x1a 0x14 0x9 0x13 0x15 0x9 0xd 0x6 0x15 0x17 0x7 0x11 0x18 0xb 0x10 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0xa 0x15 0x13 0x5 0x18 0x10 0x7 0xc 0x6 0x10 0x17 0x5 0x16 0x13 0x9 0xa 0x5 0xc 0x1a 0x7 0x14 0x14 0xc 0x9 0x8 0x7 0x11 0x14 0x1c 0xa 0x5 0x11 0xc 0x4 0xe 0x13 0x1d 0xd 0x4 0xf 0xd 0x11 0x11 0x3 0x1d 0x10 0x3 0xd 0xe 0xf 0x16 0x4 0x1b 0x13 0x4 0x9 0x10 0xe 0x19 0x7 0x6 0x7 0x6 0x15 0x12 0xe 0x4 0x13 0x9 0x5 0x16 0x17 0x14 0xe 0x3 0x10 0xd 0x4 0x12 0x18 0x3 0xe 0x16 0x10 0x11 0x3 0xe 0x18 0x4 0xe 0x16 0x12 0x14 0x4 0xb 0x17 0x5 0xe 0x18 0x6 0x15 0x13 0xb 0xa 0x5 0xe 0x1a 0x8 0x13 0x15 0xc 0x8 0x5 0xe 0x1b 0xb 0x11 0x15 0xe 0x7 0x1b 0xe 0x4 0xe 0xf 0x15 0xf 0x7 0x19 0x10 0x3 0xd 0x11 0x7 0xe 0x15 0x15 0x12 0x2 0xc 0x13 0x7 0xc 0x14 0x11 0x12 0x3 0xa 0x14 0x8 0xb 0x14 0xd 0x11 0x15 0x8 0x5 0x8 0x1a 0x14 0xa 0xe 0x18 0x16 0x17 0x9 0x8 0x6 0xa 0xb 0x15 0x18 0x18 0xb 0x8 0x11 0xc 0x7 0x12 0x18 0x19 0xc 0x7 0x10 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0xe 0x15 0x14 0x5 0x7 0xc 0x18 0x10 0xe 0x13 0x19 0x6 0x8 0xa 0x17 0x12 0xf 0x12 0x1c 0x9 0xb 0x8 0x5 0x12 0x11 0x11 0xe 0x7 0x2 0xf 0x1c 0xd 0x12 0x12 0x2 0xc 0x12 0x7 0xd 0x14 0x13 0x14 0x5 0x8 0x16 0x9 0xa 0x13 0x12 0x16 0xa 0x5 0x18 0xb 0x7 0x11 0xf 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0x15 0x7 0xc 0x17 0x7 0xc 0x18 0x10 0x19 0xc 0x8 0x17 0x9 0x9 0x16 0x12 0x1a 0x10 0x5 0x15 0xb 0x8 0x13 0x13 0x17 0x15 0xe 0x8 0x3 0x12 0x1a 0xb 0x13 0x18 0x11 0x9 0x2 0xf 0x1b 0xd 0x12 0xb 0xe 0x19 0x2 0xc 0x1c 0xf 0x11 0xd 0x9 0x18 0x4 0x9 0x1b 0x13 0x10 0x10 0xc 0x14 0x7 0x17 0x4 0x1a 0x3 0x1c 0x3 0x1d 0x5 0x1d 0x8 0x1b 0xc 0x19 0x10 0x16 0x14 0x13 0x17 0x10 0x1a 0xd 0x1b 0xa 0x1b 0x8 0x19 0x6 0x17 0x5 0x13 0x6 0x10 0x7 0xd 0x8 0xa 0xb 0x7 0xe 0x6 0x10 0x6 0x12 0x8 0x15 0xa 0x17 0xd 0x18 0x10 0x19 0x13 0x19 0x16 0x18 0x18 0x17 0x19 0x14 0x10 0x19 0xf 0x17 0xd 0x17 0xa 0x19 0x6 0x1a 0x6 0x16 0x9 0x13 0x9 0x11 0x7 0x10 0x3 0xe 0x3 0xb 0x8 0xb 0xb 0xb 0xc 0xa 0xc 0x6 0xe 0x2 0x10 0x4 0x11 0x8 0x12 0xa 0x14 0x9 0x19 0x7 0x1b 0x9 0x19 0xd 0x17 0xf 0x17 0x10 0x1a 0x12 0x1d 0x15 0x1a 0x16 0x15 0x15 0x14 0x16 0x13 0x18 0x12 0x1d 0x10 0x19 0xe 0x17 0xd 0x17 0xb 0x17 0x8 0x17 0x5 0x19 0x2 0x19 0x3 0x17 0x8 0x14 0xb 0x12 0xe 0x11 0x10 0x10 0x11 0x10 0x14 0xe 0x19 0xb 0x1c 0x9 0x1c 0x9 0x19 0x9 0x17 0xa 0x16 0xa 0x14 0x9 0x13 0x7 0x11 0x4 0xf 0x2 0xb 0x3 0x9 0x6 0x9 0x9 0x9 0xa 0x9 0xb 0x8 0xb 0x7 0xb 0x7 0xb 0x10 0x19 0x13 0x18 0x15 0x17 0x16 0x16 0x18 0x15 0x18 0x15 0x18 0x14 0x15 0x12 0x10 0x10 0xb 0xe 0x9 0xc 0x8 0xc 0x9 0xb 0xa 0xa 0xb 0x9 0xd 0x8 0x10 0x6 0x14 0x4 0x1a 0x3 0x1d 0x4 0x1c 0x8 0x19 0xb 0x15 0xd 0x12 0xf 0x10 0x10 0xd 0x11 0xa 0x13 0x6 0x16 0x3 0x19 0x3 0x1c 0x7 0x1c 0xc 0x1a | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/BMP Viewer - Hello (C8 example) [Hap, 2005].ch8 | |
###################################################################### | |
:proto L1 # 202 | |
:proto Sub1 # 226 | |
:proto D2 # 230 | |
: main | |
0x12 : D1 0x2 # SMC: jump L1 | |
: L1 | |
clear | |
i := D1 | |
load v0 | |
i := D2 | |
v1 := 64 | |
if v0 != -1 then v1 >>= v0 | |
v0 := v1 | |
v0 <<= v0 | |
v2 := 0 | |
v3 := 1 | |
v1 += -1 | |
loop | |
sprite v2 v1 1 | |
v2 += 8 | |
if v2 == v0 then Sub1 | |
i += v3 | |
again | |
: Sub1 | |
v1 += -1 | |
v2 := 0 | |
if v1 == -1 then loop | |
again | |
return | |
: D2 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x3 0xc0 0x0 0x0 0x0 0x0 0x0 0x1 0x83 0xc0 0x0 0x0 0x0 0x0 0x3f 0xc3 0xc3 0xc0 0x0 0x0 0x0 0x0 0xff 0xe3 0xc3 0xc0 0x1e 0x0 0x0 0x1 0xff 0xe3 0xe3 0xc0 0x3f 0x80 0x0 0x33 0xff 0xc3 0xe3 0xc0 0x7f 0xc0 0xc0 0x7b 0xe0 0x1 0xe3 0xe0 0xff 0xf0 0xe0 0x7f 0xe0 0x1 0xe3 0xe0 0xff 0xf8 0xe0 0x7f 0xfe 0x1 0xe1 0xe0 0xf1 0xfc 0xf0 0x3f 0xff 0xc1 0xe1 0xe0 0xf0 0x7c 0xf0 0x3d 0xff 0xe1 0xe1 0xe0 0xf0 0x3e 0xf0 0x3f 0xff 0xe1 0xe1 0xe0 0xf0 0x3e 0xf0 0x3f 0xf3 0xf1 0xe1 0xe0 0xf0 0x1e 0xf8 0x1e 0xf9 0xf1 0xe1 0xe0 0xf0 0x1e 0xff 0x9e 0xff 0xf3 0xe1 0xe0 0xf0 0x3e 0x7f 0xff 0x7f 0xf3 0xe1 0xe0 0xf8 0x3e 0x7f 0xff 0x3f 0xe3 0xc1 0xe0 0xf8 0x3c 0x7f 0xff 0xf 0xc3 0xc1 0xe0 0x7c 0x7c 0x3c 0xff 0x7 0x83 0xc3 0xe0 0x7e 0x7c 0x3e 0x3f 0x0 0x3 0xc3 0xe0 0x3f 0xf8 0x3e 0xf 0x0 0x7 0xc3 0xc0 0x1f 0xf8 0x1e 0xf 0x0 0x7 0xc3 0xc0 0x1f 0xf0 0x1e 0xf 0x0 0x7 0x87 0xc0 0xf 0xc0 0x1e 0xf 0x0 0xf 0x87 0xc0 0x0 0x0 0x1e 0xf 0x0 0xf 0x8f 0x80 0x0 0x0 0x1e 0x6 0x0 0x7 0xf 0x80 0x0 0x0 0xc 0x0 0x0 0x0 0x7 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Chip8 emulator Logo [Garstyciuks].ch8 | |
###################################################################### | |
:proto Sub1 # 21A | |
:proto D1 # 220 | |
: main | |
clear | |
v0 := 0 | |
v1 := 0 | |
v2 := 8 | |
i := D1 | |
loop | |
if v0 == 64 then Sub1 | |
if v1 == 32 then loop | |
again | |
sprite v0 v1 8 | |
i += v2 | |
v0 += 8 | |
again | |
: Sub1 | |
v0 := 0 | |
v1 += 8 | |
return | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7f 0x40 0x5f 0x50 0x57 0x54 0x54 0x0 0xfc 0x4 0xf4 0x14 0xd4 0x54 0x54 0x0 0x3f 0x20 0x2f 0x28 0x2b 0x2a 0x2a 0x0 0xfe 0x2 0xfa 0xa 0xea 0x2a 0x2a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x54 0x54 0x54 0x54 0x54 0x74 0x0 0x54 0x54 0x54 0x54 0x74 0x0 0x0 0x0 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x3b 0x0 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0xee 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x74 0x54 0x54 0x54 0x54 0x54 0x54 0x54 0x0 0x0 0x74 0x54 0x54 0x54 0x54 0x54 0x3b 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0xee 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x2a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x54 0x57 0x50 0x5f 0x40 0x7f 0x0 0x54 0x54 0xd4 0x14 0xf4 0x4 0xfc 0x0 0x2a 0x2a 0x2b 0x28 0x2f 0x20 0x3f 0x0 0x2a 0x2a 0xea 0xa 0xfa 0x2 0xfe 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Chip8 Picture.ch8 | |
###################################################################### | |
:proto D1 # 248 | |
:proto D2 # 24A | |
:proto D3 # 258 | |
:proto D4 # 267 | |
:proto D5 # 276 | |
:proto D6 # 285 | |
:proto D7 # 294 | |
: main | |
clear | |
i := D1 | |
v0 := 0 | |
v1 := 30 | |
v2 := 0 | |
loop | |
sprite v2 v0 2 | |
sprite v2 v1 2 | |
v2 += 8 | |
if v2 != 64 then | |
again | |
v0 := 0 | |
v1 := 62 | |
v2 := 2 | |
i := D2 | |
sprite v0 v2 14 | |
sprite v1 v2 14 | |
v2 += 14 | |
sprite v0 v2 14 | |
sprite v1 v2 14 | |
i := D3 | |
v0 := 11 | |
v1 := 8 | |
sprite v0 v1 15 | |
v0 += 10 | |
i := D4 | |
sprite v0 v1 15 | |
v0 += 10 | |
i := D5 | |
sprite v0 v1 15 | |
v0 += 3 | |
i := D6 | |
sprite v0 v1 15 | |
v0 += 10 | |
i := D7 | |
sprite v0 v1 15 | |
loop | |
again | |
: D1 | |
0xff 0xff | |
: D2 | |
0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 | |
: D3 | |
0xff 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0xff | |
: D4 | |
0x81 0x81 0x81 0x81 0x81 0x81 0x81 0xff 0x81 0x81 0x81 0x81 0x81 0x81 0x81 | |
: D5 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D6 | |
0xff 0x81 0x81 0x81 0x81 0x81 0x81 0xff 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D7 | |
0xff 0x81 0x81 0x81 0x81 0x81 0x81 0xff 0x81 0x81 0x81 0x81 0x81 0x81 0xff 0xff | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Clock Program [Bill Fisher, 1981].ch8 | |
###################################################################### | |
# InvalidOpcode('02D8',) | |
:proto L1 # 260 | |
:proto Sub1 # 2CE | |
:proto D1 # 2E0 | |
: main | |
v1 := key | |
v2 := key | |
v3 := key | |
v4 := key | |
v5 := key | |
v6 := key | |
clear | |
v7 := 1 | |
Sub1 | |
v8 += 1 | |
i := hex v1 | |
sprite v7 v8 5 | |
v7 := 11 | |
Sub1 | |
v8 += 1 | |
i := hex v2 | |
sprite v7 v8 5 | |
v7 := 23 | |
Sub1 | |
v8 += 1 | |
i := hex v3 | |
sprite v7 v8 5 | |
v7 := 33 | |
Sub1 | |
v8 += 1 | |
i := hex v4 | |
sprite v7 v8 5 | |
v7 := 45 | |
Sub1 | |
v8 += 1 | |
i := hex v5 | |
sprite v7 v8 5 | |
v7 := 55 | |
Sub1 | |
v8 += 1 | |
i := hex v6 | |
sprite v7 v8 5 | |
vD := key | |
vD := 37 | |
delay := vD | |
jump L1 | |
0x6d 0x3b 0xfd 0x15 0x22 0xe8 0x76 0x1 0x46 0xa 0x12 0x6a 0x22 0xe8 | |
: L1 | |
loop | |
vD := delay | |
if vD != 0 then | |
again | |
0x2 0xd8 0x12 0x52 0x66 0x0 0x22 0xe8 0x22 0xf0 0x75 0x1 0x45 0x6 0x12 0x7a 0x22 0xf0 0x12 0x60 0x65 0x0 0x22 0xf0 0x22 0xf8 0x74 0x1 0x44 0xa 0x12 0x8a 0x22 0xf8 0x12 0x60 0x64 0x0 0x22 0xf8 0x23 0x0 0x73 0x1 0x43 0x6 0x12 0x9a 0x23 0x0 0x12 0x60 0x63 0x0 0x23 0x0 0x23 0x8 0x72 0x1 0x42 0x4 0x12 0xba 0x42 0xa 0x12 0xae 0x23 0x8 0x12 0x60 0x62 0x0 0x23 0x8 0x23 0x10 0x71 0x1 0x23 0x10 0x12 0x60 0x41 0x2 0x12 0xc2 0x23 0x8 0x12 0x60 0x62 0x0 0x23 0x8 0x23 0x10 0x61 0x0 0x23 0x10 0x12 0x60 | |
: Sub1 | |
v8 := 7 | |
i := D1 | |
sprite v7 v8 7 | |
v7 += 1 | |
return | |
0xf8 0xfa 0xaf 0x2f 0x8f 0x3a 0xdb 0xd4 | |
: D1 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0x0 0x67 0x38 0xf6 0x29 0xd7 0x85 0x0 0xee 0x67 0x2e 0xf5 0x29 0xd7 0x85 0x0 0xee 0x67 0x22 0xf4 0x29 0xd7 0x85 0x0 0xee 0x67 0x18 0xf3 0x29 0xd7 0x85 0x0 0xee 0x67 0xc 0xf2 0x29 0xd7 0x85 0x0 0xee 0x67 0x2 0xf1 0x29 0xd7 0x85 0x0 0xee | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Delay Timer Test [Matthew Mikolay, 2010].ch8 | |
###################################################################### | |
:proto Sub1 # 21E | |
:proto D1 # 23A | |
: main | |
v6 := 1 | |
: L1 | |
loop | |
Sub1 | |
v4 := key | |
if v4 == 2 then v3 += 1 | |
if v4 == 8 then v3 -= v6 | |
if v4 != 5 then | |
again | |
delay := v3 | |
loop | |
v3 := delay | |
Sub1 | |
if v3 != 0 then | |
again | |
jump L1 | |
: Sub1 | |
clear | |
v5 := 0 | |
i := D1 | |
bcd v3 | |
load v2 | |
i := hex v0 | |
sprite v5 v6 5 | |
i := hex v1 | |
v5 := 5 | |
sprite v5 v6 5 | |
i := hex v2 | |
v5 := 10 | |
sprite v5 v6 5 | |
return | |
: D1 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Division Test [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L4 # 295 | |
:proto L5 # 2BF | |
:proto Sub1 # 313 | |
:proto L9 # 339 | |
:proto L10 # 33F | |
:proto Sub2 # 351 | |
:proto D1 # 369 | |
:proto D2 # 36C | |
:proto D3 # 36D | |
:proto D4 # 36E | |
:proto D5 # 36F | |
:proto D6 # 370 | |
:proto D7 # 371 | |
:proto D8 # 372 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
v0 := 20 | |
i := D6 | |
save v0 | |
v0 := 4 | |
i := D5 | |
save v0 | |
v0 := 0 | |
i := D7 | |
save v0 | |
: L2 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D5 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L5 | |
i := D6 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 >>= v1 | |
i := D4 | |
save v0 | |
i := D5 | |
load v0 | |
i := D3 | |
save v0 | |
v0 := 1 | |
i := D2 | |
save v0 | |
loop | |
i := D4 | |
load v0 | |
v5 := v0 | |
i := D3 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 <<= v1 | |
i := D3 | |
save v0 | |
i := D2 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 <<= v1 | |
i := D2 | |
save v0 | |
again | |
: L4 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D3 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D6 | |
save v0 | |
i := D7 | |
load v0 | |
v5 := v0 | |
i := D2 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D7 | |
save v0 | |
jump L2 | |
: L5 | |
v0 := 0 | |
v3 := v0 | |
v0 := 0 | |
v4 := v0 | |
i := D7 | |
load v0 | |
Sub2 | |
v0 := 20 | |
i := D6 | |
save v0 | |
v0 := 4 | |
i := D5 | |
save v0 | |
v0 := 0 | |
v3 := v0 | |
v0 := 10 | |
v4 := v0 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D5 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
Sub1 | |
Sub2 | |
loop | |
again | |
0x81 0x0 0xa3 0x72 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x13 0x7 0x80 0x30 0x0 0xee | |
: Sub1 | |
i := D8 | |
i += vE | |
save v6 | |
v6 := 0 | |
: L7 | |
v2 := v0 | |
v2 -= v1 | |
if vF != 1 then jump L10 | |
v3 := v0 | |
v3 >>= v0 | |
v4 := v1 | |
v5 := 1 | |
loop | |
v2 := v3 | |
v2 -= v4 | |
if vF != 1 then jump L9 | |
v4 <<= v0 | |
v5 <<= v0 | |
again | |
: L9 | |
v0 -= v4 | |
v6 += v5 | |
jump L7 | |
: L10 | |
load v5 | |
v0 := v6 | |
return | |
0x82 0x0 0x80 0x15 0x3f 0x0 0x13 0x45 0x80 0x20 0x0 0xee | |
: Sub2 | |
i := D1 | |
bcd v0 | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0x28 0x63 0x29 | |
: D2 | |
0x0 | |
: D3 | |
0x0 | |
: D4 | |
0x0 | |
: D5 | |
0x0 | |
: D6 | |
0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Fishie [Hap, 2005].ch8 | |
###################################################################### | |
:proto D1 # 220 | |
: main | |
clear | |
i := D1 | |
v2 := 8 | |
v0 := -8 | |
: L1 | |
v0 += 8 | |
v1 := 16 | |
if v0 == 32 then loop | |
again | |
loop | |
sprite v1 v0 8 | |
i += v2 | |
v1 += 8 | |
if v1 == 48 then jump L1 | |
again | |
0x0 0x0 0x0 0x0 | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x18 0x3c 0x3c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3e 0x3f 0x3f 0x3b 0x39 0x38 0x38 0x38 0x0 0x0 0x80 0xc1 0xe7 0xff 0x7e 0x3c 0x0 0x1f 0xff 0xf9 0xc0 0x80 0x3 0x3 0x0 0x80 0xe0 0xf0 0x78 0x38 0x1c 0x1c 0x38 0x38 0x39 0x3b 0x3f 0x3f 0x3e 0x3c 0x78 0xfc 0xfe 0xcf 0x87 0x3 0x1 0x0 0x0 0x0 0x0 0x0 0x80 0xe3 0xff 0x7f 0x1c 0x38 0x38 0x70 0xf0 0xe0 0xc0 0x0 0x3c 0x18 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Framed MK1 [GV Samways, 1980].ch8 | |
###################################################################### | |
# InvalidOpcode('0000',) | |
:proto L2 # 216 | |
:proto L3 # 224 | |
:proto Sub1 # 280 | |
:proto Sub2 # 292 | |
:proto D1 # 2A0 | |
:proto D2 # 2A1 | |
:proto Sub3 # 2A2 | |
: main | |
Sub1 | |
: L1 | |
loop | |
vC := random 0b1 | |
if vC == 1 then jump L2 | |
vA := random 0b111110 | |
vB := 2 | |
if vA == 0 then jump L1 | |
i := D2 | |
sprite vA vB 1 | |
jump L3 | |
: L2 | |
vB := random 0b11110 | |
vA := 2 | |
if vB == 0 then | |
again | |
i := D2 | |
sprite vA vB 1 | |
0x0 0x0 | |
: L3 | |
loop | |
vD := random 0b11 | |
if vD == 0 then vA += -1 | |
if vA == 1 then vA += 2 | |
if vD == 1 then vB += -1 | |
if vB == 1 then vB += 2 | |
if vD == 2 then vA += 1 | |
if vA == 62 then vA += -2 | |
if vD == 3 then vB += 1 | |
if vB == 30 then vB += -2 | |
i := D2 | |
sprite vA vB 1 | |
if vF != 1 then jump L3 | |
v0 := 15 | |
if v0 -key then | |
again | |
clear | |
jump main | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: Sub1 | |
vB := 0 | |
Sub2 | |
vB := 31 | |
Sub2 | |
vA := 0 | |
Sub3 | |
vA := 63 | |
Sub3 | |
return | |
: Sub2 | |
vA := 0 | |
loop | |
i := D1 | |
sprite vA vB 1 | |
vA += 8 | |
if vA != 64 then | |
again | |
return | |
: D1 | |
0xff | |
: D2 | |
0x80 | |
: Sub3 | |
vB := 1 | |
loop | |
i := D2 | |
sprite vA vB 1 | |
vB += 1 | |
if vB != 31 then | |
again | |
return | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Framed MK2 [GV Samways, 1980].ch8 | |
###################################################################### | |
:proto L2 # 216 | |
:proto L3 # 224 | |
:proto L5 # 256 | |
:proto Sub1 # 280 | |
:proto Sub2 # 292 | |
:proto D1 # 2A0 | |
:proto D2 # 2A1 | |
:proto Sub3 # 2A2 | |
: main | |
Sub1 | |
: L1 | |
loop | |
vC := random 0b1 | |
if vC == 1 then jump L2 | |
vA := random 0b111110 | |
vB := 2 | |
if vA == 0 then jump L1 | |
i := D2 | |
sprite vA vB 1 | |
jump L3 | |
: L2 | |
vB := random 0b11110 | |
vA := 2 | |
if vB == 0 then | |
again | |
i := D2 | |
sprite vA vB 1 | |
v8 := 0 | |
: L3 | |
vD := random 0b11 | |
loop | |
if vD == 0 then vA += -1 | |
if vA == 1 then vA += 2 | |
if vD == 1 then vB += -1 | |
if vB == 1 then vB += 2 | |
if vD == 2 then vA += 1 | |
if vA == 62 then vA += -2 | |
if vD == 3 then vB += 1 | |
if vB == 30 then vB += -2 | |
i := D2 | |
sprite vA vB 1 | |
if vF != 0 then jump L5 | |
v8 += -1 | |
if v8 != 0 then | |
again | |
v8 := random 0b11 | |
: L5 | |
v0 := 15 | |
if v0 -key then jump L3 | |
clear | |
jump main | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: Sub1 | |
vB := 0 | |
Sub2 | |
vB := 31 | |
Sub2 | |
vA := 0 | |
Sub3 | |
vA := 63 | |
Sub3 | |
return | |
: Sub2 | |
vA := 0 | |
loop | |
i := D1 | |
sprite vA vB 1 | |
vA += 8 | |
if vA != 64 then | |
again | |
return | |
: D1 | |
0xff | |
: D2 | |
0x80 | |
: Sub3 | |
vB := 1 | |
loop | |
i := D2 | |
sprite vA vB 1 | |
vB += 1 | |
if vB != 31 then | |
again | |
return | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/IBM Logo.ch8 | |
###################################################################### | |
:proto D1 # 22A | |
:proto D2 # 239 | |
:proto D3 # 248 | |
:proto D4 # 257 | |
:proto D5 # 266 | |
:proto D6 # 275 | |
: main | |
clear | |
i := D1 | |
v0 := 12 | |
v1 := 8 | |
sprite v0 v1 15 | |
v0 += 9 | |
i := D2 | |
sprite v0 v1 15 | |
i := D3 | |
v0 += 8 | |
sprite v0 v1 15 | |
v0 += 4 | |
i := D4 | |
sprite v0 v1 15 | |
v0 += 8 | |
i := D5 | |
sprite v0 v1 15 | |
v0 += 8 | |
i := D6 | |
sprite v0 v1 15 | |
loop | |
again | |
: D1 | |
0xff 0x0 0xff 0x0 0x3c 0x0 0x3c 0x0 0x3c 0x0 0x3c 0x0 0xff 0x0 0xff | |
: D2 | |
0xff 0x0 0xff 0x0 0x38 0x0 0x3f 0x0 0x3f 0x0 0x38 0x0 0xff 0x0 0xff | |
: D3 | |
0x80 0x0 0xe0 0x0 0xe0 0x0 0x80 0x0 0x80 0x0 0xe0 0x0 0xe0 0x0 0x80 | |
: D4 | |
0xf8 0x0 0xfc 0x0 0x3e 0x0 0x3f 0x0 0x3b 0x0 0x39 0x0 0xf8 0x0 0xf8 | |
: D5 | |
0x3 0x0 0x7 0x0 0xf 0x0 0xbf 0x0 0xfb 0x0 0xf3 0x0 0xe3 0x0 0x43 | |
: D6 | |
0xe0 0x0 0xe0 0x0 0x80 0x0 0x80 0x0 0x80 0x0 0x80 0x0 0xe0 0x0 0xe0 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Jumping X and O [Harry Kleinberg, 1977].ch8 | |
###################################################################### | |
:proto Sub1 # 212 | |
:proto L4 # 22E | |
:proto D1 # 240 | |
:proto D2 # 246 | |
:proto D3 # 24C | |
: main | |
i := D3 | |
v5 := 48 | |
v6 := 4 | |
sprite v5 v6 6 | |
loop | |
i := D1 | |
Sub1 | |
i := D2 | |
Sub1 | |
again | |
: Sub1 | |
v1 := 30 | |
v2 := 13 | |
: L2 | |
sprite v1 v2 5 | |
v3 := 12 | |
delay := v3 | |
loop | |
v4 := delay | |
if v4 != 0 then | |
again | |
if vF == 1 then jump L4 | |
sprite v1 v2 5 | |
v1 := random 0b111111 | |
v2 := random 0b11111 | |
jump L2 | |
: L4 | |
sprite v1 v2 5 | |
return | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
: D1 | |
0x88 0x50 0x20 0x50 0x88 0x0 | |
: D2 | |
0xf8 0x88 0x88 0x88 0xf8 0x0 | |
: D3 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Keypad Test [Hap, 2006].ch8 | |
###################################################################### | |
:proto L2 # 24E | |
: main | |
jump L2 | |
: D1 | |
0x8 0x19 0x1 0x1 0x8 0x1 0xf 0x1 0x1 0x9 0x8 0x9 0xf 0x9 0x1 0x11 0x8 0x11 0xf 0x11 0x1 0x19 0xf 0x19 0x16 0x1 0x16 0x9 0x16 0x11 0x16 0x19 | |
: D2 | |
0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0x0 | |
: Sub1 | |
i := D1 | |
v2 <<= v0 | |
i += v2 | |
v2 >>= v0 | |
load v1 | |
return | |
: Sub2 | |
i := D1 | |
v2 <<= v0 | |
i += v2 | |
v2 >>= v0 | |
save v1 | |
return | |
: Sub3 | |
vF := 16 | |
delay := vF | |
loop | |
vF := delay | |
if vF != 0 then | |
again | |
return | |
: L2 | |
clear | |
v2 := 0 | |
loop | |
Sub1 | |
i := hex v2 | |
sprite v0 v1 5 | |
v0 += -1 | |
v1 += -1 | |
Sub2 | |
v2 += 1 | |
if v2 != 16 then | |
again | |
loop | |
v2 := key | |
Sub1 | |
i := D2 | |
sprite v0 v1 7 | |
Sub3 | |
sprite v0 v1 7 | |
again | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Life [GV Samways, 1980].ch8 | |
###################################################################### | |
:proto D1 # 238 | |
:proto D2 # 280 | |
:proto L4 # 284 | |
:proto L5 # 296 | |
:proto L6 # 2B0 | |
:proto L7 # 2B2 | |
:proto L8 # 2BA | |
:proto L9 # 2FA | |
: main | |
jump L4 | |
: L1 | |
v0 += 4 | |
if v0 == 64 then v1 += 4 | |
if v0 == 64 then v0 := 0 | |
if v1 != 32 then jump L8 | |
i := D1 | |
i += vE | |
v1 := -4 | |
save v1 | |
vE := 0 | |
loop | |
i := D1 | |
i += vE | |
load v1 | |
i := D2 | |
sprite v0 v1 3 | |
vE += 2 | |
if v1 != -4 then | |
again | |
sprite v0 v1 3 | |
jump L7 | |
: L3 | |
i := D1 | |
i += vE | |
save v1 | |
vE += 2 | |
jump L1 | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D2 | |
0xe0 0xa0 0xe0 | |
: D3 | |
0x80 | |
: L4 | |
loop | |
v1 := key | |
if v1 == 15 then jump L6 | |
vA := 8 | |
vA &= v1 | |
if vA == 0 then jump L5 | |
buzzer := vA | |
jump L4 | |
: L5 | |
v1 += v1 | |
v1 += v1 | |
v0 := key | |
v0 += v0 | |
v0 += v0 | |
i := D2 | |
sprite v0 v1 3 | |
again | |
: Sub1 | |
vF := 0 | |
sprite v0 v1 1 | |
vC += vF | |
sprite v0 v1 1 | |
return | |
: L6 | |
v2 := key | |
: L7 | |
v0 := 0 | |
v1 := 0 | |
vE := 0 | |
v2 += -1 | |
: L8 | |
if v2 == 0 then jump L4 | |
vC := 0 | |
i := D3 | |
sprite v0 v1 1 | |
v4 := vF | |
sprite v0 v1 1 | |
v0 += -4 | |
Sub1 | |
v1 += 4 | |
Sub1 | |
v0 += 4 | |
Sub1 | |
v0 += 4 | |
Sub1 | |
v1 += -4 | |
Sub1 | |
v1 += -4 | |
Sub1 | |
v0 += -4 | |
Sub1 | |
v0 += -4 | |
Sub1 | |
v0 += 4 | |
v1 += 4 | |
if vC == 2 then jump L1 | |
if vC == 3 then jump L9 | |
if v4 != 1 then jump L1 | |
jump L3 | |
: L9 | |
if v4 != 1 then jump L3 | |
jump L1 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Minimal game [Revival Studios, 2007].ch8 | |
###################################################################### | |
:proto Sub1 # 214 | |
:proto Sub2 # 21A | |
:proto Sub3 # 220 | |
:proto L2 # 228 | |
:proto L3 # 230 | |
:proto L4 # 238 | |
:proto L5 # 240 | |
:proto Sub4 # 242 | |
:proto D1 # 24A | |
: main | |
clear | |
Sub1 | |
Sub2 | |
loop | |
Sub2 | |
Sub3 | |
Sub2 | |
v0 := 1 | |
delay := v0 | |
Sub4 | |
again | |
: Sub1 | |
v3 := 32 | |
v4 := 25 | |
return | |
: Sub2 | |
i := D1 | |
sprite v3 v4 6 | |
return | |
: Sub3 | |
v0 := 8 | |
if v0 -key then jump L2 | |
v4 += 1 | |
: L2 | |
v0 := 2 | |
if v0 -key then jump L3 | |
v4 += -1 | |
: L3 | |
v0 := 4 | |
if v0 -key then jump L4 | |
v3 += -1 | |
: L4 | |
v0 := 6 | |
if v0 -key then jump L5 | |
v3 += 1 | |
: L5 | |
return | |
: Sub4 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: D1 | |
0x3c 0x18 0xff 0x18 0x24 0xe7 0x7e 0xff 0x99 0xe7 0x3c | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/Random Number Test [Matthew Mikolay, 2010].ch8 | |
###################################################################### | |
:proto D1 # 224 | |
: main | |
loop | |
clear | |
v0 := random 0b11111111 | |
i := D1 | |
bcd v0 | |
load v2 | |
i := hex v0 | |
v0 := 0 | |
v3 := 0 | |
sprite v0 v3 5 | |
i := hex v1 | |
v0 := 5 | |
sprite v0 v3 5 | |
i := hex v2 | |
v0 := 10 | |
sprite v0 v3 5 | |
v0 := key | |
again | |
0 0 | |
: D1 | |
###################################################################### | |
# INPUT: chip8/Chip-8 Programs/SQRT Test [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 27B | |
:proto Sub2 # 35B | |
:proto D1 # 373 | |
:proto D2 # 376 | |
:proto D3 # 37E | |
:proto D4 # 37F | |
:proto D5 # 380 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: Sub1 | |
v0 := 4 | |
vA := v0 | |
v0 := 4 | |
vB := v0 | |
v0 := 0 | |
i := D2 | |
i += v0 | |
sprite vA vB 8 | |
v0 := 12 | |
vA := v0 | |
v0 := 4 | |
vB := v0 | |
i := D3 | |
sprite vA vB 1 | |
v0 := 20 | |
vA := v0 | |
v0 := 4 | |
vB := v0 | |
i := D3 | |
sprite vA vB 1 | |
v0 := 128 | |
i := D3 | |
save v0 | |
v0 := 28 | |
vA := v0 | |
v0 := 4 | |
vB := v0 | |
i := D3 | |
sprite vA vB 1 | |
v0 := 0 | |
v5 := v0 | |
v0 := -8 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
v0 := 1 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
v0 := 2 | |
v5 := v0 | |
v0 := -8 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
v0 := 31 | |
vA := v0 | |
v0 := 7 | |
vB := v0 | |
v0 := 0 | |
i := D2 | |
i += v0 | |
sprite vA vB 3 | |
return | |
: L1 | |
Sub1 | |
v0 := 144 | |
i := D5 | |
save v0 | |
v0 := 13 | |
v3 := v0 | |
v0 := 6 | |
v4 := v0 | |
i := D5 | |
load v0 | |
Sub2 | |
v0 := 1 | |
i := D4 | |
save v0 | |
v0 := 0 | |
i := D3 | |
save v0 | |
loop | |
i := D5 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D5 | |
save v0 | |
i := D4 | |
load v0 | |
v5 := v0 | |
v0 := 2 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D4 | |
save v0 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D3 | |
save v0 | |
i := D5 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v0 | |
v0 -= v1 | |
v0 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then | |
again | |
v0 := 38 | |
v3 := v0 | |
v0 := 6 | |
v4 := v0 | |
i := D3 | |
load v0 | |
Sub2 | |
loop | |
again | |
0x81 0x0 0xa3 0x81 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x13 0x11 0x80 0x30 0x0 0xee 0xa3 0x81 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x13 0x49 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x13 0x43 0x84 0xe 0x85 0xe 0x13 0x35 0x80 0x45 0x86 0x54 0x13 0x25 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x13 0x4f 0x80 0x20 0x0 0xee | |
: Sub2 | |
i := D1 | |
bcd v0 | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: D1 | |
0x28 0x63 0x29 | |
: D2 | |
0x1 0x41 0x21 0x11 0x9 0x5 0x3 0x1 | |
: D3 | |
0xff | |
: D4 | |
0x0 | |
: D5 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/Chip-8X and Hybrids/Pinball [Andrew Modla].ch8 | |
###################################################################### | |
# InvalidOpcode('0634',) | |
:proto L1 # 20E | |
:proto L2 # 212 | |
:proto L3 # 214 | |
:proto D1 # 67F | |
: main | |
loop | |
vE := 1 | |
if vE key then jump L1 | |
vE := 2 | |
if vE key then jump L2 | |
again | |
: L1 | |
v8 := 0 | |
jump L3 | |
: L2 | |
v8 := 1 | |
: L3 | |
v5 := 1 | |
v6 := -24 | |
i := D1 | |
0x6 0x34 0xfc 0x1 0x4c 0x0 0x12 0x34 0x6 0x34 0xf0 0x1 0x6 0x3 0x12 0x2a 0x5 0xe3 0x70 0xff 0x30 0x0 0x12 0x26 0x12 0x1a 0xa6 0x8a 0x6 0x42 0xa6 0x9a 0x6 0x28 0x5 0x1 0x48 0x0 0x12 0x46 0x6 0x28 0x5 0x1 0xa6 0x90 0x6 0x3a 0xf8 0x1 0xc1 0x7 0x71 0x3 0x6 0x3a 0xf1 0x1 0x6 0x3a 0xf1 0x1 0x48 0x0 0x12 0x62 0x6a 0x1 0x25 0x2e 0x25 0x50 0x6a 0x0 0x25 0x2e 0x25 0x50 0x61 0x16 0x60 0xa 0xa6 0x7c 0xd0 0x13 0x60 0x19 0xd0 0x13 0x60 0x24 0xd0 0x13 0x60 0x33 0xd0 0x13 0x61 0x4 0x24 0x7c 0x71 0xff 0x31 0x0 0x12 0x7e 0x25 0x78 0x25 0x92 0x6a 0x0 0x64 0x0 0x6e 0x1 0xee 0xa1 0x12 0xa8 0x24 0xb4 0xff 0x7 0x3f 0x0 0x12 0x8e 0x25 0x50 0x6f 0x4 0xff 0x15 0x61 0x1 0x84 0x13 0x12 0x8e 0x44 0x0 0x25 0x50 0xa6 0x9a 0xfa 0x1e 0xf0 0x65 0x70 0xff 0x6 0x40 0xf0 0x55 0x25 0x50 0xa6 0x93 0x6 0x28 0x3 0x1 0x65 0x2 0x66 0x3f 0x6 0x3 0x12 0xc8 0x64 0x4 0xc7 0x7 0x25 0x72 0xa6 0x93 0xf0 0x65 0xf0 0x15 0x24 0xb4 0xff 0x7 0x3f 0x0 0x12 0xd6 0x6 0x3 0x12 0xea 0x12 0xdc 0xa6 0x4d 0xf4 0x1e 0xf0 0x65 0x84 0x0 0x8c 0x40 0x5 0xe3 0x61 0xef 0x81 0x65 0x4f 0x0 0x13 0x34 0x6 0x8 0x13 0xaa 0xa6 0x93 0x6 0x34 0xf1 0x0 0x31 0x3 0x13 0xa 0x6e 0x0 0xee 0xa1 0x13 0x5a 0x78 0xff 0x38 0x0 0x13 0x2e 0xa6 0x9d 0x6 0x34 0xfe 0x0 0x4e 0x0 0x13 0x26 0x7e 0xff 0x6 0x3a 0xfe 0x0 0x88 0x70 0x6c 0x8 0x12 0xec 0xa6 0x93 0x6 0x28 0x3 0x1 0x13 0x20 0x6 0x3 0x13 0x2e 0x12 0xce 0x6f 0x2d 0xff 0x18 0xff 0x15 0x24 0xb4 0xff 0x7 0x3f 0x0 0x13 0x3a 0xa6 0x90 0x6 0x34 0xf8 0x0 0x8a 0x83 0xa6 0x9a 0xfa 0x1e 0xf0 0x65 0x40 0x0 0x13 0x58 0x12 0x8c 0x24 0x86 0x13 0x58 0xa6 0x91 0xfa 0x1e 0xf0 0x65 0x40 0x0 0x13 0x7c 0x6 0x40 0x70 0xff 0xf0 0x55 0xa6 0x9d 0x6 0x28 0x18 0x0 0xa6 0x93 0x6 0x28 0x1 0x1 0x25 0x68 0x25 0x70 0x12 0xea 0x24 0x6e 0x24 0xa4 0xa6 0x90 0x6 0x34 0xf8 0x0 0xa6 0x9a 0xfa 0x1e 0x60 0x0 0xf0 0x55 0x8a 0x83 0x78 0xff 0xa6 0x90 0x6 0x3a 0xf8 0x0 0x38 0x0 0x13 0x58 0x6e 0x1 0xee 0xa1 0x13 0xa4 0x13 0x9c 0x24 0xa4 0x24 0x6e 0x13 0x42 0x6d 0x2 0xfd 0x18 0x25 0x70 0xa6 0x7a 0x81 0x60 0x6 0x34 0xf2 0x1 0x81 0x25 0x4f 0x0 0x14 0x1e 0x81 0x60 0x6 0x34 0xf2 0x1 0x82 0x15 0x4f 0x0 0x14 0x1e 0x61 0x7 0x81 0x62 0xa6 0x5f 0xf1 0x1e 0xf0 0x65 0x81 0x0 0x41 0x0 0x14 0x1e 0x24 0x86 0x25 0x2e 0x24 0xb4 0xa6 0x89 0xf1 0x1e 0xf0 0x65 0x8f 0x0 0xa6 0x97 0x4a 0x1 0xa6 0x9a 0x69 0x3 0x6 0x40 0xf0 0x65 0x6 0x40 0x80 0xf4 0x6c 0xa 0x80 0xc5 0x3f 0x0 0x14 0x2 0x70 0xa 0xf0 0x55 0x6 0x40 0x79 0xff 0x39 0x0 0x13 0xf0 0x3f 0x0 0x13 0x56 0xc2 0x1 0x32 0x0 0x14 0x1a 0x24 0x7c 0x14 0x1c 0x24 0x86 0x25 0x2e 0x24 0xb4 0x46 0xe8 0x14 0x66 0x46 0xef 0x14 0x66 0x61 0x0 0x6c 0x2 0x5 0xe3 0x6 0x8 0x71 0x1 0x6c 0x7 0x5 0xe3 0x6 0x8 0x71 0x2 0x6c 0x9 0x5 0xe3 0x6 0x8 0x71 0x4 0x6c 0x3 0x5 0xe3 0x6 0x8 0x71 0x8 0x6c 0x4 0x5 0xe3 0x41 0x5 0x12 0xe2 0x41 0x7 0x12 0xe2 0x41 0xd 0x12 0xe2 0x41 0x1 0x12 0xe2 0x41 0xa 0x14 0x6a 0x41 0xb 0x14 0x6a 0x25 0x68 0x12 0xea 0xa6 0x55 0x12 0xe4 0x88 0xa0 0x6a 0x1 0x25 0x50 0x6a 0x0 0x25 0x50 0x8a 0x80 0x0 0xee 0xa6 0x89 0xc0 0x7 0x70 0x2 0xf1 0x1e 0xf0 0x55 0x69 0xb 0xa6 0x75 0xf1 0x1e 0xf0 0x65 0x82 0x0 0xa6 0x67 0xd2 0x97 0x79 0x1 0x72 0x1 0xa6 0x89 0xf1 0x1e 0xf0 0x65 0xf0 0x29 0xd2 0x95 0x0 0xee 0xa6 0x6e 0x60 0x18 0x61 0x0 0xd0 0x14 0x60 0x20 0xa6 0x72 0xd0 0x14 0x0 0xee 0xa6 0x8e 0xf0 0x65 0x6 0x40 0x30 0x0 0x14 0xd6 0x6e 0x4 0xee 0xa1 0x14 0xee 0xa6 0x9c 0xf0 0x65 0x6 0x40 0x30 0x0 0x14 0xe2 0x6e 0x6 0xee 0xa1 0x14 0xf8 0x0 0xee 0x70 0xff 0xa6 0x8e 0xf0 0x55 0x40 0x4 0x25 0x78 0x14 0xc4 0x70 0xff 0xa6 0x9c 0xf0 0x55 0x40 0x4 0x25 0x92 0x0 0xee 0x25 0x2 0x60 0x9 0x6d 0x2 0xfd 0x18 0x14 0xd8 0x25 0x14 0x60 0x9 0x6d 0x2 0xfd 0x18 0x14 0xe4 0xa0 0xe9 0x6 0x25 0x6 0x28 0xf 0x1 0x6 0x28 0xff 0x1 0x6 0x28 0xf8 0x6 0x15 0x24 0xa0 0xec 0x6 0x25 0x6 0x28 0x1f 0x1 0x6 0x28 0xff 0x1 0x6 0x28 0xf0 0x8 0x6 0x28 0x0 0x8 0x6 0x28 0x0 0x0 0x0 0xee 0x62 0x0 0x6b 0x30 0x4a 0x1 0x6b 0x0 0x69 0x0 0xa6 0x94 0x4a 0x1 0xa6 0x97 0xf9 0x1e 0xf0 0x65 0xf0 0x29 0xdb 0x25 0x7b 0x6 0x79 0x1 0x39 0x3 0x15 0x38 0x0 0xee 0xa6 0x9a 0xfa 0x1e 0xf0 0x65 0x40 0x0 0x15 0x6e 0xf0 0x29 0x62 0x0 0x61 0x26 0x4a 0x1 0x61 0x16 0xd1 0x25 0x0 0xee 0x61 0xa 0x81 0x45 0x84 0x10 0x0 0xee 0xc7 0x3 0x77 0x3 0x88 0x70 0x0 0xee 0xa0 0xe9 0x6 0x25 0x6 0x28 0x8 0x1 0x6 0x28 0x0 0x1 0x6 0x28 0x0 0x6 0x6 0x28 0x8 0x8 0x6 0x28 0x8 0x0 0x0 0xee 0xa0 0xec 0x6 0x25 0x6 0x28 0x0 0x1 0x6 0x28 0x0 0x1 0x6 0x28 0x10 0x8 0x6 0x28 0x10 0x8 0x6 0x28 0x10 0x0 0x0 0xee 0x1 0xd6 0xd6 0xc6 0xd7 0xc6 0xd6 0xc6 0xcb 0xd7 0xd6 0xd6 0xd6 0xcb 0xd6 0xc1 0xd7 0xc1 0xd6 0xc1 0xcb 0xf8 0x8 0xf4 0x56 0xd3 0xf8 0x8 0xf5 0x56 0xd3 0x8e 0xf6 0x3b 0xd5 0xf8 0x1 0xf4 0x56 0xf8 0x80 0xae 0xd3 0x8e 0xfe 0x3b 0xd5 0xf8 0x1 0xf5 0x56 0xf8 0x1 0x30 0xd5 0xf8 0xfc 0xa7 0x96 0xb7 0xe7 0xf8 0x5 0xbd 0xf8 0xad 0xf4 0xf4 0xad 0xf8 0xf5 0xa6 0xe6 0x72 0xae 0x93 0xbc 0x4d 0xac 0xdc 0x4d 0xac 0xdc 0x8e 0x26 0x56 0xd4 0xf8 0x0 0xbc 0x30 0xb 0xf8 0x1 0xbc 0xf8 0xf5 0xa6 0xe6 0x72 0xae 0x9b 0xbf 0xf0 0xaf 0xef 0x8e 0xf3 0xbe 0x8e 0xf2 0x3a 0x1f 0x15 0x15 0x9c 0x3a 0x24 0x9e 0x5f 0xd4 0x9b 0xba 0xd4 0x45 0x5a 0xe5 0x8a 0xf4 0xaa 0x15 0x9a 0x7c 0x0 0xba 0xd4 0x45 0xa6 0xa 0x56 0x30 0x2a 0x45 0xa6 0x6 0x5a 0x30 0x2a 0x2a 0xd4 0xf8 0x14 0xaf 0xf8 0x0 0x5a 0x1a 0x2f 0x8f 0x3a 0x45 0xd4 0x3 0x9 0x1 0x3 0x0 0x1 0x9 0x2 0x7 0x8 0x9 0x1 0x0 0x3 0x1 0x2 0x3 0x0 0x1 0x2 0x2 0x3 0x3 0x4 0x0 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0x72 0x22 0x22 0x22 0x47 0x42 0x42 0x72 0x8 0x15 0x25 0x32 0x59 0x8e 0xe0 0xa0 0xe0 | |
: D1 | |
0x4 0x7 0x2 0x17 0x6 0x3f 0x8 0x17 0x4 0x8 0x0 0x9 0x3 0x9 0x8 0x0 0x0 0x0 0x9 0x9 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Bounce [Les Harris].ch8 | |
###################################################################### | |
:proto Sub1 # 22E | |
:proto Sub2 # 238 | |
:proto Sub3 # 240 | |
:proto Sub4 # 24A | |
:proto Sub5 # 252 | |
:proto Sub6 # 258 | |
:proto D1 # 27A | |
:proto D2 # 280 | |
:proto D3 # 286 | |
:proto D4 # 28C | |
:proto D5 # 292 | |
: main | |
hires | |
clear | |
v2 := 60 | |
v3 := 45 | |
v4 := 0 | |
v5 := 0 | |
v6 := v2 | |
v7 := v3 | |
Sub6 | |
i := D1 | |
sprite v2 v3 6 | |
loop | |
if v4 == 0 then Sub1 | |
if v4 == 1 then Sub2 | |
if v5 == 0 then Sub3 | |
if v5 == 1 then Sub4 | |
Sub5 | |
v6 := v2 | |
v7 := v3 | |
again | |
: Sub1 | |
v0 := 1 | |
v2 -= v0 | |
if vF == 0 then v4 := 1 | |
return | |
: Sub2 | |
v2 += 1 | |
if v2 == 121 then v4 := 0 | |
return | |
: Sub3 | |
v0 := 1 | |
v3 -= v0 | |
if vF == 0 then v5 := 1 | |
return | |
: Sub4 | |
v3 += 1 | |
if v3 == 58 then v5 := 0 | |
return | |
: Sub5 | |
sprite v6 v7 6 | |
sprite v2 v3 6 | |
return | |
: Sub6 | |
v8 := 48 | |
v9 := 16 | |
i := D2 | |
sprite v8 v9 6 | |
v8 += 5 | |
i := D3 | |
sprite v8 v9 6 | |
v8 += 5 | |
i := D4 | |
sprite v8 v9 6 | |
v8 += 5 | |
sprite v8 v9 6 | |
v8 += 5 | |
i := D5 | |
sprite v8 v9 6 | |
i := D1 | |
return | |
: D1 | |
0x18 0x3c 0x7e 0x7e 0x3c 0x18 | |
: D2 | |
0x90 0x90 0xf0 0x90 0x90 0x0 | |
: D3 | |
0xf0 0x80 0xe0 0x80 0xf0 0x0 | |
: D4 | |
0x80 0x80 0x80 0x80 0xf0 0x0 | |
: D5 | |
0x60 0x90 0x90 0x90 0x60 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Car Race Demo [Erik Bryntse, 1991].ch8 | |
###################################################################### | |
:proto L2 # 23E | |
:proto Sub1 # 240 | |
:proto Sub2 # 248 | |
:proto Sub3 # 252 | |
:proto Sub4 # 25A | |
:proto Sub5 # 264 | |
:proto D1 # 270 | |
:proto D2 # 274 | |
: main | |
hires | |
v5 := 60 | |
v6 := 45 | |
v7 := 60 | |
v3 := v5 | |
v4 := v6 | |
i := D2 | |
sprite v3 v4 0 | |
loop | |
i := D2 | |
sprite v3 v4 0 | |
scroll-down 3 | |
sprite v5 v6 0 | |
if vF != 0 then jump L2 | |
v0 := v7 | |
Sub5 | |
v3 := v5 | |
v4 := v6 | |
v0 := 7 | |
if v0 key then Sub2 | |
v0 := 8 | |
if v0 key then Sub1 | |
v0 := random 0b11 | |
if v0 == 0 then Sub3 | |
v0 := random 0b11 | |
if v0 == 0 then Sub4 | |
again | |
: L2 | |
loop | |
again | |
: Sub1 | |
v5 += 1 | |
if v5 == 110 then v5 := 109 | |
return | |
: Sub2 | |
v0 := 1 | |
v5 -= v0 | |
if vF == 0 then v5 := 0 | |
return | |
: Sub3 | |
v7 += 1 | |
if v7 == 90 then v7 := 89 | |
return | |
: Sub4 | |
v0 := 1 | |
v7 -= v0 | |
if vF == 0 then v7 := 0 | |
return | |
: Sub5 | |
v1 := 0 | |
i := D1 | |
sprite v0 v1 3 | |
v0 += 25 | |
sprite v0 v1 3 | |
return | |
: D1 | |
0xa0 0x40 0xa0 0x0 | |
: D2 | |
0x30 0xc 0x3f 0xfc 0x32 0x4c 0x2 0x40 0x4 0x20 0x4 0x20 0x4 0x20 0x4 0x20 0xf4 0x2f 0xf4 0x2f 0xfd 0xbf 0xf6 0x6f 0xf6 0x6f 0x6 0x60 0x3f 0xfc 0x7f 0xfe | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Climax Slideshow - Part 1 [Revival Studios, 2008].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto L3 # 242 | |
:proto L4 # 256 | |
:proto Sub1 # 286 | |
:proto L6 # 28E | |
:proto L7 # 294 | |
:proto Sub2 # 296 | |
:proto Sub3 # 29E | |
:proto Sub4 # 2F6 | |
:proto Sub5 # 32C | |
:proto Sub6 # 374 | |
:proto D1 # 3A4 | |
:proto D2 # 724 | |
:proto D3 # AA4 | |
:proto D4 # E24 | |
:proto D5 # E54 | |
:proto D6 # E7E | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
hires | |
clear | |
vD := 32 | |
delay := vD | |
Sub2 | |
Sub3 | |
vD := 64 | |
delay := vD | |
Sub2 | |
Sub3 | |
vD := 32 | |
delay := vD | |
Sub2 | |
clear | |
i := D6 | |
Sub6 | |
Sub4 | |
vD := 4 | |
vC := 0 | |
loop | |
v0 := 5 | |
if v0 -key then jump L3 | |
jump L4 | |
: L3 | |
delay := vD | |
Sub2 | |
vC += 1 | |
if vC == 0 then Sub4 | |
if vC == 4 then Sub4 | |
if vC == 8 then vC := 0 | |
again | |
: L4 | |
i := D6 | |
Sub6 | |
clear | |
vD := 128 | |
loop | |
i := D1 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D1 | |
Sub5 | |
i := D2 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D2 | |
Sub5 | |
i := D3 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D3 | |
Sub5 | |
again | |
0x12 0x2e | |
: Sub1 | |
loop | |
v0 := 5 | |
if v0 -key then jump L6 | |
jump L7 | |
: L6 | |
v0 := delay | |
if v0 != 0 then | |
again | |
: L7 | |
return | |
: Sub2 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub3 | |
vD := 4 | |
v1 := 29 | |
v0 := 60 | |
v2 := 18 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
v0 := 52 | |
v2 := 12 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 68 | |
v2 := 24 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
v0 := 44 | |
v2 := 6 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 76 | |
v2 := 30 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
i := D5 | |
v0 := 36 | |
sprite v0 v1 6 | |
v0 := 84 | |
v2 := 36 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
return | |
: Sub4 | |
v2 := 6 | |
v0 := 32 | |
v1 := 48 | |
i := D4 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
return | |
: Sub5 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L8 | |
v0 := 0 | |
loop | |
v1 := v3 | |
v1 += 4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 128 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L8 | |
return | |
: Sub6 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L10 | |
v0 := 4 | |
loop | |
v1 := v3 | |
v1 += 12 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 124 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L10 | |
return | |
: D1 | |
0x54 0x40 0x44 0x10 0x0 0x0 0x50 0x0 0x0 0x1 0x0 0x0 0x0 0xf 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0x30 0x18 0x1 0xff 0x0 0x0 0x0 0x50 0x5 0xff 0xff 0x0 0x15 0x0 0x11 0x7f 0xc0 0x4 0xf 0x40 0x0 0xff 0xdc 0x1 0x0 0xff 0x0 0x0 0xd7 0x0 0x40 0x1 0xff 0x0 0x0 0x0 0x0 0x5 0x1c 0x80 0x0 0x0 0x0 0x0 0x55 0x4 0x0 0x55 0x0 0x0 0x0 0x0 0x5 0x0 0x54 0x0 0x0 0x14 0x1 0x5 0x1 0x1 0x0 0x17 0x55 0x5e 0x0 0x55 0x55 0x0 0x40 0x5f 0x0 0x40 0x55 0x55 0xd5 0x0 0x0 0x0 0x15 0x55 0x55 0x50 0x0 0x55 0x0 0x80 0x0 0x0 0x88 0x0 0xa8 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0xaa 0xbf 0x0 0x3 0x40 0x0 0x0 0x3 0xff 0x0 0xc0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x2 0x30 0xfe 0xfe 0x2 0x0 0x2 0xab 0x28 0xe2 0x80 0x0 0x28 0x3 0xff 0x2 0x0 0x2 0x0 0x0 0x80 0xa0 0x0 0x0 0x82 0x0 0x0 0x0 0x0 0x8 0x0 0x28 0x2 0x0 0x80 0x2 0x0 0x0 0x28 0x20 0x0 0x0 0x3 0xa1 0x0 0x0 0x0 0x0 0x0 0xff 0xa 0x0 0x80 0x0 0x3 0x0 0x0 0x0 0x8 0x88 0xa 0xfa 0x3 0x0 0x0 0x83 0x0 0xaa 0xaa 0x80 0x0 0xa 0x80 0xa 0xaa 0x80 0x0 0x0 0xa 0x0 0xa0 0x0 0x0 0x15 0x0 0x0 0x0 0x41 0x0 0x0 0x55 0x0 0x0 0x3 0x7f 0x0 0x80 0x3 0x0 0x0 0xff 0x7f 0x0 0x0 0x0 0x1f 0x0 0xff 0xff 0x0 0x0 0x15 0xf5 0x7 0xff 0xff 0x15 0x0 0x1 0x7f 0xc5 0x4 0x0 0x0 0x0 0xf5 0xff 0x1 0x0 0x17 0x0 0x0 0x44 0xfc 0x40 0x40 0x11 0x0 0x0 0x0 0x0 0x0 0x14 0xc1 0x0 0x0 0x0 0x10 0x15 0x4 0xc0 0x0 0x0 0x0 0x0 0x40 0x4 0x11 0x10 0x0 0x0 0x1d 0x7 0x10 0x55 0x0 0x0 0x1 0x55 0x0 0x1 0x5 0x15 0x1 0x70 0x50 0x0 0x41 0x0 0x55 0xd5 0x0 0x0 0x5 0x15 0x15 0x55 0x0 0x0 0x55 0x55 0x0 0x50 0x0 0x0 0x0 0x0 0xa0 0x0 0xa8 0x0 0x0 0x0 0x0 0x0 0x2a 0xf 0x0 0x0 0x80 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0xf 0x6 0xf 0xff 0x0 0x0 0x0 0x80 0x2 0xff 0xff 0x0 0x3a 0x2 0x2b 0xaa 0xe0 0x80 0x70 0x80 0x0 0xff 0xaa 0x0 0x0 0x0 0x0 0x0 0xee 0x0 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x2a 0x70 0x0 0x0 0x2 0x0 0x2a 0x8 0x0 0xaa 0x0 0x80 0x20 0x0 0x0 0x0 0xaa 0x0 0x0 0x6a 0x0 0x0 0x0 0xa8 0x0 0x18 0x2a 0x21 0x0 0x2a 0xaa 0x1 0x0 0xab 0xc0 0x0 0xaa 0xaa 0x80 0x0 0x80 0x0 0xa 0xaa 0xaa 0xa0 0x0 0x0 0x0 0xc0 0x0 0x0 0x55 0x0 0x40 0x0 0x41 0x0 0x0 0x0 0x0 0x0 0x54 0x7f 0x0 0x1c 0x30 0x0 0x0 0x1f 0xff 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x1 0x5 0xe 0xff 0xfd 0x4 0x0 0x41 0xff 0x0 0xc4 0xc0 0x0 0x0 0x44 0xff 0x4 0x0 0x5 0x0 0x0 0x1 0xd4 0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x1 0x0 0x0 0x4 0x1 0x14 0x50 0x0 0x0 0x0 0x3 0x51 0x0 0x5 0x0 0x0 0x0 0x5 0xb0 0x0 0x45 0x0 0x0 0x0 0x55 0x0 0x5 0x55 0x15 0x1d 0xc 0x0 0x0 0x40 0x0 0x55 0x55 0x0 0x0 0x15 0x7c 0x15 0x55 0x0 0x0 0x0 0x55 0x0 0x60 0x80 0x0 0x8 0x0 0x0 0x0 0x82 0x0 0x1 0x0 0x0 0x0 0x7 0xfa 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0xe0 0x20 0x0 0xff 0xfe 0x0 0x0 0x28 0x2 0x3f 0xfe 0xbf 0x1a 0x0 0x3 0xff 0xc0 0x2 0x80 0x80 0x0 0xfb 0xb8 0x0 0x0 0xa 0x0 0x0 0xe2 0xfe 0xa0 0x80 0x3 0x0 0x0 0x80 0x2 0x2 0x88 0xa3 0x0 0x0 0x0 0x0 0xaa 0x8 0xa0 0x80 0x0 0x0 0x0 0x80 0x8 0x8 0x28 0x0 0x0 0x8 0x0 0x8 0x80 0x0 0x0 0xa 0xaa 0xf0 0x0 0x2 0x2a 0x0 0xa0 0xaa 0x0 0x80 0x0 0xaa 0xaa 0x0 0x0 0x0 0xa 0x2a 0xaa 0x80 0x0 0xaa 0xa 0x80 0xb0 0x0 0x40 0x54 0x0 0x55 0x0 0x50 0x0 0x0 0x0 0x0 0x0 0x55 0x1f 0x0 0x0 0x80 0x0 0x0 0x0 0xff 0x0 0x3f 0x0 0x0 0x1 0x7f 0xff 0x0 0xff 0x0 0x75 0xc1 0xff 0xff 0x1 0xff 0x0 0x5d 0x55 0xc5 0xc0 0x80 0x0 0x1 0xff 0x41 0x0 0x0 0x0 0x0 0xc0 0xdc 0x0 0x0 0x1 0x0 0x0 0x1 0x0 0x4 0x0 0x1c 0xc 0x0 0xc0 0x1 0x0 0x14 0x10 0x10 0x7f 0x0 0x0 0x50 0x0 0x5 0x0 0xff 0x0 0x0 0xd4 0x0 0x41 0x0 0xff 0x0 0xe0 0x0 0x15 0x50 0x55 0xd5 0x1 0x0 0x1 0x3c 0x0 0x55 0x55 0xc0 0x0 0x14 0x0 0x15 0x55 0x55 0x15 0x0 0x5 0x0 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xbf 0x0 0x60 0xc 0x0 0x0 0xff 0xbf 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x2 0x3f 0x1 0xff 0xfb 0xa 0x0 0x82 0xff 0x80 0x82 0x80 0x0 0x0 0x88 0xff 0x2 0x0 0xa 0x0 0x0 0x2 0xf8 0x0 0x0 0x88 0x0 0x0 0x0 0x0 0x0 0x8 0xa0 0x0 0x0 0x0 0x8 0x2 0x8 0xa0 0x80 0x0 0x0 0x0 0xa0 0x0 0x0 0x0 0x0 0x0 0xe2 0x78 0x0 0x0 0x0 0x0 0x0 0xaa 0x0 0x0 0x22 0xa 0x3 0x38 0x0 0x0 0x2 0x0 0xaa 0xaa 0x0 0x0 0x2 0xe 0xa 0xaa 0x0 0x0 0x0 0xa2 0x0 0xa0 | |
: D2 | |
0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0x80 0xaa 0xaa 0xaa 0xaa 0xaa 0xae 0x0 0xaa 0xaa 0xfe 0xaa 0xab 0xef 0x0 0xab 0xaa 0xaf 0xaa 0xab 0xbf 0x0 0xff 0xaf 0xaa 0xaf 0xbf 0xaa 0x0 0xff 0xff 0xba 0xff 0xea 0xaa 0x0 0xff 0xff 0xbf 0xfa 0xaa 0xaa 0x0 0xff 0xff 0xff 0xaa 0xaa 0xaa 0x0 0xff 0xff 0xfb 0xaa 0xaa 0xaa 0x0 0xea 0xaa 0xfe 0xaa 0xaa 0xaa 0x0 0xaa 0xea 0xaa 0xa0 0xaa 0x80 0xab 0xaa 0x80 0xa8 0x0 0xaa 0xaa 0xaa 0x0 0x2a 0x2a 0x0 0x0 0x2a 0xaa 0x20 0x8a 0xbe 0x0 0x0 0x80 0x8b 0x2f 0xb8 0x80 0x10 0x20 0x0 0x55 0xfd 0xf5 0x55 0x55 0x55 0x55 0x55 0x55 0xff 0xff 0x55 0x57 0x57 0x55 0x55 0xff 0xff 0x7f 0xdf 0x5d 0x57 0xf7 0xff 0xff 0xff 0xff 0xff 0x55 0xff 0xfd 0xff 0xff 0xff 0xff 0x5f 0xff 0xff 0xff 0xff 0xff 0xff 0xfc 0xff 0xff 0xff 0xff 0x40 0xd5 0x51 0xff 0xff 0xff 0xff 0x0 0x55 0x40 0xff 0xff 0xff 0xf5 0x15 0x55 0x0 0xff 0xff 0xff 0x55 0x55 0x55 0x0 0xff 0xff 0xff 0x54 0x54 0xf5 0x5f 0xff 0xfc 0xff 0x0 0x0 0x55 0xfd 0xf0 0x0 0xd0 0x0 0x0 0x47 0xf0 0x0 0x0 0x0 0x0 0x0 0xc0 0x0 0x0 0x1 0x14 0x0 0x1 0x0 0x7 0x5c 0x7c 0x0 0x8 0x0 0x0 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0x2a 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xea 0xfa 0xaa 0xae 0xff 0xaa 0xaa 0x23 0xaf 0xab 0xaa 0xbf 0xbf 0xff 0xaa 0xaf 0xaf 0xaa 0xae 0xff 0xff 0xae 0xff 0xff 0xba 0xaa 0xff 0xff 0xaf 0xff 0xaa 0xaa 0xaa 0xff 0xff 0xff 0xaa 0xaa 0xaa 0xaa 0xba 0xff 0xff 0xaa 0xaa 0x0 0xaa 0xae 0xee 0xfe 0xaa 0xaa 0x0 0xaa 0xaa 0xaa 0xaf 0xaa 0xaa 0x2 0x80 0xab 0xa0 0xa0 0xa8 0xaa 0x2a 0xa 0x80 0xa 0xa 0x0 0x80 0x88 0xa8 0x28 0x82 0xab 0x0 0x0 0xe0 0x0 0x2b 0xb8 0xa0 0x40 0x10 0x0 0x0 0x55 0xf5 0xf5 0x55 0x55 0x55 0x15 0x55 0x55 0xf7 0x77 0x55 0x55 0x57 0x40 0x55 0x7f 0xff 0xff 0xdf 0xff 0x0 0x77 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0xff 0xdf 0xff 0xfc 0xff 0x0 0xff 0xff 0xff 0xff 0xfd 0x55 0x0 0xff 0xff 0xff 0xff 0x5f 0x55 0x0 0xff 0xff 0xff 0xfd 0xd5 0x55 0x0 0xff 0xff 0xff 0x5f 0x55 0x7f 0x0 0xff 0xfd 0xff 0xd4 0x55 0xd5 0x1 0xff 0xd0 0x55 0x0 0x0 0x40 0xff 0xd4 0x0 0x0 0x0 0x0 0x5 0xdf 0x0 0x0 0x15 0x0 0x0 0x0 0xd0 0x0 0x1 0xfd 0x0 0x0 0x0 0x1f 0x17 0x7c 0x0 0x10 0x40 0x0 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xab 0xab 0xaa 0xaf 0xba 0xaa 0xaa 0xae 0xaa 0xaa 0xfe 0xaa 0xbb 0xaa 0xab 0xaf 0xff 0xaa 0xeb 0xff 0xaa 0xbe 0xfe 0xff 0xaf 0xff 0xff 0xaa 0xaa 0xbf 0xff 0xff 0xab 0xea 0xa8 0xaa 0xaa 0xff 0xff 0xaa 0xaa 0x2 0xaa 0x8 0xff 0xff 0xaa 0xaa 0xaa 0xaa 0x2 0xff 0xfb 0xaa 0xaa 0xaa 0xaa 0xea 0xae 0xaa 0xaa 0x80 0x80 0xaa 0xaa 0xaa 0xa8 0xaa 0x8 0x8 0x8b 0xa0 0x0 0x0 0x0 0x0 0x0 0xa0 0x0 0xa2 0xaa 0x3e 0x0 0x6 0x0 0x2b 0xba 0xf8 0x0 0x8 0x0 0x0 0x55 0xff 0x55 0x55 0x55 0x55 0x5 0x55 0x57 0xf5 0x5f 0x55 0x75 0x55 0x55 0xff 0xff 0xff 0xff 0xff 0xfd 0x5f 0xff 0xfd 0xff 0xff 0xff 0xff 0xff 0xff 0x7 0xff 0xff 0xff 0xff 0xff 0xff 0x5f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf5 0xd5 0xff 0xff 0xff 0xff 0xdf 0x55 0x40 0xff 0xff 0xff 0xf5 0xdf 0x54 0x0 0xff 0xfd 0xff 0x55 0x55 0x0 0x0 0xff 0xff 0x15 0x40 0x50 0x1 0x0 0xff 0x40 0x40 0x0 0x0 0x10 0x17 0x0 0x0 0x0 0x0 0x0 0x5 0x50 0x0 0x0 0x57 0x0 0x0 0x0 0x0 0x17 0x7c 0x40 0x20 0x10 0x0 0x0 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xab 0xaa 0xaa 0x8a 0xaa 0xaa 0xff 0xbb 0xaa 0xfb 0x8a 0xab 0xaa 0xea 0xab 0xaa 0xaf 0xaa 0xff 0xaf 0xaa 0xbf 0xaa 0xea 0xa8 0xff 0xff 0xaa 0xff 0xaa 0xaa 0x0 0xff 0xff 0xff 0xea 0x8a 0xaa 0x0 0xff 0xff 0xff 0xaa 0xaa 0xaa 0x0 0xff 0xff 0xfa 0xaa 0xaa 0xaa 0x0 0xfe 0xfa 0xbf 0xaa 0xaa 0xaa 0xb 0xba 0xaa 0xaa 0x80 0x80 0xaa 0xaa 0xa8 0x80 0xaa 0x0 0x0 0x2f 0xba 0x0 0xa 0xaa 0x0 0x0 0x80 0x80 0x0 0x2a 0xaa 0x0 0x0 0x0 0x2b 0xae 0xb8 0x0 0x8 0x80 0x0 0xd5 0xff 0x55 0x55 0x55 0x55 0x55 0x55 0x55 0x7d 0xff 0x55 0x55 0x55 0x55 0x57 0x7f 0xff 0xff 0xdf 0xff 0x55 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfd 0xff 0xff 0xff 0xff 0xff 0xfd 0x55 0xfd 0xff 0xff 0xff 0xd5 0x0 0x55 0x50 0xff 0xff 0xff 0x55 0x0 0x55 0x7 0xff 0xff 0xf7 0x55 0x15 0x55 0xff 0xfd 0x1f 0xd5 0x0 0x0 0x40 0xff 0x50 0x40 0x0 0x10 0x1c 0x5 0x0 0x0 0x0 0x0 0x0 0x0 0xd0 0x0 0x0 0x5 0x1 0x0 0x18 0x0 0x17 0x5c 0xf0 0x80 0x8 0x0 0x0 | |
: D3 | |
0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0x0 0x3 0xaa 0xaa 0x0 0x0 0x0 0x0 0xaa 0xaa 0xaa 0x0 0x0 0xeb 0x0 0x81 0x80 0x80 0x0 0x0 0x0 0x0 0x54 0x94 0xa 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x28 0x2a 0x0 0x0 0x0 0x0 0x0 0x2 0xaf 0x2 0x2 0x2a 0x0 0x0 0x2 0xaa 0x0 0x0 0xa0 0x0 0x0 0x80 0x80 0x0 0x8 0x0 0x0 0x0 0x0 0x0 0x38 0xff 0x2 0x0 0x0 0x2a 0x12 0x0 0xf 0xaa 0x0 0x0 0x80 0x80 0xf 0xff 0x3f 0xa 0x0 0xe 0x2 0x80 0xff 0xaa 0xa0 0x0 0x0 0xaa 0x0 0x8a 0xa2 0x0 0x0 0x0 0xaa 0x0 0xa0 0xa8 0x0 0x0 0x0 0x5d 0x0 0x0 0x0 0x0 0x0 0x3f 0x5f 0x0 0x0 0x0 0x5 0x0 0xd4 0xd4 0x0 0x0 0x0 0x48 0x0 0x8 0x0 0x0 0x0 0xe0 0x0 0x0 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0x7f 0x0 0x0 0x0 0x0 0x0 0xc6 0xff 0x0 0x0 0x0 0x0 0x0 0x1e 0xd5 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x1 0x0 0x0 0x0 0x1 0x0 0x0 0xf9 0x0 0x0 0x0 0x1c 0x0 0x7f 0xff 0x1 0x0 0x0 0x10 0x0 0xff 0xe1 0xfe 0x0 0x0 0x0 0x1 0xc0 0xcf 0x50 0x0 0x0 0x40 0x75 0x0 0xff 0x0 0x0 0x0 0x0 0x54 0x0 0xfc 0x0 0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0xea 0x3e 0xaa 0xaa 0x0 0x0 0xa 0x80 0x80 0x85 0x80 0x0 0x0 0xc0 0x0 0x0 0x15 0x0 0x0 0x0 0x0 0x0 0xf 0x40 0x2a 0x0 0x0 0x0 0x0 0x80 0x2a 0xaa 0x0 0x0 0x0 0x0 0x2 0xa2 0xaa 0x2 0x2a 0x0 0x0 0x0 0xaa 0xaa 0x0 0xa0 0x0 0x0 0x2e 0x0 0xab 0xb 0x0 0x0 0x0 0x0 0x0 0x80 0x87 0x2a 0x0 0x0 0x0 0xa2 0x0 0xbf 0xa3 0x0 0x0 0xf 0xa8 0x0 0xff 0xff 0xaa 0x0 0x80 0x2 0xa 0xff 0xaa 0xaa 0x0 0x0 0xaa 0xaa 0xf8 0xaa 0x80 0x0 0x0 0xaa 0xaa 0x0 0x2a 0x0 0x0 0x0 0x0 0xff 0x0 0x55 0x0 0x0 0x0 0xf 0x1f 0x0 0x55 0x0 0x1 0x0 0xd4 0xd4 0x7 0x55 0x0 0xf6 0x0 0x0 0x0 0x0 0x55 0x0 0x0 0x0 0xfa 0x38 0x17 0x55 0x0 0x0 0x0 0x0 0x0 0x80 0x55 0x0 0x0 0x0 0x4 0x7 0x0 0x55 0x0 0x0 0x0 0x1f 0xff 0x0 0x55 0x7 0x0 0x0 0x3 0xff 0x0 0x55 0x0 0x0 0x0 0x0 0xc0 0x0 0x5f 0x0 0x0 0x0 0x0 0x0 0x7 0x3f 0x0 0x0 0x0 0x1f 0x7 0xff 0xf0 0x1f 0x0 0x0 0x40 0x0 0xf0 0xff 0xc7 0x0 0x0 0x1 0x0 0x0 0xfd 0xdf 0x0 0x0 0x0 0x74 0x0 0x7f 0x0 0x0 0x0 0x0 0x6 0x0 0xf4 0x0 0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0xa 0x0 0xaa 0xaa 0x0 0x0 0x3 0xb0 0x3 0x82 0x80 0x0 0x0 0xe0 0x0 0xfe 0x44 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x2b 0xaa 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0x2 0x2 0x2 0x0 0x0 0x8e 0xaa 0x0 0x0 0x0 0x0 0x0 0x0 0xa8 0x0 0x2 0x0 0x0 0x3 0x0 0x0 0xb 0xaa 0x0 0x0 0xfe 0x48 0x0 0xff 0x7f 0xa 0x0 0x0 0x90 0x0 0xbf 0xfe 0xaa 0x0 0x0 0x2 0x2 0xfa 0x6a 0x8a 0x0 0x0 0xaa 0xaa 0x80 0xaa 0xa8 0x0 0x0 0xaa 0xaa 0x0 0xa2 0x0 0x0 0x0 0x55 0x55 0x0 0x0 0x0 0x1 0x0 0x7f 0x55 0x0 0x0 0x0 0xf5 0xfc 0xd4 0xf4 0x0 0x0 0x3d 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x5e 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x5d 0x0 0x0 0x0 0x0 0x70 0x5 0x55 0x0 0x0 0x0 0x0 0x0 0x7f 0x57 0x2 0xff 0x0 0x0 0x0 0xd7 0x55 0xa0 0xf8 0x0 0x0 0xf0 0x0 0x55 0x13 0x0 0x0 0x0 0x0 0x0 0xc0 0xf8 0x1 0x0 0x0 0x0 0xb 0x0 0xff 0xfc 0x0 0x0 0x0 0xd0 0x0 0xff 0xff 0x1 0x0 0x70 0x0 0x70 0xff 0xbf 0xb0 0x0 0x0 0x55 0x0 0xe5 0xf8 0x0 0x0 0x0 0x54 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0x0 0x0 0x0 0x0 0x3a 0xaa 0xaa 0x0 0x0 0x3 0x0 0xaa 0xaa 0xab 0x0 0x0 0xac 0x0 0x85 0x81 0xff 0x0 0x0 0x0 0x0 0x55 0x54 0xfa 0x0 0x0 0x0 0x0 0x0 0x0 0xaa 0x0 0x0 0x0 0x0 0x2a 0x2a 0xaa 0x0 0x0 0x0 0x0 0xea 0xaf 0xaa 0x2 0x2 0x0 0x0 0xaa 0xaa 0xaa 0x0 0x0 0x0 0x0 0x0 0xa0 0xaa 0xa 0x0 0x0 0x0 0x0 0x0 0xaa 0x87 0x0 0x0 0x0 0xaa 0x2a 0xaa 0xff 0xaa 0x0 0x0 0xa0 0x80 0xaa 0x1f 0xa8 0x0 0x0 0x2 0x2 0xaa 0xf2 0xc8 0x0 0x0 0x80 0xaa 0xaa 0xaa 0xaa 0x0 0x0 0x0 0xaa 0xaa 0xa8 0x80 0x0 0x0 0x0 0x7f 0x55 0x0 0x0 0x0 0x0 0x7f 0xf7 0x55 0x0 0x0 0x3d 0x1 0xd4 0xd4 0x55 0x0 0x5 0x40 0xfd 0x8 0x0 0x55 0x0 0x40 0x0 0x5 0x60 0x0 0x55 0x0 0x0 0x0 0xf0 0x80 0x1 0x55 0x0 0x0 0x0 0x0 0x7 0xf5 0x55 0x0 0x0 0x0 0x0 0xc7 0xd7 0x55 0x7 0x0 0x0 0x0 0x1e 0x5f 0x55 0x0 0x0 0x0 0x1 0x0 0x7c 0x54 0x0 0x0 0x0 0xfd 0x1 0x0 0x7f 0x1f 0x0 0x0 0x5 0xc 0x0 0xff 0x9f 0x0 0x0 0xf0 0x10 0x0 0xff 0xff 0x1f 0x0 0x0 0x0 0x5 0xff 0xbf 0xd0 0x0 0x0 0x40 0xff 0xf5 0xff 0x0 0x0 0x0 0x0 0xfe 0x54 0xc0 0x0 0x0 | |
: D4 | |
0x0 0x3c 0x36 0x3c 0x30 0x30 0x0 0xf3 0xdb 0xf3 0xdb 0xdb 0x0 0xe7 0xc 0xc7 0x1 0xef 0x0 0x9e 0x30 0x1c 0x86 0x3c 0x0 0x1e 0x30 0x1c 0x6 0x3c 0x0 0xf3 0x66 0x67 0x66 0x66 0x0 0x9e 0xdb 0xde 0xdb 0xdb 0x0 0x78 0x30 0x30 0x30 0x30 | |
: D5 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
: D6 | |
0x0 0x7f 0x1 0x7f 0x40 0x55 0xff 0x1 0x55 0x7c 0xf4 0x55 0x0 0x0 0x55 0x1e 0x7d 0x55 0xff 0xf9 0x50 0x0 0x7f 0x0 0x1f 0x57 0x5 0xdf 0xdf 0x55 0xc0 0xd7 0x0 0x7 0xe0 0x15 0xf0 0x27 0x50 0x3 0xfe 0x5 0xf0 0x0 0x50 0xf 0x3f 0x3f 0xfa 0xff 0xf9 0xaa 0xfb 0xe0 0xfe 0xff 0x7 0x0 0xff 0x9f 0x3e 0x7d 0xfc 0xff 0xf0 0x7f 0xe0 0x2a 0xf8 0xbf 0x87 0xff 0xdf 0xdf 0xe7 0xf8 0x8a 0x87 0x8 0xfe 0x8f 0xfe 0x3f 0xfc 0x1f 0x8f 0x78 0xc0 0xc0 0x1e 0x3f 0x7 0x0 0x55 0xff 0x79 0x55 0xf7 0xe0 0xfd 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xfd 0xf0 0x78 0xf5 0x0 0x0 0xd7 0x7 0x1 0xdf 0xdf 0xe7 0xdf 0x80 0x87 0x81 0x5f 0x9e 0x8f 0x50 0x1e 0xfe 0x11 0x79 0x0 0xf8 0x9e 0x1 0x7f 0x0 0xff 0x80 0x0 0xff 0x3 0x0 0x7e 0xfa 0x0 0x0 0x0 0x0 0x3e 0x7d 0x0 0xff 0xf8 0x0 0x80 0xbe 0x0 0x3f 0xa7 0x0 0xdf 0xdf 0x0 0xe0 0xab 0x0 0xb 0xf0 0x0 0xf8 0x1f 0x0 0x7 0xff 0x2 0xf0 0x0 0xa0 0x1f 0x1f 0x78 0xd5 0xff 0x1 0x54 0xf7 0xe0 0xfd 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xff 0xf8 0x78 0xf1 0x1f 0x1 0x7f 0x7 0xe0 0xdf 0xdf 0x7 0xfe 0x85 0x87 0x4 0x7f 0x9e 0x7f 0x7e 0x1e 0x3f 0x47 0x78 0x80 0xe0 0x1e 0x7e 0x2 0x7f 0xa0 0xaa 0xf1 0x1 0xa2 0xff 0xfa 0xaa 0xe7 0x0 0xaa 0x9f 0x3c 0x28 0xfc 0xfa 0xa8 0x7f 0xfb 0x0 0xf9 0xaf 0x2 0xff 0xdf 0x8a 0xc7 0xaf 0x80 0x87 0xc0 0x2a 0x8f 0x47 0xa8 0xfc 0xfc 0x8 0x3f 0x0 0xa8 0xfc 0x7 0x3f 0x0 0xff 0xff 0x0 0xfe 0xfb 0x0 0x7d 0xff 0x0 0x0 0xff 0x0 0x3e 0x7d 0x0 0xff 0xf8 0x0 0xc0 0x55 0x0 0x7f 0x47 0x0 0xdf 0xdf 0x0 0xf0 0x95 0x0 0x11 0xfc 0x0 0xfc 0x1f 0x0 0xf 0x9f 0x0 0xe0 0x80 0x0 0x3f 0xf 0x3f 0xaa 0xff 0xf1 0xa8 0xf7 0xe0 0xfa 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xff 0xf8 0x7f 0xea 0x0 0x80 0xef 0x7 0xff 0xdf 0xdf 0xc7 0xbf 0x80 0xff 0x2 0xbf 0x9e 0x1f 0xfc 0x1e 0xff 0x23 0x79 0x0 0xf0 0x9e | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Climax Slideshow - Part 2 [Revival Studios, 2008].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto L3 # 242 | |
:proto L4 # 256 | |
:proto Sub1 # 286 | |
:proto L6 # 28E | |
:proto L7 # 294 | |
:proto Sub2 # 296 | |
:proto Sub3 # 29E | |
:proto Sub4 # 2F6 | |
:proto Sub5 # 32C | |
:proto Sub6 # 374 | |
:proto D1 # 3A4 | |
:proto D2 # 724 | |
:proto D3 # AA4 | |
:proto D4 # E24 | |
:proto D5 # E54 | |
:proto D6 # E7E | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
hires | |
clear | |
vD := 32 | |
delay := vD | |
Sub2 | |
Sub3 | |
vD := 64 | |
delay := vD | |
Sub2 | |
Sub3 | |
vD := 32 | |
delay := vD | |
Sub2 | |
clear | |
i := D6 | |
Sub6 | |
Sub4 | |
vD := 4 | |
vC := 0 | |
loop | |
v0 := 5 | |
if v0 -key then jump L3 | |
jump L4 | |
: L3 | |
delay := vD | |
Sub2 | |
vC += 1 | |
if vC == 0 then Sub4 | |
if vC == 4 then Sub4 | |
if vC == 8 then vC := 0 | |
again | |
: L4 | |
i := D6 | |
Sub6 | |
clear | |
vD := 128 | |
loop | |
i := D1 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D1 | |
Sub5 | |
i := D2 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D2 | |
Sub5 | |
i := D3 | |
Sub5 | |
delay := vD | |
Sub1 | |
i := D3 | |
Sub5 | |
again | |
0x12 0x2e | |
: Sub1 | |
loop | |
v0 := 5 | |
if v0 -key then jump L6 | |
jump L7 | |
: L6 | |
v0 := delay | |
if v0 != 0 then | |
again | |
: L7 | |
return | |
: Sub2 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub3 | |
vD := 4 | |
v1 := 29 | |
v0 := 60 | |
v2 := 18 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
v0 := 52 | |
v2 := 12 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 68 | |
v2 := 24 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
v0 := 44 | |
v2 := 6 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 76 | |
v2 := 30 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
i := D5 | |
v0 := 36 | |
sprite v0 v1 6 | |
v0 := 84 | |
v2 := 36 | |
i := D5 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub2 | |
return | |
: Sub4 | |
v2 := 6 | |
v0 := 32 | |
v1 := 48 | |
i := D4 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
return | |
: Sub5 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L8 | |
v0 := 0 | |
loop | |
v1 := v3 | |
v1 += 4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 128 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L8 | |
return | |
: Sub6 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L10 | |
v0 := 4 | |
loop | |
v1 := v3 | |
v1 += 12 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 124 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L10 | |
return | |
: D1 | |
0x82 0x8a 0x2a 0xaa 0x80 0xf8 0xa2 0xaa 0xaa 0xaa 0x0 0x0 0x0 0xf9 0x8a 0xa8 0xa0 0x0 0x0 0x2a 0x80 0xff 0x0 0xb3 0x0 0x0 0xb4 0x0 0xea 0x2a 0x79 0x0 0x0 0x0 0x0 0x2 0xa0 0xf8 0xe 0x0 0x0 0x0 0x0 0x0 0xaa 0xfe 0x1 0x0 0xaa 0x2a 0x0 0x80 0xa 0x80 0x2a 0xaa 0xaf 0x0 0x0 0x80 0x0 0xa 0xaa 0xff 0xaf 0x2f 0x22 0x2 0xaa 0xaa 0xfe 0xef 0xe2 0xaa 0xaa 0xaa 0xaa 0xff 0xfe 0xbf 0xaf 0xaa 0xaa 0xaa 0xba 0xef 0xfe 0xfa 0xaa 0xaa 0xaa 0xff 0xfe 0xaa 0xaa 0xaa 0xaa 0xaa 0xff 0xa7 0xab 0xaa 0xaa 0xaa 0xaa 0xfe 0xff 0xff 0xef 0xba 0xaa 0xaa 0x5 0x0 0x5f 0xc0 0x1c 0x1d 0x54 0x10 0x57 0x44 0x0 0x0 0xc0 0x17 0x1f 0xf0 0x0 0x0 0x0 0x0 0x9f 0xff 0x0 0x0 0x0 0x4 0x14 0x0 0x0 0x0 0x7 0x0 0x0 0x0 0x0 0x0 0x14 0xf7 0x0 0x0 0x0 0x47 0x0 0x0 0xc1 0xf7 0x0 0x1 0xd5 0x0 0x0 0x50 0xc0 0x0 0x50 0x55 0x5f 0x4 0x0 0x0 0x0 0x55 0x55 0xff 0x17 0x5 0x0 0x0 0x5d 0x55 0xff 0xff 0x1 0x15 0x55 0x55 0x55 0xff 0xff 0x7f 0x7f 0xfd 0x5d 0x55 0x58 0xff 0xff 0xff 0x7f 0xd5 0x55 0x0 0xff 0xd7 0xff 0xff 0xf5 0x55 0xff 0xe3 0xf5 0xfd 0xdf 0xd5 0x55 0xff 0xff 0xff 0xff 0xfd 0x55 0x52 0x2a 0xaa 0xaa 0x80 0x3e 0x8f 0xaa 0xa2 0xaa 0xa0 0x0 0x82 0xb8 0xa8 0xae 0xa8 0x0 0x0 0xaa 0x0 0x8c 0x80 0x9 0x0 0x0 0xf8 0x0 0xa0 0x0 0xce 0x0 0x0 0x0 0x80 0xaa 0x0 0x2 0x1f 0x0 0x0 0x0 0xaa 0x0 0xa8 0x9c 0xe 0x0 0xa 0xaa 0x2 0x0 0x2a 0x60 0x20 0x8a 0xaa 0xaa 0x0 0x0 0x0 0x0 0xaa 0xaa 0xab 0x2a 0x8 0x0 0xaa 0xaa 0xaa 0xef 0xea 0xaa 0xaa 0xaa 0xaa 0xaa 0xfb 0xff 0xbf 0xae 0xaa 0xaa 0xaa 0x8a 0xfe 0xff 0xfe 0xaa 0xaa 0xaa 0xba 0xaa 0xba 0xaa 0xaa 0xaa 0xaa 0x8f 0xa3 0xae 0xaa 0xaa 0xaa 0xa2 0xff 0xff 0xea 0xff 0xaa 0xaa 0xa0 0x80 0x80 0x15 0x50 0x0 0x64 0x40 0x4 0x7 0xf5 0x0 0x0 0x0 0x77 0x7 0xf8 0x1 0x0 0x0 0x1 0xe0 0xff 0x0 0x0 0x0 0x0 0x58 0x0 0xf4 0x1 0x77 0x0 0x0 0x0 0x0 0x0 0x50 0xfc 0x1 0x0 0x0 0x5 0x0 0x0 0x15 0xfc 0x0 0x0 0x75 0x45 0x0 0x40 0x0 0x30 0x50 0x55 0xff 0x0 0x0 0x0 0x0 0x5 0x55 0xff 0x1f 0x1f 0x0 0x0 0x55 0x55 0xff 0xf7 0xc0 0x17 0x15 0x55 0x55 0xff 0xff 0x7f 0x1f 0xff 0x55 0x55 0xff 0x7f 0xff 0xff 0xff 0x55 0x55 0xff 0xff 0x7f 0xff 0xff 0x5d 0x55 0xff 0x3 0xd7 0xff 0xf7 0x75 0x55 0xff 0xff 0xff 0xff 0xff 0x55 0x54 0x2a 0x2a 0xaa 0x80 0x0 0x2b 0xaa 0xa8 0xaa 0xa8 0x0 0x80 0xe0 0x8a 0xab 0xa2 0x0 0x0 0x0 0x0 0xae 0xe8 0x0 0x0 0x0 0x8 0x2a 0xe8 0x0 0x0 0x3 0x0 0x0 0x80 0x2 0x0 0x2a 0xcf 0x0 0x0 0x0 0xaa 0x0 0x80 0xe0 0xf 0x0 0x2 0xaa 0x2a 0x0 0xaa 0x82 0x8 0xa0 0xaa 0xaa 0x2 0x0 0x0 0x0 0xaa 0xaa 0xbf 0xaa 0xa 0x2 0x2a 0xaa 0xaa 0xfe 0xba 0xa 0xaa 0xaa 0xaa 0xaa 0xfb 0xff 0xaf 0xaf 0xaa 0xaa 0xaa 0xa0 0xfa 0xff 0xba 0xaa 0xaa 0xaa 0xa8 0xff 0xba 0xaa 0xaa 0xaa 0xaa 0x7f 0xe3 0xab 0xaa 0xaa 0xaa 0xaa 0xff 0xff 0xff 0xff 0xaa 0xaa 0xa8 0x4 0x5 0x44 0x0 0x7c 0x2 0x41 0x1 0x7f 0x0 0x0 0x0 0x7c 0x7c 0xfc 0x50 0x0 0x0 0x55 0x0 0x0 0x0 0x5b 0x0 0x0 0xf8 0x0 0x5 0x0 0xbc 0x0 0x0 0x0 0x0 0x1f 0x0 0xe1 0x1f 0x0 0x0 0x0 0xd5 0x0 0x54 0x7e 0x4 0x0 0x1d 0xd5 0x0 0x0 0x5 0xc0 0x0 0x5 0x55 0x5 0x0 0x0 0x0 0x0 0x55 0x55 0x5f 0x1f 0x0 0x0 0x55 0x55 0x55 0xff 0xf1 0x5 0x15 0x55 0x55 0x55 0xfd 0xff 0xff 0xff 0x55 0x5d 0x55 0xd7 0xff 0xff 0xff 0xdd 0xd5 0x55 0xfc 0x55 0xff 0xff 0xf5 0x55 0x55 0x47 0x47 0xf7 0xff 0xdd 0x55 0x55 0xff 0xff 0xff 0xff 0x55 0x44 0x52 0x82 0x2a 0xaa 0xa8 0x8a 0x4e 0xa8 0xaa 0xaa 0xaa 0x80 0x20 0x0 0xaf 0xab 0xa8 0x0 0x0 0x0 0x2 0xce 0xfe 0x0 0x0 0x0 0x2 0xaa 0x0 0xa8 0x2 0xf 0x0 0x0 0x0 0x0 0x0 0xa8 0xfb 0x1 0x0 0x0 0x2a 0x0 0x0 0x8a 0xfb 0x0 0x0 0xaa 0x2a 0x0 0xa8 0x82 0x40 0xa8 0xaa 0xab 0x28 0x0 0x0 0x0 0x2a 0xaa 0xff 0xb 0xe 0x2 0xa 0xaa 0xaa 0xfe 0xeb 0x8a 0xaa 0xaa 0xaa 0xaa 0xfa 0xff 0xaf 0xaf 0xaa 0xaa 0xaa 0xae 0xab 0xff 0xee 0xaa 0xaa 0xaa 0xab 0xff 0xae 0xaa 0xaa 0xaa 0xaa 0xff 0x83 0xaa 0xaa 0xaa 0xaa 0xaa 0xff 0xff 0xaa 0xfe 0xaa 0xaa 0xa8 0x10 0x4 0x55 0x0 0x1d 0x17 0x15 0x0 0x5f 0x10 0x0 0x40 0xc0 0x40 0x7f 0xc4 0x0 0x0 0x1 0x0 0x1c 0xc0 0x0 0x0 0x0 0x70 0x0 0xf0 0x0 0x60 0x0 0x0 0x0 0x0 0x11 0x0 0x5 0x9f 0x0 0x0 0x0 0x7d 0x0 0x40 0xc0 0x1f 0x0 0x7 0x75 0x0 0x0 0x14 0x20 0x0 0x1 0x55 0x1 0x0 0x0 0x0 0x0 0x55 0x55 0x7f 0x7f 0x0 0x0 0x1 0x75 0x55 0xff 0x71 0x1 0x15 0x55 0x55 0x55 0xf7 0xff 0x7f 0x7f 0x55 0x55 0x55 0xc5 0xff 0xff 0xff 0x57 0x75 0x55 0x54 0x7f 0xff 0xff 0x7f 0x55 0x55 0x3f 0xe3 0xff 0xfd 0x77 0x55 0x55 0xff 0xff 0xff 0xff 0x55 0x55 0x10 | |
: D2 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x40 0x0 0x0 0x0 0xa 0x0 0x0 0x0 0x0 0x0 0xff 0xeb 0x7f 0x17 0x5 0xa 0xbf 0xaa 0xe3 0x1 0x5 0xd5 0xa0 0xe0 0xff 0xf8 0x54 0x5f 0x0 0x0 0x80 0x82 0xa0 0x0 0xff 0x0 0x0 0x0 0xa8 0x0 0x0 0xff 0x0 0x0 0x0 0x28 0x80 0x0 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x6a 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x15 0x1 0xe0 0x0 0x0 0x15 0x1 0xf1 0x57 0x3e 0xa 0xa 0x77 0xc7 0x7d 0xc7 0x82 0xa 0xaa 0xf4 0xc0 0x5f 0xd1 0xa8 0xaf 0x80 0x0 0x54 0xfc 0x40 0x0 0xef 0x8 0x0 0x15 0x5 0x1 0x0 0xf8 0x0 0x0 0x41 0x4 0x45 0x0 0xf8 0x0 0x0 0x50 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0x0 0x0 0x0 0x0 0x0 0x0 0xd7 0x1 0x0 0x0 0x0 0x0 0x0 0xf5 0x40 0x0 0x2 0x0 0x2a 0x0 0xff 0x0 0x0 0x80 0x2 0xfb 0xa0 0xdf 0x5 0x15 0x3f 0x82 0x82 0x0 0x1 0x15 0x11 0x82 0x38 0xfe 0xa 0x47 0x1 0x0 0x80 0x2a 0xa8 0x80 0xff 0x0 0x0 0x0 0xaa 0x0 0x0 0xff 0x0 0x40 0x0 0x80 0x82 0x0 0xe0 0x40 0x0 0x0 0x0 0x8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xa 0x0 0x0 0x0 0x7 0x5 0x0 0x80 0x0 0x0 0x0 0xff 0x77 0x3e 0xe 0x2 0x1d 0x7d 0xff 0xd7 0x80 0x2 0x8a 0xd0 0xc1 0xd7 0xf1 0xa8 0x8f 0x0 0x0 0x40 0xe0 0xd0 0x0 0xff 0x8 0x0 0x0 0x50 0x1 0x0 0xfb 0x2 0x0 0x15 0x10 0x0 0x0 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x15 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x22 0x2 0xff 0x0 0x0 0x2a 0x0 0xfa 0xaf 0x5f 0x7 0x5 0xe8 0x83 0xeb 0xa3 0x1 0x5 0x15 0xea 0xa0 0xff 0xa2 0x50 0x17 0x40 0x0 0x2a 0xfe 0x80 0x7 0x45 0x0 0x0 0xaa 0x0 0x0 0xfc 0xf0 0x10 0x0 0x80 0x88 0xaa 0x0 0x50 0x0 0x0 0x8 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0xb 0x0 0x0 0x0 0x0 0x0 0x0 0xa0 0x80 0x0 0x1 0x0 0x15 0x1 0x2a 0x0 0x0 0x0 0xf 0xd5 0x50 0xae 0x2 0x22 0x5f 0x4 0xc1 0x0 0x82 0x8a 0xa2 0xc1 0x5c 0xf5 0x15 0xaf 0xa 0x80 0x0 0x5 0x50 0x0 0xff 0x0 0x0 0x0 0x55 0x1 0x0 0xff 0x0 0x0 0x0 0x50 0x41 0x0 0xf8 0x80 0x0 0x0 0x0 0x50 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0x80 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x20 0x0 0x0 0xf 0x2 0x0 0x0 0x0 0x0 0x0 0xef 0xaf 0x5f 0x7 0x5 0x3f 0xfb 0xfe 0xeb 0x1 0x5 0x15 0xf8 0xe0 0x8f 0xe3 0x50 0x1f 0x0 0x0 0xa0 0xf8 0xa0 0x0 0xff 0x4 0x0 0x0 0x2a 0x0 0x0 0xf1 0x4 0x0 0xaa 0x8 0x80 0x0 0xfc 0x0 0x0 0xa0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0x2 0x0 0x0 0x0 0x0 0x0 0xff 0x80 0x10 0x0 0x0 0x15 0x1 0xff 0x0 0x0 0x40 0x1 0xff 0x55 0xaf 0xa 0xa 0x54 0x45 0xd5 0x1 0x82 0xa 0xaa 0x55 0x30 0xff 0x45 0xa0 0xa 0x0 0x0 0x55 0x54 0x40 0x3f 0x2 0x0 0x0 0x54 0x0 0x0 0xff 0xa0 0x0 0x0 0x0 0x44 0x54 0x80 0x20 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D3 | |
0xaa 0xaa 0xaa 0xaa 0xff 0xff 0xea 0xaa 0xaa 0xaa 0xaa 0xff 0xff 0xbf 0xaa 0xaa 0xaa 0xaa 0xff 0xfe 0xaa 0xaa 0xaa 0xaa 0xaa 0xff 0xaa 0xaa 0xaa 0xaa 0xaa 0xaa 0xbc 0x0 0xaa 0xaa 0xaa 0xaa 0x80 0x0 0x0 0xaa 0xaa 0xaa 0xa0 0x0 0x0 0x0 0xaa 0x80 0xaa 0x0 0x1 0xf 0xf 0xab 0x0 0xaa 0x0 0x8 0xbf 0xff 0xfa 0xaa 0xa0 0xaa 0x42 0xff 0xa2 0xfb 0x82 0x8 0xa8 0xaa 0xff 0xaa 0xe8 0xaa 0x38 0xaa 0x80 0xeb 0xaa 0x2 0x80 0x0 0x20 0x2 0xff 0xa2 0xf8 0x0 0x82 0x28 0x0 0xf8 0x80 0x0 0xa 0xaa 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0x0 0x8 0x0 0x0 0x0 0xff 0x55 0x55 0xff 0x5f 0xff 0x51 0xff 0x55 0x55 0xff 0xff 0x71 0xff 0xd5 0x55 0x55 0xff 0xff 0x5 0xff 0x55 0x55 0x55 0xff 0xfe 0x54 0xfc 0x55 0x55 0x55 0xff 0x80 0x10 0x7f 0x55 0x55 0x54 0xc0 0x0 0x40 0xf1 0x54 0x55 0x1d 0x0 0x0 0x0 0xff 0x0 0x55 0x0 0x0 0x1 0x7 0xf5 0x7f 0x55 0x0 0x1 0xff 0xff 0xff 0xff 0x54 0x5 0x55 0xff 0xf5 0xff 0x54 0x40 0x55 0x55 0xff 0x75 0x41 0x0 0x1 0x54 0x5 0x1 0xc4 0x50 0x0 0x0 0x0 0x40 0x47 0x14 0x0 0x1 0x15 0x0 0x0 0x50 0x0 0x0 0x5d 0x55 0x4 0x4 0x40 0x0 0x0 0x7f 0x50 0x0 0x0 0x0 0x0 0x0 0xff 0xaa 0xaa 0xff 0xff 0xbe 0xa0 0xff 0xaa 0xaa 0xff 0xff 0xaa 0xff 0xff 0xaa 0xaa 0xff 0xff 0xaa 0xff 0xff 0xaa 0xaa 0xff 0xe8 0xbf 0xea 0xff 0xaa 0xaa 0xff 0x0 0xae 0x3a 0xff 0xaa 0xa0 0xfc 0x0 0xaa 0xba 0xfe 0xaa 0x28 0x0 0x0 0xaa 0xff 0xbf 0x80 0x0 0x10 0xe 0xab 0xfb 0xff 0x2a 0x21 0x3f 0xaa 0xff 0xff 0xfa 0xaa 0x42 0xfa 0xae 0xff 0xff 0xa 0x20 0xaa 0xaf 0xbb 0xfa 0xe2 0xa2 0xa8 0xaa 0xaa 0xaa 0xa8 0xea 0x0 0x80 0xa0 0xbe 0xae 0xa2 0x0 0x8e 0x2a 0x8 0xa0 0xa0 0x0 0x0 0xbf 0x88 0x0 0x0 0x0 0x0 0x0 0xff 0xa0 0x0 0x0 0x0 0x0 0x0 0x55 0x55 0x55 0xf5 0xff 0xff 0x57 0x55 0x55 0x55 0x57 0xff 0xff 0xff 0x55 0x55 0x55 0xff 0xff 0xf5 0xff 0x55 0x55 0x55 0xff 0xff 0x55 0xff 0x55 0x55 0x55 0xff 0x1c 0x0 0x75 0x55 0x55 0x55 0x0 0x0 0x0 0x5d 0x55 0x55 0x40 0x0 0x0 0x2 0x75 0x0 0x55 0x0 0x0 0x4 0xc7 0x57 0x1 0x55 0x0 0x80 0x7f 0xff 0xf5 0x55 0x40 0x15 0x55 0xff 0xc0 0x7f 0x41 0x0 0x51 0x55 0xff 0x1d 0x0 0x45 0x4 0x55 0x0 0xd1 0xd5 0x1 0x0 0x0 0x0 0x11 0xff 0x57 0x50 0x0 0x5 0x0 0x0 0xf0 0x0 0x0 0x10 0x55 0x0 0x0 0x0 0x0 0x0 0x55 0x55 0x0 0x4 0x0 0x0 0x0 0xff 0xaa 0xaa 0xff 0xaa 0xeb 0xa2 0xff 0xaa 0xaa 0xff 0xbb 0xa2 0xf 0xff 0xaa 0xaa 0xff 0xff 0xa 0xff 0xbf 0xaa 0xaa 0xff 0xfc 0xaa 0xf8 0xaa 0xaa 0xaa 0xff 0x0 0xaa 0x3f 0xaa 0xaa 0xa8 0x80 0x0 0xaa 0xfe 0xb8 0xaa 0x3a 0x0 0x0 0x2a 0xfa 0x17 0xaa 0x0 0x0 0x3 0x83 0xab 0xff 0xaa 0x0 0x2 0xaa 0xff 0xff 0xfe 0xaa 0x2 0xaa 0xaa 0xff 0xff 0xa 0x80 0xaa 0xaa 0xaa 0xaa 0xe3 0x8a 0x0 0xaa 0xaa 0x80 0x88 0xf8 0x0 0x0 0x0 0x80 0xae 0x8a 0x0 0xe3 0x82 0x20 0x0 0xa0 0x0 0x0 0xfb 0x82 0x2 0x2 0x20 0x0 0x0 0xff 0xaa 0x0 0x0 0x0 0x0 0x0 0xff 0x55 0x55 0xff 0xff 0x7d 0x40 0xff 0x55 0x55 0xff 0xff 0x55 0x7f 0xff 0x55 0x55 0xff 0xff 0xd5 0xff 0xff 0x55 0x55 0xff 0xd4 0x5d 0xfe 0xff 0x55 0x55 0xde 0x0 0xff 0x70 0xff 0x55 0x40 0xa 0x0 0x55 0x41 0xff 0x54 0x0 0x0 0x0 0x55 0xff 0xff 0x0 0x2 0x27 0x7 0x57 0xff 0xff 0x5 0x10 0xff 0xdf 0xff 0xff 0xf4 0x55 0xb1 0xff 0xd5 0xff 0xff 0x5 0x0 0x55 0xff 0x5d 0xfd 0xf1 0x70 0x44 0x50 0xff 0x1 0x0 0xf0 0x0 0x40 0x0 0xff 0x55 0x70 0x0 0x5 0x4 0x0 0xf0 0x0 0x0 0x0 0x7f 0x40 0x0 0x0 0x0 0x0 0x0 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0xaa 0xaa 0xaa 0xff 0xff 0xff 0xaa 0xaa 0xaa 0xaa 0xff 0xff 0xfb 0xff 0xaa 0xaa 0xaa 0xff 0xff 0xaa 0xaf 0xaa 0xaa 0xaa 0xff 0xfe 0xaa 0xff 0xaa 0xaa 0xaa 0xfe 0x48 0x8a 0xfe 0xaa 0xaa 0xaa 0x60 0x0 0x80 0xa8 0xaa 0xaa 0x88 0x0 0x0 0x0 0xff 0x0 0xaa 0x0 0x1 0x0 0xb 0xfe 0x2a 0xaa 0x0 0x0 0xff 0xff 0xff 0xaa 0xa8 0xa 0xaa 0xff 0xa0 0xfe 0xa8 0x80 0xaa 0xaa 0xfe 0x2e 0x0 0x82 0x2 0xaa 0x0 0xab 0xa2 0x0 0x0 0x0 0x0 0xaa 0xfe 0xaa 0x20 0x0 0xa 0x0 0x0 0xb8 0x80 0x0 0x2a 0xaa 0x0 0x0 0x0 0x0 0x0 0xaa 0xa8 0x0 0x0 0x0 0x0 0x0 0xff 0x55 0x55 0xff 0xf5 0x57 0xd0 0xff 0x55 0x55 0xff 0x7f 0xc1 0x47 0xff 0x55 0x55 0xff 0xff 0x55 0xff 0xff 0x55 0x55 0xff 0xfc 0x55 0xf0 0xff 0x55 0x55 0xff 0x0 0x45 0x7c 0xff 0x55 0x52 0x2 0x0 0x55 0x75 0xfc 0x55 0x74 0x0 0x0 0x55 0xff 0xff 0x55 0x0 0x0 0x7 0x57 0xff 0xff 0x55 0x0 0x5 0x55 0xff 0xff 0xfc 0x55 0x85 0x55 0x55 0xff 0xff 0xf 0x10 0x55 0x55 0x55 0xf7 0xf1 0x84 0x10 0x55 0x55 0x0 0x50 0xd0 0x1 0x0 0x0 0x17 0x14 0x44 0x0 0xc5 0x45 0x10 0x0 0x0 0x0 0x0 0xd7 0x1 0x0 0x1 0x0 0x0 0x0 0xff 0x10 0x0 0x0 0x0 0x0 0x0 | |
: D4 | |
0x0 0x3c 0x36 0x3c 0x30 0x30 0x0 0xf3 0xdb 0xf3 0xdb 0xdb 0x0 0xe7 0xc 0xc7 0x1 0xef 0x0 0x9e 0x30 0x1c 0x86 0x3c 0x0 0x1e 0x30 0x1c 0x6 0x3c 0x0 0xf3 0x66 0x67 0x66 0x66 0x0 0x9e 0xdb 0xde 0xdb 0xdb 0x0 0x78 0x30 0x30 0x30 0x30 | |
: D5 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
: D6 | |
0x0 0x7f 0x1 0x7f 0x40 0x55 0xff 0x1 0x55 0x7c 0xf4 0x55 0x0 0x0 0x55 0x1e 0x7d 0x55 0xff 0xf9 0x50 0x0 0x7f 0x0 0x1f 0x57 0x5 0xdf 0xdf 0x55 0xc0 0xd7 0x0 0x7 0xe0 0x15 0xf0 0x27 0x50 0x3 0xfe 0x5 0xf0 0x0 0x50 0xf 0x3f 0x3f 0xfa 0xff 0xf9 0xaa 0xfb 0xe0 0xfe 0xff 0x7 0x0 0xff 0x9f 0x3e 0x7d 0xfc 0xff 0xf0 0x7f 0xe0 0x2a 0xf8 0xbf 0x87 0xff 0xdf 0xdf 0xe7 0xf8 0x8a 0x87 0x8 0xfe 0x8f 0xfe 0x3f 0xfc 0x1f 0x8f 0x78 0xc0 0xc0 0x1e 0x3f 0x7 0x0 0x55 0xff 0x79 0x55 0xf7 0xe0 0xfd 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xfd 0xf0 0x78 0xf5 0x0 0x0 0xd7 0x7 0x1 0xdf 0xdf 0xe7 0xdf 0x80 0x87 0x81 0x5f 0x9e 0x8f 0x50 0x1e 0xfe 0x11 0x79 0x0 0xf8 0x9e 0x1 0x7f 0x0 0xff 0x80 0x0 0xff 0x3 0x0 0x7e 0xfa 0x0 0x0 0x0 0x0 0x3e 0x7d 0x0 0xff 0xf8 0x0 0x80 0xbe 0x0 0x3f 0xa7 0x0 0xdf 0xdf 0x0 0xe0 0xab 0x0 0xb 0xf0 0x0 0xf8 0x1f 0x0 0x7 0xff 0x2 0xf0 0x0 0xa0 0x1f 0x1f 0x78 0xd5 0xff 0x1 0x54 0xf7 0xe0 0xfd 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xff 0xf8 0x78 0xf1 0x1f 0x1 0x7f 0x7 0xe0 0xdf 0xdf 0x7 0xfe 0x85 0x87 0x4 0x7f 0x9e 0x7f 0x7e 0x1e 0x3f 0x47 0x78 0x80 0xe0 0x1e 0x7e 0x2 0x7f 0xa0 0xaa 0xf1 0x1 0xa2 0xff 0xfa 0xaa 0xe7 0x0 0xaa 0x9f 0x3c 0x28 0xfc 0xfa 0xa8 0x7f 0xfb 0x0 0xf9 0xaf 0x2 0xff 0xdf 0x8a 0xc7 0xaf 0x80 0x87 0xc0 0x2a 0x8f 0x47 0xa8 0xfc 0xfc 0x8 0x3f 0x0 0xa8 0xfc 0x7 0x3f 0x0 0xff 0xff 0x0 0xfe 0xfb 0x0 0x7d 0xff 0x0 0x0 0xff 0x0 0x3e 0x7d 0x0 0xff 0xf8 0x0 0xc0 0x55 0x0 0x7f 0x47 0x0 0xdf 0xdf 0x0 0xf0 0x95 0x0 0x11 0xfc 0x0 0xfc 0x1f 0x0 0xf 0x9f 0x0 0xe0 0x80 0x0 0x3f 0xf 0x3f 0xaa 0xff 0xf1 0xa8 0xf7 0xe0 0xfa 0xff 0x7 0x0 0xff 0x9e 0x3e 0x7d 0x1e 0xff 0xf8 0x7f 0xea 0x0 0x80 0xef 0x7 0xff 0xdf 0xdf 0xc7 0xbf 0x80 0xff 0x2 0xbf 0x9e 0x1f 0xfc 0x1e 0xff 0x23 0x79 0x0 0xf0 0x9e | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Robot.ch8 | |
###################################################################### | |
:proto L2 # 21C | |
:proto L5 # 234 | |
:proto D1 # 23A | |
: main | |
lores | |
i := D1 | |
v0 := 0 | |
v1 := 0 | |
v2 := 15 | |
sprite v0 v1 0 | |
v0 := 5 | |
buzzer := v0 | |
v0 := 60 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 == 0 then jump L2 | |
again | |
: L2 | |
hires | |
: L3 | |
v0 := random 0b1111111 | |
v1 := random 0b111111 | |
sprite v0 v1 0 | |
vA := 5 | |
buzzer := vA | |
vB := 20 | |
delay := vB | |
loop | |
vB := delay | |
if vB == 0 then jump L5 | |
again | |
: L5 | |
sprite v0 v1 0 | |
jump L3 | |
0x12 0x38 | |
: D1 | |
0x7 0xe0 0x7 0xa0 0x7 0xe0 0x7 0xa0 0x7 0x80 0x7 0xe0 0x1 0x80 0x1 0x80 0x1 0x80 0x1 0x84 0x1f 0xf8 0x21 0x80 0x1 0x80 0x1 0x80 0x1 0x80 0x7f 0xfe | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/SCSerpinski [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L4 # 2F5 | |
:proto L5 # 31B | |
:proto L6 # 341 | |
:proto D1 # 3BA | |
:proto D2 # 3BB | |
:proto D3 # 3BC | |
:proto D4 # 3BD | |
:proto D5 # 3BE | |
:proto D6 # 3FE | |
:proto D7 # 43E | |
:proto D8 # 43F | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
hires | |
v0 := 0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
v0 := 63 | |
vA := v0 | |
v0 := 0 | |
vB := v0 | |
i := D1 | |
load v0 | |
sprite vA vB 1 | |
v0 := 1 | |
i := D2 | |
save v0 | |
v0 := 63 | |
i := D7 | |
save v0 | |
: L2 | |
v0 := 1 | |
i := D3 | |
save v0 | |
i := D2 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
i := D8 | |
save v0 | |
loop | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D4 | |
save v0 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D6 | |
i += v0 | |
load v0 | |
v6 := v0 | |
i := D3 | |
load v0 | |
v7 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v7 | |
v0 += v1 | |
i := D6 | |
i += v0 | |
load v0 | |
v1 := v0 | |
v0 := v6 | |
v0 ^= v1 | |
v1 := v5 | |
i := D5 | |
i += v1 | |
save v0 | |
i := D4 | |
load v0 | |
v5 := v0 | |
i := D4 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v1 := v5 | |
i := D6 | |
i += v1 | |
save v0 | |
i := D3 | |
load v0 | |
i := D5 | |
i += v0 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v0 := 63 | |
v1 := v0 | |
v0 := v5 | |
v0 += v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
sprite vA vB 1 | |
v0 := 63 | |
v5 := v0 | |
i := D3 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
vA := v0 | |
i := D2 | |
load v0 | |
vB := v0 | |
i := D1 | |
load v0 | |
sprite vA vB 1 | |
: L4 | |
i := D3 | |
load v0 | |
v5 := v0 | |
i := D8 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L5 | |
i := D3 | |
load v0 | |
v0 += 1 | |
save v0 | |
again | |
: L5 | |
i := D2 | |
load v0 | |
v5 := v0 | |
i := D7 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L6 | |
i := D2 | |
load v0 | |
v0 += 1 | |
save v0 | |
jump L2 | |
: L6 | |
loop | |
again | |
0x81 0x0 0xa4 0x40 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x13 0x55 0x80 0x30 0x0 0xee 0xa4 0x40 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x13 0x8d 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x13 0x87 0x84 0xe 0x85 0xe 0x13 0x79 0x80 0x45 0x86 0x54 0x13 0x69 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x13 0x93 0x80 0x20 0x0 0xee 0xa3 0xb7 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x28 0x63 0x29 | |
: D1 | |
0x80 | |
: D2 | |
0x0 | |
: D3 | |
0x0 | |
: D4 | |
0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/SCStars [Sergey Naydenov, 2010].ch8 | |
###################################################################### | |
:proto L1 # 205 | |
:proto L5 # 2D7 | |
:proto L6 # 2DD | |
:proto L7 # 303 | |
:proto L8 # 325 | |
:proto L11 # 3C7 | |
:proto L12 # 3CD | |
:proto L13 # 3F3 | |
:proto L14 # 415 | |
:proto L15 # 471 | |
:proto L16 # 4F3 | |
:proto D1 # 582 | |
:proto D2 # 5AA | |
:proto D3 # 5B2 | |
:proto D4 # 5BA | |
:proto D5 # 5C2 | |
:proto D6 # 5C3 | |
:proto D7 # 5C4 | |
:proto D8 # 5C5 | |
:proto D9 # 5C6 | |
:proto D10 # 5C8 | |
: main | |
jump L1 | |
0x43 0x38 0x50 | |
: L1 | |
hires | |
v0 := 0 | |
v5 := v0 | |
v0 := random 0b1111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
v0 := 0 | |
v5 := v0 | |
v0 := random 0b111000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
v0 := 0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
v0 := 0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
v0 := 0 | |
i := D1 | |
i += v0 | |
sprite vA vB 8 | |
v0 := 1 | |
i := D7 | |
save v0 | |
v0 := 7 | |
i := D9 | |
save v0 | |
: L2 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b1111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
: L3 | |
v0 := 0 | |
i := D6 | |
save v0 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D10 | |
save v0 | |
loop | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v0 | |
v0 -= v1 | |
v0 := v2 | |
if vF != 0 then jump L6 | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 -= v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L5 | |
v0 := 1 | |
i := D8 | |
save v0 | |
jump L6 | |
: L5 | |
v0 := 0 | |
i := D8 | |
save v0 | |
: L6 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D10 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L7 | |
i := D6 | |
load v0 | |
v0 += 1 | |
save v0 | |
again | |
: L7 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L8 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b1111000 | |
v1 := v5 | |
i := D3 | |
i += v1 | |
save v0 | |
: L8 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L3 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b111000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
: L9 | |
v0 := 0 | |
i := D6 | |
save v0 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v0 | |
v0 := v5 | |
v0 -= v1 | |
i := D10 | |
save v0 | |
loop | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v0 | |
v0 -= v1 | |
v0 := v2 | |
if vF != 0 then jump L12 | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v5 := v0 | |
i := D6 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 -= v1 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L11 | |
v0 := 1 | |
i := D8 | |
save v0 | |
jump L12 | |
: L11 | |
v0 := 0 | |
i := D8 | |
save v0 | |
: L12 | |
i := D6 | |
load v0 | |
v5 := v0 | |
i := D10 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L13 | |
i := D6 | |
load v0 | |
v0 += 1 | |
save v0 | |
again | |
: L13 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 1 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if vF != 0 then jump L14 | |
i := D7 | |
load v0 | |
v5 := v0 | |
v0 := random 0b111000 | |
v1 := v5 | |
i := D4 | |
i += v1 | |
save v0 | |
: L14 | |
i := D8 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then jump L9 | |
i := D7 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
i := D7 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
v0 := 0 | |
i := D1 | |
i += v0 | |
sprite vA vB 8 | |
i := D7 | |
load v0 | |
v5 := v0 | |
i := D9 | |
load v0 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if v0 == v1 then vF := 0 | |
if vF != 1 then jump L15 | |
i := D7 | |
load v0 | |
v0 += 1 | |
save v0 | |
jump L2 | |
: L15 | |
loop | |
v0 := random 0b111 | |
i := D5 | |
save v0 | |
i := D5 | |
load v0 | |
i := D3 | |
i += v0 | |
load v0 | |
vA := v0 | |
i := D5 | |
load v0 | |
i := D4 | |
i += v0 | |
load v0 | |
vB := v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
i := D1 | |
i += v0 | |
load v0 | |
sprite vA vB 8 | |
v0 := 10 | |
delay := v0 | |
i := D5 | |
load v0 | |
v5 := v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
v6 := v0 | |
v0 := 8 | |
v1 := v0 | |
v0 := v6 | |
v0 += v1 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
i := D5 | |
load v0 | |
i := D2 | |
i += v0 | |
load v0 | |
v5 := v0 | |
v0 := 32 | |
v1 := v0 | |
v0 := v5 | |
v2 := v1 | |
v1 -= v0 | |
v1 := v2 | |
if vF != 0 then jump L16 | |
i := D5 | |
load v0 | |
v5 := v0 | |
v0 := 0 | |
v1 := v5 | |
i := D2 | |
i += v1 | |
save v0 | |
: L16 | |
i := D5 | |
load v0 | |
v5 := v0 | |
v0 := 50 | |
v1 := v5 | |
if v0 != v1 then vF := 1 | |
if v0 == v1 then vF := 0 | |
if vF != 0 then | |
again | |
loop | |
again | |
0x81 0x0 0xa5 0xc9 0x62 0x1 0x8e 0x25 0xfe 0x1e 0xf0 0x65 0x0 0xee 0x62 0x1 0x63 0x0 0x83 0x4 0x81 0x25 0x31 0x0 0x15 0x1d 0x80 0x30 0x0 0xee 0xa5 0xc9 0xfe 0x1e 0xf6 0x55 0x66 0x0 0x82 0x0 0x82 0x15 0x3f 0x1 0x15 0x55 0x83 0x0 0x83 0x6 0x84 0x10 0x65 0x1 0x82 0x30 0x82 0x45 0x3f 0x1 0x15 0x4f 0x84 0xe 0x85 0xe 0x15 0x41 0x80 0x45 0x86 0x54 0x15 0x31 0xf5 0x65 0x80 0x60 0x0 0xee 0x82 0x0 0x80 0x15 0x3f 0x0 0x15 0x5b 0x80 0x20 0x0 0xee 0xa5 0x7f 0xf0 0x33 0xf2 0x65 0xf0 0x29 0xd3 0x45 0x73 0x6 0xf1 0x29 0xd3 0x45 0x73 0x6 0xf2 0x29 0xd3 0x45 0x0 0xee 0x28 0x63 0x29 | |
: D1 | |
0x0 0x0 0x0 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x38 0x28 0x38 0x0 0x0 0x0 0x0 0x54 0x0 0x44 0x0 0x54 0x0 0x0 0x92 0x0 0x0 0x82 0x0 0x0 0x92 0x0 0x92 0x54 0x38 0xfe 0x38 0x54 0x92 0x0 | |
: D2 | |
0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 | |
: D3 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D5 | |
0x0 | |
: D6 | |
0x0 | |
: D7 | |
0x0 | |
: D8 | |
0x0 | |
: D9 | |
0x0 0x0 | |
: D10 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/SuperMaze [David Winter, 199x].ch8 | |
###################################################################### | |
:proto D1 # 220 | |
:proto D2 # 224 | |
: main | |
hires | |
v0 := 0 | |
v1 := 0 | |
: L1 | |
loop | |
i := D2 | |
v2 := random 0b1 | |
if v2 != 1 then i := D1 | |
sprite v0 v1 4 | |
v0 += 4 | |
if v0 != 128 then jump L1 | |
v0 := 0 | |
v1 += 4 | |
if v1 != 64 then | |
again | |
loop | |
again | |
: D1 | |
0x80 0x40 0x20 0x10 | |
: D2 | |
0x20 0x40 0x80 0x10 | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Super Particle Demo [zeroZshadow, 2008].ch8 | |
###################################################################### | |
:proto L4 # 268 | |
:proto L5 # 298 | |
:proto L6 # 29A | |
:proto Sub1 # 29E | |
:proto L7 # 2BA | |
:proto Sub2 # 2D0 | |
:proto D1 # 2DA | |
:proto D2 # 302 | |
:proto D3 # 322 | |
:proto D4 # 325 | |
: main | |
hires | |
i := D4 | |
v0 := 32 | |
v1 := 8 | |
v2 := 8 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
i += v2 | |
v0 += v2 | |
sprite v0 v1 5 | |
v6 := 8 | |
v7 := 1 | |
v8 := 3 | |
vA := 0 | |
jump L7 | |
: L1 | |
vB := 0 | |
vC := 0 | |
loop | |
i := D1 | |
i += vB | |
load v3 | |
Sub2 | |
i := D3 | |
sprite vE vD 3 | |
i := D1 | |
i += vB | |
jump L4 | |
: L3 | |
Sub2 | |
i := D3 | |
sprite vE vD 3 | |
vB += 4 | |
vC += 1 | |
if vC != v6 then | |
again | |
jump L1 | |
0x12 0x0 | |
: L4 | |
load v3 | |
v0 += v2 | |
v1 += v3 | |
vE >>= v8 | |
vD >>= v8 | |
if vE == 0 then jump L5 | |
if vE == 1 then jump L5 | |
if vE == 62 then jump L5 | |
if vE == 63 then jump L5 | |
if vD == 0 then jump L5 | |
if vD == 31 then jump L5 | |
if vD == 0 then v3 := 1 | |
vE := v0 | |
vD := v1 | |
if v3 != 2 then v3 += 1 | |
jump L6 | |
: L5 | |
Sub1 | |
: L6 | |
save v3 | |
jump L3 | |
: Sub1 | |
i := D2 | |
i += vA | |
load v0 | |
v2 := v0 | |
vA += 1 | |
v4 := 31 | |
vA &= v4 | |
i := D1 | |
v0 := 128 | |
v1 := 112 | |
v3 := random 0b111 | |
v3 += -12 | |
i += vB | |
return | |
: L7 | |
vB := 0 | |
vC := 0 | |
i := D1 | |
loop | |
Sub1 | |
save v3 | |
vB += 4 | |
i += vB | |
vC += 1 | |
if vC != v6 then | |
again | |
jump L1 | |
: Sub2 | |
vE := v0 | |
vD := v1 | |
vE >>= v7 | |
vD >>= v7 | |
return | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D2 | |
0xf8 0xfa 0xf9 0xfe 0xfb 0xfc 0xfd 0xff 0x2 0x1 0x3 0x5 0x4 0x6 0x7 0x8 0x6 0x7 0x4 0x5 0x3 0x1 0x2 0xfe 0xff 0xfc 0xfb 0xfd 0xfa 0xf9 0xf8 0xfa | |
: D3 | |
0x40 0xa0 0x40 | |
: D4 | |
0xf7 0x6 0x77 0x6 0x36 0x0 0x0 0x0 0xc7 0x6c 0xcf 0xc 0xc 0x0 0x0 0x0 0x9f 0xd9 0xdf 0xd9 0xd9 0x0 0x0 0x0 0x3f 0x8c 0xc 0x8c 0x8c 0x0 0x0 0x0 0x67 0x6c 0x6c 0x6c 0x67 0x0 0x0 0x0 0xb0 0x30 0x30 0x30 0xbe 0x0 0x0 0x0 0xf9 0xc3 0xf1 0xc0 0xfb 0x0 0x0 0x0 0xef 0x0 0xce 0x60 0xcc 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/SuperTrip8 Demo (2008) [Revival Studios].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto Sub1 # 270 | |
:proto Sub2 # 290 | |
:proto Sub3 # 2A2 | |
:proto Sub4 # 2B4 | |
:proto Sub5 # 2C6 | |
:proto Sub6 # 2CC | |
:proto Sub7 # 2D4 | |
:proto Sub8 # 2DC | |
:proto Sub9 # 2E4 | |
:proto Sub10 # 2EC | |
:proto Sub11 # 2F4 | |
:proto Sub12 # 2FC | |
:proto Sub13 # 308 | |
:proto Sub14 # 318 | |
:proto Sub15 # 324 | |
:proto Sub16 # 33E | |
:proto Sub17 # 358 | |
:proto Sub18 # 372 | |
:proto Sub19 # 396 | |
:proto Sub20 # 3D6 | |
:proto Sub21 # 3DE | |
:proto D1 # 436 | |
:proto Sub22 # 460 | |
:proto Sub23 # 496 | |
:proto D2 # 4C6 | |
:proto D3 # 4CE | |
:proto D4 # 4D2 | |
:proto D5 # 5D2 | |
:proto D6 # 752 | |
:proto D7 # A52 | |
:proto D8 # C52 | |
:proto D9 # E52 | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
hires | |
clear | |
vD := 32 | |
delay := vD | |
Sub20 | |
Sub21 | |
vD := 64 | |
delay := vD | |
Sub20 | |
Sub21 | |
vD := 32 | |
delay := vD | |
Sub20 | |
i := D4 | |
Sub22 | |
vD := 128 | |
delay := vD | |
Sub20 | |
i := D4 | |
Sub22 | |
Sub23 | |
vD := 0 | |
vB := 0 | |
Sub5 | |
loop | |
if vB == 0 then Sub9 | |
if vB == 1 then Sub19 | |
if vB == 2 then Sub10 | |
if vB == 3 then Sub19 | |
if vB == 4 then Sub11 | |
if vB == 5 then Sub19 | |
v0 := 1 | |
delay := v0 | |
Sub20 | |
vD += 1 | |
v0 := 63 | |
vC := vD | |
vC &= v0 | |
if vC == 0 then Sub1 | |
again | |
: Sub1 | |
if vB == 0 then Sub2 | |
if vB == 1 then Sub6 | |
if vB == 2 then Sub3 | |
if vB == 3 then Sub7 | |
if vB == 4 then Sub4 | |
if vB == 5 then Sub8 | |
vB += 1 | |
if vB == 6 then vB := 0 | |
return | |
: Sub2 | |
Sub13 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub3 | |
Sub12 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub4 | |
Sub14 | |
v9 := random 0b11 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
v9 += v9 | |
Sub18 | |
return | |
: Sub5 | |
vE := 0 | |
Sub13 | |
return | |
: Sub6 | |
Sub18 | |
vE := 0 | |
Sub12 | |
return | |
: Sub7 | |
Sub18 | |
vE := 0 | |
Sub14 | |
return | |
: Sub8 | |
Sub18 | |
vE := 0 | |
Sub13 | |
return | |
: Sub9 | |
Sub13 | |
vE += 3 | |
Sub13 | |
return | |
: Sub10 | |
Sub12 | |
vE += 2 | |
Sub12 | |
return | |
: Sub11 | |
Sub14 | |
vE += 2 | |
Sub14 | |
return | |
: Sub12 | |
vC := 0 | |
Sub16 | |
Sub16 | |
Sub16 | |
Sub16 | |
return | |
: Sub13 | |
vC := 0 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
Sub15 | |
return | |
: Sub14 | |
vC := 0 | |
Sub17 | |
Sub17 | |
Sub17 | |
Sub17 | |
return | |
: Sub15 | |
i := D6 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D2 | |
sprite v0 v1 8 | |
vC += 2 | |
return | |
: Sub16 | |
i := D7 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D2 | |
sprite v0 v1 8 | |
vC += 2 | |
return | |
: Sub17 | |
i := D8 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
i += vC | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D2 | |
sprite v0 v1 8 | |
vC += 2 | |
return | |
: Sub18 | |
vC := 0 | |
loop | |
v0 := 31 | |
vA := vD | |
vA += vC | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D3 | |
sprite v0 v1 5 | |
vC += 1 | |
if vC != 8 then | |
again | |
return | |
: Sub19 | |
v0 := 31 | |
vA := vD | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D3 | |
sprite v0 v1 5 | |
v0 := 31 | |
vA := vD | |
vA += 8 | |
vA &= v0 | |
vA += v9 | |
i := D9 | |
i += vA | |
i += vA | |
load v1 | |
v0 += v0 | |
v1 += v1 | |
i := D3 | |
sprite v0 v1 5 | |
return | |
0xa7 0x52 0xfd 0x1e 0xf0 0x65 0x30 0x0 0xf0 0x18 0x0 0xee | |
: Sub20 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub21 | |
vD := 4 | |
v1 := 29 | |
v0 := 60 | |
v2 := 18 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
v0 := 52 | |
v2 := 12 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 68 | |
v2 := 24 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
v0 := 44 | |
v2 := 6 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 76 | |
v2 := 30 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
i := D1 | |
v0 := 36 | |
sprite v0 v1 6 | |
v0 := 84 | |
v2 := 36 | |
i := D1 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub20 | |
return | |
: D1 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
: Sub22 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L4 | |
v0 := 32 | |
loop | |
v1 := v3 | |
v1 += 16 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 96 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L4 | |
return | |
: Sub23 | |
vC := 15 | |
v0 := 80 | |
i := D5 | |
v1 := 0 | |
v2 := 4 | |
loop | |
v1 := 0 | |
sprite v0 v1 15 | |
i += vC | |
v1 := 15 | |
sprite v0 v1 15 | |
i += vC | |
v1 := 30 | |
sprite v0 v1 15 | |
i += vC | |
v1 := 45 | |
sprite v0 v1 15 | |
i += vC | |
v1 := 60 | |
sprite v0 v1 4 | |
i += v2 | |
v0 += 8 | |
if v0 != 128 then | |
again | |
return | |
: D2 | |
0x3c 0x42 0xb1 0xa1 0x81 0x81 0x42 0x3c | |
: D3 | |
0x20 0xf8 0x50 0x88 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x39 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x5b 0x0 0x0 0x0 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x1 0x0 0x0 0x7f 0x7d 0x0 0x0 0xff 0xef 0x0 0x0 0xfd 0x7b 0x0 0x0 0x7f 0x1b 0x0 0x0 0xf6 0x1b 0x0 0x0 0x9f 0xdf 0x0 0x0 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xe1 0x0 0x0 0x0 0x6f 0xc 0x0 0x0 0x7b 0x0 0x0 0x0 0xdb 0x0 0x0 0x0 0xdb 0x3 0x0 0x0 0xdf 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1d 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x73 0x0 0x0 0x18 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x2 0x0 0x0 0xe0 0xf8 0x0 0x0 0x0 0xee 0x0 0x0 0x0 0x3b 0x0 0x0 0x18 0x1b 0x0 0x0 0x0 0x1b 0x0 0x0 0x19 0x8f 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x71 0x0 0x0 0x0 0x6b 0x0 0x0 0x0 0x5b 0x0 0x0 0x0 0x1b 0x0 0x0 0x0 0x1a 0x0 0x0 0x0 0xcf 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3f 0xd 0x0 0x0 0xff 0x6b 0x0 0x0 0xfe 0x63 0x0 0x0 0xbf 0x1b 0x0 0x0 0xfb 0x1a 0x0 0x0 0x4f 0xd9 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xc1 0x0 0x0 0x0 0x6e 0xc 0x0 0x0 0x31 0x0 0x0 0x0 0xd9 0x0 0x0 0x0 0xdb 0x3 0x0 0x0 0x99 0x0 0x0 0x0 0x80 0x0 0x0 | |
: D5 | |
0x7 0xa 0xd 0x6 0x13 0xd 0x6 0x27 0x33 0x19 0x6e 0x17 0xb 0x3f 0x4f 0x7 0x2 0x1 0x0 0x1 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x1 0x1 0x1 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x7f 0xff 0x7f 0xff 0x7f 0xbf 0xff 0xff 0xff 0x7f 0xff 0x7f 0xaf 0x5f 0xaf 0x5f 0xaf 0x57 0xaf 0xdf 0xaf 0xdf 0xef 0xef 0xff 0xff 0xef 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7f 0x3f 0x3f 0xf 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfc 0xf8 0xf0 0xe0 0xff 0xff 0xff 0xfc 0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7f 0x7f 0x7f 0x3f 0x3f 0x3f 0x3f 0x1f 0x1f 0xf 0xf 0xf 0x7 0x7 0x3 0x3 0x3 0x1 0x1 0x1 0x1 0x1 0xfe 0xfc 0xfc 0xfc 0xfc 0xfc 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfe 0xfc 0xfc 0xf8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0xc0 0xc0 0xe0 0xe0 0xe0 0xe0 0xc0 0xc0 0xc3 0xdf 0xff 0xff 0xff 0xfe 0xfe 0xfc 0xfc 0xfc 0xfc 0xfc 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfe 0xfe 0xfe 0xff 0xff 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc0 0xc0 0xc0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x7 0xf 0x1f 0x3f 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0x7 0x7 0x7 0x6 0xf 0xf 0x3f 0x7f 0xff 0xff 0xff 0xff 0xbf 0x9f 0x8 0x0 0x3 0xf 0x1f 0x1f 0xf 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x70 0xf8 0xf0 0xf0 0xf0 0xf8 0xf8 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xfc 0xf8 0xf0 0xf0 0xe0 0x20 0x10 0xf8 0xf0 0xe0 0xe0 0xe0 0xe0 0xe0 0xc0 0x0 0x0 0x0 0x80 0xc0 0xc0 0x80 0x0 0x0 0x0 | |
: D6 | |
0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x7 0x8 0x17 0x8 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1b 0xa 0x16 0x16 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x1e 0xc 0x15 0x17 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x20 0xf 0x13 0x19 0x15 0xa 0x3 0x15 0x20 0x12 0xe 0x1 0x10 0x1a 0x1 0xb 0x14 0x8 0x0 0x11 0x1f 0x14 0xd 0x1b 0x12 0x1 0x4 0x9 0x15 0x6 0x0 0xd 0x1d 0x16 0xa 0x1b 0x15 0x3 0x6 0x8 0x18 0x5 0x1 0x9 0x1c 0x16 0x6 0x19 0x17 0x5 0x7 0x8 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x4 0x14 0x9 0x2 0x1a 0x18 0x1e 0x7 0x5 0x13 0x8 0x7 0x5 0x12 0xe 0x1 0x19 0x19 0x1f 0xa 0x2 0x12 0x8 0x6 0x8 0x12 0x14 0x2 0x18 0x1a 0x20 0xc 0x0 0x10 0x9 0x5 0xa 0x12 0x19 0x4 0x15 0x1b 0x0 0xe 0x1f 0xe 0xb 0x3 0xc 0x14 0x1d 0x8 0x0 0xb 0xe 0x1 0x11 0x1b 0x1d 0x11 0xb 0x17 0x1f 0xd 0x0 0x8 0x12 0x1 0xd 0x1a 0x1b 0x12 0x8 0x18 0x1e 0x12 0x2 0x7 0x17 0x2 0xa 0x17 0x19 0x13 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x17 0x8 0x17 0x14 0x1d 0xa 0x6 0x4 0x15 0x1a 0x1 0x15 0x1b 0x9 0xb 0x5 0x1b 0xe 0x8 0x3 0xe 0x1b 0x0 0x11 0x1e 0xc 0x10 0x4 0x17 0x12 0xa 0x2 0x8 0x1a 0x1f 0xf 0x0 0xd 0x16 0x4 0x10 0x14 0xd 0x2 0x1e 0x14 0x3 0x16 0x1b 0x6 0x2 0x9 0x9 0x13 0x10 0x1 0x1a 0x18 0x1f 0xa 0x1 0x12 0x7 0x6 0x4 0xf 0x14 0x2 0x13 0x1b 0x20 0xe 0x1 0xe 0xd 0x5 0x2 0xa 0x18 0x3 0xb 0x1b 0x1f 0x13 0x4 0xa 0x12 0x5 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0x15 0x19 0x1e 0x8 0x0 0x11 0x9 0x2 0x14 0x17 0x1b 0xc 0xe 0x17 0x1f 0xb 0x0 0xb 0xf 0x1 0x10 0x1a 0x1c 0x10 0x9 0x13 0x1f 0xe 0x2 0x6 0x15 0x2 0xa 0x1a 0x1a 0x15 0x8 0xe 0x1f 0xf 0x8 0x2 0x5 0x18 0x1a 0x5 0x17 0x19 0xa 0x9 0x1e 0x12 0x0 0x14 0xe 0x1 0x11 0x1b 0x1c 0x9 0xf 0x5 0x1d 0x14 0x0 0xe 0xc 0x1b 0x13 0x2 0x1d 0xe 0x15 0x4 0x1c 0x15 0x0 0xa 0x7 0x1a 0x16 0x5 0x1b 0x11 0x1b 0x5 0x4 0x5 0x4 0x17 0x1b 0x17 0x18 0x8 0x8 0x8 0x3 0x14 0xa 0x2 0x19 0x19 0x1f 0x8 0x4 0x12 0x9 0x6 0x5 0x12 0x11 0x2 0x17 0x1a 0x20 0xc 0x1 0x10 0xa 0x5 0x7 0x11 0x17 0x3 0x14 0x1b 0x0 0xd 0x20 0xf 0xc 0x3 0xa 0x12 0x1c 0x7 0x0 0xa 0x11 0x1b 0xf 0x2 0x1e 0x11 0xb 0x14 0x1f 0xb 0x0 0x8 0x12 0x1 0xd 0x1b 0x1b 0x13 0xa 0x16 0x1f 0xf 0x2 0x6 0x15 0x1 0xa 0x19 0x19 0x14 0x7 0x17 0x1e 0x13 0x3 0x6 0x19 0x3 0x8 0x17 0x18 0x14 0x1b 0x5 0x4 0x5 0x1b 0x17 0x4 0x17 0x17 0x8 0x8 0x8 0x1b 0x8 0x16 0x1a 0x5 0x4 0x1 0x15 0x1a 0x9 0x17 0x15 0x1a 0xa 0x11 0x1b 0x6 0x3 0x0 0x12 0x1d 0xa 0x17 0x16 0x17 0xa 0xb 0x1a 0x7 0x2 0x0 0x10 0x1f 0xc 0x16 0x17 0x15 0xa 0x6 0x18 0xa 0x1 0x20 0xe 0x0 0xe 0x14 0x19 0x13 0x8 0x2 0x14 0x20 0x11 0xe 0x1 0x11 0x1b 0x2 0xb 0x14 0x5 0x0 0xf 0x1f 0x14 0xd 0x1b 0x12 0x2 0x4 0xa 0x17 0x4 0x1 0xa 0x1d 0x15 0x8 0x1a 0x15 0x5 0x6 0x9 0x1b 0x17 0x1b 0x5 0x4 0x17 0x4 0x5 0x18 0x8 0x18 0x14 0x2 0x12 0x19 0x18 0xa 0x2 0x1e 0x7 0x4 0x13 0x14 0x17 0x4 0xe 0x17 0x19 0x11 0x1 0x20 0xb 0x1 0x10 0xf 0x18 0x8 0xa 0x15 0x1a 0x17 0x2 0x20 0xf 0x0 0xd 0x9 0x18 0xf 0x8 0x12 0x1a 0x1 0x8 0x1c 0x6 0x4 0x16 0x1d 0x13 0x16 0x9 0xf 0x1b 0x5 0x4 0x0 0x12 0x1e 0xa 0x18 0x16 0x1b 0xd 0xb 0x1a 0xc 0x1 0x0 0xe 0x1e 0xe 0x12 0x17 0x1d 0x12 0x7 0x19 0x14 0x1 0x0 0x9 0x1b 0x12 0xd 0x17 0x4 0x17 0x4 0x5 0x1b 0x17 0x1b 0x5 0x8 0x14 0x8 0x8 0xa 0x3 0x1 0x14 0x1f 0xb 0x16 0x1a 0xb 0x5 0x4 0x10 0x11 0x5 0x0 0x11 0x20 0x11 0x10 0x1b 0xf 0x2 0x3 0xc 0x16 0x9 0x0 0xe 0x1d 0x16 0xa 0x1a 0x15 0x2 0x5 0x7 0x17 0xe 0x0 0xd 0x17 0x1a 0x1a 0x4 0x5 0x17 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x11 0x1b 0x3 0x13 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xc 0x1a 0x2 0xe 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 0x9 0x17 0x4 0xb | |
: D7 | |
0x4 0x5 0x1b 0x5 0x1b 0x17 0x4 0x17 0x1c 0x8 0x15 0x1a 0x6 0x3 0x0 0x14 0x1a 0xa 0xe 0x1a 0x8 0x2 0x0 0x10 0x18 0xb 0x8 0x19 0xb 0x1 0x0 0xd 0x15 0xa 0x3 0x15 0xe 0x1 0x1 0xb 0x14 0x8 0x0 0x11 0x12 0x1 0x14 0x12 0x15 0x6 0x0 0xd 0x13 0x14 0x15 0x3 0x18 0x5 0x1 0x9 0x11 0x15 0x17 0x5 0x1b 0x5 0x4 0x5 0x10 0x15 0x17 0x8 0x9 0x2 0x1e 0x7 0xe 0x15 0x8 0x7 0xe 0x1 0x1f 0xa 0xc 0x15 0x8 0x6 0x14 0x2 0xb 0x14 0x20 0xc 0x9 0x5 0x19 0x4 0xa 0x14 0x1f 0xe 0xb 0x3 0x1d 0x8 0x8 0x13 0xe 0x1 0x1d 0x11 0x1f 0xd 0x12 0x1 0x7 0x11 0x1b 0x12 0x1e 0x12 0x17 0x2 0x6 0x10 0x19 0x13 0x1b 0x17 0x1b 0x5 0x6 0xe 0x17 0x8 0x1d 0xa 0x15 0x1a 0x7 0xc 0x1b 0x9 0x1b 0xe 0xe 0x1b 0x8 0xa 0x1e 0xc 0x17 0x12 0x8 0x1a 0x1f 0xf 0xb 0x8 0x10 0x14 0x1e 0x14 0x3 0x16 0xf 0x7 0x9 0x13 0x1a 0x18 0x1 0x12 0x12 0x8 0x4 0xf 0x13 0x1b 0x15 0x9 0x1 0xe 0x2 0xa 0xb 0x1b 0x18 0xb 0x4 0xa 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0x0 0x11 0x9 0x2 0x18 0x10 0x6 0x12 0x0 0xb 0xf 0x1 0x16 0x13 0x5 0x10 0x2 0x6 0x14 0x14 0x15 0x2 0x5 0xe 0x11 0x14 0x8 0x2 0x1a 0x5 0x5 0xd 0xe 0x13 0xe 0x1 0x1c 0x9 0x6 0xc 0xd 0x11 0x13 0x2 0x1d 0xe 0x6 0xa 0xe 0xf 0x16 0x5 0x1b 0x11 0x7 0x9 0x10 0xe 0x18 0x8 0x8 0x8 0x8 0x14 0x12 0xe 0x4 0x12 0x9 0x6 0x13 0x16 0x14 0xe 0x1 0x10 0xa 0x5 0xf 0x16 0x16 0x10 0x0 0xd 0xc 0x3 0xa 0x15 0x16 0x12 0x0 0xa 0xf 0x2 0x7 0x13 0x0 0x8 0x15 0x13 0x12 0x1 0x5 0x10 0x2 0x6 0x15 0x1 0x13 0x15 0x5 0xe 0x3 0x6 0x19 0x3 0x11 0x15 0x5 0xb 0x1b 0x5 0x4 0x5 0xf 0x15 0x17 0x8 0x1b 0x8 0x5 0x4 0xe 0x15 0x1a 0x9 0x1a 0xa 0x6 0x3 0xc 0x14 0x1d 0xa 0x17 0xa 0x7 0x2 0x1f 0xc 0xb 0x14 0x15 0xa 0xa 0x1 0x20 0xe 0xa 0x13 0x13 0x8 0x20 0x11 0xe 0x1 0x9 0x12 0x14 0x5 0x1f 0x14 0x8 0x11 0x12 0x2 0x17 0x4 0x1d 0x15 0x7 0x10 0x15 0x5 0x1b 0x17 0x1b 0x5 0x6 0xe 0x18 0x8 0x19 0x18 0x1e 0x7 0x7 0xc 0x14 0x17 0x17 0x19 0x20 0xb 0x8 0xa 0xf 0x18 0x15 0x1a 0xb 0x8 0x20 0xf 0x9 0x18 0x12 0x1a 0xe 0x7 0x4 0x16 0x1d 0x13 0xf 0x1b 0x12 0x7 0x0 0x12 0x18 0x16 0xb 0x1a 0x0 0xe 0x16 0x9 0x12 0x17 0x7 0x19 0x0 0x9 0x18 0xb 0xd 0x17 0x4 0x17 0x4 0x5 0x19 0xe 0x8 0x14 0xa 0x3 0x1 0x14 0x18 0x10 0xb 0x5 0x11 0x5 0x0 0x11 0x16 0x12 0xf 0x2 0x16 0x9 0x0 0xe 0x15 0x2 0x13 0x13 0x17 0xe 0x0 0xd 0x1a 0x4 0x8 0x3 0x15 0x13 0x1 0xa 0x1f 0x8 0xe 0x1 0x10 0x17 0x2 0x8 0x20 0xe 0x13 0x1 0xa 0x18 0x3 0x7 0x1f 0x12 0x18 0x2 | |
: D8 | |
0x10 0xe 0x6 0x7 0x19 0x7 0x19 0x15 0xd 0xe 0x1b 0x9 0x16 0x17 0x9 0x5 0xb 0xe 0x1c 0xc 0x12 0x18 0xd 0x4 0x1c 0xe 0x9 0xc 0xe 0x19 0x11 0x4 0x1b 0xe 0x9 0xa 0xb 0x18 0x14 0x5 0x1a 0xe 0x7 0x16 0xa 0x9 0x14 0x12 0x1a 0xe 0x5 0x14 0xc 0x7 0x13 0x14 0x1a 0xe 0x4 0x11 0xe 0x7 0x11 0x15 0x1b 0xe 0x4 0xe 0x10 0x15 0x10 0x7 0x6 0xc 0x1c 0xf 0xe 0x15 0x11 0x7 0xa 0xa 0x1d 0x10 0xc 0x15 0x13 0x8 0xe 0xa 0x1c 0x12 0xb 0x14 0x14 0x8 0x12 0xb 0xa 0x14 0x1a 0x14 0x5 0x8 0x15 0xe 0x7 0x6 0x8 0x13 0x17 0x16 0x15 0x11 0xa 0x4 0x7 0x11 0x17 0xb 0x13 0x15 0xd 0x4 0x6 0x10 0x18 0xc 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0x11 0x7 0xb 0x17 0x18 0x10 0x7 0xc 0x11 0x9 0x6 0x16 0x17 0x12 0x8 0xa 0x10 0xa 0x3 0x13 0x14 0x14 0x1a 0xa 0xe 0xb 0x11 0x15 0x1d 0xd 0x3 0xf 0xd 0xa 0x1d 0x10 0xd 0x15 0x12 0x8 0xc 0x8 0x1a 0x14 0x9 0x13 0x15 0x9 0xd 0x6 0x15 0x17 0x7 0x11 0x18 0xb 0x10 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0xa 0x15 0x13 0x5 0x18 0x10 0x7 0xc 0x6 0x10 0x17 0x5 0x16 0x13 0x9 0xa 0x5 0xc 0x1a 0x7 0x14 0x14 0xc 0x9 0x8 0x7 0x11 0x14 0x1c 0xa 0x5 0x11 0xc 0x4 0xe 0x13 0x1d 0xd 0x4 0xf 0xd 0x11 0x11 0x3 0x1d 0x10 0x3 0xd 0xe 0xf 0x16 0x4 0x1b 0x13 0x4 0x9 0x10 0xe 0x19 0x7 0x6 0x7 0x6 0x15 0x12 0xe 0x4 0x13 0x9 0x5 0x16 0x17 0x14 0xe 0x3 0x10 0xd 0x4 0x12 0x18 0x3 0xe 0x16 0x10 0x11 0x3 0xe 0x18 0x4 0xe 0x16 0x12 0x14 0x4 0xb 0x17 0x5 0xe 0x18 0x6 0x15 0x13 0xb 0xa 0x5 0xe 0x1a 0x8 0x13 0x15 0xc 0x8 0x5 0xe 0x1b 0xb 0x11 0x15 0xe 0x7 0x1b 0xe 0x4 0xe 0xf 0x15 0xf 0x7 0x19 0x10 0x3 0xd 0x11 0x7 0xe 0x15 0x15 0x12 0x2 0xc 0x13 0x7 0xc 0x14 0x11 0x12 0x3 0xa 0x14 0x8 0xb 0x14 0xd 0x11 0x15 0x8 0x5 0x8 0x1a 0x14 0xa 0xe 0x18 0x16 0x17 0x9 0x8 0x6 0xa 0xb 0x15 0x18 0x18 0xb 0x8 0x11 0xc 0x7 0x12 0x18 0x19 0xc 0x7 0x10 0x10 0x17 0x10 0x5 0x6 0xe 0x19 0xe 0xe 0x15 0x14 0x5 0x7 0xc 0x18 0x10 0xe 0x13 0x19 0x6 0x8 0xa 0x17 0x12 0xf 0x12 0x1c 0x9 0xb 0x8 0x5 0x12 0x11 0x11 0xe 0x7 0x2 0xf 0x1c 0xd 0x12 0x12 0x2 0xc 0x12 0x7 0xd 0x14 0x13 0x14 0x5 0x8 0x16 0x9 0xa 0x13 0x12 0x16 0xa 0x5 0x18 0xb 0x7 0x11 0xf 0x17 0x10 0x5 0x19 0xe 0x6 0xe 0x15 0x7 0xc 0x17 0x7 0xc 0x18 0x10 0x19 0xc 0x8 0x17 0x9 0x9 0x16 0x12 0x1a 0x10 0x5 0x15 0xb 0x8 0x13 0x13 0x17 0x15 0xe 0x8 0x3 0x12 0x1a 0xb 0x13 0x18 0x11 0x9 0x2 0xf 0x1b 0xd 0x12 0xb 0xe 0x19 0x2 0xc 0x1c 0xf 0x11 0xd 0x9 0x18 0x4 0x9 0x1b 0x13 | |
: D9 | |
0x10 0x10 0xc 0x14 0x7 0x17 0x4 0x1a 0x3 0x1c 0x3 0x1d 0x5 0x1d 0x8 0x1b 0xc 0x19 0x10 0x16 0x14 0x13 0x17 0x10 0x1a 0xd 0x1b 0xa 0x1b 0x8 0x19 0x6 0x17 0x5 0x13 0x6 0x10 0x7 0xd 0x8 0xa 0xb 0x7 0xe 0x6 0x10 0x6 0x12 0x8 0x15 0xa 0x17 0xd 0x18 0x10 0x19 0x13 0x19 0x16 0x18 0x18 0x17 0x19 0x14 0x10 0x19 0xf 0x17 0xd 0x17 0xa 0x19 0x6 0x1a 0x6 0x16 0x9 0x13 0x9 0x11 0x7 0x10 0x3 0xe 0x3 0xb 0x8 0xb 0xb 0xb 0xc 0xa 0xc 0x6 0xe 0x2 0x10 0x4 0x11 0x8 0x12 0xa 0x14 0x9 0x19 0x7 0x1b 0x9 0x19 0xd 0x17 0xf 0x17 0x10 0x1a 0x12 0x1d 0x15 0x1a 0x16 0x15 0x15 0x14 0x16 0x13 0x18 0x12 0x1d 0x10 0x19 0xe 0x17 0xd 0x17 0xb 0x17 0x8 0x17 0x5 0x19 0x2 0x19 0x3 0x17 0x8 0x14 0xb 0x12 0xe 0x11 0x10 0x10 0x11 0x10 0x14 0xe 0x19 0xb 0x1c 0x9 0x1c 0x9 0x19 0x9 0x17 0xa 0x16 0xa 0x14 0x9 0x13 0x7 0x11 0x4 0xf 0x2 0xb 0x3 0x9 0x6 0x9 0x9 0x9 0xa 0x9 0xb 0x8 0xb 0x7 0xb 0x7 0xb 0x10 0x19 0x13 0x18 0x15 0x17 0x16 0x16 0x18 0x15 0x18 0x15 0x18 0x14 0x15 0x12 0x10 0x10 0xb 0xe 0x9 0xc 0x8 0xc 0x9 0xb 0xa 0xa 0xb 0x9 0xd 0x8 0x10 0x6 0x14 0x4 0x1a 0x3 0x1d 0x4 0x1c 0x8 0x19 0xb 0x15 0xd 0x12 0xf 0x10 0x10 0xd 0x11 0xa 0x13 0x6 0x16 0x3 0x19 0x3 0x1c 0x7 0x1c 0xc 0x1a | |
###################################################################### | |
# INPUT: chip8/SuperChip Demos/Worms demo.ch8 | |
###################################################################### | |
:proto Sub1 # 252 | |
:proto Sub2 # 25C | |
:proto Sub3 # 266 | |
:proto Sub4 # 270 | |
:proto Sub5 # 27A | |
:proto D1 # 284 | |
: main | |
hires | |
clear | |
i := D1 | |
v4 := 1 | |
vB := 10 | |
vC := 12 | |
vD := 107 | |
vE := 8 | |
v8 := 14 | |
v9 := 57 | |
v5 := 117 | |
v6 := 53 | |
Sub5 | |
v0 := 5 | |
buzzer := v0 | |
v0 := 10 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
loop | |
v0 := 1 | |
buzzer := v0 | |
v0 := random 0b1101 | |
if v0 == 1 then v4 := 1 | |
if v0 == 1 then v4 := 2 | |
if v0 == 2 then v4 := 3 | |
if v0 == 3 then v4 := 4 | |
if v4 == 1 then Sub1 | |
if v4 == 2 then Sub2 | |
if v4 == 3 then Sub3 | |
if v4 == 4 then Sub4 | |
Sub5 | |
again | |
: Sub1 | |
vC += -1 | |
vE += -1 | |
v9 += -1 | |
v6 += -1 | |
return | |
: Sub2 | |
vB += -1 | |
vD += -1 | |
v8 += -1 | |
v5 += -1 | |
return | |
: Sub3 | |
vB += 1 | |
vD += 1 | |
v8 += 1 | |
v5 += 1 | |
return | |
: Sub4 | |
vC += 1 | |
vE += 1 | |
v9 += 1 | |
v6 += 1 | |
return | |
: Sub5 | |
sprite vB vC 1 | |
sprite vD vE 1 | |
sprite v8 v9 1 | |
sprite v5 v6 1 | |
return | |
: D1 | |
0x80 0xa9 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Alien [Jonas Lindstedt, 1993].ch8 | |
###################################################################### | |
:proto L1 # 212 | |
:proto L5 # 23A | |
:proto L7 # 24E | |
:proto L11 # 28A | |
:proto Sub1 # 2F6 | |
:proto L19 # 320 | |
:proto L20 # 328 | |
:proto L21 # 32A | |
:proto L22 # 338 | |
:proto Sub2 # 344 | |
:proto Sub3 # 36C | |
:proto Sub4 # 384 | |
:proto L26 # 3BA | |
:proto L27 # 3E4 | |
:proto L29 # 400 | |
:proto L30 # 402 | |
:proto Sub5 # 40E | |
:proto L31 # 432 | |
:proto L32 # 444 | |
:proto Sub6 # 446 | |
:proto L33 # 45A | |
:proto L34 # 460 | |
:proto L35 # 462 | |
:proto L36 # 464 | |
:proto Sub7 # 466 | |
:proto L38 # 482 | |
:proto D1 # 494 | |
:proto D2 # 4D0 | |
:proto D3 # 4EE | |
:proto D4 # 508 | |
:proto D5 # 50E | |
:proto D6 # 510 | |
:proto D7 # 514 | |
:proto D8 # 515 | |
:proto D9 # 516 | |
:proto D10 # 51C | |
:proto D11 # 522 | |
:proto D12 # 523 | |
:proto D13 # 524 | |
: main | |
jump L1 | |
0x4a 0x6f 0x6e 0x61 0x73 0x20 0x4c 0x69 0x6e 0x64 0x73 0x74 0x65 0x64 0x74 0x0 | |
: L1 | |
hires | |
jump L11 | |
: L2 | |
v4 := 1 | |
i := D6 | |
vB := 0 | |
vC := 59 | |
loop | |
sprite vB vC 4 | |
vB += 8 | |
if vB != 128 then | |
again | |
v8 := 60 | |
i := D4 | |
v9 := 53 | |
sprite v8 v9 6 | |
v3 := 0 | |
: L4 | |
if v3 == 0 then jump L5 | |
i := D5 | |
sprite v2 v3 2 | |
v3 := 0 | |
: L5 | |
vC := v4 | |
vC += -1 | |
vB := 3 | |
vC &= vB | |
vB := 0 | |
loop | |
if vC == 0 then jump L7 | |
vB += 5 | |
vC += -1 | |
again | |
: L7 | |
v1 := 0 | |
loop | |
i := D3 | |
i += vB | |
load v0 | |
i := D9 | |
i += v1 | |
save v0 | |
v1 += 1 | |
vB += 1 | |
if v1 != 6 then | |
again | |
vD := 8 | |
vE := 5 | |
v6 := 0 | |
vA := 1 | |
i := D9 | |
v0 := vD | |
loop | |
sprite v0 vE 5 | |
v0 += 20 | |
if v0 != 108 then | |
again | |
Sub2 | |
loop | |
Sub5 | |
Sub1 | |
Sub4 | |
if vF == 66 then jump L4 | |
Sub6 | |
if v4 != 99 then | |
again | |
: L11 | |
clear | |
i := D1 | |
vD := 40 | |
vE := 10 | |
vC := 10 | |
loop | |
sprite vD vE 10 | |
vD += 8 | |
i += vC | |
if vD != 88 then | |
again | |
i := D2 | |
vD := 52 | |
vE := 25 | |
vC := 5 | |
loop | |
sprite vD vE 5 | |
vD += 8 | |
i += vC | |
if vD != 76 then | |
again | |
vD := 45 | |
vE := 40 | |
vC := 5 | |
loop | |
sprite vD vE 5 | |
vD += 8 | |
i += vC | |
if vD != 69 then | |
again | |
i := D8 | |
load v0 | |
i := D11 | |
bcd v0 | |
vC := 0 | |
loop | |
i := D11 | |
i += vC | |
load v0 | |
i := hex v0 | |
sprite vD vE 5 | |
vD += 5 | |
vC += 1 | |
if vC != 3 then | |
again | |
vC := 10 | |
loop | |
if vC -key then | |
again | |
i := D7 | |
v0 := 0 | |
v1 := 0 | |
save v1 | |
vC := 54 | |
loop | |
scroll-down 1 | |
vC += -1 | |
if vC != 0 then | |
again | |
jump L2 | |
: Sub1 | |
if v3 != 0 then jump L21 | |
vC := random 0b1111 | |
if vC != 0 then jump L20 | |
vC := random 0b111 | |
vC += 1 | |
vC >>= v5 | |
i := D10 | |
i += vC | |
load v0 | |
if v0 == 0 then jump L20 | |
v2 := vD | |
v3 := vE | |
v3 += 5 | |
loop | |
if vC == 0 then jump L19 | |
v2 += 20 | |
vC += -1 | |
again | |
: L19 | |
i := D5 | |
sprite v2 v3 2 | |
if vF != 0 then jump L22 | |
: L20 | |
return | |
: L21 | |
i := D5 | |
sprite v2 v3 2 | |
v3 += 1 | |
if v3 != 58 then jump L19 | |
v3 := 0 | |
return | |
: L22 | |
vC := 53 | |
vB := v3 | |
vB -= vC | |
if vF != 0 then v4 := 99 | |
return | |
: Sub2 | |
v0 := v4 | |
v0 += 1 | |
v0 >>= v5 | |
vC := 0 | |
loop | |
i := D10 | |
i += vC | |
save v0 | |
vC += 1 | |
if vC != 5 then | |
again | |
i := D11 | |
bcd v4 | |
Sub3 | |
vC := 120 | |
delay := vC | |
loop | |
vC := delay | |
if vC != 0 then | |
again | |
Sub3 | |
return | |
: Sub3 | |
i := D12 | |
load v0 | |
i := bighex v0 | |
vC := 55 | |
vB := 27 | |
sprite vC vB 10 | |
i := D13 | |
load v0 | |
i := bighex v0 | |
vC := 65 | |
sprite vC vB 10 | |
return | |
: Sub4 | |
if v6 == 0 then jump L29 | |
i := D5 | |
sprite v5 v6 2 | |
v6 += -1 | |
if v6 == 0 then jump L29 | |
sprite v5 v6 2 | |
if vF == 0 then jump L29 | |
vC := vE | |
vC += 5 | |
vC -= v6 | |
if vF == 0 then jump L30 | |
sprite v5 v6 2 | |
v5 += -5 | |
v6 := 0 | |
vC := vD | |
v0 := 0 | |
loop | |
vB := vC | |
vB -= v5 | |
if vF != 0 then jump L26 | |
vC += 20 | |
v0 += 1 | |
again | |
: L26 | |
i := D10 | |
i += v0 | |
load v0 | |
v0 += -1 | |
save v0 | |
i := D9 | |
if v0 == 0 then sprite vC vE 5 | |
vC := 10 | |
buzzer := vC | |
i := D7 | |
load v0 | |
vC := -1 | |
v0 ^= vC | |
save v0 | |
if v0 != 0 then jump L27 | |
i := D8 | |
load v0 | |
v0 += 1 | |
save v0 | |
: L27 | |
vC := 0 | |
vB := 0 | |
loop | |
i := D10 | |
i += vC | |
load v0 | |
if v0 != 0 then vB += 1 | |
vC += 1 | |
if vC != 5 then | |
again | |
if vB != 0 then jump L29 | |
v4 += 1 | |
vF := 66 | |
: L29 | |
return | |
: L30 | |
i := D5 | |
sprite v2 v3 2 | |
sprite v5 v6 2 | |
v3 := 0 | |
v6 := 0 | |
return | |
: Sub5 | |
vB := 0 | |
vC := 3 | |
if vC key then vB := -1 | |
vC := 12 | |
if vC key then vB := 1 | |
if vB == 0 then jump L31 | |
if v8 == 1 then vB := 1 | |
if v8 == 120 then vB := -1 | |
i := D4 | |
v9 := 53 | |
sprite v8 v9 6 | |
v8 += vB | |
sprite v8 v9 6 | |
: L31 | |
vC := 10 | |
if vC -key then jump L32 | |
if v6 != 0 then jump L32 | |
v5 := v8 | |
v6 := 53 | |
i := D5 | |
sprite v5 v6 2 | |
: L32 | |
return | |
: Sub6 | |
v0 := delay | |
if v0 != 0 then jump L36 | |
v0 := 10 | |
delay := v0 | |
v7 := 0 | |
if vD != 33 then jump L33 | |
vA := -1 | |
jump L34 | |
: L33 | |
if vD != 7 then jump L35 | |
vA := 1 | |
: L34 | |
v7 := 1 | |
: L35 | |
Sub7 | |
: L36 | |
return | |
: Sub7 | |
vB := vD | |
vC := 0 | |
loop | |
v9 := vB | |
v1 := vE | |
i := D10 | |
i += vC | |
load v0 | |
if v0 == 0 then jump L38 | |
i := D9 | |
sprite v9 v1 5 | |
v9 += vA | |
v1 += v7 | |
sprite v9 v1 5 | |
: L38 | |
vC += 1 | |
vB += 20 | |
if vC != 5 then | |
again | |
vD += vA | |
vE += v7 | |
if vE == 48 then v4 := 99 | |
return | |
: D1 | |
0x3c 0xc 0x1e 0x1e 0x33 0x33 0x3f 0x61 0x61 0xf3 0x1f 0xc 0xc 0xc 0xc 0xc 0xc 0x8c 0x8c 0xdf 0x7 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x61 0xe7 0xe7 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0x83 0xe7 0xfb 0x19 0x1 0x61 0xe1 0x61 0x1 0x1 0x19 0xfb 0x9f 0x86 0xc6 0xe6 0xe6 0xb6 0x9e 0x9e 0x8e 0xe6 | |
: D2 | |
0xe4 0x94 0xe7 0x90 0xf7 0x87 0x80 0x80 0x80 0x87 0x88 0x88 0x88 0x88 0xaf 0x66 0x88 0x48 0x28 0xc6 0x4c 0xaa 0xac 0xaa 0x4a 0xe0 0x88 0xc0 0x88 0xe0 | |
: D3 | |
0x0 0x0 0x18 0xff 0x3c 0x0 0x18 0x3c 0xff 0x81 0x42 0x3c 0x3c 0x3c 0x42 0x3c 0x5a 0x5a 0x7e 0x7e 0x0 0x0 0x24 0x3c 0x24 0x0 | |
: D4 | |
0x0 0x18 0x18 0x3c 0x7e 0xff | |
: D5 | |
0x18 0x18 | |
: D6 | |
0xff 0x22 0x55 0x88 | |
: D7 | |
0x0 | |
: D8 | |
0x0 | |
: D9 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D10 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D11 | |
0x0 | |
: D12 | |
0x0 | |
: D13 | |
0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Ant - In Search of Coke [Erin S. Catto].ch8 | |
###################################################################### | |
# InvalidOpcode('0000',) | |
:proto L1 # 20E | |
:proto Sub1 # 24C | |
:proto Sub2 # 27A | |
:proto L5 # 2A4 | |
:proto L6 # 2AE | |
:proto L7 # 2D0 | |
:proto Sub3 # 2E6 | |
:proto L8 # 316 | |
:proto Sub4 # 31A | |
:proto L9 # 324 | |
:proto L10 # 328 | |
:proto L11 # 32C | |
:proto L12 # 358 | |
:proto Sub5 # 35C | |
:proto Sub6 # 368 | |
:proto L13 # 3C6 | |
:proto Sub8 # 3DE | |
:proto Sub9 # 3FE | |
:proto L15 # 40C | |
:proto L16 # 424 | |
:proto L17 # 428 | |
:proto Sub10 # 42E | |
:proto Sub11 # 452 | |
:proto Sub12 # 466 | |
:proto Sub13 # 486 | |
:proto L18 # 4A6 | |
:proto L19 # 4B2 | |
:proto Sub14 # 4C0 | |
:proto Sub15 # 4C6 | |
:proto L21 # 4D0 | |
:proto Sub16 # 4E2 | |
:proto Sub17 # 4F6 | |
:proto Sub18 # 510 | |
:proto L23 # 53C | |
:proto L25 # 568 | |
:proto Sub19 # 57A | |
:proto Sub20 # 58C | |
:proto Sub21 # 5CC | |
:proto Sub22 # 5D4 | |
:proto L27 # 5E0 | |
:proto Sub23 # 5F0 | |
:proto Sub24 # 5FC | |
:proto Sub25 # 622 | |
:proto L29 # 62C | |
:proto Sub26 # 646 | |
:proto Sub27 # 65C | |
:proto Sub28 # 668 | |
:proto L31 # 680 | |
:proto L32 # 6A8 | |
:proto L33 # 6D0 | |
:proto L34 # 6F6 | |
:proto L35 # 71C | |
:proto L36 # 72E | |
:proto L37 # 740 | |
:proto Sub29 # 748 | |
:proto Sub30 # 772 | |
:proto L38 # 790 | |
:proto L39 # 79A | |
:proto L40 # 79E | |
:proto Sub31 # 7A4 | |
:proto Sub32 # 7BA | |
:proto Sub33 # 7C6 | |
:proto L41 # 7D6 | |
:proto D1 # 7F2 | |
:proto D2 # 812 | |
:proto D3 # 910 | |
:proto D4 # A0E | |
:proto D5 # A10 | |
:proto D6 # A12 | |
:proto D7 # A14 | |
:proto D8 # A18 | |
:proto D9 # A36 | |
:proto D10 # A54 | |
:proto D11 # A68 | |
:proto D12 # AE8 | |
:proto D13 # AF8 | |
:proto D14 # B18 | |
:proto D15 # B38 | |
:proto D16 # B3C | |
:proto D17 # B5C | |
:proto D18 # BDC | |
:proto D19 # CDC | |
:proto D20 # D1C | |
:proto D21 # D5C | |
:proto D22 # D7C | |
: main | |
jump L1 | |
0x5b 0x20 0x41 0x6e 0x74 0x20 0x76 0x31 0x2e 0x30 0x20 0x5d | |
: L1 | |
hires | |
v0 := -2 | |
v1 := 0 | |
i := D5 | |
save v1 | |
Sub1 | |
Sub5 | |
v5 := 0 | |
vA := 1 | |
vB := 0 | |
vD := 0 | |
vE := 0 | |
: L2 | |
loop | |
Sub6 | |
if vF != 0 then jump L13 | |
if v5 == -3 then jump L7 | |
: L3 | |
if v7 == 204 then Sub2 | |
if v1 == -5 then jump L21 | |
if v1 == -4 then jump L25 | |
if v1 == -6 then jump L27 | |
if v1 == -7 then jump L29 | |
v0 := 2 | |
if v7 != 204 then Sub15 | |
again | |
: Sub1 | |
vE := 0 | |
loop | |
i := D1 | |
i += vE | |
v0 := 46 | |
save v0 | |
v0 += 9 | |
v1 := 124 | |
i := D12 | |
sprite v1 v0 4 | |
v0 := 1 | |
Sub14 | |
v0 := 2 | |
Sub15 | |
if vE != 31 then scroll-left | |
vE += 1 | |
if vE != 32 then | |
again | |
v0 := 4 | |
v1 := 4 | |
i := D13 | |
sprite v0 v1 0 | |
return | |
: Sub2 | |
if vB == 0 then Sub3 | |
vB += -1 | |
i := D6 | |
load v1 | |
i := D1 | |
i += vE | |
save v0 | |
vE += 1 | |
v2 := 31 | |
vE &= v2 | |
if v1 == -2 then jump L5 | |
if v1 == -1 then jump L6 | |
v0 += 9 | |
v2 := 124 | |
i := D12 | |
i += vD | |
sprite v2 v0 4 | |
return | |
: L5 | |
v0 += 7 | |
v1 := 124 | |
i := D15 | |
sprite v1 v0 4 | |
return | |
: L6 | |
v1 := 0 | |
if vB == 2 then v1 := 8 | |
if vB == 1 then v1 := 16 | |
if vB == 0 then v1 := 24 | |
i := D14 | |
i += v1 | |
v1 := 124 | |
v0 += 1 | |
sprite v1 v0 8 | |
v0 += 8 | |
i := D12 | |
i += vD | |
sprite v1 v0 4 | |
return | |
: L7 | |
if v7 == 204 then v3 += -4 | |
i := D21 | |
sprite v3 v4 0 | |
if v3 != 0 then v3 += -4 | |
if v3 != 0 then sprite v3 v4 0 | |
if v3 == 0 then v5 := 0 | |
jump L3 | |
: Sub3 | |
i := D5 | |
load v1 | |
v0 += 2 | |
if v0 == -2 then Sub4 | |
save v0 | |
i := D2 | |
if v1 == 1 then i := D3 | |
i += v0 | |
load v1 | |
i := D6 | |
save v1 | |
v2 := -16 | |
v2 =- v1 | |
if vF == 0 then jump L8 | |
if v1 == -2 then jump L9 | |
if v1 == -1 then jump L10 | |
if v1 == -3 then jump L11 | |
jump L12 | |
: L8 | |
vB := v1 | |
return | |
: Sub4 | |
v1 := 1 | |
v0 := 0 | |
i := D5 | |
save v1 | |
return | |
: L9 | |
vB := 12 | |
return | |
: L10 | |
vB := 4 | |
return | |
: L11 | |
vB := 1 | |
v5 := -3 | |
v4 := v0 | |
v4 += -7 | |
v0 := 112 | |
i := D18 | |
sprite v0 v4 0 | |
v0 := 4 | |
Sub14 | |
v3 := 96 | |
i := D21 | |
sprite v3 v4 0 | |
v0 := 2 | |
Sub14 | |
v0 := 2 | |
Sub15 | |
v0 := 1 | |
Sub14 | |
v0 := 112 | |
i := D18 | |
sprite v0 v4 0 | |
return | |
: L12 | |
vB := 1 | |
return | |
: Sub5 | |
v6 := 0 | |
v8 := 46 | |
vC := 0 | |
i := D11 | |
sprite v6 v8 0 | |
return | |
: Sub6 | |
v7 := 0 | |
Sub10 | |
Sub8 | |
v2 := vC | |
v0 := 12 | |
if v0 key then Sub12 | |
v0 := 3 | |
if v0 key then Sub13 | |
v0 := v6 | |
if v7 != 204 then v6 += v7 | |
v1 := v8 | |
v8 += v9 | |
i := D11 | |
i += v2 | |
sprite v0 v1 0 | |
if v7 == 204 then scroll-left | |
i := D11 | |
i += vC | |
sprite v6 v8 0 | |
return | |
: Sub7 | |
v7 := 0 | |
Sub10 | |
Sub8 | |
v2 := vC | |
v0 := 12 | |
if v0 key then Sub12 | |
if v7 == 204 then v7 := 4 | |
v0 := 3 | |
if v0 key then Sub13 | |
v0 := v6 | |
v6 += v7 | |
v1 := v8 | |
v8 += v9 | |
i := D11 | |
i += v2 | |
sprite v0 v1 0 | |
i := D11 | |
i += vC | |
sprite v6 v8 0 | |
return | |
: L13 | |
v1 := 0 | |
loop | |
sprite v6 v8 0 | |
v0 := 2 | |
Sub14 | |
v0 := 2 | |
Sub15 | |
v1 += 1 | |
if v1 != 7 then | |
again | |
v0 := 30 | |
Sub15 | |
exit | |
: Sub8 | |
v0 := 10 | |
if v0 -key then jump L15 | |
if vA == 0 then return | |
if vA == 1 then Sub9 | |
vA := 2 | |
v9 := -4 | |
i := D4 | |
load v0 | |
if v8 != v0 then return | |
vA := 0 | |
v9 := -2 | |
return | |
: Sub9 | |
v0 := 2 | |
Sub14 | |
v0 := v8 | |
v0 += -20 | |
i := D4 | |
save v0 | |
return | |
: L15 | |
if vA == 2 then jump L17 | |
v0 := v6 | |
Sub11 | |
if v8 == v0 then jump L16 | |
v0 := v6 | |
v0 += 12 | |
Sub11 | |
if v8 == v0 then jump L16 | |
return | |
: L16 | |
vA := 1 | |
return | |
: L17 | |
vA := 0 | |
v9 := -2 | |
return | |
: Sub10 | |
if vA == 2 then return | |
v0 := 4 | |
if v9 == -2 then v0 := 2 | |
v9 := v0 | |
v0 := v6 | |
Sub11 | |
if v8 == v0 then v9 := 0 | |
v0 := v6 | |
v0 += 12 | |
Sub11 | |
if v8 == v0 then v9 := 0 | |
if v9 == 4 then vA := 0 | |
return | |
: Sub11 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 += vE | |
v1 := 31 | |
v0 &= v1 | |
i := D1 | |
i += v0 | |
load v0 | |
v1 := v0 | |
return | |
: Sub12 | |
v0 := 0 | |
if vC == 0 then v0 := 32 | |
vC := v0 | |
v0 := v6 | |
v0 += 16 | |
Sub11 | |
v0 -= v8 | |
if vF == 0 then return | |
v7 := 4 | |
if v6 == 56 then v7 := 204 | |
if v1 == v8 then jump L19 | |
return | |
: Sub13 | |
v0 := 64 | |
if vC == 64 then v0 := 96 | |
vC := v0 | |
if v6 == 0 then return | |
v0 := v6 | |
v0 += -4 | |
Sub11 | |
v0 -= v8 | |
if vF == 0 then return | |
v7 := -4 | |
if v1 == v8 then jump L18 | |
return | |
: L18 | |
v0 := v6 | |
Sub11 | |
v0 =- v8 | |
if vF == 0 then v9 := -4 | |
return | |
: L19 | |
v0 := v6 | |
v0 += 12 | |
Sub11 | |
v0 =- v8 | |
if vF == 0 then v9 := -4 | |
return | |
: Sub14 | |
buzzer := v0 | |
v0 <<= v5 | |
jump Sub15 | |
: Sub15 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: L21 | |
Sub16 | |
Sub17 | |
loop | |
Sub7 | |
if vF != 0 then jump L13 | |
Sub18 | |
if v6 == 112 then jump L23 | |
again | |
: Sub16 | |
loop | |
v0 := 1 | |
Sub14 | |
i := D11 | |
i += vC | |
sprite v6 v8 0 | |
v6 += -4 | |
sprite v6 v8 0 | |
if v6 != 0 then | |
again | |
return | |
: Sub17 | |
v3 := 9 | |
v4 := 37 | |
v5 := 4 | |
v0 := 24 | |
i := D16 | |
sprite v0 v3 0 | |
v0 += 20 | |
sprite v0 v4 0 | |
v0 += 20 | |
sprite v0 v3 0 | |
v0 += 20 | |
sprite v0 v4 0 | |
return | |
: Sub18 | |
if v3 == 9 then v5 := 4 | |
if v3 == 37 then v5 := -4 | |
i := D16 | |
v0 := 24 | |
v1 := v3 | |
v3 += v5 | |
sprite v0 v1 0 | |
sprite v0 v3 0 | |
v0 := 64 | |
sprite v0 v1 0 | |
sprite v0 v3 0 | |
v0 := 44 | |
v1 := v4 | |
v4 -= v5 | |
sprite v0 v1 0 | |
sprite v0 v4 0 | |
v0 := 84 | |
sprite v0 v1 0 | |
sprite v0 v4 0 | |
return | |
: L23 | |
vD += 4 | |
loop | |
scroll-left | |
i := D1 | |
i += vE | |
v0 := 42 | |
save v0 | |
v0 += 9 | |
v1 := 124 | |
i := D12 | |
i += vD | |
sprite v1 v0 4 | |
v0 := 1 | |
Sub14 | |
v0 := 2 | |
Sub15 | |
vE += 1 | |
if vE == 32 then vE := 0 | |
v6 += -4 | |
if v6 != 0 then | |
again | |
jump L2 | |
: L25 | |
Sub16 | |
Sub19 | |
loop | |
Sub20 | |
Sub7 | |
if vF != 0 then jump L13 | |
if v6 == 112 then jump L23 | |
again | |
: Sub19 | |
v0 := 112 | |
v1 := 15 | |
v2 := -2 | |
v3 := 0 | |
i := D7 | |
save v3 | |
i := D17 | |
sprite v0 v1 0 | |
return | |
: Sub20 | |
i := D7 | |
load v3 | |
v4 := v2 | |
if v2 == 2 then v4 := -2 | |
if v2 == -2 then v4 := 2 | |
if v1 == 17 then Sub21 | |
if v1 == 33 then Sub22 | |
v2 := v4 | |
v4 := v3 | |
v3 += 32 | |
if v3 == 128 then v3 := 0 | |
i := D17 | |
i += v4 | |
v4 := v1 | |
v1 += v2 | |
v5 := v0 | |
v0 += -4 | |
sprite v5 v4 0 | |
i := D17 | |
i += v3 | |
if v5 != 0 then sprite v0 v1 0 | |
i := D7 | |
save v3 | |
if v5 != 0 then return | |
jump Sub19 | |
: Sub21 | |
v4 := 4 | |
if v2 == -4 then v4 := -2 | |
return | |
: Sub22 | |
v4 := -4 | |
if v2 == 4 then v4 := 2 | |
if v4 == 2 then buzzer := v4 | |
return | |
: L27 | |
Sub23 | |
loop | |
Sub24 | |
Sub7 | |
if vF != 0 then jump L13 | |
if v6 != 112 then | |
again | |
jump L23 | |
: Sub23 | |
v3 := 112 | |
v4 := 15 | |
v5 := 0 | |
i := D22 | |
sprite v3 v4 0 | |
return | |
: Sub24 | |
v0 := v3 | |
v0 += 12 | |
Sub11 | |
v1 += -7 | |
if v4 != v1 then Sub25 | |
v0 := v3 | |
v3 += -4 | |
i := D22 | |
i += v5 | |
v5 += 32 | |
sprite v0 v1 0 | |
i := D22 | |
i += v5 | |
if v0 != 0 then sprite v3 v4 0 | |
if v0 != 0 then return | |
jump Sub23 | |
: Sub25 | |
v1 := v4 | |
v4 += 4 | |
v0 := 2 | |
buzzer := v0 | |
return | |
: L29 | |
Sub16 | |
Sub27 | |
vE := 0 | |
Sub28 | |
loop | |
Sub29 | |
if vF != 0 then jump L13 | |
if v6 == 112 then jump L41 | |
Sub26 | |
v0 := 3 | |
Sub15 | |
again | |
: Sub26 | |
if vD == 0 then jump L33 | |
if vD == 2 then jump L34 | |
if vD == 4 then jump L32 | |
if vD == 6 then jump L31 | |
if vD == 8 then jump L36 | |
jump L37 | |
: Sub27 | |
v3 := 104 | |
v4 := 39 | |
v5 := 0 | |
i := D18 | |
sprite v3 v4 0 | |
return | |
: Sub28 | |
vB := 0 | |
v5 := 0 | |
i := D10 | |
i += vE | |
load v0 | |
vD := v0 | |
vE += 1 | |
if vE == 20 then vE := 0 | |
if vD == 8 then jump L35 | |
return | |
: L31 | |
v4 := 39 | |
v2 := v5 | |
v5 += 32 | |
if v5 == 64 then v5 := 0 | |
v0 := v3 | |
v3 += 4 | |
i := D19 | |
i += v2 | |
if v0 == 72 then i := D18 | |
sprite v0 v4 0 | |
i := D19 | |
i += v5 | |
if v3 == 104 then i := D18 | |
sprite v3 v4 0 | |
if v3 != 104 then return | |
jump Sub28 | |
: L32 | |
v4 := 39 | |
v2 := v5 | |
v5 += 32 | |
if v5 == 64 then v5 := 0 | |
v0 := v3 | |
v3 += -4 | |
i := D20 | |
i += v2 | |
if v0 == 104 then i := D18 | |
sprite v0 v4 0 | |
i := D20 | |
i += v5 | |
if v3 == 72 then i := D18 | |
sprite v3 v4 0 | |
if v3 != 72 then return | |
jump Sub28 | |
: L33 | |
i := D8 | |
i += vB | |
load v2 | |
i := D18 | |
i += v5 | |
sprite v3 v4 0 | |
i := D18 | |
i += v2 | |
sprite v0 v1 0 | |
v3 := v0 | |
v4 := v1 | |
v5 := v2 | |
v0 := 1 | |
if v5 == 32 then Sub14 | |
vB += 3 | |
if vB != 30 then return | |
jump Sub28 | |
: L34 | |
i := D9 | |
i += vB | |
load v2 | |
i := D18 | |
i += v5 | |
sprite v3 v4 0 | |
i := D18 | |
i += v2 | |
sprite v0 v1 0 | |
v3 := v0 | |
v4 := v1 | |
v5 := v2 | |
v0 := 1 | |
if v5 == 32 then Sub14 | |
vB += 3 | |
if vB != 30 then return | |
jump Sub28 | |
: L35 | |
v5 := v3 | |
v5 += -16 | |
i := D21 | |
sprite v5 v4 0 | |
v0 := 1 | |
Sub14 | |
v0 := 1 | |
Sub14 | |
return | |
: L36 | |
v0 := v5 | |
v5 += -4 | |
i := D21 | |
sprite v0 v4 0 | |
if v0 != 0 then sprite v5 v4 0 | |
if v0 != 0 then return | |
jump Sub28 | |
: L37 | |
v5 += 1 | |
if v5 != 6 then return | |
jump Sub28 | |
: Sub29 | |
v7 := 0 | |
Sub31 | |
Sub30 | |
v2 := vC | |
v0 := 12 | |
if v0 key then Sub32 | |
v0 := 3 | |
if v0 key then Sub33 | |
v0 := v6 | |
v6 += v7 | |
v1 := v8 | |
v8 += v9 | |
i := D11 | |
i += v2 | |
sprite v0 v1 0 | |
i := D11 | |
i += vC | |
sprite v6 v8 0 | |
return | |
: Sub30 | |
v0 := 10 | |
if v0 -key then jump L38 | |
if vA == 0 then return | |
v0 := 2 | |
if vA == 1 then Sub14 | |
vA := 2 | |
v9 := -4 | |
if v8 != 26 then return | |
vA := 0 | |
v9 := -2 | |
return | |
: L38 | |
if vA == 2 then jump L40 | |
if v8 == 46 then jump L39 | |
return | |
: L39 | |
vA := 1 | |
return | |
: L40 | |
vA := 0 | |
v9 := -2 | |
return | |
: Sub31 | |
if vA == 2 then return | |
v0 := 4 | |
if v9 == -2 then v0 := 2 | |
v9 := v0 | |
if v8 == 46 then v9 := 0 | |
if v9 == 4 then vA := 0 | |
return | |
: Sub32 | |
v0 := 0 | |
if vC == 0 then v0 := 32 | |
vC := v0 | |
v7 := 4 | |
return | |
: Sub33 | |
v0 := 64 | |
if vC == 64 then v0 := 96 | |
vC := v0 | |
if v6 == 0 then return | |
v7 := -4 | |
return | |
: L41 | |
v0 := 1 | |
saveflags v0 | |
v0 := 2 | |
Sub14 | |
Sub15 | |
v0 := 4 | |
Sub14 | |
Sub15 | |
v0 := 8 | |
Sub14 | |
v0 := 30 | |
Sub15 | |
clear | |
exit | |
: D1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D2 | |
0x2a 0x4 0x26 0x4 0x22 0x4 0x1e 0x4 0x1a 0x4 0x16 0x8 0x2e 0xfe 0x16 0x8 0x1a 0x4 0x1e 0x4 0x22 0x4 0x26 0x4 0x2a 0x10 0x2a 0xfd 0x22 0x3 0x22 0xff 0x22 0x8 0x26 0x10 0x2e 0xfe 0x26 0x4 0x2a 0x4 0x2a 0xff 0x2a 0x6 0x2a 0xff 0x2a 0x6 0x26 0xa 0x26 0x6 0x2e 0xfe 0x26 0x4 0x22 0x4 0x1e 0x3 0x1e 0xfd 0x1a 0x4 0x16 0x8 0x1a 0xff 0x32 0xfe 0x2a 0x6 0x2a 0x1c 0x26 0x4 0x26 0xfc 0x1e 0x4 0x2e 0xfe 0x1a 0x5 0x16 0x4 0x2e 0xfe 0x26 0x8 0x26 0xff 0x26 0xff 0x1a 0x4 0x16 0x8 0x16 0xfd 0x2e 0xe 0x16 0x8 0x2e 0xfe 0x16 0x4 0x2e 0xfe 0x16 0x3 0x2e 0xfe 0x16 0x4 0x16 0xfd 0x2e 0xfe 0x26 0x8 0x2e 0x6 0x2a 0x4 0x26 0x4 0x22 0x4 0x1e 0x4 0x1a 0x4 0x16 0x4 0x32 0xff 0x32 0xff 0x32 0xff 0x32 0xff 0x2e 0x8 0x1e 0x4 0x22 0x4 0x26 0x4 0x2a 0x4 0x32 0xfe 0x2e 0x4 0x2e 0xfd 0x2a 0x4 0x16 0x3 0x2a 0x1c 0x26 0x4 0x26 0xfb 0x32 0xfe 0x2a 0x4 0x26 0x4 0x22 0x4 0x1e 0x4 0x1a 0x4 0x16 0x4 0x1a 0xff 0x22 0xff 0x2a 0xff 0x26 0x4 0x1e 0x4 0x32 0xfe 0x16 0x3 0x32 0xfe 0x1e 0x3 0x32 0xfe 0x16 0x3 0x16 0xfd 0x32 0xfe 0x1e 0x3 0x32 0xfe 0x16 0x3 0x2e 0xff 0x2e 0xff 0x2e 0xff 0x2e 0x8 0x2a 0x4 0x16 0x6 0x2e 0x4 0x2a 0x4 0x26 0x4 0x22 0x4 0x1e 0x4 0x1a 0x4 0x16 0x8 0x16 0xfa 0x2e 0x4 0x2e 0xfd 0x22 0x3 0x1e 0x4 | |
: D3 | |
0x2e 0x2 0x26 0x2 0x16 0x3 0x1a 0x2 0x26 0x5 0x26 0xff 0x2e 0x6 0x1a 0x3 0x1e 0x3 0x22 0x6 0x26 0x4 0x26 0xfd 0x16 0x6 0x32 0xfe 0x32 0xff 0x2e 0x6 0x1a 0x3 0x16 0x3 0x1e 0x2 0x22 0x2 0x26 0x6 0x1a 0x4 0x1e 0x6 0x1e 0xfd 0x32 0xfe 0x26 0x4 0x16 0x3 0x22 0x3 0x1a 0x5 0x1a 0xff 0x16 0x3 0x16 0xfd 0x2e 0x6 0x1e 0x2 0x1a 0x2 0x16 0x4 0x32 0xfe 0x1e 0x4 0x1e 0xfd 0x2e 0x8 0x2e 0xff 0x2a 0x6 0x16 0x4 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x1 0x1a 0x1 0x16 0x4 0x1a 0x4 0x1a 0xfd 0x16 0x4 0x32 0xfe 0x32 0xff 0x2e 0x5 0x2a 0x2 0x26 0x3 0x22 0x2 0x1e 0x3 0x1a 0x2 0x16 0x3 0x1a 0x2 0x1e 0xff 0x2e 0x6 0x22 0x2 0x16 0x8 0x16 0xfd 0x2e 0x6 0x16 0x3 0x2e 0x6 0x16 0x3 0x2e 0x6 0x16 0x3 0x2e 0x6 0x16 0x3 0x16 0xff 0x16 0x2 0x2e 0x6 0x16 0x3 0x1e 0xfe 0x1a 0x5 0x1e 0x4 0x22 0x3 0x26 0x2 0x2a 0x1 0x2e 0x5 0x2e 0xff 0x2a 0x4 0x2e 0x4 0x2e 0xff 0x22 0x4 0x2e 0x5 0x2a 0xff 0x2e 0x6 0x2e 0xff 0x2e 0x5 0x2e 0xff 0x2e 0x5 0x2e 0xff 0x2a 0x4 0x32 0xfe 0x2e 0x3 0x2e 0xfd 0x2e 0xff 0x1a 0x4 0x1e 0xfe 0x1a 0x4 0x2e 0x22 0x2e 0xf9 | |
: D4 | |
0x0 0x0 | |
: D5 | |
0xfe 0x0 | |
: D6 | |
0x0 0x0 | |
: D7 | |
0x0 0x0 0x0 0x0 | |
: D8 | |
0x68 0x27 0x20 0x64 0x1d 0x40 0x60 0x15 0x60 0x5c 0xf 0x80 0x58 0x11 0xa0 0x54 0xf 0xc0 0x50 0x15 0xe0 0x4c 0x1d 0x40 0x48 0x27 0x20 0x48 0x27 0x0 | |
: D9 | |
0x48 0x27 0x20 0x4c 0x1d 0x40 0x50 0x15 0xe0 0x54 0xf 0xc0 0x58 0x11 0xa0 0x5c 0xf 0x80 0x60 0x15 0x60 0x64 0x1d 0x40 0x68 0x27 0x20 0x68 0x27 0x0 | |
: D10 | |
0x0 0xa 0x8 0x6 0x4 0x8 0x2 0xa 0x8 0x0 0x6 0x8 0xa 0x0 0x2 0x8 0x4 0x2 0xa 0x8 | |
: D11 | |
0x0 0x11 0x0 0xa 0x78 0xe 0xdd 0xdb 0xbf 0xff 0xff 0xee 0x7a 0xe0 0xa5 0x50 0xa5 0x50 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x11 0x0 0xa 0x78 0xe 0xdd 0xdb 0xbf 0xff 0xff 0xee 0x39 0xf0 0x52 0xa8 0x52 0xa8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x88 0x0 0x50 0x0 0x70 0x1e 0xdb 0xbb 0xff 0xfd 0x77 0xff 0x7 0x5e 0xa 0xa5 0xa 0xa5 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x88 0x0 0x50 0x0 0x70 0x1e 0xdb 0xbb 0xff 0xfd 0x77 0xff 0xf 0x9c 0x15 0x4a 0x15 0x4a 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D12 | |
0xf0 0x0 0xf0 0x50 0xe0 0xb0 0xe0 0xb0 0xf0 0x20 0x80 0xf0 0xf0 0x90 0x90 0xf0 | |
: D13 | |
0x0 0x80 0x0 0xc0 0x0 0xe0 0x0 0xf0 0xff 0xf8 0xff 0xfc 0xff 0xfe 0xff 0xff 0xff 0xfe 0xff 0xfc 0xff 0xf8 0x0 0xf0 0x0 0xe0 0x0 0xc0 0x0 0x80 0x0 0x0 | |
: D14 | |
0xf0 0x80 0xb0 0xa0 0xb0 0xa0 0x80 0x80 0xf0 0x0 0x10 0xa0 0x30 0xa0 0x0 0x0 0xf0 0x0 0x20 0xa0 0xa0 0xa0 0x0 0x0 0xf0 0x10 0xd0 0xb0 0xb0 0xd0 0x10 0x10 | |
: D15 | |
0x20 0x30 0x70 0xf0 | |
: D16 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0x0 0x21 0x0 0x31 0x0 0xc1 0x3 0x2d 0x7c 0x8d 0x82 0x1 0xff 0xff 0x7f 0xff 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D17 | |
0x19 0xc0 0x26 0x20 0x40 0x10 0x80 0x8 0x81 0x8 0x40 0x88 0x20 0x44 0x20 0x42 0x40 0x42 0x80 0x82 0x80 0x2 0x40 0xc 0x20 0x70 0x10 0x80 0xf 0x0 0x0 0x0 0x0 0x0 0x1 0xe0 0x2 0x10 0x1c 0x10 0x20 0x8 0x40 0x8 0x83 0x88 0x84 0x44 0x88 0x2 0x40 0x2 0x40 0x2 0x80 0x2 0x80 0x4 0x43 0x8 0x24 0x90 0x18 0x60 0x0 0x0 0x0 0xf0 0x1 0x8 0xe 0x4 0x30 0x2 0x40 0x1 0x41 0x1 0x42 0x2 0x42 0x4 0x22 0x4 0x11 0x2 0x10 0x81 0x10 0x1 0x8 0x2 0x4 0x64 0x3 0x98 0x6 0x18 0x9 0x24 0x10 0xc2 0x20 0x1 0x40 0x1 0x40 0x2 0x40 0x2 0x40 0x11 0x22 0x21 0x11 0xc1 0x10 0x2 0x10 0x4 0x8 0x38 0x8 0x40 0x7 0x80 0x0 0x0 | |
: D18 | |
0x1 0xf0 0x2 0x8 0x2 0x88 0x76 0x8 0xf2 0x8 0x59 0xf0 0x54 0x40 0x53 0xc0 0x70 0x60 0x0 0x50 0x0 0x48 0x0 0xa4 0x1 0x20 0xa 0x10 0x4 0x8 0x0 0x10 0x0 0x0 0x0 0x0 0x3 0xe0 0x4 0x10 0x5 0x10 0xc 0x10 0x4 0x10 0x3b 0xe0 0x78 0x80 0x2f 0xc0 0x28 0xa0 0x28 0x90 0x3b 0x90 0x2 0x80 0x2 0xe0 0x6 0x20 0x1 0xf0 0x2 0x8 0x2 0x88 0x76 0x8 0xf2 0x8 0x59 0xf2 0x54 0x44 0x53 0xf8 0x70 0x40 0x0 0x40 0x0 0x40 0x0 0xa0 0x1 0x10 0xa 0x8 0x4 0x4 0x0 0x8 0x4 0x0 0xa 0x0 0x11 0x20 0x20 0xa0 0x49 0x20 0x22 0x40 0x15 0x80 0x19 0x80 0x42 0x40 0xfc 0x20 0x50 0x1f 0xa8 0x11 0x14 0x10 0x8 0x10 0x0 0x30 0x0 0x0 0x0 0x0 0x4 0x0 0x2 0x2 0x79 0x5 0x85 0x8 0x85 0x10 0x87 0xe0 0xa5 0x10 0x85 0x8 0x79 0x4 0x12 0x2 0x4 0x4 0x1f 0x80 0x18 0x80 0x1f 0x80 0x8 0x0 0x10 0x0 0x20 0x20 0x10 0x50 0x8 0x80 0x5 0x0 0x2 0x0 0x2 0x0 0x2 0xe 0x1f 0xca 0x22 0x2a 0x4f 0x9a 0x10 0x4f 0x10 0x6e 0x11 0x40 0x10 0x40 0xf 0x80 0x0 0x10 0x1 0xf8 0x1 0x18 0x1 0xf8 0x20 0x20 0x40 0x48 0x20 0x9e 0x10 0xa1 0x8 0xa5 0x7 0xe1 0x8 0xa1 0x10 0xa1 0xa0 0x9e 0x40 0x40 0x0 0x20 0x0 0x0 0x14 0x0 0xe 0x20 0x14 0x50 0x2d 0x88 0x55 0x24 0x24 0x82 0x2 0x44 0x1 0xa8 0x1 0x90 0x2 0x40 0x84 0x38 0xf8 0x0 0x8 0x0 0x8 0x0 0x8 0x0 0x18 0x0 | |
: D19 | |
0xf 0x80 0x10 0x40 0x11 0x40 0x10 0x6e 0x10 0x4f 0xf 0x9a 0x2 0x2a 0x7 0xca 0xa 0xe 0x12 0x0 0x12 0x0 0x5 0x0 0x8 0x80 0x10 0x50 0x20 0x20 0x10 0x0 0xf 0x80 0x10 0x40 0x11 0x40 0x10 0x6e 0x10 0x4f 0xf 0x9a 0x2 0x2a 0x7 0xca 0x6 0xe 0x6 0x0 0x3 0x0 0x2 0x0 0x2 0x0 0x6 0x0 0xa 0x0 0x7 0x0 | |
: D20 | |
0x1 0xf0 0x2 0x8 0x2 0x88 0x76 0x8 0xf2 0x8 0x59 0xf0 0x54 0x40 0x53 0xe0 0x70 0x50 0x0 0x48 0x0 0x48 0x0 0xa0 0x1 0x10 0xa 0x8 0x4 0x4 0x0 0x8 0x1 0xf0 0x2 0x8 0x2 0x88 0x76 0x8 0xf2 0x8 0x59 0xf0 0x54 0x40 0x53 0xe0 0x70 0x60 0x0 0x60 0x0 0xc0 0x0 0x40 0x0 0x40 0x0 0x60 0x0 0x50 0x0 0xe0 | |
: D21 | |
0x3c 0x0 0x6b 0x0 0xd5 0x40 0xaa 0xa8 0xd5 0x55 0xaa 0xa8 0xd5 0x40 0x6b 0x0 0x3c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D22 | |
0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x40 0x4 0x4c 0x64 0x9e 0xf2 0x96 0xb2 0x8c 0x62 0x80 0x2 0x80 0x2 0x43 0x84 0x44 0x44 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x40 0xc4 0x41 0xe4 0x81 0xa2 0x8c 0xc2 0x9e 0x2 0x9a 0x1a 0x8c 0x22 0x40 0x44 0x40 0x84 0x20 0x88 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x46 0x4 0x4f 0x4 0x8d 0x12 0x86 0x22 0x80 0x22 0x86 0x22 0x8f 0x12 0x4d 0x4 0x46 0x4 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x88 0x40 0x84 0x4c 0x44 0x9a 0x22 0x9e 0x1a 0x8c 0x2 0x81 0x82 0x83 0x42 0x43 0xc4 0x41 0x84 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x44 0x44 0x43 0x84 0x80 0x2 0x80 0x2 0x8c 0x62 0x9a 0xd2 0x9e 0xf2 0x4c 0x64 0x40 0x4 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x22 0x8 0x42 0x4 0x44 0x64 0x88 0xb2 0xb0 0xf2 0x80 0x62 0x83 0x2 0x85 0x82 0x47 0x84 0x43 0x4 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x40 0xc4 0x41 0x64 0x91 0xe2 0x88 0xc2 0x88 0x2 0x88 0xc2 0x91 0x62 0x41 0xe4 0x40 0xc4 0x20 0x8 0x18 0x30 0x7 0xc0 0x0 0x0 0x7 0xc0 0x18 0x30 0x20 0x8 0x43 0x4 0x47 0x84 0x85 0x82 0x83 0x2 0x80 0x62 0xb0 0xf2 0x88 0xb2 0x44 0x64 0x42 0x4 0x22 0x8 0x18 0x30 0x7 0xc0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Blinky [Hans Christian Egeberg, 1991].ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L6 # 27E | |
:proto L7 # 2A0 | |
:proto L8 # 2BC | |
:proto L9 # 2D2 | |
:proto L10 # 2EE | |
:proto L11 # 30A | |
:proto L12 # 322 | |
:proto L17 # 3D8 | |
:proto Sub1 # 3E2 | |
:proto L21 # 444 | |
:proto L22 # 45C | |
:proto L23 # 474 | |
:proto L24 # 48C | |
:proto L25 # 4A4 | |
:proto L26 # 4AC | |
:proto L27 # 4C4 | |
:proto L28 # 4E4 | |
:proto L29 # 4F6 | |
:proto L30 # 4FE | |
:proto Sub2 # 508 | |
:proto L32 # 536 | |
:proto L33 # 568 | |
:proto L34 # 586 | |
:proto L35 # 59E | |
:proto L36 # 5B6 | |
:proto L37 # 5CE | |
:proto L38 # 5E6 | |
:proto L40 # 5F6 | |
:proto L41 # 604 | |
:proto L42 # 610 | |
:proto L43 # 61C | |
:proto L44 # 626 | |
:proto Sub3 # 630 | |
:proto L46 # 65E | |
:proto L47 # 690 | |
:proto L48 # 6AE | |
:proto L49 # 6C8 | |
:proto L50 # 6E2 | |
:proto L51 # 6FC | |
:proto L52 # 716 | |
:proto L54 # 728 | |
:proto L55 # 736 | |
:proto L56 # 742 | |
:proto L57 # 74E | |
:proto L58 # 758 | |
:proto Sub4 # 762 | |
:proto Sub5 # 786 | |
:proto Sub6 # 7A8 | |
:proto Sub7 # 7D0 | |
:proto Sub8 # 7D4 | |
:proto Sub9 # 7F0 | |
:proto Sub10 # 800 | |
:proto L63 # 826 | |
:proto L65 # 84E | |
:proto L67 # 86E | |
:proto L69 # 888 | |
:proto Sub11 # 894 | |
:proto Sub12 # 8A4 | |
:proto L70 # 8BC | |
:proto Sub13 # 8C2 | |
:proto L72 # 8DE | |
:proto D1 # 8E2 | |
:proto D2 # 8E4 | |
:proto D3 # 8E6 | |
:proto D4 # 8E8 | |
:proto D5 # 928 | |
:proto D6 # 930 | |
:proto D7 # 938 | |
:proto D8 # 940 | |
:proto D9 # 980 | |
:proto D10 # B80 | |
:proto D11 # BA0 | |
:proto D12 # BC0 | |
:proto D13 # BE0 | |
: main | |
jump L1 | |
0x32 0x2e 0x30 0x30 0x20 0x43 0x2e 0x20 0x45 0x67 0x65 0x62 0x65 0x72 0x67 0x20 0x31 0x38 0x2f 0x38 0x2d 0x27 0x39 0x31 | |
: L1 | |
hires | |
v0 ^= v0 | |
v1 ^= v1 | |
i := D1 | |
save v1 | |
v0 := 5 | |
i := D3 | |
save v0 | |
v7 ^= v7 | |
: L2 | |
v6 ^= v6 | |
Sub5 | |
clear | |
Sub6 | |
: L3 | |
vE := 64 | |
v7 &= vE | |
vE := 39 | |
v7 |= vE | |
v8 := 52 | |
v9 := 24 | |
vA := 112 | |
vB := 0 | |
vC := 4 | |
vD := 52 | |
Sub4 | |
i := D5 | |
sprite vA vB 8 | |
sprite vC vD 8 | |
loop | |
Sub1 | |
if vE != 0 then jump L6 | |
: L5 | |
i := D3 | |
load v0 | |
v5 := v0 | |
v4 := random 0b11111111 | |
v4 &= v5 | |
Sub2 | |
v4 := random 0b11111111 | |
v4 &= v5 | |
Sub3 | |
v0 := 1 | |
if v0 key then Sub9 | |
if v6 != -9 then | |
again | |
vE := v6 | |
Sub11 | |
vE := 100 | |
Sub11 | |
Sub9 | |
jump L2 | |
: L6 | |
v0 := delay | |
if v0 == 0 then jump L12 | |
v0 := v8 | |
v0 >>= v0 | |
v0 >>= v0 | |
v1 := vA | |
v1 >>= v0 | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L7 | |
if v0 == 1 then jump L7 | |
if v0 == -1 then jump L7 | |
jump L9 | |
: L7 | |
v0 := v9 | |
v0 >>= v0 | |
v0 >>= v0 | |
v1 := vB | |
v1 >>= v0 | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L8 | |
if v0 == 1 then jump L8 | |
if v0 == -1 then jump L8 | |
jump L9 | |
: L8 | |
i := D5 | |
sprite vA vB 8 | |
vA := 112 | |
vB := 0 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
vE := 4 | |
v7 |= vE | |
vE := 50 | |
Sub11 | |
: L9 | |
v0 := v8 | |
v0 >>= v0 | |
v0 >>= v0 | |
v1 := vC | |
v1 >>= v0 | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L10 | |
if v0 == 1 then jump L10 | |
if v0 == -1 then jump L10 | |
jump L5 | |
: L10 | |
v0 := v9 | |
v0 >>= v0 | |
v0 >>= v0 | |
v1 := vD | |
v1 >>= v0 | |
v1 >>= v0 | |
v0 -= v1 | |
if v0 == 0 then jump L11 | |
if v0 == 1 then jump L11 | |
if v0 == -1 then jump L11 | |
jump L5 | |
: L11 | |
i := D5 | |
sprite vC vD 8 | |
vC := 4 | |
vD := 52 | |
sprite vC vD 8 | |
vE := 207 | |
v7 &= vE | |
vE := 32 | |
v7 |= vE | |
vE := 25 | |
Sub11 | |
jump L5 | |
: L12 | |
v0 := 63 | |
Sub13 | |
Sub4 | |
i := D5 | |
sprite vA vB 8 | |
sprite vC vD 8 | |
vE := 64 | |
v7 ^= vE | |
v0 := v7 | |
v0 &= vE | |
if v0 != 0 then jump L3 | |
vE := v6 | |
Sub11 | |
Sub12 | |
clear | |
v6 := 36 | |
v7 := 20 | |
i := D2 | |
Sub10 | |
v6 := 36 | |
v7 := 32 | |
i := D1 | |
Sub10 | |
v4 := 0 | |
v5 := 16 | |
v6 := 1 | |
v7 := 15 | |
: L13 | |
loop | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v4 += 4 | |
v5 += 4 | |
if v4 != 96 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v6 += 4 | |
if v6 != 45 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v4 += -4 | |
v5 += -4 | |
if v4 != 0 then | |
again | |
loop | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v0 := 3 | |
Sub13 | |
if vE != 0 then jump L17 | |
i := D10 | |
sprite v4 v6 0 | |
i := D11 | |
sprite v5 v6 0 | |
v6 += -4 | |
if v6 != 1 then | |
again | |
jump L13 | |
: L17 | |
i := D11 | |
sprite v5 v6 0 | |
i := D12 | |
sprite v5 v6 0 | |
jump L1 | |
: Sub1 | |
v3 := v7 | |
vE := 3 | |
v3 &= vE | |
v4 := v8 | |
v5 := v9 | |
vE := 6 | |
if vE key then jump L21 | |
vE := 3 | |
if vE key then jump L22 | |
vE := 8 | |
if vE key then jump L23 | |
vE := 7 | |
if vE key then jump L24 | |
: L18 | |
if v3 == 3 then v5 += 4 | |
if v3 == 0 then v5 += -4 | |
if v3 == 2 then v4 += 4 | |
if v3 == 1 then v4 += -4 | |
v0 := v4 | |
v1 := v5 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
: L19 | |
if v0 != 0 then jump L25 | |
vE := 7 | |
v0 := v2 | |
v2 &= vE | |
if v2 == 5 then jump L26 | |
if v2 == 6 then jump L27 | |
if v2 == 7 then jump L30 | |
: L20 | |
Sub4 | |
vE := -4 | |
v7 &= vE | |
v7 |= v3 | |
v8 := v4 | |
v9 := v5 | |
jump Sub4 | |
: L21 | |
v0 := v4 | |
v1 := v5 | |
v1 += 4 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 3 | |
v5 += 4 | |
jump L19 | |
: L22 | |
v0 := v4 | |
v1 := v5 | |
v1 += -4 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 0 | |
v5 += -4 | |
jump L19 | |
: L23 | |
v0 := v4 | |
v1 := v5 | |
v0 += 4 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 2 | |
v4 += 4 | |
jump L19 | |
: L24 | |
v0 := v4 | |
v1 := v5 | |
v0 += -4 | |
Sub7 | |
v2 := v0 | |
vE := 8 | |
v0 &= vE | |
if v0 != 0 then jump L18 | |
v3 := 1 | |
v4 += -4 | |
jump L19 | |
: L25 | |
Sub4 | |
sprite v8 v9 8 | |
vE := vF | |
return | |
: L26 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D6 | |
sprite v4 v5 8 | |
v6 += 1 | |
v1 := 5 | |
v0 := delay | |
if v0 == 0 then buzzer := v1 | |
jump L20 | |
: L27 | |
vE := -16 | |
v0 &= vE | |
v0 |= v3 | |
save v0 | |
i := D7 | |
sprite v4 v5 8 | |
v6 += 4 | |
v0 := vA | |
v1 := vB | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L28 | |
vE := 12 | |
v7 ^= vE | |
: L28 | |
v0 := vC | |
v1 := vD | |
Sub7 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L29 | |
vE := 48 | |
v7 ^= vE | |
: L29 | |
v0 := -1 | |
buzzer := v0 | |
delay := v0 | |
jump L20 | |
: L30 | |
if v3 == 1 then v4 := 116 | |
if v3 == 2 then v4 := 0 | |
jump L20 | |
: Sub2 | |
v2 := v7 | |
v3 := v7 | |
vE := 12 | |
v2 &= vE | |
v0 := vA | |
v1 := vB | |
Sub7 | |
i := D5 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L32 | |
: L31 | |
sprite vA vB 8 | |
if v2 == 12 then vB += 4 | |
if v2 == 0 then vB += -4 | |
if v2 == 8 then vA += 4 | |
if v2 == 4 then vA += -4 | |
sprite vA vB 8 | |
return | |
: L32 | |
vE := 128 | |
v1 := delay | |
if v1 != 0 then jump L38 | |
if v4 != 0 then jump L38 | |
v1 := v0 | |
v3 <<= v0 | |
if vF != 0 then jump L33 | |
v3 := v9 | |
v3 -= vB | |
if vF == 0 then jump L35 | |
if v3 != 0 then jump L34 | |
v7 ^= vE | |
v3 := v8 | |
v3 -= vA | |
if vF == 0 then jump L37 | |
if v3 != 0 then jump L36 | |
v7 ^= vE | |
jump L38 | |
: L33 | |
v3 := v8 | |
v3 -= vA | |
if vF == 0 then jump L37 | |
if v3 != 0 then jump L36 | |
v7 ^= vE | |
v3 := v9 | |
v3 -= vB | |
if vF == 0 then jump L35 | |
if v3 != 0 then jump L34 | |
v7 ^= vE | |
jump L38 | |
: L34 | |
v3 := 64 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 8 | |
vB += 4 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
v2 := 12 | |
v7 |= v2 | |
return | |
: L35 | |
v3 := 16 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 8 | |
vB += -4 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
v2 := 0 | |
v7 |= v2 | |
return | |
: L36 | |
v3 := 32 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 8 | |
vA += 4 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
v2 := 8 | |
v7 |= v2 | |
return | |
: L37 | |
v3 := 128 | |
v1 &= v3 | |
if v1 == 0 then jump L38 | |
sprite vA vB 8 | |
vA += -4 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
v2 := 4 | |
v7 |= v2 | |
return | |
: L38 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L40 | |
: L39 | |
vE := 12 | |
v7 ^= vE | |
v2 ^= vE | |
jump L31 | |
: L40 | |
sprite vA vB 8 | |
v0 <<= v0 | |
if vF == 0 then jump L41 | |
v2 := 4 | |
vA += -4 | |
jump L44 | |
: L41 | |
v0 <<= v0 | |
if vF == 0 then jump L42 | |
v2 := 12 | |
vB += 4 | |
jump L44 | |
: L42 | |
v0 <<= v0 | |
if vF == 0 then jump L43 | |
v2 := 8 | |
vA += 4 | |
jump L44 | |
: L43 | |
v0 <<= v0 | |
if vF == 0 then jump L39 | |
v2 := 0 | |
vB += -4 | |
: L44 | |
sprite vA vB 8 | |
vE := -13 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub3 | |
v2 := v7 | |
v3 := v7 | |
vE := 48 | |
v2 &= vE | |
v0 := vC | |
v1 := vD | |
Sub7 | |
i := D5 | |
vE := -16 | |
v0 &= vE | |
if v0 != 0 then jump L46 | |
: L45 | |
sprite vC vD 8 | |
if v2 == 48 then vD += 4 | |
if v2 == 0 then vD += -4 | |
if v2 == 32 then vC += 4 | |
if v2 == 16 then vC += -4 | |
sprite vC vD 8 | |
return | |
: L46 | |
vE := 128 | |
v1 := delay | |
if v1 != 0 then jump L52 | |
if v4 != 0 then jump L52 | |
v1 := v0 | |
v3 <<= v0 | |
if vF == 0 then jump L47 | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L49 | |
if v3 != 0 then jump L48 | |
v7 ^= vE | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L51 | |
if v3 != 0 then jump L50 | |
v7 ^= vE | |
jump L52 | |
: L47 | |
v3 := v8 | |
v3 -= vC | |
if vF == 0 then jump L51 | |
if v3 != 0 then jump L50 | |
v7 ^= vE | |
v3 := v9 | |
v3 -= vD | |
if vF == 0 then jump L49 | |
if v3 != 0 then jump L48 | |
v7 ^= vE | |
jump L52 | |
: L48 | |
v3 := 64 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 8 | |
vD += 4 | |
sprite vC vD 8 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 48 | |
v7 |= v2 | |
return | |
: L49 | |
v3 := 16 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 8 | |
vD += -4 | |
sprite vC vD 8 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 0 | |
v7 |= v2 | |
return | |
: L50 | |
v3 := 32 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 8 | |
vC += 4 | |
sprite vC vD 8 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 32 | |
v7 |= v2 | |
return | |
: L51 | |
v3 := 128 | |
v1 &= v3 | |
if v1 == 0 then jump L52 | |
sprite vC vD 8 | |
vC += -4 | |
sprite vC vD 8 | |
v7 ^= vE | |
vE := 207 | |
v7 &= vE | |
v2 := 16 | |
v7 |= v2 | |
return | |
: L52 | |
v1 := random 0b11110000 | |
v0 &= v1 | |
if v0 != 0 then jump L54 | |
: L53 | |
v7 ^= vE | |
vE := 48 | |
v7 ^= vE | |
v2 ^= vE | |
jump L45 | |
: L54 | |
sprite vC vD 8 | |
v0 <<= v0 | |
if vF == 0 then jump L55 | |
v2 := 144 | |
vC += -4 | |
jump L58 | |
: L55 | |
v0 <<= v0 | |
if vF == 0 then jump L56 | |
v2 := 48 | |
vD += 4 | |
jump L58 | |
: L56 | |
v0 <<= v0 | |
if vF == 0 then jump L57 | |
v2 := 160 | |
vC += 4 | |
jump L58 | |
: L57 | |
v0 <<= v0 | |
if vF == 0 then jump L53 | |
v2 := 0 | |
vD += -4 | |
: L58 | |
sprite vC vD 8 | |
vE := 79 | |
v7 &= vE | |
v7 |= v2 | |
return | |
: Sub4 | |
v0 := v7 | |
vE := 3 | |
v0 &= vE | |
v0 <<= v0 | |
v1 := v8 | |
v1 += v9 | |
vE := 4 | |
v1 &= vE | |
if v1 == 0 then v0 += 1 | |
v0 <<= v0 | |
v0 <<= v0 | |
v0 <<= v0 | |
i := D4 | |
i += v0 | |
sprite v8 v9 8 | |
vE := vF | |
return | |
: Sub5 | |
vE := 0 | |
loop | |
i := D9 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
load v3 | |
i := D13 | |
i += vE | |
i += vE | |
i += vE | |
i += vE | |
save v3 | |
vE += 1 | |
if vE != 128 then | |
again | |
return | |
: Sub6 | |
v2 ^= v2 | |
v3 ^= v3 | |
vE := 15 | |
: L60 | |
loop | |
v0 := v2 | |
v1 := v3 | |
Sub8 | |
v0 &= vE | |
v0 <<= v0 | |
v0 <<= v0 | |
i := D8 | |
i += v0 | |
sprite v2 v3 4 | |
v2 += 4 | |
if v2 != 128 then jump L60 | |
v2 ^= v2 | |
v3 += 4 | |
if v3 == 64 then return | |
again | |
: Sub7 | |
v0 += 4 | |
v1 += 4 | |
: Sub8 | |
v0 >>= v0 | |
v0 >>= v0 | |
v1 >>= v0 | |
v1 >>= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
v1 <<= v0 | |
i := D13 | |
i += v1 | |
i += v1 | |
i += v0 | |
load v0 | |
return | |
: Sub9 | |
i := D3 | |
load v0 | |
v0 >>= v0 | |
save v0 | |
v0 := 1 | |
loop | |
if v0 key then | |
again | |
return | |
: Sub10 | |
load v1 | |
vE := 1 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 16 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L63 | |
v5 := 39 | |
v2 -= v5 | |
if vF == 0 then jump L63 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L63 | |
i := bighex v4 | |
sprite v6 v7 10 | |
v6 += 12 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := -24 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L65 | |
v5 := 3 | |
v2 -= v5 | |
if vF == 0 then jump L65 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L65 | |
i := bighex v4 | |
sprite v6 v7 10 | |
v6 += 12 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 100 | |
v3 -= v5 | |
if vF == 0 then v2 -= vE | |
if vF == 0 then jump L67 | |
v0 := v2 | |
v1 := v3 | |
v4 += vE | |
again | |
: L67 | |
i := bighex v4 | |
sprite v6 v7 10 | |
v6 += 12 | |
v4 ^= v4 | |
v2 := v0 | |
v3 := v1 | |
loop | |
v5 := 10 | |
v3 -= v5 | |
if vF == 0 then jump L69 | |
v1 := v3 | |
v4 += vE | |
again | |
: L69 | |
i := bighex v4 | |
sprite v6 v7 10 | |
v6 += 12 | |
i := bighex v1 | |
sprite v6 v7 10 | |
return | |
: Sub11 | |
i := D1 | |
load v1 | |
v1 += vE | |
if vF != 0 then v0 += 1 | |
i := D1 | |
save v1 | |
return | |
: Sub12 | |
i := D1 | |
load v3 | |
vE := v0 | |
vE -= v2 | |
if vF == 0 then return | |
if vE != 0 then jump L70 | |
vE := v1 | |
vE -= v3 | |
if vF == 0 then return | |
: L70 | |
i := D2 | |
save v1 | |
return | |
: Sub13 | |
vE ^= vE | |
v2 := 15 | |
v3 := -1 | |
v1 := 16 | |
: L71 | |
loop | |
if v2 key then jump L72 | |
v1 += v3 | |
if v1 != 0 then jump L71 | |
v1 := 16 | |
v0 += v3 | |
if v0 != 0 then | |
again | |
return | |
: L72 | |
vE := 1 | |
return | |
: D1 | |
0x0 0x0 | |
: D2 | |
0x0 0x0 | |
: D3 | |
0x5 0x0 | |
: D4 | |
0x0 0x22 0x63 0x63 0x77 0x7f 0x3e 0x1c 0x0 0x1c 0x1e 0x5d 0x5d 0x6f 0x3e 0x1c 0x0 0x3c 0x7e 0xf 0x7 0xf 0x7e 0x3c 0x0 0x1c 0x26 0x7f 0x7f 0x7b 0x6 0x1c 0x0 0x1e 0x3f 0x78 0x70 0x78 0x3f 0x1e 0x0 0x1c 0x32 0x7f 0x7f 0x6f 0x30 0x1c 0x0 0x1c 0x3e 0x7f 0x77 0x63 0x63 0x22 0x0 0x1c 0x3e 0x6f 0x5d 0x5d 0x1e 0x1c | |
: D5 | |
0x0 0x1c 0x3e 0x49 0x77 0x7f 0x63 0x7f | |
: D6 | |
0x0 0x0 0x0 0x0 0x8 0x0 0x0 0x0 | |
: D7 | |
0x0 0x0 0x0 0x0 0x8 0x8 0x0 0x0 | |
: D8 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0xf0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0xf0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 | |
: D9 | |
0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xc 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xd 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x65 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0xc5 0xa 0xa 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xe 0xf 0x5 0xc 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0xd 0x5 0xa 0xa 0x5 0xa 0x65 0x6 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0xc5 0xa 0x35 0x5 0x5 0x95 0xa 0x65 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x6 0xc5 0xa 0x5 0xa 0xa 0x5 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xc 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0x8 0xc 0x8 0x8 0x8 0x8 0xf 0x5 0xf 0x5 0xa 0xa 0x75 0x5 0xb5 0x5 0x5 0x5 0x5 0xc5 0xa 0x65 0x5 0xb5 0x5 0xe5 0x5 0x5 0xe5 0x5 0xb5 0x5 0xc5 0xa 0x65 0x5 0x5 0x5 0x5 0xb5 0x5 0xd5 0xa 0xa 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0xd 0x5 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0xa 0xf 0x5 0xf 0x65 0x5 0x5 0xc5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0xb0 0x5 0x5 0xb5 0x5 0xc5 0xa 0x35 0xe5 0x95 0xa 0x65 0x5 0x5 0xc5 0xf 0x5 0xf 0x7 0x74 0x5 0xd5 0x8 0xf 0x5 0xe 0xf 0x5 0x8 0xf 0x5 0xc 0x8 0x8 0x8 0x8 0xd 0x5 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0xf 0x75 0x5 0xd4 0x7 0xa 0x5 0xa 0x35 0x5 0x5 0xf5 0x5 0x5 0xb5 0x5 0x5 0xd5 0x8 0x8 0xd 0xc 0x8 0xf 0x75 0x5 0x5 0xb5 0x5 0x5 0xf5 0x5 0x5 0x95 0xa 0x5 0xa 0xa 0x5 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0x8 0xd 0x35 0x5 0xc5 0xa 0xa 0x65 0x5 0x95 0xc 0x8 0x8 0x8 0xd 0x5 0xc 0x8 0x8 0xf 0x5 0xa 0xa 0x75 0x5 0x6 0xc5 0xa 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xa 0x65 0x6 0x5 0xd5 0xa 0xa 0x5 0xc 0xd 0x5 0xa 0x35 0x5 0x5 0x5 0x5 0xe5 0x5 0x5 0xf5 0x5 0x5 0xf5 0x5 0x5 0xe5 0x5 0x5 0x5 0x5 0x95 0xa 0x5 0xc 0xd 0x5 0xa 0xa 0x5 0x8 0xf 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0xf 0x5 0xc 0xd 0x5 0x8 0x8 0x8 0x8 0x8 0xf 0x5 0x8 0xf 0x5 0xa 0xa 0x35 0x5 0x5 0xb5 0x5 0x5 0x5 0x5 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x95 0xa 0xa 0x35 0x5 0x5 0x5 0x5 0x5 0x5 0xb5 0x5 0x5 0x95 0xa 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0xf 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0xf | |
: D10 | |
0x1 0xe0 0x2 0x10 0x4 0xc8 0x9 0xe4 0xb 0xf4 0xb 0xb4 0x9 0xe5 0x4 0xc9 0x2 0x13 0x1 0xe7 0x0 0x7 0x1 0x83 0x3 0xf0 0x1 0xff 0x0 0xff 0x0 0x3f | |
: D11 | |
0xf 0x0 0x10 0x80 0x26 0x40 0x4f 0x20 0x5f 0xa0 0x5d 0xa0 0x4f 0x20 0x26 0x40 0x90 0x80 0xcf 0x0 0xc0 0x0 0x83 0x0 0x1f 0x80 0xff 0x0 0xfe 0x0 0xf8 0x0 | |
: D12 | |
0xf 0x0 0x1f 0x80 0x3f 0xc0 0x7f 0xe0 0x7f 0xe0 0x5f 0xe0 0x47 0xe0 0x20 0xc0 0x90 0x80 0xcf 0x0 0xc0 0x80 0x83 0xc0 0x1f 0x80 0xff 0x0 0xfe 0x0 0xf8 0x0 | |
: D13 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Car [Klaus von Sengbusch, 1994].ch8 | |
###################################################################### | |
:proto L1 # 21E | |
:proto L4 # 278 | |
:proto Sub1 # 28C | |
:proto Sub2 # 294 | |
:proto Sub3 # 29E | |
:proto Sub4 # 2A6 | |
:proto Sub5 # 2B0 | |
:proto Sub6 # 2EC | |
:proto Sub7 # 310 | |
:proto D1 # 32C | |
:proto D2 # 32E | |
:proto D3 # 330 | |
:proto D4 # 332 | |
:proto D5 # 334 | |
:proto D6 # 336 | |
:proto D7 # 338 | |
: main | |
jump L1 | |
0x31 0x2e 0x30 0x30 0x20 0x4b 0x2e 0x76 0x2e 0x53 0x65 0x6e 0x67 0x62 0x75 0x73 0x63 0x68 0x20 0x32 0x34 0x2f 0x34 0x2d 0x27 0x39 0x34 0x0 | |
: L1 | |
hires | |
v5 := 50 | |
v6 := 50 | |
v7 := 40 | |
v3 := v5 | |
v4 := v6 | |
v2 := 100 | |
v9 := 0 | |
vA := 1 | |
vB := 0 | |
loop | |
scroll-down 1 | |
Sub5 | |
v0 := 1 | |
v2 -= v0 | |
v0 := 40 | |
if v2 != v0 then | |
again | |
i := D7 | |
sprite v3 v4 8 | |
loop | |
i := D7 | |
sprite v3 v4 8 | |
scroll-down 1 | |
sprite v5 v6 8 | |
if vF != 0 then jump L4 | |
Sub5 | |
v0 := 1 | |
if v2 != 0 then v2 -= v0 | |
Sub6 | |
v3 := v5 | |
v4 := v6 | |
v0 := 7 | |
if v0 key then Sub2 | |
v0 := 8 | |
if v0 key then Sub1 | |
v0 := random 0b11 | |
if v0 == 0 then Sub3 | |
v0 := random 0b11 | |
if v0 == 0 then Sub4 | |
again | |
: L4 | |
v0 := vB | |
v0 += 3 | |
v0 >>= v0 | |
v0 >>= v0 | |
i := bighex v0 | |
v0 := v7 | |
v0 += 17 | |
v1 := 27 | |
sprite v0 v1 10 | |
loop | |
again | |
: Sub1 | |
v5 += 1 | |
if v5 == 110 then v5 := 109 | |
return | |
: Sub2 | |
v0 := 1 | |
v5 -= v0 | |
if vF == 0 then v5 := 0 | |
return | |
: Sub3 | |
v7 += 1 | |
if v7 == 70 then v7 := 69 | |
return | |
: Sub4 | |
v0 := 1 | |
v7 -= v0 | |
if v7 == 20 then v7 := 21 | |
return | |
: Sub5 | |
v0 := v9 | |
v1 := 45 | |
v1 -= v0 | |
v8 := v1 | |
v1 := 0 | |
v0 := v7 | |
i := D1 | |
sprite v0 v1 1 | |
v0 += v8 | |
v1 := 0 | |
sprite v0 v1 1 | |
vA += 1 | |
if vA == 4 then vA := 1 | |
if vA == 1 then i := D2 | |
if vA == 2 then i := D3 | |
if vA == 3 then i := D4 | |
v1 := 0 | |
v0 := 0 | |
sprite v0 v1 1 | |
v0 := 8 | |
sprite v0 v1 1 | |
v0 := 112 | |
sprite v0 v1 1 | |
v0 := 120 | |
sprite v0 v1 1 | |
return | |
: Sub6 | |
if v2 != 0 then return | |
v0 := random 0b1111 | |
v0 += v7 | |
v0 += 8 | |
v1 := 0 | |
i := D7 | |
v2 := 45 | |
if vB == 30 then Sub7 | |
if vB != 33 then sprite v0 v1 8 | |
vB += 1 | |
v0 := v9 | |
v2 -= v0 | |
if v9 != 11 then v9 += 1 | |
return | |
: Sub7 | |
vB += 3 | |
i := D5 | |
v0 := v7 | |
v0 += 5 | |
sprite v0 v1 1 | |
v0 += 8 | |
sprite v0 v1 1 | |
v0 += 8 | |
sprite v0 v1 1 | |
v0 += 8 | |
i := D6 | |
sprite v0 v1 1 | |
v2 := 100 | |
return | |
: D1 | |
0x88 0x0 | |
: D2 | |
0x88 0x0 | |
: D3 | |
0x55 0x0 | |
: D4 | |
0x22 0x0 | |
: D5 | |
0xff 0x0 | |
: D6 | |
0xf8 0x0 | |
: D7 | |
0xdb 0xff 0xdb 0x18 0x24 0xe7 0xe7 0xdb | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Field! [Al Roland, 1993] (alt).ch8 | |
###################################################################### | |
:proto L14 # 302 | |
:proto L15 # 308 | |
:proto L16 # 30E | |
:proto L17 # 314 | |
:proto L18 # 31A | |
:proto L19 # 320 | |
:proto L20 # 334 | |
:proto L21 # 342 | |
:proto D1 # 350 | |
:proto D2 # 358 | |
:proto D3 # 35C | |
:proto D4 # 360 | |
:proto D5 # 380 | |
:proto D6 # 3A0 | |
:proto D7 # 3C0 | |
:proto D8 # 3E0 | |
:proto D9 # 400 | |
:proto D10 # 420 | |
:proto D11 # 440 | |
:proto D12 # 460 | |
:proto D13 # 480 | |
:proto D14 # 4A0 | |
:proto D15 # 4C0 | |
: main | |
clear | |
hires | |
: L1 | |
v1 := 42 | |
v2 := 1 | |
i := D13 | |
sprite v1 v2 0 | |
v1 := 58 | |
i := D14 | |
sprite v1 v2 0 | |
v1 := 74 | |
i := D15 | |
sprite v1 v2 0 | |
v1 := 64 | |
v2 := 48 | |
i := D11 | |
sprite v1 v2 0 | |
v1 := 48 | |
i := D10 | |
sprite v1 v2 0 | |
v2 := 32 | |
v3 := 48 | |
v4 := 32 | |
vE := 1 | |
vD := 3 | |
i := D4 | |
sprite v1 v2 0 | |
i := D5 | |
v1 := 64 | |
sprite v1 v2 0 | |
v5 := -1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
v5 := -1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
v1 := 48 | |
i := D4 | |
sprite v1 v2 0 | |
i := D6 | |
sprite v1 v2 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v1 v2 0 | |
i := D7 | |
sprite v1 v2 0 | |
v3 -= vD | |
v4 -= vD | |
i := D9 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
: L6 | |
v3 -= vD | |
v4 -= vD | |
i := D8 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
v3 -= vD | |
v4 -= vD | |
i := D9 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
v2 := 0 | |
if v2 -key then jump L6 | |
clear | |
v1 := 1 | |
v2 := 7 | |
v3 := -1 | |
v9 := 32 | |
vA := 15 | |
v5 := 1 | |
vB := 122 | |
vE := 1 | |
vD := 0 | |
v7 := 0 | |
i := D3 | |
: L9 | |
v7 += 1 | |
if v7 == 192 then jump L14 | |
: L10 | |
v2 := 7 | |
if v2 key then jump L20 | |
v2 := 8 | |
if v2 key then jump L21 | |
v2 := 1 | |
if v2 key then jump L19 | |
v2 := 12 | |
if v2 key then jump L15 | |
v2 := 13 | |
if v2 key then jump L16 | |
: L11 | |
if vC == 1 then jump L20 | |
if vC == 2 then jump L21 | |
: L12 | |
v2 := 112 | |
vE := 1 | |
loop | |
v2 -= vE | |
if v2 != 0 then | |
again | |
i := D1 | |
v1 := random 0b111010 | |
vE := 64 | |
vE -= v1 | |
sprite v5 vE 4 | |
sprite vB vE 4 | |
if vC == 1 then jump L17 | |
if vC == 2 then jump L18 | |
jump L9 | |
: L14 | |
vD += 1 | |
v7 := 0 | |
jump L10 | |
: L15 | |
vE := 1 | |
vA -= vE | |
jump L11 | |
: L16 | |
vE := 1 | |
vA += 1 | |
jump L11 | |
: L17 | |
i := D2 | |
sprite v9 vA 3 | |
jump L9 | |
: L18 | |
i := D3 | |
sprite v9 vA 3 | |
jump L9 | |
: L19 | |
clear | |
v1 := 44 | |
v2 := 16 | |
i := D12 | |
sprite v1 v2 0 | |
v1 := 50 | |
v2 := 37 | |
i := hex vD | |
sprite v1 v2 5 | |
jump L1 | |
: L20 | |
scroll-left | |
i := D2 | |
sprite v9 vA 3 | |
if vF == 1 then jump L19 | |
vC := 1 | |
jump L12 | |
: L21 | |
scroll-right | |
i := D3 | |
sprite v9 vA 3 | |
if vF == 1 then jump L19 | |
vC := 2 | |
jump L12 | |
: D1 | |
0x6e 0xff 0x7e 0x33 0xff 0xff 0xff 0xff | |
: D2 | |
0xe0 0x7f 0xe0 0x0 | |
: D3 | |
0x7 0xfe 0x7 0x99 | |
: D4 | |
0x0 0x0 0x20 0x83 0x31 0x86 0x7f 0xc7 0x4a 0x46 0x7b 0xc6 0x3f 0x80 0x5f 0x43 0xff 0xe4 0xdf 0x63 0xff 0xe0 0xdb 0x60 0xaa 0xa3 0x6a 0xc0 0xea 0xff 0xd5 0x7f | |
: D5 | |
0x0 0x0 0xc6 0x0 0x66 0x0 0xe6 0x0 0x66 0x0 0x67 0xc0 0x0 0x0 0xc0 0x60 0x0 0x84 0x8c 0x8e 0x52 0xc4 0x52 0x84 0x8c 0x83 0x0 0x0 0xff 0xff 0xff 0xff | |
: D6 | |
0x4 0x0 0x1e 0x3 0x37 0x86 0x7f 0x87 0xf 0xc6 0x7 0x76 0xf 0xf8 0xf 0xdb 0x7 0xfc 0x3 0xef 0x1 0xdf 0x0 0x9f 0x0 0xf 0x1 0x7 0xff 0xff 0xff 0x7f | |
: D7 | |
0x0 0x0 0x0 0x3 0x0 0x6 0x0 0x7 0x0 0x6 0x0 0x6 0x0 0x0 0x0 0x3 0x0 0x4 0x0 0x3 0x0 0x0 0x0 0x0 0x0 0x3 0x0 0x0 0xff 0xff 0xff 0x7f | |
: D8 | |
0x4 0x0 0x1e 0x0 0x37 0x80 0x7f 0x80 0xf 0xc0 0x7 0x70 0xf 0xf8 0xf 0xd8 0x7 0xf8 0x3 0xee 0x1 0xdf 0x0 0x9f 0x0 0x4f 0x0 0x67 0x0 0x3 0x0 0x0 | |
: D9 | |
0x10 0x0 0x3c 0xe 0x5e 0xbf 0xff 0xff 0x3f 0xff 0xf 0xf7 0x7 0xfb 0x7 0xf9 0x3 0xf8 0x1 0xfc 0x0 0xde 0x0 0x9e 0x0 0x5f 0x0 0xf 0x0 0xf 0x0 0x0 | |
: D10 | |
0x24 0x30 0x54 0x28 0x54 0x30 0x74 0x29 0x54 0x2a 0x54 0x29 0x0 0x0 0x50 0x0 0x54 0x80 0x71 0xe0 0x54 0x80 0x54 0x83 0x54 0x43 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D11 | |
0x20 0x2 0x20 0x2 0x20 0x2 0x26 0xc6 0xaa 0xaa 0x26 0xa6 0x0 0x0 0x70 0x60 0x20 0xa0 0x24 0x84 0x2a 0xaa 0x2a 0xaa 0x24 0x64 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D12 | |
0x14 0x0 0x14 0x0 0x8 0x94 0x9 0x54 0x8 0x88 0x0 0x0 0xc4 0xee 0xaa 0x48 0xce 0x4e 0xaa 0x48 0xaa 0x48 0xaa 0x4e 0x0 0x0 0x7 0xe0 0x3 0xc0 0x1 0x80 | |
: D13 | |
0x0 0x0 0xff 0x7e 0xff 0x7e 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xfc 0x18 0xfc 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x7e 0xe0 0x7e 0x0 0x0 0x0 0x0 | |
: D14 | |
0x0 0x0 0xff 0x70 0xff 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xfc 0x70 0xfc 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xff 0x7e 0xff 0x7e 0x0 0x0 0x0 0x0 | |
: D15 | |
0x0 0x0 0xf0 0x8 0xfe 0x1c 0xe7 0x3e 0xe7 0x3e 0xe7 0x3e 0xe7 0x3e 0xe7 0x1c 0xe7 0x1c 0xe7 0x1c 0xe7 0x8 0xe7 0x0 0xfe 0x1c 0xf0 0x1c 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Field! [Al Roland, 1993].ch8 | |
###################################################################### | |
:proto L14 # 310 | |
:proto L15 # 314 | |
:proto L16 # 318 | |
:proto L17 # 31C | |
:proto L18 # 320 | |
:proto L19 # 326 | |
:proto L20 # 32C | |
:proto L21 # 332 | |
:proto L22 # 338 | |
:proto L26 # 374 | |
:proto L27 # 382 | |
:proto D1 # 390 | |
:proto D2 # 394 | |
:proto D3 # 398 | |
:proto D4 # 39C | |
:proto D5 # 3BC | |
:proto D6 # 3DC | |
:proto D7 # 3FC | |
:proto D8 # 41C | |
:proto D9 # 43C | |
:proto D10 # 45C | |
:proto D11 # 47C | |
:proto D12 # 49C | |
:proto D13 # 4BC | |
:proto D14 # 4DC | |
:proto D15 # 4FC | |
:proto D16 # 51C | |
:proto D17 # 53C | |
: main | |
hires | |
: L1 | |
v1 := 42 | |
v2 := 1 | |
i := D13 | |
sprite v1 v2 0 | |
v1 := 58 | |
i := D14 | |
sprite v1 v2 0 | |
v1 := 74 | |
i := D15 | |
sprite v1 v2 0 | |
v1 := 64 | |
v2 := 48 | |
i := D11 | |
sprite v1 v2 0 | |
v1 := 48 | |
i := D10 | |
sprite v1 v2 0 | |
v2 := 32 | |
v3 := 48 | |
v4 := 32 | |
vE := 1 | |
vD := 3 | |
i := D4 | |
sprite v1 v2 0 | |
i := D5 | |
v1 := 64 | |
sprite v1 v2 0 | |
v5 := -1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
v5 := -1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
v1 := 48 | |
i := D4 | |
sprite v1 v2 0 | |
i := D6 | |
sprite v1 v2 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v1 v2 0 | |
i := D7 | |
sprite v1 v2 0 | |
v3 -= vD | |
v4 -= vD | |
i := D9 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
: L6 | |
v3 -= vD | |
v4 -= vD | |
i := D8 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
v3 -= vD | |
v4 -= vD | |
i := D9 | |
sprite v3 v4 0 | |
v5 := -16 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
sprite v3 v4 0 | |
v2 := 0 | |
if v2 -key then jump L6 | |
clear | |
v3 := 1 | |
v1 := 1 | |
v2 := 7 | |
v9 := 32 | |
vA := 15 | |
v5 := 1 | |
vB := 122 | |
vE := 1 | |
vD := 0 | |
v7 := 0 | |
i := D3 | |
: L9 | |
v7 += 1 | |
if v7 == 192 then jump L18 | |
: L10 | |
v2 := 1 | |
if v2 key then jump L14 | |
v2 := 2 | |
if v2 key then jump L15 | |
v2 := 4 | |
if v2 key then jump L16 | |
v2 := 5 | |
if v2 key then jump L17 | |
v2 := 7 | |
if v2 key then jump L26 | |
v2 := 8 | |
if v2 key then jump L27 | |
v2 := 12 | |
if v2 key then jump L19 | |
v2 := 13 | |
if v2 key then jump L20 | |
: L11 | |
if vC == 1 then jump L26 | |
if vC == 2 then jump L27 | |
: L12 | |
v2 := 112 | |
loop | |
v2 -= v3 | |
if v2 != 0 then | |
again | |
i := D1 | |
v1 := random 0b111010 | |
vE := 64 | |
vE -= v1 | |
sprite v5 vE 4 | |
sprite vB vE 4 | |
if vC == 1 then jump L21 | |
if vC == 2 then jump L22 | |
jump L9 | |
: L14 | |
v3 := 1 | |
jump L11 | |
: L15 | |
v3 := 2 | |
jump L11 | |
: L16 | |
v3 := 4 | |
jump L11 | |
: L17 | |
v3 := 8 | |
jump L11 | |
: L18 | |
vD += 1 | |
v7 := 0 | |
jump L10 | |
: L19 | |
vE := 1 | |
vA -= vE | |
jump L11 | |
: L20 | |
vE := 1 | |
vA += 1 | |
jump L11 | |
: L21 | |
i := D2 | |
sprite v9 vA 3 | |
jump L9 | |
: L22 | |
i := D3 | |
sprite v9 vA 3 | |
jump L9 | |
: L23 | |
v5 := 8 | |
v9 -= v5 | |
vA -= v5 | |
i := D16 | |
sprite v9 vA 0 | |
v5 := -16 | |
vE := 1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
i := D17 | |
sprite v9 vA 0 | |
v5 := -1 | |
vE := 1 | |
loop | |
v5 -= vE | |
if v5 != 0 then | |
again | |
clear | |
v1 := 44 | |
v2 := 16 | |
i := D12 | |
sprite v1 v2 0 | |
v1 := 50 | |
v2 := 37 | |
i := hex vD | |
sprite v1 v2 5 | |
jump L1 | |
: L26 | |
scroll-left | |
i := D2 | |
sprite v9 vA 3 | |
if vF == 1 then jump L23 | |
vC := 1 | |
jump L12 | |
: L27 | |
scroll-right | |
i := D3 | |
sprite v9 vA 3 | |
if vF == 1 then jump L23 | |
vC := 2 | |
jump L12 | |
: D1 | |
0x6e 0xff 0x7e 0x33 | |
: D2 | |
0xe0 0x7f 0xe0 0x0 | |
: D3 | |
0x7 0xfe 0x7 0x99 | |
: D4 | |
0x0 0x0 0x20 0x83 0x31 0x86 0x7f 0xc7 0x4a 0x46 0x7b 0xc6 0x3f 0x80 0x5f 0x43 0xff 0xe4 0xdf 0x63 0xff 0xe0 0xdb 0x60 0xaa 0xa3 0x6a 0xc0 0xea 0xff 0xd5 0x7f | |
: D5 | |
0x0 0x0 0xc6 0x0 0x66 0x0 0xe6 0x0 0x66 0x0 0x67 0xc0 0x0 0x0 0xc0 0x60 0x0 0x84 0x8c 0x8e 0x52 0xc4 0x52 0x84 0x8c 0x83 0x0 0x0 0xff 0xff 0xff 0xff | |
: D6 | |
0x4 0x0 0x1e 0x3 0x37 0x86 0x7f 0x87 0xf 0xc6 0x7 0x76 0xf 0xf8 0xf 0xdb 0x7 0xfc 0x3 0xef 0x1 0xdf 0x0 0x9f 0x0 0xf 0x1 0x7 0xff 0xff 0xff 0x7f | |
: D7 | |
0x0 0x0 0x0 0x3 0x0 0x6 0x0 0x7 0x0 0x6 0x0 0x6 0x0 0x0 0x0 0x3 0x0 0x4 0x0 0x3 0x0 0x0 0x0 0x0 0x0 0x3 0x0 0x0 0xff 0xff 0xff 0x7f | |
: D8 | |
0x4 0x0 0x1e 0x0 0x37 0x80 0x7f 0x80 0xf 0xc0 0x7 0x70 0xf 0xf8 0xf 0xd8 0x7 0xf8 0x3 0xee 0x1 0xdf 0x0 0x9f 0x0 0x4f 0x0 0x67 0x0 0x3 0x0 0x0 | |
: D9 | |
0x10 0x0 0x3c 0xe 0x5e 0xbf 0xff 0xff 0x3f 0xff 0xf 0xf7 0x7 0xfb 0x7 0xf9 0x3 0xf8 0x1 0xfc 0x0 0xde 0x0 0x9e 0x0 0x5f 0x0 0xf 0x0 0xf 0x0 0x0 | |
: D10 | |
0x24 0x30 0x54 0x28 0x54 0x30 0x74 0x29 0x54 0x2a 0x54 0x29 0x0 0x0 0x50 0x0 0x54 0x80 0x71 0xe0 0x54 0x80 0x54 0x83 0x54 0x43 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D11 | |
0x20 0x2 0x20 0x2 0x20 0x2 0x26 0xc6 0xaa 0xaa 0x26 0xa6 0x0 0x0 0x70 0x60 0x20 0xa0 0x24 0x84 0x2a 0xaa 0x2a 0xaa 0x24 0x64 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D12 | |
0x14 0x0 0x14 0x0 0x8 0x94 0x9 0x54 0x8 0x88 0x0 0x0 0xc4 0xee 0xaa 0x48 0xce 0x4e 0xaa 0x48 0xaa 0x48 0xaa 0x4e 0x0 0x0 0x7 0xe0 0x3 0xc0 0x1 0x80 | |
: D13 | |
0x0 0x0 0xff 0x7e 0xff 0x7e 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xfc 0x18 0xfc 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x18 0xe0 0x7e 0xe0 0x7e 0x0 0x0 0x0 0x0 | |
: D14 | |
0x0 0x0 0xff 0x70 0xff 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xfc 0x70 0xfc 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xe0 0x70 0xff 0x7e 0xff 0x7e 0x0 0x0 0x0 0x0 | |
: D15 | |
0x0 0x0 0xf8 0x8 0xfe 0x1c 0xe7 0x3e 0xe7 0x3e 0xe7 0x3e 0xe7 0x3e 0xe7 0x1c 0xe7 0x1c 0xe7 0x1c 0xe7 0x8 0xe7 0x0 0xfe 0x1c 0xf8 0x1c 0x0 0x0 0x0 0x0 | |
: D16 | |
0x0 0x2 0x10 0xc 0x8 0x14 0xe 0xc0 0x5 0xa0 0x6 0x1c 0x1a 0x24 0x7a 0x90 0xc1 0xe8 0x2 0x18 0x5 0x8 0xc 0x10 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D17 | |
0xc3 0x2 0x31 0x8c 0x9 0x54 0xe 0xc4 0x75 0xb9 0x1e 0x1c 0x1a 0x3e 0x7a 0x93 0xe1 0xe9 0x22 0x19 0x5 0x8 0x4c 0x14 0x30 0xa 0x1b 0x32 0x14 0x32 0x20 0x1 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/H. Piper [Paul Raines, 1991].ch8 | |
###################################################################### | |
:proto L1 # 216 | |
:proto L2 # 226 | |
:proto L14 # 32A | |
:proto L15 # 338 | |
:proto Sub1 # 38C | |
:proto Sub2 # 396 | |
:proto Sub4 # 3AA | |
:proto Sub5 # 3C4 | |
:proto Sub6 # 3DE | |
:proto Sub7 # 3F8 | |
:proto Sub8 # 412 | |
:proto Sub9 # 41E | |
:proto Sub10 # 42C | |
:proto Sub11 # 436 | |
:proto Sub12 # 43E | |
:proto Sub13 # 44E | |
:proto L17 # 464 | |
:proto L18 # 46E | |
:proto L19 # 492 | |
:proto L20 # 4A4 | |
:proto L21 # 4AC | |
:proto L22 # 4B4 | |
:proto L23 # 4BC | |
:proto L24 # 4C0 | |
:proto L26 # 4D0 | |
:proto L28 # 4DC | |
:proto L29 # 4F6 | |
:proto L30 # 4F8 | |
:proto L31 # 504 | |
:proto L33 # 516 | |
:proto L34 # 522 | |
:proto L37 # 53E | |
:proto L39 # 5C2 | |
:proto L40 # 5CC | |
:proto L41 # 5E0 | |
:proto Sub15 # 5F6 | |
:proto L46 # 628 | |
:proto Sub16 # 62A | |
:proto Sub18 # 672 | |
:proto L47 # 688 | |
:proto L48 # 6A4 | |
:proto L49 # 6B6 | |
:proto L50 # 6B8 | |
:proto Sub19 # 6BC | |
:proto Sub20 # 6CC | |
:proto Sub21 # 6E4 | |
:proto Sub22 # 71C | |
:proto Sub23 # 720 | |
:proto L51 # 72A | |
:proto Sub24 # 75E | |
:proto Sub25 # 780 | |
:proto D1 # 7A2 | |
:proto D2 # 7A4 | |
:proto D3 # 7B0 | |
:proto D4 # 7BC | |
:proto D5 # 7BE | |
:proto D6 # 7CE | |
:proto D7 # 7DE | |
:proto D8 # 7E6 | |
:proto D9 # 816 | |
:proto D10 # 81E | |
:proto D11 # 836 | |
:proto D12 # 83E | |
:proto D13 # 846 | |
:proto D14 # 84A | |
:proto D15 # 84C | |
:proto D16 # 84E | |
:proto D17 # 850 | |
:proto D18 # 852 | |
:proto D19 # 854 | |
:proto D20 # 85C | |
:proto D21 # 864 | |
:proto D22 # 86A | |
:proto D23 # 86E | |
:proto D24 # 872 | |
:proto D25 # 886 | |
:proto D26 # 890 | |
:proto D27 # 89A | |
:proto D28 # 8A4 | |
:proto D29 # 8AC | |
: main | |
jump L1 | |
0x76 0x32 0x2e 0x30 0x20 0x52 0x61 0x69 0x6e 0x65 0x73 0x20 0x28 0x63 0x29 0x20 0x31 0x39 0x39 0x31 | |
: L1 | |
hires | |
loadflags v3 | |
vE := v2 | |
if v3 == 1 then jump L2 | |
vE := 78 | |
v0 := 0 | |
v1 := 0 | |
: L2 | |
i := D23 | |
save v1 | |
vC := -1 | |
v0 := 0 | |
v1 := 0 | |
v2 := 0 | |
saveflags v2 | |
: L3 | |
clear | |
v0 := 11 | |
v1 := 0 | |
v2 := 0 | |
loop | |
i := D29 | |
i += v2 | |
save v1 | |
v2 += 2 | |
if v2 != 120 then | |
again | |
v0 := 0 | |
v2 := 0 | |
loop | |
i := D21 | |
i += v2 | |
save v1 | |
v2 += 2 | |
if v2 != 6 then | |
again | |
i := D24 | |
v0 := 38 | |
v1 := 57 | |
v3 := 0 | |
loop | |
i += v3 | |
sprite v0 v1 5 | |
v3 := 5 | |
v0 += 8 | |
if v0 != 70 then | |
again | |
i := D25 | |
v0 := 104 | |
v1 := 2 | |
sprite v0 v1 5 | |
v0 += 8 | |
v2 := 5 | |
i += v2 | |
sprite v0 v1 5 | |
i := D26 | |
v0 := 104 | |
v1 := 42 | |
sprite v0 v1 5 | |
v0 += 8 | |
v2 := 5 | |
i += v2 | |
sprite v0 v1 5 | |
v1 := vE | |
v1 >>= v5 | |
v0 := 100 | |
v0 -= v1 | |
i := D10 | |
bcd v0 | |
load v2 | |
v3 := 90 | |
v4 := 57 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
v0 := vE | |
i := D4 | |
save v0 | |
i := D6 | |
v0 := 0 | |
v1 := 0 | |
loop | |
sprite v0 v1 2 | |
v0 += 8 | |
if v0 != 96 then | |
again | |
v4 := 2 | |
loop | |
i := D2 | |
v0 := 0 | |
sprite v0 v4 12 | |
i := D3 | |
v0 := 8 | |
sprite v0 v4 12 | |
v4 += 12 | |
if v4 != 62 then | |
again | |
v7 := 0 | |
loop | |
v0 := v7 | |
Sub23 | |
v7 += 1 | |
if v7 != 5 then | |
again | |
v1 := 50 | |
v0 := 16 | |
i := D7 | |
loop | |
sprite v0 v1 6 | |
v0 += 8 | |
if v0 != 96 then | |
again | |
v1 := 0 | |
v0 := 96 | |
i := D1 | |
loop | |
sprite v0 v1 2 | |
v1 += 2 | |
if v1 != 56 then | |
again | |
vD := 52 | |
Sub8 | |
Sub9 | |
Sub10 | |
v1 := 2 | |
i := D9 | |
: L12 | |
v0 := 16 | |
loop | |
sprite v0 v1 8 | |
v0 += 8 | |
if v0 != 96 then | |
again | |
v1 += 8 | |
if v1 != 50 then jump L12 | |
if vC == -1 then jump L14 | |
if vB == 0 then v3 := 6 | |
if vB == 3 then v3 := 4 | |
if vB == 6 then v3 := 2 | |
if vB == 5 then v3 := 0 | |
jump L15 | |
: L14 | |
v3 := random 0b111 | |
v3 += 1 | |
vC := random 0b110000 | |
vC += 16 | |
vC += v3 | |
v3 := random 0b11 | |
v3 <<= v5 | |
: L15 | |
i := D20 | |
i += v3 | |
load v1 | |
vB := v0 | |
v2 := v1 | |
v9 := v2 | |
v0 := vC | |
Sub18 | |
Sub20 | |
vA := 2 | |
Sub12 | |
v7 := 0 | |
v8 := 0 | |
Sub24 | |
Sub25 | |
v0 := -1 | |
delay := v0 | |
loop | |
v0 := 7 | |
if v0 key then Sub4 | |
v0 := 8 | |
if v0 key then Sub5 | |
v0 := 3 | |
if v0 key then Sub6 | |
v0 := 6 | |
if v0 key then Sub7 | |
v0 := 1 | |
if v0 key then Sub1 | |
v0 := 4 | |
if v0 key then Sub2 | |
v0 := 15 | |
if v0 key then vE := 2 | |
v0 := delay | |
if v0 == 0 then Sub13 | |
again | |
: Sub1 | |
v0 := 15 | |
Sub23 | |
v0 := vD | |
Sub18 | |
return | |
: Sub2 | |
Sub22 | |
v0 := vD | |
Sub18 | |
return | |
: Sub3 | |
v0 := vD | |
v1 := 15 | |
v0 &= v1 | |
v1 := vD | |
v1 -= v0 | |
return | |
: Sub4 | |
Sub8 | |
Sub10 | |
Sub3 | |
v0 += -1 | |
if v0 == -1 then v0 := 0 | |
vD := v1 | |
vD += v0 | |
Sub8 | |
Sub10 | |
v0 := 144 | |
Sub11 | |
return | |
: Sub5 | |
Sub8 | |
Sub10 | |
Sub3 | |
v0 += 1 | |
if v0 == 10 then v0 := 9 | |
vD := v1 | |
vD += v0 | |
Sub8 | |
Sub10 | |
v0 := 144 | |
Sub11 | |
return | |
: Sub6 | |
Sub9 | |
Sub10 | |
Sub3 | |
v1 += -16 | |
if v1 == -16 then v1 := 0 | |
vD := v1 | |
vD += v0 | |
Sub9 | |
Sub10 | |
v0 := 144 | |
Sub11 | |
return | |
: Sub7 | |
Sub9 | |
Sub10 | |
Sub3 | |
v1 += 16 | |
if v1 == 96 then v1 := 80 | |
vD := v1 | |
vD += v0 | |
Sub9 | |
Sub10 | |
v0 := 144 | |
Sub11 | |
return | |
: Sub8 | |
Sub3 | |
v0 += 96 | |
Sub16 | |
i := D13 | |
sprite v0 v1 4 | |
return | |
: Sub9 | |
Sub3 | |
v0 := v1 | |
v0 += 10 | |
Sub16 | |
i := D12 | |
sprite v0 v1 8 | |
return | |
: Sub10 | |
v0 := vD | |
Sub16 | |
i := D11 | |
sprite v0 v1 8 | |
return | |
: Sub11 | |
loop | |
v0 += -1 | |
if v0 != 0 then | |
again | |
return | |
: Sub12 | |
i := D19 | |
i += vA | |
load v0 | |
Sub19 | |
v0 := 108 | |
v1 := 28 | |
sprite v0 v1 8 | |
return | |
: Sub13 | |
Sub12 | |
vA += 1 | |
v0 := v9 | |
v1 := -16 | |
v0 &= v1 | |
if v0 == 0 then jump L17 | |
if vA == 4 then jump L19 | |
if vA == 5 then jump L34 | |
: L17 | |
v2 := vA | |
if vB != 0 then jump L18 | |
v2 := 8 | |
v2 -= vA | |
: L18 | |
v0 := vB | |
v0 >>= v5 | |
v0 >>= v5 | |
if v0 != 0 then jump L24 | |
if vB != 0 then v2 += -1 | |
v0 := vC | |
Sub16 | |
v1 += v2 | |
i := D14 | |
sprite v0 v1 1 | |
if vF == 0 then jump L31 | |
if vA != 1 then jump L31 | |
v9 := 0 | |
jump L37 | |
: L19 | |
vB ^= v9 | |
v0 := 7 | |
vB &= v0 | |
v0 := vC | |
Sub16 | |
if v9 != 22 then jump L20 | |
i := D15 | |
v1 += 4 | |
: L20 | |
if v9 != 29 then jump L21 | |
i := D16 | |
v1 += 2 | |
: L21 | |
if v9 != 21 then jump L22 | |
i := D17 | |
v1 += 4 | |
: L22 | |
if v9 != 30 then jump L23 | |
i := D18 | |
v1 += 2 | |
: L23 | |
sprite v0 v1 2 | |
jump L34 | |
: L24 | |
if vB != 5 then jump L26 | |
v3 := 128 | |
loop | |
if v2 == 8 then jump L28 | |
v3 >>= v5 | |
v2 += 1 | |
again | |
: L26 | |
v3 := 1 | |
loop | |
if v2 == 8 then jump L28 | |
v3 <<= v5 | |
v2 += 1 | |
again | |
: L28 | |
v1 := v3 | |
v0 := v3 | |
i := D10 | |
save v1 | |
i := D10 | |
v0 := vC | |
Sub16 | |
v1 += 3 | |
if v9 != 3 then jump L29 | |
if vA == 4 then jump L30 | |
if vA != 5 then : L29 | |
sprite v0 v1 2 | |
: L30 | |
if vF == 0 then jump L31 | |
if vA != 1 then jump L31 | |
v9 := 0 | |
jump L37 | |
: L31 | |
if vA != 8 then jump L34 | |
Sub24 | |
v0 := 0 | |
loop | |
v7 += 1 | |
if v7 != 100 then jump L33 | |
v8 += 1 | |
v7 := 0 | |
: L33 | |
v0 += 1 | |
if v0 != 3 then | |
again | |
Sub24 | |
vA := 0 | |
Sub21 | |
: L34 | |
v0 := vE | |
v1 := v8 | |
v1 += v7 | |
if v1 == 0 then v0 += 176 | |
delay := v0 | |
Sub12 | |
return | |
: Sub14 | |
v0 := 11 | |
loop | |
if v0 -key then | |
again | |
loop | |
if v0 key then | |
again | |
return | |
: L37 | |
v0 := 3 | |
buzzer := v0 | |
Sub14 | |
clear | |
v2 := 0 | |
v3 := 0 | |
loop | |
i := D29 | |
i += v2 | |
load v1 | |
v2 += 2 | |
v3 += v1 | |
if v2 != 120 then | |
again | |
if v3 == 60 then v8 += 1 | |
i := D23 | |
load v1 | |
v0 += v7 | |
v3 := 100 | |
v0 -= v3 | |
v4 := vF | |
if v4 != 0 then v1 += 1 | |
if v4 != 1 then v0 += 100 | |
v1 += v8 | |
i := D23 | |
save v1 | |
v5 := v0 | |
v3 := 40 | |
v4 := 40 | |
i := D22 | |
bcd v1 | |
load v2 | |
i := bighex v0 | |
sprite v3 v4 10 | |
v3 += 11 | |
i := bighex v1 | |
sprite v3 v4 10 | |
v3 += 11 | |
i := bighex v2 | |
sprite v3 v4 10 | |
i := D22 | |
bcd v5 | |
load v2 | |
v3 += 11 | |
i := bighex v1 | |
sprite v3 v4 10 | |
v3 += 11 | |
i := bighex v2 | |
sprite v3 v4 10 | |
Sub24 | |
i := D4 | |
load v0 | |
vE := v0 | |
if vE == 2 then vE += 4 | |
vE += -4 | |
if v8 != 0 then jump L39 | |
v0 >>= v5 | |
v1 := 100 | |
v1 -= v0 | |
v7 -= v1 | |
if vF == 0 then jump L40 | |
: L39 | |
Sub15 | |
if v0 != 0 then jump L3 | |
v3 := 1 | |
jump L41 | |
: L40 | |
i := D27 | |
v0 := 42 | |
v1 := 24 | |
sprite v0 v1 5 | |
v0 += 8 | |
v2 := 5 | |
i += v2 | |
sprite v0 v1 5 | |
Sub15 | |
v3 := 0 | |
: L41 | |
i := D23 | |
load v1 | |
v2 := vE | |
saveflags v3 | |
v0 := 11 | |
loop | |
if v0 key then | |
again | |
v0 := 0 | |
loop | |
if v0 key then | |
again | |
exit | |
: Sub15 | |
i := D6 | |
v3 := 2 | |
v4 := 8 | |
sprite v3 v4 8 | |
i := D8 | |
v3 := 10 | |
sprite v3 v4 8 | |
i := D28 | |
: L44 | |
v3 := 14 | |
v4 := 16 | |
sprite v3 v4 7 | |
loop | |
v0 := 37 | |
Sub11 | |
v0 := 11 | |
if v0 key then jump L46 | |
v0 := 0 | |
if v0 key then jump L46 | |
sprite v3 v4 7 | |
v4 += 2 | |
if v4 == 56 then jump L44 | |
sprite v3 v4 7 | |
again | |
: L46 | |
return | |
: Sub16 | |
v1 := v0 | |
vF := -16 | |
v1 &= vF | |
v1 >>= v5 | |
vF := 15 | |
v0 &= vF | |
v0 <<= v5 | |
v0 <<= v5 | |
v0 <<= v5 | |
v0 += 16 | |
v1 += 2 | |
return | |
0x70 0xf0 0x71 0xfe 0x80 0x56 0x80 0x56 0x80 0x56 0x81 0x5e 0x80 0x14 0x0 0xee | |
: Sub17 | |
i := D29 | |
v1 := v0 | |
vF := 15 | |
v1 &= vF | |
v1 <<= v5 | |
i += v1 | |
vF := -16 | |
v0 &= vF | |
v0 >>= v5 | |
v1 := v0 | |
v1 >>= v5 | |
v1 >>= v5 | |
v0 += v1 | |
v0 <<= v5 | |
i += v0 | |
return | |
: Sub18 | |
v3 := v0 | |
Sub17 | |
load v1 | |
v5 := 0 | |
if v0 != 11 then v5 := -1 | |
if v1 == 0 then jump L47 | |
v1 := 3 | |
buzzer := v1 | |
jump L48 | |
: L47 | |
Sub19 | |
v0 := v3 | |
Sub16 | |
sprite v0 v1 8 | |
v0 := v3 | |
Sub17 | |
v1 := 0 | |
v0 := v2 | |
save v1 | |
v0 := v2 | |
Sub19 | |
v0 := v3 | |
Sub16 | |
sprite v0 v1 8 | |
: L48 | |
Sub24 | |
v7 += v5 | |
if v7 != -1 then jump L50 | |
if v8 == 0 then jump L49 | |
v8 += -1 | |
v7 := 99 | |
jump L50 | |
: L49 | |
v7 := 0 | |
: L50 | |
Sub24 | |
return | |
: Sub19 | |
v1 := 15 | |
v0 &= v1 | |
v0 <<= v5 | |
v0 <<= v5 | |
v0 <<= v5 | |
i := D5 | |
i += v0 | |
return | |
: Sub20 | |
v0 := vC | |
Sub17 | |
load v1 | |
if v0 == 11 then jump L37 | |
v9 := v0 | |
v0 := vC | |
Sub17 | |
v0 := v9 | |
v1 := 1 | |
save v1 | |
return | |
: Sub21 | |
v3 := 0 | |
if vB == 6 then v3 := 1 | |
if vB == 3 then v3 := 16 | |
if vB == 0 then v3 := -16 | |
if vB == 5 then v3 := -1 | |
v1 := vC | |
v1 += v3 | |
vF := -16 | |
v1 &= vF | |
if v1 == -16 then jump L37 | |
if v1 == 96 then jump L37 | |
v1 := vC | |
v1 += v3 | |
vF := 15 | |
v1 &= vF | |
if v1 == 15 then jump L37 | |
if v1 == 10 then jump L37 | |
vC += v3 | |
Sub20 | |
return | |
: Sub22 | |
v1 := vA | |
jump L51 | |
: Sub23 | |
v1 := random 0b111 | |
v0 >>= v5 | |
v0 >>= v5 | |
if v0 == 0 then v1 >>= v5 | |
: L51 | |
i := D19 | |
i += v1 | |
load v0 | |
v5 := v0 | |
v4 := 3 | |
v3 := 0 | |
loop | |
i := D21 | |
i += v3 | |
load v0 | |
v2 := v0 | |
Sub19 | |
v0 := 4 | |
sprite v0 v4 8 | |
i := D21 | |
i += v3 | |
v0 := v5 | |
save v0 | |
Sub19 | |
v0 := 4 | |
sprite v0 v4 8 | |
v4 += 12 | |
v5 := v2 | |
v3 += 1 | |
if v3 != 5 then | |
again | |
return | |
: Sub24 | |
v3 := 105 | |
v4 := 9 | |
i := D22 | |
bcd v8 | |
load v2 | |
i := hex v2 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := D22 | |
bcd v7 | |
load v2 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: Sub25 | |
v0 := vE | |
v0 += -2 | |
v0 >>= v5 | |
v0 >>= v5 | |
v1 := 20 | |
v1 -= v0 | |
i := D22 | |
bcd v1 | |
load v2 | |
i := bighex v1 | |
v3 := 104 | |
v4 := 50 | |
sprite v3 v4 10 | |
v3 += 11 | |
i := bighex v2 | |
sprite v3 v4 10 | |
return | |
: D1 | |
0xf8 0xf8 | |
: D2 | |
0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xc0 0xff | |
: D3 | |
0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0xff | |
: D4 | |
0x0 0x0 | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc3 0xc3 0xc3 0xc3 0xc3 0xc3 0xc3 0xc3 | |
: D6 | |
0xff 0xff 0x0 0x0 0x0 0x0 0xff 0xff 0xc3 0xc3 0x0 0x0 0x0 0x0 0xc3 0xc3 | |
: D7 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
: D8 | |
0xff 0xff 0xf 0x7 0x3 0x3 0x83 0xc3 0xff 0xff 0xf0 0xe0 0xc0 0xc0 0xc1 0xc3 0xff 0xff 0xc0 0xc0 0xc0 0xc0 0xff 0xff 0xff 0xff 0x3 0x3 0x3 0x3 0xff 0xff 0xc3 0xc3 0xc3 0xc3 0xc3 0xc3 0xff 0xff 0xff 0xff 0xc3 0xc3 0xc3 0xc3 0xc3 0xc3 | |
: D9 | |
0x0 0x7e 0x42 0x42 0x42 0x42 0x7e 0x0 | |
: D10 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc3 0xc1 0xc0 0xc0 0xe0 0xf0 0xff 0xff 0xc3 0x83 0x3 0x3 0x7 0xf 0xff 0xff | |
: D11 | |
0x0 0x0 0x18 0x3c 0x3c 0x18 0x0 0x0 | |
: D12 | |
0x0 0x10 0x10 0x70 0x70 0x10 0x10 0x0 | |
: D13 | |
0x0 0x18 0x18 0x7e | |
: D14 | |
0x18 0x0 | |
: D15 | |
0x8 0x4 | |
: D16 | |
0x4 0x8 | |
: D17 | |
0x10 0x20 | |
: D18 | |
0x20 0x10 | |
: D19 | |
0x1d 0x15 0x16 0x1e 0x1 0x2 0x3 0x3 | |
: D20 | |
0x6 0x7 0x5 0x8 0x0 0x9 0x3 0xa | |
: D21 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D22 | |
0x0 0x0 0x0 0x0 | |
: D23 | |
0x0 0x0 0x0 0x0 | |
: D24 | |
0xa3 0xa2 0xe3 0xa2 0xaa 0xbb 0x92 0x93 0x12 0x3a 0xbb 0xa2 0xb3 0x22 0x3a 0x88 0x88 0x88 0x40 0x48 | |
: D25 | |
0xd9 0x92 0xd2 0x52 0xd9 0x3b 0xaa 0xb3 0xaa 0x2b | |
: D26 | |
0x9a 0x92 0x9a 0x91 0xd9 0xb4 0xa4 0xb4 0x24 0x36 | |
: D27 | |
0xea 0xaa 0xae 0xa4 0xe4 0xee 0x8a 0xce 0x89 0xe9 | |
: D28 | |
0x20 0x20 0x70 0xf8 0xf8 0xf8 0x70 0x0 | |
: D29 | |
0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 0xb 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Joust [Erin S. Catto, 1993].ch8 | |
###################################################################### | |
:proto L1 # 20E | |
:proto L5 # 24E | |
:proto L6 # 254 | |
:proto L7 # 26A | |
:proto Sub1 # 29E | |
:proto Sub2 # 2A8 | |
:proto Sub3 # 2CE | |
:proto Sub5 # 2FA | |
:proto L10 # 30E | |
:proto Sub6 # 316 | |
:proto Sub7 # 32A | |
:proto Sub8 # 368 | |
:proto Sub9 # 37A | |
:proto Sub10 # 382 | |
:proto Sub11 # 38A | |
:proto L11 # 3AE | |
:proto L12 # 3B4 | |
:proto Sub13 # 3BA | |
:proto L13 # 3CE | |
:proto L14 # 3DA | |
:proto L15 # 3EA | |
:proto L16 # 400 | |
:proto Sub14 # 40E | |
:proto L17 # 422 | |
:proto L18 # 42E | |
:proto L19 # 43C | |
:proto Sub15 # 440 | |
:proto L20 # 450 | |
:proto L21 # 466 | |
:proto Sub16 # 47C | |
:proto Sub17 # 490 | |
:proto Sub18 # 496 | |
:proto Sub19 # 49C | |
:proto Sub20 # 4A0 | |
:proto Sub21 # 4A4 | |
:proto Sub22 # 4BC | |
:proto Sub23 # 4DC | |
:proto Sub24 # 4E2 | |
:proto L22 # 4E8 | |
:proto L23 # 4F0 | |
:proto Sub25 # 4F8 | |
:proto Sub26 # 516 | |
:proto L24 # 528 | |
:proto L25 # 53A | |
:proto L26 # 546 | |
:proto L27 # 552 | |
:proto L28 # 564 | |
:proto Sub27 # 576 | |
:proto Sub28 # 584 | |
:proto L29 # 592 | |
:proto L30 # 5BA | |
:proto L31 # 5C0 | |
:proto L32 # 5CE | |
:proto L33 # 5EC | |
:proto Sub29 # 5F0 | |
:proto Sub30 # 5F8 | |
:proto Sub31 # 600 | |
:proto Sub32 # 61A | |
:proto L34 # 62E | |
:proto L35 # 634 | |
:proto L36 # 63A | |
:proto Sub33 # 640 | |
:proto Sub34 # 648 | |
:proto Sub35 # 650 | |
:proto L37 # 662 | |
:proto L38 # 670 | |
:proto L39 # 678 | |
:proto L40 # 686 | |
:proto Sub36 # 68E | |
:proto L41 # 698 | |
:proto L42 # 6A4 | |
:proto L43 # 6B0 | |
:proto L44 # 6DA | |
:proto Sub37 # 6E4 | |
:proto Sub38 # 702 | |
:proto Sub39 # 70C | |
:proto Sub40 # 716 | |
:proto Sub41 # 720 | |
:proto Sub42 # 72A | |
:proto Sub43 # 748 | |
:proto Sub44 # 750 | |
:proto Sub45 # 770 | |
:proto Sub46 # 782 | |
:proto L46 # 79E | |
:proto Sub47 # 7AC | |
:proto Sub48 # 7BE | |
:proto L47 # 7D0 | |
:proto L48 # 7D8 | |
:proto L49 # 7E8 | |
:proto Sub49 # 7EC | |
:proto L50 # 800 | |
:proto L51 # 80A | |
:proto L52 # 81C | |
:proto L53 # 836 | |
:proto L54 # 848 | |
:proto Sub50 # 84C | |
:proto Sub51 # 8A8 | |
:proto Sub52 # 8B2 | |
:proto Sub53 # 8D2 | |
:proto Sub54 # 8F0 | |
:proto Sub55 # 90C | |
:proto Sub56 # 940 | |
:proto L57 # 950 | |
:proto Sub57 # 9DC | |
:proto L59 # 9F6 | |
:proto L60 # A04 | |
:proto L61 # A0C | |
:proto L62 # A20 | |
:proto L63 # A38 | |
:proto L64 # A48 | |
:proto D1 # A5A | |
:proto D2 # A5E | |
:proto D3 # A62 | |
:proto D4 # A72 | |
:proto D5 # A82 | |
:proto D6 # A88 | |
:proto D7 # A8E | |
:proto D8 # A94 | |
:proto D9 # A9A | |
:proto D10 # AA0 | |
:proto D11 # AA4 | |
:proto D12 # AA8 | |
:proto D13 # AAC | |
:proto D14 # AB0 | |
:proto D15 # AB4 | |
:proto D16 # ABA | |
:proto D17 # AC0 | |
:proto D18 # AC2 | |
:proto D19 # AC6 | |
: main | |
jump L1 | |
0x20 0x4a 0x6f 0x75 0x73 0x74 0x20 0x76 0x32 0x2e 0x33 0x0 | |
: L1 | |
hires | |
Sub54 | |
: L2 | |
v0 := 0 | |
i := D1 | |
save v0 | |
v8 := 0 | |
v9 := 3 | |
vC := 0 | |
: L3 | |
vD := 15 | |
Sub1 | |
clear | |
vA := 2 | |
vC += 1 | |
vD := 7 | |
vD -= vC | |
if vF == 0 then jump L5 | |
if vC == 4 then v8 := 1 | |
vB := vC | |
vB += 1 | |
: L4 | |
Sub43 | |
vE := 27 | |
vD := 9 | |
vD -= vC | |
if vF == 0 then jump L6 | |
i := bighex vC | |
vD := 60 | |
sprite vD vE 10 | |
Sub44 | |
jump L7 | |
: L5 | |
vB := 8 | |
v8 := 2 | |
jump L4 | |
: L6 | |
i := D14 | |
bcd vC | |
load v2 | |
vD := 55 | |
i := bighex v1 | |
sprite vD vE 10 | |
vD := 65 | |
i := bighex v2 | |
sprite vD vE 10 | |
Sub44 | |
jump L7 | |
: L7 | |
vD := 7 | |
vD &= vC | |
if vD == 7 then jump L57 | |
Sub50 | |
Sub45 | |
Sub30 | |
if vB != 0 then Sub29 | |
vD := 15 | |
Sub1 | |
loop | |
Sub2 | |
if v6 == 221 then jump L43 | |
if vA == 0 then jump L3 | |
Sub5 | |
if v8 != 0 then Sub22 | |
vD := 5 | |
if v8 == 0 then Sub1 | |
vD := 3 | |
if v8 == 1 then Sub1 | |
again | |
: Sub1 | |
delay := vD | |
loop | |
vD := delay | |
if vD != 0 then | |
again | |
return | |
: Sub2 | |
i := D5 | |
load v5 | |
Sub20 | |
v2 := 0 | |
vD := 10 | |
if vD key then Sub19 | |
vD := 3 | |
if vD key then Sub17 | |
vD := 12 | |
if vD key then Sub18 | |
Sub3 | |
if v6 == 221 then return | |
if vF != 0 then Sub26 | |
return | |
: Sub3 | |
Sub46 | |
Sub49 | |
: Sub4 | |
vD := v0 | |
vE := v1 | |
v0 += v2 | |
v1 += v3 | |
i := D3 | |
i += v5 | |
v5 := 127 | |
v0 &= v5 | |
v5 := v4 | |
v6 := v0 | |
v7 := v1 | |
sprite vD vE 8 | |
i := D3 | |
i += v4 | |
sprite v0 v1 8 | |
if v1 == 56 then v6 := 221 | |
i := D5 | |
save v5 | |
return | |
: Sub5 | |
if vA == 1 then jump Sub6 | |
if vA == 2 then jump L10 | |
if vA == 3 then jump L11 | |
if vA == 4 then jump L12 | |
if vA == 5 then jump Sub13 | |
: L10 | |
Sub6 | |
if vA == 2 then Sub8 | |
return | |
: Sub6 | |
i := D6 | |
load v5 | |
vD := random 0b11 | |
if vD == 0 then Sub21 | |
Sub7 | |
Sub9 | |
if vF != 0 then jump L22 | |
return | |
: Sub7 | |
vD := v6 | |
vD -= v0 | |
if vF == 0 then vD =- vF | |
vE := 16 | |
vE -= vD | |
if vF == 0 then return | |
vD := v7 | |
vD -= v1 | |
if vF == 0 then vD =- vF | |
vE := 12 | |
vE -= vD | |
if vF == 0 then return | |
vD := v6 | |
vD -= v0 | |
if vF == 0 then Sub17 | |
if vF != 0 then Sub18 | |
vD := v7 | |
vD -= v1 | |
if vF != 0 then Sub20 | |
if vF == 0 then Sub19 | |
if v1 == v7 then Sub19 | |
return | |
: Sub8 | |
i := D7 | |
load v5 | |
vD := random 0b1 | |
if vD == 0 then Sub21 | |
Sub10 | |
if vF != 0 then jump L23 | |
return | |
: Sub9 | |
Sub11 | |
i := D6 | |
save v5 | |
return | |
: Sub10 | |
Sub11 | |
i := D7 | |
save v5 | |
return | |
: Sub11 | |
Sub46 | |
Sub49 | |
if v1 == 52 then Sub19 | |
: Sub12 | |
vD := v0 | |
vE := v1 | |
v0 += v2 | |
v1 += v3 | |
i := D4 | |
i += v5 | |
v5 := 127 | |
v0 &= v5 | |
v5 := v4 | |
sprite vD vE 8 | |
i := D4 | |
i += v4 | |
sprite v0 v1 8 | |
return | |
: L11 | |
Sub6 | |
Sub13 | |
return | |
: L12 | |
Sub14 | |
Sub13 | |
return | |
: Sub13 | |
i := D8 | |
load v4 | |
if v4 == 2 then jump L13 | |
v2 := 0 | |
Sub15 | |
Sub16 | |
i := D8 | |
save v4 | |
return | |
: L13 | |
v2 += 1 | |
if v2 == 8 then jump L14 | |
i := D8 | |
save v4 | |
return | |
: L14 | |
i := D18 | |
sprite v0 v1 4 | |
if vA == 4 then jump L15 | |
if vA == 3 then jump L16 | |
vA := 0 | |
return | |
: L15 | |
i := D9 | |
load v4 | |
i := D8 | |
save v4 | |
if vB == 0 then vA := 5 | |
if vB == 0 then return | |
Sub30 | |
vA := 3 | |
return | |
: L16 | |
if vB == 0 then vA := 1 | |
if vB == 0 then return | |
Sub29 | |
vA := 2 | |
return | |
: Sub14 | |
i := D9 | |
load v4 | |
if v4 == 2 then jump L17 | |
v2 := 0 | |
Sub15 | |
Sub16 | |
i := D9 | |
save v4 | |
return | |
: L17 | |
v2 += 1 | |
if v2 == 8 then jump L18 | |
i := D9 | |
save v4 | |
return | |
: L18 | |
i := D18 | |
sprite v0 v1 4 | |
if vB == 0 then jump L19 | |
Sub30 | |
vA := 3 | |
return | |
: L19 | |
vA := 5 | |
return | |
: Sub15 | |
if v1 == 24 then jump L20 | |
if v1 == 12 then jump L21 | |
if v1 == 36 then jump L21 | |
v3 := 1 | |
return | |
: L20 | |
Sub47 | |
if v3 != 0 then return | |
vD := 1 | |
buzzer := vD | |
v3 := -3 | |
if v4 == 0 then v2 := -2 | |
if v4 == 1 then v2 := 2 | |
return | |
: L21 | |
Sub48 | |
if v3 != 0 then return | |
vD := 1 | |
buzzer := vD | |
v3 := -3 | |
if v4 == 0 then v2 := -2 | |
if v4 == 1 then v2 := 2 | |
return | |
: Sub16 | |
vD := v0 | |
vE := v1 | |
v0 += v2 | |
v1 += v3 | |
i := D18 | |
sprite vD vE 4 | |
sprite v0 v1 4 | |
if v1 == 56 then v4 := 2 | |
return | |
: Sub17 | |
v4 := 8 | |
v2 := -4 | |
return | |
: Sub18 | |
v4 := 0 | |
v2 := 4 | |
return | |
: Sub19 | |
v3 := -2 | |
return | |
: Sub20 | |
v3 := 2 | |
return | |
: Sub21 | |
vD := random 0b1 | |
buzzer := vD | |
if vD == 0 then Sub17 | |
if vD == 1 then Sub18 | |
vD := random 0b1 | |
if vD == 0 then Sub20 | |
if vD == 1 then Sub19 | |
return | |
: Sub22 | |
vD := random 0b11 | |
if vD != 0 then return | |
i := D17 | |
load v1 | |
vD := 59 | |
i := D16 | |
sprite v0 vD 5 | |
v0 += v1 | |
if v0 == 8 then Sub23 | |
if v0 == 112 then Sub24 | |
i := D17 | |
save v1 | |
return | |
: Sub23 | |
v0 := 16 | |
v1 := 8 | |
return | |
: Sub24 | |
v0 := 104 | |
v1 := -8 | |
return | |
: L22 | |
Sub25 | |
if vF == 0 then jump L29 | |
return | |
: L23 | |
Sub25 | |
if vF == 0 then jump L32 | |
return | |
: Sub25 | |
vD := v6 | |
vD -= v0 | |
if vF == 0 then vD =- vF | |
vE := 8 | |
vD -= vE | |
if vF != 0 then return | |
vD := v7 | |
vD -= v1 | |
if vF == 0 then vD =- vF | |
vE := 8 | |
vD -= vE | |
return | |
: Sub26 | |
if vA == 2 then jump L28 | |
if vA == 1 then jump L29 | |
if vA == 4 then jump L24 | |
if vA == 5 then jump L25 | |
jump L27 | |
: L24 | |
i := D8 | |
load v4 | |
Sub27 | |
if vF == 0 then jump L26 | |
Sub28 | |
if vF == 0 then jump L26 | |
jump L25 | |
: L25 | |
Sub41 | |
Sub38 | |
Sub38 | |
i := D8 | |
load v4 | |
jump L14 | |
: L26 | |
Sub41 | |
Sub38 | |
Sub38 | |
i := D9 | |
load v4 | |
jump L18 | |
: L27 | |
i := D6 | |
load v5 | |
Sub27 | |
if vF == 0 then jump L25 | |
Sub28 | |
if vF == 0 then jump L25 | |
jump L29 | |
: L28 | |
i := D6 | |
load v5 | |
Sub27 | |
if vF == 0 then jump L32 | |
Sub28 | |
if vF == 0 then jump L32 | |
jump L29 | |
: Sub27 | |
vD := v6 | |
vD -= v0 | |
if vF == 0 then vD =- vF | |
vE := 8 | |
vE -= vD | |
return | |
: Sub28 | |
vD := v7 | |
vD -= v1 | |
if vF == 0 then vD =- vF | |
vE := 8 | |
vE -= vD | |
return | |
: L29 | |
i := D6 | |
load v5 | |
if v7 == v1 then jump L37 | |
vD := v7 | |
vD -= v1 | |
if vF != 0 then jump L33 | |
Sub39 | |
i := D4 | |
i += v5 | |
sprite v0 v1 8 | |
if vA == 3 then jump L30 | |
if vA == 2 then jump L31 | |
if vA == 1 then vA := 5 | |
Sub33 | |
return | |
: L30 | |
vA := 4 | |
Sub34 | |
return | |
: L31 | |
Sub33 | |
i := D7 | |
load v5 | |
i := D6 | |
save v5 | |
vA := 3 | |
return | |
: L32 | |
i := D7 | |
load v5 | |
if v7 == v1 then jump L39 | |
vD := v7 | |
vD -= v1 | |
if vF != 0 then jump L33 | |
Sub39 | |
i := D4 | |
i += v5 | |
sprite v0 v1 8 | |
vA := 3 | |
Sub33 | |
return | |
: L33 | |
v6 := 221 | |
return | |
: Sub29 | |
Sub31 | |
i := D7 | |
save v5 | |
return | |
: Sub30 | |
Sub31 | |
i := D6 | |
save v5 | |
return | |
: Sub31 | |
Sub32 | |
vB += -1 | |
Sub19 | |
vD := random 0b1 | |
if vD != 1 then Sub17 | |
if vD != 0 then Sub18 | |
i := D4 | |
i += v4 | |
sprite v0 v1 8 | |
v5 := v4 | |
return | |
: Sub32 | |
vD := random 0b11 | |
if vD == 0 then jump L36 | |
if vD == 1 then jump L35 | |
if vD == 2 then jump L34 | |
v0 := 120 | |
v1 := 52 | |
return | |
: L34 | |
v0 := 64 | |
v1 := 32 | |
return | |
: L35 | |
v0 := 64 | |
v1 := 8 | |
return | |
: L36 | |
v0 := 8 | |
v1 := 20 | |
return | |
: Sub33 | |
Sub35 | |
i := D8 | |
save v4 | |
return | |
: Sub34 | |
Sub35 | |
i := D9 | |
save v4 | |
return | |
: Sub35 | |
v1 += 8 | |
vD := 55 | |
vD -= v1 | |
if vF == 0 then v1 := 55 | |
v4 := random 0b1 | |
i := D18 | |
sprite v0 v1 4 | |
return | |
: L37 | |
Sub36 | |
if vF != 0 then jump L38 | |
Sub18 | |
Sub9 | |
Sub9 | |
jump L42 | |
: L38 | |
Sub17 | |
Sub9 | |
Sub9 | |
jump L41 | |
: L39 | |
Sub36 | |
if vF != 0 then jump L40 | |
Sub18 | |
Sub10 | |
Sub10 | |
jump L42 | |
: L40 | |
Sub17 | |
Sub10 | |
Sub10 | |
jump L41 | |
: Sub36 | |
vD := 3 | |
buzzer := vD | |
vD := v6 | |
vD -= v0 | |
return | |
: L41 | |
i := D5 | |
load v5 | |
Sub18 | |
Sub3 | |
Sub3 | |
return | |
: L42 | |
i := D5 | |
load v5 | |
Sub17 | |
Sub3 | |
Sub3 | |
return | |
: L43 | |
Sub39 | |
Sub38 | |
Sub40 | |
vD := 10 | |
Sub1 | |
v9 += -1 | |
if v9 == 0 then jump L44 | |
if vA == 1 then vB += 1 | |
if vA == 3 then vB += 1 | |
if vA == 2 then vB += 2 | |
vA := 2 | |
if vB == 0 then jump L3 | |
vA := 2 | |
if vB == 1 then vA := 1 | |
jump L7 | |
: L44 | |
Sub37 | |
clear | |
Sub42 | |
Sub55 | |
jump L2 | |
: Sub37 | |
vD := 12 | |
buzzer := vD | |
vD := 24 | |
Sub1 | |
Sub39 | |
Sub39 | |
Sub40 | |
Sub40 | |
vD := 32 | |
Sub1 | |
Sub40 | |
Sub40 | |
vD := 32 | |
Sub1 | |
return | |
: Sub38 | |
vD := 2 | |
buzzer := vD | |
vD := 5 | |
Sub1 | |
return | |
: Sub39 | |
vD := 4 | |
buzzer := vD | |
vD := 10 | |
Sub1 | |
return | |
: Sub40 | |
vD := 8 | |
buzzer := vD | |
vD := 20 | |
Sub1 | |
return | |
: Sub41 | |
i := D1 | |
load v0 | |
v0 += 1 | |
save v0 | |
return | |
: Sub42 | |
i := D1 | |
load v0 | |
bcd v0 | |
load v2 | |
vE := 27 | |
vD := 49 | |
i := bighex v0 | |
sprite vD vE 10 | |
vD += 10 | |
i := bighex v1 | |
sprite vD vE 10 | |
vD += 10 | |
i := bighex v2 | |
sprite vD vE 10 | |
return | |
: Sub43 | |
v3 := 0 | |
v4 := 0 | |
v5 := 124 | |
v6 := 62 | |
: Sub44 | |
i := D2 | |
loop | |
sprite v3 v4 3 | |
sprite v3 v6 3 | |
sprite v5 v4 3 | |
sprite v5 v6 3 | |
v3 += 4 | |
v4 += 2 | |
v5 += -4 | |
v6 += -2 | |
vD := 4 | |
Sub1 | |
if v3 == 64 then return | |
if v3 == 128 then return | |
again | |
: Sub45 | |
v4 := 0 | |
v5 := 0 | |
v0 := 112 | |
v1 := 20 | |
i := D3 | |
sprite v0 v1 8 | |
i := D5 | |
save v5 | |
return | |
: Sub46 | |
if v1 == 0 then jump L47 | |
if v1 == 52 then jump L48 | |
vD := 2 | |
if v3 != vD then jump L46 | |
if v1 == 20 then jump Sub47 | |
if v1 == 8 then jump Sub48 | |
if v1 == 32 then jump Sub48 | |
return | |
: L46 | |
if v1 == 32 then jump Sub47 | |
if v1 == 20 then jump Sub48 | |
if v1 == 44 then jump Sub48 | |
return | |
: Sub47 | |
vD := 16 | |
vD =- v0 | |
if vF == 0 then jump L49 | |
vD := 104 | |
vD -= v0 | |
if vF == 0 then jump L49 | |
return | |
: Sub48 | |
vD := 41 | |
vD =- v0 | |
if vF == 0 then return | |
vD := 80 | |
vD =- v0 | |
if vF == 0 then jump L49 | |
return | |
: L47 | |
vD := -2 | |
if v3 == vD then Sub20 | |
return | |
: L48 | |
vD := 2 | |
if v3 != vD then return | |
if v8 == 0 then jump L49 | |
if v8 != 0 then jump Sub47 | |
return | |
: L49 | |
v3 := 0 | |
return | |
: Sub49 | |
if v2 == 0 then return | |
vD := 4 | |
if v2 != vD then jump L50 | |
if v0 == 104 then jump L51 | |
if v0 == 40 then jump L52 | |
return | |
: L50 | |
if v0 == 16 then jump L51 | |
if v0 == 80 then jump L52 | |
return | |
: L51 | |
vD := 17 | |
vD =- v1 | |
if vF == 0 then return | |
vD := 33 | |
vD =- v1 | |
if vF == 0 then jump L54 | |
return | |
: L52 | |
vD := 28 | |
vD -= v1 | |
if vF == 0 then jump L53 | |
vD := 5 | |
vD =- v1 | |
if vF == 0 then return | |
vD := 21 | |
vD =- v1 | |
if vF == 0 then jump L54 | |
return | |
: L53 | |
vD := 29 | |
vD =- v1 | |
if vF == 0 then return | |
vD := 45 | |
vD =- v1 | |
if vF == 0 then jump L54 | |
return | |
: L54 | |
v2 := 0 | |
return | |
: Sub50 | |
clear | |
vD := 0 | |
vE := 60 | |
i := D13 | |
sprite vD vE 4 | |
vD := 8 | |
sprite vD vE 4 | |
i := D12 | |
vD := 16 | |
if v8 == 0 then Sub51 | |
if v8 != 0 then Sub52 | |
i := D12 | |
vE := 28 | |
vD := 120 | |
sprite vD vE 4 | |
vD := 0 | |
sprite vD vE 4 | |
vD := 56 | |
vE := 16 | |
sprite vD vE 4 | |
vD := 64 | |
sprite vD vE 4 | |
vE := 40 | |
sprite vD vE 4 | |
vD := 56 | |
sprite vD vE 4 | |
i := D10 | |
vD := 72 | |
sprite vD vE 4 | |
vE := 16 | |
sprite vD vE 4 | |
vD := 8 | |
vE := 28 | |
sprite vD vE 4 | |
i := D11 | |
vD := 112 | |
sprite vD vE 4 | |
vE := 40 | |
vD := 48 | |
sprite vD vE 4 | |
vE := 16 | |
sprite vD vE 4 | |
Sub53 | |
return | |
: Sub51 | |
loop | |
sprite vD vE 4 | |
vD += 8 | |
if vD != 128 then | |
again | |
return | |
: Sub52 | |
vD := 112 | |
sprite vD vE 4 | |
vD := 120 | |
sprite vD vE 4 | |
vD := 16 | |
i := D15 | |
vE := 59 | |
loop | |
sprite vD vE 5 | |
vD += 8 | |
if vD != 112 then | |
again | |
v0 := 104 | |
v1 := -8 | |
i := D17 | |
save v1 | |
return | |
: Sub53 | |
if v9 == 1 then return | |
vD := 1 | |
vE := 61 | |
i := D2 | |
sprite vD vE 3 | |
vD += 4 | |
if v9 != 2 then sprite vD vE 3 | |
vD += 4 | |
v6 := 3 | |
v6 -= v9 | |
if vF == 0 then sprite vD vE 3 | |
return | |
: Sub54 | |
i := D19 | |
vD := 36 | |
vE := 24 | |
sprite vD vE 0 | |
v0 := 32 | |
i += v0 | |
vD += 16 | |
sprite vD vE 0 | |
i += v0 | |
vD += 16 | |
sprite vD vE 0 | |
i += v0 | |
vD += 16 | |
sprite vD vE 0 | |
: Sub55 | |
v8 := 0 | |
vB := 1 | |
vA := 0 | |
Sub30 | |
Sub45 | |
Sub18 | |
i := D5 | |
save v5 | |
loop | |
vD := 10 | |
Sub1 | |
i := D5 | |
load v5 | |
Sub56 | |
Sub4 | |
i := D5 | |
save v5 | |
i := D6 | |
load v5 | |
Sub56 | |
Sub12 | |
i := D6 | |
save v5 | |
vD := 10 | |
if vD -key then | |
again | |
return | |
: Sub56 | |
vD := random 0b1111 | |
if vD == 0 then Sub21 | |
if v1 == 2 then v3 := 2 | |
if v1 == 54 then v3 := -2 | |
return | |
: L57 | |
Sub50 | |
Sub45 | |
i := D18 | |
vE := 12 | |
vD := 50 | |
sprite vD vE 4 | |
vD += 12 | |
sprite vD vE 4 | |
vD += 12 | |
sprite vD vE 4 | |
vE := 36 | |
vD := 50 | |
sprite vD vE 4 | |
vD += 12 | |
sprite vD vE 4 | |
vD += 12 | |
sprite vD vE 4 | |
vE := 24 | |
vD := 10 | |
sprite vD vE 4 | |
vE := 56 | |
sprite vD vE 4 | |
vD := 114 | |
sprite vD vE 4 | |
v6 := 0 | |
v7 := 0 | |
loop | |
v7 += 1 | |
if v7 == 106 then jump L3 | |
vD := 1 | |
buzzer := vD | |
vD := 3 | |
Sub1 | |
i := D5 | |
load v5 | |
Sub20 | |
v2 := 0 | |
vD := 10 | |
if vD key then Sub19 | |
vD := 3 | |
if vD key then Sub17 | |
vD := 12 | |
if vD key then Sub18 | |
Sub46 | |
Sub49 | |
vD := v0 | |
vE := v1 | |
v0 += v2 | |
v1 += v3 | |
i := D3 | |
i += v5 | |
v5 := 127 | |
v0 &= v5 | |
v5 := v4 | |
sprite vD vE 8 | |
i := D3 | |
i += v4 | |
sprite v0 v1 8 | |
if v1 == 56 then jump L63 | |
i := D5 | |
save v5 | |
if vF != 0 then Sub57 | |
if v6 == 9 then jump L64 | |
again | |
: Sub57 | |
vE := 52 | |
if v1 == vE then jump L59 | |
vE := 20 | |
if v1 == vE then jump L60 | |
vE := 8 | |
if v1 == vE then jump L61 | |
vE := 32 | |
if v1 == vE then jump L61 | |
return | |
: L59 | |
vD := 112 | |
if v0 == vD then jump L62 | |
vD := 8 | |
if v0 == vD then jump L62 | |
return | |
: L60 | |
vD := 8 | |
if v0 == vD then jump L62 | |
return | |
: L61 | |
vD := 48 | |
if v0 == vD then jump L62 | |
vD += 12 | |
if v0 == vD then jump L62 | |
vD += 12 | |
if v0 == vD then jump L62 | |
return | |
: L62 | |
vD += 2 | |
vE += 4 | |
i := D18 | |
sprite vD vE 4 | |
Sub38 | |
Sub38 | |
v6 += 1 | |
i := D1 | |
load v0 | |
v0 += 1 | |
save v0 | |
return | |
: L63 | |
vD := 8 | |
buzzer := vD | |
vD := 20 | |
Sub1 | |
v9 += -1 | |
if v9 == 0 then jump L44 | |
jump L3 | |
: L64 | |
i := D1 | |
load v0 | |
v0 += 8 | |
save v0 | |
v9 += 1 | |
Sub40 | |
Sub39 | |
Sub40 | |
jump L3 | |
: D1 | |
0x0 0x0 0x0 0x0 | |
: D2 | |
0x40 0xe0 0x40 0x0 | |
: D3 | |
0x66 0x6f 0x4c 0xff 0x6c 0xdc 0xec 0x78 0x66 0xf6 0x32 0xff 0x36 0x3b 0x37 0x1e | |
: D4 | |
0x6e 0x6f 0x4c 0xff 0x6c 0xbe 0x9e 0x7c 0x76 0xf6 0x32 0xff 0x36 0x7d 0x79 0x3e | |
: D5 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D8 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D9 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D10 | |
0xff 0xba 0xe8 0x80 | |
: D11 | |
0xff 0x6d 0x1b 0x2 | |
: D12 | |
0xff 0xee 0xbb 0xb6 | |
: D13 | |
0xff 0xff 0xff 0xff | |
: D14 | |
0x0 0x0 0x0 0x0 | |
: D15 | |
0x6 0x1c 0x28 0x4c 0xfe 0x0 | |
: D16 | |
0x66 0x24 0x3c 0x6e 0x0 0x0 | |
: D17 | |
0x0 0x0 | |
: D18 | |
0x60 0xb0 0xf0 0x60 | |
: D19 | |
0x0 0xc0 0x0 0xc0 0x0 0xc0 0x0 0xc0 0x0 0xc0 0x0 0xc0 0x0 0xc3 0x0 0xc7 0x0 0xcc 0x0 0xcc 0xc0 0xcc 0xc0 0xcc 0xc0 0xcc 0xc0 0xcc 0x7f 0x87 0x3f 0x3 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0xc0 0xf8 0xc0 0xc 0xc0 0xc 0xc0 0xc 0xc0 0xc 0xc0 0xc 0xc0 0xc 0xc0 0xf8 0x7f 0xf0 0x3f 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc3 0xfc 0xc7 0xfc 0xcc 0x0 0xcc 0x0 0xc7 0xf0 0xc3 0xf8 0xc0 0xc 0xc0 0xc 0xcf 0xf8 0xcf 0xf0 0x0 0x0 0x0 0x0 0x30 0x0 0x30 0x0 0x30 0x0 0x30 0x0 0xfc 0x0 0xfc 0x0 0x30 0x0 0x30 0x0 0x30 0x0 0x30 0x0 0x33 0x0 0x33 0x0 0x1e 0x0 0xc 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Laser.ch8 | |
###################################################################### | |
:proto L2 # 220 | |
:proto L5 # 234 | |
:proto L6 # 238 | |
:proto L7 # 23A | |
:proto Sub1 # 274 | |
:proto L10 # 28A | |
:proto L12 # 2AC | |
:proto Sub2 # 2B8 | |
:proto L13 # 2CC | |
:proto L14 # 2D8 | |
:proto L15 # 2E6 | |
:proto L16 # 2E8 | |
:proto L17 # 2F4 | |
:proto Sub3 # 300 | |
:proto Sub4 # 30C | |
:proto Sub5 # 318 | |
:proto Sub6 # 324 | |
:proto Sub7 # 330 | |
:proto Sub8 # 358 | |
:proto D1 # 360 | |
:proto D2 # 366 | |
:proto D3 # 36C | |
: main | |
hires | |
clear | |
v0 := 0 | |
v1 := 56 | |
v8 := 0 | |
v9 := 0 | |
vA := 0 | |
vB := 0 | |
vC := 127 | |
vD := 50 | |
i := D3 | |
loop | |
sprite v0 v1 2 | |
v0 += 8 | |
if v0 == 128 then jump L2 | |
again | |
: L2 | |
Sub7 | |
Sub8 | |
loop | |
v0 := 14 | |
if v0 key then jump L5 | |
v0 := 15 | |
if v0 key then jump L6 | |
again | |
: L4 | |
loop | |
again | |
: L5 | |
v6 := 1 | |
jump L7 | |
: L6 | |
v6 := 0 | |
: L7 | |
v6 := v6 | |
: L8 | |
v0 := 1 | |
buzzer := v0 | |
v0 := 1 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
v0 := 1 | |
if v0 key then Sub5 | |
v0 := 4 | |
if v0 key then Sub6 | |
v0 := 2 | |
if v0 key then Sub2 | |
if v6 == 1 then jump L14 | |
v0 := 12 | |
if v0 key then Sub3 | |
v0 := 13 | |
if v0 key then Sub4 | |
v0 := 3 | |
if v0 key then Sub1 | |
jump L15 | |
: Sub1 | |
i := D1 | |
v0 := 0 | |
sprite v0 vD 6 | |
v4 := vF | |
v0 := 5 | |
buzzer := v0 | |
v0 := 0 | |
sprite v0 vD 6 | |
if v4 == 1 then jump L10 | |
return | |
: L10 | |
Sub7 | |
v9 += 1 | |
Sub7 | |
if v9 == 99 then jump L4 | |
return | |
: L11 | |
i := D1 | |
v0 := 0 | |
sprite v0 vD 6 | |
v4 := vF | |
v0 := 5 | |
buzzer := v0 | |
v0 := 0 | |
sprite v0 vD 6 | |
if v4 == 1 then jump L12 | |
jump L15 | |
: L12 | |
Sub7 | |
v9 += 1 | |
Sub7 | |
if v9 == 99 then jump L4 | |
jump L15 | |
: Sub2 | |
v0 := 127 | |
sprite v0 vB 6 | |
v0 := 5 | |
buzzer := v0 | |
v4 := vF | |
v0 := 127 | |
sprite v0 vB 6 | |
if v4 == 1 then jump L13 | |
return | |
: L13 | |
Sub7 | |
v8 += 1 | |
Sub7 | |
if v8 == 99 then jump L4 | |
return | |
: L14 | |
v0 := random 0b11 | |
if v0 == 0 then jump L11 | |
if v0 == 1 then jump L16 | |
if v0 == 2 then jump L17 | |
: L15 | |
jump L8 | |
: L16 | |
if vD == 0 then jump L15 | |
Sub8 | |
vD += -2 | |
Sub8 | |
jump L15 | |
: L17 | |
if vD == 50 then jump L15 | |
Sub8 | |
vD += 2 | |
Sub8 | |
jump L15 | |
: Sub3 | |
if vD == 0 then return | |
Sub8 | |
vD += -2 | |
Sub8 | |
return | |
: Sub4 | |
if vD == 50 then return | |
Sub8 | |
vD += 2 | |
Sub8 | |
return | |
: Sub5 | |
if vB == 0 then return | |
Sub8 | |
vB += -2 | |
Sub8 | |
return | |
: Sub6 | |
if vB == 50 then return | |
Sub8 | |
vB += 2 | |
Sub8 | |
return | |
: Sub7 | |
i := D2 | |
v3 := 0 | |
v4 := 59 | |
bcd v8 | |
load v2 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
v3 := 119 | |
i := D2 | |
bcd v9 | |
load v2 | |
i := hex v1 | |
sprite v3 v4 5 | |
i := hex v2 | |
v3 += 5 | |
sprite v3 v4 5 | |
return | |
: Sub8 | |
i := D1 | |
sprite vA vB 6 | |
sprite vC vD 6 | |
return | |
: D1 | |
0x80 0x80 0x80 0x80 0x80 0x80 | |
: D2 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D3 | |
0xff 0xff | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Loopz [Andreas Daumann].ch8 | |
###################################################################### | |
:proto L1 # 20F | |
:proto L3 # 2A1 | |
:proto L6 # 2C1 | |
:proto Sub2 # 313 | |
:proto Sub5 # 369 | |
:proto L16 # 3A9 | |
:proto L17 # 3B1 | |
:proto Sub8 # 3C9 | |
:proto L21 # 3DF | |
:proto L22 # 3E1 | |
:proto L23 # 3FD | |
:proto Sub9 # 407 | |
:proto Sub10 # 429 | |
:proto L25 # 43D | |
:proto Sub11 # 449 | |
:proto L26 # 453 | |
:proto Sub12 # 455 | |
:proto L27 # 461 | |
:proto Sub13 # 463 | |
:proto L28 # 46D | |
:proto Sub14 # 46F | |
:proto L29 # 47B | |
:proto Sub15 # 47D | |
:proto L30 # 487 | |
:proto L31 # 489 | |
:proto Sub16 # 48D | |
:proto L34 # 4A5 | |
:proto L35 # 4A7 | |
:proto L36 # 4C7 | |
:proto L37 # 4D9 | |
:proto L38 # 4DF | |
:proto L41 # 4FB | |
:proto L42 # 4FD | |
:proto L43 # 519 | |
:proto L44 # 52B | |
:proto L45 # 531 | |
:proto Sub17 # 541 | |
:proto L48 # 5AF | |
:proto L49 # 5C1 | |
:proto L50 # 601 | |
:proto L51 # 603 | |
:proto L52 # 61F | |
:proto L53 # 623 | |
:proto Sub18 # 629 | |
:proto L55 # 66B | |
:proto L56 # 679 | |
:proto Sub19 # 681 | |
:proto L60 # 701 | |
:proto L61 # 713 | |
:proto L62 # 72F | |
:proto L63 # 74B | |
:proto L64 # 759 | |
:proto Sub21 # 76B | |
:proto L66 # 78B | |
:proto Sub22 # 799 | |
:proto Sub24 # 7C9 | |
:proto Sub25 # 7D7 | |
:proto Sub26 # 7E7 | |
:proto Sub27 # 80F | |
:proto Sub28 # 837 | |
:proto L70 # 84F | |
:proto L71 # 865 | |
:proto Sub29 # 869 | |
:proto L74 # 885 | |
:proto L75 # 8A7 | |
:proto Sub30 # 8AF | |
:proto L78 # 8F5 | |
:proto D1 # 8FF | |
:proto D2 # 935 | |
:proto D3 # 93A | |
:proto D4 # 93E | |
:proto D5 # 970 | |
:proto D6 # A24 | |
:proto D7 # AD8 | |
:proto D8 # AD9 | |
:proto D9 # B44 | |
:proto D10 # B58 | |
:proto D11 # B61 | |
:proto D12 # B65 | |
:proto D13 # C65 | |
:proto D14 # C79 | |
:proto D15 # C8D | |
:proto D16 # C97 | |
:proto D17 # C99 | |
:proto D18 # C9A | |
:proto D19 # D18 | |
:proto D20 # D96 | |
:proto D21 # D97 | |
:proto D22 # DB5 | |
:proto D23 # DB6 | |
:proto D24 # DB9 | |
:proto D25 # DBA | |
:proto D26 # DC4 | |
:proto D27 # DC7 | |
:proto D28 # DCD | |
:proto D29 # DCE | |
:proto D30 # DCF | |
:proto D31 # DD0 | |
:proto D32 # DD1 | |
:proto D33 # DD2 | |
:proto D34 # DD3 | |
:proto D35 # DD4 | |
:proto D36 # DD5 | |
:proto D37 # DD6 | |
:proto D38 # DD7 | |
:proto D39 # DE1 | |
:proto D40 # DEB | |
:proto D41 # DEC | |
:proto D42 # DED | |
:proto D43 # EC5 | |
: main | |
jump L1 | |
0x28 0x63 0x29 0x20 0x41 0x2e 0x44 0x61 0x75 0x6d 0x61 0x6e 0x6e | |
: L1 | |
clear | |
hires | |
loadflags v2 | |
if v1 != 170 then exit | |
if v2 != 170 then exit | |
i := D37 | |
save v0 | |
Sub2 | |
Sub5 | |
v0 := 0 | |
i := D22 | |
save v0 | |
Sub21 | |
i := D24 | |
v0 := 2 | |
save v0 | |
Sub24 | |
v0 := 0 | |
i := D28 | |
save v0 | |
i := D29 | |
save v0 | |
i := D30 | |
save v0 | |
i := D31 | |
save v0 | |
i := D32 | |
save v0 | |
i := D33 | |
save v0 | |
i := D34 | |
save v0 | |
i := D35 | |
save v0 | |
i := D36 | |
save v0 | |
Sub26 | |
Sub27 | |
v8 := 8 | |
v9 := 3 | |
Sub9 | |
Sub8 | |
: L2 | |
loop | |
v0 := 7 | |
if v0 key then Sub12 | |
v0 := 8 | |
if v0 key then Sub11 | |
v0 := 12 | |
if v0 key then Sub14 | |
v0 := 13 | |
if v0 key then Sub13 | |
v0 := 6 | |
if v0 key then Sub15 | |
v0 := 5 | |
if v0 key then Sub16 | |
Sub22 | |
i := D22 | |
load v0 | |
if v0 != 0 then | |
again | |
Sub25 | |
i := D24 | |
load v0 | |
if v0 != -1 then jump L3 | |
jump L6 | |
: L3 | |
v0 := -1 | |
: L4 | |
v0 += 1 | |
v1 := 15 | |
buzzer := v1 | |
v1 := 40 | |
delay := v1 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
if v0 != 2 then jump L4 | |
Sub21 | |
Sub8 | |
Sub9 | |
Sub8 | |
jump L2 | |
: L6 | |
Sub8 | |
Sub30 | |
v0 := -1 | |
: L7 | |
v0 += 2 | |
v1 := 15 | |
buzzer := v0 | |
v1 := 11 | |
delay := v1 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
if v0 != 11 then jump L7 | |
i := D31 | |
load v5 | |
v6 := 170 | |
v7 := 170 | |
saveflags v7 | |
v0 := key | |
v0 := -1 | |
loop | |
v0 += 1 | |
scroll-down 1 | |
if v0 != 64 then | |
again | |
exit | |
: Sub1 | |
i := D9 | |
i += v5 | |
load v0 | |
v2 := v0 | |
i := D10 | |
i += v6 | |
load v0 | |
v3 := v0 | |
v1 := 6 | |
i := D10 | |
i += v7 | |
load v0 | |
i := D1 | |
i += v0 | |
sprite v2 v3 6 | |
return | |
: Sub2 | |
v1 := -1 | |
loop | |
v1 += 1 | |
i := D5 | |
i += v1 | |
load v0 | |
i := D6 | |
i += v1 | |
save v0 | |
if v1 != 179 then | |
again | |
return | |
: Sub3 | |
v1 := -21 | |
v0 := -1 | |
loop | |
v0 += 1 | |
v1 += 1 | |
if v0 != v5 then | |
again | |
v0 := -1 | |
loop | |
v0 += 1 | |
v1 += 20 | |
if v0 != v6 then | |
again | |
i := D6 | |
i += v1 | |
load v0 | |
v7 := v0 | |
return | |
: Sub4 | |
v1 := -21 | |
v0 := -1 | |
loop | |
v0 += 1 | |
v1 += 1 | |
if v0 != v5 then | |
again | |
v0 := -1 | |
loop | |
v0 += 1 | |
v1 += 20 | |
if v0 != v6 then | |
again | |
i := D6 | |
i += v1 | |
v0 := v7 | |
save v0 | |
return | |
: Sub5 | |
v1 := -2 | |
v7 := 7 | |
loop | |
v1 += 2 | |
i := D7 | |
i += v1 | |
load v0 | |
v5 := v0 | |
i := D8 | |
i += v1 | |
load v0 | |
v6 := v0 | |
saveflags v1 | |
Sub1 | |
loadflags v1 | |
if v1 != 106 then | |
again | |
return | |
: Sub6 | |
if vA == 6 then jump L16 | |
if vA == 7 then jump L16 | |
if vA == 8 then jump L16 | |
if vA == 9 then jump L16 | |
if vA == 10 then jump L16 | |
if vA == 11 then jump L16 | |
vD := 0 | |
v7 := vA | |
jump L17 | |
: L16 | |
vD := 1 | |
v7 := vA | |
v0 := 6 | |
v7 -= v0 | |
: L17 | |
vE := 220 | |
v0 := -1 | |
loop | |
vE += 36 | |
v0 += 1 | |
if v0 != v7 then | |
again | |
return | |
: Sub7 | |
i := D11 | |
i += vB | |
load v0 | |
vC := v0 | |
return | |
: Sub8 | |
Sub7 | |
v1 := -1 | |
v3 := -1 | |
: L19 | |
v2 := -1 | |
v3 += 1 | |
loop | |
v2 += 1 | |
v1 += 1 | |
if vD != 0 then jump L21 | |
i := D42 | |
jump L22 | |
: L21 | |
i := D43 | |
: L22 | |
i += vE | |
i += vC | |
i += v1 | |
load v0 | |
if v0 == -1 then jump L23 | |
v5 := v2 | |
v5 += v8 | |
v6 := v3 | |
v6 += v9 | |
v7 := v0 | |
saveflags v3 | |
Sub1 | |
loadflags v3 | |
: L23 | |
if v2 != 2 then | |
again | |
if v3 != 2 then jump L19 | |
return | |
: Sub9 | |
v1 := 0 | |
v1 := random 0b11111111 | |
i := D12 | |
i += v1 | |
load v0 | |
vA := v0 | |
vB := 0 | |
Sub6 | |
if vA != 11 then return | |
Sub10 | |
if v7 != 1 then return | |
vA := 0 | |
vB := 0 | |
Sub6 | |
return | |
: Sub10 | |
v7 := 0 | |
v2 := 0 | |
v1 := -1 | |
loop | |
v1 += 1 | |
i := D6 | |
i += v1 | |
load v0 | |
if v0 != 6 then jump L25 | |
v2 += 1 | |
: L25 | |
if v1 != 179 then | |
again | |
if v2 != 126 then return | |
v7 := 1 | |
return | |
: Sub11 | |
if v8 == 17 then jump L26 | |
Sub8 | |
v8 += 1 | |
Sub8 | |
: L26 | |
return | |
: Sub12 | |
if v8 == 0 then jump L27 | |
Sub8 | |
v0 := 1 | |
v8 -= v0 | |
Sub8 | |
: L27 | |
return | |
: Sub13 | |
if v9 == 6 then jump L28 | |
Sub8 | |
v9 += 1 | |
Sub8 | |
: L28 | |
return | |
: Sub14 | |
if v9 == 0 then jump L29 | |
Sub8 | |
v0 := 1 | |
v9 -= v0 | |
Sub8 | |
: L29 | |
return | |
: Sub15 | |
Sub8 | |
if vB == 3 then jump L30 | |
vB += 1 | |
jump L31 | |
: L30 | |
vB := 0 | |
: L31 | |
Sub8 | |
return | |
: Sub16 | |
Sub7 | |
v1 := -1 | |
v4 := 0 | |
v3 := -1 | |
: L32 | |
v2 := -1 | |
v3 += 1 | |
loop | |
v2 += 1 | |
v1 += 1 | |
if vD != 0 then jump L34 | |
i := D42 | |
jump L35 | |
: L34 | |
i := D43 | |
: L35 | |
i += vE | |
i += vC | |
i += v1 | |
load v0 | |
if v0 == -1 then jump L36 | |
v5 := v2 | |
v5 += v8 | |
v6 := v3 | |
v6 += v9 | |
saveflags v3 | |
Sub3 | |
loadflags v3 | |
if v7 == 6 then jump L36 | |
v4 := 1 | |
: L36 | |
if v2 != 2 then | |
again | |
if v3 != 2 then jump L32 | |
if v4 != 0 then jump L37 | |
if vA == 11 then jump L44 | |
jump L38 | |
: L37 | |
if vA == 11 then jump L45 | |
jump L44 | |
: L38 | |
v0 := 2 | |
buzzer := v0 | |
Sub7 | |
v1 := -1 | |
v4 := 0 | |
v3 := -1 | |
: L39 | |
v2 := -1 | |
v3 += 1 | |
loop | |
v2 += 1 | |
v1 += 1 | |
if vD != 0 then jump L41 | |
i := D42 | |
jump L42 | |
: L41 | |
i := D43 | |
: L42 | |
i += vE | |
i += vC | |
i += v1 | |
load v0 | |
if v0 == -1 then jump L43 | |
v5 := v2 | |
v5 += v8 | |
v6 := v3 | |
v6 += v9 | |
saveflags v3 | |
v7 := v0 | |
Sub4 | |
loadflags v3 | |
: L43 | |
if v2 != 2 then | |
again | |
if v3 != 2 then jump L39 | |
Sub17 | |
Sub9 | |
Sub8 | |
Sub21 | |
return | |
: L44 | |
v0 := 10 | |
buzzer := v0 | |
return | |
: L45 | |
v0 := 2 | |
buzzer := v0 | |
Sub8 | |
Sub19 | |
Sub9 | |
Sub8 | |
Sub21 | |
return | |
: Sub17 | |
v1 := -1 | |
v0 := 0 | |
loop | |
v1 += 1 | |
i := D18 | |
i += v1 | |
save v0 | |
i := D19 | |
i += v1 | |
save v0 | |
if v1 != 125 then | |
again | |
v5 := v8 | |
v6 := v9 | |
v5 += 1 | |
v6 += 1 | |
i := D16 | |
v0 := v5 | |
v1 := v6 | |
save v1 | |
Sub3 | |
i := D15 | |
i += v7 | |
load v0 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
v0 := 0 | |
i := D17 | |
save v0 | |
if v2 != 0 then jump L49 | |
return | |
: L47 | |
saveflags v3 | |
Sub3 | |
loadflags v3 | |
i := D15 | |
i += v7 | |
load v0 | |
i := D14 | |
i += v0 | |
load v1 | |
v3 := v0 | |
v4 := v1 | |
if v2 != v3 then jump L48 | |
i := D15 | |
i += v7 | |
load v0 | |
v0 += 1 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
jump L49 | |
: L48 | |
if v2 != v4 then return | |
i := D15 | |
i += v7 | |
load v0 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
: L49 | |
i := D17 | |
load v0 | |
i := D18 | |
i += v0 | |
v0 := v5 | |
save v0 | |
i := D17 | |
load v0 | |
i := D19 | |
i += v0 | |
v0 := v6 | |
save v0 | |
i := D17 | |
load v0 | |
v0 += 1 | |
save v0 | |
v0 := 1 | |
if v2 == 1 then v6 -= v0 | |
if v2 == 2 then v5 += 1 | |
if v2 == 3 then v6 += 1 | |
if v2 == 4 then v5 -= v0 | |
i := D16 | |
load v1 | |
if v0 != v5 then jump L50 | |
if v1 != v6 then jump L50 | |
jump L51 | |
: L50 | |
jump L47 | |
: L51 | |
saveflags v3 | |
Sub3 | |
loadflags v3 | |
i := D15 | |
i += v7 | |
load v0 | |
i := D14 | |
i += v0 | |
load v1 | |
v3 := v0 | |
v4 := v1 | |
if v2 != v3 then jump L52 | |
jump L53 | |
: L52 | |
if v2 != v4 then return | |
: L53 | |
Sub18 | |
Sub28 | |
return | |
: Sub18 | |
i := D17 | |
load v0 | |
v2 := v0 | |
v0 := 1 | |
v2 -= v0 | |
v1 := -1 | |
if vA == 11 then v1 := 0 | |
loop | |
v0 := 1 | |
buzzer := v0 | |
v1 += 1 | |
i := D18 | |
i += v1 | |
load v0 | |
v5 := v0 | |
i := D19 | |
i += v1 | |
load v0 | |
v6 := v0 | |
v4 := 6 | |
saveflags v3 | |
Sub3 | |
v0 := v4 | |
v4 := v7 | |
v7 := v0 | |
Sub4 | |
v7 := v4 | |
Sub1 | |
if vA != 11 then jump L55 | |
v7 := 2 | |
Sub29 | |
jump L56 | |
: L55 | |
i := D37 | |
load v0 | |
i := D38 | |
i += v0 | |
load v0 | |
v7 := v0 | |
Sub29 | |
: L56 | |
loadflags v3 | |
if v1 != v2 then | |
again | |
return | |
: Sub19 | |
v1 := -1 | |
v0 := 0 | |
loop | |
v1 += 1 | |
i := D18 | |
i += v1 | |
save v0 | |
i := D19 | |
i += v1 | |
save v0 | |
if v1 != 125 then | |
again | |
v0 := 0 | |
i := D17 | |
save v0 | |
i := D20 | |
v0 := 0 | |
save v0 | |
loop | |
v5 := v8 | |
v6 := v9 | |
v5 += 1 | |
v6 += 1 | |
i := D16 | |
v0 := v5 | |
v1 := v6 | |
save v1 | |
saveflags v3 | |
Sub3 | |
loadflags v3 | |
i := D20 | |
load v0 | |
v1 := v0 | |
i := D15 | |
i += v7 | |
load v0 | |
v0 += v1 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
if v2 != 0 then jump L61 | |
jump L63 | |
: L59 | |
saveflags v3 | |
Sub3 | |
loadflags v3 | |
i := D15 | |
i += v7 | |
load v0 | |
i := D14 | |
i += v0 | |
load v1 | |
v3 := v0 | |
v4 := v1 | |
if v2 != v3 then jump L60 | |
i := D15 | |
i += v7 | |
load v0 | |
v0 += 1 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
jump L61 | |
: L60 | |
if v2 != v4 then jump L63 | |
i := D15 | |
i += v7 | |
load v0 | |
i := D13 | |
i += v0 | |
load v0 | |
v2 := v0 | |
: L61 | |
i := D17 | |
load v0 | |
if v0 == 0 then jump L62 | |
i := D18 | |
i += v0 | |
v0 := v5 | |
save v0 | |
i := D17 | |
load v0 | |
i := D19 | |
i += v0 | |
v0 := v6 | |
save v0 | |
: L62 | |
i := D17 | |
load v0 | |
v0 += 1 | |
save v0 | |
v0 := 1 | |
if v2 == 1 then v6 -= v0 | |
if v2 == 2 then v5 += 1 | |
if v2 == 3 then v6 += 1 | |
if v2 == 4 then v5 -= v0 | |
jump L59 | |
: L63 | |
i := D20 | |
load v0 | |
v0 += 1 | |
if v0 == 2 then jump L64 | |
save v0 | |
again | |
: L64 | |
Sub18 | |
return | |
: Sub20 | |
v2 := 55 | |
i := D21 | |
i += v7 | |
load v0 | |
i := D2 | |
sprite v0 v2 5 | |
return | |
: Sub21 | |
i := D22 | |
load v0 | |
v1 := v0 | |
v0 := 1 | |
v1 -= v0 | |
v0 := 30 | |
save v0 | |
if v1 == 29 then jump L66 | |
loop | |
v1 += 1 | |
v7 := v1 | |
saveflags v1 | |
Sub20 | |
loadflags v1 | |
if v1 != 29 then | |
again | |
: L66 | |
i := D37 | |
load v0 | |
i := D39 | |
i += v0 | |
load v0 | |
delay := v0 | |
return | |
: Sub22 | |
v0 := delay | |
if v0 != 0 then return | |
i := D22 | |
load v0 | |
v1 := 1 | |
v0 -= v1 | |
save v0 | |
v7 := v0 | |
Sub20 | |
i := D37 | |
load v0 | |
i := D39 | |
i += v0 | |
load v0 | |
delay := v0 | |
return | |
: Sub23 | |
v2 := 1 | |
i := D23 | |
i += v7 | |
load v0 | |
i := D3 | |
sprite v2 v0 4 | |
return | |
: Sub24 | |
v7 := 0 | |
Sub23 | |
v7 := 1 | |
Sub23 | |
v7 := 2 | |
Sub23 | |
return | |
: Sub25 | |
i := D24 | |
load v0 | |
v7 := v0 | |
v1 := 1 | |
v0 -= v1 | |
save v0 | |
Sub23 | |
return | |
: Sub26 | |
v1 := -1 | |
v4 := 55 | |
loop | |
v1 += 1 | |
i := D26 | |
i += v1 | |
load v0 | |
v2 := v0 | |
i := D28 | |
i += v1 | |
load v0 | |
v3 := v0 | |
i := D25 | |
i += v3 | |
load v0 | |
i := D4 | |
i += v0 | |
sprite v2 v4 5 | |
if v1 != 2 then | |
again | |
return | |
: Sub27 | |
v1 := -1 | |
v4 := 55 | |
loop | |
v1 += 1 | |
i := D27 | |
i += v1 | |
load v0 | |
v2 := v0 | |
i := D31 | |
i += v1 | |
load v0 | |
v3 := v0 | |
i := D25 | |
i += v3 | |
load v0 | |
i := D4 | |
i += v0 | |
sprite v2 v4 5 | |
if v1 != 5 then | |
again | |
return | |
: Sub28 | |
Sub26 | |
v1 := 3 | |
loop | |
v0 := 1 | |
v1 -= v0 | |
i := D28 | |
i += v1 | |
load v0 | |
if v0 == 9 then jump L70 | |
v0 += 1 | |
save v0 | |
jump L71 | |
: L70 | |
v0 := 0 | |
save v0 | |
if v1 != 0 then | |
again | |
v0 := 0 | |
i := D28 | |
save v0 | |
i := D29 | |
save v0 | |
i := D30 | |
save v0 | |
: L71 | |
Sub26 | |
return | |
: Sub29 | |
Sub27 | |
v2 := 0 | |
: L72 | |
v2 += 1 | |
v1 := 6 | |
loop | |
v0 := 1 | |
v1 -= v0 | |
i := D31 | |
i += v1 | |
load v0 | |
if v0 == 9 then jump L74 | |
v0 += 1 | |
save v0 | |
jump L75 | |
: L74 | |
v0 := 0 | |
save v0 | |
if v1 != 0 then | |
again | |
v0 := 0 | |
i := D31 | |
save v0 | |
i := D32 | |
save v0 | |
i := D33 | |
save v0 | |
i := D34 | |
save v0 | |
i := D35 | |
save v0 | |
i := D36 | |
save v0 | |
: L75 | |
if v2 != v7 then jump L72 | |
Sub27 | |
return | |
: Sub30 | |
Sub10 | |
if v7 != 0 then return | |
vA := 11 | |
v3 := -1 | |
: L76 | |
v3 += 1 | |
v2 := -1 | |
loop | |
v2 += 1 | |
v5 := v2 | |
v5 += 1 | |
v6 := v3 | |
v6 += 1 | |
Sub3 | |
if v7 == 6 then jump L78 | |
i := D40 | |
v0 := v2 | |
save v0 | |
i := D41 | |
v0 := v3 | |
save v0 | |
v8 := v2 | |
v9 := v3 | |
Sub19 | |
i := D40 | |
load v0 | |
v2 := v0 | |
i := D41 | |
load v0 | |
v3 := v0 | |
saveflags v3 | |
Sub10 | |
loadflags v3 | |
if v7 != 0 then return | |
: L78 | |
if v2 != 17 then | |
again | |
if v3 != 6 then jump L76 | |
return | |
: D1 | |
0x7c 0xfc 0xc0 0xc0 0xcc 0xcc 0xf8 0xfc 0xc 0xc 0xcc 0xcc 0xcc 0xcc 0xc0 0xc0 0xfc 0x7c 0xcc 0xcc 0xc 0xc 0xfc 0xf8 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xfc 0xfc 0x0 0x0 0xfc 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0xa8 0x54 0xa8 0x54 0xa8 0x54 0x30 0x78 0xfc 0xfc 0x78 0x30 | |
: D2 | |
0xc0 0xc0 0xc0 0xc0 0xc0 | |
: D3 | |
0x60 0xf0 0xd0 0x60 | |
: D4 | |
0x40 0xa0 0xa0 0xa0 0x40 0x40 0xc0 0x40 0x40 0xe0 0xc0 0x20 0x40 0x80 0xe0 0xe0 0x20 0x40 0x20 0xe0 0x80 0xa0 0xe0 0x20 0x20 0xe0 0x80 0xc0 0x20 0xe0 0x60 0x80 0xc0 0xa0 0xe0 0xe0 0x20 0x40 0x40 0x40 0xe0 0xa0 0x40 0xa0 0xe0 0xe0 0xa0 0x60 0x20 0xc0 | |
: D5 | |
0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 | |
: D6 | |
0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 | |
: D7 | |
0x0 | |
: D8 | |
0x0 0x0 0x1 0x1 0x0 0x0 0x2 0x2 0x0 0x0 0x3 0x3 0x0 0x0 0x4 0x4 0x0 0x0 0x5 0x5 0x0 0x0 0x6 0x6 0x0 0x0 0x7 0x7 0x0 0x0 0x8 0x8 0x0 0x1 0x8 0x9 0x0 0x2 0x8 0xa 0x0 0x3 0x8 0xb 0x0 0x4 0x8 0xc 0x0 0x5 0x8 0xd 0x0 0x6 0x8 0xe 0x0 0x7 0x8 0xf 0x0 0x8 0x8 0x10 0x0 0x9 0x8 0x11 0x0 0xa 0x8 0x12 0x0 0xb 0x8 0x13 0x0 0xc 0x8 0x13 0x1 0xd 0x8 0x13 0x2 0xe 0x8 0x13 0x3 0xf 0x8 0x13 0x4 0x10 0x8 0x13 0x5 0x11 0x8 0x13 0x6 0x12 0x8 0x13 0x7 0x13 0x8 | |
: D9 | |
0x6 0xc 0x12 0x18 0x1e 0x24 0x2a 0x30 0x36 0x3c 0x42 0x48 0x4e 0x54 0x5a 0x60 0x66 0x6c 0x72 0x78 | |
: D10 | |
0x0 0x6 0xc 0x12 0x18 0x1e 0x24 0x2a 0x30 | |
: D11 | |
0x0 0x9 0x12 0x1b | |
: D12 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xb 0xb 0xb 0xb 0xb 0xb | |
: D13 | |
0x2 0x3 0x4 0x3 0x1 0x2 0x1 0x4 0x1 0x3 0x4 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D14 | |
0x4 0x1 0x2 0x1 0x3 0x4 0x3 0x2 0x3 0x1 0x2 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D15 | |
0x0 0x2 0x4 0x6 0x8 0xa 0xc 0xe 0x10 0x12 | |
: D16 | |
0x0 0x0 | |
: D17 | |
0x0 | |
: D18 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D19 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D20 | |
0x0 | |
: D21 | |
0x24 0x26 0x28 0x2a 0x2c 0x2e 0x30 0x32 0x34 0x36 0x38 0x3a 0x3c 0x3e 0x40 0x42 0x44 0x46 0x48 0x4a 0x4c 0x4e 0x50 0x52 0x54 0x56 0x58 0x5a 0x5c 0x5e | |
: D22 | |
0x0 | |
: D23 | |
0x32 0x2d 0x28 | |
: D24 | |
0x0 | |
: D25 | |
0x0 0x5 0xa 0xf 0x14 0x19 0x1e 0x23 0x28 0x2d | |
: D26 | |
0x6 0xa 0xe | |
: D27 | |
0x67 0x6b 0x6f 0x73 0x77 0x7b | |
: D28 | |
0x0 | |
: D29 | |
0x0 | |
: D30 | |
0x0 | |
: D31 | |
0x0 | |
: D32 | |
0x0 | |
: D33 | |
0x0 | |
: D34 | |
0x0 | |
: D35 | |
0x0 | |
: D36 | |
0x0 | |
: D37 | |
0x0 | |
: D38 | |
0x3 0x6 0x9 0xc 0xf 0x12 0x15 0x18 0x1b 0x1e | |
: D39 | |
0x16 0x14 0x12 0x10 0xe 0xc 0xa 0x8 0x6 0x4 | |
: D40 | |
0x0 | |
: D41 | |
0x0 | |
: D42 | |
0xff 0xff 0xff 0xff 0x2 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0xff 0xff 0x0 0x5 0x1 0x4 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0x2 0x5 0x4 0xff 0x4 0x2 0x5 0x3 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0xff 0x5 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0x5 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0x5 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0x4 0xff 0x4 0xff 0xff 0x2 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0x5 0x3 0xff | |
: D43 | |
0xff 0xff 0xff 0x0 0x5 0x5 0x4 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0x4 0x5 0x5 0x3 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0x4 0xff 0xff 0x2 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0x5 0x3 0xff 0x4 0xff 0xff 0x2 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0x5 0x3 0xff 0xff 0xff 0x4 0xff 0x0 0x3 0xff 0x4 0xff 0x5 0x1 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0x0 0x3 0xff 0x4 0xff 0x5 0x1 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0x5 0x3 0xff 0x4 0xff 0xff 0x2 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0x4 0x0 0x5 0x3 0x4 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0x4 0x0 0x5 0x3 0x4 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Loopz (with difficulty select) [Hap, 2006].ch8 | |
###################################################################### | |
:proto L1 # F9E | |
:proto Sub1 # FC4 | |
:proto Sub2 # FCE | |
:proto Sub3 # FDA | |
:proto Sub4 # FE0 | |
:proto L4 # FE6 | |
: main | |
jump L1 | |
0x28 0x63 0x29 0x20 0x41 0x2e 0x44 0x61 0x75 0x6d 0x61 0x6e 0x6e 0x0 0xe0 0x0 0xff 0xf2 0x85 0x31 0xaa 0x0 0xfd 0x32 0xaa 0x0 0xfd 0xad 0xd6 0xf0 0x55 0x23 0x13 0x23 0x69 0x60 0x0 0xad 0xb5 0xf0 0x55 0x27 0x6b 0xad 0xb9 0x60 0x2 0xf0 0x55 0x27 0xc9 0x60 0x0 0xad 0xcd 0xf0 0x55 0xad 0xce 0xf0 0x55 0xad 0xcf 0xf0 0x55 0xad 0xd0 0xf0 0x55 0xad 0xd1 0xf0 0x55 0xad 0xd2 0xf0 0x55 0xad 0xd3 0xf0 0x55 0xad 0xd4 0xf0 0x55 0xad 0xd5 0xf0 0x55 0x27 0xe7 0x28 0xf 0x68 0x8 0x69 0x3 0x24 0x7 0x23 0xc9 0x60 0x7 0xe0 0xa1 0x24 0x55 0x60 0x8 0xe0 0xa1 0x24 0x49 0x60 0xc 0xe0 0xa1 0x24 0x6f 0x60 0xd 0xe0 0xa1 0x24 0x63 0x60 0x6 0xe0 0xa1 0x24 0x7d 0x60 0x5 0xe0 0xa1 0x24 0x8d 0x27 0x99 0xad 0xb5 0xf0 0x65 0x30 0x0 0x12 0x67 0x27 0xd7 0xad 0xb9 0xf0 0x65 0x30 0xff 0x12 0xa1 0x12 0xc1 0x60 0xff 0x70 0x1 0x61 0xf 0xf1 0x18 0x61 0x28 0xf1 0x15 0xf1 0x7 0x31 0x0 0x12 0xad 0x30 0x2 0x12 0xa3 0x27 0x6b 0x23 0xc9 0x24 0x7 0x23 0xc9 0x12 0x67 0x23 0xc9 0x28 0xaf 0x60 0xff 0x70 0x2 0x61 0xf 0xf0 0x18 0x61 0xb 0xf1 0x15 0xf1 0x7 0x31 0x0 0x12 0xd1 0x30 0xb 0x12 0xc7 0xad 0xd0 0xf5 0x65 0x66 0xaa 0x67 0xaa 0xf7 0x75 0xf0 0xa 0x60 0xff 0x70 0x1 0x0 0xc1 0x30 0x40 0x12 0xe9 0x0 0xfd 0xab 0x44 0xf5 0x1e 0xf0 0x65 0x82 0x0 0xab 0x58 0xf6 0x1e 0xf0 0x65 0x83 0x0 0x61 0x6 0xab 0x58 0xf7 0x1e 0xf0 0x65 0xa8 0xff 0xf0 0x1e 0xd2 0x36 0x0 0xee 0x61 0xff 0x71 0x1 0xa9 0x70 0xf1 0x1e 0xf0 0x65 0xaa 0x24 0xf1 0x1e 0xf0 0x55 0x31 0xb3 0x13 0x15 0x0 0xee 0x61 0xeb 0x60 0xff 0x70 0x1 0x71 0x1 0x50 0x50 0x13 0x2d 0x60 0xff 0x70 0x1 0x71 0x14 0x50 0x60 0x13 0x37 0xaa 0x24 0xf1 0x1e 0xf0 0x65 0x87 0x0 0x0 0xee 0x61 0xeb 0x60 0xff 0x70 0x1 0x71 0x1 0x50 0x50 0x13 0x4d 0x60 0xff 0x70 0x1 0x71 0x14 0x50 0x60 0x13 0x57 0xaa 0x24 0xf1 0x1e 0x80 0x70 0xf0 0x55 0x0 0xee 0x61 0xfe 0x67 0x7 0x71 0x2 0xaa 0xd8 0xf1 0x1e 0xf0 0x65 0x85 0x0 0xaa 0xd9 0xf1 0x1e 0xf0 0x65 0x86 0x0 0xf1 0x75 0x22 0xf3 0xf1 0x85 0x31 0x6a 0x13 0x6d 0x0 0xee 0x4a 0x6 0x13 0xa9 0x4a 0x7 0x13 0xa9 0x4a 0x8 0x13 0xa9 0x4a 0x9 0x13 0xa9 0x4a 0xa 0x13 0xa9 0x4a 0xb 0x13 0xa9 0x6d 0x0 0x87 0xa0 0x13 0xb1 0x6d 0x1 0x87 0xa0 0x60 0x6 0x87 0x5 0x6e 0xdc 0x60 0xff 0x7e 0x24 0x70 0x1 0x50 0x70 0x13 0xb5 0x0 0xee 0xab 0x61 0xfb 0x1e 0xf0 0x65 0x8c 0x0 0x0 0xee 0x23 0xbf 0x61 0xff 0x63 0xff 0x62 0xff 0x73 0x1 0x72 0x1 0x71 0x1 0x3d 0x0 0x13 0xdf 0xad 0xed 0x13 0xe1 0xae 0xc5 0xfe 0x1e 0xfc 0x1e 0xf1 0x1e 0xf0 0x65 0x40 0xff 0x13 0xfd 0x85 0x20 0x85 0x84 0x86 0x30 0x86 0x94 0x87 0x0 0xf3 0x75 0x22 0xf3 0xf3 0x85 0x32 0x2 0x13 0xd3 0x33 0x2 0x13 0xcf 0x0 0xee 0x61 0x0 0xc1 0xff 0xab 0x65 0xf1 0x1e 0xf0 0x65 0x8a 0x0 0x6b 0x0 0x23 0x8b 0x3a 0xb 0x0 0xee 0x24 0x29 0x37 0x1 0x0 0xee 0x6a 0x0 0x6b 0x0 0x23 0x8b 0x0 0xee 0x67 0x0 0x62 0x0 0x61 0xff 0x71 0x1 0xaa 0x24 0xf1 0x1e 0xf0 0x65 0x30 0x6 0x14 0x3d 0x72 0x1 0x31 0xb3 0x14 0x2f 0x32 0x7e 0x0 0xee 0x67 0x1 0x0 0xee 0x48 0x11 0x14 0x53 0x23 0xc9 0x78 0x1 0x23 0xc9 0x0 0xee 0x48 0x0 0x14 0x61 0x23 0xc9 0x60 0x1 0x88 0x5 0x23 0xc9 0x0 0xee 0x49 0x6 0x14 0x6d 0x23 0xc9 0x79 0x1 0x23 0xc9 0x0 0xee 0x49 0x0 0x14 0x7b 0x23 0xc9 0x60 0x1 0x89 0x5 0x23 0xc9 0x0 0xee 0x23 0xc9 0x4b 0x3 0x14 0x87 0x7b 0x1 0x14 0x89 0x6b 0x0 0x23 0xc9 0x0 0xee 0x23 0xbf 0x61 0xff 0x64 0x0 0x63 0xff 0x62 0xff 0x73 0x1 0x72 0x1 0x71 0x1 0x3d 0x0 0x14 0xa5 0xad 0xed 0x14 0xa7 0xae 0xc5 0xfe 0x1e 0xfc 0x1e 0xf1 0x1e 0xf0 0x65 0x40 0xff 0x14 0xc7 0x85 0x20 0x85 0x84 0x86 0x30 0x86 0x94 0xf3 0x75 0x23 0x29 0xf3 0x85 0x47 0x6 0x14 0xc7 0x64 0x1 0x32 0x2 0x14 0x99 0x33 0x2 0x14 0x95 0x34 0x0 0x14 0xd9 0x4a 0xb 0x15 0x2b 0x14 0xdf 0x4a 0xb 0x15 0x31 0x15 0x2b 0x60 0x2 0xf0 0x18 0x23 0xbf 0x61 0xff 0x64 0x0 0x63 0xff 0x62 0xff 0x73 0x1 0x72 0x1 0x71 0x1 0x3d 0x0 0x14 0xfb 0xad 0xed 0x14 0xfd 0xae 0xc5 0xfe 0x1e 0xfc 0x1e 0xf1 0x1e 0xf0 0x65 0x40 0xff 0x15 0x19 0x85 0x20 0x85 0x84 0x86 0x30 0x86 0x94 0xf3 0x75 0x87 0x0 0x23 0x49 0xf3 0x85 0x32 0x2 0x14 0xef 0x33 0x2 0x14 0xeb 0x25 0x41 0x24 0x7 0x23 0xc9 0x27 0x6b 0x0 0xee 0x60 0xa 0xf0 0x18 0x0 0xee 0x60 0x2 0xf0 0x18 0x23 0xc9 0x26 0x81 0x24 0x7 0x23 0xc9 0x27 0x6b 0x0 0xee 0x61 0xff 0x60 0x0 0x71 0x1 0xac 0x9a 0xf1 0x1e 0xf0 0x55 0xad 0x18 0xf1 0x1e 0xf0 0x55 0x31 0x7d 0x15 0x45 0x85 0x80 0x86 0x90 0x75 0x1 0x76 0x1 0xac 0x97 0x80 0x50 0x81 0x60 0xf1 0x55 0x23 0x29 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0x60 0x0 0xac 0x99 0xf0 0x55 0x32 0x0 0x15 0xc1 0x0 0xee 0xf3 0x75 0x23 0x29 0xf3 0x85 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x79 0xf0 0x1e 0xf1 0x65 0x83 0x0 0x84 0x10 0x52 0x30 0x15 0xaf 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0x70 0x1 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0x15 0xc1 0x52 0x40 0x0 0xee 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0xac 0x99 0xf0 0x65 0xac 0x9a 0xf0 0x1e 0x80 0x50 0xf0 0x55 0xac 0x99 0xf0 0x65 0xad 0x18 0xf0 0x1e 0x80 0x60 0xf0 0x55 0xac 0x99 0xf0 0x65 0x70 0x1 0xf0 0x55 0x60 0x1 0x42 0x1 0x86 0x5 0x42 0x2 0x75 0x1 0x42 0x3 0x76 0x1 0x42 0x4 0x85 0x5 0xac 0x97 0xf1 0x65 0x50 0x50 0x16 0x1 0x51 0x60 0x16 0x1 0x16 0x3 0x15 0x83 0xf3 0x75 0x23 0x29 0xf3 0x85 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x79 0xf0 0x1e 0xf1 0x65 0x83 0x0 0x84 0x10 0x52 0x30 0x16 0x1f 0x16 0x23 0x52 0x40 0x0 0xee 0x26 0x29 0x28 0x37 0x0 0xee 0xac 0x99 0xf0 0x65 0x82 0x0 0x60 0x1 0x82 0x5 0x61 0xff 0x4a 0xb 0x61 0x0 0x60 0x1 0xf0 0x18 0x71 0x1 0xac 0x9a 0xf1 0x1e 0xf0 0x65 0x85 0x0 0xad 0x18 0xf1 0x1e 0xf0 0x65 0x86 0x0 0x64 0x6 0xf3 0x75 0x23 0x29 0x80 0x40 0x84 0x70 0x87 0x0 0x23 0x49 0x87 0x40 0x22 0xf3 0x3a 0xb 0x16 0x6b 0x67 0x2 0x28 0x69 0x16 0x79 0xad 0xd6 0xf0 0x65 0xad 0xd7 0xf0 0x1e 0xf0 0x65 0x87 0x0 0x28 0x69 0xf3 0x85 0x51 0x20 0x16 0x39 0x0 0xee 0x61 0xff 0x60 0x0 0x71 0x1 0xac 0x9a 0xf1 0x1e 0xf0 0x55 0xad 0x18 0xf1 0x1e 0xf0 0x55 0x31 0x7d 0x16 0x85 0x60 0x0 0xac 0x99 0xf0 0x55 0xad 0x96 0x60 0x0 0xf0 0x55 0x85 0x80 0x86 0x90 0x75 0x1 0x76 0x1 0xac 0x97 0x80 0x50 0x81 0x60 0xf1 0x55 0xf3 0x75 0x23 0x29 0xf3 0x85 0xad 0x96 0xf0 0x65 0x81 0x0 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0x80 0x14 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0x32 0x0 0x17 0x13 0x17 0x4b 0xf3 0x75 0x23 0x29 0xf3 0x85 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x79 0xf0 0x1e 0xf1 0x65 0x83 0x0 0x84 0x10 0x52 0x30 0x17 0x1 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0x70 0x1 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0x17 0x13 0x52 0x40 0x17 0x4b 0xac 0x8d 0xf7 0x1e 0xf0 0x65 0xac 0x65 0xf0 0x1e 0xf0 0x65 0x82 0x0 0xac 0x99 0xf0 0x65 0x40 0x0 0x17 0x2f 0xac 0x9a 0xf0 0x1e 0x80 0x50 0xf0 0x55 0xac 0x99 0xf0 0x65 0xad 0x18 0xf0 0x1e 0x80 0x60 0xf0 0x55 0xac 0x99 0xf0 0x65 0x70 0x1 0xf0 0x55 0x60 0x1 0x42 0x1 0x86 0x5 0x42 0x2 0x75 0x1 0x42 0x3 0x76 0x1 0x42 0x4 0x85 0x5 0x16 0xd5 0xad 0x96 0xf0 0x65 0x70 0x1 0x40 0x2 0x17 0x59 0xf0 0x55 0x16 0xa3 0x26 0x29 0x0 0xee 0x62 0x37 0xad 0x97 0xf7 0x1e 0xf0 0x65 0xa9 0x35 0xd0 0x25 0x0 0xee 0xad 0xb5 0xf0 0x65 0x81 0x0 0x60 0x1 0x81 0x5 0x60 0x1e 0xf0 0x55 0x41 0x1d 0x17 0x8b 0x71 0x1 0x87 0x10 0xf1 0x75 0x27 0x5d 0xf1 0x85 0x31 0x1d 0x17 0x7d 0xad 0xd6 0xf0 0x65 0xad 0xe1 0xf0 0x1e 0xf0 0x65 0xf0 0x15 0x0 0xee 0xf0 0x7 0x30 0x0 0x0 0xee 0xad 0xb5 0xf0 0x65 0x61 0x1 0x80 0x15 0xf0 0x55 0x87 0x0 0x27 0x5d 0xad 0xd6 0xf0 0x65 0xad 0xe1 0xf0 0x1e 0xf0 0x65 0xf0 0x15 0x0 0xee 0x62 0x1 0xad 0xb6 0xf7 0x1e 0xf0 0x65 0xa9 0x3a 0xd2 0x4 0x0 0xee 0x67 0x0 0x27 0xbb 0x67 0x1 0x27 0xbb 0x67 0x2 0x27 0xbb 0x0 0xee 0xad 0xb9 0xf0 0x65 0x87 0x0 0x61 0x1 0x80 0x15 0xf0 0x55 0x27 0xbb 0x0 0xee 0x61 0xff 0x64 0x37 0x71 0x1 0xad 0xc4 0xf1 0x1e 0xf0 0x65 0x82 0x0 0xad 0xcd 0xf1 0x1e 0xf0 0x65 0x83 0x0 0xad 0xba 0xf3 0x1e 0xf0 0x65 0xa9 0x3e 0xf0 0x1e 0xd2 0x45 0x31 0x2 0x17 0xeb 0x0 0xee 0x61 0xff 0x64 0x37 0x71 0x1 0xad 0xc7 0xf1 0x1e 0xf0 0x65 0x82 0x0 0xad 0xd0 0xf1 0x1e 0xf0 0x65 0x83 0x0 0xad 0xba 0xf3 0x1e 0xf0 0x65 0xa9 0x3e 0xf0 0x1e 0xd2 0x45 0x31 0x5 0x18 0x13 0x0 0xee 0x27 0xe7 0x61 0x3 0x60 0x1 0x81 0x5 0xad 0xcd 0xf1 0x1e 0xf0 0x65 0x40 0x9 0x18 0x4f 0x70 0x1 0xf0 0x55 0x18 0x65 0x60 0x0 0xf0 0x55 0x31 0x0 0x18 0x3b 0x60 0x0 0xad 0xcd 0xf0 0x55 0xad 0xce 0xf0 0x55 0xad 0xcf 0xf0 0x55 0x27 0xe7 0x0 0xee 0x28 0xf 0x62 0x0 0x72 0x1 0x61 0x6 0x60 0x1 0x81 0x5 0xad 0xd0 0xf1 0x1e 0xf0 0x65 0x40 0x9 0x18 0x85 0x70 0x1 0xf0 0x55 0x18 0xa7 0x60 0x0 0xf0 0x55 0x31 0x0 0x18 0x71 0x60 0x0 0xad 0xd0 0xf0 0x55 0xad 0xd1 0xf0 0x55 0xad 0xd2 0xf0 0x55 0xad 0xd3 0xf0 0x55 0xad 0xd4 0xf0 0x55 0xad 0xd5 0xf0 0x55 0x52 0x70 0x18 0x6d 0x28 0xf 0x0 0xee 0x24 0x29 0x37 0x0 0x0 0xee 0x6a 0xb 0x63 0xff 0x73 0x1 0x62 0xff 0x72 0x1 0x85 0x20 0x75 0x1 0x86 0x30 0x76 0x1 0x23 0x29 0x47 0x6 0x18 0xf5 0xad 0xeb 0x80 0x20 0xf0 0x55 0xad 0xec 0x80 0x30 0xf0 0x55 0x88 0x20 0x89 0x30 0x26 0x81 0xad 0xeb 0xf0 0x65 0x82 0x0 0xad 0xec 0xf0 0x65 0x83 0x0 0xf3 0x75 0x24 0x29 0xf3 0x85 0x37 0x0 0x0 0xee 0x32 0x11 0x18 0xbd 0x33 0x6 0x18 0xb9 0x0 0xee 0x7c 0xfc 0xc0 0xc0 0xcc 0xcc 0xf8 0xfc 0xc 0xc 0xcc 0xcc 0xcc 0xcc 0xc0 0xc0 0xfc 0x7c 0xcc 0xcc 0xc 0xc 0xfc 0xf8 0xcc 0xcc 0xcc 0xcc 0xcc 0xcc 0xfc 0xfc 0x0 0x0 0xfc 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0xa8 0x54 0xa8 0x54 0xa8 0x54 0x30 0x78 0xfc 0xfc 0x78 0x30 0xc0 0xc0 0xc0 0xc0 0xc0 0x60 0xf0 0xd0 0x60 0x40 0xa0 0xa0 0xa0 0x40 0x40 0xc0 0x40 0x40 0xe0 0xc0 0x20 0x40 0x80 0xe0 0xe0 0x20 0x40 0x20 0xe0 0x80 0xa0 0xe0 0x20 0x20 0xe0 0x80 0xc0 0x20 0xe0 0x60 0x80 0xc0 0xa0 0xe0 0xe0 0x20 0x40 0x40 0x40 0xe0 0xa0 0x40 0xa0 0xe0 0xe0 0xa0 0x60 0x20 0xc0 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x0 0x0 0x0 0x1 0x1 0x0 0x0 0x2 0x2 0x0 0x0 0x3 0x3 0x0 0x0 0x4 0x4 0x0 0x0 0x5 0x5 0x0 0x0 0x6 0x6 0x0 0x0 0x7 0x7 0x0 0x0 0x8 0x8 0x0 0x1 0x8 0x9 0x0 0x2 0x8 0xa 0x0 0x3 0x8 0xb 0x0 0x4 0x8 0xc 0x0 0x5 0x8 0xd 0x0 0x6 0x8 0xe 0x0 0x7 0x8 0xf 0x0 0x8 0x8 0x10 0x0 0x9 0x8 0x11 0x0 0xa 0x8 0x12 0x0 0xb 0x8 0x13 0x0 0xc 0x8 0x13 0x1 0xd 0x8 0x13 0x2 0xe 0x8 0x13 0x3 0xf 0x8 0x13 0x4 0x10 0x8 0x13 0x5 0x11 0x8 0x13 0x6 0x12 0x8 0x13 0x7 0x13 0x8 0x6 0xc 0x12 0x18 0x1e 0x24 0x2a 0x30 0x36 0x3c 0x42 0x48 0x4e 0x54 0x5a 0x60 0x66 0x6c 0x72 0x78 0x0 0x6 0xc 0x12 0x18 0x1e 0x24 0x2a 0x30 0x0 0x9 0x12 0x1b 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x2 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x4 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x5 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x6 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x7 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x8 0x9 0x9 0x9 0x9 0x9 0x9 0x9 0xa 0xa 0xa 0xa 0xa 0xa 0xa 0xb 0xb 0xb 0xb 0xb 0xb 0x2 0x3 0x4 0x3 0x1 0x2 0x1 0x4 0x1 0x3 0x4 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x1 0x2 0x1 0x3 0x4 0x3 0x2 0x3 0x1 0x2 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x4 0x6 0x8 0xa 0xc 0xe 0x10 0x12 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x24 0x26 0x28 0x2a 0x2c 0x2e 0x30 0x32 0x34 0x36 0x38 0x3a 0x3c 0x3e 0x40 0x42 0x44 0x46 0x48 0x4a 0x4c 0x4e 0x50 0x52 0x54 0x56 0x58 0x5a 0x5c 0x5e 0x0 0x32 0x2d 0x28 0x0 0x0 0x5 0xa 0xf 0x14 0x19 0x1e 0x23 0x28 0x2d 0x6 0xa 0xe 0x67 0x6b 0x6f 0x73 0x77 0x7b 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3 0x6 0x9 0xc 0xf 0x12 0x15 0x18 0x1b 0x1e 0x16 0x14 0x12 0x10 0xe 0xc 0xa 0x8 0x6 0x4 0x0 0x0 0xff 0xff 0xff 0xff 0x2 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0xff 0xff 0x0 0x5 0x1 0x4 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0x2 0x5 0x4 0xff 0x4 0x2 0x5 0x3 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0xff 0x5 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0x5 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0x5 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0xff 0x4 0xff 0x4 0xff 0xff 0x2 0x5 0x5 0xff 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0xff 0x0 0x5 0x5 0x4 0xff 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0x4 0x5 0x5 0x3 0xff 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x4 0xff 0x4 0xff 0xff 0x2 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0x5 0x3 0xff 0x4 0xff 0xff 0x2 0x1 0xff 0xff 0x4 0xff 0xff 0xff 0xff 0xff 0x0 0x5 0x5 0x3 0xff 0xff 0xff 0x4 0xff 0x0 0x3 0xff 0x4 0xff 0x5 0x1 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0xff 0x4 0xff 0x0 0x3 0xff 0x4 0xff 0x5 0x1 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0x5 0x3 0xff 0x4 0xff 0xff 0x2 0x5 0x1 0xff 0xff 0x4 0xff 0x0 0x5 0xff 0x4 0xff 0x5 0x3 0xff 0xff 0xff 0x4 0x0 0x5 0x3 0x4 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0x4 0x0 0x5 0x3 0x4 0xff 0xff 0x5 0x1 0xff 0xff 0x4 0xff 0xff 0x2 0x5 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x8 0xff 0xff 0xff 0xff 0x0 | |
: L1 | |
hires | |
clear | |
v0 := 13 | |
v1 := 27 | |
i := bighex v0 | |
sprite v1 v1 10 | |
v0 := 0 | |
Sub1 | |
loop | |
Sub2 | |
v1 := key | |
Sub1 | |
if v1 == 5 then jump L4 | |
if v1 == 12 then Sub3 | |
if v1 == 13 then Sub4 | |
Sub1 | |
again | |
: Sub1 | |
i := bighex v0 | |
v2 := 8 | |
v3 := 27 | |
sprite v2 v3 10 | |
return | |
: Sub2 | |
v1 := 16 | |
delay := v1 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
return | |
: Sub3 | |
if v0 != 9 then v0 += 1 | |
return | |
: Sub4 | |
if v0 != 0 then v0 += -1 | |
return | |
: L4 | |
clear | |
v2 := 2 | |
buzzer := v2 | |
v2 := v0 | |
v0 := 18 | |
v1 := 15 | |
i := main | |
save v1 | |
v0 := v2 | |
v1 := 170 | |
v2 := 170 | |
saveflags v2 | |
jump main | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Magic Square [David Winter, 1997].ch8 | |
###################################################################### | |
:proto L1 # 223 | |
:proto L6 # 27F | |
:proto L7 # 28D | |
:proto L11 # 2EF | |
:proto L12 # 2FB | |
:proto L13 # 309 | |
:proto L14 # 317 | |
:proto L15 # 329 | |
:proto L16 # 333 | |
:proto L17 # 341 | |
:proto L18 # 34F | |
:proto Sub1 # 35F | |
:proto Sub2 # 365 | |
:proto Sub3 # 37F | |
:proto Sub4 # 3A3 | |
:proto D1 # 3B1 | |
:proto D2 # 3D0 | |
:proto D3 # 3ED | |
:proto D4 # 3F2 | |
:proto D5 # 3F8 | |
:proto D6 # 3FF | |
:proto D7 # 47D | |
: main | |
jump L1 | |
0x4d 0x61 0x67 0x69 0x63 0x20 0x53 0x71 0x75 0x61 0x72 0x65 0x20 0x76 0x31 0x2e 0x30 0x20 0x62 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
lores | |
clear | |
i := D7 | |
v0 := 0 | |
v1 := 0 | |
v2 := 1 | |
v7 := 0 | |
v8 := 0 | |
loop | |
save v0 | |
i += v2 | |
v1 += 1 | |
if v1 != 64 then | |
again | |
i := D6 | |
v1 := 6 | |
v0 := 1 | |
v2 := 11 | |
v3 := 7 | |
loop | |
sprite v1 v0 11 | |
i += v2 | |
v0 += 13 | |
sprite v1 v0 7 | |
i += v3 | |
v0 += -13 | |
v1 += 8 | |
if v1 != 62 then | |
again | |
v0 := 13 | |
v1 := 26 | |
v2 := 5 | |
vE := 3 | |
i := D2 | |
loop | |
sprite v0 v1 5 | |
i += v2 | |
v0 += 6 | |
if v0 != 49 then | |
again | |
Sub1 | |
loop | |
v2 := key | |
if v2 != 4 then jump L6 | |
if vE == 3 then jump L7 | |
Sub1 | |
vE += -1 | |
Sub1 | |
: L6 | |
if v2 != 6 then jump L7 | |
if vE == 8 then jump L7 | |
Sub1 | |
vE += 1 | |
Sub1 | |
: L7 | |
if v2 != 5 then | |
again | |
hires | |
clear | |
v1 := 0 | |
loop | |
v8 += vE | |
v1 += 1 | |
if v1 != vE then | |
again | |
vA := vE | |
vA += vA | |
vA += vA | |
vA += vA | |
v0 := 128 | |
vA =- v0 | |
vA >>= v0 | |
vB := vE | |
vB += vB | |
vB += vB | |
vB += vB | |
v0 := 64 | |
vB =- v0 | |
vB >>= v0 | |
v0 := vA | |
v1 := vB | |
v2 := 0 | |
v3 := 0 | |
i := D5 | |
: L9 | |
loop | |
sprite v0 v1 7 | |
v0 += 8 | |
v2 += 1 | |
if v2 != vE then jump L9 | |
v0 := vA | |
v1 += 8 | |
v2 := 0 | |
v3 += 1 | |
if v3 != vE then | |
again | |
vC := 0 | |
vD := 0 | |
Sub2 | |
: L10 | |
loop | |
v0 := key | |
if v0 != 2 then jump L11 | |
Sub2 | |
if vD != 0 then vD += -1 | |
Sub2 | |
: L11 | |
if v0 != 4 then jump L12 | |
Sub2 | |
if vC != 0 then vC += -1 | |
Sub2 | |
: L12 | |
if v0 != 6 then jump L13 | |
Sub2 | |
vC += 1 | |
if vC == vE then vC += -1 | |
Sub2 | |
: L13 | |
if v0 != 8 then jump L14 | |
Sub2 | |
vD += 1 | |
if vD == vE then vD += -1 | |
Sub2 | |
: L14 | |
if v0 != 5 then jump L10 | |
Sub4 | |
Sub3 | |
if vD == 0 then jump L15 | |
vD += -1 | |
Sub3 | |
vD += 1 | |
: L15 | |
if vC == 0 then jump L16 | |
vC += -1 | |
Sub3 | |
vC += 1 | |
: L16 | |
v0 := vC | |
v0 += 1 | |
if v0 == vE then jump L17 | |
vC += 1 | |
Sub3 | |
vC += -1 | |
: L17 | |
v0 := vD | |
v0 += 1 | |
if v0 == vE then jump L18 | |
vD += 1 | |
Sub3 | |
vD += -1 | |
: L18 | |
Sub4 | |
if v7 != v8 then | |
again | |
Sub2 | |
v0 := 32 | |
v1 := 0 | |
loop | |
Sub4 | |
again | |
: Sub1 | |
i := hex vE | |
sprite v0 v1 5 | |
return | |
: Sub2 | |
i := D4 | |
: L20 | |
v2 := vC | |
v3 := vD | |
v2 += v2 | |
v2 += v2 | |
v2 += v2 | |
v2 += vA | |
v3 += v3 | |
v3 += v3 | |
v3 += v3 | |
v3 += vB | |
sprite v2 v3 6 | |
return | |
: Sub3 | |
v1 := vC | |
v2 := vD | |
v2 += v2 | |
v2 += v2 | |
v2 += v2 | |
v1 += v2 | |
i := D7 | |
i += v1 | |
load v0 | |
v9 := 1 | |
v0 ^= v9 | |
if v0 != 1 then v7 += -1 | |
if v0 != 0 then v7 += 1 | |
save v0 | |
i := D3 | |
jump L20 | |
: Sub4 | |
v3 := 24 | |
i := D1 | |
v1 := 8 | |
sprite v1 v3 0 | |
v1 := 103 | |
sprite v1 v3 0 | |
return | |
: D1 | |
0x4 0x20 0x2 0x40 0x82 0x41 0x40 0x2 0x23 0xc4 0x4 0x20 0x8 0x10 0x10 0x8 0xd2 0x4b 0x12 0x48 0x9 0x90 0x5 0xa0 0x3 0xc0 0x3 0xc0 0x3 0xc0 0x1 | |
: D2 | |
0x80 0x80 0x80 0x80 0xf8 0xf8 0x80 0xe0 0x80 0xf8 0x88 0x88 0x88 0x50 0x20 0xf8 0x80 0xe0 0x80 0xf8 0x80 0x80 0x80 0x80 0xf8 0x0 0x20 0x0 0x20 | |
: D3 | |
0x0 0x0 0x38 0x38 0x38 | |
: D4 | |
0x0 0x7c 0x44 0x44 0x44 0x7c | |
: D5 | |
0xfe 0x82 0x82 0x82 0x82 0x82 0xfe | |
: D6 | |
0xc1 0xe3 0xf7 0xdd 0xc9 0xc1 0xc1 0xc1 0xc1 0xc1 0xc1 0xfe 0x0 0xc0 0xfe 0x2 0x2 0xfe 0x8f 0x9f 0xb8 0xb0 0xb0 0xbf 0xbf 0xb0 0xb0 0xb0 0xb0 0x7f 0x1 0x61 0x61 0x65 0x62 0x7d 0x83 0xc7 0xee 0x6c 0x6c 0xec 0xec 0x6c 0x6e 0x67 0x63 0x30 0x0 0x30 0x30 0x30 0x30 0x3f 0xf3 0xfb 0x3 0x3 0x3 0x73 0xfb 0x1b 0x3b 0xf3 0xe3 0x9f 0x80 0x98 0x9f 0x98 0x98 0x98 0x1f 0x3f 0x70 0x60 0x60 0x60 0x60 0x60 0x70 0x3f 0x1f 0xcf 0x40 0x4c 0xcf 0x4c 0x4c 0x4c 0x80 0xc0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xe7 0x20 0x26 0xe7 0x86 0x46 0x27 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0xe0 0xf0 0x0 0x0 0x80 0x0 0x0 0xf0 | |
: D7 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Matches.ch8 | |
###################################################################### | |
:proto L3 # 240 | |
:proto L4 # 24E | |
:proto L5 # 25C | |
:proto L7 # 278 | |
:proto L11 # 2AC | |
:proto L13 # 2C4 | |
:proto L14 # 2E6 | |
:proto L15 # 316 | |
:proto L16 # 354 | |
:proto L17 # 376 | |
:proto L18 # 3A6 | |
:proto Sub1 # 3E4 | |
:proto Sub2 # 400 | |
:proto Sub3 # 412 | |
:proto Sub4 # 428 | |
:proto L19 # 458 | |
:proto D1 # 472 | |
:proto D2 # 477 | |
:proto D3 # 47C | |
:proto D4 # 481 | |
:proto D5 # 486 | |
:proto D6 # 48B | |
:proto D7 # 490 | |
:proto D8 # 49E | |
:proto D9 # 49F | |
:proto D10 # 4A4 | |
:proto D11 # 4A9 | |
: main | |
clear | |
i := D1 | |
v0 := 13 | |
v1 := 9 | |
sprite v0 v1 5 | |
v0 += 8 | |
i := D2 | |
sprite v0 v1 5 | |
v0 += 8 | |
i := D3 | |
sprite v0 v1 5 | |
v0 += 8 | |
i := D4 | |
sprite v0 v1 5 | |
v0 += 8 | |
i := D5 | |
sprite v0 v1 5 | |
v0 := 0 | |
v1 := 0 | |
v2 := 0 | |
vE := 40 | |
: L1 | |
Sub1 | |
: L2 | |
loop | |
v0 := 1 | |
if v0 key then jump L3 | |
v0 := 3 | |
if v0 key then jump L4 | |
v0 := 2 | |
if v0 key then jump L5 | |
jump L2 | |
: L3 | |
if vE == 10 then jump L2 | |
v0 := 2 | |
buzzer := v0 | |
Sub1 | |
vE += -1 | |
jump L1 | |
: L4 | |
if vE == 63 then | |
again | |
v0 := 2 | |
buzzer := v0 | |
Sub1 | |
vE += 1 | |
jump L1 | |
: L5 | |
hires | |
vA := 1 | |
vB := 1 | |
vC := vE | |
v7 := 1 | |
i := D7 | |
loop | |
if vC == 0 then jump L7 | |
v0 := 2 | |
buzzer := v0 | |
Sub2 | |
vA += 2 | |
vC += -1 | |
again | |
: L7 | |
vA := 0 | |
vB := 57 | |
i := D8 | |
loop | |
vC := vE | |
sprite vA vB 1 | |
vA += 8 | |
if vA != 128 then | |
again | |
vA := 10 | |
vB := 58 | |
i := D7 | |
sprite vA vB 6 | |
Sub3 | |
Sub4 | |
: L9 | |
loop | |
if v7 == 2 then jump L11 | |
loop | |
v0 := 4 | |
if v0 key then jump L13 | |
v0 := 5 | |
if v0 key then jump L14 | |
v0 := 6 | |
if v0 key then jump L15 | |
again | |
: L11 | |
if v7 == 1 then | |
again | |
loop | |
v0 := 7 | |
if v0 key then jump L16 | |
v0 := 8 | |
if v0 key then jump L17 | |
v0 := 9 | |
if v0 key then jump L18 | |
again | |
: L13 | |
if vC == 0 then jump L9 | |
Sub3 | |
v0 := 2 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 2 | |
Sub4 | |
jump L9 | |
: L14 | |
if vC == 1 then jump L9 | |
if vC == 0 then jump L9 | |
Sub3 | |
v0 := 4 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 2 | |
Sub4 | |
jump L9 | |
: L15 | |
if vC == 0 then jump L9 | |
if vC == 1 then jump L9 | |
if vC == 2 then jump L9 | |
Sub3 | |
v0 := 6 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 2 | |
Sub4 | |
jump L9 | |
: L16 | |
if vC == 0 then jump L9 | |
Sub3 | |
v0 := 2 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 1 | |
Sub4 | |
jump L9 | |
: L17 | |
if vC == 1 then jump L9 | |
if vC == 0 then jump L9 | |
Sub3 | |
v0 := 4 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 1 | |
Sub4 | |
jump L9 | |
: L18 | |
if vC == 0 then jump L9 | |
if vC == 1 then jump L9 | |
if vC == 2 then jump L9 | |
Sub3 | |
v0 := 6 | |
buzzer := v0 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vB := 1 | |
vC += -1 | |
i := D7 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
vA := vC | |
vA += vA | |
vA += -1 | |
vC += -1 | |
Sub2 | |
Sub3 | |
Sub4 | |
v7 := 1 | |
Sub4 | |
jump L9 | |
: Sub1 | |
v3 := 25 | |
v4 := 18 | |
i := D6 | |
bcd vE | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: Sub2 | |
sprite vA vB 14 | |
vB += 14 | |
sprite vA vB 14 | |
vB += 14 | |
sprite vA vB 14 | |
vB += 14 | |
sprite vA vB 13 | |
vB := 1 | |
return | |
: Sub3 | |
vA := 0 | |
vB := 59 | |
i := D6 | |
bcd vC | |
load v2 | |
i := hex v1 | |
sprite vA vB 5 | |
vA += 5 | |
i := hex v2 | |
sprite vA vB 5 | |
return | |
: Sub4 | |
i := D9 | |
vA := 12 | |
vB := 59 | |
sprite vA vB 5 | |
vA += 8 | |
i := D10 | |
if v7 != 1 then i := D11 | |
sprite vA vB 5 | |
if v7 == 2 then jump L19 | |
v0 := 4 | |
i := hex v0 | |
vA += 18 | |
sprite vA vB 5 | |
vA += 10 | |
v0 := 5 | |
i := hex v0 | |
sprite vA vB 5 | |
vA += 10 | |
v0 := 6 | |
i := hex v0 | |
sprite vA vB 5 | |
return | |
: L19 | |
v0 := 7 | |
i := hex v0 | |
vA += 18 | |
sprite vA vB 5 | |
vA += 10 | |
v0 := 8 | |
i := hex v0 | |
sprite vA vB 5 | |
vA += 10 | |
v0 := 9 | |
i := hex v0 | |
sprite vA vB 5 | |
return | |
: D1 | |
0xae 0xaa 0xea 0xaa 0xae | |
: D2 | |
0x91 0x91 0x91 0xf1 0x91 | |
: D3 | |
0x2e 0xea 0x2e 0x2a 0x2a | |
: D4 | |
0x95 0xd5 0xd7 0xb2 0x92 | |
: D5 | |
0x1c 0x4 0x1c 0x0 0x10 | |
: D6 | |
0x0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D8 | |
0xff | |
: D9 | |
0xf1 0x93 0xf1 0x83 0x81 | |
: D10 | |
0x42 0xe6 0x42 0xe2 0x47 | |
: D11 | |
0x4f 0xe1 0x4f 0xe8 0x4f | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Mines! - The minehunter [David Winter, 1997].ch8 | |
###################################################################### | |
:proto L1 # 21D | |
:proto L4 # 24F | |
:proto L5 # 25D | |
:proto L12 # 2F1 | |
:proto L13 # 2FF | |
:proto L14 # 30D | |
:proto L15 # 31B | |
:proto L16 # 335 | |
:proto L17 # 37B | |
:proto L18 # 385 | |
:proto L19 # 397 | |
:proto L20 # 3A1 | |
:proto L21 # 3AB | |
:proto L22 # 3BD | |
:proto L23 # 3C7 | |
:proto L24 # 3D9 | |
:proto L25 # 3EF | |
:proto L26 # 3FB | |
:proto L28 # 41D | |
:proto L29 # 42B | |
:proto Sub1 # 42D | |
:proto Sub2 # 44D | |
:proto Sub3 # 451 | |
:proto Sub4 # 455 | |
:proto Sub5 # 457 | |
:proto Sub6 # 46F | |
:proto D1 # 487 | |
:proto D2 # 4A7 | |
:proto D3 # 4AF | |
:proto D4 # 4B7 | |
:proto D5 # 4BF | |
:proto D6 # 4C7 | |
:proto D7 # 4CF | |
:proto D8 # 508 | |
:proto D9 # 526 | |
:proto D10 # 926 | |
:proto D11 # 953 | |
: main | |
jump L1 | |
0x4d 0x49 0x4e 0x45 0x53 0x21 0x20 0x31 0x2e 0x30 0x30 0x20 0x42 0x79 0x20 0x44 0x61 0x76 0x69 0x64 0x20 0x57 0x49 0x4e 0x54 0x45 0x52 | |
: L1 | |
hires | |
clear | |
v0 := 0 | |
v1 := 0 | |
v2 := 32 | |
i := D9 | |
: L2 | |
loop | |
sprite v0 v1 0 | |
i += v2 | |
v1 += 16 | |
if v1 != 64 then jump L2 | |
v1 := 0 | |
v0 += 16 | |
if v0 != 128 then | |
again | |
vC := 1 | |
Sub6 | |
loop | |
v3 := key | |
if v3 != 4 then jump L4 | |
Sub6 | |
vC += -1 | |
if vC == 0 then vC := 5 | |
Sub6 | |
: L4 | |
if v3 != 6 then jump L5 | |
Sub6 | |
vC += 1 | |
if vC == 6 then vC := 1 | |
Sub6 | |
: L5 | |
if v3 != 5 then | |
again | |
v0 := vC | |
vC += vC | |
vC += vC | |
vC += vC | |
vC += v0 | |
vC += v0 | |
vA := 162 | |
vA -= vC | |
clear | |
v0 := 42 | |
v1 := 29 | |
v2 := 5 | |
i := D8 | |
loop | |
sprite v0 v1 5 | |
i += v2 | |
v0 += 8 | |
if v0 != 90 then | |
again | |
i := D11 | |
v0 := 0 | |
v1 := 1 | |
v2 := 0 | |
loop | |
save v0 | |
i += v1 | |
v2 += 1 | |
if v2 != 162 then | |
again | |
v3 := 0 | |
: L8 | |
loop | |
i := D11 | |
v1 := random 0b11111111 | |
v2 := 161 | |
v2 -= v1 | |
if vF != 1 then jump L8 | |
i += v1 | |
load v0 | |
if v0 != 0 then jump L8 | |
v0 := 1 | |
save v0 | |
v3 += 1 | |
if v3 != vC then | |
again | |
clear | |
v0 := 0 | |
v1 := 0 | |
i := D1 | |
: L9 | |
loop | |
sprite v0 v1 0 | |
v1 += 14 | |
if v1 != 56 then jump L9 | |
sprite v0 v1 0 | |
v1 := 0 | |
v0 += 14 | |
if v0 != 126 then | |
again | |
i := D2 | |
loop | |
sprite v0 v1 8 | |
v1 += 8 | |
if v1 != 64 then | |
again | |
vD := 0 | |
vE := 0 | |
Sub4 | |
: L11 | |
loop | |
v2 := key | |
if v2 != 2 then jump L12 | |
Sub4 | |
vE += -1 | |
if vE == -1 then vE := 8 | |
Sub4 | |
: L12 | |
if v2 != 4 then jump L13 | |
Sub4 | |
vD += -1 | |
if vD == -1 then vD := 17 | |
Sub4 | |
: L13 | |
if v2 != 6 then jump L14 | |
Sub4 | |
vD += 1 | |
if vD == 18 then vD := 0 | |
Sub4 | |
: L14 | |
if v2 != 8 then jump L15 | |
Sub4 | |
vE += 1 | |
if vE == 9 then vE := 0 | |
Sub4 | |
: L15 | |
if v2 != 12 then jump L16 | |
Sub1 | |
v1 := v0 | |
v2 := 2 | |
v1 &= v2 | |
if v1 == 2 then jump L16 | |
v1 := 4 | |
v0 ^= v1 | |
save v0 | |
Sub3 | |
Sub2 | |
: L16 | |
if v2 != 5 then jump L11 | |
Sub1 | |
v3 := v0 | |
v2 := 2 | |
v3 &= v2 | |
if v3 == 2 then jump L11 | |
v0 |= v2 | |
save v0 | |
Sub4 | |
Sub1 | |
v3 := v0 | |
v2 := 1 | |
v3 &= v2 | |
if v3 == 1 then jump L26 | |
Sub1 | |
v3 := v0 | |
v2 := 4 | |
v3 &= v2 | |
if v3 == 4 then Sub2 | |
if v3 == 0 then Sub3 | |
vB := 0 | |
if vD == 0 then jump L17 | |
if vE == 0 then jump L17 | |
vD += -1 | |
vE += -1 | |
Sub1 | |
vD += 1 | |
vE += 1 | |
: L17 | |
if vE == 0 then jump L18 | |
vE += -1 | |
Sub1 | |
vE += 1 | |
: L18 | |
if vD == 17 then jump L19 | |
if vE == 0 then jump L19 | |
vD += 1 | |
vE += -1 | |
Sub1 | |
vD += -1 | |
vE += 1 | |
: L19 | |
if vD == 0 then jump L20 | |
vD += -1 | |
Sub1 | |
vD += 1 | |
: L20 | |
if vD == 17 then jump L21 | |
vD += 1 | |
Sub1 | |
vD += -1 | |
: L21 | |
if vD == 0 then jump L22 | |
if vE == 8 then jump L22 | |
vD += -1 | |
vE += 1 | |
Sub1 | |
vD += 1 | |
vE += -1 | |
: L22 | |
if vE == 8 then jump L23 | |
vE += 1 | |
Sub1 | |
vE += -1 | |
: L23 | |
if vD == 17 then jump L24 | |
if vE == 8 then jump L24 | |
vD += 1 | |
vE += 1 | |
Sub1 | |
vD += -1 | |
vE += -1 | |
: L24 | |
if vB == 0 then jump L25 | |
vB += -1 | |
i := D7 | |
v0 := vB | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v0 -= vB | |
i += v0 | |
Sub5 | |
: L25 | |
Sub4 | |
vA += -1 | |
if vA != 0 then | |
again | |
Sub4 | |
jump L29 | |
: L26 | |
vD := 0 | |
vE := 0 | |
: L27 | |
loop | |
Sub1 | |
v1 := 1 | |
v0 &= v1 | |
if v0 != 1 then jump L28 | |
Sub1 | |
v1 := 4 | |
v0 &= v1 | |
v3 := v0 | |
if v0 == 4 then Sub2 | |
if v3 != 4 then Sub3 | |
i := D5 | |
Sub5 | |
: L28 | |
vD += 1 | |
if vD != 18 then jump L27 | |
vD := 0 | |
vE += 1 | |
if vE != 9 then | |
again | |
: L29 | |
loop | |
again | |
: Sub1 | |
i := D11 | |
v0 := vE | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v0 += vE | |
v0 += vE | |
v0 += vD | |
i += v0 | |
load v0 | |
v1 := v0 | |
v4 := 1 | |
v1 &= v4 | |
vB += v1 | |
return | |
: Sub2 | |
i := D4 | |
jump Sub5 | |
: Sub3 | |
i := D6 | |
jump Sub5 | |
: Sub4 | |
i := D3 | |
: Sub5 | |
v0 := vD | |
v1 := vE | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v0 -= vD | |
v1 += v1 | |
v1 += v1 | |
v1 += v1 | |
v1 -= vE | |
sprite v0 v1 8 | |
return | |
: Sub6 | |
v0 := 86 | |
v1 := 47 | |
i := D10 | |
v2 := vC | |
v2 += v2 | |
v2 += v2 | |
v2 += v2 | |
v2 += vC | |
v2 += -9 | |
i += v2 | |
sprite v0 v1 9 | |
return | |
: D1 | |
0xff 0xfc 0xd5 0xa8 0xab 0x54 0xd5 0xa8 0xab 0x54 0xd5 0xa8 0xab 0x54 0xff 0xfc 0xd5 0xa8 0xab 0x54 0xd5 0xa8 0xab 0x54 0xd5 0xa8 0xab 0x54 0x0 0x0 0x0 0x0 | |
: D2 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D3 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
: D4 | |
0x0 0x0 0x18 0x3c 0x3c 0x18 0x0 0x0 | |
: D5 | |
0x0 0x18 0x3c 0x7e 0x7e 0x3c 0x18 0x0 | |
: D6 | |
0x0 0x54 0x2a 0x54 0x2a 0x54 0x2a 0x0 | |
: D7 | |
0x0 0x76 0x66 0x56 0x76 0x76 0x42 0x0 0x66 0x5a 0x7a 0x66 0x5e 0x42 0x0 0x46 0x7a 0x7a 0x46 0x7a 0x46 0x0 0x5a 0x5a 0x5a 0x62 0x7a 0x7a 0x0 0x42 0x5e 0x46 0x7a 0x7a 0x46 0x0 0x62 0x5e 0x46 0x5a 0x5a 0x66 0x0 0x42 0x7a 0x72 0x66 0x6e 0x6e 0x0 0x66 0x5a 0x5a 0x66 0x5a 0x66 0x0 | |
: D8 | |
0xe8 0xa8 0xe8 0x88 0x8e 0xee 0x8a 0xce 0x8a 0xea 0xee 0x88 0xec 0x28 0xee 0x11 0x11 0x15 0x1b 0x11 0x77 0x52 0x72 0x52 0x57 0x70 0x20 0x20 0x20 0x20 | |
: D9 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfe 0x0 0x3e 0x0 0x1e 0x0 0x1f 0x0 0x17 0x0 0x17 0x0 0x13 0x0 0x13 0x0 0x13 0x0 0x11 0x0 0x11 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x10 0x0 0x38 0x0 0xfe 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7e 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x18 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0x0 0xf 0x0 0x1e 0x0 0x1e 0x0 0x1e 0x80 0x3e 0x80 0x3e 0x80 0x4e 0xc0 0x4e 0xc0 0x4e 0xe0 0x8e 0xe0 0x8e 0xe1 0xe 0xf1 0xe 0x71 0xe 0x7a 0xe 0x3a 0xe 0x3c 0xe 0x1c 0xe 0x1c 0xe 0x8 0x1f 0x8 0x7f 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x60 0x0 0x60 0x0 0x7c 0x3c 0x66 0x66 0x66 0x66 0x66 0x7e 0x66 0x60 0x66 0x60 0x66 0x3c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0x0 0x10 0x0 0x10 0x0 0x17 0x0 0x11 0x0 0x11 0x0 0x11 0x0 0x11 0x0 0x11 0x0 0x11 0x0 0x11 0x0 0x17 0x0 0x10 0x0 0x10 0x0 0x1f 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xcf 0xf9 0x3 0xe0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x1 0xc0 0x3 0xe0 0xcf 0xf9 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7e 0x0 0x6b 0x0 0x6b 0x0 0x6b 0x0 0x6b 0x0 0x6b 0x0 0x63 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0xc7 0xf7 0x2 0x12 0x2 0x2 0x2 0x42 0x3 0xc1 0x2 0x41 0x2 0x1 0x12 0x10 0xf7 0xf0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x7 0x78 0x1 0x3c 0x0 0x3c 0x0 0x3e 0x0 0x2f 0x0 0x27 0x80 0x27 0x80 0x23 0xc0 0x21 0xe0 0x20 0xf0 0x20 0xf0 0x20 0x78 0x20 0x3c 0x20 0x1e 0x20 0x1e 0x20 0xf 0x20 0x7 0x20 0x3 0x20 0x3 0x70 0x1 0xfc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x18 0x0 0x18 0x0 0x0 0x0 0x78 0x7c 0x18 0x66 0x18 0x66 0x18 0x66 0x18 0x66 0x18 0x66 0x7e 0x66 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x77 0xf7 0x22 0x11 0x22 0x1 0x22 0x41 0x43 0xc1 0x42 0x41 0x42 0x1 0x82 0x11 0x87 0xf7 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf3 0xff 0xc0 0xf8 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x7f 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0x70 0x80 0xf8 0x83 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x60 0x0 0x60 0x3c 0x7c 0x66 0x66 0x66 0x66 0x7e 0x66 0x60 0x66 0x60 0x66 0x3c 0x66 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0xc0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x0 0xf0 0x80 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfc 0x1 0xc 0x7 0x4 0xe 0x4 0xe 0x0 0x1e 0x0 0x1e 0x0 0x1e 0x10 0xf 0x10 0xf 0x30 0x7 0xf0 0x3 0x30 0x0 0x10 0x0 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x0 0x10 0x1 0x18 0x3 0x1c 0xe 0x1e 0xfe 0x13 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x66 0x7c 0x66 0x66 0x66 0x66 0x66 0x66 0x66 0x66 0x66 0x66 0x3e 0x66 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x1 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf9 0x0 0xf 0x0 0x3 0x0 0x1 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc0 0x0 0xf0 0x0 0xf8 0x0 0xfe 0x0 0x7f 0x0 0x1f 0x0 0xf 0x80 0x7 0x80 0x7 0x80 0x7 0x80 0x7 0x0 0x7 0x0 0xe 0x0 0xf8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x0 0x30 0x0 0x7e 0x3c 0x30 0x66 0x30 0x66 0x30 0x7e 0x30 0x60 0x30 0x60 0x1e 0x3c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf8 0x0 0x8 0x0 0x8 0x0 0xc8 0x0 0x28 0x0 0x28 0x0 0x28 0x0 0x28 0x0 0x28 0x0 0x28 0x0 0x28 0x0 0xc8 0x0 0x8 0x0 0x8 0x0 0xf8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x7 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x7 0x0 0x7 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x66 0x0 0x6e 0x0 0x70 0x0 0x60 0x0 0x60 0x0 0x60 0x0 0x60 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D10 | |
0x20 0xe0 0x20 0x20 0x20 0x20 0x20 0x20 0xf8 0x70 0x88 0x8 0x8 0x10 0x20 0x40 0x80 0xf8 0x70 0x88 0x8 0x8 0x30 0x8 0x8 0x88 0x70 0x10 0x30 0x30 0x50 0x50 0x90 0xf8 0x10 0x38 0xf8 0x80 0x80 0x80 0xf0 0x8 0x8 0x88 0x70 | |
: D11 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Single Dragon (Bomber Section) [David Nurser, 1993].ch8 | |
###################################################################### | |
:proto L1 # 20E | |
:proto Sub1 # 22E | |
:proto Sub2 # 250 | |
:proto Sub3 # 26E | |
:proto Sub4 # 288 | |
:proto Sub5 # 294 | |
:proto Sub6 # 2A6 | |
:proto L3 # 2B0 | |
:proto L4 # 2B4 | |
:proto L5 # 2B6 | |
:proto D2 # 2BE | |
:proto D3 # 2FE | |
:proto D4 # 304 | |
: main | |
jump L1 | |
0x28 0x43 0x29 0x20 0x44 0x2e 0x4e 0x55 0x52 0x53 0x45 0x52 | |
: L1 | |
hires | |
v4 := 10 | |
v5 := 10 | |
v6 := 30 | |
Sub5 | |
Sub6 | |
v7 := -1 | |
loop | |
Sub4 | |
scroll-left | |
Sub2 | |
Sub5 | |
if vF != 0 then exit | |
Sub6 | |
Sub1 | |
again | |
: Sub1 | |
if v7 == -1 then return | |
v1 := 4 | |
v0 := v7 | |
v0 -= v1 | |
i := D3 | |
sprite v0 v8 5 | |
v7 += 2 | |
v8 += 1 | |
sprite v7 v8 5 | |
v0 := 10 | |
if vF != 0 then buzzer := v0 | |
if vF != 0 then v7 := -1 | |
vF := 0 | |
return | |
: Sub2 | |
v1 := 2 | |
v0 := 2 | |
if v0 key then v5 -= v1 | |
v0 := 8 | |
if v0 key then v5 += 1 | |
v0 := 5 | |
if v0 key then Sub3 | |
v1 := 128 | |
v1 &= v5 | |
if v1 != 0 then v5 := 0 | |
return | |
: Sub3 | |
if v7 != -1 then return | |
v7 := v4 | |
v7 += 16 | |
v8 := v5 | |
v8 += 16 | |
i := D3 | |
v0 := v7 | |
v1 := 4 | |
v0 -= v1 | |
sprite v0 v8 5 | |
return | |
: D1 | |
0x0 0x0 | |
: Sub4 | |
i := D1 | |
load v0 | |
i := D2 | |
i += v0 | |
sprite v4 v5 0 | |
return | |
: Sub5 | |
i := D1 | |
load v0 | |
v1 := 32 | |
v0 ^= v1 | |
save v0 | |
i := D2 | |
i += v0 | |
sprite v4 v5 0 | |
return | |
: Sub6 | |
v1 := 1 | |
v0 := random 0b1 | |
if v0 != 0 then jump L3 | |
jump L4 | |
: L3 | |
v6 -= v1 | |
jump L5 | |
: L4 | |
v6 += v1 | |
: L5 | |
i := D4 | |
v1 := 124 | |
sprite v1 v6 2 | |
return | |
: D2 | |
0x0 0x7f 0x0 0x40 0x0 0xe0 0x1 0x18 0x1 0x4 0x1 0x4 0x1 0x2 0xff 0x12 0xbf 0x32 0x8f 0x2a 0x3 0xc 0x1 0x4 0x0 0xf8 0x0 0x90 0x0 0x92 0x3 0xfc 0x1f 0xc0 0x0 0x40 0x0 0xe0 0x1 0x18 0x1 0x4 0x1 0x4 0x1 0x2 0xff 0x12 0xbf 0x32 0x8f 0x2a 0x3 0xc 0x1 0x4 0x0 0xf8 0x0 0x90 0x0 0x92 0x3 0xfc | |
: D3 | |
0x24 0x18 0x18 0x24 0x18 0x0 | |
: D4 | |
0xf0 0xf0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Single Dragon (Stages 1-2) [David Nurser, 1993].ch8 | |
###################################################################### | |
# InvalidOpcode('0000',) | |
# InvalidOpcode('0442',) | |
# InvalidOpcode('0442',) | |
:proto L1 # 214 | |
:proto L4 # 260 | |
:proto L5 # 268 | |
:proto L6 # 270 | |
:proto Sub1 # 278 | |
:proto Sub2 # 29C | |
:proto Sub3 # 2C0 | |
:proto L7 # 2D6 | |
:proto Sub5 # 2E8 | |
:proto Sub8 # 370 | |
:proto L11 # 380 | |
:proto L12 # 3A8 | |
:proto L13 # 3C0 | |
:proto L14 # 3C6 | |
:proto Sub9 # 3F8 | |
:proto L15 # 436 | |
:proto L17 # 496 | |
:proto L18 # 4A2 | |
:proto Sub14 # 4A8 | |
:proto L19 # 4C4 | |
:proto L20 # 4DC | |
:proto L21 # 4F2 | |
:proto L22 # 508 | |
:proto L23 # 512 | |
:proto L24 # 51A | |
:proto D3 # 51C | |
:proto Sub15 # 61C | |
:proto D4 # 638 | |
:proto D5 # 658 | |
:proto Sub16 # 800 | |
:proto D6 # 858 | |
:proto D7 # C58 | |
:proto D8 # C5C | |
: main | |
jump L1 | |
0x53 0x54 0x41 0x47 0x45 0x20 0x31 0x2d 0x32 0x3a 0x3a 0x4e 0x55 0x52 0x53 0x45 0x52 0x0 | |
: L1 | |
clear | |
hires | |
Sub15 | |
: L2 | |
vA := 0 | |
v0 := 0 | |
Sub1 | |
v0 := 0 | |
Sub3 | |
v0 := 10 | |
Sub1 | |
v0 := 10 | |
Sub3 | |
v0 := 20 | |
Sub1 | |
v0 := 20 | |
Sub3 | |
loop | |
v0 := vA | |
Sub1 | |
if vE == 0 then Sub5 | |
if vE == 0 then jump L6 | |
v0 := vA | |
Sub3 | |
v1 := 64 | |
v1 &= v8 | |
if v1 != 0 then v8 := 0 | |
if v1 != 0 then jump L5 | |
if vA != 0 then jump L4 | |
vB := v6 | |
vC := v7 | |
vD := v9 | |
Sub9 | |
Sub14 | |
jump L5 | |
: L4 | |
v3 := random 0b11111111 | |
v1 := 15 | |
v3 &= v1 | |
Sub14 | |
: L5 | |
v0 := vA | |
Sub3 | |
v0 := vA | |
Sub2 | |
: L6 | |
vA += 10 | |
if vA == 30 then vA := 0 | |
again | |
: Sub1 | |
v1 := 2 | |
i := L14 | |
i += v0 | |
load v0 | |
v6 := v0 | |
i += v1 | |
load v0 | |
v7 := v0 | |
i += v1 | |
load v0 | |
v8 := v0 | |
i += v1 | |
load v0 | |
v9 := v0 | |
i += v1 | |
load v0 | |
vE := v0 | |
return | |
: Sub2 | |
v1 := 2 | |
i := L14 | |
i += v0 | |
v0 := v6 | |
save v0 | |
v0 := v7 | |
i += v1 | |
save v0 | |
v0 := v8 | |
i += v1 | |
save v0 | |
v0 := v9 | |
i += v1 | |
save v0 | |
v0 := vE | |
i += v1 | |
save v0 | |
return | |
: Sub3 | |
i := D3 | |
i += v8 | |
i += v9 | |
sprite v6 v7 0 | |
if v0 == 0 then return | |
if v9 != 0 then jump L7 | |
i := D7 | |
sprite v6 v7 4 | |
return | |
: L7 | |
i := D8 | |
v2 := v6 | |
v2 += 8 | |
sprite v2 v7 4 | |
return | |
: D1 | |
0x0 0x0 | |
: Sub4 | |
i := D4 | |
sprite v6 v7 0 | |
return | |
: Sub5 | |
if vA == 0 then return | |
v0 := delay | |
if v0 != 0 then return | |
Sub4 | |
v6 := 40 | |
v0 := random 0b11111111 | |
v1 := 12 | |
v0 ^= v1 | |
v1 := 15 | |
v0 &= v1 | |
v6 += v0 | |
v7 := 28 | |
v9 := 0 | |
v8 := 0 | |
vE := 4 | |
v0 := vA | |
Sub3 | |
Sub2 | |
return | |
: Sub6 | |
if v5 == 0 then exit | |
v0 := v5 | |
Sub3 | |
Sub4 | |
v0 := 10 | |
buzzer := v0 | |
v0 := 0 | |
loop | |
v0 += 1 | |
if v0 != 50 then | |
again | |
if v5 == 0 then return | |
v2 := 0 | |
v1 := 0 | |
i := D1 | |
load v0 | |
v0 += 1 | |
save v0 | |
if v0 == 4 then Sub8 | |
if v5 == 0 then return | |
v0 := -1 | |
delay := v0 | |
return | |
: D2 | |
0x0 0x0 | |
: Sub7 | |
v1 := 124 | |
v0 := 0 | |
v4 := 8 | |
loop | |
scroll-left | |
v2 := 0 | |
sprite v1 v2 8 | |
i += v4 | |
v2 += 8 | |
sprite v1 v2 8 | |
i += v4 | |
v2 += 8 | |
sprite v1 v2 8 | |
i += v4 | |
v2 += 8 | |
sprite v1 v2 8 | |
i += v4 | |
v0 += 4 | |
if v0 != 64 then | |
again | |
return | |
: Sub8 | |
vA := 0 | |
loop | |
v0 := vA | |
Sub1 | |
if vE == 0 then jump L11 | |
v0 := vA | |
if v0 != 0 then Sub3 | |
: L11 | |
if vA != 0 then vE := 4 | |
v6 := 40 | |
v6 += vA | |
v6 += vA | |
v7 := 40 | |
v0 := vA | |
Sub2 | |
vA += 10 | |
if vA != 30 then | |
again | |
i := D2 | |
load v0 | |
i := D6 | |
if v0 == 0 then jump L12 | |
i += v0 | |
i += v0 | |
v0 := 2 | |
i += v0 | |
: L12 | |
Sub7 | |
i := D1 | |
v0 := 0 | |
save v0 | |
i := D2 | |
load v0 | |
if v0 != 0 then jump L13 | |
v0 := -1 | |
i := D2 | |
save v0 | |
jump L2 | |
: L13 | |
v0 := 1 | |
saveflags v0 | |
exit | |
: L14 | |
Sub16 | |
Sub16 | |
0x0 0x0 0x0 0x0 0x4 0x0 0x3c 0x0 0x28 0x0 0x0 0x0 0x80 0x0 0x3 0x0 0x50 0x0 0x28 0x0 0x20 0x0 0x0 0x0 0x3 0x0 0x64 0x0 0x28 0x0 0x0 0x0 0x80 0x0 0x3 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: Sub9 | |
v3 := -1 | |
v0 := 0 | |
if v0 key then v3 := 0 | |
v0 := 15 | |
if v0 key then v3 := 1 | |
v0 := 9 | |
if v0 key then v3 := 2 | |
v0 := 11 | |
if v0 key then v3 := 3 | |
v0 := 1 | |
if v0 key then v3 := 4 | |
v0 := 2 | |
if v0 key then v3 := 5 | |
return | |
: Sub10 | |
v2 := -1 | |
v2 -= v1 | |
v2 += v0 | |
return | |
: Sub11 | |
Sub10 | |
if vF != 0 then jump L15 | |
v1 -= v0 | |
v0 := v1 | |
v1 := 1 | |
return | |
: L15 | |
v0 -= v1 | |
v1 := 0 | |
return | |
: Sub12 | |
v0 := 40 | |
Sub2 | |
: Sub13 | |
vB := v6 | |
vC := v7 | |
vD := v9 | |
v5 := 0 | |
if vA == 0 then v5 := 10 | |
loop | |
if vA == v5 then jump L17 | |
v0 := v5 | |
Sub1 | |
if vE == 0 then jump L17 | |
v1 := v6 | |
v0 := vB | |
Sub11 | |
v0 >>= v0 | |
v0 >>= v0 | |
v0 >>= v0 | |
if v0 != 0 then jump L17 | |
if v1 != 0 then v1 := 1 | |
if vD != 0 then vD := 1 | |
v1 ^= vD | |
if v1 != 1 then jump L17 | |
v1 := v7 | |
v0 := vC | |
Sub11 | |
v0 >>= v0 | |
v0 >>= v0 | |
v0 >>= v0 | |
if v0 != 0 then jump L17 | |
v1 := 1 | |
vE -= v1 | |
v0 := v5 | |
Sub2 | |
if vE == 0 then Sub6 | |
v0 := 5 | |
buzzer := v0 | |
: L17 | |
v5 += 10 | |
if v5 == 10 then jump L18 | |
if v5 == 30 then jump L18 | |
again | |
: L18 | |
v0 := 40 | |
Sub1 | |
return | |
: Sub14 | |
v4 := 4 | |
v5 := 32 | |
if v3 != 0 then jump L19 | |
v0 := v6 | |
v0 -= v4 | |
v1 := 0 | |
Sub10 | |
if vF == 0 then return | |
v6 -= v4 | |
v9 := 128 | |
v8 ^= v5 | |
return | |
: L19 | |
if v3 != 1 then jump L20 | |
v0 := v6 | |
v0 += v4 | |
v1 := 117 | |
Sub10 | |
if vF != 0 then return | |
v6 += v4 | |
v9 := 0 | |
v8 ^= v5 | |
return | |
: L20 | |
if v3 != 2 then jump L21 | |
v0 := v7 | |
v0 -= v4 | |
v1 := 30 | |
Sub10 | |
if vF == 0 then return | |
v7 -= v4 | |
v8 ^= v5 | |
return | |
: L21 | |
if v3 != 3 then jump L22 | |
v0 := v7 | |
v0 += v4 | |
v1 := 45 | |
Sub10 | |
if vF != 0 then return | |
v7 += v4 | |
v8 ^= v5 | |
return | |
: L22 | |
if v3 != 4 then jump L23 | |
v8 := 64 | |
Sub12 | |
return | |
: L23 | |
if v3 != 5 then jump L24 | |
v8 := 96 | |
Sub12 | |
: L24 | |
return | |
: D3 | |
0xe 0x0 0x11 0x0 0x11 0x0 0xe 0x0 0x4 0x0 0x1a 0x0 0x2f 0x60 0x21 0xe0 0x1f 0x60 0xa 0x0 0xf 0x80 0xe 0x40 0x1f 0x0 0x1f 0x0 0x1b 0x0 0x1f 0x80 0xe 0x0 0x11 0x0 0x11 0x0 0xe 0x0 0x4 0x0 0x1a 0x0 0x2f 0x60 0x21 0xe0 0x1f 0x60 0xa 0x0 0xf 0x80 0xe 0x40 0x1f 0x0 0x3b 0x80 0x71 0xc0 0x79 0xf0 0xe 0x0 0x11 0x0 0x11 0x0 0xe 0x0 0x4 0x0 0xb 0xf6 0x8 0xe 0x7 0xf6 0xa 0x0 0xa 0x0 0xf 0x80 0xe 0x40 0x1f 0x0 0x3b 0x80 0x71 0xc0 0x79 0xf0 0xe 0x0 0x11 0x0 0x11 0x0 0xe 0x0 0x4 0x0 0x1a 0x0 0x2f 0x60 0x21 0xe0 0x1f 0x62 0xa 0x4 0xf 0xfc 0xf 0xfc 0xe 0x0 0xe 0x0 0xc 0x0 0xf 0x0 0x0 0x70 0x0 0x88 0x0 0x88 0x0 0x70 0x0 0x20 0x0 0x58 0x6 0xf4 0x7 0x84 0x6 0xf8 0x0 0x50 0x1 0xf0 0x2 0x70 0x0 0xf8 0x0 0xf8 0x0 0xd8 0x1 0xf8 0x0 0x70 0x0 0x88 0x0 0x88 0x0 0x70 0x0 0x20 0x0 0x58 0x6 0xf4 0x7 0x84 0x6 0xf8 0x0 0x50 0x1 0xf0 0x2 0x70 0x0 0xf8 0x1 0xdc 0x3 0x8e 0xf 0x9e 0x0 0x70 0x0 0x88 0x0 0x88 0x0 0x70 0x0 0x20 0x6f 0xd0 0x70 0x10 0x6f 0xe0 0x0 0x50 0x0 0x50 0x1 0xf0 0x2 0x70 0x0 0xf8 0x1 0xdc 0x3 0x8e 0xf 0x9e 0x0 0x70 0x0 0x88 0x0 0x88 0x0 0x70 0x0 0x20 0x0 0x58 0x6 0xf4 0x7 0x84 0x46 0xf8 0x20 0x50 0x3f 0xf0 0x3f 0xf0 0x0 0x70 0x0 0x70 0x0 0x30 0x0 0xf0 | |
: Sub15 | |
v3 := 0 | |
i := D5 | |
v2 := 0 | |
v1 := 32 | |
loop | |
sprite v2 v3 0 | |
v2 += 16 | |
i += v1 | |
if v2 == 128 then v3 += 16 | |
if v2 == 128 then v2 := 0 | |
if v3 != 32 then | |
again | |
return | |
: D4 | |
0x3 0xe0 0xc 0x18 0x10 0x4 0x20 0x2 0x2e 0xba 0x2a 0xaa 0x2c 0xba 0x2a 0xa2 0x20 0x2 0x20 0x2 0x20 0x2 0x20 0x2 0x2f 0xf2 0x3f 0xfe 0x0 0x0 0x0 0x0 | |
: D5 | |
0x10 0x4 0x10 0x4 0x10 0x4 0x10 0x4 0x10 0x5 0x10 0x4 0x10 0x4 0x10 0x4 0x10 0x5 0x10 0x6 0x12 0x5 0x1f 0xc4 0x10 0x84 0x10 0x84 0x1f 0xff 0x12 0x8 0xe0 0x1 0xe0 0x1 0xe0 0x1 0x40 0x1 0x40 0x1 0x45 0x1 0x87 0x1 0x88 0x81 0x8 0x81 0x7 0x1 0x8 0x81 0x88 0x81 0x88 0xc9 0x87 0x31 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x7f 0x0 0x40 0x0 0x40 0x0 0x43 0x0 0x44 0x0 0x44 0x0 0x48 0x0 0x48 0x0 0x48 0x0 0x58 0x0 0x50 0x0 0x51 0x10 0x51 0x7e 0x51 0x40 0x51 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x38 0xf 0x7c 0x6 0xc0 0x6 0x80 0x6 0x80 0x6 0x80 0xc6 0x81 0xe6 0x83 0x37 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0xff 0xff 0x0 0x1 0x7 0x71 0x2 0x52 0x0 0x2 0x0 0x2 0x0 0x6 0x0 0x4 0x23 0x4 0x67 0x84 0xcc 0xbc 0x8f 0x84 0x0 0x40 0xfc 0x40 0x4 0x40 0x4 0x48 0x84 0x4a 0x44 0x4e 0x44 0x5b 0xe4 0x62 0xe4 0x44 0xe4 0x59 0xf4 0x6a 0xd4 0x4e 0x94 0x5a 0x94 0x62 0x94 0x44 0x94 0x58 0x4 0x40 0x4 0x82 0x4 0x82 0x4 0x44 0x4 0x3c 0x4 0x4 0x84 0x2 0x84 0x1 0xc4 0x0 0x84 0x0 0x4 0x0 0x4 0x0 0x4 0x0 0x4 0x0 0x4 0x0 0x4 0x0 0x0 0x0 0x0 0x36 0x0 0x49 0x0 0x0 0x20 0x0 0x40 0x0 0x40 0x80 0xe0 0x80 0x21 0x43 0x1e 0x3c 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x12 0x8 0x1f 0xfc 0x10 0x80 0x10 0x80 0x1f 0xc0 0x12 0x0 0x12 0x0 0x10 0x1 0x10 0x1 0x10 0xf 0x10 0x13 0x10 0x22 0x1f 0xa4 0x0 0x20 0x0 0x11 0x0 0xe 0x0 0x0 0x0 0x1 0x0 0x0 0xc0 0x0 0xb0 0x4 0x88 0x4 0xc0 0xc 0xb0 0x18 0xcc 0x18 0x47 0x1e 0x27 0xf1 0xa3 0xec 0x9b 0xe4 0x87 0xfc 0x0 0x11 0x0 0xe 0x40 0x51 0xfc 0x51 0x10 0x58 0x10 0x48 0x3e 0x48 0x0 0x48 0x0 0x44 0x0 0x44 0x0 0x43 0x0 0x40 0x0 0x7f 0x80 0x0 0xbf 0xff 0x80 0x0 0x0 0x0 0x0 0x0 0x83 0x37 0xc7 0x37 0xff 0xe6 0x78 0xcf 0x0 0xf 0x0 0x70 0x7 0x83 0xff 0xfc 0xff 0xff 0x0 0x0 0xff 0xff 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x3c 0x5 0x8c 0x85 0xef 0x86 0x27 0x3e 0x1 0xc2 0xe 0x2 0xf0 0x1 0x0 0x1 0xff 0xff 0x0 0x0 0xff 0xff 0x0 0x0 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x54 0x68 0x54 0x48 0xb4 0x40 0x24 0x40 | |
: Sub16 | |
Sub13 | |
Sub13 | |
if v4 == 64 then if v4 == 64 then v4 |= v4 | |
0x4 0x42 0xfc 0x44 0x0 0x58 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x0 0x4 0x1f 0x4 0x60 0x4 0x5f 0x4 0x20 0x18 0x20 0x20 0x20 0x40 0x20 0x80 0x11 0x0 0x11 0x0 0x1f 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc0 0x0 0x47 0x80 0x8e 0x40 0x91 0x20 0xa0 0xa0 0xa0 0xc0 0x20 0x84 0x11 0xc 0xe 0x14 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D6 | |
0x0 0x0 0x0 0x0 0x80 0x40 0x70 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x40 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x20 0x10 0x10 0x10 0x20 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x60 0xa0 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x10 0x10 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0xa0 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x20 0x0 0xf0 0x0 0x0 0x30 0xc0 0x80 0x0 0x0 0x0 0x0 0x10 0x30 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x80 0x40 0x20 0x20 0x20 0x20 0x70 0xf0 0xf0 0x80 0x70 0x0 0x0 0x0 0x0 0x0 0x0 0xe0 0x0 0x10 0xe0 0xe0 0x10 0x0 0x0 0x0 0x0 0x10 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc0 0xe0 0x80 0x0 0x0 0x0 0x0 0x0 0x40 0x40 0xd0 0xc0 0x50 0x70 0x10 0x0 0xf0 0xa0 0xa0 0xa0 0xe0 0x0 0xf0 0x0 0x40 0x40 0x40 0x40 0x40 0x40 0x40 0x40 0x70 0x0 0x70 0x10 0x10 0x10 0x0 0x0 0x0 0x0 0xf0 0x0 0xf0 0x80 0xa0 0x30 0xf0 0x10 0x10 0x10 0x30 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0xe0 0x0 0x0 0xf0 0x20 0x20 0x0 0x0 0xe0 0x10 0x30 0xe0 0x40 0x50 0xe0 0x0 0x20 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x40 0xe0 0x0 0x0 0x80 0x80 0xb0 0x80 0x0 0x20 0x30 0xb0 0x20 0x0 0x0 0x30 0xf0 0x30 0xd0 0x0 0x80 0x80 0x80 0x80 0xb0 0x90 0x90 0x90 0x80 0x0 0x30 0x10 0x10 0x0 0x0 0x0 0x0 0x0 0xb0 0x40 0x40 0xf0 0x80 0xa0 0xa0 0xa0 0xa0 0xa0 0x80 0xe0 0xb0 0x0 0x0 0x0 0x0 0x20 0xf0 0x0 0x0 0xf0 0x20 0x20 0xf0 0x0 0x0 0x70 0x20 0x0 0x0 0x0 0xb0 0x40 0x40 0xe0 0x30 0xb0 0xa0 0xa0 0xa0 0xa0 0x20 0x0 0xf0 0x0 0x10 0x10 0x10 0x10 0x90 0x90 0x90 0xd0 0x10 0x0 0xf0 0x80 0x80 0xe0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x80 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x70 0x40 0xd0 0x50 0x50 0x40 0x40 0x40 0x40 0x40 0x40 0x40 0x40 0x50 0x50 0x50 0x40 0x40 0x40 0x40 0x40 0x40 0x70 0x0 0xf0 0x0 0x20 0x20 0x30 0x60 0x80 0x0 0xf0 0x0 0xd0 0xf0 0x50 0x0 0x0 0x0 0x10 0x30 0x70 0x70 0xe0 0xe0 0xf0 0xe0 0xc0 0x80 0x0 0x0 0x0 0x0 0xf0 0x0 0xf0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0xf0 0x0 0xf0 0x70 0xf0 0x0 0x0 0xf0 0xf0 0xf0 0xf0 0x20 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0xf0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0xf0 0x10 0xd0 0x90 0xd0 0x10 0x10 0x90 0xd0 0x90 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0xf0 0x0 0xf0 0x0 0x0 0x0 0xf0 0x10 0x70 0xf0 0xe0 0xc0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x60 0x80 0x0 0xf0 0x0 0x0 0x0 0xd0 0xf0 0xf0 0x70 0x70 0x70 0x70 0x70 0x70 0x70 0x70 0x70 0xf0 0x50 0x40 0x40 0x50 0x40 0x40 0x40 0x40 0x40 0x40 0x80 0x0 0x0 0x0 0x0 0xf0 0x0 0x30 0xf0 0xf0 0xe0 0xe0 0xc0 0xd0 0xd0 0xb0 0xb0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0xf0 0x30 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0xf0 0x70 0x70 0xf0 0xf0 0x70 0xa0 0xa0 0x50 0x50 0xa0 0xb0 0xb0 0x70 0x70 0xf0 0xf0 0xf0 0xf0 0x0 0x0 0x0 0x0 0x20 0x50 0x60 0x50 0x0 0x0 0x0 0xf0 0x0 0x0 0xc0 0xe0 0xf0 0xf0 0xf0 0x30 0xd0 0xd0 0xb0 0x70 0xf0 0xf0 0xf0 0xf0 0xe0 0xc0 0x0 0xf0 0x0 0x0 0x0 0x0 0x80 0x80 0x80 0x80 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x80 0x80 0xc0 0xc0 0xc0 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0xb0 0xa0 0x80 0x90 0x90 0xa0 0xc0 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x30 0x60 0x40 0x10 0x10 0x20 0x40 0x90 0xa0 0x20 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x10 0x20 0x20 0x10 0x0 0x0 0x0 0x0 0x0 0xf0 0x0 0x20 0x20 0x20 0x40 0x90 0x20 0x40 0x40 0x80 0x0 0x0 0x0 0x0 0x0 0x30 0x40 0xf0 0x80 0xa0 0xa0 0xa0 0xa0 0xa0 0xa0 0x80 0x80 0xf0 0x0 0x20 0x40 0xc0 0x0 0xb0 0x80 0x80 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x30 0x40 0x80 0x0 0x0 0xf0 0x0 0xa0 0xa0 0x80 0x80 0x0 0x10 0x10 0x30 0xb0 0x30 0x10 0x10 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0x10 0x20 0x20 0x40 0xd0 0x0 0x80 0x0 0x0 0x70 0xf0 0xc0 0x80 0x0 0x10 0x0 0x80 0xc0 0xf0 0x70 0xf0 0x0 0x0 0x10 0x0 0x10 0x20 0x70 0x40 0x90 0xa0 0x20 0x40 0x40 0x80 0x80 0xf0 0x0 0x0 0x0 0x0 0xc0 0xe0 0x70 0x30 0x10 0x10 0x10 0x30 0x70 0xe0 0xc0 0x80 0x80 0x90 0x20 0x40 0x80 0x0 0xf0 0x10 0xd0 0x50 0x50 0x50 0x50 0x50 0x50 0xd0 0x10 0x10 0x10 0x10 0x10 0x10 0x10 0x0 0x80 0xb0 0xb0 0x0 0x0 0x0 0x0 | |
: D7 | |
0x0 0xe 0xe 0x0 | |
: D8 | |
0x0 0x70 0x70 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Sokoban [Hap, 2006] (alt).ch8 | |
###################################################################### | |
:proto Sub1 # 21B | |
:proto Sub2 # 22D | |
:proto L5 # 235 | |
:proto Sub3 # 23D | |
:proto L6 # 25D | |
:proto L7 # 263 | |
:proto Sub4 # 267 | |
:proto Sub5 # 26B | |
:proto L8 # 27D | |
:proto Sub6 # 2A7 | |
:proto L12 # 2BB | |
:proto L14 # 2CF | |
:proto Sub7 # 2D3 | |
:proto Sub8 # 2E3 | |
:proto L16 # 2F1 | |
:proto Sub9 # 2FF | |
:proto Sub10 # 30D | |
:proto L18 # 327 | |
:proto L19 # 329 | |
:proto L20 # 32D | |
:proto L24 # 391 | |
:proto L26 # 3C1 | |
:proto L28 # 3E3 | |
:proto L29 # 3E9 | |
:proto Sub11 # 3EF | |
:proto Sub12 # 401 | |
:proto Sub13 # 409 | |
:proto L30 # 411 | |
:proto D2 # 41A | |
:proto D3 # 432 | |
:proto L31 # 434 | |
:proto L32 # 438 | |
:proto L33 # 43C | |
:proto L34 # 440 | |
:proto L35 # 444 | |
:proto D4 # 464 | |
:proto D5 # 489 | |
:proto D6 # 494 | |
:proto D7 # 495 | |
:proto D8 # 4A5 | |
:proto D9 # 4AD | |
:proto D10 # 4B1 | |
:proto D11 # 4B5 | |
:proto D12 # FC9 | |
: main | |
hires | |
: L1 | |
Sub1 | |
: L2 | |
loop | |
vE := 5 | |
Sub2 | |
if vC key then jump L5 | |
if vD key then jump L8 | |
if vA == 50 then jump L2 | |
if vB key then : L3 | |
Sub3 | |
jump L2 | |
: D1 | |
0x80 | |
: Sub1 | |
clear | |
i := D5 | |
load vE | |
if vA == 0 then jump L35 | |
: L4 | |
Sub4 | |
i := hex v6 | |
sprite v6 v9 5 | |
return | |
: Sub2 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
return | |
: L5 | |
if vA == 1 then | |
again | |
vE := 8 | |
jump L3 | |
: Sub3 | |
delay := v7 | |
v0 := 1 | |
buzzer := v0 | |
i := D12 | |
i += vA | |
load v5 | |
i := L16 | |
load v1 | |
if vE == 5 then jump L6 | |
v1 -= v3 | |
if vF == 0 then v0 += -1 | |
vA += -1 | |
v5 := v3 | |
jump L7 | |
: L6 | |
v1 += v4 | |
v0 += vF | |
vA += 1 | |
: L7 | |
save v1 | |
Sub5 | |
: Sub4 | |
i := L35 | |
bcd vA | |
: Sub5 | |
i := L35 | |
load v2 | |
i := hex v1 | |
sprite v8 v9 5 | |
i := hex v2 | |
sprite v7 v9 5 | |
i := D5 | |
save vA | |
return | |
: L8 | |
Sub1 | |
: L9 | |
vD := 0 | |
vC := 0 | |
v2 := 2 | |
buzzer := v2 | |
delay := v6 | |
v1 := 64 | |
Sub7 | |
v7 := v6 | |
v1 := 128 | |
Sub7 | |
v4 := vE | |
v1 := vE | |
v1 += v6 | |
: L10 | |
loop | |
Sub6 | |
if vC == 0 then jump L20 | |
if v3 == 24 then jump L12 | |
: L11 | |
Sub10 | |
again | |
: Sub6 | |
vE := 0 | |
Sub9 | |
if vE == 1 then Sub9 | |
Sub9 | |
v3 := vE | |
v3 ^= v2 | |
v3 <<= v0 | |
v3 <<= v0 | |
return | |
: L12 | |
Sub6 | |
if v3 == 24 then jump L14 | |
Sub8 | |
vE += 4 | |
loop | |
Sub10 | |
vE += -1 | |
if vE != 0 then | |
again | |
jump L10 | |
: L14 | |
saveflags v7 | |
jump L11 | |
: Sub7 | |
Sub8 | |
vE += 5 | |
vE <<= v0 | |
vE <<= v0 | |
v6 := vE | |
v6 =- v1 | |
v6 >>= v0 | |
return | |
: Sub8 | |
vE := 0 | |
Sub9 | |
Sub9 | |
Sub9 | |
Sub9 | |
return | |
: L15 | |
vD := 8 | |
: L16 | |
i := D11 | |
i += vC | |
load v0 | |
vB := v0 | |
if vC == v5 then vC := -1 | |
vC += 1 | |
: Sub9 | |
if vD == 0 then jump L15 | |
vD += -1 | |
vE <<= v0 | |
vB <<= v0 | |
vE |= vF | |
return | |
: Sub10 | |
if v3 == 16 then jump L19 | |
if v3 == 20 then jump L18 | |
: L17 | |
i := D7 | |
i += v3 | |
sprite v6 v7 4 | |
v6 += 4 | |
if v6 != v1 then return | |
v6 -= v4 | |
v7 += 4 | |
return | |
: L18 | |
v8 += 1 | |
: L19 | |
v9 += 1 | |
jump L17 | |
: L20 | |
loadflags v7 | |
vA := 0 | |
: L21 | |
Sub2 | |
: L22 | |
loop | |
vB := 1 | |
i := D6 | |
load v5 | |
if v8 == v9 then jump L30 | |
if v1 key then jump L31 | |
if v0 key then jump L32 | |
if v3 key then jump L33 | |
if v4 key then jump L34 | |
if v5 key then jump0 D2 | |
if v2 -key then jump L22 | |
if vC == 0 then | |
again | |
vB := 0 | |
vC += -1 | |
i := D9 | |
sprite v6 v7 4 | |
vD += -1 | |
if vD == -1 then vD := 73 | |
i := L35 | |
i += vD | |
load v0 | |
vA := v0 | |
: L23 | |
delay := v4 | |
v1 &= vA | |
i := D6 | |
i += v1 | |
load v5 | |
if vB == 0 then Sub11 | |
v0 := v6 | |
v1 := v7 | |
v0 += v4 | |
v1 += v5 | |
if vB == 0 then jump L24 | |
i := D3 | |
Sub12 | |
if vE == 1 then jump L21 | |
: L24 | |
i := D1 | |
Sub12 | |
if vE == 0 then jump L26 | |
v2 := v0 | |
v3 := v1 | |
v2 += v4 | |
v3 += v5 | |
if vB == 0 then jump L28 | |
i := D1 | |
Sub13 | |
if vE == 1 then jump L21 | |
vA += 128 | |
: L25 | |
i := D8 | |
Sub12 | |
v8 -= vE | |
Sub13 | |
v8 += vE | |
i := D10 | |
sprite v0 v1 4 | |
buzzer := vB | |
sprite v2 v3 4 | |
: L26 | |
if vB == 0 then jump L29 | |
if vC != 74 then vC += 1 | |
v0 := vA | |
i := L35 | |
i += vD | |
vD += 1 | |
if vD == 74 then vD := 0 | |
save v0 | |
i := D9 | |
sprite v6 v7 4 | |
: L27 | |
v6 += v4 | |
v7 += v5 | |
sprite v6 v7 4 | |
jump L21 | |
: L28 | |
vA <<= v0 | |
if vF == 1 then jump L25 | |
: L29 | |
i := D9 | |
loadflags v7 | |
jump L27 | |
: Sub11 | |
saveflags v7 | |
v6 += v4 | |
v7 += v5 | |
v6 += v4 | |
v7 += v5 | |
v5 =- vB | |
v4 =- vB | |
saveflags v5 | |
return | |
: Sub12 | |
sprite v0 v1 2 | |
vE := vF | |
sprite v0 v1 2 | |
return | |
: Sub13 | |
sprite v2 v3 2 | |
vE := vF | |
sprite v2 v3 2 | |
return | |
: L30 | |
buzzer := v3 | |
v0 := 50 | |
delay := v0 | |
Sub2 | |
0x22 : D2 0x1b # SMC: Sub1 | |
if vA == 50 then jump L1 | |
Sub3 | |
jump L9 | |
0xf1 0x18 0x70 0xa 0xf0 0x15 0x22 0x2d 0x13 0x4d 0x3a 0x0 0x12 0x7d 0x12 | |
: D3 | |
0x0 0x20 | |
: L31 | |
vA := 2 | |
jump L23 | |
: L32 | |
vA := 4 | |
jump L23 | |
: L33 | |
vA := 1 | |
jump L23 | |
: L34 | |
vA := 3 | |
jump L23 | |
: L35 | |
i := D4 | |
: L36 | |
delay := v9 | |
Sub2 | |
buzzer := v0 | |
scroll-down 1 | |
loop | |
sprite v5 v6 1 | |
i += v0 | |
v5 += 8 | |
if v5 != 88 then | |
again | |
v5 := 40 | |
v2 -= v0 | |
if vF == 1 then jump L36 | |
vA := 1 | |
jump L4 | |
: D4 | |
0xfe 0x79 0x99 0xe7 0xc7 0xdb 0xe 0xcd 0xf3 0x36 0x6c 0xdb 0x1c 0xcd 0xe3 0x36 0x6c 0xdb 0x38 0xcd 0xb3 0x36 0x67 0xdb 0x70 0xcd 0x9b 0x37 0xc0 0xdb 0xe0 0x79 0x81 0xe6 0x7 0x9e 0xfe | |
: D5 | |
0x1 0x80 0x6 0x0 0x0 0x28 0xf 0x7 0x2 0x2 0x0 | |
: D6 | |
0x9 | |
: D7 | |
0x7 0xa 0x5 0x8 0x0 0xfc 0x0 0x4 0x0 0x0 0x0 0x0 0xf0 0xf0 0xf0 0xf0 | |
: D8 | |
0x0 0x40 0x20 0x0 0xf0 0xd0 0xb0 0xf0 | |
: D9 | |
0x60 0xf0 0xf0 0x60 | |
: D10 | |
0xf0 0x90 0x90 0xf0 | |
: D11 | |
0x6e 0x0 0x88 0xc2 0x90 0x18 0x53 0x41 0x84 0x2a 0x15 0x60 0xe8 0x52 0x8c 0x15 0x51 0x14 0x40 0x89 0x80 0x8a 0x44 0x43 0x65 0x28 0x58 0x36 0xd1 0x21 0x51 0x91 0x43 0x64 0x1 0x80 0xc5 0x40 0x22 0x60 0x59 0x8c 0x3 0xb0 0x30 0x15 0x5d 0x81 0x28 0x50 0x5d 0x81 0xaa 0xa0 0xbb 0x0 0x48 0x28 0x2e 0xc0 0x88 0x52 0x28 0x2d 0x28 0x82 0x50 0xa5 0x28 0x82 0x0 0xc0 0x50 0x8c 0x0 0x5c 0x82 0x45 0x20 0xac 0x6 0x46 0xa 0x95 0xa2 0xc1 0x52 0x85 0x60 0xcb 0x4a 0x21 0x15 0x28 0x8a 0xb3 0x0 0x29 0x42 0x82 0xbb 0x60 0xa 0x14 0x5 0x98 0x2 0x3c 0x9e 0x83 0xc5 0x20 0xe8 0x4c 0x11 0x90 0x98 0x14 0x1 0xa 0x50 0x26 0x5 0x2d 0xad 0xa 0x21 0x30 0x28 0x58 0xd 0x10 0x98 0x14 0xb4 0x69 0x4b 0x15 0xa 0x30 0x16 0x6 0xa4 0x56 0x6 0x80 0x20 0xb 0x3 0x60 0x34 0x5 0x81 0xa1 0x6b 0x68 0x48 0xc0 0xd0 0x4 0x1 0x60 0x71 0x70 0x8c 0x82 0x44 0x61 0x8 0x11 0x18 0x22 0x35 0x41 0x82 0x30 0x1a 0x45 0x85 0x40 0x59 0x80 0x14 0xa1 0x55 0x66 0x0 0xa 0x5a 0x28 0xcc 0x0 0xb4 0x29 0x22 0x45 0x42 0x82 0xc1 0x52 0x94 0x18 0x2a 0xa2 0x8c 0x1d 0x0 0x60 0xf1 0x20 0x67 0x89 0x2 0xa3 0xb0 0x22 0xc8 0xae 0xc0 0xa8 0xb 0xb4 0x6 0xd1 0x76 0x4 0x4a 0x2e 0xca 0x89 0x48 0x89 0x46 0x82 0x2 0x15 0x28 0x80 0x94 0x28 0x20 0x20 0xa0 0x20 0x45 0x40 0x78 0x81 0xc4 0x42 0x26 0x2 0xa8 0x92 0x29 0x68 0xa0 0x16 0x4 0xa1 0x41 0x50 0x15 0x48 0x8d 0x55 0x28 0x2a 0x6c 0x89 0x4a 0x53 0x6c 0x88 0x2 0xbb 0x64 0x4b 0x44 0x76 0xc8 0x82 0xa4 0x44 0x55 0x0 0xbb 0x5 0x58 0x42 0x11 0x70 0x40 0x28 0x14 0xa2 0x9 0x52 0x88 0x50 0x41 0xa 0x50 0x40 0x15 0x4a 0x88 0x2a 0x8b 0x23 0x4a 0x50 0x50 0x14 0x2 0x8d 0x40 0x45 0x2 0x80 0x52 0x94 0x89 0x4 0x54 0x18 0x13 0x4 0x60 0x4c 0x11 0x98 0x98 0x23 0x31 0x30 0x46 0x62 0x60 0x91 0x40 0x9c 0x83 0x44 0xe0 0xc8 0x6d 0x98 0x14 0x44 0x36 0xcc 0x9 0x81 0x63 0x30 0x24 0x14 0x36 0xcc 0x9 0x45 0xd 0xb3 0x1 0x54 0x8a 0x40 0x52 0xda 0x2c 0x6 0x22 0x14 0xa4 0x4c 0x6 0x94 0x4 0x5 0x90 0xa1 0x40 0x28 0x52 0x26 0x5a 0x52 0x23 0x1 0x60 0x4c 0x16 0x28 0xbe 0x15 0x8 0xdc 0x8a 0xb0 0x34 0x5 0x2d 0x2 0xd0 0xa5 0x36 0xca 0x16 0xd4 0x2 0x83 0xb6 0x52 0x80 0x96 0x96 0x8e 0xd9 0x54 0x4 0x28 0x3 0xb6 0x58 0xa 0x52 0x94 0x76 0xca 0x1 0x12 0x15 0xdb 0x2a 0x20 0x85 0x28 0x3b 0x65 0x5 0x12 0xd2 0x95 0x76 0x53 0x64 0x42 0xc0 0x9c 0xa6 0xc8 0x96 0xd2 0xda 0x3a 0x24 0x30 0x34 0x72 0x0 0x91 0x51 0xc8 0x3 0x7 0x72 0x1 0x1b 0x0 0xae 0x83 0x2a 0xc1 0x95 0x44 0x18 0x22 0xa0 0xad 0x18 0x1a 0x81 0x20 0x50 0x60 0x4a 0x14 0xb5 0x45 0x81 0x20 0xd5 0x80 0xb0 0x24 0x4a 0x5a 0x22 0xb0 0x14 0xa 0x20 0x94 0x8a 0x80 0x21 0x68 0x81 0x11 0x14 0xb0 0x55 0xc0 0xa 0x84 0x57 0x63 0x64 0x55 0x81 0xbb 0x67 0x30 0x86 0x61 0x61 0x11 0x30 0x8c 0x8e 0xc 0x29 0x11 0x22 0x50 0x14 0x44 0x29 0x4a 0x54 0x11 0x10 0x2c 0x94 0x5 0x15 0x11 0xa5 0x2a 0xbb 0x65 0x10 0x29 0x41 0x76 0xca 0x2b 0x6d 0x28 0xbb 0x65 0x80 0xa2 0x8b 0xb6 0x89 0x0 0xa2 0xed 0x90 0x8 0x8c 0x5 0x58 0x23 0x1 0x60 0xd1 0x30 0x8e 0x2 0x2b 0x5 0x50 0x14 0x22 0x40 0xac 0x5 0x4 0x1 0x54 0x28 0xd1 0x4 0x36 0xc2 0x89 0x59 0x2a 0x88 0xe7 0xa 0x8 0xd0 0x40 0x31 0x85 0x28 0x5 0x11 0x1c 0xe1 0x40 0x50 0x5a 0x53 0x18 0x52 0x88 0x8 0x35 0xce 0x15 0x28 0x50 0x28 0x5d 0xb0 0x8d 0x22 0x40 0xa 0x8 0x82 0x1 0x16 0x15 0x40 0xbd 0x81 0xc4 0xe0 0x31 0x38 0xb 0x1 0x60 0x29 0x64 0xa3 0x1 0x6d 0x10 0x22 0xa2 0x2b 0x31 0x28 0x8 0x81 0x66 0x25 0x11 0x11 0x59 0x8a 0x2 0xa8 0xa 0xa2 0xa3 0x55 0x6 0x80 0x85 0x4 0x44 0x29 0x6d 0x4 0xaa 0x22 0x5 0x28 0xad 0xa2 0x24 0x46 0x3 0x40 0x46 0x2 0xa8 0xa8 0x8 0xc0 0xd8 0xa 0x3 0x3 0x8a 0x3 0xa 0x55 0x0 0xbc 0x2 0x29 0x5 0x40 0x41 0x82 0xa1 0x40 0x60 0x6a 0x8d 0x1 0x54 0x1 0xa 0xb 0x40 0x40 0x10 0x49 0xa 0x25 0x40 0x10 0x60 0x54 0x55 0x14 0x55 0xab 0x1 0x44 0xac 0xc2 0x88 0x8 0x85 0xdb 0xfc 0x54 0x88 0x83 0x30 0xa0 0x20 0x80 0xa9 0x13 0x4 0xb4 0x10 0x60 0x68 0x30 0x16 0x7 0x12 0x1 0x84 0x44 0x40 0xa9 0x88 0xc1 0x50 0x16 0x8 0x80 0x20 0xaa 0x9 0x41 0x54 0x10 0x42 0xd2 0x81 0x50 0x56 0x41 0xa0 0xa 0x8 0x28 0x52 0x8a 0x25 0x5 0x14 0xc8 0x83 0x56 0x83 0x91 0x50 0x2e 0xcb 0x90 0x40 0x1d 0xf6 0xc8 0x25 0xa3 0x30 0xa0 0x84 0x54 0x10 0x60 0xca 0xa0 0x9b 0x2 0x2d 0x2 0x76 0x4 0x6 0x4 0xed 0x2 0x60 0x4e 0xc0 0x82 0xa8 0x11 0x30 0x41 0x41 0x84 0x20 0x82 0xa 0x8 0x44 0x45 0x5 0x51 0x50 0xa1 0x11 0x10 0x51 0x28 0x50 0x4a 0xa 0x49 0x42 0x80 0x81 0x12 0x14 0x89 0x80 0x20 0xc 0x1a 0x24 0x8e 0x80 0xc5 0xe0 0x88 0x60 0x40 0x60 0x88 0xe0 0x9 0x4 0x2 0x22 0x2e 0xc8 0xaa 0xa 0x9 0xb2 0xb0 0x15 0x52 0x8e 0xd8 0xa 0x21 0x45 0x0 0xd8 0x50 0x51 0x48 0x8d 0x5a 0x94 0x40 0x44 0x14 0x40 0x1a 0x5a 0x22 0x8 0x51 0x10 0x4a 0xa2 0xc 0x2d 0x4 0x22 0xe0 0x82 0xac 0x15 0x54 0xbe 0x8 0x94 0x25 0x2 0x45 0x58 0x24 0x44 0xa0 0x30 0x44 0x5 0x0 0x55 0x80 0xa5 0x10 0x50 0x6 0x2 0x94 0x42 0x22 0x30 0x15 0x28 0x50 0x4 0x60 0x2a 0x52 0x8a 0x88 0xc0 0x54 0x42 0x82 0x23 0x1 0x51 0x1a 0x80 0x8c 0x5 0x45 0x40 0x44 0x89 0x85 0x5 0x51 0x19 0x81 0x40 0x28 0x5 0x3 0x67 0x44 0x68 0x54 0xa0 0x4c 0xb 0x3 0x41 0x49 0x81 0x8f 0x80 0xbe 0x0 0x8b 0x40 0x62 0x30 0x45 0x50 0x60 0x28 0x14 0x19 0x4 0x12 0x27 0x55 0x41 0x54 0x40 0x14 0x41 0xa6 0xca 0x25 0xa 0x8 0x20 0xe5 0x12 0x83 0x1 0x69 0xb2 0x88 0x2a 0x2c 0x5 0xca 0x2a 0x8 0x20 0xd3 0x65 0x10 0x4 0xaa 0xa0 0xe5 0x1a 0x5 0xa 0xf 0x36 0x50 0xa 0x25 0x28 0x83 0xa2 0x25 0x54 0x1 0xe6 0xc8 0x8 0x5 0xa2 0xb3 0x2 0x3 0x2 0x52 0x24 0x4 0x50 0xaa 0x8a 0xc0 0x98 0x1b 0x2 0x60 0x6a 0xa0 0x28 0xaa 0x20 0x80 0xa3 0x22 0x80 0x20 0x25 0xb4 0xa1 0x6a 0x2 0x8 0xa5 0x4 0x4 0x11 0x42 0x91 0x40 0xb6 0x95 0x4 0x40 0x50 0x26 0x4 0x44 0x4 0x76 0x32 0x20 0x22 0x2e 0xd9 0x22 0x25 0x7 0x6c 0xc0 0x54 0x8 0x8c 0xa 0x22 0xbe 0x89 0x40 0x55 0x40 0x10 0x8 0x98 0x44 0x80 0xa8 0x21 0x41 0x1 0x42 0x85 0xa 0x25 0x28 0x2b 0x4a 0x2 0x48 0x94 0x1 0x42 0x91 0x71 0x51 0x1 0x98 0xd2 0xa2 0x28 0x24 0xc4 0x82 0x22 0x5 0x99 0x28 0x88 0x94 0x66 0x3 0x64 0x11 0xa 0x55 0x5a 0xaa 0x54 0x4a 0x2 0xa5 0x2 0x82 0xa5 0x80 0xd2 0x85 0x0 0x54 0x89 0x14 0x88 0x8b 0x5 0x60 0x6c 0x7c 0x9e 0x0 0x89 0xc2 0x10 0x41 0x56 0x3 0x11 0x2b 0x44 0x14 0x1 0xd8 0x41 0x4 0x4 0x1 0xd8 0x4a 0xd1 0xa 0xaa 0x38 0x18 0xb 0x41 0x4 0x76 0x2 0xa0 0x94 0x1 0x1d 0xa4 0x41 0xa3 0x41 0x4 0x76 0x12 0xb0 0x1a 0x82 0x3b 0x8 0x36 0xb4 0x10 0x57 0x61 0x2a 0x8 0x56 0x82 0xec 0x20 0x82 0x2 0x2 0xb8 0x55 0x8 0x88 0x8 0xaa 0xa 0xa0 0x44 0x40 0xbe 0x8d 0x80 0x33 0x30 0x65 0x51 0x99 0xad 0xc8 0x24 0x5e 0x88 0xa 0xc0 0xa8 0x58 0xd 0x15 0x15 0x40 0x42 0x88 0x2c 0x9 0x1 0x41 0x15 0xa 0x82 0x28 0x2a 0x2a 0x51 0xaa 0x80 0x2a 0x44 0x42 0x88 0x20 0xa9 0x11 0x0 0xa2 0x88 0x22 0x89 0x41 0xa 0x14 0xa0 0x22 0x14 0x2b 0x6d 0x4 0x4 0x41 0xb 0x2 0x88 0x89 0x22 0x82 0x8 0x30 0x18 0xd0 0xbe 0x55 0x85 0xa1 0x1a 0x4 0x10 0x36 0x66 0x24 0x10 0x44 0x88 0x9b 0x64 0x16 0xa0 0x13 0x22 0x8 0xb 0x62 0x41 0x11 0x28 0xc0 0x62 0x52 0xa 0xd1 0x28 0x11 0x20 0x50 0xa3 0x6d 0x58 0x1a 0xc0 0x90 0x6 0xb5 0x54 0x55 0x19 0x44 0x1 0x11 0x0 0xb0 0x14 0x4 0x44 0x5 0x16 0x2 0xaa 0x44 0xac 0x48 0xa2 0xc1 0x10 0x4 0x8 0xb8 0x4 0x44 0x7a 0x22 0x70 0x44 0x10 0x88 0x80 0xa0 0x83 0xb6 0x54 0x42 0xa0 0xed 0x81 0x12 0x8d 0xa6 0xd8 0x11 0xa 0x83 0xb6 0x32 0x20 0x25 0x8b 0x58 0x1d 0x28 0xa8 0x21 0x68 0x80 0x91 0x20 0x5b 0x64 0x60 0x4c 0x9 0x60 0x51 0x40 0x8e 0x23 0xa0 0xed 0x80 0x40 0x10 0x15 0x66 0x10 0xaa 0x23 0x45 0x98 0x90 0xa0 0x80 0x2c 0xc4 0x82 0x8 0x84 0x58 0xa1 0x4a 0x8 0x30 0x16 0xad 0x16 0xa8 0xa0 0x50 0x4 0xa0 0x8 0x82 0x8a 0x88 0x2d 0x11 0x29 0x6c 0x6 0x85 0x4 0x4a 0x1 0x56 0x91 0x22 0x26 0x12 0xb 0x8 0x89 0x0 0xac 0x82 0xc4 0x60 0x91 0x10 0x18 0x1a 0x94 0x28 0x45 0x4a 0x14 0xa2 0xe5 0x81 0xda 0xb 0xb2 0x84 0x48 0x57 0x61 0x51 0x4 0x1 0xdb 0xa 0x50 0x10 0x7 0x6c 0x2c 0x83 0x45 0x15 0x76 0xd1 0x10 0xa5 0xa0 0xbb 0x20 0x28 0x52 0x85 0xdb 0x20 0x9 0x68 0x51 0xc 0x80 0x20 0x52 0x82 0xa8 0x4 0x48 0x6 0x11 0x11 0x0 0x8e 0x88 0xc2 0x90 0x16 0x12 0x94 0x22 0xb0 0x15 0x11 0x81 0xc5 0x4 0xa 0xd6 0x40 0x40 0x50 0x60 0x54 0x40 0xa2 0x82 0xa4 0x54 0x54 0x14 0xdb 0xcc 0x22 0x2a 0x8a 0x7d 0xf6 0xfb 0x88 0xa9 0x62 0xc2 0xd1 0x42 0x81 0x42 0x80 0x50 0x50 0x40 0x40 0x40 0x41 0x8f 0x80 0x9e 0x81 0xc5 0xe0 0x88 0xc 0x5 0x22 0x20 0xc0 0x69 0x44 0x40 0x88 0x95 0x44 0x51 0x28 0xa0 0x22 0x94 0x11 0x28 0x49 0x68 0x8b 0x6d 0x11 0x45 0x40 0x45 0x0 0x45 0x10 0x15 0x22 0x35 0x14 0x60 0x34 0x19 0x81 0x10 0x54 0x52 0x8c 0xc0 0xa9 0x40 0xa2 0x3 0xb5 0xc2 0x82 0x94 0x41 0x66 0x2 0x24 0x4 0x4b 0x6c 0xa0 0x11 0x10 0x8 0x88 0xbd 0x5 0x58 0x52 0x11 0x58 0xa 0x82 0x82 0x3 0x1 0x42 0xa5 0x92 0x80 0xaa 0xd 0xa 0x9 0x4a 0x82 0xa8 0x55 0x1a 0x58 0xa 0x82 0x8 0x81 0x6d 0x5 0x28 0x5 0xa 0xa4 0x44 0xa5 0x1a 0x82 0x8 0xa 0xa 0x82 0xb4 0x40 0x10 0x66 0x8 0xa 0x0 0xab 0x31 0x2a 0xc0 0x99 0x81 0x56 0xa 0xed 0x96 0x10 0xed 0x98 0x4c 0x44 0xa8 0x81 0x2a 0xc0 0x62 0x20 0x80 0x2c 0x6 0xa0 0x29 0x41 0x45 0x46 0x4a 0x51 0x28 0x22 0xa8 0xa0 0x54 0x19 0x81 0xa5 0x10 0x66 0x4 0xa 0x83 0x30 0x5 0xa2 0x8e 0xd8 0x4a 0x2 0x44 0xa9 0x41 0x81 0x20 0x2b 0x2 0x68 0xac 0xd 0x6 0xa 0xaa 0xa7 0x8d 0x40 0x54 0x15 0x2 0x81 0x48 0x88 0xa5 0xa2 0x81 0x44 0x1 0x4b 0x68 0x91 0x10 0x11 0x28 0xa8 0x20 0x85 0x14 0xa9 0x50 0x5 0x3 0x64 0x8a 0x6c 0x51 0x91 0x66 0x14 0xa8 0xac 0xc0 0x85 0x15 0x76 0x50 0x8 0xc8 0xa9 0x22 0xb0 0x16 0x60 0x1 0x40 0x1c 0xe4 0x28 0xa0 0xb3 0x2 0x24 0x8a 0x24 0xc0 0x82 0xa 0xc0 0x5a 0x2d 0x15 0x15 0xa 0x0 0x8d 0xa 0x52 0xa0 0x88 0x85 0x28 0xa2 0x20 0xa8 0x28 0x22 0x0 0xa2 0x8a 0x21 0x44 0x28 0x20 0xad 0x28 0xa 0x80 0x21 0x11 0x81 0x2a 0x80 0xbe 0x8c 0x11 0x30 0x10 0x4 0x56 0x60 0x50 0x2d 0x40 0x90 0x26 0x15 0x1 0x15 0x1 0x26 0x5 0x45 0x15 0x4 0x26 0x4 0x4a 0x58 0xa 0x22 0xa8 0x85 0x2a 0x83 0x2 0x88 0x88 0x2a 0x88 0xa2 0x82 0x34 0x5 0x10 0x5 0x28 0x50 0x45 0x10 0x15 0x12 0x94 0x1 0x10 0x11 0xa 0x28 0xa2 0x44 0x44 0xb6 0x3 0x68 0x30 0x15 0x14 0x54 0xa0 0xc0 0x90 0x4 0x40 0x18 0x14 0x48 0x89 0x0 0xbe 0x84 0x44 0x42 0x22 0x11 0x20 0x10 0x40 0x55 0xa 0x52 0x88 0x25 0x1 0x45 0x14 0x14 0x40 0xa5 0x80 0xd0 0xa2 0x2a 0x50 0x51 0x60 0x2a 0x9 0x11 0x22 0x36 0x88 0xb6 0x22 0x48 0xb0 0x14 0x4a 0xa 0xd5 0x4a 0xa 0x25 0x4 0x5 0x41 0x50 0x4b 0x4a 0x20 0x5a 0x20 0xc 0x5 0x1 0x41 0x0 0x89 0xec 0x65 0x58 0x1b 0x32 0xb0 0x46 0x65 0x60 0x91 0x70 0xae 0x8b 0xc1 0x19 0x88 0x8 0xb4 0xc4 0x2 0xa 0x2 0xec 0xa9 0x40 0x2c 0x5 0x76 0xc5 0x28 0x80 0xa0 0x2e 0xd9 0xb1 0x10 0x4 0x15 0x40 0x10 0x1a 0xd 0x10 0x42 0xd2 0x94 0x2a 0x82 0x8 0x50 0x1a 0xd1 0x68 0x82 0xa2 0x88 0x2 0x82 0x2 0x14 0xa2 0x91 0x20 0x10 0xa 0x14 0x18 0x1a 0x80 0x88 0xc 0x12 0x23 0x24 0x46 0x10 0xa8 0x66 0x81 0x2a 0x91 0x32 0x44 0x60 0x34 0x11 0x2 0xa9 0x51 0x6b 0xb6 0x44 0x12 0xed 0x81 0x4 0x71 0x91 0x44 0x4 0x68 0x8d 0xa 0x0 0x88 0x44 0xc5 0x50 0xbe 0x84 0xc4 0x88 0xcc 0xc0 0xa8 0xb 0x1 0x59 0x81 0x42 0xd5 0xa 0x48 0xb3 0x2 0xc0 0xad 0x2a 0x13 0x2 0x85 0x14 0xb4 0x44 0xdb 0x28 0x51 0x4a 0x8 0x4c 0xa 0x91 0x11 0x51 0x74 0x44 0xa 0x14 0x50 0x30 0x29 0x55 0x4 0x88 0x8a 0xa0 0x50 0x18 0x1a 0x8 0x51 0xa5 0x2a 0xa0 0x82 0x5b 0x52 0x80 0x8a 0xa0 0x80 0x21 0x68 0xc0 0xe2 0x40 0x2b 0x8 0x88 0x80 0xbc 0x0 0x8c 0x40 0x58 0x32 0x80 0x20 0x8d 0xa5 0x4 0x1 0xa3 0x50 0x52 0x44 0x5 0x14 0x4a 0x22 0x80 0x81 0x46 0x82 0x20 0x8 0x9 0x40 0x44 0x1 0x4a 0x50 0x14 0x40 0x10 0x41 0x42 0x88 0x2 0x0 0xa5 0xa8 0x91 0x2b 0x40 0x40 0x46 0x60 0x42 0x28 0x39 0xdb 0xb 0x4 0x66 0x0 0x18 0x23 0x30 0x0 0xc1 0x22 0xa0 0xae 0x83 0xc4 0x61 0x2a 0x2 0xc1 0xd6 0x2 0xc1 0x94 0x2d 0x6 0xa 0xa5 0xa1 0x46 0xa 0x94 0x2 0x88 0x2a 0x80 0x81 0x69 0x12 0x8 0xa0 0xa0 0xb 0xa1 0x16 0xd9 0x17 0x24 0x4c 0x50 0x15 0xc9 0x13 0xc3 0x4a 0xac 0xce 0x20 0x11 0xb0 0xa3 0x9 0x50 0x58 0x52 0xa8 0x8d 0x80 0xc5 0x20 0x6a 0xb0 0x28 0x90 0x20 0xa 0x52 0x81 0x22 0x8 0xa2 0xd6 0x94 0xb1 0x12 0x62 0x42 0xd1 0x50 0x26 0x24 0x10 0x14 0x49 0x89 0xa1 0x41 0x46 0xcc 0x45 0xa9 0x45 0x1 0x51 0x5a 0x14 0x88 0x85 0xa 0x14 0x28 0x80 0x85 0xa 0x14 0x28 0x81 0x12 0x2 0x25 0x4 0x88 0x80 0x6e 0x82 0x44 0xe0 0x91 0x10 0x41 0x56 0x2 0x80 0x81 0x40 0x10 0x55 0x1b 0x45 0x14 0x11 0x60 0x48 0x82 0x8a 0xa0 0xa9 0x5a 0x14 0x28 0x2e 0xd8 0x1 0x14 0x10 0x17 0x6c 0x80 0x48 0x22 0xa2 0xbb 0x64 0x15 0xa 0x14 0x22 0xa2 0x80 0x80 0xc1 0xa2 0xa0 0xae 0x22 0x30 0xa4 0x6 0x14 0x89 0x13 0x82 0x30 0x2b 0x24 0x48 0x1 0x28 0xb4 0x54 0x4 0x1 0x15 0x4a 0x1 0x44 0x1 0x22 0x22 0xd 0x22 0x40 0xaa 0x2d 0x81 0x28 0x54 0x28 0x22 0x8a 0x2c 0x15 0x1d 0xb2 0x44 0xc1 0x50 0xdb 0x3 0x1 0x55 0x11 0xdb 0x23 0x6 0x45 0x44 0x60 0xcc 0xd 0x83 0x45 0x40 0x9b 0x88 0x8a 0xb0 0x27 0x6c 0x88 0x2a 0x80 0xed 0x95 0xa 0x8 0xc 0xc0 0xa5 0xa 0xa8 0xb3 0x2 0x81 0x41 0x15 0xdb 0xa 0x52 0x88 0x8a 0x0 0x85 0x4 0x41 0x44 0x54 0x88 0x94 0x46 0x85 0x0 0x50 0xa4 0x85 0x0 0xa0 0xa0 0x25 0x2d 0x28 0xaa 0x11 0x20 0x54 0x11 0x40 0x15 0x40 0x15 0x0 0xb9 0x8b 0x0 0x30 0x45 0x51 0x22 0x42 0xa 0x89 0x4a 0x50 0xa2 0xc0 0xda 0x2 0xad 0xb 0x50 0x54 0x10 0x51 0x2a 0x80 0xb5 0x2 0x92 0x20 0x8 0x52 0x8a 0x80 0x22 0x5 0x4 0x1 0x14 0x4 0x40 0x50 0x88 0x88 0xc 0x15 0x1 0x98 0xd5 0x1 0x98 0xd8 0xc 0x54 0x6d 0x82 0xaa 0xc0 0xa2 0xa0 0xa0 0xa 0x16 0x5 0x48 0x90 0xa 0x28 0xb 0xb6 0x51 0xb4 0xa5 0xad 0x5d 0xb2 0x88 0x4 0x80 0x81 0xb6 0x50 0xa8 0xad 0xa0 0x6d 0x94 0xa1 0x68 0x51 0x66 0x5 0x5b 0x3 0x89 0x82 0x11 0x38 0x22 0xa8 0xb8 0x8 0xa8 0x3 0xf7 0x7e 0xe8 0x3 0xbe 0xfb 0xe4 0x1 0xfb 0xef 0xba 0x0 0xef 0xbe 0xf9 0x0 0x7e 0xfb 0xee 0x80 0x2a 0x2 0xb0 0x24 0x4 0x2 0x24 0x44 0xe0 0xea 0x52 0x94 0xa5 0x15 0x29 0x4a 0x51 0x46 0x94 0xa5 0x2a 0x8 0x16 0x4a 0x2 0x8 0x44 0x41 0x5 0x50 0x15 0x40 0xab 0x81 0xaa 0xc2 0x10 0x58 0x3a 0x2 0xc1 0x92 0xd1 0x60 0x6a 0xd0 0xa2 0x80 0xaa 0x1 0x40 0x45 0x41 0x22 0x20 0x88 0x2 0x33 0x5 0x11 0x10 0x29 0x30 0x22 0x21 0x44 0x77 0xd9 0x11 0x50 0x55 0x15 0x10 0x15 0x49 0x28 0x2d 0x58 0xa 0xa5 0x80 0xb0 0x34 0x14 0x6 0x7 0x15 0x0 0xbe 0x81 0x46 0x20 0x4b 0xb0 0x2 0x3 0x1 0x5d 0xb9 0x40 0x28 0x80 0x2e 0xdf 0x22 0x34 0x50 0x7 0x6f 0x91 0x12 0x82 0x2a 0xed 0x90 0x40 0x11 0x10 0x51 0x83 0x22 0x49 0x4a 0x2a 0x8 0x8a 0x25 0x2 0x80 0x88 0x8 0x2b 0x68 0x8 0x88 0x88 0x2 0x5 0x1 0x12 0x22 0x9 0x52 0x23 0x2 0x41 0xa0 0x20 0x20 0x20 0x82 0xa 0x80 0xb0 0x14 0x10 0x60 0x48 | |
: D12 | |
0x2 0x82 0xac 0xa 0x24 0x28 0x23 0x21 0x38 0x2e 0x24 0x28 0x37 0x35 0x4c 0x3b 0x33 0x3c 0x43 0x3e 0x33 0x31 0x39 0x47 0x4b 0x37 0x47 0x46 0x45 0x44 0x2c 0x39 0x3f 0x35 0x43 0x41 0x31 0x2c 0x36 0x4b 0x46 0x42 0x1f 0x48 0x3f 0x35 0x39 0x32 0x3c 0x3a 0x34 0x2e 0x38 0x38 0x4b | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Sokoban [Hap, 2006].ch8 | |
###################################################################### | |
:proto Sub1 # 21B | |
:proto Sub2 # 22F | |
:proto L5 # 237 | |
:proto Sub3 # 23F | |
:proto L6 # 25F | |
:proto L7 # 265 | |
:proto Sub4 # 269 | |
:proto Sub5 # 26D | |
:proto L8 # 27F | |
:proto Sub6 # 2A7 | |
:proto L12 # 2BB | |
:proto L14 # 2CF | |
:proto Sub7 # 2D5 | |
:proto Sub8 # 2E5 | |
:proto L16 # 2F3 | |
:proto Sub9 # 301 | |
:proto Sub10 # 30F | |
:proto L17 # 319 | |
:proto L18 # 31B | |
:proto L19 # 32D | |
:proto L23 # 393 | |
:proto L25 # 3C3 | |
:proto L27 # 3E5 | |
:proto L28 # 3EB | |
:proto Sub11 # 3F3 | |
:proto Sub12 # 407 | |
:proto Sub13 # 40F | |
:proto L29 # 417 | |
:proto L30 # 429 | |
:proto D2 # 43A | |
:proto L31 # 43C | |
:proto L32 # 440 | |
:proto L33 # 444 | |
:proto L34 # 448 | |
:proto L35 # 44C | |
:proto L37 # 458 | |
:proto D3 # 464 | |
:proto D4 # 485 | |
:proto D5 # 488 | |
:proto D6 # 493 | |
:proto D7 # 494 | |
:proto D8 # 4A4 | |
:proto D9 # 4AC | |
:proto D10 # 4B0 | |
:proto D11 # 4B4 | |
:proto D12 # FC8 | |
: main | |
hires | |
: L1 | |
Sub1 | |
: L2 | |
loop | |
vE := 5 | |
Sub2 | |
if vC key then jump L5 | |
if vD key then jump L8 | |
if vA == 50 then jump L2 | |
if vB key then : L3 | |
Sub3 | |
jump L2 | |
: D1 | |
0x80 | |
: Sub1 | |
clear | |
i := D5 | |
load vE | |
i := D3 | |
if vA == 0 then jump L37 | |
: L4 | |
Sub4 | |
i := hex v6 | |
sprite v9 v9 5 | |
return | |
: Sub2 | |
loop | |
v1 := delay | |
if v1 != 0 then | |
again | |
return | |
: L5 | |
if vA == 1 then | |
again | |
vE := 8 | |
jump L3 | |
: Sub3 | |
delay := v7 | |
v0 := 1 | |
buzzer := v0 | |
i := D12 | |
i += vA | |
load v5 | |
i := L16 | |
load v1 | |
if vE == 5 then jump L6 | |
v1 -= v3 | |
if vF == 0 then v0 += -1 | |
vA += -1 | |
v5 := v3 | |
jump L7 | |
: L6 | |
v1 += v4 | |
v0 += vF | |
vA += 1 | |
: L7 | |
save v1 | |
Sub5 | |
: Sub4 | |
i := L35 | |
bcd vA | |
: Sub5 | |
i := L35 | |
load v2 | |
i := hex v1 | |
sprite vD v9 5 | |
i := hex v2 | |
sprite v6 v9 5 | |
i := D5 | |
save vA | |
return | |
: L8 | |
Sub1 | |
: L9 | |
vD := 0 | |
vC := 0 | |
v2 := 2 | |
buzzer := v2 | |
v1 := 64 | |
Sub7 | |
v7 := v6 | |
v1 := 128 | |
Sub7 | |
v4 := vE | |
v1 := vE | |
v1 += v6 | |
: L10 | |
loop | |
Sub6 | |
if vC == 0 then jump L19 | |
if v3 == 24 then jump L12 | |
: L11 | |
Sub10 | |
again | |
: Sub6 | |
vE := 0 | |
Sub9 | |
if vE == 1 then Sub9 | |
Sub9 | |
v3 := vE | |
v3 ^= v2 | |
v3 <<= v0 | |
v3 <<= v0 | |
return | |
: L12 | |
Sub6 | |
if v3 == 24 then jump L14 | |
Sub8 | |
vE += 4 | |
loop | |
Sub10 | |
vE += -1 | |
if vE != 0 then | |
again | |
jump L10 | |
: L14 | |
i := D4 | |
save v7 | |
jump L11 | |
: Sub7 | |
Sub8 | |
vE += 5 | |
vE <<= v0 | |
vE <<= v0 | |
v6 := vE | |
v6 =- v1 | |
v6 >>= v0 | |
return | |
: Sub8 | |
vE := 0 | |
Sub9 | |
Sub9 | |
Sub9 | |
Sub9 | |
return | |
: L15 | |
vD := 8 | |
: L16 | |
i := D11 | |
i += vC | |
load v0 | |
vB := v0 | |
if vC == v5 then vC := -1 | |
vC += 1 | |
: Sub9 | |
if vD == 0 then jump L15 | |
vD += -1 | |
vE <<= v0 | |
vB <<= v0 | |
vE |= vF | |
return | |
: Sub10 | |
if v3 == 16 then jump L17 | |
if v3 != 20 then jump L18 | |
v8 += 1 | |
: L17 | |
v9 += 1 | |
: L18 | |
i := D7 | |
i += v3 | |
sprite v6 v7 4 | |
v6 += 4 | |
if v6 != v1 then return | |
v6 -= v4 | |
v7 += 4 | |
return | |
: L19 | |
i := D4 | |
load v7 | |
vA := 0 | |
: L20 | |
Sub2 | |
: L21 | |
loop | |
vB := 1 | |
i := D6 | |
load v5 | |
if v8 == v9 then jump L29 | |
if v1 key then jump L31 | |
if v0 key then jump L32 | |
if v3 key then jump L33 | |
if v4 key then jump L34 | |
if v5 key then jump L30 | |
if v2 -key then jump L21 | |
if vC == 0 then jump L21 | |
vB := 0 | |
vC += -1 | |
i := D9 | |
sprite v6 v7 4 | |
vD += -1 | |
if vD == -1 then vD := 56 | |
i := L35 | |
i += vD | |
load v0 | |
vA := v0 | |
: L22 | |
delay := v4 | |
v1 &= vA | |
i := D6 | |
i += v1 | |
load v5 | |
if vB == 0 then Sub11 | |
v0 := v6 | |
v1 := v7 | |
v0 += v4 | |
v1 += v5 | |
if vB == 0 then jump L23 | |
i := D2 | |
Sub12 | |
if vE == 1 then jump L20 | |
: L23 | |
i := D1 | |
Sub12 | |
if vE == 0 then jump L25 | |
v2 := v0 | |
v3 := v1 | |
v2 += v4 | |
v3 += v5 | |
if vB == 0 then jump L27 | |
i := D1 | |
Sub13 | |
if vE == 1 then jump L20 | |
vA += 128 | |
: L24 | |
i := D8 | |
Sub12 | |
v8 -= vE | |
Sub13 | |
v8 += vE | |
i := D10 | |
sprite v0 v1 4 | |
buzzer := vB | |
sprite v2 v3 4 | |
: L25 | |
if vB == 0 then jump L28 | |
if vC != 57 then vC += 1 | |
v0 := vA | |
i := L35 | |
i += vD | |
vD += 1 | |
if vD == 57 then vD := 0 | |
save v0 | |
i := D9 | |
sprite v6 v7 4 | |
: L26 | |
v6 += v4 | |
v7 += v5 | |
sprite v6 v7 4 | |
jump L20 | |
: L27 | |
vA <<= v0 | |
if vF == 1 then jump L24 | |
: L28 | |
i := D4 | |
load v7 | |
i := D9 | |
jump L26 | |
: Sub11 | |
i := D4 | |
save v7 | |
v6 += v4 | |
v7 += v5 | |
v6 += v4 | |
v7 += v5 | |
v5 =- vB | |
v4 =- vB | |
save v5 | |
return | |
: Sub12 | |
sprite v0 v1 2 | |
vE := vF | |
sprite v0 v1 2 | |
return | |
: Sub13 | |
sprite v2 v3 2 | |
vE := vF | |
sprite v2 v3 2 | |
return | |
: L29 | |
buzzer := v3 | |
v0 := 50 | |
delay := v0 | |
Sub2 | |
Sub1 | |
if vA == 50 then jump L1 | |
Sub3 | |
jump L9 | |
: L30 | |
buzzer := v1 | |
v0 := 30 | |
delay := v0 | |
Sub2 | |
if v5 -key then | |
again | |
if vA != 0 then jump L8 | |
0x12 : D2 0x0 # SMC: jump main | |
0x20 | |
: L31 | |
vA := 2 | |
jump L22 | |
: L32 | |
vA := 4 | |
jump L22 | |
: L33 | |
vA := 1 | |
jump L22 | |
: L34 | |
vA := 3 | |
jump L22 | |
: L35 | |
scroll-down 1 | |
loop | |
sprite v5 v6 1 | |
i += v1 | |
v5 += 8 | |
if v5 != 88 then | |
again | |
: L37 | |
v5 := 40 | |
v3 -= v1 | |
if v3 != -2 then jump L35 | |
vA := 1 | |
jump L4 | |
: D3 | |
0xfe 0x79 0x99 0xe7 0xc7 0xdb 0xe 0xcd 0xf3 0x36 0x6c 0xdb 0x1c 0xcd 0xe3 0x36 0x6c 0xdb 0x38 0xcd 0xb3 0x36 0x67 0xdb 0x70 0xcd 0x9b 0x37 0xc0 0xdb 0xe0 0x79 0x81 | |
: D4 | |
0xe6 0x7 0x9e | |
: D5 | |
0xfe 0x1 0x80 0x6 0x0 0x0 0xf 0x7 0x2 0x2 0x0 | |
: D6 | |
0x9 | |
: D7 | |
0x7 0xa 0x5 0x8 0x0 0xfc 0x0 0x4 0x0 0x0 0x0 0x0 0xf0 0xf0 0xf0 0xf0 | |
: D8 | |
0x0 0x40 0x20 0x0 0xf0 0xd0 0xb0 0xf0 | |
: D9 | |
0x60 0xf0 0xf0 0x60 | |
: D10 | |
0xf0 0x90 0x90 0xf0 | |
: D11 | |
0x6e 0x0 0x88 0xc2 0x90 0x18 0x53 0x41 0x84 0x2a 0x15 0x60 0xe8 0x52 0x8c 0x15 0x51 0x14 0x40 0x89 0x80 0x8a 0x44 0x43 0x65 0x28 0x58 0x36 0xd1 0x21 0x51 0x91 0x43 0x64 0x1 0x80 0xc5 0x40 0x22 0x60 0x59 0x8c 0x3 0xb0 0x30 0x15 0x5d 0x81 0x28 0x50 0x5d 0x81 0xaa 0xa0 0xbb 0x0 0x48 0x28 0x2e 0xc0 0x88 0x52 0x28 0x2d 0x28 0x82 0x50 0xa5 0x28 0x82 0x0 0xc0 0x50 0x8c 0x0 0x5c 0x82 0x45 0x20 0xac 0x6 0x46 0xa 0x95 0xa2 0xc1 0x52 0x85 0x60 0xcb 0x4a 0x21 0x15 0x28 0x8a 0xb3 0x0 0x29 0x42 0x82 0xbb 0x60 0xa 0x14 0x5 0x98 0x2 0x3c 0x9e 0x83 0xc5 0x20 0xe8 0x4c 0x11 0x90 0x98 0x14 0x1 0xa 0x50 0x26 0x5 0x2d 0xad 0xa 0x21 0x30 0x28 0x58 0xd 0x10 0x98 0x14 0xb4 0x69 0x4b 0x15 0xa 0x30 0x16 0x6 0xa4 0x56 0x6 0x80 0x20 0xb 0x3 0x60 0x34 0x5 0x81 0xa1 0x6b 0x68 0x48 0xc0 0xd0 0x4 0x1 0x60 0x71 0x70 0x8c 0x82 0x44 0x61 0x8 0x11 0x18 0x22 0x35 0x41 0x82 0x30 0x1a 0x45 0x85 0x40 0x59 0x80 0x14 0xa1 0x55 0x66 0x0 0xa 0x5a 0x28 0xcc 0x0 0xb4 0x29 0x22 0x45 0x42 0x82 0xc1 0x52 0x94 0x18 0x2a 0xa2 0x8c 0x1d 0x0 0x60 0xf1 0x20 0x67 0x89 0x2 0xa3 0xb0 0x22 0xc8 0xae 0xc0 0xa8 0xb 0xb4 0x6 0xd1 0x76 0x4 0x4a 0x2e 0xca 0x89 0x48 0x89 0x46 0x82 0x2 0x15 0x28 0x80 0x94 0x28 0x20 0x20 0xa0 0x20 0x45 0x40 0x78 0x81 0xc4 0x42 0x26 0x2 0xa8 0x92 0x29 0x68 0xa0 0x16 0x4 0xa1 0x41 0x50 0x15 0x48 0x8d 0x55 0x28 0x2a 0x6c 0x89 0x4a 0x53 0x6c 0x88 0x2 0xbb 0x64 0x4b 0x44 0x76 0xc8 0x82 0xa4 0x44 0x55 0x0 0xbb 0x5 0x58 0x42 0x11 0x70 0x40 0x28 0x14 0xa2 0x9 0x52 0x88 0x50 0x41 0xa 0x50 0x40 0x15 0x4a 0x88 0x2a 0x8b 0x23 0x4a 0x50 0x50 0x14 0x2 0x8d 0x40 0x45 0x2 0x80 0x52 0x94 0x89 0x4 0x54 0x18 0x13 0x4 0x60 0x4c 0x11 0x98 0x98 0x23 0x31 0x30 0x46 0x62 0x60 0x91 0x40 0x9c 0x83 0x44 0xe0 0xc8 0x6d 0x98 0x14 0x44 0x36 0xcc 0x9 0x81 0x63 0x30 0x24 0x14 0x36 0xcc 0x9 0x45 0xd 0xb3 0x1 0x54 0x8a 0x40 0x52 0xda 0x2c 0x6 0x22 0x14 0xa4 0x4c 0x6 0x94 0x4 0x5 0x90 0xa1 0x40 0x28 0x52 0x26 0x5a 0x52 0x23 0x1 0x60 0x4c 0x16 0x28 0xbe 0x15 0x8 0xdc 0x8a 0xb0 0x34 0x5 0x2d 0x2 0xd0 0xa5 0x36 0xca 0x16 0xd4 0x2 0x83 0xb6 0x52 0x80 0x96 0x96 0x8e 0xd9 0x54 0x4 0x28 0x3 0xb6 0x58 0xa 0x52 0x94 0x76 0xca 0x1 0x12 0x15 0xdb 0x2a 0x20 0x85 0x28 0x3b 0x65 0x5 0x12 0xd2 0x95 0x76 0x53 0x64 0x42 0xc0 0x9c 0xa6 0xc8 0x96 0xd2 0xda 0x3a 0x24 0x30 0x34 0x72 0x0 0x91 0x51 0xc8 0x3 0x7 0x72 0x1 0x1b 0x0 0xae 0x83 0x2a 0xc1 0x95 0x44 0x18 0x22 0xa0 0xad 0x18 0x1a 0x81 0x20 0x50 0x60 0x4a 0x14 0xb5 0x45 0x81 0x20 0xd5 0x80 0xb0 0x24 0x4a 0x5a 0x22 0xb0 0x14 0xa 0x20 0x94 0x8a 0x80 0x21 0x68 0x81 0x11 0x14 0xb0 0x55 0xc0 0xa 0x84 0x57 0x63 0x64 0x55 0x81 0xbb 0x67 0x30 0x86 0x61 0x61 0x11 0x30 0x8c 0x8e 0xc 0x29 0x11 0x22 0x50 0x14 0x44 0x29 0x4a 0x54 0x11 0x10 0x2c 0x94 0x5 0x15 0x11 0xa5 0x2a 0xbb 0x65 0x10 0x29 0x41 0x76 0xca 0x2b 0x6d 0x28 0xbb 0x65 0x80 0xa2 0x8b 0xb6 0x89 0x0 0xa2 0xed 0x90 0x8 0x8c 0x5 0x58 0x23 0x1 0x60 0xd1 0x30 0x8e 0x2 0x2b 0x5 0x50 0x14 0x22 0x40 0xac 0x5 0x4 0x1 0x54 0x28 0xd1 0x4 0x36 0xc2 0x89 0x59 0x2a 0x88 0xe7 0xa 0x8 0xd0 0x40 0x31 0x85 0x28 0x5 0x11 0x1c 0xe1 0x40 0x50 0x5a 0x53 0x18 0x52 0x88 0x8 0x35 0xce 0x15 0x28 0x50 0x28 0x5d 0xb0 0x8d 0x22 0x40 0xa 0x8 0x82 0x1 0x16 0x15 0x40 0xbd 0x81 0xc4 0xe0 0x31 0x38 0xb 0x1 0x60 0x29 0x64 0xa3 0x1 0x6d 0x10 0x22 0xa2 0x2b 0x31 0x28 0x8 0x81 0x66 0x25 0x11 0x11 0x59 0x8a 0x2 0xa8 0xa 0xa2 0xa3 0x55 0x6 0x80 0x85 0x4 0x44 0x29 0x6d 0x4 0xaa 0x22 0x5 0x28 0xad 0xa2 0x24 0x46 0x3 0x40 0x46 0x2 0xa8 0xa8 0x8 0xc0 0xd8 0xa 0x3 0x3 0x8a 0x3 0xa 0x55 0x0 0xbc 0x2 0x29 0x5 0x40 0x41 0x82 0xa1 0x40 0x60 0x6a 0x8d 0x1 0x54 0x1 0xa 0xb 0x40 0x40 0x10 0x49 0xa 0x25 0x40 0x10 0x60 0x54 0x55 0x14 0x55 0xab 0x1 0x44 0xac 0xc2 0x88 0x8 0x85 0xdb 0xfc 0x54 0x88 0x83 0x30 0xa0 0x20 0x80 0xa9 0x13 0x4 0xb4 0x10 0x60 0x68 0x30 0x16 0x7 0x12 0x1 0x84 0x44 0x40 0xa9 0x88 0xc1 0x50 0x16 0x8 0x80 0x20 0xaa 0x9 0x41 0x54 0x10 0x42 0xd2 0x81 0x50 0x56 0x41 0xa0 0xa 0x8 0x28 0x52 0x8a 0x25 0x5 0x14 0xc8 0x83 0x56 0x83 0x91 0x50 0x2e 0xcb 0x90 0x40 0x1d 0xf6 0xc8 0x25 0xa3 0x30 0xa0 0x84 0x54 0x10 0x60 0xca 0xa0 0x9b 0x2 0x2d 0x2 0x76 0x4 0x6 0x4 0xed 0x2 0x60 0x4e 0xc0 0x82 0xa8 0x11 0x30 0x41 0x41 0x84 0x20 0x82 0xa 0x8 0x44 0x45 0x5 0x51 0x50 0xa1 0x11 0x10 0x51 0x28 0x50 0x4a 0xa 0x49 0x42 0x80 0x81 0x12 0x14 0x89 0x80 0x20 0xc 0x1a 0x24 0x8e 0x80 0xc5 0xe0 0x88 0x60 0x40 0x60 0x88 0xe0 0x9 0x4 0x2 0x22 0x2e 0xc8 0xaa 0xa 0x9 0xb2 0xb0 0x15 0x52 0x8e 0xd8 0xa 0x21 0x45 0x0 0xd8 0x50 0x51 0x48 0x8d 0x5a 0x94 0x40 0x44 0x14 0x40 0x1a 0x5a 0x22 0x8 0x51 0x10 0x4a 0xa2 0xc 0x2d 0x4 0x22 0xe0 0x82 0xac 0x15 0x54 0xbe 0x8 0x94 0x25 0x2 0x45 0x58 0x24 0x44 0xa0 0x30 0x44 0x5 0x0 0x55 0x80 0xa5 0x10 0x50 0x6 0x2 0x94 0x42 0x22 0x30 0x15 0x28 0x50 0x4 0x60 0x2a 0x52 0x8a 0x88 0xc0 0x54 0x42 0x82 0x23 0x1 0x51 0x1a 0x80 0x8c 0x5 0x45 0x40 0x44 0x89 0x85 0x5 0x51 0x19 0x81 0x40 0x28 0x5 0x3 0x67 0x44 0x68 0x54 0xa0 0x4c 0xb 0x3 0x41 0x49 0x81 0x8f 0x80 0xbe 0x0 0x8b 0x40 0x62 0x30 0x45 0x50 0x60 0x28 0x14 0x19 0x4 0x12 0x27 0x55 0x41 0x54 0x40 0x14 0x41 0xa6 0xca 0x25 0xa 0x8 0x20 0xe5 0x12 0x83 0x1 0x69 0xb2 0x88 0x2a 0x2c 0x5 0xca 0x2a 0x8 0x20 0xd3 0x65 0x10 0x4 0xaa 0xa0 0xe5 0x1a 0x5 0xa 0xf 0x36 0x50 0xa 0x25 0x28 0x83 0xa2 0x25 0x54 0x1 0xe6 0xc8 0x8 0x5 0xa2 0xb3 0x2 0x3 0x2 0x52 0x24 0x4 0x50 0xaa 0x8a 0xc0 0x98 0x1b 0x2 0x60 0x6a 0xa0 0x28 0xaa 0x20 0x80 0xa3 0x22 0x80 0x20 0x25 0xb4 0xa1 0x6a 0x2 0x8 0xa5 0x4 0x4 0x11 0x42 0x91 0x40 0xb6 0x95 0x4 0x40 0x50 0x26 0x4 0x44 0x4 0x76 0x32 0x20 0x22 0x2e 0xd9 0x22 0x25 0x7 0x6c 0xc0 0x54 0x8 0x8c 0xa 0x22 0xbe 0x89 0x40 0x55 0x40 0x10 0x8 0x98 0x44 0x80 0xa8 0x21 0x41 0x1 0x42 0x85 0xa 0x25 0x28 0x2b 0x4a 0x2 0x48 0x94 0x1 0x42 0x91 0x71 0x51 0x1 0x98 0xd2 0xa2 0x28 0x24 0xc4 0x82 0x22 0x5 0x99 0x28 0x88 0x94 0x66 0x3 0x64 0x11 0xa 0x55 0x5a 0xaa 0x54 0x4a 0x2 0xa5 0x2 0x82 0xa5 0x80 0xd2 0x85 0x0 0x54 0x89 0x14 0x88 0x8b 0x5 0x60 0x6c 0x7c 0x9e 0x0 0x89 0xc2 0x10 0x41 0x56 0x3 0x11 0x2b 0x44 0x14 0x1 0xd8 0x41 0x4 0x4 0x1 0xd8 0x4a 0xd1 0xa 0xaa 0x38 0x18 0xb 0x41 0x4 0x76 0x2 0xa0 0x94 0x1 0x1d 0xa4 0x41 0xa3 0x41 0x4 0x76 0x12 0xb0 0x1a 0x82 0x3b 0x8 0x36 0xb4 0x10 0x57 0x61 0x2a 0x8 0x56 0x82 0xec 0x20 0x82 0x2 0x2 0xb8 0x55 0x8 0x88 0x8 0xaa 0xa 0xa0 0x44 0x40 0xbe 0x8d 0x80 0x33 0x30 0x65 0x51 0x99 0xad 0xc8 0x24 0x5e 0x88 0xa 0xc0 0xa8 0x58 0xd 0x15 0x15 0x40 0x42 0x88 0x2c 0x9 0x1 0x41 0x15 0xa 0x82 0x28 0x2a 0x2a 0x51 0xaa 0x80 0x2a 0x44 0x42 0x88 0x20 0xa9 0x11 0x0 0xa2 0x88 0x22 0x89 0x41 0xa 0x14 0xa0 0x22 0x14 0x2b 0x6d 0x4 0x4 0x41 0xb 0x2 0x88 0x89 0x22 0x82 0x8 0x30 0x18 0xd0 0xbe 0x55 0x85 0xa1 0x1a 0x4 0x10 0x36 0x66 0x24 0x10 0x44 0x88 0x9b 0x64 0x16 0xa0 0x13 0x22 0x8 0xb 0x62 0x41 0x11 0x28 0xc0 0x62 0x52 0xa 0xd1 0x28 0x11 0x20 0x50 0xa3 0x6d 0x58 0x1a 0xc0 0x90 0x6 0xb5 0x54 0x55 0x19 0x44 0x1 0x11 0x0 0xb0 0x14 0x4 0x44 0x5 0x16 0x2 0xaa 0x44 0xac 0x48 0xa2 0xc1 0x10 0x4 0x8 0xb8 0x4 0x44 0x7a 0x22 0x70 0x44 0x10 0x88 0x80 0xa0 0x83 0xb6 0x54 0x42 0xa0 0xed 0x81 0x12 0x8d 0xa6 0xd8 0x11 0xa 0x83 0xb6 0x32 0x20 0x25 0x8b 0x58 0x1d 0x28 0xa8 0x21 0x68 0x80 0x91 0x20 0x5b 0x64 0x60 0x4c 0x9 0x60 0x51 0x40 0x8e 0x23 0xa0 0xed 0x80 0x40 0x10 0x15 0x66 0x10 0xaa 0x23 0x45 0x98 0x90 0xa0 0x80 0x2c 0xc4 0x82 0x8 0x84 0x58 0xa1 0x4a 0x8 0x30 0x16 0xad 0x16 0xa8 0xa0 0x50 0x4 0xa0 0x8 0x82 0x8a 0x88 0x2d 0x11 0x29 0x6c 0x6 0x85 0x4 0x4a 0x1 0x56 0x91 0x22 0x26 0x12 0xb 0x8 0x89 0x0 0xac 0x82 0xc4 0x60 0x91 0x10 0x18 0x1a 0x94 0x28 0x45 0x4a 0x14 0xa2 0xe5 0x81 0xda 0xb 0xb2 0x84 0x48 0x57 0x61 0x51 0x4 0x1 0xdb 0xa 0x50 0x10 0x7 0x6c 0x2c 0x83 0x45 0x15 0x76 0xd1 0x10 0xa5 0xa0 0xbb 0x20 0x28 0x52 0x85 0xdb 0x20 0x9 0x68 0x51 0xc 0x80 0x20 0x52 0x82 0xa8 0x4 0x48 0x6 0x11 0x11 0x0 0x8e 0x88 0xc2 0x90 0x16 0x12 0x94 0x22 0xb0 0x15 0x11 0x81 0xc5 0x4 0xa 0xd6 0x40 0x40 0x50 0x60 0x54 0x40 0xa2 0x82 0xa4 0x54 0x54 0x14 0xdb 0xcc 0x22 0x2a 0x8a 0x7d 0xf6 0xfb 0x88 0xa9 0x62 0xc2 0xd1 0x42 0x81 0x42 0x80 0x50 0x50 0x40 0x40 0x40 0x41 0x8f 0x80 0x9e 0x81 0xc5 0xe0 0x88 0xc 0x5 0x22 0x20 0xc0 0x69 0x44 0x40 0x88 0x95 0x44 0x51 0x28 0xa0 0x22 0x94 0x11 0x28 0x49 0x68 0x8b 0x6d 0x11 0x45 0x40 0x45 0x0 0x45 0x10 0x15 0x22 0x35 0x14 0x60 0x34 0x19 0x81 0x10 0x54 0x52 0x8c 0xc0 0xa9 0x40 0xa2 0x3 0xb5 0xc2 0x82 0x94 0x41 0x66 0x2 0x24 0x4 0x4b 0x6c 0xa0 0x11 0x10 0x8 0x88 0xbd 0x5 0x58 0x52 0x11 0x58 0xa 0x82 0x82 0x3 0x1 0x42 0xa5 0x92 0x80 0xaa 0xd 0xa 0x9 0x4a 0x82 0xa8 0x55 0x1a 0x58 0xa 0x82 0x8 0x81 0x6d 0x5 0x28 0x5 0xa 0xa4 0x44 0xa5 0x1a 0x82 0x8 0xa 0xa 0x82 0xb4 0x40 0x10 0x66 0x8 0xa 0x0 0xab 0x31 0x2a 0xc0 0x99 0x81 0x56 0xa 0xed 0x96 0x10 0xed 0x98 0x4c 0x44 0xa8 0x81 0x2a 0xc0 0x62 0x20 0x80 0x2c 0x6 0xa0 0x29 0x41 0x45 0x46 0x4a 0x51 0x28 0x22 0xa8 0xa0 0x54 0x19 0x81 0xa5 0x10 0x66 0x4 0xa 0x83 0x30 0x5 0xa2 0x8e 0xd8 0x4a 0x2 0x44 0xa9 0x41 0x81 0x20 0x2b 0x2 0x68 0xac 0xd 0x6 0xa 0xaa 0xa7 0x8d 0x40 0x54 0x15 0x2 0x81 0x48 0x88 0xa5 0xa2 0x81 0x44 0x1 0x4b 0x68 0x91 0x10 0x11 0x28 0xa8 0x20 0x85 0x14 0xa9 0x50 0x5 0x3 0x64 0x8a 0x6c 0x51 0x91 0x66 0x14 0xa8 0xac 0xc0 0x85 0x15 0x76 0x50 0x8 0xc8 0xa9 0x22 0xb0 0x16 0x60 0x1 0x40 0x1c 0xe4 0x28 0xa0 0xb3 0x2 0x24 0x8a 0x24 0xc0 0x82 0xa 0xc0 0x5a 0x2d 0x15 0x15 0xa 0x0 0x8d 0xa 0x52 0xa0 0x88 0x85 0x28 0xa2 0x20 0xa8 0x28 0x22 0x0 0xa2 0x8a 0x21 0x44 0x28 0x20 0xad 0x28 0xa 0x80 0x21 0x11 0x81 0x2a 0x80 0xbe 0x8c 0x11 0x30 0x10 0x4 0x56 0x60 0x50 0x2d 0x40 0x90 0x26 0x15 0x1 0x15 0x1 0x26 0x5 0x45 0x15 0x4 0x26 0x4 0x4a 0x58 0xa 0x22 0xa8 0x85 0x2a 0x83 0x2 0x88 0x88 0x2a 0x88 0xa2 0x82 0x34 0x5 0x10 0x5 0x28 0x50 0x45 0x10 0x15 0x12 0x94 0x1 0x10 0x11 0xa 0x28 0xa2 0x44 0x44 0xb6 0x3 0x68 0x30 0x15 0x14 0x54 0xa0 0xc0 0x90 0x4 0x40 0x18 0x14 0x48 0x89 0x0 0xbe 0x84 0x44 0x42 0x22 0x11 0x20 0x10 0x40 0x55 0xa 0x52 0x88 0x25 0x1 0x45 0x14 0x14 0x40 0xa5 0x80 0xd0 0xa2 0x2a 0x50 0x51 0x60 0x2a 0x9 0x11 0x22 0x36 0x88 0xb6 0x22 0x48 0xb0 0x14 0x4a 0xa 0xd5 0x4a 0xa 0x25 0x4 0x5 0x41 0x50 0x4b 0x4a 0x20 0x5a 0x20 0xc 0x5 0x1 0x41 0x0 0x89 0xec 0x65 0x58 0x1b 0x32 0xb0 0x46 0x65 0x60 0x91 0x70 0xae 0x8b 0xc1 0x19 0x88 0x8 0xb4 0xc4 0x2 0xa 0x2 0xec 0xa9 0x40 0x2c 0x5 0x76 0xc5 0x28 0x80 0xa0 0x2e 0xd9 0xb1 0x10 0x4 0x15 0x40 0x10 0x1a 0xd 0x10 0x42 0xd2 0x94 0x2a 0x82 0x8 0x50 0x1a 0xd1 0x68 0x82 0xa2 0x88 0x2 0x82 0x2 0x14 0xa2 0x91 0x20 0x10 0xa 0x14 0x18 0x1a 0x80 0x88 0xc 0x12 0x23 0x24 0x46 0x10 0xa8 0x66 0x81 0x2a 0x91 0x32 0x44 0x60 0x34 0x11 0x2 0xa9 0x51 0x6b 0xb6 0x44 0x12 0xed 0x81 0x4 0x71 0x91 0x44 0x4 0x68 0x8d 0xa 0x0 0x88 0x44 0xc5 0x50 0xbe 0x84 0xc4 0x88 0xcc 0xc0 0xa8 0xb 0x1 0x59 0x81 0x42 0xd5 0xa 0x48 0xb3 0x2 0xc0 0xad 0x2a 0x13 0x2 0x85 0x14 0xb4 0x44 0xdb 0x28 0x51 0x4a 0x8 0x4c 0xa 0x91 0x11 0x51 0x74 0x44 0xa 0x14 0x50 0x30 0x29 0x55 0x4 0x88 0x8a 0xa0 0x50 0x18 0x1a 0x8 0x51 0xa5 0x2a 0xa0 0x82 0x5b 0x52 0x80 0x8a 0xa0 0x80 0x21 0x68 0xc0 0xe2 0x40 0x2b 0x8 0x88 0x80 0xbc 0x0 0x8c 0x40 0x58 0x32 0x80 0x20 0x8d 0xa5 0x4 0x1 0xa3 0x50 0x52 0x44 0x5 0x14 0x4a 0x22 0x80 0x81 0x46 0x82 0x20 0x8 0x9 0x40 0x44 0x1 0x4a 0x50 0x14 0x40 0x10 0x41 0x42 0x88 0x2 0x0 0xa5 0xa8 0x91 0x2b 0x40 0x40 0x46 0x60 0x42 0x28 0x39 0xdb 0xb 0x4 0x66 0x0 0x18 0x23 0x30 0x0 0xc1 0x22 0xa0 0xae 0x83 0xc4 0x61 0x2a 0x2 0xc1 0xd6 0x2 0xc1 0x94 0x2d 0x6 0xa 0xa5 0xa1 0x46 0xa 0x94 0x2 0x88 0x2a 0x80 0x81 0x69 0x12 0x8 0xa0 0xa0 0xb 0xa1 0x16 0xd9 0x17 0x24 0x4c 0x50 0x15 0xc9 0x13 0xc3 0x4a 0xac 0xce 0x20 0x11 0xb0 0xa3 0x9 0x50 0x58 0x52 0xa8 0x8d 0x80 0xc5 0x20 0x6a 0xb0 0x28 0x90 0x20 0xa 0x52 0x81 0x22 0x8 0xa2 0xd6 0x94 0xb1 0x12 0x62 0x42 0xd1 0x50 0x26 0x24 0x10 0x14 0x49 0x89 0xa1 0x41 0x46 0xcc 0x45 0xa9 0x45 0x1 0x51 0x5a 0x14 0x88 0x85 0xa 0x14 0x28 0x80 0x85 0xa 0x14 0x28 0x81 0x12 0x2 0x25 0x4 0x88 0x80 0x6e 0x82 0x44 0xe0 0x91 0x10 0x41 0x56 0x2 0x80 0x81 0x40 0x10 0x55 0x1b 0x45 0x14 0x11 0x60 0x48 0x82 0x8a 0xa0 0xa9 0x5a 0x14 0x28 0x2e 0xd8 0x1 0x14 0x10 0x17 0x6c 0x80 0x48 0x22 0xa2 0xbb 0x64 0x15 0xa 0x14 0x22 0xa2 0x80 0x80 0xc1 0xa2 0xa0 0xae 0x22 0x30 0xa4 0x6 0x14 0x89 0x13 0x82 0x30 0x2b 0x24 0x48 0x1 0x28 0xb4 0x54 0x4 0x1 0x15 0x4a 0x1 0x44 0x1 0x22 0x22 0xd 0x22 0x40 0xaa 0x2d 0x81 0x28 0x54 0x28 0x22 0x8a 0x2c 0x15 0x1d 0xb2 0x44 0xc1 0x50 0xdb 0x3 0x1 0x55 0x11 0xdb 0x23 0x6 0x45 0x44 0x60 0xcc 0xd 0x83 0x45 0x40 0x9b 0x88 0x8a 0xb0 0x27 0x6c 0x88 0x2a 0x80 0xed 0x95 0xa 0x8 0xc 0xc0 0xa5 0xa 0xa8 0xb3 0x2 0x81 0x41 0x15 0xdb 0xa 0x52 0x88 0x8a 0x0 0x85 0x4 0x41 0x44 0x54 0x88 0x94 0x46 0x85 0x0 0x50 0xa4 0x85 0x0 0xa0 0xa0 0x25 0x2d 0x28 0xaa 0x11 0x20 0x54 0x11 0x40 0x15 0x40 0x15 0x0 0xb9 0x8b 0x0 0x30 0x45 0x51 0x22 0x42 0xa 0x89 0x4a 0x50 0xa2 0xc0 0xda 0x2 0xad 0xb 0x50 0x54 0x10 0x51 0x2a 0x80 0xb5 0x2 0x92 0x20 0x8 0x52 0x8a 0x80 0x22 0x5 0x4 0x1 0x14 0x4 0x40 0x50 0x88 0x88 0xc 0x15 0x1 0x98 0xd5 0x1 0x98 0xd8 0xc 0x54 0x6d 0x82 0xaa 0xc0 0xa2 0xa0 0xa0 0xa 0x16 0x5 0x48 0x90 0xa 0x28 0xb 0xb6 0x51 0xb4 0xa5 0xad 0x5d 0xb2 0x88 0x4 0x80 0x81 0xb6 0x50 0xa8 0xad 0xa0 0x6d 0x94 0xa1 0x68 0x51 0x66 0x5 0x5b 0x3 0x89 0x82 0x11 0x38 0x22 0xa8 0xb8 0x8 0xa8 0x3 0xf7 0x7e 0xe8 0x3 0xbe 0xfb 0xe4 0x1 0xfb 0xef 0xba 0x0 0xef 0xbe 0xf9 0x0 0x7e 0xfb 0xee 0x80 0x2a 0x2 0xb0 0x24 0x4 0x2 0x24 0x44 0xe0 0xea 0x52 0x94 0xa5 0x15 0x29 0x4a 0x51 0x46 0x94 0xa5 0x2a 0x8 0x16 0x4a 0x2 0x8 0x44 0x41 0x5 0x50 0x15 0x40 0xab 0x81 0xaa 0xc2 0x10 0x58 0x3a 0x2 0xc1 0x92 0xd1 0x60 0x6a 0xd0 0xa2 0x80 0xaa 0x1 0x40 0x45 0x41 0x22 0x20 0x88 0x2 0x33 0x5 0x11 0x10 0x29 0x30 0x22 0x21 0x44 0x77 0xd9 0x11 0x50 0x55 0x15 0x10 0x15 0x49 0x28 0x2d 0x58 0xa 0xa5 0x80 0xb0 0x34 0x14 0x6 0x7 0x15 0x0 0xbe 0x81 0x46 0x20 0x4b 0xb0 0x2 0x3 0x1 0x5d 0xb9 0x40 0x28 0x80 0x2e 0xdf 0x22 0x34 0x50 0x7 0x6f 0x91 0x12 0x82 0x2a 0xed 0x90 0x40 0x11 0x10 0x51 0x83 0x22 0x49 0x4a 0x2a 0x8 0x8a 0x25 0x2 0x80 0x88 0x8 0x2b 0x68 0x8 0x88 0x88 0x2 0x5 0x1 0x12 0x22 0x9 0x52 0x23 0x2 0x41 0xa0 0x20 0x20 0x20 0x82 0xa 0x80 0xb0 0x14 0x10 0x60 0x48 | |
: D12 | |
0x2 0x82 0xac 0xa 0x24 0x28 0x23 0x21 0x38 0x2e 0x24 0x28 0x37 0x35 0x4c 0x3b 0x33 0x3c 0x43 0x3e 0x33 0x31 0x39 0x47 0x4b 0x37 0x47 0x46 0x45 0x44 0x2c 0x39 0x3f 0x35 0x43 0x41 0x31 0x2c 0x36 0x4b 0x46 0x42 0x1f 0x48 0x3f 0x35 0x39 0x32 0x3c 0x3a 0x34 0x2e 0x38 0x38 0x4b | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Spacefight 2091 [Carsten Soerensen, 1992].ch8 | |
###################################################################### | |
:proto L1 # 224 | |
:proto Sub1 # 22E | |
:proto L5 # 260 | |
:proto L6 # 294 | |
:proto Sub2 # 29E | |
:proto Sub3 # 2EA | |
:proto Sub4 # 350 | |
:proto L10 # 37E | |
:proto L11 # 3A4 | |
:proto L12 # 3FE | |
:proto L14 # 40E | |
:proto L15 # 444 | |
:proto L16 # 44E | |
:proto Sub5 # 45A | |
:proto Sub6 # 45E | |
:proto L17 # 462 | |
:proto Sub7 # 474 | |
:proto Sub8 # 47E | |
:proto Sub9 # 498 | |
:proto L18 # 4CC | |
:proto L19 # 4F0 | |
:proto L20 # 504 | |
:proto Sub10 # 518 | |
:proto Sub11 # 546 | |
:proto Sub12 # 566 | |
:proto L22 # 57E | |
:proto L23 # 5B4 | |
:proto L24 # 5BE | |
:proto Sub14 # 5E6 | |
:proto L25 # 616 | |
:proto Sub16 # 61E | |
:proto L26 # 630 | |
:proto L27 # 644 | |
:proto Sub17 # 658 | |
:proto Sub18 # 664 | |
:proto Sub19 # 66E | |
:proto L28 # 676 | |
:proto Sub20 # 686 | |
:proto Sub21 # 68C | |
:proto Sub22 # 6A6 | |
:proto Sub23 # 6BE | |
:proto Sub24 # 6C6 | |
:proto Sub25 # 6EA | |
:proto Sub26 # 6F6 | |
:proto Sub27 # 70E | |
:proto Sub28 # 714 | |
:proto Sub29 # 72C | |
:proto Sub30 # 75C | |
:proto Sub31 # 76A | |
:proto Sub32 # 778 | |
:proto Sub33 # 786 | |
:proto Sub34 # 7A6 | |
:proto Sub35 # 7D0 | |
:proto Sub36 # 7E8 | |
:proto Sub37 # 800 | |
:proto Sub38 # 828 | |
:proto Sub39 # 836 | |
:proto Sub40 # 83A | |
:proto Sub41 # 83E | |
:proto L42 # 840 | |
:proto D1 # 84A | |
:proto D2 # 86A | |
:proto D3 # 86F | |
:proto D4 # 92F | |
:proto D5 # 9AF | |
:proto D6 # 9EF | |
:proto D7 # A0F | |
:proto D8 # ACF | |
:proto D9 # AEF | |
:proto D10 # AF6 | |
:proto D11 # AF9 | |
:proto D12 # B19 | |
:proto D13 # B39 | |
:proto D14 # BF9 | |
:proto D15 # C39 | |
:proto D16 # C3A | |
:proto D17 # C3E | |
:proto D18 # C3F | |
:proto D19 # C40 | |
:proto D20 # C41 | |
:proto D21 # C42 | |
:proto D22 # C43 | |
:proto D23 # C44 | |
:proto D24 # C46 | |
:proto D25 # C47 | |
:proto D26 # C48 | |
:proto D27 # C4D | |
:proto D28 # C4E | |
:proto D29 # C4F | |
:proto D30 # C50 | |
:proto D31 # C52 | |
:proto D32 # C53 | |
:proto D33 # C56 | |
:proto D34 # C57 | |
:proto D35 # C67 | |
: main | |
jump L1 | |
0x53 0x70 0x61 0x63 0x65 0x46 0x69 0x67 0x68 0x74 0x32 0x30 0x39 0x31 0x20 0x62 0x79 0x20 0x53 0x6c 0x61 0x6d 0x6d 0x65 0x72 0x2f 0x41 0x6e 0x61 0x72 0x63 0x68 0x79 0x21 | |
: L1 | |
hires | |
loop | |
clear | |
Sub33 | |
Sub1 | |
again | |
: Sub1 | |
i := D19 | |
v0 := 0 | |
save v0 | |
v8 := 0 | |
loop | |
i := D3 | |
i += v8 | |
load v7 | |
i := D34 | |
i += v8 | |
save v7 | |
v8 += 8 | |
if v8 != 192 then | |
again | |
i := D19 | |
v0 := 0 | |
v1 := 3 | |
v2 := 0 | |
save v2 | |
Sub2 | |
: L4 | |
loop | |
i := D18 | |
load v0 | |
if v0 == 0 then jump L5 | |
v0 += -1 | |
save v0 | |
: L5 | |
Sub41 | |
Sub16 | |
Sub12 | |
Sub8 | |
Sub4 | |
i := D26 | |
load v4 | |
if v0 != 0 then jump L6 | |
if v1 != 0 then jump L6 | |
if v2 != 0 then jump L6 | |
if v3 != 0 then jump L6 | |
if v4 != 0 then jump L6 | |
Sub3 | |
i := D19 | |
load v0 | |
v0 += 32 | |
save v0 | |
if v0 == 192 then return | |
Sub2 | |
jump L4 | |
: L6 | |
i := D20 | |
load v0 | |
if v0 != 0 then | |
again | |
return | |
: Sub2 | |
Sub25 | |
i := D22 | |
v0 := 56 | |
v1 := 0 | |
v2 := 0 | |
save v2 | |
i := D24 | |
v0 := 0 | |
v1 := 0 | |
v2 := 1 | |
v3 := 1 | |
v4 := 1 | |
v5 := 1 | |
v6 := 1 | |
v7 := 5 | |
v8 := 0 | |
v9 := 0 | |
vA := 0 | |
vB := 0 | |
vC := 5 | |
save vC | |
i := D18 | |
v0 := -1 | |
save v0 | |
clear | |
Sub22 | |
Sub21 | |
Sub23 | |
Sub19 | |
Sub17 | |
Sub24 | |
v5 := 0 | |
jump Sub10 | |
: L7 | |
v3 += 1 | |
if v3 != 5 then jump L10 | |
v3 := 0 | |
jump L10 | |
: Sub3 | |
i := D18 | |
load v0 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
save v0 | |
Sub32 | |
Sub22 | |
Sub21 | |
Sub23 | |
Sub19 | |
v0 := 32 | |
v1 := 25 | |
i := D5 | |
v2 := 8 | |
v3 := 0 | |
loop | |
sprite v0 v1 8 | |
v0 += 8 | |
i += v2 | |
v3 += 1 | |
if v3 != 8 then | |
again | |
Sub18 | |
Sub39 | |
Sub39 | |
i := D18 | |
load v0 | |
if v0 == 0 then return | |
loop | |
Sub18 | |
Sub19 | |
i := D18 | |
load v0 | |
v0 += -1 | |
save v0 | |
i := D21 | |
load v0 | |
v0 += 1 | |
save v0 | |
Sub18 | |
Sub19 | |
v0 := 1 | |
buzzer := v0 | |
Sub41 | |
i := D18 | |
load v0 | |
if v0 != 0 then | |
again | |
Sub39 | |
Sub39 | |
return | |
: Sub4 | |
i := D30 | |
load v2 | |
if v0 != 0 then jump L11 | |
v2 += -1 | |
save v2 | |
if v2 != 0 then return | |
i := D19 | |
load v0 | |
v2 := 192 | |
v2 -= v0 | |
v2 >>= v5 | |
v2 >>= v5 | |
v2 >>= v5 | |
v2 >>= v5 | |
v2 >>= v5 | |
v0 := v2 | |
i := D31 | |
save v0 | |
v3 := random 0b11 | |
v4 := random 0b1 | |
v3 += v4 | |
: L10 | |
i := D26 | |
i += v3 | |
load v0 | |
if v0 == 0 then jump L7 | |
i := D2 | |
i += v3 | |
load v0 | |
v3 := v0 | |
i := D24 | |
load v1 | |
v0 += v3 | |
v0 += 7 | |
v1 += 25 | |
i := D30 | |
save v2 | |
v0 := 2 | |
buzzer := v0 | |
jump Sub7 | |
: L11 | |
Sub7 | |
v1 += 4 | |
i := D30 | |
save v1 | |
Sub7 | |
if v1 == 64 then jump L16 | |
if v1 == 63 then jump L16 | |
if v1 == 62 then jump L16 | |
if v1 == 61 then jump L16 | |
if v1 == 43 then jump L14 | |
if v1 == 42 then jump L14 | |
if v1 == 41 then jump L14 | |
if v1 == 40 then jump L14 | |
if v1 == 39 then jump L14 | |
if vF == 0 then return | |
v2 := v0 | |
v3 := v1 | |
i := D23 | |
load v1 | |
if v0 == 0 then jump L12 | |
if v0 != v2 then jump L12 | |
i := D21 | |
load v0 | |
v0 += 1 | |
save v0 | |
v0 := 1 | |
buzzer := v0 | |
Sub14 | |
i := D23 | |
v0 := 0 | |
v1 := 0 | |
save v1 | |
jump L16 | |
: L12 | |
vA := 0 | |
loop | |
Sub6 | |
Sub5 | |
vA += 1 | |
if vA != 5 then | |
again | |
Sub6 | |
jump L16 | |
: L14 | |
v2 := v0 | |
v3 := v0 | |
v2 >>= v5 | |
v2 >>= v5 | |
v2 >>= v5 | |
i := D19 | |
load v0 | |
i := D34 | |
i += v0 | |
i += v2 | |
load v0 | |
if v0 == 0 then return | |
load v0 | |
v0 += -1 | |
v2 := v0 | |
v0 := 0 | |
save v0 | |
if v2 == 0 then jump L15 | |
v0 := v2 | |
save v0 | |
v2 := 16 | |
i += v2 | |
v0 := 0 | |
save v0 | |
jump L16 | |
: L15 | |
v0 := -8 | |
v0 &= v3 | |
v1 := 44 | |
i := D16 | |
sprite v0 v1 4 | |
: L16 | |
Sub7 | |
i := D30 | |
v0 := 0 | |
v1 := 0 | |
save v1 | |
return | |
: Sub5 | |
v9 := 1 | |
jump L17 | |
: Sub6 | |
v9 := -1 | |
jump L17 | |
: L17 | |
Sub21 | |
v0 := 1 | |
buzzer := v0 | |
i := D20 | |
load v0 | |
v0 += v9 | |
save v0 | |
Sub21 | |
jump Sub40 | |
: Sub7 | |
i := D30 | |
load v1 | |
i := D10 | |
sprite v0 v1 3 | |
return | |
: Sub8 | |
i := D27 | |
load v0 | |
v0 += -1 | |
save v0 | |
if v0 != 0 then return | |
v0 := 5 | |
save v0 | |
v5 := 0 | |
Sub10 | |
Sub9 | |
v5 := 1 | |
jump Sub10 | |
: Sub9 | |
i := D28 | |
load v1 | |
if v0 == 0 then jump L20 | |
if v0 == 1 then jump L18 | |
if v0 == 2 then jump L19 | |
v0 := 10 | |
buzzer := v0 | |
i := D25 | |
load v0 | |
if v0 != 12 then v0 += 1 | |
save v0 | |
v1 += 1 | |
i := D29 | |
v0 := v1 | |
save v0 | |
if v1 != 4 then return | |
i := D28 | |
v0 := 0 | |
v1 := 0 | |
save v1 | |
return | |
: L18 | |
v0 := 10 | |
buzzer := v0 | |
i := D25 | |
load v0 | |
if v0 != 12 then v0 += 1 | |
save v0 | |
v1 += 1 | |
i := D29 | |
v0 := v1 | |
save v0 | |
if v1 != 4 then return | |
i := D28 | |
v0 := 2 | |
v1 := 0 | |
save v1 | |
return | |
: L19 | |
i := D24 | |
load v0 | |
v0 += -4 | |
save v0 | |
if v0 != 0 then return | |
i := D28 | |
v0 := 3 | |
save v0 | |
return | |
: L20 | |
i := D24 | |
load v0 | |
v0 += 4 | |
save v0 | |
if v0 != 40 then return | |
i := D28 | |
v0 := 1 | |
save v0 | |
return | |
: Sub10 | |
i := D24 | |
load v1 | |
v7 := v1 | |
v6 := v0 | |
v7 += 9 | |
v8 := 0 | |
i := D19 | |
load v0 | |
v9 := v0 | |
loop | |
i := D26 | |
i += v8 | |
load v0 | |
i := D7 | |
i += v9 | |
if v0 != 0 then sprite v6 v7 0 | |
if vF != 0 then Sub11 | |
v6 += 18 | |
v8 += 1 | |
if v8 != 5 then | |
again | |
return | |
: Sub11 | |
if v5 == 0 then return | |
sprite v6 v7 0 | |
i := D26 | |
i += v8 | |
v0 := 0 | |
save v0 | |
Sub19 | |
i := D21 | |
load v0 | |
v0 += 2 | |
save v0 | |
Sub19 | |
Sub14 | |
i := D23 | |
jump L25 | |
: Sub12 | |
i := D23 | |
load v1 | |
if v0 == 0 then return | |
if v1 == 44 then jump L22 | |
if v1 == 45 then jump L22 | |
if v1 == 46 then jump L22 | |
if v1 != 47 then return | |
: L22 | |
v2 := v0 | |
v3 := v0 | |
v2 >>= v5 | |
v2 >>= v5 | |
v2 >>= v5 | |
i := D19 | |
load v0 | |
i := D34 | |
i += v0 | |
i += v2 | |
load v0 | |
if v0 == 0 then return | |
load v0 | |
v0 += -1 | |
v2 := v0 | |
v0 := 0 | |
save v0 | |
if v2 == 0 then jump L23 | |
v0 := v2 | |
save v0 | |
v2 := 16 | |
i += v2 | |
v0 := 0 | |
save v0 | |
jump L24 | |
: L23 | |
v0 := -8 | |
v0 &= v3 | |
v1 := 44 | |
i := D16 | |
sprite v0 v1 4 | |
: L24 | |
Sub14 | |
i := D23 | |
jump L25 | |
: Sub13 | |
v0 := 10 | |
if v0 -key then return | |
i := D23 | |
load v0 | |
if v0 != 0 then return | |
i := D22 | |
load v0 | |
v0 += 7 | |
i := D23 | |
v1 := 46 | |
save v1 | |
Sub14 | |
v0 := 1 | |
buzzer := v0 | |
return | |
: Sub14 | |
i := D23 | |
load v1 | |
i := D10 | |
if v0 != 0 then sprite v0 v1 3 | |
return | |
: Sub15 | |
Sub14 | |
i := D23 | |
load v1 | |
v1 += -2 | |
if v1 == 8 then jump L25 | |
if v1 == 9 then jump L25 | |
save v1 | |
Sub14 | |
if v0 != 0 then if vF == 0 then return | |
v5 := 0 | |
Sub10 | |
v5 := 1 | |
Sub10 | |
return | |
: L25 | |
v0 := 0 | |
v1 := 0 | |
save v1 | |
return | |
: Sub16 | |
Sub13 | |
Sub15 | |
v0 := 3 | |
if v0 key then jump L27 | |
v0 := 12 | |
if v0 key then jump L26 | |
return | |
: L26 | |
i := D22 | |
load v0 | |
if v0 == 112 then return | |
Sub17 | |
v0 += 1 | |
i := D22 | |
save v0 | |
Sub17 | |
return | |
: L27 | |
i := D22 | |
load v0 | |
if v0 == 0 then return | |
Sub17 | |
v0 += -1 | |
i := D22 | |
save v0 | |
Sub17 | |
return | |
: Sub17 | |
i := D22 | |
load v0 | |
v1 := 49 | |
i := D8 | |
sprite v0 v1 0 | |
return | |
: Sub18 | |
i := D18 | |
load v0 | |
v3 := 57 | |
v4 := 34 | |
jump L28 | |
: Sub19 | |
i := D21 | |
load v0 | |
v3 := 34 | |
v4 := 3 | |
: L28 | |
i := D32 | |
bcd v0 | |
load v2 | |
i := hex v0 | |
Sub20 | |
i := hex v1 | |
Sub20 | |
i := hex v2 | |
: Sub20 | |
sprite v3 v4 5 | |
v3 += 5 | |
return | |
: Sub21 | |
i := D20 | |
load v0 | |
if v0 == 0 then return | |
v1 := 77 | |
v2 := 1 | |
i := D9 | |
loop | |
sprite v1 v2 7 | |
v1 += 8 | |
v0 += -1 | |
if v0 != 0 then | |
again | |
return | |
: Sub22 | |
v0 := 101 | |
v1 := 0 | |
i := D12 | |
: L30 | |
v2 := 8 | |
v3 := 0 | |
loop | |
sprite v0 v1 8 | |
v0 += 8 | |
i += v2 | |
v3 += 1 | |
if v3 != 4 then | |
again | |
return | |
: Sub23 | |
v0 := 0 | |
v1 := 0 | |
i := D11 | |
jump L30 | |
: Sub24 | |
v1 := 0 | |
v2 := 44 | |
v3 := 0 | |
i := D19 | |
load v0 | |
v4 := v0 | |
loop | |
i := D35 | |
i += v4 | |
i += v3 | |
load v0 | |
i := D16 | |
if v0 != 0 then sprite v1 v2 4 | |
v1 += 8 | |
v3 += 1 | |
if v3 != 16 then | |
again | |
return | |
: Sub25 | |
Sub30 | |
Sub28 | |
Sub29 | |
Sub26 | |
Sub31 | |
return | |
: Sub26 | |
Sub27 | |
Sub39 | |
Sub27 | |
Sub40 | |
Sub27 | |
Sub40 | |
Sub27 | |
Sub39 | |
Sub27 | |
Sub39 | |
Sub27 | |
jump Sub39 | |
: Sub27 | |
v0 := 3 | |
buzzer := v0 | |
return | |
: Sub28 | |
v0 := 32 | |
v1 := 12 | |
i := D14 | |
v2 := 8 | |
v3 := 0 | |
loop | |
sprite v0 v1 8 | |
v0 += 8 | |
i += v2 | |
v3 += 1 | |
if v3 != 8 then | |
again | |
return | |
: Sub29 | |
v0 := 48 | |
v1 := 32 | |
i := D6 | |
v2 := 8 | |
v3 := 0 | |
loop | |
sprite v0 v1 8 | |
v0 += 8 | |
i += v2 | |
v3 += 1 | |
if v3 != 4 then | |
again | |
i := D19 | |
load v0 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 >>= v5 | |
v0 += 1 | |
i := bighex v0 | |
v0 := 59 | |
v1 := 41 | |
sprite v0 v1 10 | |
return | |
: Sub30 | |
v1 := 0 | |
loop | |
Sub41 | |
scroll-left | |
v1 += 1 | |
if v1 != 32 then | |
again | |
return | |
: Sub31 | |
v1 := 0 | |
loop | |
Sub41 | |
scroll-right | |
v1 += 1 | |
if v1 != 32 then | |
again | |
return | |
: Sub32 | |
v1 := 0 | |
loop | |
Sub41 | |
scroll-down 4 | |
v1 += 1 | |
if v1 != 16 then | |
again | |
return | |
: Sub33 | |
i := D17 | |
v0 := 100 | |
save v0 | |
Sub35 | |
Sub22 | |
Sub21 | |
Sub23 | |
Sub19 | |
Sub36 | |
loop | |
Sub41 | |
Sub37 | |
Sub34 | |
v0 := 10 | |
if v0 -key then | |
again | |
return | |
: Sub34 | |
i := D17 | |
load v0 | |
v0 += -1 | |
save v0 | |
if v0 != 0 then return | |
v0 := 100 | |
save v0 | |
Sub35 | |
i := D13 | |
v0 := 16 | |
v1 := 24 | |
v2 := 32 | |
v3 := 0 | |
loop | |
sprite v0 v1 0 | |
v0 += 16 | |
i += v2 | |
v3 += 1 | |
if v3 != 6 then | |
again | |
return | |
: Sub35 | |
i := D4 | |
v0 := 32 | |
v1 := 24 | |
v2 := 32 | |
v3 := 0 | |
loop | |
sprite v0 v1 0 | |
v0 += 16 | |
i += v2 | |
v3 += 1 | |
if v3 != 4 then | |
again | |
return | |
: Sub36 | |
i := D33 | |
v0 := 0 | |
save v0 | |
v2 := v0 | |
v4 := 0 | |
loop | |
Sub38 | |
v2 += 1 | |
v0 := v2 | |
v4 += 1 | |
if v4 != 16 then | |
again | |
return | |
: Sub37 | |
i := D33 | |
load v0 | |
v2 := v0 | |
v4 := v0 | |
Sub38 | |
i := D1 | |
v2 <<= v5 | |
i += v2 | |
v0 := random 0b1111111 | |
v1 := random 0b111111 | |
save v1 | |
i := D15 | |
sprite v0 v1 1 | |
v3 := 15 | |
v4 += 1 | |
v4 &= v3 | |
v0 := v4 | |
i := D33 | |
save v0 | |
return | |
: Sub38 | |
i := D1 | |
v0 <<= v5 | |
i += v0 | |
load v1 | |
i := D15 | |
sprite v0 v1 1 | |
return | |
: Sub39 | |
v0 := 12 | |
jump L42 | |
: Sub40 | |
v0 := 6 | |
jump L42 | |
: Sub41 | |
v0 := 1 | |
: L42 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: D1 | |
0xa 0x11 0x5b 0x22 0x5b 0x29 0x75 0x38 0x54 0x11 0xc 0x9 0x34 0x13 0x78 0x34 0x26 0x4 0x6 0x1a 0xc 0x22 0x20 0xa 0x0 0x16 0x6 0x5 0x3f 0x7 0x0 0x1e | |
: D2 | |
0x0 0x12 0x24 0x36 0x48 | |
: D3 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x2 0x2 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x1 0x1 0x1 0x0 0x0 0x0 0x0 0x5 0x5 0x0 0x0 0x0 0x5 0x0 0x0 0x5 0x0 0x0 0x0 0x5 0x5 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x1 0x0 0x0 0x1 0x0 0x0 0x0 0x1 0x1 0x0 0xa 0xa 0x0 0x0 0xa 0xa 0x0 0x0 0x0 0x0 0xa 0xa 0x0 0x0 0xa 0xa 0x1 0x1 0x0 0x0 0x1 0x1 0x0 0x0 0x0 0x0 0x1 0x1 0x0 0x0 0x1 0x1 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x14 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 0x1 | |
: D4 | |
0x3c 0x0 0x7c 0x0 0xe0 0x0 0xc0 0x0 0xcc 0x71 0xcc 0xfb 0xcd 0xdb 0xcd 0x9b 0xcd 0x9b 0xfd 0xfb 0x7c 0xfb 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf0 0xe0 0xf9 0xf0 0x7d 0x98 0x6d 0xf8 0x6d 0x80 0x6d 0xf8 0x6c 0xf8 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0x38 0x0 0x7c 0x0 0xec 0x0 0xcc 0x0 0xcd 0x99 0xcd 0x9b 0xcd 0x9b 0xcd 0x9b 0xcd 0x9b 0xfc 0xf3 0x78 0x61 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0x0 0x7 0x0 0x7 0x0 0x6 0x0 0x6 0xc1 0xcc 0xe3 0xcc 0x37 0x8 0xf6 0x8 0x6 0x0 0xf6 0x18 0xf6 0x18 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff | |
: D5 | |
0xfd 0xfd 0x11 0x31 0x31 0x31 0x31 0x31 0xa1 0xb3 0xbf 0xbf 0xb3 0xb3 0xb3 0xb3 0x1c 0x3c 0x70 0x60 0x78 0x60 0x7c 0x3c 0xe 0x1f 0x1b 0x19 0x1f 0x19 0x1f 0x1f 0xe 0x1f 0xbb 0xb3 0x33 0xb3 0xbf 0x1e 0x66 0x76 0x7e 0x6e 0x66 0x66 0x66 0x66 0xcc 0xcc 0xcd 0xcd 0xcc 0xec 0x7d 0x3d 0x70 0xf3 0x83 0xe0 0xf0 0x33 0xf3 0xe0 | |
: D6 | |
0xc0 0xc1 0xc3 0xc3 0xc3 0xe3 0x7b 0x39 0xec 0xec 0x8c 0xc 0xcc 0xf 0xe7 0xe3 0xc7 0xcf 0xdc 0xd8 0xde 0xd8 0x9f 0xf 0x60 0x60 0x60 0x60 0x60 0x70 0x3c 0x1c | |
: D7 | |
0x0 0x0 0x97 0xd2 0x3 0x80 0x1 0x0 0xf 0xe0 0x3f 0xf8 0x55 0x54 0xab 0xba 0xff 0x6e 0xba 0xba 0x55 0x54 0x3f 0xf8 0x4f 0xe4 0x0 0x0 0x80 0x2 0x0 0x0 0x3 0xc0 0x6 0x60 0x4 0xa0 0x3 0xc0 0x4 0x20 0xb 0x30 0x14 0x58 0x14 0x28 0x10 0x58 0x12 0xa8 0xd 0x50 0x16 0xa8 0x23 0xc4 0x7f 0xfe 0x40 0x2 0x0 0x0 0x4a 0xaa 0x15 0x50 0x4a 0xaa 0xd5 0x53 0xe4 0x27 0x7f 0xfe 0x39 0x9c 0xc 0x30 0x6 0x60 0x7 0xe0 0x33 0xcc 0x2b 0xd4 0x7 0xe0 0x3 0xc0 0x1 0x80 0x0 0x0 0x3 0xc0 0x5 0x60 0x6 0xa0 0x3 0xc0 0x1b 0xd8 0x2d 0x74 0x5e 0xba 0xa5 0x65 0xc6 0xa3 0xc7 0xe3 0xcd 0xb3 0xda 0x5b 0x54 0x2a 0x18 0x18 0x18 0x18 0x30 0xc 0x30 0xc 0x48 0x12 0xa4 0x25 0x84 0x21 0x4c 0x32 0x32 0x4c 0x2 0x40 0x1f 0xf8 0x20 0xac 0x28 0x54 0x20 0xac 0x1f 0xf8 0x7f 0xfe 0x92 0x49 0x92 0x49 0x92 0x49 0x3f 0xfc 0x40 0x2 0x5a 0xfa 0x50 0xa 0x43 0xea 0x52 0x4a 0x47 0xca 0x50 0xa 0x5f 0xfa 0x40 0x2 0x3f 0xfc 0xf 0xf0 0x38 0x1c 0x54 0x36 0xac 0x2b 0xf8 0x1f | |
: D8 | |
0x1 0x0 0x1 0x0 0x1 0x0 0x1 0x0 0x1 0x0 0x3 0x80 0x3 0x80 0x3 0x80 0x7 0xc0 0xc6 0xc6 0x7d 0x7c 0x3f 0xf8 0x7f 0xfc 0xc3 0x86 0x1 0x0 0x0 0x0 | |
: D9 | |
0x10 0x10 0x10 0x28 0x7c 0xd6 0xfe | |
: D10 | |
0x80 0x80 0x80 | |
: D11 | |
0x38 0x79 0xc3 0xf3 0x7b 0x1b 0xfb 0xf1 0xe3 0xe7 0x8e 0xc 0xc 0xc 0xef 0xe7 0x8e 0xdf 0xdb 0xd9 0xdf 0xdf 0xdb 0x99 0xe 0x1e 0xb8 0xb0 0xbc 0x30 0xbe 0x9e | |
: D12 | |
0xc3 0xc3 0xc3 0xc3 0xc3 0xe3 0x7b 0x3b 0x66 0x66 0x66 0x66 0x66 0x7e 0x3c 0x18 0x38 0x79 0xe3 0xc3 0xf1 0xc0 0xfb 0x7b 0xe0 0xe0 0x0 0xc0 0xe0 0x60 0xe0 0xc0 | |
: D13 | |
0x3c 0x0 0x7c 0x0 0xe0 0x0 0xc0 0x0 0xf1 0xe0 0x79 0xf1 0x1d 0xbb 0xd 0x9b 0xd 0x9b 0xfd 0xfb 0xf9 0xf1 0x1 0x80 0x1 0x80 0x1 0x80 0xfc 0x3f 0xff 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xe1 0xce 0xf3 0xdf 0xb7 0x19 0x36 0x1f 0x36 0x18 0xf7 0xdf 0xf3 0xcf 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0xf 0x0 0x1f 0x0 0x38 0x0 0x30 0x0 0x3e 0xc7 0x3e 0xcf 0xb0 0x1d 0xb0 0xd9 0x30 0xd9 0xb0 0xdf 0xb0 0xcf 0x0 0x1 0x0 0xf 0x0 0xf 0xff 0xe0 0xff 0xff 0x30 0x60 0x30 0x60 0x30 0x60 0x30 0x60 0x3c 0x78 0xbe 0x78 0xb7 0x60 0xb3 0x60 0xb3 0x70 0xb3 0x3c 0xb3 0x1c 0x80 0x0 0x80 0x0 0x0 0x0 0x7f 0xff 0xff 0xff 0x3c 0x3c 0x7e 0x7e 0xe6 0xe6 0xc6 0xc6 0xe 0xc6 0x1c 0xc6 0x38 0xc6 0x70 0xc6 0xe0 0xc6 0xfe 0xfe 0xfe 0x7c 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff 0x3c 0xc7 0x7e 0xc7 0xe6 0xc6 0xc6 0xc6 0xc6 0xcc 0xfe 0xcc 0x7e 0xc8 0x6 0xc8 0x6 0xc0 0xfe 0xd8 0xfc 0xd8 0x0 0x0 0x0 0x0 0x0 0x0 0xff 0xff 0xff 0xff | |
: D14 | |
0x3c 0x7c 0xe1 0xc1 0xcd 0xcd 0xfd 0x7c 0x77 0xf7 0xc0 0x81 0xe1 0x81 0xf1 0xf1 0xe0 0xe0 0x80 0x80 0x80 0x80 0x80 0x80 0xf0 0xf8 0xdd 0xcd 0xfd 0xf9 0xdd 0xcc 0x71 0xf3 0xc7 0x86 0xe7 0x86 0xf6 0xf6 0xc7 0xef 0x6d 0x6c 0xec 0x6c 0x6f 0x6f 0x19 0x99 0xd9 0xdf 0xcf 0xc6 0xc6 0x86 0x98 0x98 0x98 0x98 0x18 0x0 0x18 0x18 | |
: D15 | |
0x80 | |
: D16 | |
0xff 0xaa 0x55 0xff | |
: D17 | |
0x0 | |
: D18 | |
0x0 | |
: D19 | |
0x0 | |
: D20 | |
0x0 | |
: D21 | |
0x0 | |
: D22 | |
0x0 | |
: D23 | |
0x0 0x0 | |
: D24 | |
0x0 | |
: D25 | |
0x0 | |
: D26 | |
0x0 0x0 0x0 0x0 0x0 | |
: D27 | |
0x0 | |
: D28 | |
0x0 | |
: D29 | |
0x0 | |
: D30 | |
0x0 0x0 | |
: D31 | |
0x0 | |
: D32 | |
0x0 0x0 0x0 | |
: D33 | |
0x0 | |
: D34 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D35 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/Super Astro Dodge [Revival Studios, 2008].ch8 | |
###################################################################### | |
:proto L1 # 214 | |
:proto L4 # 242 | |
:proto L5 # 256 | |
:proto Sub1 # 28A | |
:proto Sub3 # 2B4 | |
:proto Sub4 # 2E6 | |
:proto Sub5 # 2EC | |
:proto L9 # 2F8 | |
:proto L10 # 302 | |
:proto L11 # 30C | |
:proto L12 # 316 | |
:proto Sub6 # 31E | |
:proto L13 # 32C | |
:proto D1 # 342 | |
:proto D2 # 354 | |
:proto D3 # 35C | |
:proto D4 # 3DC | |
:proto Sub7 # 5DC | |
:proto Sub8 # 5E4 | |
:proto Sub9 # 63C | |
:proto Sub10 # 672 | |
:proto Sub11 # 6A4 | |
:proto Sub12 # 6DA | |
:proto Sub13 # 6E2 | |
:proto Sub15 # 712 | |
:proto Sub16 # 71E | |
:proto D5 # 72A | |
:proto D6 # 72B | |
:proto D7 # 72C | |
:proto D8 # 72F | |
:proto D9 # 75F | |
:proto D10 # 7BF | |
: main | |
jump L1 | |
0x52 0x45 0x56 0x49 0x56 0x41 0x4c 0x53 0x54 0x55 0x44 0x49 0x4f 0x53 0x32 0x30 0x30 0x38 | |
: L1 | |
hires | |
clear | |
vD := 32 | |
delay := vD | |
Sub7 | |
Sub8 | |
vD := 64 | |
delay := vD | |
Sub7 | |
Sub8 | |
vD := 32 | |
delay := vD | |
Sub7 | |
: L2 | |
clear | |
i := D4 | |
Sub11 | |
Sub9 | |
vD := 4 | |
vC := 0 | |
loop | |
v0 := 5 | |
if v0 -key then jump L4 | |
jump L5 | |
: L4 | |
delay := vD | |
Sub7 | |
vC += 1 | |
if vC == 0 then Sub9 | |
if vC == 4 then Sub9 | |
if vC == 8 then vC := 0 | |
again | |
: L5 | |
i := D4 | |
Sub11 | |
clear | |
v8 := 32 | |
v9 := 48 | |
Sub4 | |
Sub1 | |
Sub12 | |
v3 := 108 | |
v4 := 0 | |
Sub15 | |
v3 := 108 | |
v4 := 6 | |
Sub16 | |
vD := 0 | |
vE := 8 | |
loop | |
Sub3 | |
Sub5 | |
vD += 8 | |
if vD == 128 then vD := 0 | |
vE += 8 | |
if vE == 128 then vE := 0 | |
again | |
0x12 0x2e | |
: Sub1 | |
vC := 0 | |
loop | |
i := D1 | |
i += vC | |
load v1 | |
v1 := random 0b1111 | |
save v1 | |
i := D3 | |
sprite v0 v1 8 | |
vC += 3 | |
if vC != 12 then | |
again | |
return | |
: Sub2 | |
Sub6 | |
Sub13 | |
Sub6 | |
v0 := random 0b1111 | |
v0 += v0 | |
v0 += v0 | |
v0 += v0 | |
v1 := 0 | |
return | |
: Sub3 | |
vC := 0 | |
v5 := 0 | |
loop | |
i := D1 | |
i += vC | |
load v2 | |
i := D3 | |
i += vD | |
sprite v0 v1 8 | |
v1 += v2 | |
v3 := v1 | |
v4 := 60 | |
v3 -= v4 | |
if vF == 1 then Sub2 | |
i := D3 | |
i += vE | |
sprite v0 v1 8 | |
i := D1 | |
i += vC | |
save v1 | |
v5 += 16 | |
vC += 3 | |
if vC != 12 then | |
again | |
return | |
: Sub4 | |
i := D2 | |
sprite v8 v9 8 | |
return | |
: Sub5 | |
Sub4 | |
v0 := 4 | |
if v0 -key then jump L9 | |
if v8 != 0 then v8 += -1 | |
: L9 | |
v0 := 6 | |
if v0 -key then jump L10 | |
if v8 != 120 then v8 += 1 | |
: L10 | |
v0 := 2 | |
if v0 -key then jump L11 | |
if v9 != 32 then v9 += -1 | |
: L11 | |
v0 := 8 | |
if v0 -key then jump L12 | |
if v9 != 56 then v9 += 1 | |
: L12 | |
Sub4 | |
if vF == 1 then jump L13 | |
return | |
: Sub6 | |
v3 := 108 | |
v4 := 0 | |
Sub15 | |
v3 := 108 | |
v4 := 6 | |
Sub16 | |
return | |
: L13 | |
clear | |
v0 := 32 | |
v1 := 16 | |
Sub10 | |
v3 := 54 | |
v4 := 40 | |
Sub15 | |
loop | |
v0 := 5 | |
if v0 -key then | |
again | |
jump L2 | |
: D1 | |
0x0 0xe 0x1 0x18 0xb4 0x2 0x30 0xe3 0x3 0x48 0x75 0x1 0x60 0x60 0x2 0x78 0x36 0x3 | |
: D2 | |
0x18 0x18 0x34 0x24 0x7e 0xff 0xe7 0x99 | |
: D3 | |
0x0 0x40 0x38 0x14 0x2a 0x75 0x3a 0x14 0x0 0x0 0x28 0x70 0x3e 0x7 0x2a 0x0 0x0 0x40 0x8 0x5c 0x7a 0x75 0xa 0x4 0x0 0x50 0x28 0x54 0x3e 0x75 0x2e 0x1 0x20 0x70 0x78 0x7c 0x3c 0x75 0x6a 0x54 0x0 0x64 0x78 0x78 0x7e 0x7d 0xe8 0x50 0x8 0x44 0x2a 0x50 0x3a 0x5d 0xe8 0x40 0x8 0x54 0xa 0x11 0x2a 0x5c 0x68 0x40 0x0 0x4 0x2a 0x57 0x2a 0x16 0x28 0x50 0x0 0x0 0x2a 0x13 0x6a 0x56 0x8 0x0 0x0 0x0 0x8 0x71 0x2a 0x52 0x30 0x0 0x0 0x4 0xa 0x14 0x3a 0x60 0x68 0x0 0x0 0x4 0xa 0x1c 0x3e 0x70 0x68 0x50 0x20 0x50 0x2e 0x5f 0x2e 0x5c 0x28 0x50 0x20 0x5c 0x3a 0x57 0x3e 0x5e 0x28 0x50 0x0 0x58 0x38 0x77 0x2e 0x7f 0x3e 0x54 | |
: D4 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x20 0x0 0x0 0x0 0x0 0x20 0x0 0x0 0x78 0x7e 0x0 0x0 0xf7 0xf1 0x0 0x0 0xbe 0x9e 0x0 0x0 0x38 0x66 0x0 0x0 0xf8 0xcd 0x0 0x0 0x73 0x9b 0x0 0x0 0xe3 0x36 0x0 0x0 0xcf 0xde 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0 0x1 0x0 0x0 0x0 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x78 0x66 0x0 0x0 0xf7 0x1d 0x0 0x0 0xbe 0x9b 0x0 0x0 0x3a 0x36 0x0 0x0 0xf9 0xcd 0x0 0x4 0x73 0xb3 0x10 0x0 0xe3 0x6c 0x0 0x0 0xcf 0xd8 0x0 0x0 0x0 0x0 0x0 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x3 0x0 0x0 0x0 0x80 0x0 0x20 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xcd 0x33 0x0 0x0 0x83 0x78 0x0 0x0 0x33 0xd9 0x0 0x0 0x66 0x9c 0x0 0x0 0xcd 0xf8 0x0 0x0 0x9b 0xe3 0x0 0x0 0x36 0x87 0x0 0x0 0x6c 0x3c 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 0xfd 0x7e 0x0 0x0 0xf7 0x79 0x0 0x0 0xbf 0x9f 0x0 0x0 0x7c 0x66 0x0 0x0 0xfc 0xcd 0x0 0x0 0xfb 0x9b 0x0 0x0 0xf7 0x36 0x0 0x0 0xef 0xde 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0x0 0x0 0x0 0x0 0x1 0x0 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xfd 0x66 0x0 0x0 0xf7 0x1d 0x0 0x0 0xbf 0x9b 0x0 0x0 0x7c 0x36 0x0 0x0 0xfc 0xcd 0x0 0xe 0xfb 0xb3 0x0 0x0 0xf7 0xec 0x0 0x0 0xef 0xd8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x50 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xcd 0x0 0x0 0x0 0xc3 0x0 0x0 0x0 0x33 0x0 0x0 0x0 0x66 0x0 0x0 0x0 0xcd 0x0 0x0 0x0 0x9b 0x0 0x0 0x0 0x36 0x0 0x0 0x0 0xc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x85 0x66 0x0 0x2 0x0 0x19 0x0 0x0 0x1 0x9b 0x0 0x0 0x46 0x66 0x0 0x0 0x5 0xcd 0x0 0x0 0x88 0x9b 0x0 0x0 0x14 0x6c 0x0 0x0 0x20 0xd8 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x0 0x0 0x0 0x0 0x0 0x0 0x40 0x0 0x0 0x2 0x0 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xcd 0x33 0x0 0x0 0x83 0x7c 0x0 0x0 0x33 0xd9 0x0 0x0 0x6e 0xbe 0x0 0x0 0xcd 0xfd 0x0 0x4 0xdb 0xf3 0x0 0x0 0x76 0xcf 0x0 0x0 0x6c 0xbc 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: Sub7 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub8 | |
vD := 4 | |
v1 := 29 | |
v0 := 60 | |
v2 := 18 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
v0 := 52 | |
v2 := 12 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 68 | |
v2 := 24 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
v0 := 44 | |
v2 := 6 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
v0 := 76 | |
v2 := 30 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
i := D10 | |
v0 := 36 | |
sprite v0 v1 6 | |
v0 := 84 | |
v2 := 36 | |
i := D10 | |
i += v2 | |
sprite v0 v1 6 | |
delay := vD | |
Sub7 | |
return | |
: Sub9 | |
v2 := 6 | |
v0 := 32 | |
v1 := 48 | |
i := D8 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 6 | |
return | |
: Sub10 | |
v2 := 12 | |
i := D9 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
v0 += 8 | |
i += v2 | |
sprite v0 v1 12 | |
return | |
: Sub11 | |
v4 := 1 | |
v5 := 7 | |
v2 := 0 | |
v3 := 0 | |
: L15 | |
v0 := 0 | |
loop | |
v1 := v3 | |
v1 += 8 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
v1 += 8 | |
i += v4 | |
sprite v0 v1 1 | |
i += v4 | |
v0 += 8 | |
if v0 != 128 then | |
again | |
v3 += 3 | |
v3 &= v5 | |
v2 += 1 | |
if v2 != 8 then jump L15 | |
return | |
: Sub12 | |
v0 := 0 | |
i := D5 | |
save v0 | |
return | |
: Sub13 | |
i := D5 | |
load v1 | |
v0 += 1 | |
v2 := v0 | |
v2 -= v1 | |
if vF == 1 then v1 := v0 | |
save v1 | |
return | |
: Sub14 | |
i := D7 | |
load v2 | |
i := hex v0 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v1 | |
sprite v3 v4 5 | |
v3 += 5 | |
i := hex v2 | |
sprite v3 v4 5 | |
v3 += 5 | |
v2 := 0 | |
i := hex v2 | |
sprite v3 v4 5 | |
return | |
: Sub15 | |
i := D5 | |
load v0 | |
i := D7 | |
bcd v0 | |
Sub14 | |
return | |
: Sub16 | |
i := D6 | |
load v0 | |
i := D7 | |
bcd v0 | |
Sub14 | |
return | |
: D5 | |
0x0 | |
: D6 | |
0x64 | |
: D7 | |
0x0 0x0 0x0 | |
: D8 | |
0x0 0x3c 0x36 0x3c 0x30 0x30 0x0 0xf3 0xdb 0xf3 0xdb 0xdb 0x0 0xe7 0xc 0xc7 0x1 0xef 0x0 0x9e 0x30 0x1c 0x86 0x3c 0x0 0x1e 0x30 0x1c 0x6 0x3c 0x0 0xf3 0x66 0x67 0x66 0x66 0x0 0x9e 0xdb 0xde 0xdb 0xdb 0x0 0x78 0x30 0x30 0x30 0x30 | |
: D9 | |
0x1 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x3 0x1 0xe7 0xd 0xd 0x6f 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0x6d 0xed 0x3f 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0xb5 0x3e 0xb0 0xb0 0xbc 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xb0 0xbe 0x1c 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x36 0x1c 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0xdb 0x7b 0x3b 0xef 0xd 0xd 0xcf 0xd 0xd 0xd 0xd 0xd 0xd 0xd 0xed 0x0 0x80 0x80 0x0 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D10 | |
0x0 0x0 0xc 0x11 0x11 0x10 0x0 0x0 0x95 0x55 0x95 0xcd 0x0 0x0 0x53 0x55 0x55 0x33 0x40 0x40 0x44 0x42 0x41 0x46 0x0 0x40 0x6a 0x4a 0x4a 0x46 0x0 0x20 0x69 0xaa 0xaa 0x69 0x0 0x0 0x20 0x90 0x88 0x30 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/SuperWorm V3 [RB, 1992].ch8 | |
###################################################################### | |
:proto L1 # 21A | |
:proto L9 # 2C0 | |
:proto L10 # 2D4 | |
:proto Sub2 # 2E2 | |
:proto Sub3 # 2E4 | |
:proto L11 # 2FC | |
:proto L12 # 312 | |
:proto Sub4 # 32E | |
:proto Sub5 # 332 | |
:proto Sub6 # 342 | |
:proto D4 # 348 | |
:proto D5 # 350 | |
:proto D6 # 352 | |
:proto D7 # 355 | |
:proto D8 # 357 | |
:proto D9 # 35E | |
:proto D10 # 35F | |
:proto D11 # 368 | |
:proto D12 # 468 | |
: main | |
jump L1 | |
: D1 | |
0x57 0x6f 0x72 0x6d | |
: D2 | |
0x0 0x52 0x42 0x39 0x32 | |
: D3 | |
0x0 0x0 0x0 0x3e 0x5 0x0 0x2b 0x7c 0x0 0x0 0x6 0x1e 0x1 0x0 0x4 | |
: L1 | |
hires | |
clear | |
i := D3 | |
load vE | |
i := D11 | |
loop | |
save v0 | |
i += vC | |
v1 += 1 | |
if v1 != 0 then | |
again | |
i := D5 | |
sprite vA vB 3 | |
loop | |
sprite v4 v2 1 | |
sprite v4 v3 1 | |
v4 += 3 | |
if v4 != 122 then | |
again | |
i := D10 | |
v3 := 4 | |
loop | |
sprite v3 v2 9 | |
sprite v4 v2 9 | |
v2 += 9 | |
if v2 != 63 then | |
again | |
i := D2 | |
load v0 | |
i := D1 | |
bcd v0 | |
v3 := 46 | |
Sub3 | |
i := D1 | |
bcd v5 | |
Sub2 | |
Sub5 | |
loop | |
i := D9 | |
sprite v7 v6 1 | |
v6 += -2 | |
if v6 != 17 then | |
again | |
: L6 | |
v3 := 6 | |
delay := v3 | |
i := D11 | |
i += v8 | |
load v0 | |
v4 := v0 | |
v0 := vA | |
save v0 | |
i := D12 | |
i += v8 | |
load v0 | |
v1 := v0 | |
v0 := vB | |
save v0 | |
i := D6 | |
if v4 != 0 then sprite v4 v1 3 | |
i := D4 | |
i += v9 | |
load v1 | |
i := D7 | |
sprite vA vB 2 | |
vA += v0 | |
vB += v1 | |
i := D5 | |
sprite vA vB 3 | |
if vF != 0 then jump L11 | |
v0 := random 0b1111 | |
if v0 == 0 then Sub4 | |
: L7 | |
v8 += 1 | |
if v8 == vE then v8 := 0 | |
loop | |
v1 := 8 | |
if v1 -key then v6 := 0 | |
if v1 -key then jump L9 | |
if v6 != 0 then jump L9 | |
v9 += 2 | |
v6 := 6 | |
v9 &= v6 | |
: L9 | |
v1 := 9 | |
if v1 -key then v7 := 0 | |
if v1 -key then jump L10 | |
if v7 != 0 then jump L10 | |
v9 += -2 | |
v7 := 6 | |
v9 &= v7 | |
: L10 | |
v3 := delay | |
if v3 != 0 then | |
again | |
jump L6 | |
: Sub1 | |
Sub2 | |
i := D1 | |
bcd v5 | |
: Sub2 | |
v3 := 0 | |
: Sub3 | |
v4 := 124 | |
i := D1 | |
load v2 | |
i := hex v0 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v1 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v4 v3 5 | |
return | |
: L11 | |
Sub6 | |
i := D5 | |
sprite vA vB 3 | |
sprite vA vB 3 | |
if vF != 0 then jump L12 | |
v4 := 2 | |
buzzer := v4 | |
v5 += 1 | |
Sub1 | |
jump L7 | |
: L12 | |
v4 := 10 | |
buzzer := v4 | |
sprite vA vB 3 | |
vA -= v0 | |
vB -= v1 | |
i := D7 | |
sprite vA vB 2 | |
i := D2 | |
load v0 | |
v0 -= v5 | |
v0 := v5 | |
if vF == 0 then save v0 | |
loop | |
again | |
: Sub4 | |
vE += 1 | |
return | |
: Sub5 | |
i := D8 | |
: L14 | |
vC := random 0b1111100 | |
vC += 2 | |
vD := random 0b111100 | |
vD += 2 | |
sprite vC vD 7 | |
if vF == 0 then return | |
: Sub6 | |
i := D8 | |
sprite vC vD 7 | |
jump L14 | |
: D4 | |
0x4 0x0 0x0 0xfc 0xfc 0x0 0x0 0x4 | |
: D5 | |
0xe0 0xe0 | |
: D6 | |
0xe0 0xa0 0xe0 | |
: D7 | |
0x0 0x40 | |
: D8 | |
0x38 0x7c 0xde 0xfe 0xfe 0x7c 0x38 | |
: D9 | |
0xf0 | |
: D10 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D11 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D12 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/SuperWorm V4 [RB-Revival Studios, 2007].ch8 | |
###################################################################### | |
:proto L1 # 25A | |
:proto Sub2 # 31C | |
:proto Sub3 # 31E | |
:proto L9 # 336 | |
:proto L10 # 34C | |
:proto Sub4 # 368 | |
:proto Sub5 # 36C | |
:proto Sub6 # 37C | |
:proto D4 # 382 | |
:proto D5 # 38A | |
:proto D6 # 38C | |
:proto D7 # 38F | |
:proto D8 # 391 | |
:proto D9 # 398 | |
:proto D10 # 399 | |
:proto D11 # 3A2 | |
:proto D12 # 4A2 | |
: main | |
jump L1 | |
: D1 | |
0x53 0x75 0x70 0x65 0x72 0x77 0x6f 0x72 0x6d 0x20 0x76 0x2e 0x34 0x2c 0x20 0x62 0x79 0x3a 0x20 0x52 0x42 0x2c 0x20 0x55 0x70 0x64 0x61 0x74 0x65 0x64 0x20 0x62 0x79 0x3a 0x20 0x4d 0x61 0x72 0x74 0x69 0x6a 0x6e 0x20 0x57 0x65 0x6e 0x74 0x69 0x6e 0x67 0x20 0x2f 0x20 0x52 0x65 0x76 0x69 0x76 0x61 0x6c 0x20 0x53 0x74 0x75 0x64 0x69 0x6f 0x73 | |
: D2 | |
0x0 0x52 0x42 0x39 0x32 | |
: D3 | |
0x0 0x0 0x0 0x3e 0x5 0x0 0x2b 0x7c 0x0 0x0 0x6 0x1e 0x1 0x0 0x4 | |
: L1 | |
hires | |
clear | |
i := D3 | |
load vE | |
i := D11 | |
loop | |
save v0 | |
i += vC | |
v1 += 1 | |
if v1 != 0 then | |
again | |
i := D5 | |
sprite vA vB 3 | |
loop | |
sprite v4 v2 1 | |
sprite v4 v3 1 | |
v4 += 3 | |
if v4 != 122 then | |
again | |
i := D10 | |
v3 := 4 | |
loop | |
sprite v3 v2 9 | |
sprite v4 v2 9 | |
v2 += 9 | |
if v2 != 63 then | |
again | |
i := D2 | |
load v0 | |
i := D1 | |
bcd v0 | |
v3 := 46 | |
Sub3 | |
i := D1 | |
bcd v5 | |
Sub2 | |
Sub5 | |
loop | |
i := D9 | |
sprite v7 v6 1 | |
v6 += -2 | |
if v6 != 17 then | |
again | |
: L6 | |
v3 := 32 | |
delay := v3 | |
i := D11 | |
i += v8 | |
load v0 | |
v4 := v0 | |
v0 := vA | |
save v0 | |
i := D12 | |
i += v8 | |
load v0 | |
v1 := v0 | |
v0 := vB | |
save v0 | |
i := D6 | |
if v4 != 0 then sprite v4 v1 3 | |
i := D4 | |
i += v9 | |
load v1 | |
i := D7 | |
sprite vA vB 2 | |
vA += v0 | |
vB += v1 | |
i := D5 | |
sprite vA vB 3 | |
if vF != 0 then jump L9 | |
v0 := random 0b1111 | |
if v0 == 0 then Sub4 | |
: L7 | |
v8 += 1 | |
if v8 == vE then v8 := 0 | |
v3 := 32 | |
delay := v3 | |
loop | |
v6 := -1 | |
v1 := 6 | |
if v1 key then v6 := 0 | |
v1 := 2 | |
if v1 key then v6 := 2 | |
v1 := 4 | |
if v1 key then v6 := 4 | |
v1 := 8 | |
if v1 key then v6 := 6 | |
if v6 != -1 then v9 := v6 | |
v3 := delay | |
if v3 != 0 then | |
again | |
jump L6 | |
: Sub1 | |
Sub2 | |
i := D1 | |
bcd v5 | |
: Sub2 | |
v3 := 0 | |
: Sub3 | |
v4 := 124 | |
i := D1 | |
load v2 | |
i := hex v0 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v1 | |
sprite v4 v3 5 | |
v3 += 6 | |
i := hex v2 | |
sprite v4 v3 5 | |
return | |
: L9 | |
Sub6 | |
i := D5 | |
sprite vA vB 3 | |
sprite vA vB 3 | |
if vF != 0 then jump L10 | |
v4 := 2 | |
buzzer := v4 | |
v5 += 1 | |
Sub1 | |
jump L7 | |
: L10 | |
v4 := 10 | |
buzzer := v4 | |
sprite vA vB 3 | |
vA -= v0 | |
vB -= v1 | |
i := D7 | |
sprite vA vB 2 | |
i := D2 | |
load v0 | |
v0 -= v5 | |
v0 := v5 | |
if vF == 0 then save v0 | |
loop | |
again | |
: Sub4 | |
vE += 1 | |
return | |
: Sub5 | |
i := D8 | |
: L12 | |
vC := random 0b1111100 | |
vC += 2 | |
vD := random 0b111100 | |
vD += 2 | |
sprite vC vD 7 | |
if vF == 0 then return | |
: Sub6 | |
i := D8 | |
sprite vC vD 7 | |
jump L12 | |
: D4 | |
0x4 0x0 0x0 0xfc 0xfc 0x0 0x0 0x4 | |
: D5 | |
0xe0 0xe0 | |
: D6 | |
0xe0 0xa0 0xe0 | |
: D7 | |
0x0 0x40 | |
: D8 | |
0x38 0x7c 0xde 0xfe 0xfe 0x7c 0x38 | |
: D9 | |
0xf0 | |
: D10 | |
0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 0x80 | |
: D11 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D12 | |
###################################################################### | |
# INPUT: chip8/SuperChip Games/U-Boat [Michael Kemper, 1994].ch8 | |
###################################################################### | |
:proto L1 # 26E | |
:proto L5 # 294 | |
:proto Sub1 # 298 | |
:proto Sub2 # 2E6 | |
:proto Sub3 # 2FA | |
:proto L11 # 324 | |
:proto Sub4 # 328 | |
:proto L15 # 39A | |
:proto Sub7 # 3A2 | |
:proto L17 # 3C4 | |
:proto Sub8 # 3CE | |
:proto Sub9 # 442 | |
:proto L21 # 460 | |
:proto Sub10 # 464 | |
:proto Sub11 # 478 | |
:proto Sub12 # 4DC | |
:proto Sub13 # 4E8 | |
:proto Sub14 # 4F4 | |
:proto Sub15 # 510 | |
:proto Sub16 # 51E | |
:proto Sub17 # 558 | |
:proto Sub18 # 586 | |
:proto Sub19 # 59A | |
:proto Sub20 # 5AE | |
:proto Sub21 # 5C0 | |
:proto Sub22 # 5DE | |
:proto Sub23 # 5E6 | |
:proto Sub24 # 604 | |
:proto L29 # 60C | |
:proto L31 # 63C | |
:proto L32 # 642 | |
:proto Sub25 # 644 | |
:proto Sub26 # 658 | |
:proto L34 # 674 | |
:proto Sub27 # 68E | |
:proto Sub28 # 6B6 | |
:proto L37 # 6C8 | |
:proto Sub29 # 6FA | |
:proto Sub30 # 732 | |
:proto Sub31 # 738 | |
:proto Sub32 # 740 | |
:proto Sub33 # 754 | |
:proto Sub34 # 774 | |
:proto Sub35 # 79E | |
:proto Sub36 # 7B8 | |
:proto Sub37 # 7D2 | |
:proto Sub38 # 7DE | |
:proto Sub39 # 7EA | |
:proto Sub40 # 7F6 | |
:proto D8 # 802 | |
:proto D9 # 806 | |
:proto D10 # 80A | |
:proto D11 # 80C | |
:proto D12 # 80E | |
:proto D13 # 814 | |
:proto D14 # 834 | |
:proto D15 # 854 | |
:proto D16 # 874 | |
:proto D17 # 974 | |
:proto D18 # 97A | |
:proto D19 # 980 | |
:proto D20 # 984 | |
:proto D21 # 988 | |
:proto D22 # 98C | |
:proto D23 # 992 | |
:proto D24 # 998 | |
:proto D25 # 99E | |
:proto D26 # 9A4 | |
:proto D27 # 9A6 | |
:proto D28 # 9A8 | |
:proto D29 # 9AA | |
:proto D30 # 9AE | |
:proto D31 # 9B2 | |
:proto D32 # 9B6 | |
:proto D33 # 9B8 | |
:proto D34 # 9BC | |
: main | |
jump L1 | |
0x3c 0x55 0x2d 0x42 0x4f 0x41 0x54 0x20 0x56 0x31 0x2e 0x30 0x3e 0x0 | |
: D1 | |
0x53 0x43 0x4f 0x52 0x45 0x0 | |
: D2 | |
0x48 0x49 0x47 0x48 0x0 | |
: D3 | |
0x47 0x41 0x4d 0x45 0x5b 0x4f 0x56 0x45 0x52 0x0 | |
: D4 | |
0x50 0x52 0x45 0x53 0x53 0x5b 0x5e 0x5b 0x50 0x4c 0x41 0x59 0x5c 0x5b 0x5f 0x5b 0x45 0x58 0x49 0x54 0x0 | |
: D5 | |
0x5b 0x43 0x4f 0x50 0x59 0x52 0x49 0x47 0x48 0x54 0x5b 0x5e 0x5d 0x5d 0x60 0x0 | |
: D6 | |
0x5b 0x4d 0x49 0x43 0x48 0x41 0x45 0x4c 0x5b 0x4b 0x45 0x4d 0x50 0x45 0x52 0x0 | |
: D7 | |
0x44 0x52 0x4f 0x50 0x53 0x5b 0x5b 0x48 0x49 0x54 0x53 0x5b 0x5b 0x5b 0x5b 0x5b 0x50 0x43 0x54 0x0 | |
: L1 | |
hires | |
Sub1 | |
Sub13 | |
: L2 | |
Sub3 | |
v1 := 11 | |
v2 := 49 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D4 | |
Sub9 | |
if v5 == 0 then | |
again | |
loop | |
v0 := 8 | |
if v0 key then jump L5 | |
v0 := 7 | |
if v0 key then jump L2 | |
again | |
: L5 | |
lores | |
exit | |
: Sub1 | |
clear | |
v1 := 0 | |
: L6 | |
i := D34 | |
i += v1 | |
load v0 | |
v3 := v0 | |
v4 := 1 | |
v5 := 0 | |
loop | |
v0 := v3 | |
v0 &= v4 | |
if v0 != 0 then Sub2 | |
v4 <<= v0 | |
v5 += 1 | |
if v5 != 8 then | |
again | |
v1 += 1 | |
if v1 != 35 then jump L6 | |
v1 := 16 | |
v2 := 32 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D5 | |
Sub9 | |
if v5 == 0 then | |
again | |
v1 := 16 | |
v2 := 41 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D6 | |
Sub9 | |
if v5 == 0 then | |
again | |
Sub40 | |
Sub40 | |
Sub40 | |
return | |
: Sub2 | |
i := D11 | |
v6 := v1 | |
v6 += v1 | |
v6 += v1 | |
v6 += 16 | |
v7 := v5 | |
v7 += v5 | |
v7 += v5 | |
sprite v6 v7 2 | |
return | |
: Sub3 | |
clear | |
vA := 0 | |
vB := 1 | |
vE := 0 | |
i := D32 | |
v0 := 48 | |
save v0 | |
v8 := 15 | |
v9 := 0 | |
Sub20 | |
Sub21 | |
loop | |
Sub23 | |
Sub19 | |
Sub16 | |
Sub25 | |
Sub14 | |
if v9 != 0 then jump L11 | |
v0 := 12 | |
if v0 -key then | |
again | |
: L11 | |
Sub4 | |
return | |
: Sub4 | |
Sub10 | |
Sub40 | |
Sub13 | |
Sub7 | |
Sub8 | |
return | |
: Sub5 | |
v3 := 0 | |
loop | |
i := D33 | |
i += v3 | |
load v0 | |
i := hex v0 | |
sprite v1 v2 5 | |
v1 += 5 | |
v3 += 1 | |
if v3 != 3 then | |
again | |
return | |
: Sub6 | |
v0 := 0 | |
i := D28 | |
save v0 | |
i := D27 | |
load v0 | |
if v0 == 0 then return | |
i := D26 | |
load v0 | |
if v0 == 0 then return | |
i := D27 | |
load v1 | |
v5 := 0 | |
v2 := 0 | |
v3 := 0 | |
loop | |
v4 := 0 | |
v2 += v0 | |
if vF != 0 then v4 := 1 | |
v3 += v1 | |
v3 += v4 | |
v5 += 1 | |
if v5 != 100 then | |
again | |
i := D26 | |
load v1 | |
v5 := 0 | |
loop | |
v4 := 1 | |
v2 -= v0 | |
if vF != 0 then v4 := 0 | |
v3 -= v1 | |
if vF == 0 then jump L15 | |
v3 -= v4 | |
if vF == 0 then jump L15 | |
v5 += 1 | |
again | |
: L15 | |
v0 := v5 | |
i := D28 | |
save v0 | |
return | |
: Sub7 | |
v2 := 0 | |
loop | |
i := D18 | |
i += v2 | |
load v0 | |
v1 := v0 | |
i := D17 | |
i += v2 | |
load v0 | |
v0 -= v1 | |
if vF == 0 then jump L17 | |
if v0 != 0 then return | |
v2 += 1 | |
if v2 != 5 then | |
again | |
return | |
: L17 | |
i := D18 | |
load v4 | |
i := D17 | |
save v4 | |
return | |
: Sub8 | |
v1 := 1 | |
v2 := 1 | |
v3 := 27 | |
v4 := 13 | |
Sub11 | |
v1 := 32 | |
v2 := 12 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D1 | |
Sub9 | |
if v5 == 0 then | |
again | |
v1 := 68 | |
v2 := 13 | |
Sub35 | |
v1 := 37 | |
v2 := 20 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D2 | |
Sub9 | |
if v5 == 0 then | |
again | |
v1 := 68 | |
v2 := 21 | |
Sub36 | |
v1 := 11 | |
v2 := 32 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D7 | |
Sub9 | |
if v5 == 0 then | |
again | |
i := D26 | |
load v0 | |
i := D33 | |
bcd v0 | |
v1 := 16 | |
v2 := 41 | |
Sub5 | |
i := D27 | |
load v0 | |
i := D33 | |
bcd v0 | |
v1 := 50 | |
v2 := 41 | |
Sub5 | |
Sub6 | |
i := D28 | |
load v0 | |
i := D33 | |
bcd v0 | |
v1 := 96 | |
v2 := 41 | |
Sub5 | |
return | |
: Sub9 | |
i += v3 | |
load v0 | |
if v0 == 0 then jump L21 | |
v4 := 65 | |
v0 -= v4 | |
v0 <<= v0 | |
v0 <<= v0 | |
v0 <<= v0 | |
i := D16 | |
i += v0 | |
sprite v1 v2 7 | |
v1 += 5 | |
v3 += 1 | |
return | |
: L21 | |
v5 := -1 | |
return | |
: Sub10 | |
v1 := 38 | |
v2 := 0 | |
v3 := 0 | |
v5 := 0 | |
loop | |
i := D3 | |
Sub39 | |
Sub9 | |
if v5 == 0 then | |
again | |
return | |
: Sub11 | |
v5 := v1 | |
v5 += v3 | |
v6 := v2 | |
v6 += v4 | |
i := D29 | |
vC := v1 | |
vD := v2 | |
Sub12 | |
i := D30 | |
vC := v5 | |
vD := v2 | |
Sub12 | |
i := D31 | |
vC := v1 | |
vD := v6 | |
Sub12 | |
i := D29 | |
vC := v5 | |
vD := v6 | |
Sub12 | |
v7 := 1 | |
v4 -= v7 | |
loop | |
i := D31 | |
vC := v1 | |
vD := v4 | |
vD += v2 | |
Sub12 | |
i := D30 | |
vC := v5 | |
vD := v4 | |
vD += v2 | |
Sub12 | |
v4 -= v7 | |
if v4 != 0 then | |
again | |
v3 -= v7 | |
loop | |
i := D30 | |
vC := v3 | |
vC += v1 | |
vD := v2 | |
Sub12 | |
i := D31 | |
vC := v3 | |
vC += v1 | |
vD := v6 | |
Sub12 | |
v3 -= v7 | |
if v3 != 0 then | |
again | |
return | |
: Sub12 | |
vC <<= v0 | |
vC <<= v0 | |
vD <<= v0 | |
vD <<= v0 | |
sprite vC vD 4 | |
return | |
: Sub13 | |
v3 := 0 | |
loop | |
v3 += 1 | |
scroll-down 1 | |
Sub37 | |
if v3 != 64 then | |
again | |
: Sub14 | |
v1 := 1 | |
v8 -= v1 | |
if v8 != 0 then return | |
v8 := 15 | |
i := D32 | |
load v0 | |
v0 -= v1 | |
save v0 | |
if v0 == 0 then v9 := -1 | |
if v0 == 12 then Sub15 | |
return | |
: Sub15 | |
v0 := 16 | |
buzzer := v0 | |
v0 := 26 | |
v1 := 0 | |
i := D12 | |
sprite v0 v1 5 | |
return | |
: Sub16 | |
vC := 0 | |
loop | |
i := D25 | |
i += vC | |
load v0 | |
if v0 == 0 then Sub17 | |
v2 := vC | |
Sub18 | |
i := D22 | |
i += vC | |
load v0 | |
v1 := v0 | |
i := D24 | |
i += vC | |
load v0 | |
v0 =- v1 | |
if v0 == 1 then v0 := 122 | |
if v0 == 0 then v0 := 122 | |
i := D22 | |
i += vC | |
save v0 | |
v2 := vC | |
Sub18 | |
vC += 1 | |
if vC != 6 then | |
again | |
return | |
: Sub17 | |
v0 := random 0b101111 | |
v1 := 13 | |
v0 += v1 | |
i := D23 | |
i += vC | |
save v0 | |
i := D22 | |
i += vC | |
v0 := random 0b1111010 | |
save v0 | |
i := D25 | |
i += vC | |
v0 := -1 | |
save v0 | |
i := D24 | |
i += vC | |
v0 := random 0b11 | |
if v0 == 3 then v0 := 1 | |
save v0 | |
v2 := vC | |
Sub18 | |
return | |
: Sub18 | |
i := D22 | |
i += v2 | |
load v0 | |
v1 := v0 | |
i := D23 | |
i += v2 | |
load v0 | |
i := D9 | |
sprite v1 v0 4 | |
return | |
: Sub19 | |
v0 := 6 | |
i := D8 | |
sprite vA v0 4 | |
vA += vB | |
if vA == 126 then vA := 0 | |
if vA == 127 then vA := 0 | |
sprite vA v0 4 | |
return | |
: Sub20 | |
v1 := 0 | |
v0 := 0 | |
loop | |
i := D18 | |
i += v1 | |
save v0 | |
v1 += 1 | |
if v1 != 46 then | |
again | |
return | |
: Sub21 | |
Sub22 | |
v1 := 0 | |
v2 := 0 | |
Sub35 | |
v1 := 104 | |
v2 := 0 | |
Sub36 | |
i := D10 | |
v1 := 10 | |
v0 := 0 | |
loop | |
sprite v0 v1 2 | |
v0 += 8 | |
if v0 != 128 then | |
again | |
return | |
: Sub22 | |
v0 := 6 | |
i := D8 | |
sprite vA v0 4 | |
return | |
: Sub23 | |
v0 := 14 | |
if v0 -key then vE := 0 | |
if vE == 0 then Sub24 | |
v0 := 7 | |
if v0 key then vB := 0 | |
v0 := 8 | |
if v0 key then vB := 1 | |
v0 := 9 | |
if v0 key then vB := 2 | |
return | |
: Sub24 | |
v0 := 14 | |
if v0 key then jump L29 | |
return | |
: L29 | |
vE := -1 | |
v3 := 0 | |
loop | |
i := D21 | |
i += v3 | |
load v0 | |
if v0 != 0 then jump L31 | |
v0 := -1 | |
save v0 | |
i := D19 | |
i += v3 | |
v0 := vA | |
save v0 | |
i := D20 | |
i += v3 | |
v0 := 11 | |
save v0 | |
i := D26 | |
load v0 | |
v0 += 1 | |
save v0 | |
v2 := v3 | |
Sub32 | |
jump L32 | |
: L31 | |
v3 += 1 | |
if v3 != 4 then | |
again | |
: L32 | |
return | |
: Sub25 | |
vC := 0 | |
loop | |
i := D21 | |
i += vC | |
load v0 | |
if v0 != 0 then Sub26 | |
vC += 1 | |
if vC != 4 then | |
again | |
return | |
: Sub26 | |
v2 := vC | |
Sub32 | |
i := D20 | |
i += vC | |
load v0 | |
v0 += 1 | |
save v0 | |
if v0 != 62 then jump L34 | |
v0 := 0 | |
i := D21 | |
i += vC | |
save v0 | |
return | |
: L34 | |
v2 := vC | |
Sub32 | |
if vF == 0 then return | |
Sub32 | |
v0 := 0 | |
i := D21 | |
i += vC | |
save v0 | |
Sub27 | |
v5 := vD | |
Sub33 | |
return | |
: Sub27 | |
v7 := 0 | |
loop | |
v2 := v7 | |
i := D25 | |
i += v7 | |
load v0 | |
if v0 != 0 then Sub18 | |
v7 += 1 | |
if v7 != 6 then | |
again | |
v7 := 0 | |
loop | |
i := D25 | |
i += v7 | |
load v0 | |
if v0 != 0 then Sub28 | |
v7 += 1 | |
if v7 != 6 then | |
again | |
return | |
: Sub28 | |
v2 := v7 | |
Sub18 | |
v2 := vC | |
Sub32 | |
if vF != 0 then jump L37 | |
v2 := vC | |
Sub32 | |
return | |
: L37 | |
i := D27 | |
load v0 | |
v0 += 1 | |
save v0 | |
i := D23 | |
i += v7 | |
load v0 | |
vD := v0 | |
i := D24 | |
i += v7 | |
load v0 | |
if v0 == 1 then Sub30 | |
if v0 == 2 then Sub31 | |
v2 := v7 | |
Sub18 | |
v2 := vC | |
Sub32 | |
Sub29 | |
i := D25 | |
i += v7 | |
v0 := 0 | |
save v0 | |
return | |
: Sub29 | |
i := D22 | |
i += v7 | |
load v0 | |
v5 := v0 | |
v0 := 4 | |
v5 -= v0 | |
i := D23 | |
i += v7 | |
load v0 | |
v6 := v0 | |
v0 := 5 | |
v6 -= v0 | |
v0 := 2 | |
buzzer := v0 | |
i := D13 | |
sprite v5 v6 0 | |
Sub38 | |
v0 := 1 | |
buzzer := v0 | |
i := D14 | |
sprite v5 v6 0 | |
Sub38 | |
v0 := 2 | |
buzzer := v0 | |
i := D15 | |
sprite v5 v6 0 | |
Sub38 | |
return | |
: Sub30 | |
v0 := vD | |
vD += v0 | |
return | |
: Sub31 | |
v0 := vD | |
vD += v0 | |
vD += v0 | |
return | |
: Sub32 | |
i := D19 | |
i += v2 | |
load v0 | |
v1 := v0 | |
i := D20 | |
i += v2 | |
load v0 | |
i := D11 | |
sprite v1 v0 2 | |
return | |
: Sub33 | |
v1 := 0 | |
v2 := 0 | |
Sub35 | |
i := D18 | |
load v4 | |
vD := 1 | |
loop | |
Sub34 | |
v5 -= vD | |
if v5 != 0 then | |
again | |
i := D18 | |
save v4 | |
v1 := 0 | |
v2 := 0 | |
Sub35 | |
return | |
: Sub34 | |
v4 += 1 | |
if v4 != 10 then return | |
v4 := 0 | |
v3 += 1 | |
if v3 != 10 then return | |
v3 := 0 | |
v2 += 1 | |
if v2 != 10 then return | |
v2 := 0 | |
v1 += 1 | |
if v1 != 10 then return | |
v1 := 0 | |
v0 += 1 | |
if v0 != 10 then return | |
v0 := 0 | |
return | |
: Sub35 | |
v3 := 0 | |
loop | |
i := D18 | |
i += v3 | |
load v0 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 := 4 | |
i += v0 | |
v1 += 5 | |
v3 += 1 | |
if v3 != 5 then | |
again | |
return | |
: Sub36 | |
v3 := 0 | |
loop | |
i := D17 | |
i += v3 | |
load v0 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 := 4 | |
i += v0 | |
v1 += 5 | |
v3 += 1 | |
if v3 != 5 then | |
again | |
return | |
: Sub37 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub38 | |
v0 := 4 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub39 | |
v0 := 8 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: Sub40 | |
v0 := 64 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
return | |
: D8 | |
0x4 0x1c 0xff 0xfe | |
: D9 | |
0x0 0x30 0xfd 0xfe | |
: D10 | |
0xff 0x0 | |
: D11 | |
0xc0 0xc0 | |
: D12 | |
0x3f 0x12 0xc 0x1e 0x3f 0x0 | |
: D13 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x80 0x1 0x80 0xf 0xf0 0xf 0xf0 0x1 0x80 0x1 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D14 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x40 0x3 0xc0 0x1f 0xf8 0xf 0xf0 0xf 0xf0 0x1f 0xf8 0x3 0xc0 0x2 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D15 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x2 0x40 0x2 0x40 0x1e 0x78 0x0 0x0 0x0 0x0 0x1e 0x78 0x2 0x40 0x2 0x40 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D16 | |
0x6 0x9 0x9 0xf 0x9 0x9 0x9 0x0 0xe 0x9 0x9 0xe 0x9 0x9 0xe 0x0 0x6 0x9 0x8 0x8 0x8 0x9 0x6 0x0 0xe 0x9 0x9 0x9 0x9 0x9 0xe 0x0 0xf 0x8 0x8 0xe 0x8 0x8 0xf 0x0 0xf 0x8 0x8 0xe 0x8 0x8 0x8 0x0 0x6 0x9 0x8 0xb 0x9 0x9 0x7 0x0 0x9 0x9 0x9 0xf 0x9 0x9 0x9 0x0 0x7 0x2 0x2 0x2 0x2 0x2 0x7 0x0 0x7 0x1 0x1 0x1 0x1 0x9 0x6 0x0 0x9 0x9 0xa 0xc 0xa 0x9 0x9 0x0 0x8 0x8 0x8 0x8 0x8 0x8 0xf 0x0 0x9 0xf 0xf 0x9 0x9 0x9 0x9 0x0 0x9 0xd 0xd 0xb 0xb 0x9 0x9 0x0 0x6 0x9 0x9 0x9 0x9 0x9 0x6 0x0 0xe 0x9 0x9 0xe 0x8 0x8 0x8 0x0 0x6 0x9 0x9 0x9 0x9 0xb 0x6 0x0 0xe 0x9 0x9 0xe 0x9 0x9 0x9 0x0 0x6 0x9 0x8 0x6 0x1 0x9 0x6 0x0 0xe 0x4 0x4 0x4 0x4 0x4 0x4 0x0 0x9 0x9 0x9 0x9 0x9 0x9 0x6 0x0 0x9 0x9 0x9 0x9 0xa 0xc 0x8 0x0 0x9 0x9 0x9 0x9 0xf 0xf 0x9 0x0 0x9 0x9 0x9 0x6 0x9 0x9 0x9 0x0 0x9 0x9 0x9 0x7 0x1 0x1 0xe 0x0 0xf 0x1 0x2 0x4 0x8 0x8 0xf 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x6 0x2 0x4 0x0 0x6 0x9 0x9 0x7 0x1 0x9 0x6 0x0 0x2 0x6 0x2 0x2 0x2 0x2 0x7 0x0 0x6 0x9 0x1 0x2 0x4 0x8 0xf 0x0 0x1 0x3 0x5 0x9 0xf 0x1 0x1 0x0 | |
: D17 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D18 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D19 | |
0x0 0x0 0x0 0x0 | |
: D20 | |
0x0 0x0 0x0 0x0 | |
: D21 | |
0x0 0x0 0x0 0x0 | |
: D22 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D23 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D24 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D25 | |
0x0 0x0 0x0 0x0 0x0 0x0 | |
: D26 | |
0x0 0x0 | |
: D27 | |
0x0 0x0 | |
: D28 | |
0x0 0x0 | |
: D29 | |
0xa 0xd 0xe 0xf | |
: D30 | |
0xa 0x5 0xa 0x5 | |
: D31 | |
0xf 0xf 0xf 0xf | |
: D32 | |
0x0 0x0 | |
: D33 | |
0x0 0x0 0x0 0x0 | |
: D34 | |
0x7e 0x80 0x80 0x80 0x80 0x7e 0x0 0x10 0x10 0x10 0x10 0x0 0xfe 0x92 0x92 0x92 0x6c 0x0 0x7c 0x82 0x82 0x82 0x7c 0x0 0xf8 0x24 0x22 0x24 0xf8 0x0 0x2 0x2 0xfe 0x2 0x2 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/BMP Viewer (16x16 tiles) (MAME) [IQ_132].ch8 | |
###################################################################### | |
:proto D1 # 220 | |
: main | |
hires | |
v0 := 0 | |
v2 := 32 | |
i := D1 | |
: L1 | |
v1 := 0 | |
loop | |
sprite v1 v0 0 | |
v1 += 16 | |
i += v2 | |
if v1 != 128 then | |
again | |
if v0 == 48 then loop | |
again | |
v0 += 16 | |
jump L1 | |
0x0 0x0 0x0 0x0 | |
: D1 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfe 0xff 0xfc 0xff 0xf8 0xff 0xf0 0xff 0xe0 0xff 0xc0 0xff 0xbf 0xff 0x3f 0xfe 0x3f 0xfc 0x3f 0xf8 0x3f 0xf0 0x3f 0xe0 0x3f 0xc0 0x3e 0x80 0x3c 0x0 0x38 0x0 0x30 0x0 0x20 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x0 0xfd 0xff 0xf9 0xff 0xf1 0xff 0xe1 0xff 0xc1 0xff 0x81 0xff 0x1 0xff 0x1 0xff 0x1 0xff 0x1 0xff 0x1 0xfe 0x1 0xfc 0x1 0xf8 0x1 0xf0 0x1 0xe0 0x1 0xc0 0xff 0xbf 0xff 0x3f 0xfe 0x3f 0xfc 0x3f 0xf8 0x3f 0xf0 0x3f 0xe0 0x3f 0xc0 0x3f 0x80 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3e 0xff 0xfd 0xff 0xf9 0xff 0xf1 0xff 0xe1 0xff 0xc1 0xff 0x81 0xff 0x1 0xfe 0x1 0xfc 0x1 0xf8 0x1 0xf0 0x0 0xe0 0x0 0xc0 0x0 0x80 0x0 0x0 0x0 0x0 0x0 0xff 0xbf 0xff 0x3f 0xfe 0x3f 0xfc 0x3f 0xf8 0x3f 0xf0 0x3f 0xe0 0x3f 0xc0 0x3f 0x80 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3f 0x0 0x3e 0x0 0x3c 0x0 0x38 0xff 0xf0 0xff 0xe0 0xff 0xc0 0xff 0x80 0xff 0x0 0xfe 0x0 0xfc 0x0 0xf8 0x0 0xf0 0x1 0xe0 0x0 0xc0 0x0 0x80 0x0 0x0 0x0 0x0 0x1 0x0 0x3 0x0 0x7 0x0 0x0 0x0 0x1 0x0 0x3 0x0 0x7 0x0 0xf 0x0 0x1f 0x7f 0xff 0xff 0xff 0xff 0xff 0x1f 0xff 0x3f 0xff 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x80 0xff 0x0 0xfe 0x0 0xfc 0x0 0xf8 0x0 0xf0 0x1 0xe0 0x3 0xc0 0x7 0x80 0xf 0x0 0xf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xc 0x0 0x1c 0x1 0x3c 0x3 0x7c 0x7 0xfc 0xf 0xfc 0x1f 0xfc 0x3f 0xfc 0x7f 0xfc 0xff 0xfd 0xff 0xff 0xfe 0xff 0xfc 0xff 0xf8 0xff 0xf0 0xff 0xe0 0xff 0xc0 0x1 0x80 0x1 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0x0 0x3 0x0 0x7 0x0 0xf 0x0 0x1f 0x0 0x3f 0x0 0x7f 0x0 0xff 0x1 0xff 0x3 0xff 0x7 0xff 0xf 0xff 0x0 0x3c 0x20 0x38 0x60 0x30 0xe0 0x20 0xe0 0x0 0xe0 0x0 0xe0 0x0 0xe0 0x0 0xe0 0x0 0xe0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x40 0x0 0xc0 0x1 0xc0 0x3 0xc0 0x7 0xc0 0xf 0xc1 0x1f 0xc3 0x3f 0xc7 0x7f 0xcf 0xff 0xdf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x30 0x0 0x20 0x10 0x0 0x30 0x0 0x70 0x0 0xf0 0x0 0xf0 0x0 0xf0 0x0 0xf0 0x0 0xf0 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1 0xff 0x3 0xff 0x7 0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x7 0xff 0xf 0xff 0x1f 0xff 0x3f 0xff 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x80 0xff 0x0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x1f 0xff 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/BMP Viewer - Flip-8 logo [Newsdee, 2006].ch8 | |
###################################################################### | |
:proto Sub1 # 226 | |
:proto D2 # 230 | |
: main | |
0x0 : D1 0xff # SMC: hires | |
clear | |
i := D1 | |
load v0 | |
i := D2 | |
v1 := 64 | |
if v0 != -1 then v1 >>= v0 | |
v0 := v1 | |
v0 <<= v0 | |
v2 := 0 | |
v3 := 1 | |
v1 += -1 | |
loop | |
sprite v2 v1 1 | |
v2 += 8 | |
if v2 == v0 then Sub1 | |
i += v3 | |
again | |
: Sub1 | |
v1 += -1 | |
v2 := 0 | |
if v1 == -1 then loop | |
again | |
return | |
: D2 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0xbd 0x8c 0xe6 0x67 0xc 0x4d 0xe7 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0xb1 0xdd 0x16 0x68 0xb2 0x4d 0x10 0x60 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x9 0xb1 0xdd 0x17 0x68 0xb2 0x5d 0x10 0x60 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xb 0xb1 0xad 0x37 0x88 0xb2 0x5d 0x10 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xc 0xb9 0x8d 0x6 0x68 0xb2 0x6d 0x11 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0xb1 0x8d 0x16 0x68 0xb2 0x4d 0x16 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0xbd 0x8c 0xe7 0x87 0x32 0x4d 0xe1 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x8 0xbc 0x80 0x87 0x7 0x32 0x4d 0xc0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x4 0x9c 0xe7 0x44 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x5 0xa1 0x29 0x28 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7 0x31 0x29 0x10 0x0 0x0 0x10 0x0 0xf1 0xfc 0x0 0x1 0xf0 0x0 0x0 0x0 0x4 0xad 0x29 0x28 0x0 0x0 0x10 0x18 0xdc 0xfe 0x0 0x0 0xfc 0x0 0x0 0x0 0x4 0x9c 0xe9 0x44 0x0 0x0 0x0 0x30 0x1e 0x7f 0x0 0x0 0x3c 0x0 0x0 0x0 0x4 0x80 0x20 0x0 0x0 0x0 0x2 0x20 0x1b 0x3f 0x0 0x0 0x3e 0x1 0x0 0x0 0x7 0x0 0x20 0x0 0x0 0x0 0x2 0x41 0x3 0x9f 0x0 0x0 0x1e 0x1 0x80 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x12 0x41 0x2 0x1f 0xc0 0x0 0xc 0x3 0xe0 0x0 0x0 0x0 0x20 0x0 0x0 0x0 0x1f 0x41 0x0 0x4f 0xc0 0x0 0xf 0x3 0xe0 0x0 0x0 0x0 0x20 0x0 0x0 0x0 0x1f 0x22 0x10 0x87 0xa0 0x0 0xf 0x27 0xe0 0x0 0x0 0x84 0xb8 0x60 0x0 0x0 0x1f 0x1c 0x11 0x7 0xe0 0x0 0x6 0x3f 0xe0 0x0 0x80 0x84 0xa4 0x90 0x10 0x0 0x1f 0x88 0xc1 0x3 0xf0 0x0 0x7 0xbf 0xe0 0x0 0x80 0x84 0xa4 0x90 0x10 0x0 0x1f 0xc4 0x73 0x3 0xc0 0x0 0x7 0xbf 0xe0 0x0 0x80 0xf4 0xa4 0x60 0x10 0x0 0x1f 0xe3 0x1b 0x3 0xf0 0x0 0x7 0x3f 0xe0 0x0 0xc0 0x84 0xb8 0x90 0x30 0x0 0x1f 0xf0 0x89 0x3 0xf0 0x0 0x7 0xbf 0xe0 0x0 0xc0 0x84 0x0 0x90 0x30 0x0 0x1f 0xf8 0x41 0x3 0xe0 0x0 0x3 0x9f 0xe0 0x0 0xe0 0xf4 0x80 0x60 0x70 0x0 0x1f 0xfc 0x31 0x83 0xf7 0xff 0xc0 0x1f 0xe0 0x0 0x70 0x0 0x0 0x0 0xe0 0x0 0x1f 0xfe 0x18 0x63 0xf7 0xff 0xc1 0xef 0xe0 0x0 0x78 0x0 0x0 0x1 0xe0 0x0 0x1f 0xff 0xc 0xf0 0x3 0xff 0xc1 0xcf 0xe0 0x0 0x7c 0x0 0x0 0x3 0xe0 0x0 0x1f 0xff 0x87 0xe0 0xfb 0xff 0x81 0xcf 0xe0 0x0 0x3e 0x0 0x0 0x7 0xc0 0x0 0x1f 0xff 0x80 0x80 0xfb 0xff 0x3 0x9f 0xe0 0x0 0x3f 0x80 0x0 0x1f 0xc0 0x0 0x1f 0xff 0x80 0x1 0xf0 0x0 0x7 0xbf 0xe0 0x0 0x1f 0xe0 0x0 0x7f 0x80 0x0 0x1f 0xff 0x80 0x1 0xf0 0x0 0xe 0x7f 0xe0 0x0 0xf 0xfc 0x3 0xff 0x0 0x0 0x1f 0xff 0x80 0x3 0xe7 0xfe 0xe1 0xff 0xe0 0x0 0x7 0xff 0xff 0xfe 0x0 0x0 0x1f 0xff 0x80 0x7 0xc0 0x0 0xff 0xff 0xe0 0x0 0x3 0xff 0xff 0xfc 0x0 0x0 0x1f 0xff 0x80 0x20 0x1e 0x3d 0xff 0xff 0xe0 0x0 0x1 0xff 0xff 0xf8 0x0 0x0 0x1f 0xff 0xa0 0x2f 0x3c 0x1d 0xff 0xff 0xe0 0x0 0x0 0x7f 0xff 0xe0 0x0 0x0 0x1f 0xff 0xbc 0x2f 0x3d 0x1 0xff 0xff 0xe0 0x0 0x0 0x1f 0xff 0x80 0x0 0x0 0x1f 0xff 0xcf 0x2f 0x3c 0xc3 0xff 0xff 0xe0 0x0 0x0 0x3 0xfc 0x0 0x0 0x0 0x1f 0xff 0xe3 0xef 0x7e 0x30 0xff 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xf8 0xcf 0x1 0xc 0x3f 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xfc 0x1f 0xfe 0x67 0xf 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xf9 0xf 0xff 0xc9 0xc3 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xfd 0x40 0x0 0x3e 0x71 0xff 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xfc 0x81 0xff 0xff 0x9c 0x1f 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xfc 0x43 0xff 0xff 0xe4 0xe7 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xfe 0x3 0xff 0xff 0xf1 0xb9 0xe0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x1f 0xff 0xff 0xbf 0xff 0xff 0xfd 0x35 0xe6 0x33 0xe3 0x18 0xf0 0xf0 0xf9 0xf0 0x1f 0xff 0xff 0x27 0xff 0xff 0xfc 0xc5 0xe6 0x73 0xe3 0x1d 0xfc 0xf8 0xf9 0xf0 0x1f 0xff 0xfe 0x77 0xff 0xff 0xff 0x3d 0xe6 0xf3 0x3 0xbd 0xc 0xcc 0xc1 0x80 0x1f 0xff 0xff 0x77 0xff 0xff 0xff 0xc9 0xe6 0xb3 0xe7 0xb4 0x7c 0xcc 0xf9 0xf0 0x1f 0xff 0xff 0x8f 0xff 0xff 0xff 0xf7 0xe7 0x33 0xe6 0xf6 0xf8 0xcc 0xf9 0xf0 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xe7 0x33 0x6 0xe6 0xc0 0xd8 0xc1 0x80 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xe6 0x33 0xec 0x63 0x78 0xf8 0xf9 0xf0 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xe4 0x33 0xec 0x63 0x38 0xe0 0xf9 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/BMP Viewer (Google) [IQ_132].ch8 | |
###################################################################### | |
:proto L3 # 216 | |
:proto D1 # 220 | |
: main | |
hires | |
i := D1 | |
v7 := 1 | |
v8 := 63 | |
: L1 | |
v9 := 0 | |
loop | |
sprite v9 v8 1 | |
v9 += 8 | |
i += v7 | |
if v9 == 128 then jump L3 | |
again | |
: L3 | |
if v8 == 0 then loop | |
again | |
v8 -= v7 | |
jump L1 | |
0x0 0x0 | |
: D1 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0x1f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfc 0x3 0x7 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0x3f 0xf3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0x7f 0xf9 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0x7f 0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0xff 0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0xff 0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0xff 0xf8 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf8 0x7f 0xf0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xfc 0x3f 0xe0 0xff 0xff 0xff 0xff 0xff 0xfc 0x0 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xf 0xc1 0xff 0xff 0xff 0xff 0xff 0xc0 0x0 0x1f 0xff 0x87 0xff 0xff 0xf 0xff 0xe0 0x3 0xff 0xff 0xc0 0xff 0xff 0x80 0x7f 0x81 0xfc 0x0 0xff 0xf8 0x1 0xff 0xfe 0x7 0xe0 0x1f 0x0 0x3f 0xff 0x1 0xff 0xc1 0xf8 0x3e 0x3f 0xf0 0x78 0x7f 0xfc 0xf 0xe0 0x3e 0x0 0x1f 0xfe 0x7 0xff 0xc1 0xf0 0x7f 0x1f 0xe1 0xfe 0x3f 0xfc 0x1f 0xe1 0xfc 0xf 0x8f 0xfc 0xf 0xff 0xc1 0xe0 0xff 0x8f 0xc3 0xfe 0x1f 0xfc 0x3f 0xe1 0xf8 0x3f 0xff 0xf8 0x1f 0xff 0xc1 0xe1 0xff 0xcf 0xc3 0xff 0x1f 0xf0 0x3f 0xe1 0xf8 0x7f 0xff 0xf0 0x3f 0xff 0xc1 0xe1 0xff 0xc7 0x87 0xff 0xf 0xc0 0x1f 0xe1 0xf0 0x7f 0xff 0xf0 0x7f 0xff 0xc1 0xc1 0xff 0xc7 0x87 0xff 0xf 0x3 0x8f 0xe1 0xf0 0xff 0xff 0xe0 0x7f 0xf8 0x1 0xc3 0xff 0xc3 0x7 0xff 0x6 0xf 0xe3 0xe1 0xf0 0xff 0xff 0xe0 0xff 0xfe 0x0 0xc3 0xff 0xc3 0xf 0xff 0x6 0x1f 0xe3 0xe1 0xf1 0xff 0xff 0xe0 0xff 0xff 0xff 0xc3 0xff 0xc3 0xf 0xff 0x6 0x1f 0xe3 0xe1 0xf1 0xff 0xff 0xc0 0xff 0xff 0xff 0xc3 0xff 0xc3 0xf 0xff 0x6 0x1f 0xe1 0xe1 0xf0 0x1f 0xff 0xc1 0xff 0xff 0xff 0xc3 0xff 0x83 0xf 0xff 0x6 0x1f 0xe1 0xe1 0xf1 0xe3 0xff 0xc1 0xff 0xff 0xff 0xc3 0xff 0x87 0x8f 0xfe 0xe 0x3f 0xe3 0xe1 0xf1 0xf8 0xff 0xc1 0xff 0xff 0xff 0xe3 0xff 0x87 0x8f 0xfe 0xe 0x3f 0xc3 0xf1 0xf1 0xfe 0x1f 0xc1 0xff 0xff 0xff 0xe3 0xff 0xf 0xcf 0xfe 0x1f 0x1f 0xc3 0xf1 0xf9 0xff 0xf 0xe1 0xff 0xff 0xff 0xf3 0xfe 0xf 0xc7 0xfc 0x1f 0x1f 0x83 0xf1 0xf9 0xff 0x1f 0xe1 0xff 0xff 0xff 0xf8 0xfc 0x1f 0xf3 0xf8 0x7f 0xcf 0xf 0xf1 0xfc 0x7c 0x3f 0xe1 0xff 0xff 0xff 0xfe 0x30 0x3f 0xf8 0xe0 0xff 0xe0 0x1 0xf1 0xfe 0x38 0x7f 0xe0 0xff 0xff 0xff 0xff 0x81 0xff 0xfe 0x3 0xff 0xff 0xc0 0x71 0xff 0x80 0xff 0xf0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf1 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf1 0xff 0xff 0xff 0xf8 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf1 0xff 0xff 0xff 0xfc 0x7f 0xff 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf1 0xff 0xff 0xff 0xfe 0x3f 0xff 0xc7 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0x1f 0xff 0xc3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0x87 0xfe 0x7 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0xe1 0xf8 0xf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0xff 0xff 0xff 0xff 0xf8 0x0 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0x80 0xff 0xff 0xff 0xff 0xfe 0x3 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xc0 0x7f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/BMP Viewer - Kyori (SC example) [Hap, 2005].ch8 | |
###################################################################### | |
:proto Sub1 # 226 | |
:proto D2 # 230 | |
: main | |
0x0 : D1 0xff # SMC: hires | |
clear | |
i := D1 | |
load v0 | |
i := D2 | |
v1 := 64 | |
if v0 != -1 then v1 >>= v0 | |
v0 := v1 | |
v0 <<= v0 | |
v2 := 0 | |
v3 := 1 | |
v1 += -1 | |
loop | |
sprite v2 v1 1 | |
v2 += 8 | |
if v2 == v0 then Sub1 | |
i += v3 | |
again | |
: Sub1 | |
v1 += -1 | |
v2 := 0 | |
if v1 == -1 then loop | |
again | |
return | |
: D2 | |
0xff 0x7f 0x76 0x7f 0xf7 0xff 0xc0 0x7f 0xcf 0xff 0xfe 0xff 0xff 0xff 0xff 0xff 0xfe 0x7c 0xee 0x67 0xf5 0xff 0x80 0x28 0x9f 0xff 0xf2 0xff 0xff 0xff 0xff 0xff 0xfc 0xf9 0xec 0xef 0xe5 0xff 0x80 0x77 0x3f 0xff 0xff 0x7f 0xff 0xff 0xff 0xff 0xfc 0xf3 0xcc 0xdf 0xed 0xff 0x0 0x2a 0x7f 0xff 0xf5 0x7f 0xff 0xff 0xfa 0xfd 0xf9 0xc7 0x99 0xbf 0xc4 0xff 0x0 0x3c 0xff 0xff 0xf5 0x7f 0xff 0xff 0xfa 0x3d 0xf1 0x8f 0xb1 0x3f 0x96 0xff 0x0 0x19 0xff 0xff 0xe9 0xf 0xff 0xff 0xff 0xcf 0xf3 0x1f 0x33 0x6f 0x33 0xff 0x0 0x1b 0xff 0xff 0xfb 0xf7 0xff 0xff 0xff 0xe3 0xe2 0x3e 0x62 0xd6 0x40 0xff 0x0 0x1b 0xff 0xff 0xe7 0xf7 0xff 0xff 0xff 0xf8 0xe6 0xfe 0x46 0xb4 0x9e 0x3f 0x0 0xb 0xff 0xff 0xff 0xf7 0xff 0xfe 0x7f 0xfe 0xc0 0xfc 0xc5 0xad 0x3f 0xaf 0xc0 0xf 0xff 0xff 0xff 0xc7 0xff 0xff 0xc7 0x7f 0xc9 0x79 0x81 0xe9 0xff 0xff 0xf8 0xf 0xff 0xff 0xff 0xbf 0xff 0xff 0xfb 0x9f 0x81 0xf1 0x83 0x4b 0x1c 0xff 0xfc 0xf 0xff 0xff 0xff 0x78 0xff 0xff 0x5c 0xe3 0x81 0xe1 0x0 0x54 0x87 0xff 0xff 0xf 0xff 0xff 0xfe 0x73 0x3f 0xff 0x46 0x39 0x3 0xc3 0x2 0x81 0xf0 0x7 0x9f 0xe7 0xff 0xff 0xff 0xf7 0xff 0xff 0xf3 0xc 0x3 0xc0 0x1 0x63 0xff 0xff 0xdf 0xf7 0xff 0xff 0xf9 0x97 0xbf 0xff 0xf9 0x86 0x7 0x18 0x0 0xc3 0xff 0xff 0xef 0xff 0xfb 0xff 0xfb 0x7f 0xbf 0xff 0xfc 0xc2 0x7 0x10 0x1 0x8d 0xff 0xff 0xef 0xfb 0xf7 0xff 0xe1 0xff 0xbf 0xfd 0x7e 0x70 0x6 0x30 0x3 0x1b 0xff 0xff 0xe6 0xfb 0xef 0xbf 0xf7 0xff 0x80 0x7f 0x7e 0x38 0xe 0x20 0x7 0x22 0xff 0xff 0xf7 0x7b 0xdf 0xbf 0xff 0xfe 0xf 0x3f 0xbf 0x18 0xc 0x60 0x6 0x9a 0x3f 0xff 0xf3 0x79 0x9f 0x7f 0xff 0xff 0xff 0xfe 0xcf 0xc 0xc 0x40 0xe 0x9a 0x1f 0xff 0xf3 0xb9 0xbe 0xff 0xff 0xff 0xff 0xbe 0xef 0x84 0x8 0xc4 0xd 0x3f 0xff 0xff 0xf1 0xbb 0x3c 0xff 0xff 0xff 0xff 0xbf 0x67 0x82 0x8 0x88 0x9 0x3f 0xff 0xff 0xf1 0xb9 0x79 0xff 0xff 0xff 0xff 0xbd 0x77 0x8a 0x8 0x8 0xa 0x7f 0xff 0xff 0xf1 0xb9 0x73 0xff 0xbf 0xff 0xff 0xbd 0x77 0xc8 0x0 0x8 0x12 0xbf 0xff 0xff 0xf9 0xb9 0x73 0xff 0x7f 0xff 0xff 0x7d 0xb3 0xc8 0x0 0x8 0x14 0xbf 0xff 0xff 0xf8 0xb9 0xe7 0xfe 0xff 0xff 0xff 0x7d 0xb3 0xce 0x0 0x10 0x5 0x3f 0xff 0xff 0xf0 0xb8 0xe7 0xfd 0xff 0xff 0xfe 0xfd 0x93 0xc4 0x0 0x10 0x5 0x3f 0xff 0xff 0xb8 0xb0 0x87 0x5b 0xff 0xff 0xfe 0xf9 0xd1 0xe6 0x0 0x20 0x9 0xbf 0xff 0xff 0xd8 0xb1 0x8e 0xf7 0xff 0xff 0xfe 0xf9 0xd9 0xc2 0x0 0x10 0x9 0x3f 0xff 0xff 0xd0 0xb1 0x8d 0x27 0xff 0xff 0xfd 0xfb 0xc9 0xe4 0x0 0x20 0xb 0xbf 0xff 0xff 0xe8 0xb1 0x9c 0x4f 0xff 0xff 0xfd 0xf3 0xc9 0xc4 0x0 0x20 0x13 0xbf 0xff 0xff 0xe8 0xb1 0x98 0xdf 0xff 0xff 0xfd 0xf7 0xc9 0xe0 0x0 0x40 0x12 0xbf 0xff 0xff 0xe8 0xe1 0x99 0x9f 0xff 0xff 0xfd 0xf6 0xc0 0xc4 0x0 0x20 0x12 0xbf 0xff 0xff 0xe0 0x61 0xb1 0x3f 0xff 0xff 0xfb 0xe6 0xe0 0xc4 0x0 0x40 0x32 0xbf 0xff 0xff 0xf0 0x61 0x21 0x7f 0xff 0xff 0xfb 0xe6 0xe0 0xc0 0x0 0x43 0x36 0xbf 0xff 0xff 0xf0 0x63 0x62 0x7f 0xff 0xff 0xfb 0xea 0xc0 0xc4 0x0 0xc2 0x27 0x3f 0xff 0xff 0xf0 0x23 0x40 0xff 0xff 0xff 0xfb 0xca 0xc0 0xc6 0x0 0x42 0x27 0x3f 0x37 0xff 0xe0 0xa2 0x40 0xff 0xff 0xff 0xfb 0xca 0xc0 0xc0 0x0 0xc2 0x2 0x7f 0x99 0x9f 0xe0 0xa2 0x41 0xff 0xff 0xeb 0xfb 0xd8 0xc0 0x86 0x0 0xc2 0x0 0x7f 0xef 0xf1 0xf0 0x2 0x81 0xff 0xff 0xdd 0xf9 0x98 0xd8 0x86 0x0 0x82 0x1 0xde 0x3b 0xf6 0x62 0xc2 0x83 0xff 0xff 0x3c 0x3d 0xb9 0x91 0x84 0x2 0x82 0x3 0xdc 0x11 0xe1 0xa2 0x44 0x83 0xfd 0xfe 0xf9 0xee 0x39 0x91 0x84 0x12 0xc2 0xf 0xb8 0xc 0x6c 0x20 0x5 0x3 0xfb 0xfc 0xe7 0xcf 0x39 0x35 0xc 0x11 0x9a 0x6c 0xf3 0x83 0x0 0x66 0x5 0x3 0xf7 0xfc 0x8e 0x9e 0x73 0x25 0xc 0x11 0x82 0x2f 0xf7 0xf0 0xff 0xe4 0x8 0x7 0xe7 0xf8 0xfb 0xbe 0x73 0x21 0x4c 0x51 0x9a 0x1 0xff 0xfc 0x3f 0x44 0x8 0x7 0xcf 0xfb 0xff 0x7c 0x66 0x6a 0x5c 0x53 0x82 0xe 0x1 0xfe 0xf 0xcc 0x10 0x3 0x9f 0xe7 0xfc 0xfd 0x64 0x4a 0x99 0x19 0x9a 0x2d 0xf4 0x3f 0x87 0xc8 0x0 0xb 0xbf 0xff 0xfd 0xf8 0xe4 0xd2 0xb9 0x59 0x9a 0x26 0x9f 0x87 0xc1 0x8c 0x0 0xb 0x3f 0xdf 0xf3 0xf2 0xad 0x91 0xbb 0x49 0x82 0x2e 0xae 0xf0 0x70 0x88 0x0 0xb 0x7f 0xbf 0x76 0xe4 0x99 0xb1 0x33 0x68 0x8a 0xf 0xbf 0xaf 0x83 0x8 0x0 0x10 0x7f 0x7e 0xce 0xe5 0xb7 0x23 0x33 0x6c 0x8a 0xf 0xff 0xfe 0xf0 0x18 0x0 0x30 0xfe 0xfe 0x9e 0xcb 0x27 0x66 0x76 0x24 0xcb 0xb 0xff 0xff 0xb8 0x10 0x0 0x21 0xec 0xfc 0x6d 0x96 0x6e 0x46 0x66 0x34 0x4b 0xc 0x7f 0xff 0xff 0x18 0x0 0x1 0xd9 0xf9 0xdd 0x9c 0x5c 0x8e 0xee 0x16 0x49 0x7 0x1f 0xff 0xfe 0x30 0x0 0x0 0xb3 0xf3 0xdb 0x2c 0x3d 0x8c 0xcc 0x9a 0x49 0x9 0xe7 0xff 0xfe 0x30 0x0 0x0 0xe7 0xe7 0xbb 0x5a 0x79 0x9d 0xd8 0x9a 0x29 0xe 0x39 0xff 0xfc 0x60 0x0 0x0 0xcf 0xcf 0xb6 0x14 0x73 0xb9 0xb8 0xcf 0x9 0x81 0xc6 0x7f 0xfc 0x60 0x0 0x0 0x1f 0x9f 0x74 0x28 0xe7 0x3b 0x38 0xcd 0xd 0x8e 0x79 0x9f 0xfa 0xe0 0x0 0x0 0x3f 0x3e 0x68 0x41 0xcb 0x77 0xf0 0xe5 0xd 0x8f 0x9e 0x47 0xf0 0xc0 0x0 0x0 0x3e 0x3c 0xc8 0x3 0x96 0xe7 0x61 0xe7 0x85 0x85 0xff 0xf3 0xe5 0xc0 0x0 0x0 0x7c 0x79 0xd0 0x7 0x4c 0xee 0x61 0xb6 0x84 0x85 0xff 0xfc 0xc9 0x80 0x0 0xc0 0x38 0xf3 0x80 0xe 0x59 0xdc 0xe3 0x93 0x46 0xc7 0xff 0xfe 0x13 0xe 0x0 0x80 0x31 0xe3 0x80 0x1d 0x9b 0xb9 0x86 0xd9 0xc2 0xe3 0xff 0xff 0x36 0x19 0x86 0x0 0x23 0xc7 0x0 0x38 0x33 0xf3 0xc | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/BMP Viewer - Let's Chip-8! [Koppepan, 2005].ch8 | |
###################################################################### | |
:proto Sub1 # 226 | |
:proto D2 # 230 | |
: main | |
0x0 : D1 0xff # SMC: hires | |
clear | |
i := D1 | |
load v0 | |
i := D2 | |
v1 := 64 | |
if v0 != -1 then v1 >>= v0 | |
v0 := v1 | |
v0 <<= v0 | |
v2 := 0 | |
v3 := 1 | |
v1 += -1 | |
loop | |
sprite v2 v1 1 | |
v2 += 8 | |
if v2 == v0 then Sub1 | |
i += v3 | |
again | |
: Sub1 | |
v1 += -1 | |
v2 := 0 | |
if v1 == -1 then loop | |
again | |
return | |
: D2 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0x3 0xc0 0xfc 0xfc 0xf 0xfc 0x3c 0xf3 0x30 0x3f 0xfc 0x3f 0x3f 0xf3 0xcf 0xff 0x3 0xc0 0xfc 0xfc 0xf 0xfc 0x3c 0xf3 0x30 0x3f 0xfc 0x3f 0x3f 0xf3 0xcf 0xfc 0xff 0x3f 0xf3 0xff 0xf3 0xf3 0xcc 0xf3 0x33 0xcf 0xf3 0xcf 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xf3 0xff 0xf3 0xf3 0xcc 0xf3 0x33 0xcf 0xf3 0xcf 0xff 0xf3 0xcf 0xfc 0xff 0x3 0xf3 0xff 0xf 0xf3 0xfc 0xf3 0x33 0xcf 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0x3 0xf3 0xff 0xf 0xf3 0xfc 0xf3 0x33 0xcf 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0x3c 0xf3 0xfc 0xff 0xf3 0xfc 0xf 0x3c 0x3c 0x3c 0x3f 0x3f 0xf3 0xcf 0xfc 0xff 0x3c 0xf3 0xfc 0xff 0xf3 0xfc 0xf 0x3c 0x3c 0x3c 0x3f 0x3f 0xf3 0xcf 0xfc 0xff 0xc3 0xc0 0xff 0x3 0xf3 0xfc 0xff 0xff 0xff 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0xc3 0xc0 0xff 0x3 0xf3 0xfc 0xff 0xff 0xff 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0xff 0xf3 0xcf 0xff 0xf3 0xcc 0xff 0x3f 0xff 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0xff 0xf3 0xcf 0xff 0xf3 0xcc 0xff 0x3f 0xff 0xf3 0xcf 0x3f 0xf3 0xcf 0xfc 0xff 0xff 0xff 0xcf 0xff 0xfc 0x3c 0xff 0xff 0xff 0xfc 0x3f 0x3f 0xf3 0xcf 0xfc 0xff 0xff 0xff 0xcf 0xff 0xfc 0x3c 0xff 0xff 0xff 0xfc 0x3f 0x3f 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xf 0xfc 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0x0 0xff 0xf3 0xcf 0xff 0xf 0xfc 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0x0 0xff 0x0 0xff 0xf3 0xcf 0xff 0xf 0xfc 0x3f 0xff 0xff 0xff 0xff 0xff 0xfc 0x3c 0x3c 0xfc 0x3f 0xf3 0xcf 0xff 0xf 0xfc 0x3f 0xff 0xff 0xff 0xff 0xff 0xfc 0x3c 0x3c 0xfc 0x3f 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xf3 0xff 0xff 0xff 0xfc 0xff 0x3c 0xff 0x3f 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xf3 0xff 0xff 0xff 0xfc 0xff 0x3c 0xff 0x3f 0xf3 0xcf 0xfc 0xcf 0xfc 0xcf 0xff 0xcc 0x0 0x0 0x3 0xfc 0xf0 0x0 0xf 0x3f 0xf3 0xcf 0xfc 0xcf 0xfc 0xcf 0xff 0xcc 0x0 0x0 0x3 0xfc 0xf0 0x0 0xf 0x3f 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xc0 0x0 0x3f 0xff 0xfc 0x33 0x33 0xc 0x3f 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xc0 0x0 0x3f 0xff 0xfc 0x33 0x33 0xc 0x3f 0xf3 0xcf 0xfc 0xf 0xfc 0xf 0xff 0x33 0xc0 0xf 0xff 0xff 0x0 0xcf 0xc0 0xff 0xf3 0xcf 0xfc 0xf 0xfc 0xf 0xff 0x33 0xc0 0xf 0xff 0xff 0x0 0xcf 0xc0 0xff 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xfc 0xfc 0x0 0x0 0x3f 0xff 0xfc 0xc0 0x3f 0xff 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xfc 0xfc 0x0 0x0 0x3f 0xff 0xfc 0xc0 0x3f 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xc3 0xff 0xff 0xff 0x3f 0x3f 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xc3 0xff 0xff 0xff 0x3f 0x3f 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xf3 0xff 0xff 0xfc 0xf 0x3 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xf3 0xff 0xff 0xfc 0xf 0x3 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xfc 0xff 0x3f 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xfc 0x0 0x0 0xf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0x0 0x0 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0x0 0x0 0x3f 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xcf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xf3 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0xf0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0xf 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Emutest [Hap, 2006].ch8 | |
###################################################################### | |
:proto L4 # 231 | |
:proto D1 # 235 | |
:proto D2 # 245 | |
:proto L6 # 248 | |
: main | |
jump L6 | |
0x45 0x6d 0x75 0x54 0x61 0x6c 0x6b | |
: L1 | |
v0 := 0 | |
v1 := 29 | |
i := D2 | |
sprite v0 v1 3 | |
v0 := 10 | |
v1 := 3 | |
i := D1 | |
sprite v0 v1 0 | |
v0 := 3 | |
v1 := 0 | |
v2 := 0 | |
v3 := 60 | |
: L2 | |
if v2 == v0 then jump L4 | |
v2 += 1 | |
delay := v3 | |
loop | |
v4 := delay | |
if v4 != v1 then | |
again | |
jump L2 | |
: L4 | |
scroll-down 1 | |
loop | |
again | |
: D1 | |
0x88 0x88 0xf8 0x88 0x88 0x20 0x50 0x88 0xf8 0x88 0x0 0xf0 0x88 0xf0 0x80 0x80 | |
: D2 | |
0xf0 0x0 0xf0 | |
: L6 | |
clear | |
lores | |
jump L1 | |
0x0 0x0 0x0 0x0 0x45 0x4f 0x46 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Font Test [Newsdee, 2006].ch8 | |
###################################################################### | |
# executing code at unknown memory loc 0x310 | |
: main | |
clear | |
hires | |
v0 := 0 | |
v1 += 5 | |
v2 += 5 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 := 5 | |
v2 := 20 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 += 1 | |
v1 += 15 | |
i := bighex v0 | |
sprite v1 v2 10 | |
v0 := 0 | |
v1 := 5 | |
v2 := 35 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 := 5 | |
v2 := 50 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 += 1 | |
v1 += 15 | |
i := hex v0 | |
sprite v1 v2 5 | |
v0 := key | |
exit | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Hex Mixt.ch8 | |
###################################################################### | |
:proto L3 # 224 | |
: main | |
hires | |
clear | |
: L1 | |
v0 := 2 | |
delay := v0 | |
loop | |
v0 := delay | |
if v0 != 0 then | |
again | |
vA := random 0b1111111 | |
vB := random 0b111111 | |
vC := random 0b10 | |
vD := random 0b1111 | |
v0 := 1 | |
buzzer := v0 | |
if vC == 1 then jump L3 | |
i := hex vD | |
sprite vA vB 5 | |
jump L1 | |
: L3 | |
i := bighex vD | |
sprite vA vB 10 | |
jump L1 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Line Demo.ch8 | |
###################################################################### | |
:proto D1 # 214 | |
: main | |
hires | |
i := D1 | |
vA := 0 | |
vB := 0 | |
loop | |
sprite vA vB 1 | |
vA += 1 | |
vB += 1 | |
if vB == 63 then vB := 0 | |
again | |
: D1 | |
0x80 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/SCHIP Test [iq_132].ch8 | |
###################################################################### | |
:proto L1 # 230 | |
:proto Sub1 # 23A | |
:proto Sub2 # 23E | |
:proto L3 # 240 | |
:proto Sub3 # 24E | |
:proto Sub4 # 258 | |
:proto Sub5 # 264 | |
:proto Sub6 # 270 | |
:proto Sub7 # 280 | |
:proto Sub8 # 286 | |
:proto D1 # 294 | |
:proto D2 # 2B4 | |
: main | |
hires | |
clear | |
i := D2 | |
vE := 8 | |
vD := 5 | |
vC := 1 | |
v0 := 40 | |
v1 := 0 | |
sprite v0 v1 8 | |
Sub8 | |
scroll-down 1 | |
v0 := 27 | |
v2 := -16 | |
Sub3 | |
vE := 4 | |
Sub4 | |
Sub5 | |
Sub4 | |
jump L1 | |
0x60 0xe8 0x60 0x24 0x62 0xf0 0x22 0x4e 0x12 0x2 | |
: L1 | |
Sub6 | |
Sub7 | |
Sub2 | |
Sub1 | |
loop | |
again | |
: Sub1 | |
v0 := 112 | |
jump L3 | |
: Sub2 | |
v0 := 0 | |
: L3 | |
v1 := 16 | |
i := D1 | |
loop | |
if v1 == 112 then return | |
sprite v1 v0 0 | |
v1 += 16 | |
again | |
: Sub3 | |
loop | |
if v0 == 0 then return | |
scroll-down 1 | |
v0 -= vC | |
again | |
: Sub4 | |
v0 := 40 | |
loop | |
if v0 == 0 then return | |
scroll-left | |
v0 -= vE | |
again | |
: Sub5 | |
v0 := 80 | |
loop | |
if v0 == 0 then return | |
scroll-right | |
v0 -= vE | |
again | |
: Sub6 | |
v0 := 0 | |
v1 := 0 | |
: L7 | |
i := D1 | |
loop | |
if v0 == 64 then return | |
sprite v1 v0 0 | |
v0 += 16 | |
again | |
: Sub7 | |
v0 := 0 | |
v1 := 112 | |
jump L7 | |
: Sub8 | |
loop | |
i += vE | |
v0 += vE | |
vD -= vC | |
sprite v0 v1 8 | |
if vD != 0 then | |
again | |
return | |
: D1 | |
0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff 0xff | |
: D2 | |
0x3e 0x8 0x8 0x8 0x8 0x8 0x3e 0x0 0x7e 0x42 0x42 0x42 0x42 0x42 0x7e 0x7 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x7f 0x18 0x8 0x8 0x8 0x8 0x8 0x3e 0x0 0x1c 0x22 0x2 0xc 0x2 0x22 0x1c 0x0 0x1c 0x22 0x4 0x8 0x10 0x20 0x3e 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Scroll Test.ch8 | |
###################################################################### | |
:proto Sub1 # 21E | |
: main | |
hires | |
lores | |
vB := 5 | |
vC := 11 | |
Sub1 | |
: L1 | |
loop | |
scroll-right | |
vB += 1 | |
if vB != 56 then | |
again | |
loop | |
scroll-left | |
vB += -1 | |
if vB != 0 then | |
again | |
Sub1 | |
jump L1 | |
: Sub1 | |
sprite vB vC 10 | |
v5 := random 0b1001 | |
if v5 == 0 then i := 80 | |
if v5 == 1 then i := 90 | |
if v5 == 2 then i := 100 | |
if v5 == 3 then i := 110 | |
if v5 == 4 then i := 120 | |
if v5 == 5 then i := 130 | |
if v5 == 6 then i := 140 | |
if v5 == 7 then i := 150 | |
if v5 == 8 then i := 160 | |
if v5 == 9 then i := 170 | |
sprite vB vC 10 | |
return | |
0xff 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Scroll Test (modified) [Garstyciuks].ch8 | |
###################################################################### | |
:proto Sub1 # 21E | |
: main | |
hires | |
lores | |
vB := 5 | |
vC := 11 | |
Sub1 | |
: L1 | |
loop | |
scroll-right | |
vB += 1 | |
if vB != 56 then | |
again | |
loop | |
scroll-left | |
vB += -1 | |
if vB != 0 then | |
again | |
Sub1 | |
jump L1 | |
: Sub1 | |
sprite vB vC 10 | |
v5 := random 0b1001 | |
i := bighex v5 | |
return | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/SC Test.ch8 | |
###################################################################### | |
:proto L1 # 212 | |
:proto L2 # 3C6 | |
:proto L3 # 3E2 | |
:proto L4 # 3F8 | |
:proto L5 # 402 | |
:proto L6 # 40C | |
:proto Sub1 # 412 | |
:proto Sub2 # 432 | |
:proto L7 # 450 | |
:proto D1 # 452 | |
:proto D2 # 455 | |
:proto D3 # 45A | |
:proto D4 # 45F | |
:proto D5 # 464 | |
:proto D6 # 469 | |
:proto D7 # 46E | |
:proto D9 # 478 | |
:proto D10 # 488 | |
:proto L8 # 490 | |
:proto D11 # FFE | |
: main | |
jump L1 | |
0x20 0x54 0x72 0x6f 0x6e 0x69 0x78 0x20 0x28 0x63 0x29 0x20 0x32 0x30 0x31 0x30 | |
: L1 | |
clear | |
if vF != 0 then jump L3 | |
if vE != 0 then jump L3 | |
if vD != 0 then jump L3 | |
if vC != 0 then jump L3 | |
if vB != 0 then jump L3 | |
if vA != 0 then jump L3 | |
if v9 != 0 then jump L3 | |
if v8 != 0 then jump L3 | |
if v7 != 0 then jump L3 | |
if v6 != 0 then jump L3 | |
if v5 != 0 then jump L3 | |
if v4 != 0 then jump L3 | |
if v3 != 0 then jump L3 | |
if v2 != 0 then jump L3 | |
if v1 != 0 then jump L3 | |
if v0 != 0 then jump L3 | |
v0 := 0 | |
v1 := 1 | |
v2 := 2 | |
v3 := 3 | |
v4 := 4 | |
v5 := 5 | |
v6 := 6 | |
v7 := 7 | |
v8 := 8 | |
v9 := 9 | |
vA := 10 | |
vB := 11 | |
vC := 12 | |
vD := 13 | |
vE := 14 | |
vF := 15 | |
i := D9 | |
load vF | |
if vF != 0 then jump L4 | |
if vE != 0 then jump L4 | |
if vD != 0 then jump L4 | |
if vC != 0 then jump L4 | |
if vB != 0 then jump L4 | |
if vA != 0 then jump L4 | |
if v9 != 0 then jump L4 | |
if v8 != 0 then jump L4 | |
if v7 != 0 then jump L4 | |
if v6 != 0 then jump L4 | |
if v5 != 0 then jump L4 | |
if v4 != 0 then jump L4 | |
if v3 != 0 then jump L4 | |
if v2 != 0 then jump L4 | |
if v1 != 0 then jump L4 | |
if v0 != 0 then jump L4 | |
v0 := 0 | |
i := hex v0 | |
load v0 | |
if v0 == 0 then jump L5 | |
i := D1 | |
vE := 123 | |
bcd vE | |
load v2 | |
if v0 != 1 then jump L2 | |
if v1 != 2 then jump L2 | |
if v2 != 3 then jump L2 | |
vE := 2 | |
vF := 0 | |
v0 := -2 | |
v1 := 1 | |
v0 += v1 | |
if vF != 0 then jump L6 | |
vE := 3 | |
if v0 != -1 then jump L6 | |
vE := 4 | |
v0 += v1 | |
if vF != 1 then jump L6 | |
vE := 5 | |
if v0 != 0 then jump L6 | |
v0 := 1 | |
vE := 6 | |
vF := 0 | |
v0 -= v1 | |
if vF != 1 then jump L6 | |
vE := 7 | |
if v0 != 0 then jump L6 | |
vE := 8 | |
v0 -= v1 | |
if vF != 0 then jump L6 | |
vE := 9 | |
if v0 != -1 then jump L6 | |
v0 := 1 | |
vE := 10 | |
vF := 0 | |
v0 =- v1 | |
if vF != 1 then jump L6 | |
vE := 11 | |
if v0 != 0 then jump L6 | |
vE := 12 | |
v0 := 1 | |
v1 := 0 | |
v0 =- v1 | |
if vF != 0 then jump L6 | |
vE := 13 | |
if v0 != -1 then jump L6 | |
v0 := -1 | |
vE := 14 | |
vF := 0 | |
v0 >>= v0 | |
if vF != 1 then jump L6 | |
vE := 15 | |
if v0 != 127 then jump L6 | |
v0 := 64 | |
vE := 16 | |
v0 >>= v0 | |
if vF != 0 then jump L6 | |
vE := 17 | |
if v0 != 32 then jump L6 | |
vE := 18 | |
vF := 1 | |
v0 <<= v0 | |
if vF != 0 then jump L6 | |
vE := 19 | |
if v0 != 64 then jump L6 | |
v0 := -6 | |
vE := 20 | |
v0 <<= v0 | |
if vF != 1 then jump L6 | |
vE := 21 | |
if v0 != -12 then jump L6 | |
v1 := 123 | |
vE := 22 | |
v0 ^= v1 | |
if v0 != 143 then jump L6 | |
i := D10 | |
load v7 | |
saveflags v7 | |
i := D9 | |
load v7 | |
loadflags v7 | |
vE := 23 | |
if v7 != 7 then jump L6 | |
if v6 != 6 then jump L6 | |
if v5 != 5 then jump L6 | |
if v4 != 4 then jump L6 | |
if v3 != 3 then jump L6 | |
if v2 != 2 then jump L6 | |
if v1 != 1 then jump L6 | |
if v0 != 0 then jump L6 | |
vE := 24 | |
i := D11 | |
v0 := 2 | |
vF := 0 | |
i += v0 | |
if vF != 1 then jump L6 | |
jump L8 | |
: L2 | |
Sub1 | |
v0 += 10 | |
v2 := 11 | |
i := hex v2 | |
sprite v0 v1 5 | |
v0 += 5 | |
v2 := 12 | |
i := hex v2 | |
sprite v0 v1 5 | |
v2 += 1 | |
i := hex v2 | |
v0 += 5 | |
sprite v0 v1 5 | |
jump L7 | |
: L3 | |
Sub1 | |
v0 += 10 | |
i := D5 | |
sprite v0 v1 5 | |
v0 += 6 | |
i := D6 | |
sprite v0 v1 5 | |
v0 += 6 | |
i := D5 | |
sprite v0 v1 5 | |
jump L7 | |
: L4 | |
Sub1 | |
v0 += 10 | |
i := D3 | |
sprite v0 v1 5 | |
jump L7 | |
: L5 | |
Sub1 | |
v0 += 10 | |
i := D2 | |
sprite v0 v1 5 | |
jump L7 | |
: L6 | |
Sub1 | |
Sub2 | |
jump L7 | |
: Sub1 | |
v0 := 0 | |
v1 := 0 | |
i := D4 | |
sprite v0 v1 5 | |
v0 += 5 | |
i := D7 | |
sprite v0 v1 5 | |
v0 += 6 | |
sprite v0 v1 5 | |
i := D3 | |
v0 += 6 | |
sprite v0 v1 5 | |
i := D7 | |
v0 += 5 | |
sprite v0 v1 5 | |
return | |
: Sub2 | |
v4 := v0 | |
v4 += 10 | |
v5 := v1 | |
i := D1 | |
bcd vE | |
load v2 | |
i := hex v0 | |
sprite v4 v5 5 | |
v4 += 6 | |
i := hex v1 | |
sprite v4 v5 5 | |
v4 += 6 | |
i := hex v2 | |
sprite v4 v5 5 | |
return | |
: L7 | |
loop | |
again | |
: D1 | |
0x0 0x0 0x0 | |
: D2 | |
0x10 0x30 0x10 0x10 0x10 | |
: D3 | |
0xf0 0x90 0x90 0x90 0xf0 | |
: D4 | |
0xf0 0x80 0xf0 0x80 0xf0 | |
: D5 | |
0xf8 0x20 0x20 0x20 0xf8 | |
: D6 | |
0x88 0xc8 0xa8 0x98 0x88 | |
: D7 | |
0xe0 0x90 0xe0 0x90 0x88 | |
: D8 | |
0x90 0xa0 0xc0 0xa0 0x90 | |
: D9 | |
0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 0x0 | |
: D10 | |
0x0 0x1 0x2 0x3 0x4 0x5 0x6 0x7 | |
: L8 | |
v0 := 0 | |
v1 := 0 | |
i := hex v0 | |
sprite v0 v1 5 | |
v0 += 5 | |
i := D8 | |
sprite v0 v1 5 | |
jump L7 | |
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 | |
: D11 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/SuperChip Test.ch8 | |
###################################################################### | |
:proto L3 # 224 | |
:proto L4 # 228 | |
:proto D1 # 244 | |
: main | |
hires | |
loadflags v3 | |
v4 := 0 | |
v5 := 0 | |
i := D1 | |
: L1 | |
sprite v4 v5 0 | |
v6 := 2 | |
delay := v6 | |
loop | |
v6 := delay | |
if v6 != 0 then | |
again | |
sprite v4 v5 0 | |
if v4 != v0 then jump L3 | |
if v5 == v1 then jump L4 | |
v5 += 1 | |
jump L1 | |
: L3 | |
v4 += 1 | |
jump L1 | |
: L4 | |
sprite v4 v5 0 | |
v4 := 0 | |
: L5 | |
i := bighex v4 | |
sprite v2 v3 10 | |
v5 := 20 | |
delay := v5 | |
loop | |
v5 := delay | |
if v5 != 0 then | |
again | |
sprite v2 v3 10 | |
v4 += 1 | |
if v4 == 10 then exit | |
jump L5 | |
: D1 | |
0x80 0x1 0x3 0x80 0x4 0x40 0x4 0x0 0x3 0x80 0x0 0x40 0x4 0x40 0x3 0x80 0x0 0x0 0x35 0x58 0x45 0x54 0x47 0x58 0x45 0x50 0x35 0x50 0x0 0x0 0x80 0x1 | |
###################################################################### | |
# INPUT: chip8/SuperChip Test Programs/Test128.ch8 | |
###################################################################### | |
:proto L2 # 218 | |
:proto L4 # 22C | |
:proto D1 # 2DA | |
:proto D2 # 2DC | |
:proto D3 # 2E6 | |
:proto D4 # 2EB | |
:proto D5 # 2F0 | |
:proto D6 # 2F5 | |
:proto D7 # 2FA | |
:proto D8 # 2FF | |
:proto D9 # 304 | |
:proto D10 # 309 | |
:proto D11 # 30E | |
:proto D12 # 313 | |
: main | |
hires | |
clear | |
v4 := 0 | |
v5 := 0 | |
v6 := 62 | |
i := D1 | |
loop | |
sprite v4 v5 2 | |
sprite v4 v6 2 | |
v4 += 8 | |
if v4 == 128 then jump L2 | |
again | |
: L2 | |
i := D2 | |
v4 := 0 | |
v5 := 2 | |
v6 := 126 | |
loop | |
sprite v4 v5 10 | |
sprite v6 v5 10 | |
v5 += 10 | |
if v5 == 62 then jump L4 | |
again | |
: L4 | |
i := D3 | |
v5 := 24 | |
v6 := 4 | |
v7 := 14 | |
v8 := 24 | |
v9 := 34 | |
vA := 44 | |
vB := 54 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D4 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D5 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D6 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D7 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D8 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D9 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D10 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D11 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
i := D12 | |
v5 += 8 | |
sprite v5 v6 5 | |
sprite v5 v7 5 | |
sprite v5 v8 5 | |
sprite v5 v9 5 | |
sprite v5 vA 5 | |
sprite v5 vB 5 | |
loop | |
again | |
: D1 | |
0xaa 0x55 | |
: D2 | |
0x80 0x40 0x80 0x40 0x80 0x40 0x80 0x40 0x80 0x40 | |
: D3 | |
0xae 0xaa 0xea 0x4a 0x4e | |
: D4 | |
0xa0 0xa0 0xa0 0xa0 0xe0 | |
: D5 | |
0xee 0xaa 0xee 0xac 0xaa | |
: D6 | |
0xe0 0x80 0xe0 0x80 0xe0 | |
: D7 | |
0xae 0xa8 0xae 0xa2 0xee | |
: D8 | |
0xee 0x4a 0x4a 0x4a 0xea | |
: D9 | |
0xe0 0x80 0xa0 0xa0 0xe0 | |
: D10 | |
0x4e 0xc2 0x4e 0x48 0xee | |
: D11 | |
0xe0 0xaa 0xe4 0xaa 0xe0 | |
: D12 | |
0xea 0x8a 0xee 0xa2 0xe2 |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment