Posted on

6809 Pull-up Resistors

As many of the Dragon and Coco community will be aware, the Dragon MSX 2+ board has been in development for around a year now. This evolution of the WordPak 2+ board by CocoDemus features three main ICs for audio and video supported by a CPLD.

It has been working flawlessly with real disk drives, the DragonDrive and the DragonMMC. With workarounds it has also been working well with the Coco SDC. By workarounds I mean that the VDK image would need to be selected using Pere Serrat’s extended DOSPLUS (which is how the Coco SDC usually boots for Dragon machines), but then a BANK command would need to be issued which would retain the VDK image, but reboot into another DOS – typically SUPERDOS E8 or Eurohard DOS 4.2.

After much head-scratching and experimentation between myself and Pere, Darren Atkinson (the designer of the Coco SDC) came up with a suggestion as to what might be wrong. He suggested that the 6809 SYNC command used in the various DOS versions might be susceptible to all of the additional circuitry that was connected (with the Coco SDC and the Dragon MSX 2+, there is a lot!).

Essentially the SYNC command is designed to put the 6809 busses and R/W lines into an open-collector or high-impedance state, whilst the 6809 waits for an external interrupt to be fired. The theory as to what was causing the issue was that the additional circuitry could be causing stray capacitance to trigger spurious activity within the CocoSDC – and essentially crash the device. The solution – which is fitted to all Coco 3s by default, is to connect 4k7 pull-up resistors between +5V and R/W and each of the address lines.

I originally modified an Oojamaflip 2020, as this was the simplest and safest way to test this out, and lo and behold, it worked. The Dragon MSX 2+ and Coco SDC were now able to operate in perfect harmony with no DOS banking required.

This lead to the development of two off-the-shelf products that could be used to implement this fix. One being an updated version of the Oojamaflip 2020 – the aptly named Oojamaflip 2021, and the other being a very compact CPU adapter board (6309/6809 Pull-up Adapter – Kit Version).

Of course there is absolutely no reason why you cannot modify your own Dragon to add these resistors somewhere else. Underneath the motherboard is a possibility if you are feeling brave – though do watch for areas where the solder mask is not protecting adjacent tracks properly.