Since a few months I had been running short of 256x4 PROM blanks. It's not that these are scarce, chip brokers still stock them by the tens of thousands, but because I bought a few tubes last year (at a good price) after they sat in the broker shelves for 30+ years with almost no sales, now all the chip brokers worldwide seem to think they are a gold mine and they ring up usurious prices for these PROMs at which I won't buy them anymore, period.
So I started to sell my 100% tested and burned-in IC kits with 512x4 bit PROMs for A1, A2 on the Apple-1 motherboard. I hate waste, so leaving them half empty was undesired, and I did put a "hidden" page into them as a free bonus, which contains the burn-in program I use on my burn-in rigs. This page must be activated by slightly bending up pin #14 on each PROM so that it floats and makes no contact when the PROMs are put into the sockets. Note that you should do this only once. Bend a pin too often and it will break. Don't do that. This is meant just as a one time measure for initial checkout of a new Apple-1 build. (As a more permanent measure you can cut the PCB board trace on the solder side of A1: you see a single, approximately 1" long trace between the pad rows of A1, with a small stub that goes to pin #14 of A1. Cut the stub but do not cut the trace itself. Now you have configured the PCB permanently to run the hidden burn-in page. If you want the Wozmon, solder a jumper from this pin #14 to circuit ground on pin #8 of A1.)
This is how the pin #14 of the PROMs should be bent - just a little bit, and not more:
This is how they look when they are installed in the Apple-1:
Now, to run the burn-in firmware, you need to know that you must clear the screen before you can release the reset of the 6502. This is a trap many Apple-1 builders have fallen into and they thought their Apple-1 has a defective IC somewhere, because without the clear screen, the terminal section gets insane and does weird things.
The proper procedure is as follows: assert /RESET (active low), power on the Apple-1, see the random character pattern appear (good ! you have video !), then assert CLR SCREEN (active high) and the screen should clear. You may still see the faint dot pattern caused by signal crosstalk. Then release CLR SCREEN and a blinking '@' cursor should appear on the upper left corner of the screen. Otherwise you DO have a bad IC or some other fault somewhere. If all OK, release the RESET of the 6502 and the burn-in page should start to produce a sliding character pattern comprising all characters the Apple-1 can produce (more on this later).
The question is, how can you do all these RESET and CLR SCREEN actions properly if you don't have a keyboard yet. This is where the "Gimmick" switch comes into play. A "Gimmick" is marketing department lingo for a worthless but attractive item you can find in cereal boxes and such. Typically a plastic thingy made for fractions of a cent. Hence, worthless. But the idea is that kids want it badly and this is the competitive edge of your corn flakes over the competition if sold at the same price for the same quantity.
Now, in professional electronics lab jargon a "Gimmick" is a contraption to make an electronic or electromechanical component quickly, on the cheap, and right now. Improvised, of course. If you ran out of trimmer capacitors you can twist together two strands of insulated wire to make a "gimmick capacitor". Tuning is accomplished by untwisting until the wanted fine tuning is achieved. Then snip off the excess wire, but leave some stubs to get capacitance back if needed. A "gimmick switch" looks like this:
If you bought one of my kits you can use the keyboard connector found in the kit, and you can use wires snipped off some other components like resistors or capacitors. They just need to be long enough. Pre-bend them to 90 degrees where they attach to the pins and pre-tin this section. The solder work must be done quickly and the connector must be plugged into a DIL-16 socket, or the pastic will melt and the pins will get misalinged. This must be avoided.
After the wires have been soldered in, slip a piece of insulator on one (or both) to avoid the possibility of shorts. If you did not need to extend the LM323K pins then a piece of heat shrink tubing that came with the kit will be left over and you can use that. Otherwise, use a piece of insulation that came off the power supply wires when they were made. You did not throw these valuable insulator pieces away, or did you ? That's stupid. They are no trash, they are valuable and can be slipped over many exposed wires on various components. I always keep them in a small tray. I never throw any of them away.
After the insulation has been slipped on, use pliers to bend the wires such that they can contact pins 1 and 16 of the connector when manipulated with fingers and then snip to length. The "Gimmick switch" then is ready to be used:
It plugs into the keyboard connector of the Apple-1 with the wires pointing towards you (if the Apple-1 is positioned such that Row A is nearest to you). The left wire is for CLR SCREEN and the right wire is for RESET. It's as simple as it gets. After all the work is done and you want to build a keyboard cable, you can re-use the connector after desoldering the wires, but remember it must again be done with the connector being plugged into a DIL-16 socket.
WARNING: You may be tempted to use a DIL-16 socket in lieu of the special connector, but don't do that. The pins on IC sockets are too large in diameter and would need to be forced into the socket on the Apple-1, ruinining that socket. Don't do that.
If you have the burn-in software running, you should see a pattern like this:
Carefully watch for wrong characters that don't belong in their place. The letters A...Z will be repeated twice per cycle because this is how the Apple-1 works. But if the digits repeat twice per cycle, most likely the 2504/1404 shift register at location D14b is bad, or some TTL in that signal path. This should never happen with ICs from my 100% tested and burned-in IC kits, though. But it will happen more often than not with untested ICs.
You also might get messages like SS@HHLL, which means the built-in DRAM test has found a problem. HHLL is the address where the problem was found, which will lead to either DRAM bank X ($0000-$0FFF) or DRAM bank W ($E000-$EFFF), if the jumpers at the 74154 are in the standard configuration.
The "SS" is the "Syndrome", it's again a hexadecimal value, in which each "1" bit in binary corresponds to a bad DRAM: $80 would be either W7 or X7, and $01 would be W0 or X0. In case of any such DRAM errors (which, again, should never happen with ICs from my 100% tested and burned-in IC kits, and if the reliability mods have been put in) I recommend to note the syndrome message(s) down and then swap the offending IC with one in the other bank. Then restart the test. If the error has moved to the new location, it's a bad DRAM chip. Otherwise, if the error did not move and is still in the same bank as before, you may have the problem described here:
https://www.applefritter.com/content/experimental-dram-challenge-program
and then you really must put in the six termination resistors. BTW, the little program shown there is not a complete DRAM test - it was specifically written to exacerbate any problems with the ringing multiplexed address bus lines and to see if that Apple-1 quirk strikes. In normal DRAM tests, the conditions under which this may happen occur much more seldom, but if you are patient and run them long enough, they still should spit out the occasional error message hinting at that problem. Same is true for the DRAM test in the hidden page. The takeaway from this is: if you use the hidden page, let it run for hours, and not just for a few seconds. You want to make sure your new build really works, and longer than for a few seconds or minutes.
If the DRAM errors occur here, there and everywhere, with no particular pattern that would make sense, you likely have forgotten to put in the additional bypass capacitors as recommended in my reliability mod thread (its post #4 is the most relevant):
https://www.applefritter.com/content/part-path-towards-rock-solid-apple-1-builds
or something else is amiss. The timing of the 74123 oneshot could be wrong (should be 480ns as seen in the schematic), which, again, should never happen with ICs from my 100% tested and burned-in IC kits because I provide hand-selected R's and C's to get the timing right), or something else is bad, such as the 8T97 data bus drivers being too weak, or the 7400 at location C15 being either defective or too fast (sometimes a 74L00 there will be a remedy).
So far my instructions on how to use the hidden page in my PROMs. It's a great tool and it covers almost all potential maladies of any Apple-1 build. So don't ask me about the original "DIAGNOSTIC PROM SET" anymore. It's not needed. The current solution is much more cost efficient and it can do all required tasks. Once the Apple-1 passes all the tests of the hidden page, the only thing that can still be wrong is the keyboard and the keyboard port (part of the 6820/6821/6520). Any issues with that, however, can be easily diagnosed with the Wozmon itself.
Some of the builders I coach have complained about the poor quality of the gimmick switch photo above.
Here is another one. Seems to be better but still not perfect.
PDRM1598.JPG
Alas, I ran out of the nice Molex headers seen in the above posts. They were new-old-stock and meant to mount discrete leaded components such as resistors and capacitors such that they could be plugged into an IC socket. With SMD technology these type of headers are going the way of the dinosaur, so I could not restock them and had to find an alternative.
Here is a photo of an alternative "gimmick switch" that can be built from the header provided with my current kits:
Gimmick_switch_V2.jpg
All you need to do is to break off the plastic tabs in the middle and then solder the two wires on top of the little fork contacts as shown in the photo. Plug the header into a DIL-16 socket during the soldering process. Do not push the wires into the forks so you can use the header later to build a keyboard cable. Once I have the time, I will show you how this goes. These headers are repurposed press-on headers for flat band cables, and of course, once two of the forks have solder on them, press-on of a flat band cable is not possible anymore. And not useful anyways. All Apple-1 keyboard cables need some permutations in the wiring so unless you use a small PCB having these permutations you cannot use press-on connectors on both sides of the flat band cable. So one one side you have to hand solder the wires to the header. This is the place where you can re-use the header which was used to make the gimmick switch. Here are the options:
If you build my keyboard emulator cable, I recommend using a press-on connector on the DB-25 side, and the re-used header at the Apple-1 end, see this thread:
https://www.applefritter.com/content/apple-1-keyboard-emulator-cable-plans
If you build a cable for Apple II and Apple II+ style keyboards, use a new press-on connector at the Apple-1 side and the re-used header at the Apple II keyboard side, see in this thread:
https://www.applefritter.com/content/how-make-excessively-long-apple-1-keyboard-cables
The keyboard side connector is not visible in post #1, but you get the idea, use the new press-on connector at the Apple-1 keyboard socket. I may post more pictures there in the future, depending on demand. So far nobody responded to that thread, so no demand, and no need for me to post more there.
Never use the re-used header as a press-on header for a flat band cable after the two forks were polluted with solder. It won't work !
I am troubleshooting my Apple 1 build and I am curious: is the code for the burn-in PROMs still proprietary (I searched but I didn't find the source in these forums or elsewhere)? Or should I use Mike Willegal's memory test?
Thanks!
If your replica is able to load the program via ACI card or any other card, you can use Mike Villegal's test. If not, you will have to blindly select memory chips until you can load this test.
If you're in a bad situation and you can't load the Mike Willegal test, then you should try the Uncle Bernie test. It runs directly from PROMs and does not require fully working memory in X0-X7.
Thanks, I don't yet have an ACI card, which is why I was interested in a test that doesn't require that. I have an EPROM adapter instead of PROMs and I could use any test I could program into an EPROM, hence my question about the availability of Uncle Bernie's test.