The Nibbler Was Quite A Scamp

The late 1970s were an interesting time for microcomputers. The rousing success of things like the 8080, the Z80, the 6800, and the 6502 made everyone wanted a piece of the action. National Semiconductor produced its SC/MP. That was technically the Simple Cost-effective Micro Processor, but it was commonly known as Scamp. There were several low-cost development boards built around this processor and [Hello World] is looking at Digikey’s “Nibbler” which was a fairly nice computer for only $150. Check it out in the video below.

The SC/MP was made to be cheap. It had a strange bank switching scheme reminiscent of the Microchip PIC 16F family. It also had, like a lot of old discrete computers, a serial ALU, which made it slower than many of its contemporaries. It did have good features, though. It was cheap and required very few extra parts along with a single 5 V supply in the second and subsequent versions. In addition, it had pins that were made for connecting more than one CPU, which was quite a feat for those days.

[Hello World] mentions that you don’t hear much about the SC/MP anymore and, in fact, we had all but forgotten about it. There is an effort underway to recreate the plucky little computer for anyone who wants to build a new one.

The $150 price tag seems reasonable, at least compared to other computers of the day. However, don’t forget that you still need a power supply, probably a card cage, and the biggest problem of all: a terminal. It is hard to remember how difficult it used to be to get your hands on a terminal at a reasonable cost. Your main choices were a TV typewriter or something surplus like a TeleType.

