Magazine Archive

Home -> Magazines -> Issues -> Articles in this issue -> View

Article Group:
Computer Musician

OMDAC Update 2

Two alternative hardware modifications for adapting our music control micro-peripheral for use with the BBC B.

E&MM's music control microperipheral is already compatible with the Acorn Atom and Spectrum micros, and this month we present two alternative methods of modifying the original design for use with the BBC Model B. Jim Grant and David Burden

Next month's E&MM will feature an extensive drum sequencing program that makes use of our OMDAC project, analogue electronic percussion modules (see elsewhere this issue for details of how to turn these into a complete electronic drum kit), and the BBC Model B home computer. However, since the OMDAC was originally designed for use with the Acorn Atom and Sinclair Spectrum micros, some hardware modifications must be carried out before it can be controlled by the Beeb.

Figure 1
(Click image for higher resolution version)

Both approaches make use of the BBC's 1MHz bus and the memory page known as 'FRED'. In the first method address line A7 is used to select between the ADC and the 8255 PIA. Of course, this is a terrible waste of I/O space, but that doesn't matter too much if nothing else is mapped into page FRED. Due to the peculiarities of a 2MHz processor controlling the 1MHz I/O bus, Acorn recommend that the circuit shown in Figure 1 be used to 'clean up' the FRED page select. The new addresses are shown in Table 1.

Figure 2
(Click image for higher resolution version)

Figure 2, meanwhile, shows a simple circuit for generating separate R and W signals for the OMDAC. This is necessary because the 6502 uses a single R/W line while the 8255 PIA was intended for the 8080/Z80 microprocessor family. The best way to incorporate the BBC decoding circuits is to build everything on a piece of stripboard and mount it on pillars inside the case. Remove ICs 16 and 17 and solder flying leads from the strip-board to the OMDAC PCB.

Figure 3
(Click image for higher resolution version)

The alternative method involves only a simple rewiring of the logic gates so that they respond to the new addresses. The modifications required are shown in Figure 3. These put the DAC/VIA side of OMDAC at &FC00 - the bottom of FRED - and the ADC at &FC80.

However, it should be noted that the decoding is not complete, and that further work would be required if any other device were to be used on the 1MHz bus at the same time. To communicate with OMDAC, an OSBYTE call (with A% = 146 to read or A% = 147 to write) is used. X% holds the offset within the page (0-3 for the VIA registers, 128 for the ADC) and Y% holds the data.

More with this topic

Browse by Topic:

Electronics / Build

Previous Article in this issue

The Fairlight Explained

Next article in this issue

Greengate DS3

Electronics & Music Maker - Copyright: Music Maker Publications (UK), Future Publishing.


Electronics & Music Maker - Oct 1984

Donated & scanned by: Stewart Lawler

Computer Musician

Previous article in this issue:

> The Fairlight Explained

Next article in this issue:

> Greengate DS3

Help Support The Things You Love

mu:zines is the result of thousands of hours of effort, and will require many thousands more going forward to reach our goals of getting all this content online.

If you value this resource, you can support this project - it really helps!

Donations for May 2022
Issues donated this month: 1

New issues that have been donated or scanned for us this month.

Funds donated this month: £54.00

All donations and support are gratefully appreciated - thank you.

Magazines Needed - Can You Help?

Do you have any of these magazine issues?

> See all issues we need

If so, and you can donate, lend or scan them to help complete our archive, please get in touch via the Contribute page - thanks!

If you're enjoying the site, please consider supporting me to help build this archive...

...with a one time Donation, or a recurring Donation of just £2 a month. It really helps - thank you!

Small Print

Terms of usePrivacy