MemTest64

 2017.08.10. 02:00

Egy egyszerű kis tesztprogramnak indult, végül hónapokig húzódott a fejlesztése. Egyrészt mivel igen körülményes volt a sokoldalú tesztelés és piszmogós a makacs hibák felderítése – másrészt mivel túl sok funkcióját próbáltam a szűkös keretekbe belezsúfolni. De éppen ezért csináltam: hogy felderítsek vele olyan területeket a nagy-nagy Commodore birodalomban, amivel még sosem foglalkoztam előtte (így mellesleg egy csomó leírást is végig kellett közben olvasni és vadászni az infókra a neten stb.). Amit menet közben kiderítettem, azt jórészt leírtam a pár hónappal ezelőtt már közreadott 51-oldalas „kis” PDF dokumentumban (ld. Platform Independent Code). Végső soron akár úgy is felfoghatjuk, hogy az alkalmazás ennek a leírásnak egy példaprogramja. (És az egész azért kellett, mert ezeket az elemeket mind fel szeretném használni a Rosettában később.)

Az egyik lényege, hogy olyan program, ami elviekben minden Commodore gépen elindítható (más szóval a középpontban álló C64/128/65-ös család mellett éppen úgy a Plus/4-en, a VIC-20-on, a PET-en… stb.) A másik meg, hogy automatikusan detektálja a rendszer összetevőit, majd teszteli is őket, és az eredményeket a képernyőre írja (mint afféle „sysinfo”).

memtest40.jpg

Szokás szerint összecsomagoltam az egészet egy zip fájlba, a forrásokkal együtt, és van benne egy hatoldalas PDF a használati útmutatóval és egyéb tudnivalókkal (angolul), így nem akarok mindent újra idemásolni, hiszen akit érdekel, az úgyis megtalálja őket ott. Feltöltöttem a weboldalamra, és emellett a csdb.dk-ra is természetesen. Ezenkívül nyitottam egy topikot a Lemon64-en, ahol szintén hozzá lehet szólni.

memtest80.jpg

Akárkinek kedve támad kipróbálni, tesztelni, az töltse le, sőt, ha valakinek ritkább, egzotikus hardverei vannak (mint pl. MEGA65 vagy SuperCPU, vagy esetleg PET, CBM-II vagy más hasonló régi gép), és lefuttatná rajta, akkor nagyon örülnék, ha megosztaná velem valamilyen formában az eredményeket (akkor is, ha netán hiba történik). Mivel ugye ilyesmiken egyelőre nem volt alkalmam még kipróbálni, ezért nem tudhatom, mire számítsak… És kíváncsi vagyok.

Update (aug. 31.): időközben eljutott a fejlesztés a v1.06-os revízióig egy csomó bővítéssel és javítással (pl. colour RAM teszt, C65-ös és MEGA65-ös kiterjesztések stb.). Sőt, már részben tesztelve van MEGA65-ön is, és ha nem derül fény újabb javítandó hibákra, úgy ez a végső verzió.

Update (szept. 6.): még egy csomó kisebb-nagyobb javítással, itt a v1.08-as revízió (talán ez most már a végleges).

Update (szept. 10.): a végleges (final) verzió, további kisebb-nagyobb javításokkal: a v1.09-es revízió (szóval most már tényleg nem lesz újabb változás). Und tschüss.

(előzmény: Platform Independent Code)

Címkék: teszt commodore programozás angol pdf c64 lcd vice plus/4 dtv chameleon tdc vdc hardverteszt dma c128 6510 supercpu 65xx 1541 ultimate 6509 reu c65 65816 ide64 csdb.dk mega65 memtest64 cbm-ii vic-20 lemon64

A bejegyzés trackback címe:

https://rosetta.blog.hu/api/trackback/id/tr3212732094

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Dr.OG 2017.08.17. 11:34:00

Szia!

Teszteltem a memtesztet ;-) .

