Request for assistance debugging video terminal of replica Apple-1

18 posts / 0 new
Last post
Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
Request for assistance debugging video terminal of replica Apple-1

Hello all,

 

For some time, I've been reading this forum, as well as the websites and blogs of other Apple-1 replica builders, but I finally decided to create an account and post because I'd like to ask for help in debugging a problem that's had me stuck for weeks.

Overview:

I've been building a replica "NTI" Apple-1, with a focus on trying to make it as accurate as possible to the original computer. I purchased one of Mike Ng's NTI-Newton PCBs, and slowly began collecting the components from eBay. I've been following Mike Willegal's "Apple 1 Mimeo Computer Assembly and Bring Up Guide".

The problem occurs while trying to test the video section. I have populated the ICs listed in the table on Page 16 ("Populate the Video Section"). According to the guide, the display should look something like this:

 

However, when I apply power to my board, I only get the underscore ('_') symbols, and none of the symbols are flashing:

When I short the CLR line to +5V, the screen goes blank, but when I disconnect it from +5V, the screen is entirely filled with underscores again, instead of remaining clear.

Debugging:

These are the debugging steps that I have tried so far:

  1. Verified that the +5V, +12V, -5V, and -12V rails are still outputting the expected voltages with the video terminal ICs installed.
  2. Verified that the output of the 555 timer is switching between 0V and +5V. I believe that this is the signal that is supposed to make the cursor blink.
  3. Verified the connections between the outputs of the Signetics 2519 (O1-O6) and the inputs of the Signetics 2513 (A4-A9) for continuity, and to make sure that they were not shorted to each other due to a solder bridge. I also verified that these lines were pulled down to -12V through 7.5k resistors as indicated in the schematic.
  4. In particular, I have been looking at the input I6 to the 2519, because the output O6 is connected to A9 on the 2513 character generator. It's interesting to note that in order to display the '@' and '_' characters, A9 must be '0', but it must be '1' to display a blank character. Therefore, my guess is that the problem is related to the logic connected to I6, but I haven't been able to narrow it down from there.

 

Given that the video terminal is displaying something, I think that I am close, but I'm not sure where to look. Has anyone here seen a similar problem before? 

 

Thank you!

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi SquawkBirdies!

Try swapping D4A-D4B, D5A-D5B, D14A-D14B, but not all at once, one at a time. What chips you have in these places (2504, 1404 or 2804?). Take a good picture of the board and show me.

Offline
Last seen: 1 month 4 weeks ago
Joined: Oct 28 2021 - 09:48
Posts: 28
I have a similar problem

Hello,

I was about to open another post requesting help to sort out the video output, but given that my issue is so similar, I will just follow up here.

My problem is that I have the only flashing '@' in the screen. 

If I try to clear the screen, it will clear it while I put the clear screen to 5v, but once I open it the screen full of blinking '@' comes again.

 

Offline
Last seen: 1 month 4 weeks ago
Joined: Oct 28 2021 - 09:48
Posts: 28
I answer myself

My problem was because I missed to add the 7410 at B2. Fortunately Uncle Bernie came to the rescue!

Online
Last seen: 4 min 13 sec ago
Joined: Apr 1 2020 - 16:46
Posts: 844
About the symptom seen by SquawkBirdies of post #1

... this is NOT necessarily the loss of clock to the 2504 (or replacements) shift registers. "pfuentes69" had the genuine symptoms of a missing clock from the DS0025 driver. Which happened to many builders who do follow Mike Willegal's building  instructions  to first populate and test the terminal section only, and they overlooked the 7410 in row B. OK I hold Mike Willegal in highest regards as he started all of the Apple-1 cloning scene. But his advice of testing a partiallly populated Apple-1 board is bad, bad, bad, and did cause at lot of grief for builders. If you measure all the regulated -12V, -5V, +5V and +12V voltage rails on an Apple-1 with an unpopulated sockets and if they are alright, then please, please, please populate the whole thing for the first test. This will save you from  a lot of trouble and false negatives.   Believe me that in the Apple-1 you cannot blow up any IC if these supply voltage are alright. So always, always, always populate ALL the IC sockets for your first trial run, as I recommend in my "Tips & Tricks" pdf every buyer of my kits gets for free - if they contact me at all.

 

