Autor Wątek: Procedury do testu RAM na Z80  (Przeczytany 5371 razy)

nietoperz

  • ****
  • Wiadomości: 400
Procedury do testu RAM na Z80
« dnia: 2016.11.21, 15:27:32 »
Może ktoś widział procedury do testu RAMu, które nie używają pamięci danych (oraz stosu). Teoretycznie na Z80 powinno dać się to zrobić bo są dwa banki rejestrów (acz przenosić między nimi dane to chyba tylko można poprzez akumulator) wiec zasobów powinno starczyć.

Pierwsze co google wypluwa to:
http://www.ballyalley.com/ml/ml_source/RAM%20Test%20[From%20Z80%20Assembly%20Language%20Subroutines].pdf
ale tutaj używają stosu.

Dosyć kompleksowe testowanie przeprowadzał ROM Test128 dla Pentagona ale nigdzie nie widziałem zródeł do niego.

Ktoś coś wie?

Gryzor

  • *****
  • Wiadomości: 2010
  • Miejsce pobytu:
    Warszawa
Odp: Procedury do testu RAM na Z80
« Odpowiedź #1 dnia: 2016.11.21, 17:13:19 »
Jak chcesz testowac pamiec nie uzywajac jej ?  :D

nietoperz

  • ****
  • Wiadomości: 400
Odp: Procedury do testu RAM na Z80
« Odpowiedź #2 dnia: 2016.11.21, 20:14:05 »
Tu nie wolno przeklinac? Szkoda, zatem nie odpowiem ;)

Tygrys

  • Administrator
  • *****
  • Wiadomości: 4540
  • Miejsce pobytu:
    Warszawa
  • mistrz ceremonii
Odp: Procedury do testu RAM na Z80
« Odpowiedź #3 dnia: 2016.11.21, 20:44:37 »
Teoretycznie używając programu z ROM można przeanalizować pamięć RAM a wyniki cząstkowe przechowywać w rejestrach. Tylko na samym końcu jednak trzeba je jakoś wyświetlić.

Taka procedura testująca jest niezłym wyzwaniem. A co do romu Pentagona to zapytam kogoś, kto może wiedzieć.

nietoperz

  • ****
  • Wiadomości: 400
Odp: Procedury do testu RAM na Z80
« Odpowiedź #4 dnia: 2016.11.22, 09:19:32 »
Założenie jest takie, że niech test konczy się na pierwszym napotkanym błędzie i zwraca adres oraz nr bitu - tak jak robił to test w Pentagonie 128. Coś takiego zaczałem pisać, coś tam działało ale nie do końca było to przemyślane.

coberr

  • ***
  • Wiadomości: 138
  • Miejsce pobytu:
    Gorzów Wlkp
Odp: Procedury do testu RAM na Z80
« Odpowiedź #5 dnia: 2016.12.05, 18:00:06 »
Nie jestem ekspertem w sassemblerze z80. (już częsciej "siedzę" w 8051)
Jednak swego czasu stanąłem przed problemem wykonania testu pamięci w mikrokomputerze COBRA1.
Zalozenie było wlasnie takie - jak Twoje - czyli brak uzycia jakichkolwiek komórek zewn. pamięci (a tym samym stosu - który jak wiadomo - mogl nakładac sie na ew. uszkodzone komórki)

Skleciłem zatem programik i zapakowalem go do EPROMu. to juz pozwoliło na bezproblemowe testowanie calej pamieci RAM w Cobrze.

Ponizej przedstawiam jedynie fragment - procedurę testujacą (w tym przyp. dla wartości FFh).
Moze sie komus do czegoś przyda.

;*******************************************************************************
;*                     TEST DRAM  (FFH)                         *
;*******************************************************************************
DRAM_TEST_FF:   OUT     (018h),A ; (ten OUT generuje bodajże dźwięk :) )
                LD      HL,0000H ;POCZATEK  PAMIECI
                LD      BC,49152  ; ILOSC BAJTOW

PETLA_D2:       LD      (HL),0FFH
                INC     HL
                DEC     BC
                LD      A,B ;
                OR      C ; TEST CZY BC=0
                JP      NZ,PETLA_D2
; TESTOWANIE DRAM
                LD      HL,0000H ;POCZATEK  PAMIECI
                LD      BC,49152    ; ILOSC BAJTOW

TEST_D2:        LD      A,(HL)
                CP      0FFH
                JP      NZ,DRAM_ERR   ; WYWIETLENIE BLEDU  JESLI "Z" ROZNE OD 0
                INC     HL
                DEC     BC
                LD      A,B ; ZAÄąADOWANIE B DO ACC
                OR      C ; TEST CZY BC=0
                JP      NZ,TEST_D2
;+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++