• Please review our updated Terms and Rules here

National Semiconductor IMP-16P

Moonferret

Veteran Member
Joined
Jun 19, 2003
Messages
504
Location
Northwest (UK)
Hi Folks!

I recently picked up this lovely machine and have been working on bringing it back up. I'm now at the point where it's running, has 8K words of working RAM and is loading programs via the TTY interface. Luckily the machine did come with a number of original paper tapes and a pile of documentation.

IMG_20230803_131749934.jpg

My plan is currently to expand the RAM. 8K is a little cramped with the editor & assembler loaded. Probably going to have to create my own PCBs to do this but I figured I'd check here first. Does anybody have any spare boards for this system? In particular RAM and the PROM programmer? Also looking for any additional software or documentation.

Cheers,
Dave
 
Paper tape images have been uploaded here...
Google Drive

Will upload documents as I get them scanned. Have most of what is already on Bitsavers but also have the following which stand out...

SM/PL Language User Manual
IMP-16 BASIC Source Code Listing (Appears to also be for the PACE)
42000035A IMP-16C Interfacing Guide
4200076X IMP-16 Conversational Assembler Manual (+ source listings)

And then there is this lot which consists of several folders of source listings (Think these have been uploaded but need to check versions) plus a whole random assortment of schematics, blueprints, magazine articles, etc.

DSC01861.JPG

Cheers,
Dave
 
I just acquired a COP400 Development system (I think) which is based on an IMP-16C 6-card chassis inside. I'll be dumping the ROM images and taking better pictures soon, if this helps at all. There is a RAM board.
 

Attachments

  • PXL_20240108_045619457.MP.jpg
    PXL_20240108_045619457.MP.jpg
    545.3 KB · Views: 17
  • PXL_20240108_045540403.jpg
    PXL_20240108_045540403.jpg
    391.1 KB · Views: 15
  • PXL_20240107_161604505.MP.jpg
    PXL_20240107_161604505.MP.jpg
    360.2 KB · Views: 15
  • PXL_20240107_161546479.jpg
    PXL_20240107_161546479.jpg
    173.5 KB · Views: 15
Paper tape images have been uploaded here...
Google Drive

I was needing another wide-word architecture to try for my disassembler to test some new code, and found a PDF scan of a bunch of IMP-16 assembler listings to use as reference. So I took a couple of days to get it going. It's an interesting instruction set, a lot like the Nova, but definitely not a clone.

Then yesterday I finally looked at those paper tape dumps that I had saved from here, and found one that seemed to match one of those source listings exactly! (EDIT16 4360332C) The source listing was missing about half of the code, but I was able to rebuild the rest of it from the binary that I spliced together by cutting and pasting hex dumps from the paper tape.

The paper tape format is pretty janky, but basically it uses nulls and the occasional CRLF as filler. Data records start with 0002. Even numbers of nulls are used between records, which keeps the hex dump word-aligned for no good reason other than OCD.

I think one of those scanned listings may include the code that generates these paper tape dumps, but I won't have the time to look at that any time soon. I think I saw a CRC-16 subroutine in there.

Code:
start: 0002
word: high byte: 00=comment 80=code C0=end
      low byte: length from record type to end of data (code data words + 4)
word: checksum? possibly CRC-16?
word: record type, 0000 = ?, 0001 = Bsect (data), 0002 = Tsect (code), 0083 = comment record
word: code address (xfer address in end record)
word: flags1: up to 32 bits of flags, two bits per data word
word: flags2: 00=no relo, 01=Bsect, 10=Tsect, 11=unknown
data: 1-16 words, usually 12 words on those paper tapes (end record has 0 words)

filler of 0D0A 0000 0000 between records
record data is un-escaped and may itself contain 0D0A or 0002, so you still need context to find boundaries
 

Attachments

I scanned a copy of this earlier this year.
I wish I could find the source paper tapes. I put them somewhere "safe" years ago.
When I put things in a safe place I may as well be feeding them Into the shredder. Never to be seen again.
And it's not getting better with age.
 
Back
Top