Saturday, February 7, 2015

Documation fix to read right cut cards

NEW KEYPUNCH INTERFACE DEVELOPMENT

I finished up testing of the new beta version of the PC software. It is being uploaded it GitHub.

SHARING OF 1130 CARD DECKS

I developed a small daughter card with a single 7433 Open Collector Quad NOR gate chip on it. I had to interrupt one connection, inserting this gate in between the formerly connected points, as well as routing the signal for column 81 (called 81CR on the Documation schematics) onto this card and to my daughter card.

The new gate will force row 12 to register as dark when we are at column 81, otherwise it will pass through the state of row 12's photocell detector. The error check at column 81 will not look at the top row, assuming it is dark. A read check will only occur if light passed through rows 11 or below.

The defect in the Documation reader design is that a check during column 81 (one past the last data column of the card), is close to the diagonal notch that is cut on some card stock - as a result the row 12 photocell detects the light from around the notch. The error checking during column 81 tests to see if ANY row is lit, generating a READ CHECK if any are on.

I thought I had located the trace on the board that needed to be cut in order to separate the two pins that are ordinarily connected, then I tack soldered wires to the two pins, leading up to the daughter board. One of the backplane positions carries the 81CR signal, but it was not picked up on the control card where the other logic resides. I tack soldered another wire to the gold finger that slides into the MB-13 motherboard socket slot.

When I first cut a trace, I mistakenly cut the wrong one - not realizing there was a trace hidden directly under the ship on the same side of the board, connecting the output of one inverter to the input of the next, It was that hidden link that I intended to cut.  While the modification with the wrong trace cut did stop the read checks for right-hand-notched cards, it emitted row 12 as a hole for every column regardless of the actual card state.

I discovered the flaw, bridged the improperly cut trace and tried to find a way to sever the link underneath the chip. I didn't see a way to do that unless I unsoldered the entire chip and removed it first. I didn't want to do that. Instead, I cut the chip lead for pin 13 before it touched the motherboard and bent the pin remnant up to break electrical contact. With the output of my daughterboard tacked onto the pin 13 remnant, the damaged trace corrected by a bridge wire, and the other wires still tacked onto pin 1 and CR81, the tests worked as expected.

The daughterboard sits parallel to the control board but slightly above it. I placed it on the other end of the board from the chip it was tied into, because that was where the CR81 signal arrived onto the board. I wanted to ensure that the signal delay of the wire for row 12 was longer than the delay for the CR81 that blocks row 12 detection. Otherwise I feared a race hazard where the notched card might light up the photocell just before we blocked it due to the column 81 signal.

The wires were stiff enough to keep the daughter-board above the components on the main board, although I still put some electrical tape on the bottom of the little card. The control card slides into the bottom slot of the Documation, the other three cards in a standard reader are the top three slots, leaving two empty slots and thus plenty of vertical room above the control board.

Fix with daughter card attached to Control Card
I read in about 2000 cards of line printer art all of which were punched on card stock with right hand notches, with only two read checks. Both were due to cards that slipped while moving through the reader, not advancing as far as it should. Thus, there was no light at column 84 time when the card should have cleared. No spurious read checks at all due to the notch. All data looked perfect otherwise.

Video showing Documation reading right notched cards

I read in many boxes of line printer art, pictures of Abraham Lincoln and Jack Kennedy, for example, There is other software that I can now read as well. After reading in quite a few, I uploaded them to share with other 1130 enthusiasts.

DATACENTER SHED CONSTRUCTION

First heavy rain day since I completed the shed, which will give me a good chance to see how much or little it allows water in. It looked dry about four hours after the start of the rains, but it has been much heavier since then and of course sustained for quite a while.

Friday, February 6, 2015

Uploaded more 1130 card decks, testing Documation machine fix, plus improvements to the keypunch interface PC software

NEW KEYPUNCH INTERFACE DEVELOPMENT

I made the changes for the PC side program to display card column markers, a kind of ruler, under the scrolling window showing the current cards. I also worked on the 1130 simulator support for its encoding methods and causing the code to display the right characters for cent sign and logical not. This will be picked up tonight if I return early enough from my evening obligation.

