Retro Programming

Here you will find updates, information, and download links to various Tandy Color Computer projects i’m working on as well as other retro-computer related content. Feel free to check the “About Me” section for contact info if you have any questions, comments, or requests! Thanks and enjoy!

My Current CoCo Projects

My Current CoCo Projects

This is a list with links to all my current and past projects where you can find download links to the programs and/or source code. Feel free to reach out if anything is incorrect or missing. Enjoy!

  • Custom Keyboard Polling Routine
  • CoCo Chiptunes Player
    • NitrOS-9 sound chip player for FM-synth style music files such as CCT and VGM. Currently the player only supports the sound chip in the Mega-Mini MPI add-on.
  • DOSDIR v1.1
    • A directory listing command for NitrOS-9 using an MS-DOS style layout with file size and free space presented in decimal comma-separated numbers. The free space calculation time is dramatically improved over the stock DIR command.

The Release of DOSFORMAT for NitrOS-9!

While there are readily available tools for copying files to/from a DOS-compatible floppy disk with OS-9, there aren’t alot of options to FORMAT a raw/blank/non-dos 3.5 inch DS DD disk for use with DOS/Windows machines. There is a suite of 3rd party modules that can do it and more, but they are a pain to setup and some of the modules are hard to track down. Sooo I made this. 😀 I called it DOSFORMAT because MSFORMAT was already taken. 🙁 It doesn’t depend on ANY 3rd party solutions and works with any standard NitrOS-9 install (including Ease Of Use editions). Currently, it only supports 3.5 inch Double-Sided Double-Density disks (720K), but I’d like to add support for 5.25 disks too when I get some kind of device that lets me hook one of them up to my PC for testing. Below is a download link to a zip file which contains the DOSFORMAT command program and the source code (messy as it is). Feel free to play around with it and let me know you think. My contact info is over HERE. I hope you find it useful, or just neat to play with. Enjoy!

Download Link: dosformat11.zip

CoCo Chiptunes Player for NitrOS-9 is Released!

So I finally have a working chiptunes player for OS-9! “Chiptunes” are FM synthesizer-based song files often found in video games, etc. This player currently only supports the OPL sound chip inside the Mega-Mini MPI, but I plan to hopefully support more hardware like the GMC and the Speech Sound Pak in the future. Give it a try and feel free to let me know what you think or what additional sound chips you’d like me to support later on. Below is a link to a ZIP file containing disk images of my program in various forms, and a demo video of my showing it off on my system. The VHD is a hard drive image that also has many CCT and VGM song files to try. The DSK file is a 720KB image with just a few song tracks I could fit for those who don’t have hardware supporting large disk images. I encourage you to try your own VGM files too and let me know if any of them give you trouble. A HUGE thank you to everyone that helped me put this together.

Download Link: cctplayer.zip

My Custom CoCo Keyboard Polling Routine (Initial Release)

Some people seemed interested in checking out the custom keyboard polling routines I wrote for the CoCo from scratch. It does not depend on BASIC in any way. It does depend on a little bit of code being put inside an interrupt. It’s a work in progress and not complete by any means, but maybe it will help someone 🙂 Feel free to reach out with questions or suggestions using my Contact Info!

Download Link: lorddragon_keyboard.asm

My Disk Utility Project for the Tandy Color Computer

So I thought I’d start documenting my CoCo programming projects on my website. (Inspired by Nick Marentes’s development blog of his cool upcoming game Gunstar). My main project is a disk utility that I am currently calling “RS09” (I may change it in the future). You may think “ANOTHER disk utility after all the ones made over the years?! Why?”. Well the main reason is because I’ve always been fascinated with disk formats and this project is the perfect way to learn all the ins and outs of CoCo hardware and 6809 assembly language.

Intro screen to my disk utility. Shows the default format/device for the drives.

The other reason is because this utility will support devices both old and new, physical floppy drives to CocoSDC, and it will support both DECB formatted disks and OS9 formatted ones. You’ll be able to copy files directly from one format to another, whether they are on an actual 5.25 inch floppy disk or a DSK image on the CocoSDC. There is an awesome tool that does the same kind of thing (and more) called MShell by Bill Pierce complete with a fancy GUI, but it requires you to be running OS9. My utility is completely STANDALONE. Everything is completely custom and written from scratch that talks directly to all the hardware. It doesn’t even use BASIC calls for things like keyboard. It uses a command-line oriented interface that will be customizable at some point. I originally started writing the code in C and compiling it with CMOC developed by Pierre Sarrazin, but as I got closer and closer to the hardware, it got more and more difficult. So I started re-writing everything I had so far in pure 6809 assembly. The CoCo development community has been a huge part of my endeavors, answering my endless questions about 6809 ASM and giving all kinds of great advice. They will all be getting a HUGE thank you in my credits when I finish the program. Anyways, here is a snapshot of my progress so far:

Here you can see both disk formats in action at the same time.

So far, in terms of functionality, I have directory listing, changing directories on OS9 disks, and various commands for controlling which disk format a drive number should use and which device to use for each. I’m currently working on the file copy part. I did a short demo video of this in action if you want to check it out. Thanks for reading. 🙂

Quick demo of my program accessing various disk hardware devices. Also, my accent is Boston as hell. LOL.