Little Card Reader

Here at the LCM+L Skunkworks, some of the folks have been working on a Little Punched Card reader, so Visitors can see what they punched in their punched cards. Jeff and Hunter have been working on the electronics, while I have been building mechanical parts for them. Here is a picture of where it is today:

You can see it is made from clear plastic, so you can see EVERYTHING. This being a prototype, it has a few warts: like those extra holes in the sides. I had never actually used the boring head with my milling machine, so I had to figure out how to use it. Boring heads are used to make round holes, usually larger than you can get with drills. Yesterday, I made some new side plates, sans extra holes.

I started by drilling the holes for the 6-32 screws that hold the thing together:

Once I had the holes in, I had to put in the bearing holes, this is where the boring head comes in. I have drills up to 0.500″, and a 0.750″ one, but the bearings are 16mm in diameter, or about 0.630″. I start to drilling the bearing holes to half inch:

Then I have to bore out the holes to 0.630″ with the boring head:

The gray part moves to adjust the size of the hole, here is a picture of the business end, where I can adjust the size of the hole it makes by 0.001″:

After I added the holes to hold the motor mount, and a bunch of filing edges, here are the two sides, sitting on Jeff’s desk:

I mentioned that I was doing this on my milling machine. If you don’t know about milling machines, they are basically like a very rigid drill press, with a movable table to hold the part you are working on. I can move the table around very precisely to get the holes Exactly where I want them. You can also work on the sides of the parts with special cutters, which is how I got the plates to the basic shape. Here is a link to what my milling machine started out life as: It was smallest machine that I felt could be called a real milling machine.

CDC 6500 Memory, Again.

Going out for 20 more Storage Module replacement boards today. All 5 of the first run work with one timing change, and different values for 12 resistors.

Over the last week or so, I have fixed all the bad PS and PZ modules that I had previously identified. The machine has been running with all those replacement modules, as the first 5 PP’s for more than a week now.

It’ll take a week to fab the boards, and a week or two to do the surface mount assembly, then David Cameron and I will install the connector pins, and pulse transformers. Then I will be off to fix the other half of the memory to bring the machine up to his full 128K words.

CDC Printing

We now have the printer emulation capable of printing direct to our Dataproducts BP1500! We won’t have that turned on normally, but with a command to our emulator PC, we can have a job print to the printer, or otherwise, it will print to a file.

I keep the print files around for about a week, so if you want something you printed, I can email it to you, just let me know your user number (name) and about when you printed it, and Your printout can be on it’s way to you.

If you REALLY want hardcopy, we can do that now too!

Bruce Sherry

CDC 6500 Memory: First Production in!

The first 5 final candidate Memory module boards came in from FAB and Assembly yesterday morning, and they look pretty good! I reclaimed and installed more pulse transformers, bolted it onto the Lexan chassis I finished over the weekend, and plugged it in.

Hmm, I must have done something seriously wrong, because it seems to work! The top one, playing the part of PP0, is the new one, and the lower one, playing the part of PP1, is the prototype. The prototype has to be on extenders, because the connector spacing isn’t quite right. I seem to have gotten that corrected in the new version. You may be able to notice that the old one has the old logo in the lower left, whereas the new one has the new logo.

So, what did I do differently you may ask? Besides fixing the connector spacing, I added a whole bunch of test points, had them install the correct 0805 LED’s, as opposed to the 1206’s I put on the prototype, and reduced the LED current by a factor of 3 so I don’t get sunburned quite so easily.

I suspect there will be more assembly in my future.

Bruce Sherry


If the Apple 1 computer came with INTEGER BASIC, then how am I doing BIORHYTHM?

9010 S = ((A MOD 360)+360) MOD 360: REM GET ANGLE 0-359
9020 IF S < 180 THEN 9060
9030 IF S < 270 THEN 9050
9040 C = C5(S-270+1): S =-C5(360-S+1): RETURN: REM 270-359
9050 C =-C5(270-S+1): S =-C5(S-180+1): RETURN: REM 180-269
9060 IF S < 90 THEN 9080
9070 C =-C5(S-90+1): S = C5(180-S+1): RETURN: REM  90-179
9080 C = C5(90-S+1): S = C5(S+1): RETURN: REM   0-089
9810 DIM C5(91)
9820 S=0: C=8192
9830 FOR A = 0 TO 45
9840 C5(A+1) = S: C5(90-A+1) = C
9850 S=S+((C/3)*10)/191
9860 C=C-((S/3)*10)/191
9870 NEXT A

First I set up an array to hold SIN for 0 to 90 degrees.  (You don’t need more if you know COS is SIN of the angle plus 90, and other quadrants are symmetrical).

But, creating an array of 91 values would pretty much take up all of available programming space, so I generated it using the differential equations — relating SIN and COS.  I also made the values go from 0 to 8192, as going from 0 to 1 is not useful.


Apple 1 BASIC

INTEGER BASIC for the Apple 1 computer is not well documented.

Here are some things I found:

A FOR loop will always execute at least once.  This is unlike most BASIC machines, which will not execute the innards of FOR I = 1 TO 0.

