My Projects

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

electronic:equipment:Scamp [2018/12/07 14:28] (current)
Line 1: Line 1:
 +{{:​pilone.png |Cone icon by Fornax, CC-BY-SA 3.0, wikimedia commons}} ((PAGE UNDER CONSTRUCTION))
 +<​html><​p style="​text-align:​right;">​Published 21 Apr 2018</​p></​html>​
 +<​html><​p style="​text-align:​center"><​b><​font size="​6">​Scamp</​font></​b></​p></​html>​
 +\\
 +
 +===== Overview =====
 +
 +Once upon a time, a time before personal computers, someone (<​del>​Intel</​del>​Texas Instruments((http://​www.righto.com/​2015/​05/​the-texas-instruments-tmx-1795-first.html))) invented single chip microprocessors. ​ These were really designed as controllers for printers, washing machines etc.  But of course the electronics hobbyists thought it'd be great to use these to make home computers. ​ When I first saw these things in electronic magazines I had a hard time working out what you'd actually use them for, but they seemed interesting. ​ But most of the hobby circuits published seemed to require a preprogrammed ROM to make them work, and that just seemed a bit hard to get hold of from the other end of the earth. ​ But there was one project that didn't require a ROM - the Electronics Australia, May 1977, Mini Scamp computer based on the National Semiconductor SC/MP chip.
 +
 +<​HTML>​
 +  <div class="​shadows"​ style="​text-align:​center">​
 +      <a href="/​dokuwiki/​_detail/​arduino/​cybot/​P2066994.JPG"​ class="​media"><​img src="/​dokuwiki/​_media/​electronic/​scamp/​p4214207a.jpg"​ width="​80%"​ class="​media"​ title="​Mini Scamp" alt="​Mini Scamp" /></​a>​
 +    <div class="​container">​
 +      Mini Scamp implemented on Vero board and 3 ply plywood.
 +    </​div>​
 +  </​div>​
 +</​HTML>​
 +
 +===== Hardware description =====
 +
 +{{  electronic:​scamp:​p4214210a.jpg?​360|SC/​MP II processor}}The processor was the National Semiconductor ISP-8A/500D Simple Cost-effective Micro Processor (SC/MP, pronounced "​Scamp"​) ​  PMOS chip, which ran at 1MHz.  And the board had 2x 2112 256 nybble (256 x 4 bits) static RAMs, giving it a grand total of 256 bytes of memory. ​  As it turned out I could only get hold of the INS8060N, ISP-8A/600N N-channel, 4MHz version of the processor so had to redesign the published circuit a bit for the reversed polarity power supply. ​ I implemented it on a large piece of "​Vero"​ board, and added a hex keypad to the front panel layout.
 +<​html><​br style="​clear:​ both;" /></​html>​
 +{{electronic:​scamp:​mini_scamp_circuit-b.png?​400|Mini Scamp schematic (original circuit for P-channel CPU)}}{{electronic:​scamp:​mini_scamp_layout-b.png?​400|Mini Scamp layout}}
 +
 +{{electronic:​scamp:​p4214206a.jpg?​400|Mini Scamp Veroboard front}} {{electronic:​scamp:​p4224211a.jpg?​400|Mini Scamp Veroboard rear}}
 +
 +{{electronic:​scamp:​p4214205a.jpg?​400|Mini Scamp front panel}} {{electronic:​scamp:​p4224213a.jpg?​400|Mini Scamp rear view}}
 +<​html><​br style="​clear:​ both;" /></​html>​
 +
 +I can't remember the total cost, but I used recycled components where possible, so the front panel data and address switches, main board capacitors, and the crystal (missing in the photo) for the CPU clock were all scavenged from old equipment. ​ The hex data entry panel was the keyboard and display from an old calculator, with a bit of discrete logic tacked on to decode the switches (the switch label panel has got lost in the intervening 40 years).
 +
 +
 +===== Operation =====
 +
 +{{ electronic:​scamp:​p4214209a.jpg?​200|Control panel}} So no ROM, no BIOS, no built in programs, how do you get it to do anything? - the answer is simple; DMA.  Not exactly high speed, well actually ultra low speed, it was manual DMA.  First you flipped the switches to halt the processor and set DMA mode.  You then turned on the power, toggled the address switches to the binary value of the address you wanted to load, then toggled the switches to setup the data byte to be stored there. ​ Finally hit the "​deposit"​ button to store the value. ​ Then toggle in the next address, next data, deposit, ​ toggle in the next address, next data, deposit ...  Once you had deposited all the program code, you would flip the "​run"​ switch, probably had to hit '​reset'​ too.  There was also a single step mode for debugging.
 +
 +No assembler, compiler or interpreter involved here, you designed the code in assembly language and translated that into binary machine code with the help of tables in the printed manual for the processor.
 +
 +Program output was displayed on the 8 data LEDs by writing data to a fixed memory address. ​ Data input could be requested by reading from another address, which would light the "data request"​ LED on the front panel and put the CPU into a wait state until the user set the data switches and pressed the "​deposit"​ button.
 +
 +===== Programs =====
 +
 +What you could write programs to do was a bit limited, no screen, no keyboard, no mouse, no sound. no printer, no floppy disk, no harddisk, no USB, no network ... you could turn the 8 LEDs on and off though. ​ The chip did have serial I/O pins so you could write routines to send and receive serial data and talk to a serial terminal or old teletype machine.
 +
 +You could get sound by putting a transistor radio next to it, and listen to the RF interference. ​ By programming delay loops, you could then '​play'​ notes!
 +
 +It turned out that one of the locations, in my 256 bytes of ram, had a single bit error - the bit stuck high.  So you would either have to jump around it, or design the program to have an instruction stored at that location that had that bit high anyway.
 +
 +====== References and Additional Resources ======
 +===== Webpages about the commercial kit =====
 +  * [[http://​www.eddiem.com/​micros/​micros.htm|Eddie'​s Micro page]]
 +  * [[http://​www.oldcomputermuseum.com/​mini_scamp.html|Old Computer Museum]]
 +  * [[http://​www.chookfest.net/​computers/​miniscamp.html|Electronics Australia Mini-Scamp Microcomputer]]
 +  * {{electronic:​scamp:​miniscamp.pdf|Original article}}
 +===== SC/MP microprocesor info =====
 +  * {{:​electronic:​datasheet:​national:​isp-8a_500.pdf|SC/​MP}} 8bit microprocessor,​ PMOS.
 +  * {{:​electronic:​datasheet:​national:​ins8060.pdf|SC/​MP II}} 8bit microprocessor,​ NMOS.
 +  * {{:​electronic:​datasheet:​national:​4200079a_scmp_technical_description_jan76.pdf|SC/​MP}} technical description. ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​4200094b_scmp_programming_and_assembler_manual_feb76.pdf|SC/​MP Programming and Assembler Manual}} ​ , February 1976((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​4200113a_scmp_kit_users_manual_mar76.pdf|SC/​MP Kit Users Manual}}, March 1976 ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​420305365-001a_scmp-ii_microprocessor_retrofit_kit_jan77.pdf|SC/​MP Microprocessor Retrofit Kit }},  January 1977 ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​420305239-001a_scmp_applications_handbook-feb77.pdf|SC/​MP Applications Handbook}}, February 1977 ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​elbug-monitor-listing.pdf|SC/​MP ELBUG monitor listing }} ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * {{:​electronic:​scamp:​scmp_lcds_schematic_aug76.pdf|SC/​MP LowCostDevelopmentSystem Schematic}},​ August 1976 ((www.bitsavers.org/​components/​national/​scmp/​))
 +  * [[http://​www.xgistor-echo.scorchingbay.nz/​scmp.htm|Xgistor]],​ Info on SC/MP and an emulator
 +=====Other SC/MP Projects=====
 +  * [[http://​www.dos4ever.com/​SCMP/​SCMP.html|SC/​MP revisited]]:​ A SC/MP micro-computer with NIBL Tiny-BASIC.
 +<​html><​small><​p>​If any referenced page no longer exists, try looking for its URL on <a href="​http://​archive.org">​http://​archive.org</​a>​.</​p></​small></​html>​
 +\\
 +----
 +<​html><​div style="​text-align:​center">&​nbsp;</​html>​[[:​start|Home Page]]<​html>&​nbsp;&​nbsp;&​nbsp;</​html>​[[:​about|About this Site]]<​html>&​nbsp;&​nbsp;&​nbsp;</​html>​[[:​copyright|Copyright Questions]]<​html>&​nbsp;&​nbsp;&​nbsp;</​html>​[[:​contact|Contact Us]]
 +\\