Differences between dragon and coco detectable from the cart slot

For the discussion of all hardware related topics.
Post Reply
athingwd
Posts: 5
Joined: Tue Feb 11, 2025 9:54 am

Differences between dragon and coco detectable from the cart slot

Post by athingwd »

Hello Everyone
This is my first post here, so pardon me if i have incorrect etiquette.
I am looking for tips and ideas for how to tell the difference between a dragon and a coco that are detectible from the cart slot.
We are working on a cart that has a raspberry pi pico on it emulating a ROM, and would like to not require a jumper to select coco or dragon compatibility. Or worse yet, a separate software load per platform!
There is an obvious solution where we monitor bus transaction and look for sequences from known boot code per platform, but this seems like it would possibly be problematic for implementation.
Are there any known, easily detectible from simple sampling of a few signals, ways that people have discovered?
Any ideas appreciated!
Thanks,
Bill Athing
User avatar
Bosco
Posts: 341
Joined: Tue Mar 04, 2014 11:49 pm
Location: Nottingham, UK

Re: Differences between dragon and coco detectable from the cart slot

Post by Bosco »

sorchard showed me a simple method for determining whether a machine is PAL or NTSC by timing a video frame (in case that's useful) but obviously not all Dragons are PAL and not all CoCos are NTSC.
sixxie
Posts: 1431
Joined: Fri Jul 18, 2008 8:36 am
Location: Hertfordshire
Contact:

Re: Differences between dragon and coco detectable from the cart slot

Post by sixxie »

Would also involve running code on the CPU - the video timing IRQs aren't visible from the cartridge port.

Must admit I can't think of anything obvious. Electrically it's pretty much identical to a CoCo 1 (with +12V on pins 1 & 2).

But yes you can see ~RESET and the busses, so as long as your pico is up in time you could see the vector fetch difference ($B3B4 for Dragons, $A027 or $8C1B for CoCos).

(Edit: and if it's not up in time, maybe you could hold ~HALT until you're ready?)
Post Reply