Talk:CMOS configuration RAM allocation

From BeebWiki

Jump to: navigation, search

Use this discussion page to suggest and discuss Configuration RAM allocations

Contents

Proposal to use byte 8, bit 6-7

I thinking of using two bits of configuration RAM to store a default MIDI parameter. Looking at the list, byte 8, bits 6-7 would be suitable. Edit uses byte 8 to store its settings in b0-b5. I've checked Edit and it always leaves bits it's not modifying untouched, so b6-b7 are not modified by it. Has anybody else used byte 8 bits 6-7?

Specifics

Most BBC MIDI interfaces use a 6850 ACIA. This requires a clock input. Some interfaces (eg JGH, ETI, M2000) derive this clock from the BBC's 1MHz signal, and so require the feed-in clock to be divided by 16 to get the MIDI 31.125KHz clock. Some interfaces (eg EMR) have an on-board 2MHz clock, so need to divide by 64. I was thinking of tweeking my *MIDI command to be able to set the appropriate clock according to stored configuration.

Further thoughts

It also occurs to me I could or should store the location of the MIDI hardware as well. The MIDI port could be at FC08, FC0A, FC0C (M2000, EMR), FCF0 (ETI, JGH, EMR), FC02, FC04 or FC06 (JGH, EMR) (see 6850Ports).

Retracted

With some clever code suggested by Robert Sprowson, I can actually work out what clock speed I need to set the ACIA to, so I don't need to store the settings any more.

Jgharston 16:05, 24 July 2010 (UTC)