Although the exponentiation symbol is recognized (^), don’t use it — that is a lock-up condition.

IF statements will execute a command.  However, multiple commands on the same line are not contained within the IF result.  That is, IF X > Y THEN A = 0: GOTO 1230 will always go to 1230.

CDC 6500 Memory Again

I installed all the fixes into the PCB design, and decided that, just maybe, I should check to see if it worked as Central Memory.

Arrgggghhh! It doesn’t.

I noticed yesterday that address bit 10 & 11 LED’s were backwards, and I just found that I had swapped them at the module pins. It is fixed on the next revision.

OK, now I am really confused: when I have the new memory in 5A01, bit 2 in bank 10 doesn’t work well. Swapping sense amps does nothing. Moved it from 5A01 to 5D01 and it works fine. I have seen it fail there, but not in the last half hour. I may need to decrease the output limiting resistors to help the sense ampllifiers.

A weekend has passed, and the new module still seems to work in 5D01. I may finish the layout, and build another round of boards. I am pretty sure I can fix the sense problems with resistor value changes.

Here is a closer view of the module as it currently exists:

Bruce Sherry 4/3/2017 8:22:32 AM


Old Scopes

As I finish up some high priority tasks I think about the old oscilloscope I am fixing.  I hope to spend some time working on it today.  It is one of many interesting and fun jobs I get to do at the museum.

Since the beginning of the year I have been quite involved with old oscilloscopes at the museum and I confess it has been a guilty pleasure of mine.  A guilty pleasure because I have wanted to restore an old oscilloscope for a very long time.  Far longer than I have been working at the museum and this old desire makes me forget I have legitimate reasons for restoring old scopes here and so brief twinges of guilt come to me and I have to remind myself that what I am doing is OK.

The oscilloscope tube has been removed so I can get access to parts inside the scope  I need to change out.

Old scopes don’t seem to have much to do with vintage computers at first but if  you think about them a bit you see that spending time on old oscilloscopes in a computer museum is appropriate.  Oscilloscopes are the original visual output device for electronic computers  and computers as we know them could never have been built without oscilloscopes.  Oscilloscopes have been an essential tool for seeing what happens inside electronic circuits since the electronic age began.  Without being able to see inside of and understand how electronic circuits work, computers as we know them would never have been built and compared to where we are now the highly technically advanced world we live in would resemble a stone age had they never been invented at all.

The cathode ray tube used in oscilloscopes was invented in 1897 by Karl Ferdinand Braun.  The A. C. Cosser company first started selling oscilloscopes in 1932.  The scope I am working on now and which I show was made in the 1950’s.

Not everyone is interested in old oscilloscopes and I have never seen an ‘I  Love My Old Scope‘   bumper sticker on a car anywhere but I am not alone in my passion.  Several videos have been posted on You Tube showing people repairing old oscilloscopes.  Some of us apparently like old oscilloscopes the way most dogs like a thrown ball and I suspect seeing a few working oscilloscopes can make a visit to our museum more memorable.  My guilt is shared by the old scope video makers.  Their guilt usually makes them come up with a plausible explanation of why they are doing what they are doing.  Just doing it does not seem to be OK but it should.

I have watched a couple of the You Tube videos recently which confirmed some facts I also discovered in my own journey into the world of oscilloscope repair.  I would have benefited by watching some of these videos in the beginning of my journey and will relate what I have learned from them and in my own activity in the future.

One video in particular had a rather humorous moment.  When any piece of electronic equipment is first powered up and nothing bad happens the equipment is said to have passed the ‘smoke test’ because nothing burned up and none of the vital smoke inside of the electronic parts so necessary for correct equipment operation is let out.  The narrator of the video had a thick east coast accent further colored by the crackling voice acquired from years of cigarette smoking.  The narrator powered up his oscilloscope and announced his scope ‘has passed the smoke test‘.  As soon as the narrator said this he then had an intense coughing fit too authentic to possibly have been staged.  When he was done coughing the narrator then said ‘which is more than you can say about me‘.

The smoke test is performed after certain parts inside the oscilloscope have been changed out and replaced with new parts.  I have discovered the condition of a scope restoration candidate varies depending on how the oscilloscope has been stored (temperature and humidity) and on the quality of components used.  Scopes varied in quality and capability and this also affects how well they survive the years.

The external appearance of an old scope my be very good but if the scope has aged in an unfriendly environment many components inside will have to be replaced before a smoke test should be done.  An un-restored scope may power up and appear to work fine but I have learned such scopes will fail components very quickly and then stop working.  I have learned that the statement ‘scope powers up’ in eBay ads does not tell the whole story because even if the scope works some components are old and ready to fail making the scope unreliable.

The particular scope I show in this post will be used to display a reproduction of what is considered to be the first video game ever, ‘Tennis for Two’ and has been selected because I believe this is the same model of oscilloscope used to display the original ‘Tennis for Two’ game way back in 1958 or a model very close to it.  I will be describing what I have been doing to restore this scope and the general steps of what needs to be done to restore old oscilloscopes to working condition in a future post.