Sajnos eredeti harverem csak c64-ből és c128-ból van, megy 2 FPGA: 1 Turbo Chameleon 64 és egy MiST. Tudtommal (a blogod alapján) az első 3-mal te is rendelkezel, viszont MiST-ed nincs. Erre van többféle Commodore gép reimplementáció, mindegyiken végigfuttattam a programot, az alábbi eredménnyel:

1.) PET 2001: A teszt OK, de nem írja ki a CPU típusát, sebességét, a video normát (talán ebből csak NTSC verzió létezett?) és a scanline-ok számát.
[img]http://www.mirari.fr/t8OI[/img]

2.) VIC-20: Ez egy 'PAL only' core, de a memóriabővítésekkel lehet játszadozni:
[img]http://www.mirari.fr/GYue[/img]

3.) VIC-20 'kis' bővítések: betöltve a .PRG-t indulás előtt karakterhulladék a képernyőn (gondolom nem fér el a program a memóriában?).
[img]http://www.mirari.fr/CGfY[/img]

4.) VIC-20 5KB: indítás után felismeri a CPU-t, sebességét, a videorendszert és a scanline-ok számát, de a memóriát nem tesztei (?syntax error).
[img]http://www.mirari.fr/aOpp[/img]

5.) VIC-20 8KB: Ugyanaz a helyzet.
[img]http://www.mirari.fr/WDmp[/img]

6.) VIC-20 maximális memória: minden rendben, a memóriateszt is OK.
[img]http://www.mirari.fr/OfuC[/img]

7.) C64 PAL verzió: Minden OK.
[img]http://www.mirari.fr/Tv0M[/img]

8.) C64 NTSC verzió: Minden OK.
[img]http://www.mirari.fr/bGU1[/img]

9.) C16 PAL verzió: Minden OK.
[img]http://www.mirari.fr/m4Qs[/img]

10.) C16 NTSC verzió: Minden OK.
[img]http://www.mirari.fr/rdoX[/img]

11.) Plus4 PAL verzió: Minden OK.
[img]http://www.mirari.fr/Bhmz[/img]

12.) Plus4 NTSC verzió: Minden OK.
[img]http://www.mirari.fr/gXQp[/img]

Összegezve: a régebbi és kisebb memóriájú gépeknél lehet gond, persze az sem kizárt, hogy eredeti harveren ezek zökkenő nélkül futnak, a probléma forrása lehet az FPGA reimplementáció pontatlansága is.

A screenshot-okat a Samsung LE40B650-es TV-m ScreenCap SamyGo-s alkalmazásával készítettem, ez a framebuffert írja ki pendrive-ra.

A MiST-et 'minimig VGA2SCART' kébellel kötöttem a TV 1-es bemenetére.

Üdv: Gábor

rosettif · http://istennyila.hu/ 2017.08.17. 11:40:01

@Dr.OG: Kösz szépen a tesztet! (Valamiért meghülyült a blogmotor, és nem engedte be a kommentedet, hanem előmoderáltatta. Talán a sok link miatt csinálhatta, nem tudom.)

Amiket leírtál, az mind normális jelenség (a syntax errort kivéve, azt VICE-ban én még nem láttam). A kis memóriájú gépeken a teljes program nem fér be, így rátöltődik a vége a képernyőre stb. De direkt úgy találtam ki, hogy ilyenkor is működjön (csak egyes funkciói nem indulnak emiatt).

PET-en nincs video norma (mivel nincs is tévékimenete, hanem saját monitora van). A procitípus helyett ott a Kernal revíziószámát írom ki (ez esetben r3).

A C128-ason is rendben ment? A legutóbbi (tegnap föltett) verzióban (v1.04) továbbfejlesztettem a teszteket, és szigorúbban vizsgálja meg pl. a VDC-t. Még a colour RAM teszt hiányzik, de a következő verzióban az is benne lesz (ld. a Lemon64 topikban a magyarázatot). Már csak arra várok, hogy valaki C65/MEGA65-ön futtassa...

