You are here

Sinclair ZX Spectrum 48k - RAM teszt - MEGOLDVA

32 posts / 0 new
Last post
cape-t
cape-t picture

Sziasztok!

Ismét a segítségeteket szeretném kérni. Adott a fenti masina, ami érzésem szerint memória hibás. Eddig 5 játékot próbáltam betölteni, de csak egyet (ami 16K-s gépeken is fut) sikerült. Az egyik betöltése közben "M RAMTOP no good, 20:4" üzenet kapom, a többinél az első demo kép még megjelenik, de a játék nem indul el. A betöltés telefonról megy. Ami elindul, azt akárhányszor hibátlanul be tudom tölteni, illetve 1-2 pár soros saját programot is sikeresen mentettem/visszatöltöttem.

Van egy kis leírás a memória tesztelésről itt(oldal legalja, "4. RAM-teszt"), de nem teljesen világos:

http://www.ep128.hu/Sp_Konyv/Hazi_Javitas.htm

Az első sort beírva 32771 jön vissza, amiből arra következtetek, hogy az alsó 16k cím (0-32767) rendben van. Viszont a második és harmadik sorra (32772-t beírva) 170 ill. 255 jön vissza. Eszerint meg mindegyik IC rendben lenne...

Mi ennek a tesztnek a menete pontosan? Miért 23732 a kiinduló érték stb.? Van esetleg olyan memóriateszt program (mp3 vagy wav formátumban), ami az alsó 16k-ban fut és a felső 32k-t teszteli?

Minden segítséget előre is köszönök!

Üdv:
Gyula

Szerk: A RAM teszt program linkje:
https://github.com/brendanalford/zx-diagnostics/releases/download/v0.37/Release-v0.37.zip
A TestTape könvtárban levő .tap fájlt átkonvertáltam .wav-ba a winTZX0.9c2 progival:
http://www.ep128.hu/Sp_Emulator.htm
Ezt telefonról betöltve IC20-at írta hibásnak. Az eredeti Texas TMS4532-15NL3-at cseréltem SAMSUNG 41256-AP15-re (1-1ben lábkompatibilis) és a gép megjavult.

 

Comments
cape-t
cape-t picture

Sziasztok!

Jelentem, a gép megjavult. A lentebb említett tesztet lefuttatva az IC20 mutatkozott hibásnak. Ebbe a pozícióba SAMSUNG 41256-AP15 RAM-ot beforrasztva a teszt hibátlanul lefut, minden 48k-ra írt program elindul. (A bizonytalan indulás problémája is megszűnt.)

Mindenkinek köszönöm a segítséget!

Üdv:
Gyula

5

sistvan
sistvan picture

Ha nagyon korrekt akarnál lenni, az eredeti IC-hez képesti plusz címbemenetét (A8, a tok 1-es lába), fix L vagy H szintre kötöd hogy még csak véletlenül se tudjon bekavarni a határozatlan logikai szintje. Az eredeti, hibás gyártású 4164-ek közül válogatott 4532 L3 vagy L4 végű feliratú RAM-ok ezen kivezetése nem használt (NC).
Az L3 v. L4 kijelölés a beépített példányok függvényében az alanti rajzrészleten látható jumperrel történik.
A rajzon a 4532 ezen címbemenete AR jelölést kapott ami egyébként a hibátlan 4164 -eknél az A7 címbemenet.
Plusz egy link az érdeklődőknek: https://spectrumforeveryone.com/technical/zx-spectrum-pcb-schematics-lay...
-

File csatolás: 

0

cape-t
cape-t picture

Szia!

A gép issue3B verzió. A nem használt láb, ahogy te is írod, az 1. (41256 esetén A8), ami a gépben fixen GND-re van kötve. Az AR pedig a 256k RAM esetén elvileg mindegy, hogyan van kötve. (mindegy melyik 32k lapot használja) Szerintem ez így rendben van. Vagy nem jól gondolom?

Üdv:
Gyula

0

sistvan
sistvan picture

Jól!
És örülök hogy összejött!

0

Inhouse
Inhouse picture

Szia!

Szép munka! Honnan sikerült szerezni?

0

SzBálint
SzBálint picture
****

0

Inhouse
Inhouse picture