By the end of the night, I had the special characters displaying, the ruler with scrolling functional and the 1130 card support working properly. I will upload this soon as the next beta version of the program

READ TAPE OF 1130/1800 SOURCE CODE

It looks like I will read the tape this weekend, pending other obligations for my friend whose system I will use. He has just returned with a Documation card reader, similar to mine, and will be building the same quick interface box as I did.

SHARING 1130 CARD DECKS

A question was raised on the google 1130 group about the LPS deck I posted, as most remembered LPS to be a much larger deck of many Fortran modules. I will go hunt through my boxes to see if I have the remainder stored elsewhere, plus will pull out the manuals and see what they say about the files.

I decided to upload a few of the line printer art decks I have - pictures of Snoopy on his doghouse and the like - and then uploading system files such as diagnostics, standalone utilities and eventually DMS load decks.

Many of the decks I wanted to read used cards with the diagonal cut on the right hand side, which causes all Documation readers to trigger a false read check. This is due to a test during what would be column 81 of the card to see if any of the photocells can detect light. This would mean that the card was not in a proper position and had moved too far or too little, casting the columns read into question.

The problem with the right hand notch is that the photocell for row 12 can detect a bit of light when the card is at the column just to the right of column 80, peeking around the notch. I had previously designed a solution that will force row 12 to be 'dark' when the reader is looking at column 81, thus permitting error-free reading of such cards.

I had to build it, install it into the machine and test it before working on all those decks which were punched on right side notched cards. I did this during the late afternoon, but hadn't finished testing before I had to leave for a donors dinner held by an organization we support.

Thursday, February 5, 2015

Card decks shared with 1130 enthusiasts, plus work on 1401 at CHM

I spent mid-day at the Computer History Museum working on a problem on one of the 1401 systems wherein reading cards on the 1402 reader will fail sporadically. There are many mechanical adjustments that are awry on the reader, but it seems that the 'read completion latch' that should be set  will sometimes fail to set, generating a second or third attempt to feed a card. Since these duplicate requests occur while the preceeding mechanical cycle in the reader is still underway, they push an all-zero card image into storage.

Right now, we see the latch failing to set with apparently valid inputs. The latch is a 'trigger' card which has six inputs - three for setting the latch and three for resetting. Each 'side' has a direct (immediate) input, plus a enabling and a rising edge input. When the enabling input is active, a transition of the edge input from off to on will activate the function (set or reset depending on side).

The scope shows the set side enable input (called a gate input by IBM) receiving a pulse, with the last of the twelve rows of the card being read showing up on the edge input (called AC input by IBM). The enable is active first, then the rising edge happens from the last card row. Most times, this sets the latch but sometimes it doesn't, causing the error. We didn't see any anomalies on the other inputs that might have disrupted the latch.

It was time for the scheduled demonstrations to the museum visitors, so we had to close up and leave it for the next time we are together. I had a bit of time in the evening to work on the 1130 project.

READ TAPE OF 1130/1800 SOURCE CODE

I began scheduling the time when I would visit a friend and read the tape on his 9 track drive. He is extra busy at this time, having a series of enhancements to make to his R2D2 for its appearance at the Maker Faire in a few months. We are still iterating to find a good date and time, but it shouldn't be too long.

READING OLD CARD DECKS AND SHARING THE FILES

The ECAP program seemed to be correct, with just a few cosmetic tweaks of the decks, so I made it available for others to download. I then went to the card file cabinet I brought back with the 1130 and began scanning in programs for sharing. Mostly it was games to run, which are likely to be a big hit with casual enthusiasts, but also some utility routines plus two math oriented programs - Complex Variables Subroutine and the Linear Programming System.

I did some verification of the reasonableness of the data capture, even tried a few on the simulator, before posting all of them via Dropbox and links to the 1130 enthusiasts.

Wednesday, February 4, 2015

Cleanup and verification of the ECAP program source files


READING CARDS AND SHARING WITH 1130 SIMULATOR USERS

The decks I read yesterday need a bit of reorganization, which I will do later today and then re-run them through the simulator. That will give me a good idea of the potential rate of misread and necessary fixup.

