Received: one Essex Tiny BASIC Computer Board

Interesting little single board computer, this, Eurocard sized, a generous gift from a friend. This one maybe from 1984.

In mine, the CPU is covered by something like a heatsink glue compound:

but it’s known to be a National Semiconductor 8073, a successor of SC/MP and with an on-chip Tiny Basic interpreter in ROM.

This SBC was advertised (in Wireless World) in late '82:

The machine was still advertised in 1985:

A price list shows that there was also a Basic compiler on offer, for an extra £78:

You can see that there’s some connection with Essex University.

The instruction manual, about 48 pages spiral bound, includes a circuit diagram. You can see this in my photo album.

Dave (@hoglet) found an instruction manual for the Basic, here (207 page PDF, and with copyright date of 1980.)

5 Likes

What is Instant ROM?

Ah, glad you asked! The unit came with a little module, encased in plastic but fairly obviously a RAM with a battery inside, suited to plug in to a ROM socket. It has three extra connectors which I gather allow the contents to be written. So, it’s a RAM-based ROM emulator. I’ll take a photo:

4 Likes

This page has more on NatSemi’s 8070 family:

The INS8070 microprocessor is often referred to as the SC/MP III. However, it should not be confused with the actual SC/MP processor in P-channel technology or with its direct successor, the INS8060 (SC/MP II) in N-channel technology.

The INS8070 processor was just one member of a larger processor family. This family included:

  • INS8070 with 64 bytes of RAM without ROM
  • INS8072 with 64 bytes of RAM and 2.5 KB of ROM
  • INS8073 with 64 bytes of RAM and 2.5 KB of ROM, the ROM contains a Tiny BASIC interpreter
  • INS8074 with 64 bytes of RAM and 4 KB of ROM
  • INS8075 with 64 bytes of RAM and 4 KB of ROM, the ROM contains an N² BASIC interpreter
1 Like

Some discussions:

1 Like

There’s an article on this Tiny BASIC in BYTE magazine, 1982.

1 Like

I wonder how related it might be (if at all) to NIBL - The National Industrial Basic Language which was very popular on the INS8060 SC/MP systems.

-Gordon

3 Likes

It looks like it might be the same thing - certainly “NIBL” is used in the manual found by @hoglet.

2 Likes

There are also ROM Dumps and a Disassembly here:

1 Like

Ah. I didn’t read that far, obviously!

2.5KB of ROM for the TinyBasic - somewhat impressive - but then the CPU has 3 x 16-bit registers which take a lot more code in my implementation to manage - the IL (Internediate language) is similar but different from the 8080 TinyBasics, but does a very similar thing - compresses the actual interpreter into a very small subset of high level commands - however unlike an 8080 style TinyBasic which has a few dozen operators, NIBL only has 4 and one of them is “call machine code subroutine” so a lot of it is direct calls to a stub of machine code…

As for real-use? I understand it was used in some early automation - lifts (elevators) was one application. NIBL was designed to auto-start (“turnkey”) if it detected a valid program already in RAM (or ROM) so provided an easy way to build a system that was running from power-on.

-Gordon

1 Like

Excellent find. We’ve dumped the ROM from mine and it matches this well-commented disassembly.

And by implication, with Dave’s assistance, we have the board working!

Photo album updated
Google Photos

3 Likes

Here’s a link to a set of blog posts we made use of in yesterday’s debugging:

In this we found reference to a “National Monitor” program that we had a go at porting.

2 Likes

Nice find! There’s a zip file disguised as a pdf there which also contains a stab at a reassembly of the Octagon monitor.

I’m impressed by some aspects of the Tiny Basic - that these low applications are partly Basic and partly machine code; that a program in ROM address space will run automatically at reset time; that there’s a mechanism to call subroutines as interrupt handlers.

We did speculate as to whether Acorn’s Atom Basic might share some structure with this NIBL as well as a number of syntactic points.

I’ll also note that you were able to download and build the appropriate assembler without too much bother, to rebuild the Utility ROM, using Alfred Arnold’s ASL assembler.

1 Like

We used a lot of those Greenwich Instruments romulators at Acorn. There are modern equivalents still available from Texas Instruments, Dallas Semiconductor (eg 1PCS Nonvolatile SRAM IC DALLAS/MAXIM EDIP28 DS1230AB-120 DS1230AB-120+ DS1230AB | eBay ), Zeropower etc.

1 Like

There’s an Emulator for the 807x in the EmulatorKit tree and it can run the TinyBASIC. Undocumented stuff is going to be wildly inaccurate though as the chips are rare and nobody has spent a few weeks analysing all the behaviours.

It’s a very strange processor. In places like the indexing it’s elegant but the rest of it is deeply painful to program.

Does have one wonderful instruction though PLI - push and load immediate which pushes the value of an index register and then loads it with a constant. It’s there simply because PC is an index register so doing a PLI on the program counter is in fact JSR…

1 Like

Oh, thanks for that! (c file here)

In principle as I have a working board I could help fill in any gaps. Brain fog won’t help though.