Nem vészes :), a posta volt a legnagyobb költség. Nem foglalkozom ilyennel, de követtem a topicot és tetszett az elszántságod. Gratulálok!

0

uniman
uniman picture
***

A topikot én is "követtem"...tettrekészen simogatva egy cipős skatutya fedelét, amely telis-tele van hasonszőrű 16-256Kb x 1-4 Bites DRAM-okkal. sad

0

cape-t
cape-t picture

Szia!

Kb. 25 éve hever nálam egy erősen hiányos Amiga 500-as alaplap. Gyerekként nem tudtam mire lesz jó, de szorgalmasan őriztem. Mostanában meg már sajnáltam kidobni, mert emlék. Most végre meghálálta a gondoskodást. :) Az 512k RAM 16db 41256 IC-ből épült fel rajta.

Üdv:
Gyula

1

cape-t
cape-t picture

Sziasztok!

3x is lefuttattam a greatman által belinkelt videóban is használt RAM tesztet és mindháromszor az IC20-at jelezte hibásnak.

A kérdés:
Az eredeti IC-k Texas TMS4532-15NL3 típusok, (ennek sajnos nem találtam az adatlapját)
Találtam a kiváltójával (sistvan linkjén található oldal szerint pl. MSM3732) lábkompatibilis IC-t itthon SAMSUNG 41256-AP15.

Ezt szerintetek beletehetem?

Köszi:
Gyula

0

sistvan
sistvan picture

2. Felső 32k RAM (8db IC)
ZX Spectrum felső 32k RAM chipek ZX Spectrum felső 32k RAM chipek

A ZX Spectrum felső 32 kilobyte memóriája szintén 8 darab RAM chipből épül fel. Ezek kevésbé problémásak, mint az alsó 16 kB chipjei. Ha el is szállnak, a Spectrum 16k-s modellként még használható marad. Érdekesség persze itt is van, az eredetileg beépített RAM IC-k olyan 64 kilobites chipek, amelyeket a gyártásuk során hibásnak találtak, ezért csak az eredeti kapacitásuk fele, azaz 32 kilobit használható belőlük. Hardveres tiltás nincs a chipeken, csak a típusjelzésük utolsó karaktere utal rá, hogy épp mely területen van hiba. Nyilván ezzel is csökkentették a gyártási költségeket. Ezeknél az alkatrészeknél (leginkább bontásból származhatnak az ilyen részlegesen hibás chipek) tekintettel kell lenni arra, hogy a chipeknek az alsó vagy a felső 32 kilobites része működőképes, mert egy gépen belül ezek nem keverhetőek. A fentiek miatt előfordulhat, hogy két RAM-hibás Spectrum-ból nem rakható össze egy működőképes.

Jobb nem lévén akár 256 kilobites RAM chipekkel is helyettesíthetőek felső 32k chipjei, nem használja ugyan ki a Spectrum, de működik vele.
 
Természetesen van mód rá, hogy kihasználjunk belőle egy keveset, de ehhez eléggé át kell drótozni a kis gépet. Ha csak nem komoly HW/SW fejlesztésen törjük a fejünket, akkor nem éri meg.

Sebességet tekintve a 250ns hozzáférési idejű vagy gyorsabb RAM-okkal nem lesz gond.

Eredeti típusok:

  • MSM3732 (OKI, 32k x 1, 200ns)
  • TMS4532 (Texas Instruments, 32k x 1, 200ns)

Csere típusok:

  • D4164 (NEC)
  • HM4864 (Hitachi)
  • IMS2600 (Inmos)
  • KM4164 (Samsung)
  • MB8264 (Fujitsu)
  • MCM4164 (Motorola)
  • MSM3764 (OKI)
  • TMM4164 (Toshiba)
  • TMS4164 (Texas Instruments)
  • stb

Vagy is a 41256-ot beteheted.

1

cape-t
cape-t picture

Szia!

Köszönöm a megerősítést! Délután próba és referálok.

Üdv:
Gyula

0

uniman
uniman picture
***

A "forrást" is illene nyilvánosságra hozni....GDPR ! 

0

sistvan
sistvan picture

https://hu.wikipedia.org/wiki/%C3%81ltal%C3%A1nos_adatv%C3%A9delmi_rendelet
Az teljesen másról szól!
De azért köszönjük!
Emese

0

imrus101
imrus101 picture