Dr.OG 2017.08.17. 17:54:11

@Isten Nyila:
Közben rájöttem a ?syntax error okára: ha leviszem a kurzort a 'karakterszemét' aljára, és ott írom be a SYS 5133-at, úgy már jó, csak épp a memóriát nem teszteli (holnap küldök screenshot-ot). C128-on nem próbáltam, mert az anyámnál van Újkígyóson.

Pont arra gondoltam, hogy ez így dupla teszt, hiszen nem csak a platformfüggetlen programodat, de a MiST FPGA core-jait is próbára teszem vele.

Várom az új verziót, azzal is futok egy kört. Jó lenne, ha a blogmotor rugalmasabb volna, és legalább kis méretű képeket engedne...

Sajnos C65-öm nincs... ;-))

rosettif · http://istennyila.hu/ 2017.08.18. 02:01:58

@Dr.OG: C65 ügyben sikerült tegnap véletlenül megtalálnom Bo Zimmermannt a Facebookon (ő az egyik olyan, akinek még van, és használja is aktívan, pl. viszi magával a közösségi rendezvényekre). Ha nem feledkezik meg a beszélgetésről, akkor remélhető, hogy a közeljövőben majd lefuttatja egyszer rajta... Ezenkívül bepróbálkoztam a MEGA65-ös fórumon is, ahol egyelőre itt tartunk:

mega65.net/memtest64

Dr.OG 2017.08.18. 05:07:24

Örülök, hogy alakul a dolog!

C65 vonalon bonyolíthatja a helyzetet, hogy amennyire tudom, csak prototípus szintjéig jutott a gép, amiben jó pár bug marad(hatot)t.

Amint ígértem, a 2 screenshot:
[img]http://www.mirari.fr/Lqag[/img]
[img]http://www.mirari.fr/ue1c[/img]
(Mint korábban írtam a saját lámaságom okozta a hibát előzőleg.)

Hét végén elutazunk, úgyhogy ha lesz colour RAM-ot vizsgáló verzió, majd csak jövő héten tudom tesztelni.

Még PET-re visszatérve:
Wiki szerint
www.c64-wiki.com/wiki/PET_2001
az Userport 2-es lábán van video kimenete.

Máshol viszont találtam olyan kapcsolási rajzot, ahol az alaplapi csatlakozóról generálnak kompozit videojelet: www.oldcomputers.net/pet2001.html
Amire gondolom nem lenne szükség, ha a készülék megbontása nélkül is menne a dolog.

Jó lenne látni egyszer ilyet működés közben (kikapcsolt állapotban volt már hozzá szerencsém a szegedi Agorában).

Üdv: Gábor

Dr.OG 2018.03.16. 01:53:14

Szia!

Na megint itt vagyok, most a memtest 1.09-es verziójával teszteltem az eddig anyám szekrényének tetején porosodó, hibás c128-ast!

Persze előtte "megjavítottam", szerencsére a tünetek és a Bo Zimmermann oldalán található remek leírás www.zimmers.net/anonftp/pub/cbm/documents/repair/troubleshooting-c128.txt alapján gyorsan megtaláltam, hol a hiba. Az U1-es VIA chip-et kellett kicserélnem, donorkén egy mechanikai hibás (letört felső fejű) 1571-et használtam, a műtét sikerült.

Második körben, 'ha már szétszedtem' alapon egy eBay-ről rendelt 64k-s VDC RAM bővítőt is beraktam: www.ebay.com/itm/Commodore-128-64k-VDC-Plug-In-Upgrade-No-Soldering-needed-/162112422206 Ez is jól szuperál.

