>>> In what case is your pettester not working? Should it always work if there is any power?
This information is in the manual. Unfortunately it requires much more than just the power. It requires the CPU clock. A healthy CPU reset signal. The Kernal ROM (UD9) at least partially working. The EDIT ROM socket (UD8) where the PETTESTER is going to be plugged in working. The VDU subsystem working (it display the results on the screen). It also requires the address decoding etc. to be working. So quite a list... The things that usually go wrong that will stop the PETTESTER working can be simply found with a multimeter and a logic probe. However, there can be some 'nasty' problems (or multiple concurrent faults) that take much longer to find...
The biggest problem with the PET is either faulty RAM or faulty ROMs. My PETTESTER does not require the RAM to be working to perform the initial tests. Likewise, it doesn't require the bulk of the ROMs to be working, just a handful of instructions in the Kernal ROM (UD9).
If you don't get any joy with the PETTESTER to start with, then you revert to the NOP generator and test the address buffers, address decoding and the data bus buffer enable signals.
A number of ROMulator products have in-built ROM and RAM emulation (including a copy of my PETTESTER code) and NOP generator capability. This means that you can get PETTESTER up and working much quicker than in a 'bog standard PET' with an EPROM swap. So, these tools are very useful where the faults are more complex.
The white IC sockets are usually a cause for concern. In this case, printing out the schematics and continuity testing between all the pins of the ROMs (from one end e.g. UD3) to each of the other ROM sockets in turn should identify any problematic pins. You may have to insert a 'dummy' EPROM into the UD3 socket. This works for all pins except pin 20. The NOP generator should have been used to checkout pin 20 of each EPROM. Note that you should only 'lightly' press the probe onto the pin of the ROM. Do not apply too much force, as this could make a non-contact appear as a contact! I would highlight each pin of each socket in turn on the schematic with a highlighter pen as you go. Also avoid too many ROM changes, as this tends to wear out the sockets! Another good reason for using a ROMulator.
Of course, the CPU socket is also white. In this case, you would need to check for continuity from the pins of the CPU IC to where they go to on other devices by following the signals on the schematic. You can (of course) do this for ALL of the devices in white sockets (including the VIA and PIAs). Pour a nice glass of wine (replace with a drink of your choice) and enjoy a nice evening with the schematics and your multimeter!
However, your particular problem appears to be with the video generator logic (independent of the CPU). The video RAMs provide an 8-bit code. 7 bits are passed to the character generator, whilst the 8th bit is the video invert bit. The 7 bit code should select one of the characters within the character generator. There are 8 bytes per character (one byte per line of each character), and these are cycled through a line at a time. The data from the character generator is presented to the parallel to serial shift converter, where it is converted into serial bit form and sent to the monitor. The video invert bit is then applied before the signal is sent to the monitor (as is the video blanking associated with the horizontal and vertical drive).
With random bytes appearing in the video RAM at start-up - there should be a screen full of random characters and each character may be normal or inverse (depending upon the setting of the 8th bit in the video RAM). In your case, the 8th bit appears to be random, but either the lower 7 bits are not random (and so fixed - thus generating the same 'block' character); or somewhere we are losing the data generated by the character generator (or the character generator is being told to produce the same data pattern again, and again, and again...).
Dave