The problem seen by  "Squawkbirdies" may be something different. I am too lazy to count but if there are more than 40 characters  per line most likely  the 2519 is bad (or some logic upstream which clocks the 2519). Bought from Manoshewitz in Jerusalem ? They have 5000+ in stock but ~20-25% of them are bad. I  know because I sourced all my 2519N from them before they started to ask for usurious prices. 3 years ago they wanted $17 a piece which was OK but $65 ? Read the Talmud how that comes from and how that goes. Usury never ends well. Neither for the usurer nor for the goy. Idiots ! Why  not cooperate for mutual benefit ? (Avi, do you read this ?)

 

All this trouble can be avoided if you buy one of my famous Apple-1 kits with the fully tested ICs. I have just listed my IC kit #56 on Ebay after a pause caused by lack of character generators.  Sorry for that. You can also buy a better equipped kit at a lower price from me if you contact me via the Applefritter message system. The Ebay fees saved will buy you much much more valuable parts. I don't do this for profit as I'm quite wealthy myself. My real concerns are not making more money, thank you, instead I'm concerned with spending my millions of US$ before they turn into worthless toilet paper. But I'm no government welfare office neither so I can't give you these Apple-1 kits for free. You have to pay to me what are my own costs to get these kits to you. But I designed everything to make  no profit. If you wonder why, read Ayn Rand's "Atlas Shrugged". I am John Galt. Well, not really. The fictional John Galt designed an engine which would tap into the powers of the Universe to run and produce a net energy output. I cannot do that. Nicola Tesla may have stumbled upon the secret but - maybe - his later work was a fraud to attract investors, but I do not want to judge the man. I admire and cherish him because he - Nicola Tesla - gave mankind the multiphase AC system which is the backbone of our technological civilisation. Did you know that Thomas Edison rejected Tesla's multiphase AC system because Edison's industrial empire was built on DC ? Tesla was an Edison employee at the time and Edison could have had the multiphase AC patents of Tesla for naught. Much as my employers got my patents for naught (meaning: naught over my - really great - salary, I actually made more than the director of the design center, who was a narcicisstic psychopath and was severely bruised be seeing my stellar salary). Anyways, you get what you pay for,  sometimes less because somebody ripped you off, but you cannot get more than what you paid for. 

 

If you build your Apple-1 clone with individually sourced ICs, the more power to you, I really appreciate that, but don't dare to ask me if something goes wrong.

 

The Apple-1 is a tricky design full of quirks and unless you know everything about how it really works your chances to succeed with a build are about 33%, sorry, but this is the ugly truth.

 

Comments invited !

 

Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
Hello, Thanks for the replies

Hello,

 

Thanks for the replies. Here is an image of the board as I tested it with only the video terminal section populated:

During all previous tests, I had the 7410 in location B2 populated.

 

    Just to see what would happen, I tried populating the computer half of the board (with only the 'X' bank of RAM for now). I measured the voltage rails with a multimeter and they hadn't changed from where they were when I

powered the board up with only the video terminal half populated. Most of the time, I got exactly the same result as before (the screen entirely filled with '_' characters). One time when I was powering it on to test something, I got this:

    If I understand correctly, getting the '@' cursor after clearing the screen meant that the computer booted the memory monitor from the ROMs.

However, it did not respond to anything that I typed on the keyboard, so there is a good chance that the computer was still too unstable to run correctly for any length of time. I believe that the blinking of the cursor is controlled by the

video terminal, not by the computer, so the fact that the cursor continued to blink did not mean that the computer itself was running.

 

Another time, a pattern very similar to the image shown in the bring-up guide was displayed:

The `@` symbols were blinking. With the exception of the third row, I believe this is the expected output from the video terminal when the computer is not running.

 

Additional Debugging Performed:

  • As suggested by Macintosh_nik, I tried swapping around the 2504s. Because the '_' symbol is generated by the 2513 when A9 is '0' and A4-A8 are '1', I figured that the problem might be with the 2504s in D14A/D14B, and some other bits would get stuck at '0' if I moved these 2504s to other locations, such as D4A and D5A. However, after making this change, I saw no difference in the output; the entire screen was still filled with '_' symbols.
  • I have tried two different 2519s, purchased from two different sellers located in the United States. Unfortunately, both give the same result.
  • Next, I thought the problem might be a timing issue with the DS0025 clock driver. I measured the signals labelled "∅3" and "∅4" on the schematic (Pin 7 and Pin 5, respectively, on the DS0025):

