So I received all of the SMT parts today, and attempted to verify that I’ve used the right footprints for the parts.
This was a worthwhile effort because I found a few different problems.
Also, digi-key shipped me some mystery chip instead of my 3v supervisor….. they are fixing…..and I have the batteries and battery holders shipping soon as well.
Things are moving along…….
So all the SMT parts have been ordered for the prototype PCB. Once they come in, I’ll be testing the placement of the parts on top of a printed layout to see if the chips/parts match the layout — if there was a package screw up, and so on.
This board was never optimized for cost per se, but here’s what the major components cost:
- 56-pin dual row 2×28 female header connector: $3.99
- SRAM chips: $4.47
- Real Time clock: $6.13 (Yow!@#)
- Battery Supervisor: $2.12
So there’s still some other misc parts (resistors, capacitors, battery holder, other logic ICs) so I could easily be at $20 in raw parts. That’s higher than I’d like, but whaddya gonna do.
Plus, there’s also the PCB cost itself too, which shouldn’t be horrible.
SMT parts will be ordered soon. Once they arrive, I’ll double-check the pad design/placement is good, and then order the PCBs!
Everything is coming along swimmingly and I should have a prototype PCB in a few weeks.
So I’ve got a reasonable number of memory tests passing with the prototype solderless breadboard.
There are some minor issues that are mostly related to the stability:
- Sometimes my memory board steps on the built-in memory, causing the Amiga to crash.
- I think there’s crosstalk with my prototype because of data/address lines that are simply too long (close to 12″ or more on some of them)
- This D10 stuck bit issue shows up 45 out of 256,000 times….not horrible, but I’m pretty sure that due to the previous bullet point.
- There’s some issue with high-speed back to back reads just crashing.
The PCB will eliminate many of these potential problems, and might allow me to get down to the brass tacks of any real still-outstanding issues.
I’ve more or less decided to do phase II immediately by incorporating the RTC into the PCB design.
The SMT parts will be ordered shortly, followed by a double-check of the PCB design, and then the PCBs will be ordered.
Below is the latest version of the protoboard.
So I’m starting to make some progress here, but I still have some troubles with my expansion board prototype.
For the first time, the initial exec-rom-based check passed, and the memory auto-configured. This happens occasionally on powerup.
Also, memtest is running a quick memory check and passing it with zero errors, but I really think it’s because it’s not doing a comprehensive test.
Troubleshooting is ongoing……….
With help from Ralf on this comment I was able to
- Disable the memory by no-longer grounding PIN 32, and sometimes forcing CE high on the SRAM chip.
- Boot a workbench disk, and then break it on startup.
- Insert a disk containing addmem from ykick and memtest.
- Re-enable the commodore amiga A501 replacement prototype.
- Run “addmem $c00000 $c7fffe”
- Then, run memtest.
As you can see (and this is true over a large number of errors), databit 10 is always stuck high.
I’ve got to figure out why this is……..this doesn’t go through any latches or logic on my board.
Found a bad flip/flip replaced it, and now I’m on my way.
The amiga appears to be getting past the initial boot stages including the ram memory checks! I see the blue screen, and the disk drives starts loading workbench but crashes soon.
If anyone can tell me the exact meaning of this guru, that would really help me.
I’m pretty sure this means address error at that address, but that isn’t horribly helpful. I mean, does this mean a write failed, a read failed, something associated with that address, what?
wikipedia says a program is accessing a word on an unaligned boundary…. Perhaps because the instructions it read previously were corrupt? I don’t know.
Of course I realize that this address is inside the 512K expansion memory space.
Amiga Guru Meditation number 00000003.00C06560