[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