Már csak azt kellett megoldanom, hogy az eredményről kulturált screenshot-okat tudjak készíteni (van ugyan egy Philips CM8833-asom, aminek az RGBI bemenete kompatibilis a C128 80-oszlopos video kimenetével, még a 'brown fix'-et is tudja, de utálok képernyőt fényképezni), ezért összedobtam egy SCART átalakítót ezen leírás alapján: sites.google.com/site/h2obsession/CBM/C128/rgbi-to-scart Írtam is a srácnak, meg küldtem egy csomó screenshot-ot, de eddig nem válaszolt.

Mindegy, itt az eredmény:

[img]http://www.mirari.fr/u3Ne[/img]

A biztonság kedvéért megnéztem Mirkosoft sysinfo-jával is csdb.dk/release/?id=97831 , minden stimmel:

[img]http://www.mirari.fr/OHlR[/img]

Ami számomra a legmegdöbbentőbb, hogy mennyire vegyes alkatrészekből rakták össze ezt a gépet: Az összes ROM és a VDC már az újabb verziójú, de a SID még a régi. A hibás VIA is még a régebbi változat volt, a transzplantált viszont már az újabb, 'A'-ra végződő típusszámú.

Üdv: Gábor

rosettif · http://istennyila.hu/ 2018.04.01. 04:12:58

@Dr.OG: Köszi szépen! Ilyen SCART adapter készítését nem vállalnád esetleg? Későbbiek során nekem is még jól jönne (szintén screenshotokat lőni leginkább).

Dr.OG 2018.04.01. 07:12:36

Szia!

Elvi akadálya nincs a dolognak, gyakorlati annál inkább:

1. Ami problematikus számomra, az a hozzávalók egy részének beszerzése: az egyik 'hiánycikk' a c64/128 8-pólusú kerek videocsatlakozója, eddig 1 (!) alkalommal találtam ilyet, azt is bontott alkatrész formájában Szegeden, még évekkel ezelőtt. Lényeges, hogy a külső tűknek 'lópatkó', és nem 'kör' alakban kell elhelyezkedniük, valamint a középső láb is kissé excentrikus, felfelé tolt. Persze elvileg kiváltható egy hétköznapi DIN5-ös dugóval, de akkor máshonnan kell beszerezni a SCART RGB switchez szükséges átkapcsoló feszültséget.

2. Ha tényleg jó minőségű 80-oszlopos képet szeretnénk, érdemes a kompozit szinkront inkább a DB9 csatlakozóról elvezetett horizontális és vertikális szinkronjelek kombinálásával előállítani (nálam a monokróm 80-as kimenet tele volt interferenciával), az ahhoz szükséges SN74LS86-os logikai IC szintén nehezen beszerezhető. Az utódja, az SN74HC86 könnyebben hozzáférhető, de annak mások a logikai szintjei, TTL bemeneti jelekhez hosszútávon nem ajánlom.

3. Egyéni szociális/élethelyzeti limitáló tényezők: vidéken lakom, annak is a legtávolabbi zugában (Gyulán). Itt még egy rendes elektronikai alkatrész bolt sincs! Mikor a munkám vagy családi okok miatt utazom, akkor szoktam kihasználni a lehetőséget, és körülnézni, máshol mi a helyzet. Idén eddig Debrecenbe és Hódmezővásárhelyre jutottam el, de ezeket a ritkaságokat ott sem tudtam megvásárolni. Ráadásul 3 gyerek és egy kiszipolyozó munka mellett időm is alig van a hobbimra (nem véletlenül telt el bő fél év az előző 2 hozzászólásom között is).

Maradjunk annyiban, hogy ha a szükséges összetevőket be tudod szerezni, és közelebb nem találsz olyan szakit, aki a fentebb linkelt oldalon található kapcsolási rajz(ok) ismeretében össze tudná rakni az átalakítót (ami egyébként elektronikai szempontból nem bonyolult), akkor bevállalom.

Üdv: Gábor

rosettif · http://istennyila.hu/ 2018.04.01. 21:55:40

@Dr.OG: Hű, akkor ez nem ma lesz! :) De meglátjuk. Kösz a részletekbe menő tájékoztatást.