[Coco] DECB -> Pi2/3

James Ross jrosslist at outlook.com
Mon Mar 6 18:14:56 EST 2017

Very good points Salvador!!  --  To repeat Kip Koon -- the idea, does sounds intriguing!   

Now ... to take the idea even a step further, first you boot strait to DECB -- type DOS -- and a few seconds later you're running NitrOS9/ARM ... now that would be cool! :) :)  

Well ... points to ponder anyway! 

From: Coco <coco-bounces at maltedmedia.com> on behalf of Salvador Garcia via Coco <coco at maltedmedia.com>
Sent: Monday, March 6, 2017 9:55 PM
To: CoCoList for Color Computer Enthusiasts
Cc: Salvador Garcia
Subject: Re: [Coco] DECB -> Pi2/3

I've had similar thoughts, although not specifically with a Pi, rather just with a modern CPU in general.

After some analysis I came to some conclusions:

a. Porting DECB to another platform is not difficult. I would need to study on how each routine does its job, but in the end moving from one CPU to another is just a matter of understanding the source and knowing how to replicate this on the target. Perhaps a better word is tedious. In my perception, the biggest hurdle would be learning how to program the target machine.
b. As much as it is not, DECB acts as an operating system. This means that it does not depend on any layer below it. For example (going back), GW-BASIC (or Quick BASIC, if GW causes an allergic reaction) depended on MS-DOS for low level functionality. In turn MS-DOS depended on the ROM BIOS for even lower level functionality. DECB incorporates these three levels into it. These level have to incorporated, mimicked or emulated in the target machine.
c. DECB is machine specific which means that if it implemented on other platforms, and any kind of compatibility wants to be preserved with CoCo DECB software then the new platform needs to emulate the CoCo hardware. This includes memory maps, I/O and ports. To do this, an abstract layer between DECB and the hardware is necessary. Now this is the start of a monitor program or a rudimentary OS. Target resources need to be managed and allocated so that the higher level BASIC program running will run properly. Following your lead, the PI (2 or 3) has anywhere from 512 MB to 1 GB of RAM. Are we going to let most of that go to waste? Of course not! This now means that the layers under DECB need to manage RAM so that we can have a powerful DECB that goes far beyond the limits of the Color Computers.

Frankly, I think this would be a fascinating project to undertake and would jump at the chance to be part of the team. The educational benefits alone make such an endeavor worth it. Regards, Salvador

      From: James Ross <jrosslist at outlook.com>
 To: CoCoList Computer Enthusiasts <coco at maltedmedia.com>
 Sent: Sunday, March 5, 2017 11:36 PM
 Subject: [Coco] DECB -> Pi2/3

I’ve wondered recently, specifically w/ the Pi2/3, it seems many people in the CoCo community have one, would there be an appetite for a project that ports the CoCo’s 6809 DECB code directly to the Pi’s native ARM code.

What made me think of this was Dave Philipsen comment on boot times of the Linux distro on a Pi:

> If the Pi only had to do what a CoCo does it could boot even faster than a CoCo.

The idea is to have a device that is instant on, running on bare-metal, sitting there w/ the flashing cursor ready to run Disk Extended Color Basic (DECB)  at full Pi2/3 speed – not emulated.  You could have two modes: one where the CoCo’s hardware (peeks/pokes) is emulated and an Enhanced Mode with all the modern capabilities of the Pi's I/O's … etc … Must have's would be a full screen editor, structured basic mode w/o line #’s (Basic09'ish?) ...

The problem I see w/ the Pi running bare-metal code, you would not have the luxury of the OS drivers to talk to the Pi’s hardware. And that could be the real show-stopper due to the learning curve of the hardware.  I wonder just how trimmed down you could get the Linux Kernel + just the essential Pi drivers (screen/sound/USB/IO/etc) -- but then does it lose it's appeal if you're still having to boot Linux?

Does the idea fit the nostalgic hobby (retro-ish) criteria? Anyway, not even sure if I would interested in using such a device, or if it’s the challenge of the project that sounds fun! LOL! :)  It's just an idea I have thought of recently.


Coco mailing list
Coco at maltedmedia.com

Coco mailing list
Coco at maltedmedia.com

More information about the Coco mailing list