A demo showing a heap memory manager being functional, dynamically allocating and freeing memory blocks of various sizes in banked memory of the CX16.
By AndyMtWhile waiting for the X16 to get real, I started to design my own computer case. I want it to resemble the keyboard or wedge-shape cases of the 80ies era. I owned a TI-994A and a Atari ST back then and I wanted to have something similar where I can put the X16 board in. I've integrated a Xtrfy TKL K4 keyboard and integrated a MISTER, Raspberry Pi (and a KVM Switch).
I've published the design on Thingivers, where you can find the latest versions (I won't update here):
Assembly might be a challenge and you have to see what type screws to use to mount things together.
LICENSE: Creative Commons Attribution-NonCommercial-ShareAlike (CC BY-NC-SA 3.0)
By ZeroByteThis is a simple quality-of-life bash script I wrote.
It makes it easy to install multiple versions of the emulator on the same system and run them from any arbitrary place. I have a directory ~/x16emu where I then create subdirectories for each revision, e.g. ~/x16emu/r38
The r38 folder is just the contents of the release .zip file (x16emu, rom.bin, kernal.sym, etc)
I place this bash script in the path (e.g. /usr/local/bin) and rename it x16emu. Now you can launch any revision by typing x16emu -v r38 and all other arguments are passed through to the actual emulator. Furthermore, if you want to use a custom ROM image and put -rom /path/to/customrom.bin , then the bash script uses that and does not send its own auto-generated -rom argument.
By WertzuiA simple Morse code program. Written in QBASIC as a learning process, ported to various CBM machines, and now on Commander X16, because why not!
It can translate from text to Morse, or from Morse to text.
The input can be typed in, or loaded from a file.
It has different modes of operation, in how it uses the signal marks. I have implemented 3 modes based on what I saw in different programs. The characters of the signal marks can be specified by the user.
Sound output can be configured too.
The character output can be saved to disk. It will work even if the output is longer than 255 characters (and also can be loaded back).
Note: it only processes files up until it encounters a Carriage Return (PETSCII 13) character. Settings are saved too, but are not processed, as of yet. (Using the proper settings is vital for Morse->text translation to work.)
(This is the first piece of program code I release anywhere 🙂)
By SlithyMattIt's a stopwatch. S to start/stop, R to reset, Q to quit to BASIC.
As seen on YouTube:
Source available on GitHub: https://github.com/SlithyMatt/x16-assembly-tutorial/tree/main/Lesson10
By JimmyDansboIRClock shows a digital clock in the upper right corner of the screen. This way it is possible to keep an eye on the clock even while being productive on the Commander X16.
The program copies it self into golden RAM, starting at $0400 and takes up a total of 195 bytes. After initialization, the program does not need any of the memory usually used for BASIC and can be overwritten.
When the program is running, the current hour, minute and second can be poked into addresses $400, $401 and $402 respectively.
The values must be BCD encoded which essentially means, just poke them in as hexadecimal values i.e. 11:04 would be poke'd in like this:
Result is immediately visible.
By JimmyDansboWhile waiting for a release of actual hardware, I thought it might be a good thing to have some software to test the memory in the banked area.
I stumpled upon an old article about a fast memory test procedure and created this small program to test alle available memory banks except bank#0.
Be warned, this is a destructive test, but it only works on memory area $A000-$BFFF and only on bank 1+.
You can find the original article here: https://cx16.dk/fastramtest/