The clock driver seems to be generating the correct signals. Each LOW pulse is ~500ns wide, as expected, and there is more than 10ns delay between the rising edge of ∅3 and the subsequent falling edge of ∅4, as specified in the DS0025 datasheet.

 

Questions/Next Steps:

  • Because the video terminal seems to boot correctly on very rare occasion, this makes me think that the problem may be a signal integrity issue, an intermittent connection, or a faulty component. Which do you think is the most likely?
  • I have purchased a few dozen 0.1μF capacitors. If the problem is a signal integrity issue, which components are the most likely to require decoupling capacitors?

 

Again, thank you to everyone for your help.

 

 

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi SquawkBirdies!

In your photo I see that there are no jumpers R-C and W-E...

Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
Screen Shot 2022-03-14 at 11

Thank you for the reply. Those jumpers go to these address lines on the 74154. I hadn't installed the 74154 yet because I was focused on the video terminal, which does not use this part.

 

I added the remaining jumpers and verified the continuity with a multimeter:

  • 'Y' to 'F'
  • 'Z' to 'D'
  • 'R' to 'C'
  • 'W' to 'E'
  • 'X' to '0'

When I powered it up, I got the same result as before; the screen only showed '_' symbols. The Apple-1 video terminal does not read the characters directly from the RAM of the computer, so it makes sense that the address decoding configuration jumpers would not affect the terminal side.

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi SquawkBirdies!

I tried to take out one D- and C-row chip at a time on my board. The first picture was taken without 7408 (C12), the second without NE555 (D13). In both cases the picture was static. Check these chips, the soldering and the ic sockets.

 

Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
I eventually tracked down the

I eventually tracked down the problem to the 7410 in location C6. After swapping out the component, the video terminal section began displaying the correct pattern.

 

Next, I populated the ICs in the computer half of the board. After I power on the computer and clear the screen, I get a blinking '@' symbol. When I press the reset button, the display shows a single '\' symbol. According to the manual, when the computer is reset, the terminal should display the '\' symbol, drop down to the next row, and display a blinking '@' cursor. The '\' symbol without the cursor advancing to the next line indicates a Page 0 memory error.

 

Before installing the MK4096 ICs, I tested each chip using a 1-bit DRAM tester to verify functionality. I have read on this forum that the timing between the falling edge of the /RAS line and the falling edge of the /CAS line during a memory access cycle is not very reliable in the Apple-1 design and frequently caused the original computers to crash due to memory errors.

 

74123 Output:

The yellow line is the input signal CLA and the blue line is the output Q1. The width of the output pulse is 660 ns, which is considerably longer than the 480 ns pulse width that is noted on the schematic.

 

Row/Column Strobe Timings at MK4096:

Results:

  • The CAS pulse width is 165 ns, which meets the minimum specification for the MK4096-6 (140 ns), but not for the MK4096-11. I am using the -6 part because it was easier for me to find when I was ordering components for this project.
  • The row to column strobe delay (T_RCL) is 427 ns. This is higher than the maximum value listed in the datasheet (T_RCL_max = 110 ns); however, it notes that  T_RCL_max is the timing requirement to achieve the best access time for the RAM, rather than a strict necessity for functionality.
  • After T_CAS, both lines are pulled high again, as expected. Both lines remain high for approximately 400 ns, which satisfies the row address strobe precharge time (T_RP_min = 115 ns).
  • I tried modifying the timing resistance to shorten the output pulse from the 74123. T_RCL decreased to approximately 250 ns, but the computer still did not work.

 

Next Steps

These are the debugging steps I plan to try:

  1. Try using different 74123 ICs.
  2. Add decoupling capacitors between the V_DD and GND pins of each MK4096.
  3. Test more timing resistor values.

 

Questions

  1. What is the correct delay between /RAS and /CAS? Am I measuring the correct signals, or is there another tight timing requirement that I am not measuring in these tests?
  2. How important is the accuracy of the pulse width generated by the other output of the 74123 (labelled "3.5 μs" on the schematic)? As far as I can tell, this signal is used to trigger an interrupt that causes the 6820 PIA to send a new character to the video terminal.

 

Again, thank you very much for your help.

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi SquawkBirdies!

Check it out, there's a lot of useful information on the processor part.

https://www.applefritter.com/content/part-path-towards-rock-solid-apple-1-builds

 

 

 

Online
Last seen: 4 min 13 sec ago
Joined: Apr 1 2020 - 16:46
Posts: 844
Enough pain and suffering yet, SquawkBirdies ???

Oh, I don't wont to be snarky, to the contrary. I greatly appreciate your maverick Apple-1 builder attempt to build an Apple-1 clone using a wild bunch of unproven ICs you have bought here, there and everywhere. Because the problems you run into (and document in this thread in a very nice way) can show prospective buyers of my 100% tested and burned-in Apple-1 kits that there is indeed some "added value" in my kits.

 

Having a 100% tested and burned-in IC set that is proven to have worked "as a team" in one of my Apple-1 used as burn-in rigs GREATLY improves the chances for success at first power up for "my" builders.

 

Note that "testing" ICs on cheap IC "tester toys" will only sort out the total  duds and these primitive toys (compared to an "Eagle" Tester costing millions of US$) can't check for parametric problems. Most of the ICs I fish out and put into my "IC graveyard" are total duds out of the tube, but there are also those misfits who act up only in the (hostile) environment of the Apple-1. Some die prematurely after a few hours or days of burn-in, or show faults, like "sparkle" errors on the display. Or DRAM error messages which pop up now and then and even may go away to only come back later. This is why my burn-in rigs run my diagnostic PROMs 24/7 and why its terminal section test stops once the first DRAM error has been detected, and only the DRAM test keeps running. Otherwise the terminal section test would move the DRAM errors off screen and I would not notice them. I check my seven (!) burn-in rigs every morning and replace ICs as needed, while the "IC graveyard" grows slowly, but steadily. Only after 4 weeks with no fault the IC set of a rig is declared good and offered for sale. I also add carefully chosen and - in some cases - hand selected passive components. The timing R's and C's for the 74123 always are hand selected with a special test rig so I can guarantee the right pulse width. Oh, and all my burn-in rigs have all my "reliability mods" implemented. Without them any Apple-1 is too wonky. (There is a reason why the two Steves decided to buy them back to destroy them. Those owners who turned their Apple-1 in got a discount voucher towards the brand new Apple II. IIRC, only three original Apple-1 were "rescued" from the "pile of death" in Steve Job's office. I was told it required cunning timing to be able to charm the "dragon" who guarded the "treasure" pile (Steve Jobs was infamous for his unpredictable mood swings). It never has been clarified what happened to the rest of the pile. Nobody confirmed that they really were destroyed. Maybe they are still sitting in a box somewhere in a secret warehouse where Apple (the corporation) keeps artifacts from their beginnings, like prototypes, etc. But this is mere speculation / conjecture of mine. Maybe all of these artifacts ended up in landfills. Then you would need to know where to dig for these treasures ;-)

 

The link to my post with the "reliability mods" was provided by macintosh_nik in the previous post. 

 

This said, let is examine your brave attempts and proposals for remedies of the (correctly diagnosed) timing and DRAM troubles in your build attempt. You proposed:

 

1. Try using different 74123 ICs.

2. Add decoupling capacitors between the V_DD and GND pins of each MK4096.

3. Test more timing resistor values.

 

Here is Uncle Bernie's criticism for your proposals:

 

1. Is a complete waste of time and money. All 74123 are different and I never did encounter one which would give the right timing with the R and C values in the original Apple-1 schematic.

 

2. partially implementing my reliability mods is only doing half of the work, or less. You need to take care of the totally inadequate capacitive bypassing of the -5V supply line, which is the main suspect when otherwise good DRAMs do fail in the Apple-1 (a hostile environment, as mentioned above, no good work place for ICs, the Apple-1 is no equal opportunity employer of ICs)

 

3. Oh no ! What a waste ! Instead, use a 20k trim pot in series with a 5K (or so) resistor in lieu of the resistor at the "27K" or "10K" place near the 74123. Then take the oscilloscope to it, wait until the Apple-1 is warmed up, and adjust the pot to 480ns (or 3.5 us). Then turn off, take the 74123 out of the socket, and measure which resistor you require. Solder that resistor in. Repeat the measurement. 5% deviation from nominal is still OK for the 480ns pulse. More is NOT. You can't hit the right timing with random 74123, R's and C's. The 5K resistor, btw, not only adjusts the trim range but also protects you from damaging the 74123.

 

To adjust the 3.5 us pulse, you need a test program constantly doing screen output. Just this morning I saw that "shortest test pogram" posted here on Applefritter, which would do the job. But to enter any test program, Wozmon must work, you need a fully functional keyboard, and the DRAM also must work at least well enough to not crash Wozmon nor the test program. This is why I provide a diagnostics page in my PROMs which does neither need a full keyboard nor any functional DRAM and still provides all the diagnostics information you may want or need.

 

As for the 3.5us timing, this is much less critical than the 480ns timing for the DRAM. 3.2us to 3.8us is OK according to my experiments. But around 3.9us there is a setup and hold time problem lurking within the PIA and if you are unlucky and hit that "sour spot" then your screen output will show the occasional missing or duplicate character(s). This is one reason why my diagnostics page produces a slanted character set which steps sideways by one character code per line.  This allows spotting any missing or extra characters at one glance.

 

This setup/hold time problem is more prevalent with the 6520 PIA and so far I was not able to provoke it with the original Motorola 6820, but I did not try too hard. I am certain the problem lurks in the 6820, too.  Metastability free synchronizers do not exist, contrary to the claims of numerous patents who claim something to this effect. Like Heisenberg's Uncertainty Principle, you can't avoid metastability, just move it elsewhere and then pretend it's gone, and get a patent on that swindle. But this is advanced electronics, not Electronics 101.

 

Always remember Uncle Bernie's motto / warning:

 

"Building an Apple-1 is not for the faint-of-heart or the ill equipped".

 

A message brought to you by "The Guy Who Fixed The Apple-1" (tm)

 

(Well, not really a (tm), just joking)

 

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi SquawkBirdies!

Don't get upset, you're getting close... Find the value of the resistor to set instead of 27k and then you can run the CPU part. If I can't do it with 27k I set it to 20-22k instead, it really helps.

Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
Because the problems you run

Because the problems you run into (and document in this thread in a very nice way) can show prospective buyers of my 100% tested and burned-in Apple-1 kits that there is indeed some "added value" in my kits.

For what it's worth, I was expecting to run into issues and considered the debugging process to be part of the project. You can certainly point to this as an example of the added value of your kits (which, from what I've seen, seem reasonably priced on the basis of the rarity of the components alone), but if you had shown this thread to me when I was starting this project, I probably still would have chosen this path, because I am very stubborn.

 

Reliability Mods, Part I:

I began installing decoupling capacitors (0.1μF X7R 50V) on the bottom of the PCB, following this example. I have ordered 390Ω resistors for the termination circuits, but they have not yet arrived at the time of writing. Next, I replaced the 27kΩ timing resistor connected to the 74123 with a 5kΩ resistor and a potentiometer in series.

 

Then, I adjusted the trimpot until the pulse generated by the 74123 was 480ns wide. I powered off the computer, pulled out the 74123, and measured the resistance between Pin 15 and GND. It was 19.61kΩ. Unfortunately, after putting the 74123 back and powering the computer on again, it is still doing exactly the same thing; resetting it results in a single backslash character with no prompt.

 

Questions:

  • If I understand correctly, one reason the DRAM of the Apple-1 is so unreliable is because the "window of opportunity" to send the column address to the MK4096s (/CAS) is only ~70ns wide, and the timing circuit as shown in the schematic does not actually generate the falling edge on the /CAS line within this "window of opportunity". If I measure /RAS and /CAS at the same time (like in some of the earlier oscilloscope plots), what is the correct timing between the falling edge of the /RAS line and the falling edge of the /CAS line to be within the window of opportunity? Is measuring these two signals sufficient to determine if the window of opportunity is being met?
  • Does the 6502 need to be running WOZMON for the DRAM system to work? Does the 6502 need to be running at all? I am confused because I know that some other CPUs from the time period (for example, the Zilog Z80) actually had the DRAM refresh controller built-in, but I don't think the 6502 had this feature, and I don't see any reference to memory refresh in the WOZMON assembly listing.

 

Next Steps:

  1. The most obvious next step is to install the termination resistor network and see if that improves performance.
  2. Ensure that the +5V. -5V, and +12V pins of all MK4096s have decoupling capacitors to GND.
  3. I'm not quite ready to throw in the towel yet, but if the steps above don't work, I'll likely end up buying one of your pre-tested kits. I am stubborn but I can tell when I'm licked, and the deranged DRAM controller of the Apple-1 seems to have me beat.

 

Thank you again to everyone for your assistance with debugging these problems!

 

Don't get upset, you're getting close... 

Thanks; I'm not upset (yet), but progress is slow and inconsistent on my part. 

Online
Last seen: 4 min 13 sec ago
Joined: Apr 1 2020 - 16:46
Posts: 844
Very close to successful finish, SquawkBirdies !

In post #14, SquawkBirdies wrote:

 

"If I understand correctly, one reason the DRAM of the Apple-1 is so unreliable is because the "window of opportunity" to send the column address to the MK4096s (/CAS) is only ~70ns wide, and the timing circuit as shown in the schematic does not actually generate the falling edge on the /CAS line within this "window of opportunity".

 

Uncle Bernie answers:

 

Actually, the 70ns number came from me. Some two years ago I did a thourough mathematical analysis of the CPU/DRAM timing in the Apple-1 and using the datasheets of the original parts specified, arrived at the conclusion that a) the 480ns given by Woz is correct and optimal (centered), so he knew how to calculate timing, and b) the "window of opportunity" is 70ns wide, meaning +/-35 ns around the 480 ns. center. This is impossible to hit with carbon composition resistors and ceramic disc capacitors of the time, unless they are hand selected. The 74123 of course also contributes its own timing tolerances. So in the end the timing must be hand tweaked in each and every case. I make special "timing packs" on a test rig which then go into the kits.

 

However, note that these 70ns are from the worst case calculations which would be required for getting acceptance in an industrial design review (they would not accept the 74123 anyways as production would require a trim pot which typically is shunned for cost and reliability reasons). Individual IC sets may have a more relaxed timing, but never a worse one, as long as the ICs work and are in spec. All 6502 after the 1st mask shrink are significatly faster than the 1Mhz example of the datasheet. This relaxes the timing somewhat. 2nd generation DRAMs like the 4027 are faster and so the timing is less critical. Some employ added circuit tricks like a latch for the row and column addresses which would help with the ringing multiplexed address lines, at least somewhat.

 

SquawkBirdies' next question:

 

"Does the 6502 need to be running WOZMON for the DRAM system to work? Does the 6502 need to be running at all? I am confused because I know that some other CPUs from the time period (for example, the Zilog Z80) actually had the DRAM refresh controller built-in, but I don't think the 6502 had this feature, and I don't see any reference to memory refresh in the WOZMON assembly listing."

 

Uncle Bernie answers:

 

No, Wozmon not required for the DRAM to work. The Apple-1 has a built in memory refresh circuit which steals 4 CPU cycles from each video line of 65 CPU cycles length. This non-transparent refresh is the reason why the "effective CPU frequency" given in the Apple-1 manual is only 0.960 MHz. Actually, 14.31818 MHz / 2 / 7 * (61/65) = 0.95979 Mhz. 

 

But Wozmon needs a functional DRAM to work.

 

I would recommend you, at this stage of your build, so close to finish, to just buy one of my A1, A2 PROM sets which include a diagnostics page that needs no RAM to work, but the PIA must work. This diagnostics page produces a screen output pattern that exercises everything in the terminal section and it also contains a powerful RAM test which shows good error messages despite it needs not RAM for itself. This diagnostics page is crash proof against DRAM errors. Send me a PM if you are interested. 

 

