Jump to content

Marinchip software stack and OS


Recommended Posts

Prompted by the passing of John Walker (see the recent RIP John Walker thread), I've put together a summary of the surviving software.


It can be found here: https://gitlab.com/marinchip


The main entry point is the "emu" repo, which has an emulator and images, to experience his work in context.


The other repos contain cross-development setups for the various packages with surviving and reconstructed source code. Maybe it makes sense to have this in the WHTECH archive as well.


John's work may be interesting for developers of new 9900-based systems, as it provides an instant software stack, even to small designs. There are two operating systems, MDEX and NOS/MT, that are compatible. The smaller one is only about 8KB in size and when used with a system with 32KB to 64KB of RAM can run nearly all of the software. Being so small, its assembler source code is easy to understand and modify. MDEX was the first OS to run on the mini-Cortex, when it still was a breadboard system. The larger one is more Unix-like in its design, although it also borrows ideas from other systems (notably Dijkstra's "THE"). This one needs at least 128KB and banking hardware in order to run and is a multi-user system.


Among the interesting software packages are "Window", a surprisingly usable and capable full screen editor and "QBasic", a native code compiler compatible with the well-known CBasic from CP/M. There is also "SPL", a native code compiler for a language similar to PL/M, and a Pascal compiler which is both faster and smaller than the p-code system. 


I owe a big thank you to John Walker, Dave Hunter, Jim Hearne (@jimhearne), Stuart Conner (@stuart) and especially Stephen Pelc who were all instrumental in preserving and restoring so much material. Also, @ksarul is the custodian of a working Marinchip 9900 system.


Maybe some more source code will be found or recreated in future, who knows.




  • Like 10
  • Thanks 5
Link to comment
Share on other sites

I read the Pascal compiler source (in Pascal of course.)  Partly from a 1975 implementation!   It's very easy to understand.   It seems like I'm just following along with one of Niklaus Wirth's many books.  I learned most recently from his Oberon book, which builds a compiler. (Oberon keeps almost all Pascal syntax.  Modula-2 came in between.)


Thank you for restoring this!

Link to comment
Share on other sites

Yeah, it is a lot of fun to work with.


I've made the equivalent modifications as John back in the day to make it also accept the normal ascii forms - eg. [ instead of (. etc - and hesitated to convert over the compiler source. It is not hard to do, but less historically accurate. What do you think? Also, converting to lower case makes it easier on modern eyes.


I wonder why John did not opt to add an 8th pass to convert the spascal pcode to 9900 assembler. This is how it worked for the BCPL compiler: one used a pseudo code interpreter to get the compiler running on new hardware and then rewrote the final pass.



  • Like 2
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...