Hello, four years ago I built an Apple1 with a glossy board without gold fingers from public gerbers.
But now I decided to do it better with a more close to the original board.
I built two beautiful Apple 1 computers with Armin's boards.
The first one is as true to the original as possible (as far as affordable):
The second one is for playing with LS configuration – this works if you use the MM1404 (here in the TO99 as in Apple1 No.75).However, I have found that the 74123 must not be LS – I have tried various ones and the pulses are much longer than 480ns. Presumably, the LS123 cannot supply the 7 shift registers?Finally, I just got the HD6321 – these are 6821s in CMOS technology with <1mA in idle mode (6821: 40-45 mA). The LS-A1 requires less than 500mA at 5V.
I also built some cards for it (Expansion, ACI and my Analyzer + IECMEM):
My IEC-interface, Analyzer, Prom and 2519-replacements and my RAM-test are on git: https://github.com/vossi1/Apple1-IECmem
Now, last but not least, comes the ‘Computer A’ prototype with the board from Mike...
I already got the ATOM caps, the red sprague 10nF caps and some nice blue 470nF caps.
Christian
In post #1, 'vossi' wrote:
" ... I have found that the 74123 must not be LS – I have tried various ones and the pulses are much longer than 480ns ... "
Uncle Bernie comments:
My own LSTTL based Apple-1 uses a 74LS123 with no problems. But I had to adjust both timing resistors to get the correct oneshot pulse width. But ... I never found a 74123 which would produce the right pulse width with the R/C values on the motherboard. With a 47pF capacitor, I typically needed ~22k resistors, and not the 27k specified in the original design, to arrive at 480ns.
This timing is not super critical but 480ns is at the optimum "sweet spot" according to theoretical calculations based on the 6502 and the DRAM datasheets. So Woz knew what he was doing. The irony is that he could have used a fully digital solution and could have avoided the 74123 completely. But even for his choice of using a 74123 there is a logical explanation: more flexibility on which DRAMs can be used.
Still, use of any such oneshot of any kind is frowned upon in the electronics industry, and for a reason: it can't be used for tighter timing specifications without adding a trim pot. And trimming of anything must be avoided in mass production . Unless your product is so expensive and highly profitable that you can afford to crank trim pots (and trim C's and L's, too).
- Uncle Bernie
I tried different 74LS123 and got always a pulse with of about 750ns. With standard 74123 its always about 480ns.
I always use 22k Allen Bradley that have in real about 24k and a new Mica 47pF 5% cap.
Maybe you had luck with your 74LS123. From what company and with what datecode is yours?
In post #3, 'vossi' wrote:
" Maybe you had luck with your 74LS123. From what company and with what datecode is yours ? "
Uncle Bernie comments:
In my professional realm, "luck" does not matter as I never rely on "luck" to make something work. In any field of engineering, relying on "luck" for a positive outcome is futile and may even be deadly. Or do you want to walk over a bridge which was designed betting on "luck" instead on thorough structural calculations ? Or fly in an airplane which was designed by rules of thumb ?
There are certain projects even a hobbyist not having a well equipped lab with all the usual instrumentation can bring to a successful end, but building an Apple-1 using LSTTL ICs is not among these easy hobby projects. You need at least a good oscilloscope with more than 20 MHz bandwidth to be able to measure and dial in the timing of the 74123 oneshots.
I've used a National Semiconductor DM74LS123N with date code B8145, but it's a futile exercise if you try to hunt for the same date code. This is not how the world works ! Use a suitable oscilloscope and some trim pots ... put 5k in series with the trim pot to avoid killing the 74123 on the minimum setting of the trim pot.
Using an oscilloscope I arrived at 15k/47pF and 8.2k/1nF in my case, for said DM74LS123. Yours may need somewhat different resistor values. But in general, it has been my observation that LSTTL oneshots typically require lower RC time constants to arrive at the same pulse width as a TTL family oneshot.
In my famous Apple-1 IC kits, I provided hand selected R's and C's for a given specimen of 74123, and even within ICs from one original manufacturer's tube and with the same date code, I saw large enough variations that required a set of (binned) R's and C's from 38pF to 47pF and from 20kOhm to 24 kOhm.
This is why such analog / RC based oneshots are frowned upon in professionaly designed electronics needing tight timing margins. But they are good to use for wider, noncritical timing margins, or, if equipped with a trim pot, to compensate for unavoidable variations in some other component or subassembly. But once something needs to be trimmed on the assembly line, then this increases costs, not only for the person who does the trimming work, but also for the instrumentation on that station.
- Uncle Bernie
OK, you used a totally different value of 15k instead of the typical 22-24k! - So it was no luck ;)
This confirms that the LS123 results in a total different timing than a standard TTL 74123 in the A1 and that is the reason for the measured 700-800ns.
Of course, I could have adjusted the resistor to achieve 480 ns, but such a significant change is out of the question for me.
Its a bit curious because the equation for the pulse with in the datasheet is the same for 74123 and 74LS123!
All my different standard TTL 74123 have more or less the same timing. And a 22k AB (24k real) is always good to get about 480ns.
With MK4027 or ITT4027 it does not need to be exactly 480ns. I always measured the pulse width, but I never changed the resistor, because the 22k AB has always a good result for me.
I leave my 74123 in the LS-A1 - I dont want to change the 22k resistor.
Christian