# Octo, the CHIP-8 IDE

**URL:** https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116
**Category:** Developers
**Tags:** emulator, fantasy-console
**Created:** [December 12, 2020, 2:30am UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116 "2020-12-12T02:30:28Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![JohnEarnest](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/johnearnest/32/4514_2.png) [@JohnEarnest](https://forum.clockworkpi.com/u/JohnEarnest)
#### Post date: [December 12, 2020, 2:30am UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/1 "2020-12-12T02:30:28Z")

</div>

CHIP-8 is a virtual game console dating to the late 1970s. Thanks to its simplicity it has become something of a rite of passage for anyone interested in writing emulators. Over the past few years I’ve built a collection of development tools for this platform, and the user community has written [dozens of interesting games and programs](https://github.com/JohnEarnest/chip8Archive).

I recently ported the whole toolbox to C and SDL2, creating the same kind of all-in-one game creation tool as “Fantasy Consoles” like TIC-80 and PICO-8:

![yd9vpx](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/4/47d1dd9d42ea2a5825244240a7d294c4f1d45c13.gif)

I know that Octode runs great on the PocketCHIP, and I imagine that it would be even better on a device like DevTerm! Code for the project is here:

> **[JohnEarnest/c-octo](https://github.com/JohnEarnest/c-octo)**
>
> A C rewrite of the Octo CHIP-8 IDE. Contribute to JohnEarnest/c-octo development by creating an account on GitHub.

Any interest?

---

<div class="post-metadata">

### Author: ![JohnEarnest](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/johnearnest/32/4514_2.png) [@JohnEarnest](https://forum.clockworkpi.com/u/JohnEarnest)
#### Post date: [December 18, 2020, 5:10am UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/2 "2020-12-18T05:10:05Z")

</div>

Just in case anyone is curious, I recorded some clips showing how Octode would look given the resolution and aspect ratio of the DevTerm.

At 1x (which may be rather hard to read on a real DevTerm):

 ![horizontal](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/6/6093134352dc1956f37de2457216eab91bdb5366.gif)

And with the UI scaled to 2x (`ui.win_scale=2` in the config file):

 ![horizontal-2](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/6/6e9907b0f780854d03f7b4fe6de1f94b2a3a6700.gif)

As you can see, the user interface is suited fairly well to a wide aspect ratio. It doesn’t hurt that CHIP-8 itself has a rather unusual 2:1 aspect ratio to begin with!

---

<div class="post-metadata">

### Author: ![pilot](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/pilot/32/4471_2.png) [@pilot](https://forum.clockworkpi.com/u/pilot)
#### Post date: [December 18, 2020, 5:17pm UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/3 "2020-12-18T17:17:50Z")

</div>

@JohnEarnest Thanks for links and samples. Welcome to the community!

---

<div class="post-metadata">

### Author: ![JohnEarnest](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/johnearnest/32/4514_2.png) [@JohnEarnest](https://forum.clockworkpi.com/u/JohnEarnest)
#### Post date: [September 3, 2021, 4:59am UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/4 "2021-09-03T04:59:02Z")

</div>

Many months later, here it is running on the real hardware, at 2x scale:

 ![editor](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/7/74941139c1614c21b834ed0d2e1f0d109952f05c.jpeg)

The wide format display is a great match for CHIP-8’s 2:1 aspect ratio. Here it’s running [Super Neatboy](https://internet-janitor.itch.io/super-neatboy):

 ![gameplay](https://canada1.discourse-cdn.com/flex029/uploads/clockworkpi/original/2X/c/cee424e9532634663dfee3a713e011fcce0ffd37.jpeg)

The built-in gamepad worked out of the box. While the mouse is a bit slow to navigate with, everything important has keyboard shortcuts.

---

<div class="post-metadata">

### Author: ![DustinWoods](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/dustinwoods/32/4741_2.png) [@DustinWoods](https://forum.clockworkpi.com/u/DustinWoods)
#### Post date: [September 4, 2021, 8:19pm UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/5 "2021-09-04T20:19:51Z")

</div>

Nice work on this IDE, it’s looks fun!  
Is this C-Octo running on the DevTerm or the web version?

---

<div class="post-metadata">

### Author: ![JohnEarnest](https://yyz1.discourse-cdn.com/flex029/user_avatar/forum.clockworkpi.com/johnearnest/32/4514_2.png) [@JohnEarnest](https://forum.clockworkpi.com/u/JohnEarnest)
#### Post date: [September 5, 2021, 12:19am UTC](https://forum.clockworkpi.com/t/octo-the-chip-8-ide/6116/6 "2021-09-05T00:19:53Z")

</div>

C-Octo runs directly on the device. The [web version](https://octo-ide.com) would probably also work in a browser on the DevTerm, but the UI wouldn’t be as pleasant to use, and performance/battery life would probably suffer. Apart from the “fantasy console” frontend, C-Octo also comes with a command-line frontend called [octo-run](https://github.com/JohnEarnest/c-octo#octo-run) which simply compiles and executes a source file; it combines nicely with anyone’s favorite text editor.

Incidentally, if anyone is interested in a reason to play with Octo, there’s a [CHIP-8 game jam](http://octojam.com) happening in October!
