Welcome, Guest. Please login or register.

Author Topic: A500 + DiagROM = all RAM bad  (Read 4153 times)

Description:

0 Members and 1 Guest are viewing this topic.

Offline RetroNinjaTopic starter

A500 + DiagROM = all RAM bad
« on: September 30, 2023, 06:39:01 AM »
Hello,

I'm looking for some troubleshooting help. This is the output of an A500 (6A mobo) when I try to power it up. The screen goes straight to GREEN. If I install a DiagROM it flashes RED + GREEN then shows some horizontal stripes. This is just the onboard 512KB, no trapdoor memory installed.

I have swapped in a different Fat Agnus and Gary, referencing some other threads, no change at all. Some tables say GREEN = memory. I'm hesitant to believe all memory is bad. Also all bad memory is read as HIGH (1). I don't see any memory errors as LOW (0). One semi-similar thread said the U34 74F244N may be suspect. I'm likely to believe some logic chip is bad versus all RAM. I'm fine replacing all of the memory, I'd just prefer not to do it needlessly.

The dump below has a large section removed. If it is helpful to see it just say so and I will upload. But really, it's just a repeating pattern.

No, I don't have a data probe or oscilloscope.

Thanks!

Code: [Select]
=~=~=~=~=~=~=~=~=~=~=~= PuTTY log 2023.09.29 22:19:21 =~=~=~=~=~=~=~=~=~=~=~=


Amiga DiagROM V1.3 BETA - 21-Feb-22  - By John (Chucky/The Gang) Hertell


- Parallel Code $ff - Start of ROM, CPU Seems somewhat alive

- Testing ROM Address-access

   OK

Testing if serial loopbackadapter is installed: <> NOT DETECTED

    Checking status of mousebuttons at power-on:

           

    Set all Interrupt enablebits (INTENA $dff09a) to Disabled: Done

    Set all Interrupt requestbits (INTREQ $dff09c) to Disabled: Done

    Set all DMA enablebits (DMACON $dff096) to Disabled: Done


Testing if OVL is working: OK

- Parallel Code $fe - Test UDS/LDS line

  - Test of writing word $AAAA to $400 FAILED

  - Test of writing word $00AA to $400 FAILED

  - Test of writing word $AA00 to $400 FAILED

  - Test of writing word $0000 to $400 FAILED

  - Test of writing byte (even) $AA to $400 OK

  - Test of writing byte (odd) $AA to $401 OK

- Parallel Code $fd - Start of chipmemdetection



Addr $00000400

       Write: $AAAAAAAA  10101010101010101010101010101010

        Read: $FFAAFFAA  11111111101010101111111110101010  FAILED


       Write: $55555555  01010101010101010101010101010101

        Read: $FF55FF55  11111111010101011111111101010101  FAILED


       Write: $F0F0F0F0  11110000111100001111000011110000

        Read: $FFF0FFF0  11111111111100001111111111110000  FAILED


       Write: $0F0F0F0F  00001111000011110000111100001111

        Read: $FF0FFF0F  11111111000011111111111100001111  FAILED


       Write: $0F0FF0F0  00001111000011111111000011110000

        Read: $FF0FFFF0  11111111000011111111111111110000  FAILED


       Write: $00000000  00000000000000000000000000000000

        Read: $FF00FF00  11111111000000001111111100000000  FAILED


Addr $00010400

       Write: $AAAAAAAA  10101010101010101010101010101010

        Read: $FFAAFFAA  11111111101010101111111110101010  FAILED


       Write: $55555555  01010101010101010101010101010101

        Read: $FF55FF55  11111111010101011111111101010101  FAILED


       Write: $F0F0F0F0  11110000111100001111000011110000

        Read: $FFF0FFF0  11111111111100001111111111110000  FAILED


       Write: $0F0F0F0F  00001111000011110000111100001111

        Read: $FF0FFF0F  11111111000011111111111100001111  FAILED


       Write: $0F0FF0F0  00001111000011111111000011110000

        Read: $FF0FFFF0  11111111000011111111111111110000  FAILED


       Write: $00000000  00000000000000000000000000000000

        Read: $FF00FF00  11111111000000001111111100000000  FAILED


Addr $00020400

       Write: $AAAAAAAA  10101010101010101010101010101010

        Read: $FFAAFFAA  11111111101010101111111110101010  FAILED


       Write: $55555555  01010101010101010101010101010101

        Read: $FF55FF55  11111111010101011111111101010101  FAILED


       Write: $F0F0F0F0  11110000111100001111000011110000

        Read: $FFF0FFF0  11111111111100001111111111110000  FAILED


       Write: $0F0F0F0F  00001111000011110000111100001111

        Read: $FF0FFF0F  11111111000011111111111100001111  FAILED


       Write: $0F0FF0F0  00001111000011111111000011110000

        Read: $FF0FFFF0  11111111000011111111111111110000  FAILED


       Write: $00000000  00000000000000000000000000000000

        Read: $FF00FF00  11111111000000001111111100000000  FAILED

