vrijdag 25 oktober 2019

PiDP8 - A replica of the PDP-8/i



Actually, this is neither 8 nor 16 bits. It's the 12 bits PDP-8. Or even more specific: the PiDP-8 replica of the PDP-8, created by Oscar Vermeulen of Obsolescence Guaranteed.

It's sold as a kit, but they are only produced in batches when there is enough interest. I waited a few months after entering my name on the e-mail list. It comes as a bag of components and switches, a huge PCB, a front panel and some wooden parts. The computer core is a Raspberry Pi (not included).
One of the first problems I was faced with was how to check if everything actually works. When you just start the unit, and  the Raspberry Pi runs the SIMH software there will be some blinking LEDs, and it will probably react to switches but it's very hard to find out if all switches are really working, or if all LEDs will light up if required. So I Googled and found a pidp_test program by Paul R. Bernhard: http://downspout.ca/pidp-test.zip.
After downloading and Unzipping you can build the actual program using the 'sudo make' command:

pdp@pidp8:~/usbdrv$ sudo make

After a successful build it can be started with 

pdp@pidp8:~/usbdrv$ sudo ./pidp-test

 

pdp@pidp8:~$ cd usbdrv
pdp@pidp8:~/usbdrv$ ls
main.c  Makefile 



Power on the unit with the ' STOP'  button pressed. This will boot the Pi, but not start the PDP simulator. 

Some quick tips to get started.

The manual for OS8 V3D (the version used in the simulator) can be found on the DEC section of the 'bitsavers.org'site

Setting the date.
The date can be set using the 'DATE' or 'DA' command. It requires the date in the format dd-mon-yy. So the month should be spelled in it's three letter abbreviated form, and the field must be separated by dashes.  Oh, and the year must be between 1970 and 1999...No year 2000 problem for the PDP-8.

.DA 21-NOV-16
BAD DATE
.DA 21-NOV-78
.DA
TUESDAY NOVEMBER 21, 1978



Some good instructions on how to toggle a program are available on the RETROCMP site.

The site of Big Dan the Blogging Man has an excellent series of examples and step by step instructions on writing, assembling and running software on the PDP-8. Not everything seems to work as described though. Probably there are some differences in running the pure SIMH simulator and how it is implemented on the PiDP-8.
He describes how to enter, compile and start a simple program under OS/8. All steps as described work fine on the PiDP-8, except the running itself.

I've tried this program (from the DustyOldComputers site):
 
loop, 
isz   delay  / create a delay
jmp   loop
cla          / clear AC so we can load it
tad   value  / get value
mql          / stash AC into MQ
tad   value  / fetch value again
cma          / complement AC
isz   value  / get to next value
nop          / ignore possible "skip" from ISZ
jmp   loop   / and do it all again
delay, 0020
value, 0021

I saved it as 'BLINKR', and then compiled it using the following command:

.PAL BLINKR-LS

Which is a shortcut for  'PAL BLINKR,BLINKR<BLINKR/H', and way easier to type...
This creates the BLINKR.LS file which can be viewed by typing: TYPE BLINKR.LS

loop,  0000 2020 isz   delay  / create a delay
       0001 5000 jmp   loop
       0002 7200 cla          / clear AC so we can load it
       0003 1021 tad   value  / get value
       0004 7421 mql          / stash AC into MQ
       0005 1021 tad   value  / fetch value again
       0006 7040 cma          / complement AC
       0007 2021 isz   value  / get to next value
       0010 7000 nop          / ignore possible "skip" from ISZ
       0011 5000 jmp   loop   / and do it all again
delay, 0020
value, 0021


When you type 'LOAD PROG', followed by 'START' it will not work. Somehow the program gets loaded but is immediately overwritten by OS/8. Something you can see by exiting the emulator (Ctrl-E) and type 'ex 000-010'to examine the contents of the memory. None of the just loaded instructions are there. It will only work if you use the  'LOAD PROG/G' which starts the program immediately after loading.
The reason for this is explained by Rick Murphy on the forum:

If you return to OS/8 using a JMP to 7600, your program contents from location 0 to 1777 are saved to dedicated blocks on the system disk, then overwritten by the keyboard monitor. Those will be restored if you run certain commands.
If you halt and examine that memory space while OS/8 is at the "." prompt you're actually viewing the KBM.


