Close

More programming / using RC2014 modules

A project log for MSX on RC2014

in which I attempt to make an MSX1 compatible computer using RC2014, keeping to standard RC2014 backplane and modules as far as possible.

shiela-dixonShiela Dixon 07/05/2023 at 20:460 Comments

One big advantage of building this MSX computer using the RC2014 backplane is that you can use many of the RC2014 modules.

First I tried the 8x8 LED matrix. Using BASIC and 3.58Mhz it was a bit flickery, so it was necessary to switch to assembly. I then found my preferred way to work was assemble on my Mac and burn the program to a 'cartridge' ROM.

This made quite a neat development cycle. These little programs are nothing to shout about but they do demonstrate that these modules work well with this computer and that it's perfectly easy to write code to use them.

First I tried the Conway's Life that I'd already written for the 8x8 matrix on RC2014.  I thought that this would be little more than a copy and paste into a cartridge template*. In the picture below and in the video I'm using the full RC2014 clock speed of 7Mhz for the best flicker-free display and the fastest regeneration cycle.

The biggest problem I had was due to me forgetting that any 'variables' declared within the ROM space would not work! They have to be replaced by a reference to a location in the RAM space. 

I also had a few calls to the CPM Bios for things like keyboard input and screen output, but there are similar routines in the MSX BIOS.

The video below shows my Conway's Life for 8x8 matrix running. It wraps both vertically and horizontally, as you can see from the glider.  Before that is an oscillator it came up with which has about 20 steps.

Before that is a demo of my Simon game. I've switched back to the MSX clock speed of 3.58Mhz for that. I'm timing the beeps and animations using a delay, which of course has to be adjusted depending on whether the clock is 7 or 3 Mhz. A better idea is to use the TMS chip for timing which means that games or animations run at a predictable speed regardless of computer clock speed.

This little game looks particularly good on the colourful Pride-edition digital i/o.



* 'template' sounds a bit grand. All you really need is an org $4000 and a 10-byte header:

There's more information about making a cartridge rom in the previous project log.

Discussions