Hali!
Az indításkor lefut egy RAM teszt, ami teleírja a RAM-ot, visszaolvassa és összehasonlítja a beírt értékkel. A legutolsó, jó memóriacím íródik be a P-RAMT (Physical RAM Top) rendszerváltozóba a 23732-es címre. Ezt eredetileg arra találták ki, hogy a gép saját maga eldöntse, hogy 16 vagy 48k-s. A linken található módszer viszont hibás. Az rendben van, hogy beírunk 170-et, mert az binárisan 10101010, de utána nem 255-öt kéne írni, hanem 85-öt, mert az 01010101, azaz a 170 bitenkénti negáltja. Ha az 1-es, 3-as, 5-ös vagy 7-es bit van 1-be ragadva, akkor a 170 majd utána a 255 beírása és kiolvasása nem mutatja ki ezt a hibát.
Kipróbálhatod a következő programot. 170-et és 85-öt ír a memóriába, ha nem stimmel a visszaolvasott érték, akkor kiírja a memóriacímet és az olvasott értéket. A felső 32k-t teszteli, 32768-as címtől. Nem kell végigfutnia, az első hiba után megállíthatod.

10 FOR i=32768 TO 65535
20 POKE i,170
30 LET a = PEEK i
40 IF a=170 THEN GO TO 200
50 PRINT i,a
60 POKE i,85
70 LET b=PEEK i
80 IF b=85 THEN GO TO 200
90 PRINT i,a
200 NEXT i

imrus101

0

cape-t
cape-t picture

Szia!

Köszi! Kipróbálom, de a 40 sor végén nem 60-ra kellene ugrani, hogy a 85-öt is beírja?

Közben van egy új tapasztalat: Az első indítás általában gond nélkül megy. Viszont ha a tápot kihúzom és 2-3 percen belül dugom vissza, a gép nem idul (Fekete ablak, vagy random színes karakterek jelennek meg a képernyőn). Kb. 5 percet kivárva viszont már újra jól indul...

A felső memória tesztelésére én is írtam egy kis programocskát, ami elvileg (!) a 32768-as címtől rendre beírja és visszaolvassa a 0xAA 0x55 0xFF 0x00 értékeket. Ha valamelyik visszaolvasott érték hibás, vagy ha a 65535 cím is rendben, megáll. (Lásd melléklet) Ez a progi hiba nélkül lefutott.

A bizonytalan elindulás és a "teszt program" hibátlan lefutása az alsó 16k hibája felé tereli a gyanút. Viszont akkor miért működnek a 16k-s programok. Vagy az általam írt tesztprogramban van elvi hiba.

Nem lehet, hogy nem RAM, hanem címdekóder hiba? Ilyenkor, ha jól nézem a rajzot, a beírt/visszaolvasott adat jó, csak nem a megfelelő címre ír/olvas?

Üdv:
Gyula

 

File csatolás: 

0

imrus101
imrus101 picture

Hali!
De, igazad van, ode kéne ugrania a programomnak, ahova mondod.
Ha ilyen random hibák vannak, akkor én először a tápellátást nézném meg, jók-e az értékek. Cserélném az elkókat és megnézném a hidegítő kondikat is az IC-k mellett. Valamint azt az egy tranzisztoros kapcsolóüzemű tápot is ellenőrizném. A 7805 is produkálhat érdekes dolgokat.
imrus101

0

cape-t
cape-t picture

Szia!
Az elkókat már cseréltem. A hidegítő kondik a felső RAM-ok mellett a rajz szerint 41nF-ok. Van ennek valami speciális oka, vagy lehet ezeket 47nF-ra cserélni?

A tápokról: +5V, +12V rendben, szerintem a -5V is (-4,75V), viszont ahol a rajz -12V-ot ír, ott én +9,3V körüli értéket mérek.
Rajz: https://spectrumforeveryone.com/wp-content/uploads/2017/08/ZXSpectrumIss...
Ez a -12V a gépen belül nincs bekötve, de azért érdekes a dolog. Az Issue1 rajzon ide még "+12V unregulated" van írva. Ez logikusabbnak is tűnik.

Az én programomban is van hiba: a d125 helyett d85-öt kellett volna beírnom. Bár a d0 -nak elvileg ki kellene szűrnie a beragadt biteket...

