I made a game using a web IDE over the weekend. You can download / play / edit it here 8bitworkshop.com/redir.html?pl

Code quality actually started out OK but over the last 1/8 of the jam deteriorated into a real mess. Feel free to judge me

For me the real joy of 8bit development is when things like this happen.

In this instance the music player library was using the same memory region as my video update buffer, so changes to the audio state were being reflected as a kind of semi-chaotic visualisation.

In the end I was able to manually relocate the music player's RAM region to a valid area where nothing was being clobbered. Shows that you can't always trust the linker to do a safe job of assigning space


Writing a NES game in C was fun but I don't know if I'd do it again. The overhead of having to learn how someone's library and toolchain expects you to use it can be significant, and for me seriously diminishes the meditative simplicity of low level development. Assembly can mean a much slower pace but also necessitates a more thorough personal understanding of what is happening and why.

· · Web · 1 · 2 · 6

@voxel C is also a poor fit for the 6502z they call C a “high level assembly”, but in that cases there’s a huge impedence mismatch between C semantics and the real machine

@zens sure. Some of that is mitigated through CC65's fastcalls. You can make a pretty decent NES game in C before you start to hit any performance bottlenecks caused by the language, but you probably won't be doing loads of cool effects

@voxel i could see the appeal of implementing most of the actual game in a sort of plain pure logic style of C, but pulling performance bottlenecks into optimised assembly and calling out from C- leaving a kind of portable “core” game logic.

@zens @voxel

what I want:

Thread-managing main loop in C

Threads in C++

Functions in either C++ or Forth/ASM

Shaders in APL
@zens @voxel
Sorry, replied to the thread before the entire convo loaded

...although, if it were the SNES...

@TransGal4872 @voxel i certainly have stepped square into the context hole myself many a time

@voxel @TransGal4872 aw mam, most emulators do accept shaders for pixel scaling. imagine ifu the games integrated with the shader, super gameboy style. they could encode signals in code tiles on the edge of the screen.

Sign in to participate in the conversation

Merveilles is a community project aimed at the establishment of new ways of speaking, seeing and organizing information — A culture that seeks augmentation through the arts of engineering and design. A warm welcome to any like-minded people who feel these ideals resonate with them.