“best of Xipod X16 content”

Summary of Commander X16 related content by voidstar…


INTRODUCTION ITEMS (PDFs, settings things up):

Introducing Your Commander X16 Personal Computer (brief intro, 20 pages)
https://cx16forum.com/forum/viewtopic.php?p=33611
https://voidstar.blog/voidstars-commander-x16-notes/
https://github.com/voidstar78/X16_MANUALS/blob/main/CommanderX16_IntroducingYourX16_Manual_DRAFT_REV9.pdf

Commander X16 Quick Intro FAQs for Setup
https://cx16forum.com/forum/viewtopic.php?p=31079#p31079

X16 SD-card image “launch title” software (includes also a deep-dive into the AUTOBOOT.X16 and a walk-thru of how BASIC tokens work)
https://cx16forum.com/forum/viewtopic.php?p=33982#p33982
https://voidstar.blog/the-commander-x16-launch-sd-content-explained/


REVIEWS/DISCUSSIONS:

The X16 Serial Card Intro and Notes – Connecting Two X16’s
https://cx16forum.com/forum/viewtopic.php?p=33910#p33910

David Ahl’s Benchmark from 1983 on X16 and other 8-bits. References an early 1980s BASIC benchmark program, and reproduces the runtime results across various historical and modern systems.
https://voidstar.blog/exploring-project-ahl-in-2024/
https://cx16forum.com/forum/viewtopic.php?p=33712#p33712

The X16 (and 6502) a historical perspective. This is one of the main reasons I support the X16, is because it was developed right in the same area as the original TRS-80 home computer, and in a way quite similar to its original process.
https://cx16forum.com/forum/viewtopic.php?p=29430#p29430

L3 KeyAT-4 PS/2 input tool working with X16. This is a device to inject keystrokes into the PS/2 port, generally used for automated testing, but also useful for “self-running demos” on the X16.
https://cx16forum.com/forum/viewtopic.php?p=29422#p29422
https://github.com/voidstar78/KeyAT4SerialHelper

Alternative to a standard case? Consider the Carbon Fiber edition
https://cx16forum.com/forum/viewtopic.php?p=33325#p33325

X16 and 386DX-20 Comparison (Second Reality). This is a play-thru of SecondReality side-by-side with a 386, 486, and Pentium (“586”). Enable cc for commentary dialog of the skit.
https://www.youtube.com/watch?v=iq8vB0I10Z0


TUTORIALS/EXAMPLES:

cc65 intro example for X16 (guide for C-compiler development targeting the X16)
https://cx16forum.com/forum/viewtopic.php?p=28688#p28688
https://voidstar.blog/using-cc65-c-compiler-with-commander-x16-and-wintel/

BASLOAD Tutorial / Notes
Four small examples on how to use on-system BASLOAD features.
https://cx16forum.com/forum/viewtopic.php?p=34302
https://www.youtube.com/watch?v=BC8ccp8HrIM

Base64 Encoding and Decoding (BASLOAD example). This differs from radix conversion, as “Base64” is commonly referred to a standard approach that conveys binary data via 64 standard printable characters support by nearly all systems since the 1960s. “Base64” allows things like images, e-mails, and general data files to get communicated across many different kinds of systems.
https://cx16forum.com/forum/viewtopic.php?p=33895#p33895

ASM and BASIC sample (RNG) comparison (and FN/XOR example): Example of using DEF FN for XOR, and adapting some assembler back into BASIC
to get a random value.
https://cx16forum.com/forum/viewtopic.php?p=30400#p30400

X16 TRIG: A demonstration of applying a few trig functions to compute x-y coordinates relative to a central point. [BASLOAD, requires R48 due to use of the RING keyword]
https://cx16forum.com/forum/viewtopic.php?p=34591

Solar System Calculator (SSC): A program to calculate real-world distances of where to place models of the planets along a given distance, to keep them to scale. Also has an “Easter Egg” case that draws a model of the solar system (108 8).
https://cx16forum.com/forum/viewtopic.php?p=34655