I found one card misread for fortran module ECA02, read it in again and got a clean compile. I had an odd DUP error I will need to investigate on ECA08, but was compiling and storing cleanly until the module that spanned from box 2 to box 3, ECA36. There was a card in ECA36 that was misread but only mangled the sequence numbers. I re-read it anyway to create a clean source deck. Still no good.

A few cards must have been dropped out of the box, since they are skipped in sequence number but also not present physically in the card box. The compilation failed with errors related to lack of having an *IOCS directive, which was totally consistent with the skipped cards which began right after another * directive card. I put in the likely directive cards, mirroring what was used in other modules. but I get a compiler error at the last card and a message that variable KK is undefined.

Continuing onward, putting ECA36 aside for now, I successfully compiled and stored most modules, although I found a chunk of the last of box 4 and beginning of box 5 that was a big garbled looking. I read that whole section again and got clean compiles and saves for them.

It turned out that three cards were mis-sequenced, placed in another spot in the deck in a location that would be silently ignored. I found them and put them into ECA36. Everything compiles and the test data seems to get reasonable results.

I split up all the source files into seperate modules and sent them all to Richard. As soon as he gives the nod to their correctness, I can send them to Brian and Norm for the IBM1130.org site.

Monday, February 2, 2015

Card reader interface working, reading in decks

Busy day today at work plus I seem to have wrenched my back while fighting with the accursed shed, which his slowing me down. Still, I had success on a couple of fronts.

NEW KEYPUNCH INTERFACE DEVELOPMENT

I settled on a means of displaying the card columns just under the horizontal scroll bar, implemented the code and will be doing a bit more testing before considering it complete. There are some changes to make to allow the IBM 1130 simulator format cards to display the non-ASCII glyphs for the cent sign and logical not character. A few other conversion changes to make, but essentially this is just tweaking

READ TAPE OF 1130/1800 SOURCE CODE

The tape arrived this evening, in good shape. I will load it on a friend's tape drive and see what we have on the reel.


QUICK BUILD OF BRIAN'S CARD READER INTERFACE

I found one other wiring error, corrected it, and got the whole process working flawlessly. A friend wanted the source code for the ECAP program for the 1130, a circuit analysis/simulation application. I had the cards, four and a half boxes (each box holds 2,000 cards) worth, and processed them through the interface.

Video of cards being read


REPAIR OF VECTREX GAME CONSOLES FOR DGM

I completed one of the two console repairs and it is ready to return to the Digital Game Museum. The other one has some problem causing strange scrambled video output. Once I diagnose what component is causing the problem, I should be able to correct it.

Sunday, February 1, 2015

Testing of card reader interface, plus minor work on other fronts

NEW KEYPUNCH INTERFACE DEVELOPMENT

I tried out a variant suggested by a blog viewer, putting the equivalent of the ruler as a new short line at the top of the status pane. If I like the way it looks and acts, I can strip out the menu command for a ruler, since this could operate at all times. I will do most of the coding and testing tonight once it is too dark to work on the card reader interface.

QUICK BUILD OF BRIAN'S CARD READER INTERFACE

Got out this morning and wrapped up the wiring of the card reader interface to the Documation. Right after, I inserted the three chips, hooked up power and was ready to program the microcontroller. In order to do that, I had some prep work on a PC.

I installed the software necessary to program the Parallax SX microcontroller, got the SX Key controller board recognized by the PC, and opened the program written by Brian Knittel. Once everything looked good, it was time to plug in the SX key to the circuit I built, power it up, and download the microprogram.

In addition to installing code in the microcontroller, there is a PC side program that Brian wrote which communicates over USB to the interface in order to control the reader and capture cards as they are read. The USB interface drivers and the program were installed.

Time to test this all out! I brought up the Documation reader, the interface box and the Surface Pro tablet running the PC program. I had a problem with the wiring to my SX-Key programming header, putting ground on the wrong pin, which gave me an obscure error "Unable to generate Vpp" but once I fixed it, I could program the microcontroller and verify its proper contents.

