Close
0%
0%

SCMP in a PIC based on the design of K Orton

This emulates a full SCMP system with 32K RAM memory and three input output ports

Similar projects worth following
This is a complete SC/MP computer with NIBL BASIC as was very popular in the early eighties in the twentieth century. It emulates the 4MHz INS8060 (SC/MP) of National Semiconductor. The halt reset circuit used by Elektor is also emulated.

Originally this project was created by the late Karin Orton. PhilG and I did some rework on the original code programmed into a PIC16F877. My contribution is adding a halt-reset emulation so you can use the halt instruction to stop and the halt-reset to continue. The computer has 32K RAM with the NIBL BASIC moved into the first 4K of the RAM. This first page is write protected to emulate ROM. The 28 K  RAM can be used freely. The PCB is designed by myself and I added a 82C55 PIA with three I/O ports. On PORTA an eight bit ledbar is connected. The other two ports can be used as input or output ports. On the board two digitast switches are used. The halt-reset with a LED and SA without a LED. For the reset of the PIC a simple push-button is used. The PIC runs native SC/MP NIBL. In the original design FLAG0 had to be inverted, this is now done in software.
For the communication a USB-C FTDI is used. The speed is 2400 Baud.(8N1)

fillmem.bas

A little program in BASIC to fill a block of given memory space

bas - 417.00 bytes - 01/09/2025 at 16:57

Download

scmp32Kemu.hex

The file to program the PIC16F877 with

hex - 40.00 kB - 01/09/2025 at 16:34

Download

32Kscmpcomputerpic_gerberx2.zip

The gerberfile for the PCB ready for use at i.e. JLCPCB

Zip Archive - 166.92 kB - 01/09/2025 at 16:31

Download

32Kniblscmpemu.pdf

The schematic of the SC/MP system

Adobe Portable Document Format - 422.86 kB - 01/09/2025 at 16:30

Preview

kbplus010125_loader.bas

This is the kitbug+ loader in NIBL BASIC.

bas - 2.68 kB - 01/06/2025 at 18:59

Download

  • 1 × PIC 16F877
  • 1 × 8 digit LED bar RED
  • 1 × AS6C62256 32 K RAM
  • 1 × 82C55 PIA
  • 1 × 74HCT20 DIGIKEYnr:296-2135-5-ND Electronic Components / Misc. Electronic Components

View all 21 components

View project log

  • 1
    Placing the components of the SC/MP in a PIC
    1. First solder all the resistors, the value is printed on the PCB.
    2. Solder the 100 nF capacitors and the two 20 pF capacitors.
    3. Solder the 20 MHz crystal.
    4. Solder the Tantalium Capacitor and the reset switch.
    5. Solder all IC sockets. Be aware of the pin 1 positions.
    6. Solder the USB-C FTDI. The LEDS (Watch the polarity!).
    7. At last solder the two digitasten, the two I/O female headers and the 470 uF elco.

    Before you solder the USB-C FTDI mount the spacer first.

    Before placing any of the IC's power the FTDI from your PC, The green LED will light saying that you have power. Disconnect the USB-C cable,

    The PIC16F877 has to be programmed with the hex file first. Insert all ic's into their socket.

    Check if all is inserted properly and connect the USB-C cable. The RX led will light up for a short time.

    Open a serial terminal program. Select the FTDI  device and set the baudrate to 2400 8 bits en 1 stop bits (8N1). Press the reset button and a '>' appears on your screen. NIBL is waiting for a command to enter. Type PRINT "Hello" <enter> and if all went well on the next line appears Hello.

    Congratulations, You have a working SC/MP system running!

View all instructions

Enjoy this project?

Share

Discussions

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates