I finally got my apple-1 built! Issue now is getting it to work.
I luckily was able to suss out my first issue being 3 dead 74161 ICs causing no video. Those have now been replaced and I now have output.
This is my current situation:
I get blinking Ds and $s, I don't think that is quite right since I usually hear about blinking @s
Past that when I hit clear screen I get a screen full of &$ and a blinking F "cursor". Reset appears to do nothing. No matter how much I press clear screen it still fills up with &$'s.
Any thoughts where I should look next? Thank you!
A quick update with good news after some messing about, reset now works and I can type in commands and I get output! The issue with &$ continues unfortunately. I feel like this may be an easy fix seeing how it is otherwise functional. Thank you for any input!
So the screen issue is definitely at least partially related to the 2504 shift registers. I have sussed out that at least 4 of them are "good" they dont show any difference in behavior when swapped.
My keyboard looks to have lost a 7404 in the time I have been working with it. I tested them good earlier but it has been cooked now. I double checked voltages and found a good +5 and +12 volts, I thought the -12 was a little high at -12.4 but if anyone could say otherwise I would love to hear. Reset does appear to work at least in terms of printing a slash then moving down a line, and the clear screen still does not clear the screen other than for the time the button is pressed.
Thank you!
In post #3, NowlasWolf wrote:
" I thought the -12 was a little high at -12.4 but if anyone could say otherwise I would love to hear. Reset does appear to work at least in terms of printing a slash then moving down a line, and the clear screen still does not clear the screen other than for the time the button is pressed. "
Uncle Bernie comments:
The negative voltage being only 0.4V off is OK. No worries about that.
You other problem - clear screen not working properly - most likely comes from bad 1404 shift register (I wonder where you bought them, Unicorn ?)
You can pull all six of them in Row D out and then use a wire with a protection resistor (use ~470 Ohms, it's not critical) to inject logic "H" levels from the +5V rail on the now empty output pins (IIRC, #1 and #5 of their DIL-16 sockets, but please check this against the schematic, as it's from memory). This will allow you to exercise each individual bit of the video data path, and check the ASCII code for the characters you see if that makes sense. The full screen should be the same character.
Once you have verified that the video data path as such works OK, you can insert (power off !) one 1404 at a time and see if the "clear screen" command can clear that 1404. If it can't, this 1404 is suspect. Replace with another one . Based on what you wrote above, you may end up with four good 1404 and three bad ones. You should put one of the known good ones into the place for the cursor 1404 (shares the same socket with the DS0025, Row C) and the other good ones in the lower video memory bits. Leave the bad ones out (sockets empty). Then you can type stuff and see if what appears on the screen makes sense, and if the cursor and the scrolling works. If you have i.e. three good 1404 at the LSBs, you could type ABCDEFGH and you should get a sequence of eight characters, with their ASCII codes incrementing (as you have 3 good LSBs).
Try to get good 1404 from the vendor who sold you the bad ones as a free exchange of defective merchandize for good ones. I once bought a set of 1404 from Unicorn and IIRC, three of the seven were bad. They required a "Return Authorization Number" to send the bad ones back, and the new ones I got from them for free were OK. So I have a hunch that they do have a way to check them, but they don't check all of the ICs in their kits, and wait for the customers to complain, if bad ones are in there.
With my Apple-1 IC kits (now sold out) I avoided all that trouble for me and for the builders by only selling proven good ICs which ran for 4 weeks 24/7 in a burn-in rig, a special Apple-1 with burn-in PROMs which would exercise the memory and the video in a thorough way. So I never had any complaints. Only one IC died at a builder, and it was one of the early 2519N I had, which had a high infant mortality rate, hence, the long burn-in.
I replaced it free of charge and everybody was happy. (The later 2519B I used were much, much better, only about 1% infant mortality, and they all had a 1976 date code, very desirable).
I don't think that selling Apple-1 kits with no burn-in of all the ICs is commercially viable. Because due to the age of these ICs, it is very likely that 1 out of 3 builds won't work (my calculations based on actual failure rates from my burn-ins, also see may "IC graveyard" posts on Applefritter).
The hassle and loss of time to deal with the situation IMHO is simply not worth selling them at the first place. This is why I insisted on the 4 week burn-in, and made no exception. Other sellers may value their own time to be worth less may see this topic in a different way.
- Uncle Bernie
Thank you for the testing method! I will definitely give it a try. I actually tried the two suspect ones in the cursor position as well and was rewarded with a no cursor upon power on, this has me hopeful that only 2 of my shift registers are bad. I infact did get them from a set from unicorn, I may have to follow up with them because the 74161 4 bit counters were 3 out of 5 dead. I have since replaced the lot of them with newer replacements, (also from unicorn) while I was picking out parts needed for a gen1 and gen2 ACI since I have both of the boards.
I will update if have anything new come up but I am still truly excited to have something finally at least partially working after so many months.
I am truly disappointed not getting one of your sets when I could have uncle Bernie but I also enjoy the aspect of troubleshooting and making things work regardless. Granted I would have also enjoyed the much smaller bill haha. I read your one post about creating seeds to continue making kits or at least testing components for future builders to make use of. I think that would be really amazing for the community to do and I would also be interested in doing so, (if I can make my build rock solid in the least haha)
Thank you again!
I have followed your steps uncle Bernie and have made double sure that the two 2504 I suspected were the bad actors are infact bad. They don't allow for the screen to be cleared nor be written at all. I have some extras currently on the way. The good news is that the computer portion still looks rock solid! I can't wait to have this 100%!
I got in my new 2504s and the video section works perfectly now!
On to the next! I think I am having intermittent memory issues, values don't get written correctly sometimes or get changed, the test print program in the manual even sometimes fails to be entered in correctly. I've had the test print program freeze but at least be escapable.
Using the ACI (Original spec, my Ver2 is yet to be built) it fails to read programs, it seems to finish way sooner than it should, it will be halfway into a program and then print the /
Obviously I have some instability, anything I can do to help it along? I will say I have a DS0025 and MOS 6502B, I am hoping that would allow for a good timing window for memory errors but perhaps there could be something else I am unaware of?
Thank you!
Check the timing on pin 13 of SN74123, it should be close to 480nS.
Screenshot_2024-05-25-22-29-39-769_com.miui_.gallery-edit.jpg
In post #7, NowlasWolf wrote:
" I think I am having intermittent memory issues, values don't get written correctly sometimes or get changed, "
Uncle Bernie comments:
this is a typical effect seen in most 'independent' (or "maverick") Apple-1 builds not based on my kits. But it can be solved. First, make sure that the 74123 oneshot timing is right (as explained by Macintosh_nik in post #8). In my kits I provided hand selected resistors and capacitors for the timing which were fitted to a particular 74123. See, the problem it that with randomly selected 74123 and resistors /capacitors you will almost never hit the right timing. This is why the use of such oneshots for timing critical tasks is prohibited in the industry. It is never fit for mass production. If you bring such a circuit to any industrial design review, you will find yourself on the next layoff list, if not getting fired immediately ;-) . . . these oneshots are OK for non-timing critical tasks, though. But the DRAM timing in the Apple-1 IS timing critical.
After you got the timing right and if you then still see memory issues / random program crashes, adopt my 'reliability mods' which I described here on applefritter somewhere. Add the six resistors first. This will improve things. But if it still crashes, add the extra bypass capacitors. All my kits came with a bag of components for these 'reliability mods'. (If you can't find the thread, send me a PM).
On Mike Willegal's website you will find a memory test which is OK. A more powerful one came with the PROMs in my kits (long sold out).
The next issue, with the ACI, is a as follows. The original ACI has more flaws than dogs have fleas. But with some fiddling on the volume, it should work when an AIFF or WAF file is played to it via a sound card (or digital audio output, I was told can be found on most so-called "smartphones", which I don't have and never allow in my house, even for guests ... listening devices who track your conversations and send the text transcription of them to the epigones of the Gestapo, or worse --- the voice to text technology was given to the smart phone companies by these epigones of the Gestapo for free, and for a reason, the development paid for by the taxpayer, who always paid for his/her own enslavement and for the bullets they use to kill you --- see the great movie "The Chekist" on youtube to get the spin). But enough of that. You got my well meant warning.
If you try to load anything with a real cassette recorder, it's a hit-and-miss, I was told BASIC loads correctly maybe every second or third attempt, if the volume setting is right, which you can't tell by the LED, because it does not work.
You need my Gen2 inproved ACI to be able to use a real cassette recorder for loading software reliably.
- Uncle Bernie
Thank you! I'll take a look at that pin! I'll try the mods as the next step, I will need to track down the right resistors first but I do have the right caps for it.
As for the ACI, I have actually gotten the light to light up from my phone output I am not sure if the signal is too hot at that point, I'll have all of the stuff needed for the Gen2 soon so I may not worry about it too much. I will try it again when I know it is stable at least
Thank you again! You guys have been souch help!
So I tested the timing, it was 440ns, I had some spare resistors of other values, so I put in a 22k one and now I have 468ns. Doing some testing this doesn't seem to have improved it really much. Maybe a slight bit better. I am guessing my issue may not completely stem from that but it's a good feeling knowing that is pretty close to on the mark now.
I will put some termination resistors in when I receive them this coming week, I tried the caps so far but they don't seem to have made much of a difference either.
Thank you for y'all's help so far, if you have any other insight it would be much appreciated :)
-Alex
https://www.applefritter.com/files/2024/05/27/Reabiliti%20Mod.pdf
The next thing I would do is install 6 390ohm resistors according to the manual and try downloading the memory test by the respected Mike Willegal.
I got the resistors and capacitors in now and I still appear to have slight instability, I have no way of getting memory tests properly done currently since my ACI is still failing to read properly. Once I have all the components for the version 2 I'll try that but better yet I have P-lab's SD card reader coming in and can possibly use that to load a memory test program. Honestly even a serial to ASCII adapter may be nice too. I have tested the memory using the retro chip tester pro and they have all come out clean but I guess that isn't always the end all be all that they are working 100% correctly.
If anyone has any other ideas that I can check or try I am completely open to it, otherwise I'll update when I can actually load a testing program.
Thank you!
-Alex
IMG_20240529_231826.jpg
Here's something interesting that happens after long enough, it straight up fails to really operate and only a power cycle gets it going again, if that happens to give any hints to what might be ailing it.
In post #13, NowlasWolf wrote:
" I have tested the memory using the retro chip tester pro and they have all come out clean but I guess that isn't always the end all be all that they are working 100% correctly. "
Uncle Bernie comments:
I can't speak for or against this "retro chip tester" as I don't have it, but unless it costs > 1 Million US$ and has a brand name like "Teradyne" on it I'd doubt that it can do proper parametric testing of DRAMs. But even a cheap tester can tell you if a DRAM (or any other IC it supports) is completely dead. This is what you can get for much less money ;-)
Alas, DRAMs have lot of failure modes. Some, for instance, are pattern sensitive (depending on which bit patterns are written or read) and this may also depend on the refresh period, among other effects like "ground bounce" caused by a poor PCB layout. The inner mechanism is that the charges storing the bits do leak away, some faster, some slower, and any read operation (or write operation) will load the whole selected row into a row buffer, hereby refreshing that row. The write will then change the one selected bit (in case of N x 1 bit DRAMs), and then write the whole row back into the matrix. If a bit charge has decayed to a point where the restore operation (by the internal read amplifiers) gets marginal, then these weak bits may flip. Which also may depend on the state of adjacent bits in that row. "0" and "1" as seen from the outside is meaningless because some areas in the DRAM matrix may be inverted.
This makes DRAM testing a very elusive task, unless you are the manufacturer who knows the inner circuitry and architecture.
In the PROMs which came with my kits there is a very powerful DRAM test which usually finds all these issues, despite it does not know these things. I just adopted an algorithm which back in the 1980s was hailed as being a sort of panacea - and although this has to be taken with a grain of salt, so far it worked, at least with these 2nd generation DRAMs.
Once you can load a program using the improved ACI, you can try Mike Willegal's DRAM test. But since this test runs in the RAM itself, it may not even load properly and may not work. This is a general chicken-and-egg problem for RAM tests running in RAM. And why I provided the RAM test in PROM.
But on the long run, I think you can make it work. It just will cost you a lot of time.
- Uncle Bernie
The Retro chip tester I describe is the one in this thread:
https://www.applefritter.com/content/retro-chip-tester-rct
I picked it up somewhat for this project but also for all my other old computers and whatnot, it's nice for a quick test but as you describe uncle Bernie it's quite hard to completely test these things.
The chicken and egg situation is quite difficult but I hope maybe P-lab's SD card reader will help with that. That or I can manage to get ahold of your extended rom if anyone is able to make one.
The last thing I want to do is have to hunt down a good set of memory especially if I don't have to, I was honestly hoping this may be a bad supporting IC but more testing is needed to suss that out. The fact it outright fails to work after a while as shown by my last image makes me feel like it may be some other piece causing issues (maybe due to heat?)
In any case, when I get more tools to test with then I can make an update. I am excited and determined to make this work solidly as possible and it feels like I am really close.
Thank you!
-Alex
Just out of curiosity while I wait for stuff to come in. Are there some points or ICs I can hook up a scope to just test around and see if any signals are too far out of spec that could be causing my issue?
I figure there must be some from known working boards I could cross reference from.
Speaking of cross referencing, I picked myself up a replica I plus board and have used it to test my newly put together Gen 2 ACI. I am happy to say that it works! It unfortunately presents the same issue on my replica build as the original ACI of it kicking out far too early. I suspect the memory issues cause it to get confused and exit far sooner than it should, I know at the very least my input buffer often has issues because even when using the monitor to list a memory address it will sometimes spit out the wrong address from what I typed in.
It's frustrating to see this work almost 98% but I feel it's very close to working. Despite that this has been such a fun and fulfilling project, aside from the cost.
Thanks again!
-Alex
So getting back to basics I thought was best and I tried using a single page of memory, I disabled and eventually removed the "W" bank of memory and I have been able to load the memory test and microchess with no issue! It seems completely stable!
Hoorah!!
I am not sure why I haven't thought of it before, but better late than never right? Now the interesting bit: With the bank still disabled, putting in the bank W DRAM causes issues to crop up again, I'm not even working in that bank at all and it is not even enabled (The line being disconnected in the ram configuration)
I wonder if it is a power issue? Is there too much draw and it causes issues due to not enough power? Or maybe one of them causes interference? Or maybe one has a short of some sort yet logically sound?
This is all spitballing but any ideas or thoughts of what to look at are appreciated still!
Sorry for all the little updates, perhaps all of this random testing will help other "maverick" builders as Uncle Bernie puts it as they look through the forums
Thanks again!
-Alex
After some further testing and assistance from Uncle Bernie I sussed out a single DRAM causing all my issues. After swapping it out with a spare I have gotten my machine nice and (so far) stable!
I have even had some expansions from Plab come in today to start playing with as well! Everything appears to be working perfectly!
Many thanks to those who chipped in, especially Uncle Bernie, I look forward to enjoying this computer and probably soon making a case for it.
Yet another Apple-1 born into the world, and working!
-Alex
Congratulations for you 'newborn' Apple-1 clone ... each one of them enhances the 'pool' of such machines in existence, which then in turn makes the hands-on experience with them more accessible to interested people all over the world. Which is important, because only a 'live' = working machine can provide that experience of how the "personal computer" revolution started half a century ago. Functional specimen of all sorts of interesting devices in museums all around the world are rare - and most often, all you can get is a static display, no power applied, no hands-on experience. For obvious reasons, the originals are just too rare and precious to be exposed to such use. But with Apple-1 clones, it becomes viable.
I really did like this thread because it demonstates / documents the difficulties which 'maverick' builders typically experience when procuring their own components to build an Apple-1 from various sources. There are some other threads on the topic on Applefritter, and the bottom line is that although it can be done, and the mission to build an Apple-1 from unproven parts can be accomplished, it is far more challenging and rife with setbacks than using a proven IC set which is known to work, because it has been burned-in / tested in another Apple-1 build.
This is where the idea comes in that any builder having a working Apple-1 could use it to produce more "known to work" IC sets. This could be done on a hobbyist-to-hobbyist basis, or even on a commercial basis. I still wonder why sellers of "Apple-1 kits" don't test their ICs. "NowlasWolf" had several bad ICs from the same vendor. Imaging the extra work handling all these compaints and returns ... just because a few ICs were bad. It would cost less time to just plug them into an existing Apple-1 motherboard and see if they work. And then pull them and ship them. With the proper IC pulling tool this would cost no more than 15-20 minutes per set. Certainly less time than dealing with complaints / returns. And then the bonus of having 100% satisfied customers when only good ICs are shipped !
Qualifying such an IC set is best done with my diagnostic PROMs. While it is not economically feasable to sell 'diagnostic only' PROM sets, as they just would be a waste because they are used only once by a typical builder, the alternative I used is financially viable and entails no waste at all: put the diagnostics page as the 2nd page into the two WOZMON PROMs. This means that 512 x 4 PROMs are used, but ironically, at least for me, these larger PROM blanks were easier to find to cheaper to buy than 256 x 4 PROM blanks (still, they were not really cheap).
So essentially, the diagnostics page was a freebie with no extra costs for either side of the deal.
And it certainly helps to get Apple-1 builds up and running - otherwise failure of a DRAM means to have a chicken-and-egg problem which cannot be solved in any easy and efficient way. This is because without functional DRAM there is no way to load a DRAM test program into said DRAM....
So the big question is how to make the diagnostics page available to 'maverick' builders. Without incurring undue costs or waste of precious PROM blanks. I've heard that even 512 x 4 PROM blanks are getting scarce (they would also be needed for the 'enhanced formatting page' in the 'Gen 2 improved' ACI). Maybe a small adapter card could carry an EPROM and still look nice.
What do you think ? Or maybe someone out there who has a stash of 512 x 4 PROM blanks ?
Comments invited !
- Uncle Bernie
I think the easiest option is to use your great diagnostic program with the adapter from P-Lab. As you rightly pointed out, usually enthusiasts use this program once, and there is kind of no reason to pay $30-40 for it. And this adapter assembly costs me about 3$, which I don't think is expensive at all.
01.jpg
I knew that thing did exist but forgot who made it. Now I remember !
The remaining question is how and where to get those cheap. Builders need to procure the naked PCB, the EPROM (needs a programmer unless pre-programmed) and all the other parts. The right DIL-16 adapters also are not easy to find. The correct ones have pins on both top and bottom, and the thicker diameter pins are meant to be soldered into the PCB, while the smaller diameter pins are meant to go into the PROM sockets ... and these pins break off easily. Turn the adapter around (thick diameter pins go into the sockets) then they will over-stress the contact springs of the sockets and these abused sockets never will grab a normal PROM reliably anymore, as they became too loose. Choices, choices ... all not too easy.
- Uncle Bernie
These parts are getting more difficult to find working properly especially with Uncle Bernie's kits being all sold out. (When researching initially I had his kit bookmarked too, I ended up waiting too long sadly). With that, there is no guarantee that everything will be working and that was the case with the kit I received. Admittedly I ended up ordering most of the replacement parts plus spares from other sellers. But for the 2 DRAM I found non functional (1 I found early with a tester, and the second one I found in my last bit of getting my Apple-1 functional) I contacted Unicorn.
They were absolutely happy to help and offered to send replacement after shipping back the defective part. I admittedly passed up this option and instead purchased the new specific ICs from them without sending the chips back. This was mostly a choice of convenience as I did not feel like spending the time packing up a dead IC and shipping it to them and waiting to finally get a new one back to me. I did this both times. I am unsure how much they usually charge for these DRAM or if they are exclusively for their $666 kit but I got them both for $25 shipped each (These are Mostek MK4096K-16).
Overall the experience I had with them is favorable but certainly not foolproof. I have a small handful of dead ICs that I sussed out in this thread.
IMG_20240702_233532.jpg
A small few but each of them kept my Apple-1 from working at all and it was only by this fantastic community I had any chance of getting it running. I have a few pointers I figured I would put together
~Have some way to externally test ICs
I know this may not be very simple but I was able to easily find my first bad DRAM and confirm the defective 74161's and 7404 with the "Retro Chip Tester Pro" I definitely recommend something like this if putting together any sort of untested parts either from individual sellers or from these kits. Be warned as it's not full proof as my second bad DRAM tested good every time with it. Uncle Bernie has said he "burned in" ICs with otherwise known working Apple-1 units to them finally put in his kits. Thus another method is using another working Apple-1. This is probably quite unlikely unless building your second unit or a member of the community offers to test them, but it's probably not as likely despite being certainly helpful and effective.
~Follow Uncle Bernie's Advice on the 27k resistor and probably the stability mods
I read this early on for stability. This is for timing and as shown earlier in this thread if I had a 27k resistor it would have been completely out of whack as the one I preemptively put in was ~22k. Had I used the resistor I got from unicorn It would have been worse as I tested it to be 30k!
I am unsure if the stability mods helped me in the end as my issue was a bad DRAM but it no doubt probably makes it so my Apple-1 runs rock solid as possible.
~Reach out to the community
I have been so happy at the warm and very helpful responses and this community and forum has. Lots of knowledge all around and plenty of experience to boot. It was instrumental to getting this working.
~Have fun!
I started this project wanting to build something close to the original as possible, but honestly (especially with some parts becoming increasingly rare and expensive) I found that the experience of just getting an apple-1 put together and working rewarding all in it's own. It will never be an original, so why does it have to have "original" parts? I do admit I love the look of vintage ICs but it is by no means a deal breaker to have more recent ones populating my board. You will also likely save a decent chunk of change as well not worrying about how vintage it will look, not to mention the benefit of less old and more likely to be working ICs. Of course some may actually want to make a convincing replica of the originals and hey, more power to you!
Hopefully this may be of help to new builders and those taking advantage of Unicorn's Kits as I did.
IMG_20240702_230854.jpg
My Apple-1 finished and complete with my (Temporary) milk bottle power supply. I can't wait to make use of it in further retro computing fun, learning, and projects.
Thank you all again!
-Alex