[Coco] Memory Expansion Beyond 64k for the Coco 2

Aaron Wolfe aawolfe at gmail.com
Thu Jun 28 07:00:21 EDT 2012

On Thu, Jun 28, 2012 at 5:50 AM, Computer Doc <computerdoc at sc.rr.com> wrote:
> Hello Everybody,
> Thank you all for the tips on places from which I can order the Motorola &
> Hitachi chips.  I recently received NEW chips, both 68B09 and 63C09, from
> UTSource.net!  I must admit I didn't ever expect to be able to order new
> chips these days!
> Is there a memory expansion upgrade available for the 64KB Coco 2?  I want
> to upgrade my 64KB Coco 2, and also add Memory Management (MM) of some type
> to Grant Searle's 6-Chip 6809 Computer.  I say for the Coco 2 because it
> doesn't use a GIME chip, which except for the graphics portion and the
> MC68B21 PIA chips, it's close (not exactly of course) to Grant Searle's
> 6-chip 6809 computer which is also a 64KB design using 32KB of RAM and 32KB
> of EPROM.  I've thought about bank switching 32KB of RAM at a time for a
> total of two banks.  I've drawn up some circuits with this design idea using
> a 4Mb chip yielding 512KB of RAM, but I'll need to write a driver for
> NitrOS-9  eventually.
> The only task left, to complete my version of Grant's 6-chip 6809 computer,
> is to program an EPROM with the 6809 Extended Basic.  I'm just waiting for
> my UV EPROM Eraser to arrive so I can erase my 27C128 EPROM and program
> Grant's 6809 Extended Basic into it.  I've already read it with Willem's
> GQ-4X True USB EPROM Programmer that I connected to my Quad-core 8MB RAM
> laptop PC running Windows 7 and it worked great reading the 27C128 EPROM!  I
> still has an old Pheonix BIOS in it!  I'll then be able to test my first
> home-built 6809 computer!  Yeh!  I can hardly wait!
> I'd like to experiment with a Western Digital 2793 or 2797 disk controller
> chip design or maybe interface the SuperIDE cartridge to it so I can run
> NitrOS-9 Level I.  Later, after adding a MM scheme,  I like to run NitrOS-9
> Level II on this home-built 6809 computer.  If I can't find a simpler MM
> scheme then COCO 3's version,  I might have to implement Coco 3's more
> complex version of memory management.   If I used the SuperIDE CF & Floppy
> disk Controller,  HDBDOS would have to be modified to use this 6809 Extended
> Basic.  I wonder how involved that will be.
> Could NITROS-9 be changed to boot on this particular configuration?   All
> communications is through the RS-232 port and no graphics will be supported.
> Hum, HDBDOS with Drivewire 4 with some modifications would be very
> interesting.
> I read somewhere on the internet that a different memory management scheme
> had been created for the COCO 1 & 2 that had a driver written for OS-9 that
> bank switched 32KB at a time, if memory serves.  If so, that would be easier
> to implement then COCO 3's MM scheme.
> I'm interested in using NitrOS-9 for 6809 assembly language and C language
> development controlling various types of add-ons.   One I'd like to play
> with is an AY-3-8910 Sound generator chip I just received a few days ago.
> I'd like to update 6809 Extended Basic with some commands to control the
> chip.  Does anyone have any 6809 code that could be used with the AY-3-8910
> sound generator chip?
> I'd also like to build a 6309 based system similar to Grand Searle's design
> but using a monitor program written for the 6309 line of cpus.  Does anyone
> know of such a monitor?  I could use a 6809 monitor, but I'd like to find
> one written for the 6309.  Also any ideas for 6309 code are welcome.  I'd
> like to think someone has written a monitor for the HD63C09 processor taking
> advantage of its extended capabilities.
> I also received a  couple of MC68HC11A1P chips that I'm looking forward to
> interfacing with.  I was very happy to find a monitor for the MC68HC11
> processor on the internet.
> That's all for now.  Happy '09ing! :-)
> Kip

Lots of questions in here, you might get better results on the list by
separating them into different threads.

As for adding an MMU to the 6809 system you have (very interesting
stuff by the way), you might want to look at how some of the other
6809 systems that ran OS9 worked.  I believe some of them used an MMU
made by Motorola specifically for the 6809.   You can find lots of
information about these systems (GIMIX, Smoke Signals, etc) in the 68
Micro Journal, available here if you don't have it:

I think NitrOS9 or OS9L2 would take an awful lot of adaptation if you
could only swap 32k banks, if supporting such a scheme is even
possible.  I'm not intimately familiar with the kernel, but what I've
seen leads me to believe that one page dedicated to the system has to
stay mapped in pretty much all the time, and the OS9 calls that copy
memory blocks between address space in two different pages do so by
mapping both pages in.  That means 3 pages minimum without changing
the plumbing in some pretty dramatic ways, unless I misunderstand how
it works (which is certainly possible).   You might want to consider
doing 8k blocks like the GIME just to save that kind of work, if it
doesn't make your design too much more complex.

More information about the Coco mailing list