X16 VCF SW 2024 Quick Promo w/ BASLOAD+BMX+ZSM: A quick project borrowing from Tony’s BMX viewer BASLOAD, mixing in MooingLemur’s ZSM code, to toss together a fun little demo during a regional VCF conference.
https://cx16forum.com/forum/viewtopic.php?p=33896#p33896

A Very “BASIC” Program Launcher: a simple BASLOAD program to show a menu and execute DOS commands to load up the selected program.
https://cx16forum.com/forum/viewtopic.php?p=33780
https://cx16forum.com/forum/viewtopic.php?p=33807#p33807

“100COIN” Simulator: A BASLOAD project showing running a simulation of N coin flips and recording results over time (also an example of using BANK’d memory, N can be configured up to 8192 but defaulted to 1000)
https://cx16forum.com/forum/viewtopic.php?p=34588

Dynamic Background Without Sprites: a cc65 project demonstrating a “brute force” process for doing animation without using sprites (adapted from the Commodore PET)
https://cx16forum.com/forum/viewtopic.php?p=34598

The Sunrise Tutorial Program and Challenge
https://cx16forum.com/forum/viewtopic.php?p=33851#p33851

Example of using EXEC for self-modifying BASIC code. This example explores a use-case for “self modifying code” within BASIC, and approach in doing so using the EXEC keyboard. This demonstrates some limitations to the concept.
https://cx16forum.com/forum/viewtopic.php?p=34865#p34865

Intro to VERA (using BASLOAD): Example of interacting with a few primary VERA registers from BASIC.
https://cx16forum.com/forum/viewtopic.php?p=34583

Multi-key Test Program (cc65 C and ISR example). Sample of how to inject a keyboard ISR and monitor for multiple simultaneous keypresses.
https://cx16forum.com/forum/viewtopic.php?p=33909#p33909

Sample outline of rate groups in BASIC. While not truly “multi-tasking” it does show an approach on how to throttle the rate of multiple activities within BASIC in a more coordinated fashion (and for example shows the programming running the same whether system is set at 8/4/2MHz).
https://cx16forum.com/forum/viewtopic.php?p=29526#p29526

VIA usage + ISR + “asm blobs” BASLOAD example. Example of how to use DATA sequences to inject “inline assembler” (really, inline machine code) within BASIC programs. This example adds an ISR to monitor a counter using VIA#2.
https://cx16forum.com/forum/viewtopic.php?p=30095#p30095

X16 and the BASIC USR function (multi-argument and 65C02 special powers revealed). The USR function of BASIC still remains a confusing feature, but this was an attempt to show how to pass multi-arguments (of BASIC variable values) to a USR assembler function. WIP, still need a better or more concise example (and follow up more clearly about FAC registers, which the System ROM may be missing full support on converting to/from). Take away: don’t spend too much time on using USR 😛
https://cx16forum.com/forum/viewtopic.php?p=29608#p29608

Command Line Arguments for BASIC. Example on a concept of reading directly from the text-screen, to look for the RUN command and directly interpret some command line arguments to be passed into a BASIC program.
https://cx16forum.com/forum/viewtopic.php?p=30642#p30642

How to use the Mouse Wheel on X16 (BASIC and ASM). Exploring a couple ways to use the mouse wheel.
https://cx16forum.com/forum/viewtopic.php?p=29503#p29503

Confetti2 – created by accident. While a very simple BASLOAD/BASIC program, it uses a trig function in an interesting way (resulting in a kind of “demoscene” effect in BASIC).
https://cx16forum.com/forum/viewtopic.php?p=33382#p33382


GAMES:

Lower Decks (adventures in SCREEN 7 w/ BASIC)
https://cx16forum.com/forum/viewtopic.php?p=30048#p30048

LowerDecks II: Warp Core (1-4 players, BASIC)
https://cx16forum.com/forum/viewtopic.php?p=33710#p33710

Memory Match (card matching game, BASLOAD)
https://cx16forum.com/forum/viewtopic.php?p=33960#p33960