Oh, and please allow me a remark about the price of my kits: so far I have not made a dime of profit from them. I'm just selling off the ICs I have bought for my (failed) project which attempted to build 100 Apple-1 using one of the last industrial wave soldering machines. But me fool bought all these ICs before the prototype was built (being cheap, you know, to save money, since 100 ICs of the same type are in a better price bracket than 1 IC). The prototype did not work ! And it took me months to figure out why. The "reliability mods" came out from it. But when I had found the path towards a robust Apple-1 build, the shop who had the wave soldering machine went out of business and the "window of opportunity" was gone for me. There were various other factors involved, the PCBs were too expensive at the time, as the Open Source Gerbers were not available yet, and I could not get all the  Signetics MOS IC types in the quantities needed. So I still have to shop for ICs now and then to complete my kits. Oh, and the various passive components and connectors I started to add to these kits after overseas builders reported difficulty  to procure them also are  tedious to get, even here in the USA. In the end, if I can sell 100 kits as planned, I might get out of this +/-0 but have a dozen or so Apple-1 builds left over with none of my own money spent on them. But a lot of time spent, precious and irreplaceable RQLT, which I could only spend on the Apple-1 topic because the pandemic deprived me of my other hobbies (flying airplanes by myself and visiting other countries doing so).  So "Uncle Bernie" only exists in the Apple-1 world due to very peculiar coincidences combined with a pandemic. Happens once in a million years perhaps ? At least my idea of doing a production run of Apple-1 clones using industrial soldering techniques was picked up by another daredevil, or so I was told.

 

Comments invited !

Macintosh_nik's picture
Offline
Last seen: 17 hours 6 min ago
Joined: Jan 8 2021 - 05:18
Posts: 418
Hi Uncle Bernie!

We are all very lucky Uncle Bernie that all these strange coincidences (open-source boards, your kits and most importantly your research into the mysterious world of Apple-1) have come together and we can enjoy this fascinating hobby!

Offline
Last seen: 1 year 9 months ago
Joined: Mar 7 2022 - 02:43
Posts: 6
Finally got back to this project!

Hello,

 

I unfortunately had been extremely busy for the past couple of months, but I've finally made the time to continue working on the Apple-1.

 

  • The next step I took was installing the termination resistors onto the address lines of the MK4096 at position A11.

 

  • Then, I installed the debugging firmware PROMs, as well as a known-good PIA.
  • Also, it turns out that I'm a fool and I installed a 1.5nF capacitor for C20 instead of a 1nF capacitor. I swapped in the right capacitor.

 

Now, for the moment of truth, I powered the Apple-1 on and reset the CPU:

  • Not exactly what I was hoping for. This was a static pattern; I do not know if it should be changing in some way.
  • Compared to the expected result, it almost looks like it's drawing the rows of text as columns, and drawing some of the characters as underscores.
    • The underscores in particular are interesting, because the address of that character is exactly in the middle of the 2513's address space. It is the last character for which A9 is '0'; all subsequent characters have A9 = '1'. Perhaps something in the terminal is setting that address line incorrectly?
  • I believe that the 6502 is running, and the problem is with something in the terminal.

Please do let me know if I am interpreting this incorrectly!

 

 

 

Online
Last seen: 4 min 13 sec ago
Joined: Apr 1 2020 - 16:46
Posts: 844
How to debug terminal section problems

Here are my tips:

 

1. Try CLR SCREEN (I suppose you built the "gimmick switch" ?) and see what happens:

 

As long as CLR SCREEN is activated, screen must be totally blank (except for the faint dot pattern caused by crosstalk)

When CLR SCREEN is released, the blinking '@' cursor must appear in the top left corner, but nothing else happens.

 

2. Give the CPU a RESET and see what happens.  The diagnostics page does not need any RAM to work, and it will still give you proper error messages if the DRAM is bad.

 

In any case, DRAM bad or not, there must be some output activity.  Depending on what you see, a diagnosis of the problem is possible. It could be a problem with the 74123 oneshot that is supposed to make the 3.5us timing pulse for the PIA. I've seen weird things if this is wrong or doesn't work. But for a proper diagnosis I need more information, such as a video what happens after the CPU RESET is released with a cleared screen.

 

- Uncle Bernie

 

Log in or register to post comments