[Coco] NitrOS9 LEVEL 2 running on multicomp

Neal Crook foofoobedoo at gmail.com
Sat Apr 1 18:57:21 EDT 2017


(this is not an April fools prank)

Back in October 2015 I announced that I had succeeded in booting NitrOS9
Level1 on my enhanced version of Grant Searle's "multicomp" FPGA-based
computer.

Today, I am excited to say that I have succeeded in booting (in emulation)
NitrOS9 Level2 on that same platform.

The board is described here:

https://www.retrobrewcomputers.org/doku.php?id=boards:sbc:multicomp:cycloneii-c:start

It now runs CamelFORTH, BASIC, Buggy, FLEX, CUBIX, NitrOS9 L1, FUZIX and
NitrOS9 L2

As for L1, the L2 boot image is a standard floppy disk image file, slopped
onto an SDcard at a Known offset and accessed by the disk device driver
accordingly. This crude but effective technique allows the SDcard to hold
multiple disk images - the images for multiple OS and bits of software
listed above co-exist on a single SDcard and can be invoked by commands
from the boot ROM (CamelFORTH).

Getting this working has also involved improvements to exec09 emulator,
most particularly to add interrupt support and to improve emulation of the
UART.

This port has been an on/off activity since mid November 2016. It has
involved lots of poring over source code, single-stepping and analysing
reference instruction stream dumps from coco3 emulation under MAME. My
fellow developer Ole can take lots of credit for a lot of this debug work.

Even if you never use a multicomp, you will eventually benefit from this
port in the form of various tidy-ups to the NITROS9 source code.

Boot transcript (from exec09 emulator) follows.

Neal.

$ ./mc09-run-int
Reading symbols from '../6809M.map'...
02:0x1F7E 8606                  LDA   #$06
(dbg) c
6809 CamelForth v1.1  20 Mar 16
NITROS9 NITROS9 BOOTREL Boot Krn
0.............................................................................................bKrnP2
IOMan Init RBF mc09sd DD D0 D1 D2 D3 SCF mc6850 Term T0 T1 PipeMan Piper
Pipe Clock Clock2 SysGo Shell Date DeIniz Echo Iniz Link Load Save Unlink
2xo[uart0 stat wr: PC=0xc39d, addr=0x0000, wdata=0x82]
CNitrOS-9/6809 Level 2 V3.3.0
Multicomp09
(C) 2014 The NitrOS-9 Project
**   DEVELOPMENT BUILD   **
** NOT FOR DISTRIBUTION! **
Sat Apr  1 23:14:29 2017
http://www.nitros9.org

* Welcome to NitrOS-9 Level 2 on the Multicomp09 *

       yyyy/mm/dd hh:mm:ss
Time ? 2017/04/01 23:45:09
April 01, 2017  23:45:10

Shell+ v2.2a 17/04/01 23:45:25

{Term|02}/DD:date -t
April 01, 2017  23:48:23

{Term|02}/DD:date -t
April 01, 2017  23:49:59

{Term|02}/DD:mdir -e

   Module Directory at 23:52:26

Block Offset Size Typ Rev Attr  Use Module Name
----- ------ ---- --- --- ---- ---- ------------
  3F    D06   12A  C1   5 r...    0 REL
  3F    E30   1D0  C1   0 r...    1 Boot
  3F   1000   EE6  C0   9 r...    0 Krn
   1   1000   D41  C0   0 r...    1 KrnP2
   1   1D41   91A  C1   5 r...    1 IOMan
   1   265B    75  C0   0 r...    2 Init
   1   26D0  12EE  D1   3 r...    E RBF
   1   39BE    EF  E1   1 r...    E mc09sd
   1   3AAD    35  F1   0 r...    E DD
   1   3AE2    35  F1   0 r...    0 D0
   1   3B17    35  F1   0 r...    0 D1
   1   3B4C    35  F1   0 r...    0 D2
   1   3B81    35  F1   0 r...    0 D3
   1   3BB6   77C  D1   0 r...    6 SCF
   1   4332   454  E1   2 r...    6 mc6850
   1   4786    3F  F1   0 r...    6 Term
   1   47C5    3D  F1   0 r...    0 T0
   1   4802    3D  F1   0 r...    0 T1
   1   483F   253  D1   0 r...    0 PipeMan
   1   4A92    28  E1   0 r...    0 Piper
   1   4ABA    26  F1   0 r...    0 Pipe
   1   4AE0   1C8  C1   5 r...    1 Clock
   1   4CA8    66  21   0 r...    1 Clock2
   1   4D0E   1FF  11   3 r...    1 SysGo
   1   4F0D  1B57  11   0 r...    4 Shell
   1   6A64    F1  11   0 r...    3 Date
   1   6B55    53  11   0 r...    0 DeIniz
   1   6BA8    22  11   1 r...    1 Echo
   1   6BCA    47  11   0 r...    0 Iniz
   1   6C11    2C  11   0 r...    1 Link
   1   6C3D    24  11   0 r...    0 Load
   1   6C61    67  11   0 r...    0 Save
   1   6CC8    27  11   0 r...    0 Unlink
   5      0   2ED  11   1 r...    1 MDir

{Term|02}/DD:basic09

            BASIC09
     6809 VERSION 01.01.00
COPYRIGHT 1980 BY MOTOROLA INC.
  AND MICROWARE SYSTEMS CORP.
   REPRODUCED UNDER LICENSE
       TO TANDY CORP.
    ALL RIGHTS RESERVED.

Basic09
Ready
B:e
PROCEDURE Program
*
E:10 for a=1 to 10
*
E:20 print "hello"
*
E:30 print a
*
E:40 next a
*
E:q
Ready
B:run
hello
1.
hello
2.
hello
3.
hello
4.
hello
5.
hello
6.
hello
7.
hello
8.
hello
9.
hello
10.
Ready


More information about the Coco mailing list