dinsdag 20 augustus 2019

Timex Sinclair 1000

 

Another Sinclair computer. Basically a ZX-81, but this one has a blazing 2K Memory ! It was branded Timex, and mostly sold in North America. Read all about it on the Wikipedia page, or just watch the great documentary on Sinclair computers by The 8-Bit Guy.
Revolutionary Technology !. And 'No user serviceable parts inside'. We'll see about that

I got this one cheap, but it came without PSU, and the box is heavily damaged. Actually only the rear section of the cardboard sleeve is still recognizable.
And, of course, it did not work. That is to say, the start screen comes up, but most of the keys do not respond. As expected, the keyboard cable is broken and cannot be fixed.So I ordered a new ZX81 keyboard on Tindie, including an overlay for the slightly different key texts of the Timex version ('Rubout' vs 'Delete'..).

Removing the old keyboard was surprisingly easy. After some careful heating using a standard hair dryer it was simply pried off using a putty knife.
Stick on the new keyboard membrane ( which is totally black), apply the Times keyboard sticker and the computer looks like new.
Then, when I wanted to re-attach the ribbon cable to the board I found that some remains of the old cable were stuck in the connectors. And when I tried to remove those, the connectors were damaged so they needed replacing too. Ordered two sets from Sell My Retro, and replaced them. Which finally solved all issues, and I can finally start programming...
Two connectors to be replaced, but after that the complete alphabet is available again.



Price [Original] €25,- [US$99,95]
Processor Z80 @ 3.25 MHz
RAM 2KB
ROM 8KB
Programming Sinclair Basic
Why ? Complete my collection of Sinclair computers.

maandag 29 april 2019

NEC 8201-A Portable PC

Advertised on eBay as 'one of the first laptops', the NEC 8201-A is actually a surprisingly nice computer, even today. It's got an 8x40 characters LCD screen, built in Basic, Word-processor and Terminal software and  a decent keyboard. With  three serial ports,  a printer port, Cassette interface and a Barcode Reader interface it also has plenty of connection possibilities. And the most appealing feature of all : it can run for almost 20 hours on 4 AA batteries !

The battery pack seems corroded, though not beyond repair. When cleaning there is a lot of green stuff coming off the board. Probably copper oxide, but it could also be remains of leaking batteries.
But after inserting a fresh set of batteries the computer does not turn on. Checking the connection from the battery to the board I soon found out the contacts were still bad. So I first just soldered the pack directly to the board.
The computer turns on, and the display shows text, although hardly visible. Turning the contrast control does not change this except maybe at one end, where I could see an almost black screen sometimes. So it looks like this control may be bad. The schematic shows its a 50K potentiometer so this might need cleaning or replacing. Looking on the internet for details on the control, I also found some notes from people that found the control to be OK, but a fault in the -5V power which could cause the same problem. So I first measured all voltages on the power supply.
On the picture I indicated the GND point used, how the connector is numbered and the voltages that should be present. All seem pretty good, except maybe number 18, which is not really 9V, but this could be due to the fact that it is battery powered.
Anyway, the -5V (which as far as I can see is only used for the LCD contrast) is present, so it must be a problem with the potentiometer.  Following is a detail from the schematic showing how the control is used.


Since I could not figure out from the footprint of the potmeter how it was connected I first measured connections from the adjacent  components R10 and R77. From that I found that R10 is not 100K but 50K. The two big solder squares are connected to the wiper of the potmeter, and the two other small contacts are the outer ends. Since I did not have a 50K model I used a 10K trimmer to test it. And indeed the screen now was readable. The contrast range was still limited so I added a 20K resistor in series with the trimmer and got a good result from that.
Obviously the trimmer that I used was different from the original so there was no way it would fit into the original PCB.


Also the knob would not fit the trimmer. So I decided to print one on my 3D printer. Then I connected the trimmer to the bottom of the PCB using wires, and glued it on the top using hot-glue. All this worked out really nice so and the computer screen is useable now.


Price [Original] €25,- [US$699,-]
Processor Intel 80C85 @ 2.4576 MHz
RAM 64KB
ROM 32KB
Programming Microsoft Basic 1.0
Why ? One of the first laptops.