• Interesting Fail Mode, finding noise and isolating the issues.

    01/18/2023 at 04:24 2 comments

    Success! well sort of:

    Initial false start.  I was able to get a 'K' Prompt to load, but with astoundingly bad ghosting.   I went to work checking for the common things. --- ingress from cracked traces or loose connections the usual analog-ish type stuff.  In Broadband when we have ghosting in a analog signal, we look for an impedance mismatch base band is not much different.

    I checked with the scope and found there was very irregular reflections which got slightly better if I probed the reference clock circuit.  I figured this was more about the probes veritable capacitor of a few pF then the huge resistor in my x10 probe.  Checking for other obvious signs of a crack I decided to just slide the ULA from its socket slightly and re-seat it.  This had little to no effect and I ran into some more issues with resets and starting up properly.

    Checked a few more things and found that the !OE line on the ram upgrade was not connected but bent out.  A quick google search found the specific mod being done here and I sorted the issue by grounding the pin (in this design only one of the enable lines are needed).

    I flipped the board over and checked the pads under the ULA and found a few of them were not soldered very solidly so i re flowed a few of the pads.  When i pulled back my iron from the third pad I started to uncover the problem --- the pins were coming loose from the socket above!

    I removed the big chips from the board and found that most of the larger chip sockets were completely corroded .  I don't have very sophisticated de soldering equipment, a manual pump, temperature controlled soldering iron and a good amount of solder wick.  The easiest way of going about careful chip removal in a board this old without an automatic de soldering pump is to cut up the sockets and pull them out 2 or 3 pins at a time.  This sounds time consuming but its actually quite efficient and probably only took about 15 minutes to remove all 3 sockets.  Since I had the mask ROM and the CPU out, I replaced both with newer parts -- CMOS Z80, and a 16K 120nS EPROM.   The Mod for the EPROM was fairly trivial, I just bent out the pins that did not line up and manually routed them which amounts to only 3 of the pins.

    I ended up cracking a trace replacing this socket for the Mask ROM.   I ran a wire on the back side to the next point in the design (on of the bus arbitration resistors):

    After I replaced the broken trace I plugged everything back in, plugged in the computer and immediately ... got no picture...  Its a 40 year old machine with aging corroded parts I have to be realistic and so I half expected this.  This lead me down a number of avenues, I wound up toning out all of the traces using the schematics, and replacing the RAM expansion after discovering it was causing some of the lower address lines to stay low.

    SO... The saga continues.

    I went back to basics, Started probing some of the lines coming from the ULA, determined I was getting a sync signal but it looked very noisy:

    So the amplitude should not shift like that, and though you cant tell because this is a still it does, roll across the top as well. - - it should be fairly flat. The line data is there (you can't see it in this screenshot.) and I pulled the time base out  so you can see it.    This looks like an oscillation, the clock for the CPU, the line clock and the sync are all made inside the ULA.

    A new approach (Lets remove the DC Offset):

    We have a sync but its very bad, so bad in fact that the TV can not see it as it just looks like DC voltage levels -- the best way to trouble shoot the issue at this point is to try to get the TV to display "something".    I pulled the back porch mod; and built the simplest composite mod (from byte delight ~ image is linked:

    This example from byte delight

    after constructing the mod as designed - I added a 300uF or so electrolytic capacitor (to remove...

    Read more »

  • ZX-81 Restoration Video Modification

    01/11/2023 at 03:42 0 comments

    So while still waiting for HBSound's Prototyping sponsor, PCBWay,  to finish up and ship off the prototypes for that project.  I did have some time to work on the ZX81 Restoration.   I am still working through the best way to clean up the corrosion without further damaging the silk screen, but I did have time to start thinking out  soldering the video modification.  Since the board came ceaseless,  and without a number of it's connectors and modulator can enclosure. This afforded me the opportunity to build out the existing board the way I want it.  And since I am building a custom wedge case enclosure to hold this thing;  that is the plan anyway.  I decided the best course of action was to solder two header pins in place of the can mounts and build up  Ziggurat communications video 555 Mod to add back the back porch that's missing from the video signal.  I cut a piece of perf board to fit across the two pins and went to work on modifying Ziggurat's strip board layout to work on perf board.  This also allowed for re-positioned  power and video connections.  As I am building a new enclosure I moved the connectors 90 degrees to the back of the case to clean up the wedge esthetic so it matches the rest of my micros.  If anybody has the slightest clue as to why Sir Clive decided to mount them on the side, instead of around the back shoot me a line, this has always mystified me.

    The new layout:

    As you can see I didn't picture wiring through the connectors on my layout.  I am still trying to figure out the best way to lay out the connections.  I will also most likely run a larger gauge wire down the side ground rail directly from the back side of the USB connector to one of the larger power traces on the PCB since back feeding the full current of the power supply from the can input is most likely not the best Idea. If there is any interest to the DIYLC files I can provide them at request, though the circuit and diagram are easy enough to follow from the pictures provided.  In keeping with the "volume of one" design rule I set for myself on this project, I will not likely do a layout for a PCB since I don't think its likely others will want my specific customization.  Perhaps if I get closer to the case build, if there is interest I would reconsider, for now we will see.

    I used the exact same BOM from the Ziggerat board which i will replicate here (the source document gives permission with accreditation to Ziggerat ind.):

    R1, R2 10 kΩ
    R3 68 Ω
    R4 56 Ω
    All 0.25 W, 1% metal film.

    C1 22 μF radial electrolytic, 16 V (or higher rating).
    C2 10 nF ceramic disc.
    C3 820 pF ceramic disc.
    C4 82 pF ceramic disc.

    D1, D2 1N4148
    Q1, Q2 PN2222
    U1 NE555

    My additions:

    18x10 Perf Board

    USB B type connector

    2 conductor easy to mount Video connector of your choice

    And while were at it the schematic:

    (the source document gives permission with accreditation to Ziggerat Ind.)

    The source document gives a very good description of the circuit function, so its not really needed to do a full work up here but if your are interested Oli's Old stuff does a fantastic job explaining the options, and Grant Serle has this resource on the ZX80, as well as this on the ZX81.  Ziggerat industries Web Site is the original source for the modification (under misc).

    Up next:

    Up next is building and testing the circuit, as well as fitting it.  I still have to do something about about the top board HASL; I may do some high resolution shots and ask around to see if it is problematic  For now I cleaned up the stuff under the can ground plane as the video mod will be soldered in place on top of it and accessing later will be a different kind of hassle ;-).

    If you have liked this please feel free to share, comment and check out my other projects here on hackaday.io.  I usually have one major project going on and a few...

    Read more »

  • ZX-81 Progress / NTSC ULA Output

    12/24/2022 at 17:53 0 comments

    Continuing from my last post, I had some time waiting on parts to finish the analog prototype testing for HBSound so I set up the new scope and ... 

    It lives:

    I like to think about the video output as the consciousness of these old home computers. Generally speaking enough of the gears need to be spinning to make this output correct (memory, clock ocilator, CPU and reset).  It's also important that it shows line data being sent as this further improves chances we have a working computer. 

    The scan looks good but does verify the 'back porch' signal is missing. 

    Here's an example of a properly formed scan for NTSC the example is with color burst so you can ignore that bit for the ZX-81 we're working on here:

    (Graphics stolen from this excellent resource https://www.analog.com/en/technical-articles/basics-of-analog-video.html)

    What we do have is a horizontal blanking pulse that sits at about 1v. This is indictive of some of the late release ULA's which do not actually generate a complete blanking pulse. This is probably fine for a crt displaying modulated RF.  Today we need an appropriate back porch signal to make sure the black levels (among other things) display properly on a lcd.  For this I will need to build up a small PCB with a 555 timer and some transistors to amplify the signal and ad back the back porch so it will properly display on a lcd. 

    I also took the time to clear out all of the needed points of solder and put a 'zero' ohm resistor in at R30 to activate NTSC mode in the ULA.  The ZX-81  installation and assembly guide indicates it's value as a Zero ohm resistor, but I have read elsewhere it can simply be grounded. I opted to eliminate the additional video conditioning for NTSC and simply build a brand new video circuit in the same place the can modulator was installed. My hope is that the video quality will be better by keeping the trace length down.   For now I've ordered a few things I need to continue and I'll be looking to finish up HBSound testing phase by the end of next week. 

    If you found this interesting or have a question please feel free to leave a comment I hope everyone has a fantastic holiday weekend!