Skip to content

Instantly share code, notes, and snippets.

View tobiasvl's full-sized avatar
🦀
Learning Rust

Tobias V. Langhoff tobiasvl

🦀
Learning Rust
View GitHub Profile
@tobiasvl
tobiasvl / moondrop_isle.md
Last active May 11, 2024 22:44
Moondrop Isle

I originally played an earlier build which was removed from the server while I played it. Some of these notes are from that build, and might therefore be fixed/outdated in the later build which replaced it.

Zach:

  • Logic:
    • It's not clear to me what the point of the kitchen puzzle is. is it just a shortcut/alternate route? for its complexity I kinda expected reaching a new area, but I'd already been in the Break Room/Statue Garden via the tunnels
    • "wear glasses" doesn't work? (This might have been fixed in newer build?)
  • Missing descriptions:
    • Clotho's Yarn: "x group" should work
    • Break Room: couch, microwave, lockers
  • Typos:
@tobiasvl
tobiasvl / GB_SRAM.asm
Last active February 20, 2023 22:48
RGBDS routine for verifying, clearing and loading SRAM in a Game Boy game
; Based on nitro2k01's code from https://forums.nesdev.org/viewtopic.php?t=14631
; Changes:
; - Retains all registers, so a call to this routine can be added anywhere
; - Instead of saving all WRAM, just save a set number of bytes (c)
; Usage:
; - On boot, call LoadSRAM (will init and zero SRAM if needed, then load from SRAM)
; - When saving, call SaveSRAM (and then potentially LoadSRAM.sramOK)
LoadSRAM:
call EnableSram
; *******************************************************************
; *** ***
; *** VIP2K Chip 8 interpreter ***
; *** ***
; *** This software is copyright 2008 by Marcel van Tongeren ***
; *** You have permission to use, modify, copy, and distribute ***
; *** this software so long as this copyright notice is retained. ***
; *** This software may not be used in commercial applications ***
; *** without express written permission from the author. ***
; *******************************************************************
-rw-r--r--. 1 tvl tvl 5246976 Sep 19 2005 Assorted/01. Anberlin - Ready Fuels.mp3
-rw-r--r--. 1 tvl tvl 6584320 Jan 28 2006 Assorted/01 Boulevard of Broken Songs (Green Day vs. Oasis vs. Travis vs. Eminem).mp3
-rw-r--r--. 1 tvl tvl 5504546 Sep 8 2005 Assorted/01. Era - Ameno (Remix).mp3
-rw-r--r--. 1 tvl tvl 4996345 Apr 12 2007 Assorted/01 I've got the power.mp3
-rw-r--r--. 1 tvl tvl 5320502 Sep 8 2005 Assorted/03. Era - The Mass.mp3
-rwxr-xr-x. 1 tvl tvl 7959453 Jul 29 2007 Assorted/03 Oriental Dark Flight.mp3
-rw-r--r--. 1 tvl tvl 6235670 Sep 19 2005 Assorted/04. Damien Rice - Cannonball.mp3
-rw-r--r--. 1 tvl tvl 6750336 Sep 8 2005 Assorted/04. Disturbed - Down With the Sickness.mp3
-rw-r--r--. 1 tvl tvl 2884438 May 4 2007 Assorted/04 - time is on my side.mp3
-rw-r--r--. 1 tvl tvl 5060608 Sep 19 2005 Assorted/05. Anberlin - Glass To The Arson.mp3
drwxr-xr-x. 5 tvl tvl 4096 Feb 9 2008 !!!
drwx------. 2 tvl tvl 4096 Feb 24 2007 120 Days
drwxr-xr-x. 2 tvl tvl 12288 Jul 8 2008 (1997-02-10) “FINAL FANTASY Ⅶ” Original Sound Track (SSCX-10004) [Ogg Vorbis]
-rwxr-xr-x. 1 tvl tvl 3686400 Jul 28 2007 27 Wily Stage.mp3
drwxr-xr-x. 2 tvl tvl 4096 Jan 24 2007 50 Hertz
drwxr-xr-x. 3 tvl tvl 4096 Aug 27 2007 8bit betty
drwx------. 2 tvl tvl 4096 Mar 5 2008 8bitmayhem
drwxr-xr-x. 4 tvl tvl 4096 Mar 18 2008 Air
drwxr-xr-x. 3 tvl tvl 4096 Aug 31 2006 All-Time Quarterback
drwxr-xr-x. 3 tvl tvl 4096 Jan 10 2006 Ambo
# switch/case macro, should be followed by a jump table with the same number of entries as cases
:macro switch REG {
v0 := REG
v0 <<= v0
:calc table { HERE + 10 }
# for Super-CHIP compatibility, we also load VX for use with jump0 where X is the upper digit of the table's address
# note that if the table is located at address 0xA00 or above, we'll clobber necessary registers here!
:calc table-reg { table >> 8 }
v9 := 0x9
v9 -= v0
@tobiasvl
tobiasvl / install_aseprite.sh
Last active May 5, 2024 21:44
The commands to build aseprite on Fedora
# Copied from https://github.com/aseprite/aseprite/blob/master/INSTALL.md#skia-on-linux
sudo yum install -y gcc-c++ cmake ninja-build libX11-devel libXcursor-devel mesa-libGL-devel fontconfig-devel
mkdir $HOME/deps
cd $HOME/deps
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
git clone -b aseprite-m71 https://github.com/aseprite/skia.git
export PATH="${PWD}/depot_tools:${PATH}"
cd skia

CHIP-8 extensions and compatibility

This document is intended as a well-sourced and exhaustive documentation of all extensions to CHIP-8. They all use the standard CHIP-8 interpreter as a base, mentioning what additions and changes they make to that common base.

This list is mostly for historical purposes; few of the extensions listed here had a considerable number of programs written for them. It could serve as a reference for CHIP-8 emulator/interpreter developers who want to support the various incompatible instructions and behaviors that have cropped up in different interpreters over the decades. Perhaps the instructions listed here can also inspire someone to make their own modern CHIP-8 extension (of which there have been a couple, see the bottom of the list).

A note on modern implementations

The only CHIP-8 extensions in active use today (beyond basic CHIP-8) are Super-CHIP 1.1 and the relative newcomer XO-CHIP.