On Porting SPITBOL to the Raspberry Pi

In a recent e-mail Craig Wright asked:

Finally, I am thinking of attempting to port your Spitbol implementation so that it can be run on a Raspberry Pi 3. I assume there would be significant effort required. I would like your thoughts on this?

After resonding to Craig, I realized others might be interested, so here is what I said.

Craig,

Thanks for the man page! I just checked it into spitbol/x32 and spitbol/x64

Re OSX, the latest is at github/spitbol/x64.

I’ll look at the problem with underline you mentioned.

Re port to PI 3.

Native port would be a lot of work.

Quick workaround would be use to use a DOS emulator to run the Windows version (spitbol/windows-nt) on the PI. A quick search for ‘run dos on PI ‘ turned up, for example

Run DOS on the Raspberry Pi – Use rpix86 to turn your Pi into a 1980s super-computer.

By the way, the Windows version is the same as the Unix version, except its only 32-bit, while we have 32 and 54 bit versions for x86-64. It also has some other features such as graphics support, ability to load assembly language functions, ability to load modules, that have yet to be ported to any other version.
Only problem is that it has upper case as the default, while Unix version uses lower case as the default.

I think the next step would be to port gobol to the PI and complete the port.

Gobol, github.com/daveshields/gobol, is a prototype with a MINIMAL interpreter written in Go.

The next step would be to flesh out the OSINT (OS interface) part of SPITBOL with one written in Go.

The current one is written in C. It was great stuff when it was put together in the 80’s, but I now find it a bit crufty, since it shows the wear and tear of having been adapted so it can be compiled on five or so different architectures (ancient MAC, Solaris, MIPS, Windows, …)

Once we have an OSINT written in GO, we would have a great teaching tool. By the way, the Go OSINT needn’t have all the capabilities of the C version, at least not at the start. Not much is needed to get simple file i/o, time, date, and such up and running.

SPITBOL for teaching is to me the main point. If people want performance they can always use the Windows or UNIX (Linux, OSX) versions.

Given OSINT in Go, then could then attempt translator to direct ARM code, getting rid of the Minimal interpreter written in go.

Note that the version with interpreter and OSINT both in Go could be ported anywhere Go runs, and that seems to be almost everywhere these days.

Thanks again for you interest in, and help on, SPITBOL

dave

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

  • Pages

  • February 2017
    M T W T F S S
    « Jan    
     12345
    6789101112
    13141516171819
    20212223242526
    2728  
  • RSS The Wayward Word Press

  • Recent Comments

    dave porter on On being the maintainer, sole…
    daveshields on On being the maintainer, sole…
    Paul Tallett on On being the maintainer, sole…
    mrrdev on On being the maintainer, sole…
    KT on On being the maintainer, sole…
  • Archives

  • Blog Stats

  • Top Posts

  • Top Rated

  • Recent Posts

  • Archives

  • Top Rated

  • %d bloggers like this: