PICL National Industrial Basic Language computer by Karen Orton - Page 1
Forum section: electronics / general

author: Phil_G
author_rank: Regular Contributor
timestamp: June 24, 2021, 05:37:47 pm
content: Edit: See version 2 update:PICLV2(original v1 post...)I've just done a small PCB for Karen's 2007 PICL design, which is an SC/MP emulation in a PIC, running the genuine National NIBL interpreter code from 1976.Karens SC/MP emulation is cycle-perfect and enables a two-chip genuine NIBL machine to be built very cheaply and easily.The PCB is under 3" square and has all the Flag and Sense lines brought out to LEDs, buttons and a header, and talks via the usual USB-to-serial CH340 module rather than Karens original MAX232. The chips are a 6264 static RAM and a PIC16F877 (not sure if an '877A' will work).For anyone fancying a look at NIBL or a trip down memory lane, this computer is really simple to make. Its nice to make one of Karens many projects as a tribute to all she achieved.Here's a video:The channel also has a video of the strip-board version, another running a Geoff Graham terminal chip and one using a re-coded Xbox chatpad keyboard.Ultimately I'll post the gerbers but first I need to check some changes I made for the next batch (If there is a next batch!). The change is minor, just repositioning the serial board so its flush against the edge of the PCB. Its electrically identical but I'd like to test one first.If anyone would like a board, please email me and I'll send a PCB at cost, strictly non-profit.Here's Karens original PICL page from 2007:http://techlib.com/area_50/Readers/Karen/micro.htm#PICLCheersPhil email: рhіlg@tаlk21.соmNote that to avoid spam, the address above is unsearchable text & cant be copy-&-pasted into the 'to' field !

author: granzeier
author_rank: Regular Contributor
timestamp: June 26, 2021, 11:15:46 am
content: Very nice.I actually have an old Nibbler PCB, which runs NIBL. One of these days, I need to get it out and make sure that it works. Hopefully the SC/MP chip actually works, or else I'll have to get one of these - they actually look really great.

author: Phil_G
author_rank: Regular Contributor
timestamp: July 23, 2021, 01:26:42 pm
content: The second batch of PICL PCBs have just arrived this morning, I've a couple spare if anyone is interested. I took the opportunity to to flip the CH340G serial board so its component-side up, and to move it in a few mm so its flush with the overall outline. The pcb has corner mounting holes - otherwise its identical to the previous board. Functionally its identical.If anyone would like a board, please email me rather than use the forum and I'll send a PCB at cost. If I run out again, I can order more, no problem. This is at cost, strictly non-profit.CheersPhil email: рhіlg@tаlk21.соmNote that to avoid spam, the address above is unsearchable text & can't be copy-&-pasted into the 'to' field !

