Log In  

New games:

Cart [#14478#] | Code | 2015-09-22 | No License | Embed
15

Cart [#14477#] | Code | 2015-09-21 | No License | Embed
15

Games:

Cart [#14411#] | Code | 2015-09-20 | No License | Embed
15

Cart [#14384#] | Code | 2015-09-20 | No License | Embed
15

Cart [#14387#] | Code | 2015-09-20 | No License | Embed
15

Demos:

Cart [#14479#] | Code | 2015-09-22 | No License | Embed
15

I am back with new experiment - real emulator of my second favorite retro platform for my first favorite retro platform :)

You can show virtual keypad by pressing B on P2 controller, then use P2 arrows and A button to press keys.

Emulator is preloaded with those games:

  • Rush Hour by Hap
  • Astro Dodge (hi-res)
  • Worm V4 (hi-res)
  • Space Invaders by David Winter
  • Tetris.
  • TRIP8 hi-res demo

Rush Hour controls:

  • ARROWS - movement
  • Z - select
    Only code I found: 4A10 :D

Worm V4 controls:

  • ARROWS - movement
  • Z - reset

Astro Doge controls:

  • ARROWS - movement
  • Z - start

Space Invaders controls:

  • LEFT/RIGHT - movement
  • Z - shoot

Tetris controls:

  • LEFT/RIGHT - move
  • UP - rotate
  • DOWN - drop

Some technical details:

  • emulator runs at 1500 cycles per second (successfully tested at 3000 cycles per second)
  • timers are set correctly to 60Hz
  • game rom is stored as map data (currently 1 game per pico rom)
  • screen is stored directly in spritesheet
  • pico keys are custom-mapped to chip8 keys
  • cpu specification: 35 opcodes, 16 8-bit registers, 64x32 b/w screen, 4k rom/ram

Changelog:

1.5

  • fixed sprite drawing
  • added emulator restart button (for games that end in loop or halt)
    1.4
  • fixed clear screen routine
  • added support for hi-res mode
    1.3
  • fixed key handling
  • added full chip8 keypad (p2 controller)
    1.2
  • fixed font sprite location to reflect emulator's default font position in memory
    1.1
  • simple debugger mode easily switchable by variables
  • wait for key-press fixed
  • beep fixed
  • shl and shr instructions fixed

If anyone want to take a look and play, please use RUSH-HOUR rom. Many bugs I found are fixed there ;)

P#14385 2015-09-19 22:34 ( Edited 2015-09-22 20:42)

I swear to god, if this is real, I am going to have a screeching session. AKA 'WEEEE!".

This is purely amazing.
I understand that PICO-8 is running Lua code, but that's like the NES running Atari 2600 games!

P#14388 2015-09-19 22:55 ( Edited 2015-09-20 02:55)
:: AfBu

Thanks, it's still not perfect, most problematic thing is that pico uses only 16-bit signed numbers, but chip8 need unsigned ones. I don't know yet what will happen when rom try to work with 16-bit register, but it seems to work on games I tried. Later I will release utility that will compile chip8 rom into pico cartridge, so you can easily add your favorite games.

If you really want to add your games, download first version of this utility that I used. You will have to manually copy map data into .p8 file.

P#14391 2015-09-19 23:51 ( Edited 2015-09-20 03:51)
:: Rhys

Very impressive! I was thinking about porting my GB/GBC emulator to pico8 at some point, but figured that there's not enough code space and that even with compression it would only be able to run single bank roms.

I like dark blue as black, adds a little character to it. :P

P#14392 2015-09-20 00:08 ( Edited 2015-09-20 04:09)

This is the first time I hear about CHIP-8. Could you share some good programming tutorials for it and link to some good devtools/emulators? Would love to play with it.

P#14408 2015-09-20 08:41 ( Edited 2015-09-20 12:41)
:: AfBu

Chip-8 is pretty limited (4k of rom/ram, 35 opcodes, etc.) so don't expect any high-level language to work with. There is assembler available or you can use any hex editor to create your programs. Try to google for some tutorials or you can jump straight in using Opcode table and emulator.

P#14412 2015-09-20 09:54 ( Edited 2015-09-20 13:54)
:: AfBu

Added virtual keypad :D Use B on P2 controller to show it. Available only on 1.3 and never roms.

P#14418 2015-09-20 13:00 ( Edited 2015-09-20 17:00)
:: Pizza

Dude, wow. I don't even know what CHIP-8 is, so I'd happily ingest some info on that if you'd want to present some, but even without knowing what it is, playing even more restrictive games on an already very restrictive console is all kinds of cool.

P#14441 2015-09-20 19:41 ( Edited 2015-09-20 23:41)
:: Ivoah

Nice! I think rush-hour is the best CHIP-8 game, maybe this will inspire me to pick my C++ CHIP-8 emu back up.

P#14443 2015-09-20 20:28 ( Edited 2015-09-21 00:28)
:: AfBu

For those who want to try create something for CHIP-8, I have created simple demo with commented source code.

Cart [#14497#] | Code | 2015-09-22 | No License | Embed

You can compile it using chipper:
source code
win64 binary

P#14498 2015-09-22 16:42 ( Edited 2015-09-22 20:42)

Can you do Blinky?

P#65011 2019-06-05 18:44

[Please log in to post a comment]

About | Contact | Updates | Terms of Use
Follow Lexaloffle:        
Generated 2019-09-22 23:28 | 0.038s | 4194k | Q:86