[Coco] How Many OR90s can be utilized?

RETRO Innovations go4retro at go4retro.com
Sat Nov 12 01:17:47 EST 2016


On 11/12/2016 12:03 AM, William Astle wrote:
> On 2016-11-11 10:48 PM, RETRO Innovations wrote:
>> Is it possible to (or does software exist to ) utilize more than Orch 90
>> device in a single system?
>
> You would have addressing conflicts. I don't believe the Orch 90 uses 
> the SCS line for it's DAC registers which means its registers are 
> present even if its slot isn't active.
>
> If you could relocate the DACs for one or more Orch 90s, you could use 
> them all in the same system but it will require either modding the 
> Orch 90s so you can set the DAC addresses or a special multipack 
> scheme that remaps the Orch 90 registers.
>

I understand, but I have created an orch90 replacement on the CocoFLASH 
cart, and so I can control where it sits (or if it sits in memory).


The easiest approach is to do this:  (pseudo code)

; assume $ff64 is base reg of CocoFLASH 1, and bit 3 of the base reg 
controls if the OR90 support on the CocoFLASH is present or not:

; grab 4 channels of data

; turn bit 3 on in $ff64

; store left1 value in $ff7a

; store right1 value in $ff7b

; turn bit 3 off in $ff64

; now assume $ff68 is location of second CocoFLASH

; turn bit 3 on in $ff68

; store left2 value in $ff7a (will be sent to second CocoFLASH)

; store right2 value in $ff7b

; turn bit 3 off in $ff68

; repeat

The turning of bit 3 on/off is a "cheap way" to accomplish the goal.

But, if doing the twiddle of bit 3 takes too much time, it is also 
possible to put the second DAC channels in another location.  Two options:

hard coding:
; if CocoFLASH unit is #1, put OR90 regs at $7a/$7b
; if unit is #2, put regs at $7c/7d
; unit # 3, $XX,XX+1
; unit #4, $yy,$yy+1

Advantage:  cheap to put in the CPLD.
Disadvantage: very hard coded.

soft coding:
; use special register config to set base address of CocoFLASH #1 OR90 regs
; use a second special register config to set second CocoFLASH base OR90 
address

Advantage: highly configurable
Disadvantage: currently takes way too many CPLD macrocells

So, there are my options.


-- 
RETRO Innovations, Contemporary Gear for Classic Systems
www.go4retro.com
store.go4retro.com



More information about the Coco mailing list