Üdv:
Gyula

 

0

imrus101
imrus101 picture

A 41 nF elég fura, de mivel azok csak hidegítő kondik, ezért nyugodtan lehet 47nF-ra cserélni őket. A -12V az nincs egyenirányítva, azon szkóppal nézve egy négyszögre némileg hasonlító jelet kéne látni. A voltmérőd ennek valamiféle átlagát mutatja, ez rendben van.
Esetleg még próbálkozhatsz azzal, hogy a memóriacsipeket hűtősprével lefújod vagy hőlégfúvóval (hajszártóval) melegíted, hátha valamelyiknél tapasztalsz valami reakciót.

0

cape-t
cape-t picture

Sziasztok!

Ott tartok, hogy próbáltam wav-ban is betölteni ugyan azokat a programokat, de ugyanúgy kifagytak. Én továbbra is a felső 32k hibájára gondolnék. 3 RAM teszt progit próbáltam, de kettő már betöltéskor kifagyott, egy pedig az indítás után hibával jött vissza.

Lehet rászánom magam és komplett cserélem az összeset, illetve a címdekódereket is. (Csak a még beszerzési forrást kell kiválasztanom.

Üdv:
Gyula

0

greatman
greatman picture

Szia! Némi segítség a javításban.
ATLAB
A hozzászólásokban megtalálható a használt teszt program linkje is.

0

cape-t
cape-t picture

Szia!

Köszi a linket! Délután kipróbálom a progit is!

Üdv:
Gyula

0

lapatnet
lapatnet picture
*

Üdvözlet!

Bár nem Sinclair, hanem Commodore tapasztalat. Az mp3 fájlokat hosszabb program esetén  hibásnak minősíti és el sem indulnak, A  waw kiterjesztéssel nincsen ilyen gond. A Commodore gép 30 hiba felett az anyagban már "LOAD ERROR" üzenetet ad. Az "M RAMTOP no good" szerintem arra vonatkozik, hogy nincs megadva neki mekkora memóriát használhat összesen. Biztosan van valami parancs amivel be lehet állítani a felső memória méretet. A Commodore 64 a gyári memóriát is HI és LO RAMként kezeli és volt parancs rá, hogy melyiket használja a program. Éppen most küzdök egyel aminél a D7 és D4 adatvonalon nem tud magas logikai szintet. Szerintem DRAM hiba, így a gép sem indul. A tápellátást is érdemes átnézni mert a RAM nagyon háklis a stabil 5V-ra. A telefon helyett számítógép hangkártyáról próbáltál betölteni? A kimeneti jelszinttel (hangerő) is érdemes variálni és megnézni nincs e valamilyen hangszínszabályzó alkalmazás ami torzítja a jelet.

1

varga jano
varga jano picture
*****

Hello!
DRAM csere?

0

lapatnet
lapatnet picture
*

Üdvözlet!

Azért az nem olyan egyszerű! Itt nem foglalatos, hanem forrasztott RAM-ok vannak beépítve. Összesen 8db 16 lábú (és ez csak a felső RAM) egy 30+ éves panelben. Ráadásul a beszerzése ezeknek az alkatrészeknek manapság eléggé nehézkes és drága.

1

sistvan
sistvan picture

0

cape-t
cape-t picture

1000 köszi a linkekért. Régi 386 ill. 486 alaplapom is van. Megnézem, hátha...

0

lacoka
lacoka picture

Szia
Milyen RAM-ok vannak benne ?
valahol a szekrény alján nekem is van 2 ilyen gépem a kisebbik 16K-ás gépre volt olyan sakk programom hogy sokan kikaptak tőle

0

cape-t
cape-t picture

Szia!

Megnéztem. Az alsó 16k IC (nem tudom milyen gyártó) ez van írva:
8416 STC
4116 2N

A felső 32k Texas TMS4532-15NL3 típusok.

Üdv:
Gyula

0

cape-t
cape-t picture

Szia!

Köszönöm a felajánlást, délután szétkapom a gépet és megnézem.

Üdv:
Gyula

0

varga jano
varga jano picture
*****

Hello!
A beszerzés már 95-ben is nehéz volt . Anno a barátom egy commodore64-et a commodore +4 feláldozásával javított meg a gyerekeimnek .

0

Sponsored links