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.
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.
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:
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. 🙂