37 thoughts on “The Nibbler Was Quite A Scamp

  1. The absolute best that can be said of NatSemi’s ‘Scamp” attempt at a microprocessor (an 8-bit device which can’t address 64K? And that’s one of its better features) is contained in that homespun ‘side-ways’ compliment:
    “For a fat person, you sure don’t sweat too much”.

    1. It certainly didn’t do well, but it was hardly the only 8 bit CPU that had limitations on address space. The Motorola 680x comes to mind (e.g., 6801/6802, and some others). The F8, the 8048, the Z8, and some 1802 variants all had <64K of RAM. I would think the serial ALU was the real problem since, back then, you rarely had 64K of memory anyway until a little later when it got cheaper.

      1. “…but it was hardly the only 8 bit CPU that had limitations on address space….The F8…had <64K of RAM…”

        …Was an F8 designer.
        The F8 had a 16-bit program counter (PC), and addressed 64K of RAM with either of the 3852 or 3853 memory controller chips (and the 3852 automatically refreshed DRAMS. In 1975, no less).

        Concerning total memory addressing capability, the F8‘s16-bit PC says it all.

        Regards…

        1. Well maybe my memory is faulty but I worked on the insides of the 68xx and while we may have had a 16 bit PC in many of those, the wires were not bonded out. If I recall — and it is fuzzy — you had to have a separate thing to get the address bus out of the F8, no? If you only had a 3851 that was like 1K and a smattering of RAM. And, in that case, there was NO external address bus at all. You had to graduate to the bigger memory controllers because the PC was in the memory controller. Unless I am remembering wrong.

          Anyway, my original point is still true: some of the CPUs of the era didn’t address 64K externally. Fast forward and the 68000 was the same way. It could address way more memory than it had external address lines in the early days.

          1. As I understood it, the F8 designer(s) observed that you don’t really need an address bus. The CPU just executes instructions that the program memory feeds to it.
            The memory chip could have an address counter built in, and since it sees all the instructions, it can load jumps and other addresses internally as well.
            I don’t know if they even had one in the cpu at all – never used an F8.

          2. The F8’s 1K masked ROM in the 3851 PSU coupled with the 64 byte scratchpad in the 3850 CPU could be enough to run a petrol/gas bowser or some other device, which was the kind of target application for the F8.
            The Mostek F8 Evaluation Kit was my first computer, Dad imported it from the USA in February 1978. We built up the board (replete with 2102’s) and then set out to tackle the next problem. We didn’t have a terminal or tty.
            Dad scrounged a junked IBM 3277 keyboard and an I/O Selectric from work and we started on mapping the keyboard from EBCDIC to ASCII, using a 2708 EPROM.
            But we didn’t have an EPROM burner, so we started on building an eprom programmer.
            By that time we acquired an S-100 kit (the Australian Applied Technology DG-680, DG-640 VDU and so on) and went from there.

            And now almost 50 years later I still have the F8 but have some issues with trying to get the thing to work. I’m hoping to get it going for the 50th anniversary of when we got the kit.

            ps. it is great to have one of the F8 designers here. Any chance of a write-up on your involvement and recollections of the F8 for a HaD story? :)

      2. What? The 6800, 6801, 6802, 6803, and 6809 were totally straightforward and usable and addressed 64K in a very straightforward way. Nothing daft like the 6502, 8048. Admittedly the 6805 was odd but still nothing as baffling as say the 8048.

        1. The 6800 yes and the 6809 (I worked for Motorola back then, by the way). But many of the others were available in part numbers that didn’t bring out all the lines (many of them in automobiles where they wanted more I/O and didn’t care about a lot of memory). Even then, you had to be in “expanded mode” to get all the address bits out of many of the family (e.g. 6801 and 2). The 6805, in particular, had many PNs with no external bus at all so you could address anything you wanted, but there was only a limited amount there to begin with.

          Anyway, regardless of the details, the fact remains that the SC/MP wasn’t unique in this area. Even CPUs with full 16-bit PCs didn’t expose them to the world in every part number.

      3. You could have mentioned the 2650, that is also a proper not-so-general-purpose CPU from the time. And it can only address 32KB.

        Although I do think that the way the addressing mechanism works, there is potential for a bank-switching mechanism almost fully built into the CPU.

        But it has an even bigger downside than only being able to address 32KB.

        Any memory that needs to be addressed outside of a block of 8KB around the current instruction needs indirect addressing. That means that reading a byte outside the 8KB block always needs two memory reads, close to halving the performance of the CPU. Not ideal, with a CPU that already runs at only 1.25MHz. :)

        1. Ugh. The MIPS is like that (was? Their usage has been supplanted by ARM and RISC-V). Jump instruction with a 256MB range (apparently truncates a few bits, they are just copied from program counter, with a ‘long jump’ instruction sequence) and the various branch instructions (BNE, BEQ, etc.) the limit is like +/- 128K from the current address.

          Apparently GCC has a real good time building something like firefox. My vague recollection from about 25 years ago when I ran gentoo, briefly ran on an SGI MIPS, and ran NetBSD on a DEC MIPS for a bit as well…. was that GCC devs punted it for jumps and just always used long jumps. And there were intermittent build failures if loops were too large, they were using jump tables or trampolines or something but gcc wasn’t particularly designed for having to stick a trampoline in the middle of a “too large” loop so the kinks were being worked out at the time.

      4. I don’t recall any 6800 series with reduced address space. Motorola preferred to do the “mode” thing where pins could be configured as either ports or address/data. They had I/O registers and memory insde the chip that were still in a mostly empty 16-bit address space, even when not in expanded mode. The 68HC05 is the exception, it had a 13-bit program counter, but it was a moderately different architecture more like the 6502, and I don’t think they ever had one with an external bus.

        The 6502 definitely did do unbonded address lines, the most well-known being the 6507 used in the Atari 2600, which only bonded out up to A13 so that it could fit in a 28-pin chip.

        Almost everything had 16 bits of address in the architecture, with a 16-bit program counter. The other notable exception was 2650, which only had a 15 bit address space.

        SC/MP had a weird thing where jump addresses were relative, but the math didn’t carry past A11, so code would be limited to 4K pages without loading 8 bits at a time into an index register then jumping to it. There was actually a built-in assembler macro for 16-bit calls.

    1. That’s what I was expecting, too, especially with the visible card edge in the headline photo. I was expecting an Apple II (or Commodore) disk nibbler that happened to be based on the SC/MP.

  2. The Nibbler was also a hole punch like device that allowed you to use the “other” side of your single-side 5 1/4 inch floppy.

      1. I have a SC/MP II cpu in my stash as well. But I have a hard time finding an incentive to use it in something.

        In the beginning of the 80’s, though, I started ‘playing’ around with computers. A TRS-80 at school, and a VIC-20 at my neighbour. I didn’t have the money for a computer of my own.

        But then I got my hands on some Elektor magazines that had a design for a SC/MP computer, and it seemed quite easy to build and was relatively. So building one became a big goal for me. :)

        However, before I had the time to save the money for the CPU and RAM chips, my mom bought my neighbor’s (the one with the VIC-20) old Nascom 1 computer and gave it to my father as a birthday present. Of course it was just a ruse, they really had bought it for me (my mom confirmed it later). ;)

        The end result was that I never built my SC/MP computer.

        Some 3 years or so ago, I found an advertisement of someone selling a small batch of old computer-related chips, which contained a for me desirable AY-3-8910, but also a SC/MP II processor. So now I finally have my SC/MP processor. :D

        If I ever do end up creating a SC/MP computer, I’ll use 2114 rams to be period correct. The Elektor design used 2112 rams, but to be honest: I have never ever seen those in my life.

        I’d probably also build a ram expansion card with 6116’s. Less period-correct (6116 was released in 1981). But using 6116’s give the option to replace one or more of them with a 2716 eprom.

        I should also post this link to Ronald Dekker’s pages about SC/MP computers: https://www.dos4ever.com/SCMP/SCMP.html

  3. Remember SC/MP well. And those other long gone uP’s.
    I first found the Bank switching a little different, but with the PIC’s it didn’t take long to see the advantages, especially with frequently used registers.
    Long live 8 bits!

  4. I had an evaluation board for a space hardened silicon-on-sapphire version of the SC/MP back in 1978. Had to build a case with power supply to house it and switches/LEDs to load/read memory a la PDP/11 style. Wrote a Morse code decoding program that output to an ASR33 Teletype as a PoC project. Couldn’t get past about 15wpm because of processor speed and the Teletype’s 110 baud interface, but fun to try in the early days…

  5. I have always thought of it as scrimp.

    Another thing National Semiconductor made that few remember was the Novus brand of calculators.

  6. By chance I happened to encounter [CuriousMarc]’s video on his SC/MP based computer yesterday. It was built from a kit and he wrote several programs for it, which he demonstrates (complete with a much-delayed bug fix!). I think it was based on National Semiconductor’s evaluation board.

    Here: https://youtu.be/fK-IZuIonnY

    I still have my MK14 kit from Clive Sinclair. I once typed in the moon lander program and ran it a few times, but had no way to save it. Was a wrench to turn off the power!

    The v.e.r.y s.l.o.w cycle times made me despair of 8-bit microprocessors until my brother let me play with his Commodore PET and restored my confidence.

    “Nothing daft like the 6502, 8048.”

    I actually based several successful commercial products on both of those in the early 80s, but that is another story.

  7. I was surprised to see several built MK14 kits and copy-cat boards (usually emulated by a Raspi) at the June Retro Fest UK show.

  8. The US, UK and Netherlandian SC/MP computers with their keypads, 7-segment displays and kilobyte memories were certainly very luxury machines compared to the Australian SC/MP offering, the MiniSCAMP. It had 256 bytes (expandable to 1024 bytes) and a row of toggle switches and LEDs.

  9. I had a SCAMP in the form of the Sinclair MK14 . If I remember correctly it was one of the few microcomputers that did NOT have a subroutine stack. This prevented the use of subroutines and made any attempt at structured programming impossible. I consider this was a major design goof and why it was not taken up by industry.

    1. Right, SC/MP did a “jump with link” thing like the old Nova architecture. Except it was worse than that because you had to separately load each 8-bit half into an index register, then you did the “exchange PC with index register” instruction. It was fiddly enough to be an official pseudo-op instruction built into the assembler. To do a long jump was the same, except that you ignored the old PC that was now in the index register. The other branches were 8-bit relative, so you would need to do that more than you expect. There was also a quirk where the relative address calculation didn’t carry past A11, so you couldn’t cross 4K boundaries. It had a surprisingly sparse instruction set, which I didn’t realize until these videos inspired me to write a diassembler for it.

      A lot of these old first-generation microprocessor chips had some weird instruction sets. I presume it was mostly that the designers didn’t know what NOT to do. It wasn’t until the 8080 and 6800 that things settled into what people now expect from an instruction set.

  10. https://en.m.wikipedia.org/wiki/MK14 I had one of these too, programming via a hex keypad was, well, weird, but I learned a lot, and managed to interface to a cassette tape to record programs. Showed my math teacher once, it took a while to input a simple program to add 2 numbers. He wasn’t impressed ‘that will never catch on” he said. Thankfully I built a lucrative career on the tech he condemned

Leave a Reply to ianCancel reply

Please be kind and respectful to help make the comments section excellent. (Comment Policy)

This site uses Akismet to reduce spam. Learn how your comment data is processed.