Chipception OS

A CHIP-8 and SUPER-CHIP interpreter written in XO-CHIP. My submission to Octojam 10. Because CHIP-8 interpreters have been written in every programming language and the platform also deserves one written in CHIP-8 itself! ๐Ÿ˜„

The concept

Chipception is a lot of things. It's primarily just a dumb idea and a bit of a joke to write a CHIP-8 interpreter in CHIP-8. But it's also an experiment to start figuring out what an "operating system" for CHIP-8 could look like.

Can we do multitasking? Can we have inter-process communication? How do we do window management? How do you control the "OS" with only a 16-key keypad? What kind of paradigms from PCs, mobile phones or PDAs make sense for CHIP-8?

I'm not sure if I'm done with this experiment yet, but right now it's just a cool talking piece for Octojam 10. And, with it running at 200.000 instructions per frame, yet another ROM to stress-test people's interpreters ๐Ÿ˜„

How to use Chipception

Chipception will provide you with a menu (known as the launcher app) from which you can select ROMs to run. You can run at most six ROMs in parallel. Note that the launcher app itself counts as a ROM.

The launcher app will properly start ROMs in either CHIP-8 or SUPER-CHIP mode, and with the correct quirks. You can not change those settings interactively.

These are the keys that control the launcher:

CHIP-8 keyQwerty keyFunction
5 W or โ†‘ Go up one ROM in the launcher app
8 S or โ†“ Go down one ROM in the launcher app
6 E or space Start selected ROM in the launcher app

The CHIP-8 key A (or Z on a querty keyboard) acts as a global modifier key, like a ctrl or alt key on a computer. It can be used from anywhere to send these commands to Chipception:

CHIP-8 keysQwerty keysFunction
A   1 Z   1 Cycle through windows ("Alt-Tab")
A   BZ   C Close focussed interpreter
A   D Z   R Reset focussed interpreter
A   5 Z   W Move focussed window around
A   E Z   F Fullscreen the window
A   8 Z   S Start the launcher app

When you are moving a window, these are the relevant keys:

CHIP-8 keyQwerty keyFunction
5 W or โ†‘ Move window up
8 S or โ†“ Move window down
7 A or โ† Move window left
9 D or โ†’ Move window right
A Z Return to normal execution

More information

See the repository for this project on Github for more information, source code and my development log: https://github.com/Timendus/chipception

Download

Download
chipception.ch8 31 kB

Leave a comment

Log in with itch.io to leave a comment.