CUT A BUNCH FOR BREVITY

Addr $001E0400

       Write: $AAAAAAAA  10101010101010101010101010101010

        Read: $FFAAFFAA  11111111101010101111111110101010  FAILED


       Write: $55555555  01010101010101010101010101010101

        Read: $FF55FF55  11111111010101011111111101010101  FAILED


       Write: $F0F0F0F0  11110000111100001111000011110000

        Read: $FFF0FFF0  11111111111100001111111111110000  FAILED


       Write: $0F0F0F0F  00001111000011110000111100001111

        Read: $FF0FFF0F  11111111000011111111111100001111  FAILED


       Write: $0F0FF0F0  00001111000011111111000011110000

        Read: $FF0FFFF0  11111111000011111111111111110000  FAILED


       Write: $00000000  00000000000000000000000000000000

        Read: $FF00FF00  11111111000000001111111100000000  FAILED


Addr $001F0400

       Write: $AAAAAAAA  10101010101010101010101010101010

        Read: $FFAAFFAA  11111111101010101111111110101010  FAILED


       Write: $55555555  01010101010101010101010101010101

        Read: $FF55FF55  11111111010101011111111101010101  FAILED


       Write: $F0F0F0F0  11110000111100001111000011110000

        Read: $FFF0FFF0  11111111111100001111111111110000  FAILED


       Write: $0F0F0F0F  00001111000011110000111100001111

        Read: $FF0FFF0F  11111111000011111111111100001111  FAILED


       Write: $0F0FF0F0  00001111000011111111000011110000

        Read: $FF0FFFF0  11111111000011111111111111110000  FAILED


       Write: $00000000  00000000000000000000000000000000

        Read: $FF00FF00  11111111000000001111111100000000  FAILED


NO Chipmem detected

    - Checking status of mousebuttons for different startups, if still pressed

      we assume not working and ignore those in the future.

      Green newly pressed, Yellow pressed at startup - Startupaction taken.

      Red = Pressed at both poweron and now so it is stuck and being ignored


            P1LMB P2LMB P1RMB P2RMB

  The following special action will be taken:

P1LMB - Try to find fastmem and if found use it! if not use chipmem but no display


- Parallel Code $fc - Trying to find some fastmem (as requested at powerup)

- Parallel Code $fb - Memorydetection done

- Parallel Code $80 - NO Chipmem detected

- NO MEMORY FOUND - HALTING SYSTEM



 

Offline RetroNinjaTopic starter

Re: A500 + DiagROM = all RAM bad
« Reply #1 on: October 03, 2023, 10:21:08 PM »
Good job Castellen!

Sure enough the U18 and U19 were both bad. I'm curious about how you determined that by the log dump.

Since this is a rev 6 mobo I went ahead and de-soldered the existing (4) DRAMS, then installed ( 8 ) sockets, then started testing the DRAM. It now rocks 1MB with ( 8 ) 4256 TI chips. I wound up swapping the good (2) out so I could match all to 80ns. The existing DRAMs are 70ns.
« Last Edit: October 03, 2023, 10:43:10 PM by RetroNinja »
 

Offline RetroNinjaTopic starter

Re: A500 + DiagROM = all RAM bad
« Reply #2 on: October 03, 2023, 10:24:14 PM »
Thankfully I was able to dodge a possible 'intermittent Gary' with the DRAM replacements.
 

Offline RetroNinjaTopic starter

Re: A500 + DiagROM = all RAM bad
« Reply #3 on: October 03, 2023, 10:41:58 PM »
For troubleshooting, I ask...

Reading memory from right to left

Write: $00000000  00000000000000000000000000000000
Read: $FF00FF00  11111111000000001111111100000000  FAILED

Each (2) 4256 chips = (1) 256KB chip memory bank. Does something like this point to one the 4256 working while the other is failing? I thought I heard/saw/read something about memory goes to the start of (2) chip banks then to the second half of the chip bank. The start of the chip memory bank is U16 + U17.

chip bank 1 = U16+U18
chip bank 2 = U17+U19

on the READ above, since the first half of bank1 and bank2 is working so the READ = correct; but the second half of the bank fails so READ=FAILS

11111111000000001111111100000000
---U19--+---U17--+---U18--+---U16--+
--FAIL---+--GOOD-+--FAIL--+--GOOD-+

It's hard to write this out without knowing. These are all questions! I could be completely misinterpreting! DO NOT TAKE THIS AS FACT!
« Last Edit: October 03, 2023, 10:44:04 PM by RetroNinja »