So I thought I'd post an update. I just received replacements for my remaining bad 2504v. In addition, I got some extra 2504v's and a couple of extra RAM chips, as per speedyG's recommendations.
So I plugged in one of the new 2504v's in the empty slot. Another bad 2504v! This one is giving me alternate columns of "$" on the startup
screen, and garbles some of the characters similarly to what I documented earlier. I removed it and replaced it with another 2504v - and it works! I tested yet another 2504v and it works, too! So now I've got 2 extras which are tested working.
So during my time waiting for parts, I wired my jumper wires to put in the second bank of RAM chips (wired W to E, so the second RAM bank begins at E000 address). As you may remember I tested my lower 4KB RAM (0280-0FFF) successfully by uploading the 6502 RAM test from Mike W's site and it worked fine.
So now I ran my RAM test for addresses E000-F000, and got an immediate error:
00 E000 00 04
The "00" means the zeros test (writing all zeros to memory location), "E000" is the location of the error, the next "00" is what was written to memory, and the "04" is what was read from memory.
So I go directly to the memory address, and start writing my own data to that location. My results are as follows:
stored -> retrieved
0 (0000) -> 4 (0100)
1 (0001) -> 5 (0101)
2 (0010) -> 6 (0110)
3 (0011) -> 7 (0111)
4 (0100) ok
5 (0101) ok
6 (0110) ok
7 (0111) ok
8 (1000) -> C (1100)
9 (1001) -> D (1101)
A (1010) -> E (1110)
B (1011) -> F (1111)
C (1100) ok
D (1101) ok
E (1110) ok
F (1111) ok
So, looking at the above data, it looks like bit #3 (from the right) is being held at 1, no matter what's being put into it. The numbers 4-7 and C-F are okay, because those numbers have a 1 already in bit 3.
So some other notes: this is only happening for memory locations E000-EFFF (the upper 4 KB that I just installed), and it's happening at ALL memory locations between E000 and EFFF (I spot checked at random locations and all behaved in the exact same way). Memory locations 0280-0FFF (lower 4 KB) all test fine with the memory test program. I also tested the most-significant bits of memory locations E000-EFFF to see if they were okay, and they were fine. For instance, I can store "84" in there, and it is retrived just fine, but if I put "88" in there it comes back as "8C" (bit 3 is being held at a 1, which flips the second "8" to a "C").
This must mean that bit 3 is a bad memory chip (holding output to high constantly). Looking at the schematic from the Apple 1 Operations Manual, this corresponds to the D2 data bit in the upper 4 KB (memory bank W), and this is the memory chip in the A16 position (with label W2).
So I switched this memory chip with the one in A15 (labelled W3), and retested E000-EFFF, and the problem followed the bad chip. All values 0-7 were being bumped to 8-F (bit 4 being held at 1 now)!
So I replaced the bad chip now with one of my new RAM chips, and memory bank E000-EFFF tested perfectly!
So now I've got my display chips working, RAM through 8KB is tested. Is that basically all the tested I need to do on my motherboard, except for trying out my cassette adapter and loading a few programs and making sure they all work?
Is there anything else on the motherboard I should test?