VELOCITY Target Practice (BASLOAD)
https://cx16forum.com/forum/viewtopic.php?p=30571#p30571

Zener ESP Tester (BASLOAD, serial ports), using two X16’s to perform the Zener Card’s human ESP potential
https://cx16forum.com/forum/viewtopic.php?p=34521#p34521

Wheel of Fortune (BASIC, text-mode adapted from 1984 P.K. version)
https://cx16forum.com/forum/viewtopic.php?p=28950#p28950

Destiny Hunter (PETSCII story-adventure) [cc65]. Concept WIP, did not port the audio that was used in the original PET version.
https://cx16forum.com/forum/viewtopic.php?p=33601#p33601
https://cx16forum.com/forum/viewtopic.php?p=29446#p29446
https://www.destinyhunter.org


UTILITIES/APPS:

X16 “Wall Clock” 20×15 custom fonts. A simple digital-clock presentation that uses a custom font to present large numerical values. Also has features like hourly charm and adjust background colors, and can animate a portion of the custom font for an interesting banner effect.
https://cx16forum.com/forum/viewtopic.php?p=29580#p29580

BASTERM Serial Terminal in BASIC (BASLOAD). A BASIC implementation of a simple serial terminal that makes use of the TexElec network/serial card registers.
https://cx16forum.com/forum/viewtopic.php?p=34240#p34240

8Bit Wurm: Using a strategy borrowed from DestinyHunter (here), this maintains its own partial-double buffer to enable a kind of animation. This was evolved into a kind of “Pet Wurm Farm” for the X16.
https://cx16forum.com/forum/viewtopic.php?p=35006#p35006

X16 Synth (on-system audio from the keyboard). A BASIC program to read multi-keys to play “frequency correct” audio, like a simple on-system piano to support a couple of octaves.
https://cx16forum.com/forum/viewtopic.php?p=33807

X16FONT On-System Editor Overview. A sophisticated BASIC program to view and edit the currently loaded system font, to create custom fonts, and to write those customizations back to data files that can be re-loaded.
https://cx16forum.com/forum/viewtopic.php?p=33443#p33443
https://voidstar.blog/commander-x16-font-editor/

XINFO (bespoke) mark-up text-document viewer. A cc65 project to support mouse-clickable links between section of a document or external documents, and other tokens (like center content of the current line, or show a divider, etc.). Intended for use in making “text-screen-resolution agnostic” documentation, like a kind of text-mode HTML (but this is not a web browser, this uses a custom set of text-mode tokens).
https://cx16forum.com/forum/viewtopic.php?p=34002#p34002
https://voidstar.blog/all-about-xinfo-for-commander-x16/

WRITEROM: System ROM Extraction (and R47 Prerelease archive). A utility to read all the ROM banks and make a contiguous binary file out of it (used to archive your as-is ROM prior to doing a ROM update; this way you can revert to what you had in case any issue comes up).
https://cx16forum.com/forum/viewtopic.php?p=31112#p31112

Base (Radix) Numeric Value Conversion Tool. Choose base-2 to base-N output of a value given as base-10. At about base-80, we run out of standard printable characters. Best for base-8, base-16, base-32, base-36, base-50, base-64.
https://cx16forum.com/forum/viewtopic.php?p=33864#p33864

X16 BASIC FM (and PSG) Utility. Two BASIC programs to help examine the FM and PSG related audio BASIC keywords across multiple channels.
https://cx16forum.com/forum/viewtopic.php?p=29694#p29694

CAT/TYPE command (with command line arguments). BASIC program to quickly show the contents of a file. More like the “top” command, since can limit the preview to N number of lines or bytes.
https://cx16forum.com/forum/viewtopic.php?p=30551

File Hex Editor for X16. Written using cc65, hex-view of files up to 20KB (can edit and insert content also).
https://cx16forum.com/forum/viewtopic.php?p=29393#p29393

X16 “Serial DOS” (use a connected terminal over RS232 to act as the X16 keyboard)
https://cx16forum.com/forum/viewtopic.php?p=34617