author: granzeier
author_rank: Regular Contributor
timestamp: July 24, 2021, 01:37:38 am
content: I have the SCMP NIBL Reference Guide (http://files.granzeier.com/Downloads/NIBL-Ref.PDF) available. This is the National Semi document that describes the National Instruments BASIC Language (NIBL) used on their SC/MP chip, and Karen's PIC emulation of the SC/MP.I also have the National Semiconductor ins8060 datasheet. This is the original CPU on which they installed NIBL (when they installed NIBL they then called it the INS8070.) I also have an article on NSC Tiny BASIC (on which NIBL is based) plus a few more articles, if anyone is interested. Note that these additional documents are not directly related to Karen's design, nor Phil's implementation of her design - they are just historically interesting things somewhat related to this project.

author: Phil_G
author_rank: Regular Contributor
timestamp: July 28, 2021, 11:43:18 am
content: Quote from: granzeier on July 24, 2021, 01:37:38 amYes please! I would be interested to see anything NIBL related - programs, projects, documents - considering it was so popular at the time theres surprisingly little NIBL stuff that has survived on the net...BTW your PCB is on its way!CheersPhil

author: granzeier
author_rank: Regular Contributor
timestamp: July 28, 2021, 08:45:09 pm
content: Quote from: Phil_G on July 28, 2021, 11:43:18 amhttp://files.granzeier.com/Downloads/SCMP_Technical_Description_Jan76.pdf- Nat Semi Technical Manualhttp://files.granzeier.com/Downloads/8073_Electronic Design - 1980-11-22.pdf- Article in Electronic Design: "On-Chip Tiny BASIC Dumps Development System"http://files.granzeier.com/Downloads/miniscamp.pdf- Several articles from Electronics Australia on the SC/MP (SCAMP)http://files.granzeier.com/Downloads/National Semiconductor ins8060.pdf- INS8060 Datasheethttp://files.granzeier.com/Downloads/NSC_Tiny_BASIC_Users_Manual_Nov80.pdf- Like the name says - don't know how I missed this one in my earlier post.http://files.granzeier.com/Downloads/Summary of NIBL statements and commands.pdfQuote from: Phil_G on July 28, 2021, 11:43:18 amThank you. Also, I told my wife about your usage of the term "retrobates" and she got a good laugh out of it, too.

author: Phil_G
author_rank: Regular Contributor
timestamp: October 01, 2021, 10:21:08 pm
content: I've a soft spot for Karens two-chip marvel and I've been having a lot of fun with it lately. I have PAGE2.SYS running on the PICL, obviously some commands such as SAV & LOD (save/load to cassette) PRN (print) etc wont work as the hardware isnt there, but the commands DIR, DMP, CHM, ASM, NIB etc all seem to work perfectly. However whilst it does work, a serious PAGE2.SYS machine really needs more memory, PAGE2.SYS occupies the whole of page 2, and the ASM function nabs page 1 for a symbol table, leaving nowhere for ASM source or NIBL programsThe PICL isnt easily expanded as the port pins that would be A13 onwards (to take it above 8kb) are already used for /CE, /RD & /WR.Consequently I thought I might have a crack at a smaller, PICL-specific resident machine-code monitor, something more like the old NS Kitbug would be ideal. One k should be enough for quite a capable monitor, and located right at the top of NV memory (say at #2C00) it would leave 3k free in page 2 and 4k in page1 - very little impact for the gain. Available any time by typing LINK(#2C00). You'd have to be careful with the length of page2 programs as NIBL has no concept of 'reserved memory' but 7k goes a long way!Key to all this is replacing the 8k static ram with a pin-compatible 48Z08 NVRAM. For my second board I found the 48Z08 NVRAM is now out of stock at RS, so I've since been using the Maxim DS1225AD which is pretty much identical.These last two weeks an accident-enforced lay up gave me the opportunity to create a smaller, simpler PICL-specific machine-code monitor to complement NIBL. It takes advantage of the NVRAM swap so (barring a catastrophe!) is permanently in memory ready to go.This is after all a SCAMP and in its day, 8k of RAM, 4k ROM BASIC and a resident machine-code monitor is quite a respectable spec for a late 70's computer based on just two chips!and a bit of a demo here, though a few more commands have been added since:I called the monitor KitBugPlus and it has the usual Display, Modify, Go, Type, List, Regs, & ? (help) commands, and an 'N' to return to NIBL.I've done some documentation and a loader, all onhttp://philg.ukCheersPhilCheers

author: Phil_G
author_rank: Regular Contributor
timestamp: October 03, 2021, 08:54:29 pm
content: I've added an Intel hex loader to the PICL firmware, this is independent of NIBL or the monitor as its pic code within the pic877 processor. Consequently it can be used to load anything that will fit, including of course KitBugPlus or any other SC/MP machine-code programs or data.Hex loading is down the console port so its just a case of 'Send File' from Teraterm, in the same way as NIBL programs are loaded. If you're in a rush the character and line delays can be removed for the duration of the hex-load, though for a few seconds it doesnt seem worth the faff, I would always forget to reinstate them for NIBLI'm using San's SBASM as an SC/MP assembler and the parameter for Intel hex is:*.tf myprog.hex,int,32*If I've caused any confusion with these PICL firmware updates, just for clarity this is the second update, the first implemented the missing DLY instruction and this one adds DLY & the hex loader. Both updates are 99.999% Karens code so any credits are entirely Karen's.The more I use the PICL the more I like it, its so versatile !Updated files and doc are onhttp://philg.ukas usual.CheersPhil

author: granzeier
author_rank: Regular Contributor
timestamp: October 04, 2021, 10:04:31 am
content: Very nice, thanks.I do not remember seeing SC/MP in San's SBASM, but then again, I probably did not pay much attention to this microprocessor in the documentation. I just went back to the documentation for SBASM, and there it is! And, now that I see it, I do remember seeing it before. Apparently, it just didn't stick in my mind.

author: Phil_G
author_rank: Regular Contributor
timestamp: October 04, 2021, 11:16:30 am
content: Be aware though that the SBASM cross-file 'crscmp.py' on San's website has a problem with relative addressing on the SC/MP, San has issued an updated cross-file which fixes the problem BUT for some reason he hasnt updated his web site. His Githubisup to date however or San will email the update on request. For convenience I've also posted it onhttp://philg.ukwith all the other PICL stuff. Simply replace the oldcrscmp.pywith the new one.Most of Karens source seems to use the AS assembler by Alfred Arnold, but most have been converted by various enthusiasts to SBASM format, including the PIC14, PICL, PAGE2.SYS, etc and also the original Science of Cambridge MK14 SCIOS 1 & 2 and NS NIBL are available in SBASM format. To a simpleton like me AS seems overly complicated both to use and to install, whereas SBASM is nice & simple, and its author is a nice bloke who responds promptly to emailsWith these recent updates the PICL becomes a really useful SC/MP experimenters board, I find it more convenient than my Aitken homebrew or the MK14, it has quite an impressive spec for a 1978-era computer, and just two chips!Just for fun:

author: Phil_G
author_rank: Regular Contributor
timestamp: October 25, 2021, 05:06:52 pm
content: First published in 2007 as a simple, dedicated National Industrial Basic Language computer, Karen's original project has evolved to the point where it really deserves a “Version 2 “ title, if only to encourage early adopters to revisit this fascinating design.Rather than list the changes, here's a full specification:1200 baud terminal interface via CH340G USB (for Teraterm etc)Full and accurate emulation of a 4Mhz SC/MP in a PIC16F877 using Karens cycle-perfect firmware plus omitted instructions8k bytes of non-volatile static RAM, retaining programs and data during power-off4k bytes of ROM containing the original National Semiconductors NIBL basic interpreter from 19761k Machine-code monitor typical of the period – Modify, List, Display, Hexload, Registers, Go (run) etc4 controllable output lines with LEDs and interface strip2 controllable input lines with buttonsHex-loader reads standard Intel hex files into memory via the terminal (ie Teraterm 'File, Send')Standalone mode, running without a terminal connected, maybe on a powerbank battery.Cheap, sub 3” square PCB with just two chipsCrystal-clock equates to a precise 4mhz SC/MP II operationThis is probably the simplest possible SC/MP machine, comprising only of the processor and a memory chip, but its resident monitor and BASIC interpreter make this an ideal introductory project for anyone with an interest in the SC/MP and its applications.There are no changes to the PCB and upgrading is simply a matter of swapping the RAM chip, updating the PIC software and loading the SC/MP monitor.KB+ commands:Intel hexloader, Txxxx = type memory, Mxxxx = modify memory,Dxxxx = display memory, Lxxxx = list memory (opcode-formatted),Gxxxx = goto program, R = display registers,N = enter NIBL basic interpreter, Help is '?'.It has other software bits & bobs such as breakpoint handling, register set & examine and a neat inline-print routine.The Intel hexloader will directly accept the output of SBASM or AS, etc.With SBASM use ".tf myfile.hex,int,32" in the source header.V2 has a stand-alone mode where SC/MP machine-code programs can be run without a terminal connected, using (say) a power-bank phone charger. With its two sense inputs, four flag outputs, and program retention during power-down, it can be a simple standalone controller!The files and a PICLV2 document are onhttp://philg.ukSincere thanks are due mainly to the late Karen Orton, a gifted and generous engineer whos projects have inspired all of us.Karens perfect SC/MP emulation on a PIC chip is a fantastic achievement in itself and I credit the whole of this PICLV2 project to Karen, she'd probably have done all this anyway.Here's a video:

author: granzeier
author_rank: Regular Contributor
timestamp: March 16, 2022, 12:38:27 pm
content: Quote from: Phil_G on July 28, 2021, 11:43:18 amI just rediscovered another retro site (Dos4ever) which is (I believe) where I got much of my SC/MP material. Ronald Dekker's "SC/MP revisited" page (https://www.dos4ever.com/SCMP/SCMP.html) is about his recreation of an SC/MP system he built when he was a kid. It has a nice story about his builds, and lots of links to the information that I posted earlier.

author: Phil_G
author_rank: Regular Contributor
timestamp: March 17, 2022, 10:11:46 am
content: Yes Ronald has some useful SC/MP info, we've chatted a few times via email and he's a really nice bloke.Curious Markhas more, also Michael Haardt'smoria.de, Paul Robson -https://github.com/paulscottrobson/scrumpi3,Doug Rice, and the UK has a strong SC/MP following onhttps://www.vintage-radio.net/forum/forumdisplay.php?f=16My son had just bought a 40-year-old SC/MP book for my Birthday, "How to build your own advanced working computer system" but its on the slow boat !Edit: the book has arrived and its a great nostalgia trip for an SC/MP enthusiast...CheersPhil

author: Brian of Romsey
author_rank: Contributor
timestamp: October 21, 2022, 08:47:12 am
content: Hi granzeier, I am having trouble reaching your web pages. Do you have an updated URL please?

author: granzeier
author_rank: Regular Contributor
timestamp: October 21, 2022, 10:17:14 am
content: Brian,I'm sorry you are having troubles with my site.I was recently put into medical retirement, and just finished moving to a new house - no workshop yet.So, I have not been paying much attention to my site. Which page(s) are you having troubles reaching? I just checked again, and am able to reach all of the links to my site on this thread. If you still have troubles, let me know, and I can zip the files up and mail them to you.

author: Phil_G
author_rank: Regular Contributor
timestamp: October 24, 2022, 01:39:35 pm
content: Brian, is it the NIBL stuff you're looking for? I have a collection of related docs & files...