[Coco] CoCo and Rasberry Pi ( and Software Rant )
Brett Gordon
beretta42 at gmail.com
Wed Apr 10 10:01:26 EDT 2013
I propose this:
A Rasberry Pi running DW interfaced into the coco via an interrupt
driven 8 bit becker/boisy port, with some Flash ROM similar to
SuperIDE.
Why a Pi ? Your coco could use anything that Linux supports via USB:
keyboard, mouse, joystick, harddrives, smartcard readers, MMC/SD Flash
readers, Serial Ports. Oh yeah: I guess the Pi's HDMI and Composite
Video is there too. Let's use the Pi for some cool graphics! ( I
believe DW4 has some basic support for this, BTW). Oh yeah the PI is
amazingly cheap.
The Flash ROM solves a very basic software problem we have: it's plain
crappy to boot the CoCo: it's entirely static. ROM: that's all you
have. Even after you boot from ROM you get a static enviroment: both
RS-DOS and RBF systems have NO SUPPORT FOR PARTITIONING. This is
stupid. Disk Partition Tables have been agreed upon and in use in the
MAC/PC world since the late 1970's. It is unacceptable and poor
programming practice that our two main OS's don't support partition
tables. The most hideous part of writing the HDB/IDE drivers for the
original CoCoBoot was the fact that I had to rely on the USER knowing
or grokking around in ROM to manully tell me where a HDB partition
might sit (AKA the HDB-OFFSET ). This is plain wrong. ** We now have
open-source HDB-DOS, and a open-source Nitros9. It's time to drop
the legacy of crappy software design.
Why an interrupted 8 bit becker/boisy port? 8 bits is our inherent
data bus on the 6809. 16 bits would be a touch faster on the 6809,
but 8 bits is more doable on the Pi than 16 bits. Yes, DMA would be
awesomely faster, but has two drawbacks: (1) unless the DMA controller
could put drive data exactly where our OS's want it, then its no
faster than a plain becker/boisy port. and (2) this is complicated.
***
Modern OS design calls for a Hardware Interrupt, NOT polling.
--
Brett M. Gordon,
beretta42 at gmail.com
** Beretta's Rules of Programming No. 2. Computers count well, people don't.
*** Beretta's Rules of Programming No. 9: Simplicity Good! And rule
No. 10: Complexity Bad!
More information about the Coco
mailing list