The next challenge was communicating between the Cardread.exe program and the interface box - the PC side program complained about problems with COM3. I needed to look into the code to see whether there was a dependency on a specific serial port or a configuration option I missed to set it properly.

With that process completed, the program was successfully exchanging messages with the interface box, which itself was able to see the hopper empty state correctly. However, when it tried to pick cards to start reading, nothing happened. I suspect that the modifications I created, for my IBM 1130 system replica and the interface box that would make it appear to be an IBM 2501 reader, were at fault here. I had changes wired into the reset function and remote activation of the stop button, both of which could cause the reader to sit idly.

I went over my documentation of the modifications and discovered that I had only to remove the connector I had added to the back of the Documation and it would be capable of operating normally. However, the reader still didn't pick cards. I saw the program flickering the "pick pending" message but nothing was occurring on the card reader.

I made the rash assumption things were sensing properly because it detected the state of the hopper, but when I looked at the schematic I noticed that this was the only card reader signal that went directly to the SX microcontroller. The rest went into the 82C55A peripheral interface chip (PIA),

I put the scope on the interface and immediately saw that the PIA chip was not driving the pick signal to the 7426. The chip does have +5 and ground, so my debugging will need to be a bit more detailed. I also threw the VOM on the reset signal, finding it sitting down at 0 as it should.

At this point, I will have to start scoping and measuring voltages on the various pins to see if I can sort out the error. I will make a quick check through my parts bin tomorrow to see if I have a spare 82C55A which I could swap - the advantage of using sockets instead of direct soldering is clear.

I did spot a wiring error, with the two address lines swapped between the SX28 and the PIA. I correct the issue, but there is still something else wrong. I checked for shorts and traced wiring several times, but missed this problem; as a result, I have to assume an additional miss-wiring exists that is causing incorrect behavior. The light has faded, however, and my workday is over.

READ TAPE OF 1130/1800 SOURCE CODE

I am expecting a mag tape which has some source code on it related to 1130/1800 systems. The owner offered it up for reading, to share anything interesting we find on it. When it arrives, I will arrange some time on a system with a 9 track drive and get the data extracted to the degree possible with old media.

DATACENTER SHED CONSTRUCTION

Now that the degree of distortion of the shed has been reduced a bit, it is time to try the wood shims that the kit maker suggests as the means to adjust the door alignment. However, the shed does seem to have gradually twisted itself back to perhaps half of the original misalignment.

I can shut the doors and open them, although they look ugly with the significant misalignment, which does create a minimum acceptable level for using the shed. As such, I will work on improving the alignment as a cosmetics project but may leave it for long stretches if it is too balky, meanwhile I will outfit the shed and begin using it.

Card reader interface construction almost totally complete


NEW KEYPUNCH INTERFACE DEVELOPMENT

Did more work on the PC side program for my round of enhancements, most of which support card images used with the IBM 1130 Simulator. I haven't worked out a 'ruler' capability that satisfies me, which would make it easy to determine the exact card column in which each character on screen will be punched.


QUICK BUILD OF BRIAN'S CARD READER INTERFACE

I had the interface about 85% wired by mid-afternoon, although I still need one socket (for the 28 pin SX28A microcontroller) as I don't want to directly solder the chip onto the board. The major remaining wiring is the connection of the leads I installed that connect to the Documation card reader cable - just a matter of stripping the ends and soldering them onto the physical connector board I have inside my 1130 replica card reader controller enclosure.

I proceeded to verify the lack of short circuits, the correctness of connections, scanned for any missing links, and prepared a mounting location for the interface I build inside the enclosure. Once I received the last socket in the early evening, I soldered it in,

I had a party to attend at night, but was almost completely done wiring it into the enclosure. I could be ready for power up test and programming of the microcontroller on Sunday morning after just a few final connections and checks.

DATACENTER SHED CONSTRUCTION

I used a 2x4 and a hydraulic jack to push the shed into correct alignment, then retightened all the screws I had loosened for the upper portion. It bent back partway, so not yet good enough, but the problem is down to about 20% of the magnitude of the original problem. I will continue battling until it is reasonably close.