Retro Tech

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!

  • CoCo Chiptunes Player v1.3
    • NitrOS-9 sound chip player for FM-synth style music files such as CCT and VGM. Currently the player only supports the sound chip inside Ed Snider’s Mega-Mini MPI addon.
  • CoCo WX v1.0
    • A simple command-line live weather data program I wrote for NitrOS-9. It uses DriveWire and the free web service to grab current conditions for almost any city in the world!
  • DOSFORMAT v1.1
    • A tool for NitrOS-9 that lets you format a 3.5in 720KB Double-sided Double-density floppy disk using a Color Computer into a standard MS-DOS compatible FAT12 one.
  • 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.
  • Custom Keyboard Polling Routine

Updated Coco Chip Tunes Player To Version 1.3!

Hey all, so I just put together a new version of my OPL2/OPL3 FM synth chiptune player for NitrOS-9. I’ve heard a few people asking why my player requires the CoCo to be locked/frozen during playback, and the reason is this. Despite the fact that it is not ACTUALLY playing sampled audio, the VGM file format still structures the soundchip data according to the same sort of timing that regular sampled audio uses. This means that every CPU cycle is still significant and I need carefully crafted timing loops to play it accurately. I did look into ways to get around this and allow for OS9 multitasking to continue, but I just can’t think of a viable way. It would be no problem if it was custom music written specifically to run on CoCo hardware, but converting a VGM into a multitasking-friendly format would be very difficult. Soooo instead, I had an idea on how to make the player able to stop playback at anytime. To do this, I squeezed a few instructions to poll the keyboard for the BREAK key into my main timing loop and adjusted my cycle counts, and voila, you can now interrupt the “frozen” CoCo whenever you want and resume your NitrOS-9 shenanigans! 😀 An unexpected feature of this, is that for playlists, you can essentially skip a song whenever you want and move on to the next one immediately without having to wait for the current song to finish playing. Anyways, below the video is a link to a zip file containing my updated player and a few disk images that include some sample music for you to play with. (Pun INTENDED) 😛 Have fun!

CoCo Chiptunes Player v1.3 For NitrOS-9

New Weather App “CoCo WX v1.0” is Released!

So ever since I discovered DriveWire’s ability to let you make TCP connections via serial port, I’ve been trying to dream up “apps” to bring the CoCo into the Internet Age. I’m still putting the finishing touches on my upcoming IRC chat client, but in the meantime, I wrote CoCo WX which is a simple command line program that leverages the awesome live-weather data site to grab current condition info for nearly any city in the world. I’m a bit of a weather geek (see the posts I’ve made about my own weather station for proof), so I thought it would be a useful and fun little tool to make. As usual, if you’d like to give it a try yourself, the link to download the program and source code will be below!

CoCo WX v1.0 Download

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:

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:

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.