Tuesday, March 5, 2019

RC2019/03 -- Getting Started

It's RetroChallenge time once again! In fact, we are already five days into the contest, and I still haven't posted a "start" entry. I reckon it is time to fix that... 

Project Description 

I'm going to work on a Tandy Color Computer (CoCo) project that enables the use of the CoCo's Game Master Cartridge hardware as a means for playing a variety of "chiptunes". That sounds simple enough, but let me break it down a bit further.

I designed the Game Master Cartridge (GMC) hardware _specifically_ to be a platform for distributing games on cartridge. This would seem to solve the "chicken and egg" problem of having a game require an audio hardware upgrade, since that exact upgrade is provided in the same hardware package as the game that uses it. Alas, some in the CoCo community are averse to distributing software on cartridge due to (IMHO exaggerated) concerns about cost (as if there is no cost to an independent "sound card" or no advantage to pairing the hardware with the software on cartridge)...

I have been somewhat reluctant to promote the GMC as a stand-along sound card technology. This has primarily been due to the GMC's reliance on the inherently "slot based" addressing associated with the ^SCS signal on the expansion bus. My opinion is that a properly independent sound card should use a fully decoded address like the Orchestra-90, Speech/Sound Pak, Deluxe RS-232 Pak, and other CoCo add-on cards. Nevertheless, contemporary alternatives for CoCo audio hardware (e.g. CoCoPSG and the MegaMiniMPI) have chosen to rely on ^SCS-based addressing. So, why shouldn't I? What is good for the goose is good for the gander! 

Where Things Stand 

Dozens of GMC cards are already in the hands of the public, having been sold to "developers" either as kits or pre-assembled. Dozens more will soon be made available in the form of "Fahrfall: Master Edition" cartridges that can also be used as a sound card by other software. This project is intended to illustrate how to make use of this hardware on a CoCo and to provide an extra resource that adds value to those cartridges.

Many people will want to make noises with their GMC using the built-in BASIC on the CoCo. Even those using assembly language or some other programming environment will benefit from some simple examples of how to setup the cartridge and how to drive it. In fact, some time ago I made BASIC sources available to that effect. I have also published a video, demonstrating the use of those programs.

Chiptunes that target the SN76489 on the GMC are commonly available. These seem to be concentrated in the Video Game Music (VGM) format, but your mileage may vary. At it's core, VGM represents music as a timed sequence of register value and is relatively simple to handle as input data for a music player. In fact, I have already demonstrated a player which embeds VGM data into a ROM image.

What remains is to implement something with more flexibility, such as the ability to load music files from a diskette. Some concessions to "ease of use" may be appropriate as well.

Want to see where I take this project this month? Well, then I guess you will just have to stay tuned...

No comments:

Post a Comment