Small bugfixes

Just a couple of bugfixes today!

Web version works without third-party cookies

Octo had a bug where web exports would not run in certain browsers (including Chrome) if third-party cookies were disabled, because of how it retrieved emulation settings from the Octo interpreter.  This was fixed, so I re-exported for web, and it should work fine now.  Details here.

Stack overflow fixed

The game had a bug: When you try to toggle an unlit button (which is not allowed), it would simply jump back to the start of the game loop.  Since the code that tries to toggle a light was a subroutine, which returns after a successful toggle to continue the game loop where it left off, this meant that trying to press unlit buttons would cause the stack to grow.  Since the COSMAC VIP's CHIP-8 call stack only holds 12 addresses, this was a problem!

I changed it so that the code that toggles is no longer a subroutine, and it just jumps back in the middle of the game loop if toggling fails.  It was only called that one place, so I'm not sure why it was a subroutine to begin with.  Luckily it was an easy fix.  To patch the original ROM:

  • Change byte 02F0 from 2366 (call 366) to 1366 (jump to 366)
  • Change byte 03B8 from 00EE (return) to 12F2 (jump to 2F2)

I got the word out to the editors of VIPER before the issue was printed, so please find attached a new scanned copy of the "manual" for the game which has the correct code listing.


Mini Lights Out cartridge for Octo 21 kB
Oct 25, 2019
Mini Lights Out source code for Octo 5 kB
Oct 25, 2019
Mini Lights Out CHIP-8 ROM 575 bytes
Oct 25, 2019
Mini Lights Out browser version Play in browser
Oct 25, 2019
Mini Lights Out manual 136 kB
Oct 25, 2019

Get Mini Lights Out

Download NowName your own price

Leave a comment

Log in with to leave a comment.