I'm considering designing some cartridges for the
CBM line of
computers, but I'd prefer to skip masses of jumper blocks and move to
a soft-config option.
I know, some of you love jumpers, but for carts,
it's more important
to offer flexible options so that the SW can reconfigure carts on
load.
Personally, I prefer jumpers to soft config for two reasons.
One is that soft config is approximately never documented; it's always
"just run the supplied program" (never mind that I don't have the
for-pay OS that's the only one it runs under and in some cases don't
even have the CPU architecture it's for in the machine).
This one is, of course, totally avoidable when it's your own design,
and some of the issues vanish anyway when the hardware is closely tied
to very specific other hardware, as I gather is the case here.
The other is that I really like to know that software, no matter how
wonky it gets, _can't_ corrupt the configuration - software can't move
jumpers. (This is one of the reasons I dislike peecees, as a class;
they all seem to have gone down the reflashable-BIOS path, but never
with a jumper to disable reflashing. A few saner ones may exist, but
if so they've avoided me so far.)
This one can be addressed by having a real hardware switch of some sort
(such as a jumper) that acts as a write enable. People for whom the
convenience outweighs the security can leave it set writes-enabled
permanently; people like me who go the other way can use it to
write-protect except when deliberately trying to reconfig.
How to _implement_ soft config, which seems to be mostly what you're
asking about, I can't speak to; I'm really just speaking to the
jumpers-vs-softconfig question.
/~\ The ASCII Mouse
\ / Ribbon Campaign
X Against HTML mouse at
rodents-montreal.org
/ \ Email! 7D C8 61 52 5D E7 2D 39 4E F1 31 3E E8 B3 27 4B