C64 logolása

Van egy döglött C64-em, amit ha szkóppal méregetek, mindenhol minden stimmelőnek tűnik - mármint, amennyire én meg tudom állapítani.

Mivel az adat és a címbusz is valószerű jeleket produkál, a legegyszerűbbnek azt tartanám, hogy a kártya csatlakozóján keresztül rákapcsolódom az adat és címbuszra, és az ott elérhető adatokat kiolvasva megpróbálom megállapítani, hogy hol hal el a boot folyamat. Ez talán segítene megállapítani, mi is döglött meg benne.

Érdekes módon, bár rengeted C64 diagnosztikai kártya van, ilyen eszközt/kártyát nem találtam, amivel ezt meg lehetne tenni.

Maga az adat és címbusz naplózása ráadásul nem csak C64, hanem szinte bármelyik retro 8 bites gép naplózására jó lenne.

Ha veszek egy RPi-t, akkor a GPIO portjait direktben ráköthetem az adat és címbuszra? Vagy egy ilyen rácsatlakozás túlterhelheti a jeleket, és módosíthatja azokat? Netán árthatok vele a gépnek? Ha nem lehet direktben rákötni, akkor hogyan érdemes rácsatlakoznom, hogy hozzájuthassak az ott folyó adatokhoz.

Hozzászólások

Táp biztosan jó?

9V _és_ 5V is ott van?

Gondolom, a C64-re gondolsz.

A tápegység maga szerintem jó, mert egy működő C64-ből vettem kölcsön.

Az alaplapon az 5V biztos megvan, azt mértem. A 9V-ot nem mértem, mert az adat és címbusz úgy tűnik, rendben megy. De megnézem, hol is kéne 9V-nak lenni, és rámérek arra is.

Rpi Pico-val van ilyen projekt (ennek az MCU-nak vannak speciális PIO assembly parancsai, amivel egyszerű gyorsan feldologozni a GPIO jeleket):

https://github.com/gusmanb/logicanalyzer

A legnagyobb gond a jelszint, a Piconak 3.3V-os IO-ja van, a C64-nek meg 5V-os, de a fenti linken van egy level shifter kiegészítés is hozzá.

ESP-ből én is csináltam logikai analizátort, de ott is a jelszintekkel van gond, bár azt elvileg direktben is rá lehet kötni az 5V-ra. Rá is kötöttem, mégsem megnyugtató az eredmény. A 6-os lábon megjelenő órajelet sem vette tökéletesen - néha kihagyott. A szkópon folyamatosnak látszik az órajel. És amikor még 8 lábat rákötöttem, egészen fura eredményeket kaptam. Emiatt kezdtem el gyanakodni, hogy talán a GPIO direktben rákötve módosítja az ott megjelenő jeleket.

Továbbra is e legegyszerűbbnek az RPi tűnne, ha korrekt direktben rákötni a buszokra a GPIO-kat.

Amúgy köszi, ha az RPi nem járható út, ezt megnézem.

Mi a hibajelenseg?

"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

Black Screen.

A VIC II Address és Data lábain rendre változó jeleket mérek, azaz úgy tűnik, egyik bit sincs beragadva, de a Lum kimeneten olyan, mintha egy üres videó jel lenne. A szinkronjelek felismerhetőek, de mintha nem lenne tartalom.

És ha bekapcsolóm, a TV felismeri, hogy jön jel, de teljesen üres, fekete képernyőm van.

A lap aljan van nehany szoveges oldal linkje, ottt talalni hasznos tapasztalatokat. Siman lehet tapkapcsolo, erdemes sid nelkul is elinditani, zarlatos felvezetoket vegigmerni, stb. En pl. javitottam ugyanilyen hibaval c64-et, aminek a user portjaban volt begorbulve ket lab, ami zarlatot csinalt. Jo volt megkeresni a hibat...

"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség

A VIC foglalatos, kilehet próbálni másik gépbe. Ami nem kell és foglalatos ki lehet kapni(CIA, SID). Én a ramokra is ránéznék.

Igen, ha lenne csere VIC-em, kipróbálnám. Nekem is az az egyik tippem, hogy a VIC halhatott meg. Csak az szól ellene, hogy akitől kaptam a gépet, azt mondta, hogy sok-sok éve, amikor utoljára bekapcsolta, még működött. Aztán elkerült a padlásra, és most így, fekete képernyővel került elő.

Így meg - gondoltam - legalább elmélyedhetek a hibakeresés rejtelmeiben.

Hát nincs másik működő gép? Fentebb írtad, hogy másik gépé a táp. A 9V a lapon egyébként a VIC és SID használja pont, érdemes a lábkiosztásra rákeresni. Arra ügyelni kell hogy a 6-os sorozatú VIC/SID 12V-os, a 8-as sorozatú meg 9V-os(5V-ok mellett). RAM is fekete képernyőzik, döglött CIA is.

Van működő gép, de más a VIC chip típusa. Nem merem cserélgetni. A 6* és a 8* VIC-ekről tudom, hogy nem kompatibilisek, de hogy ezen kívül mit lehet mi helyére betenni, azt nem tudom. Nem merem vakban cserélgetni.

Arról nem is szólva, hogy ha egy rossz gépbe beteszek egy jó VIC-et, akkor akár tönkre is tehetem.

Amúgy a VCC és a VDD feszültségek is rendben vannak.

fekete képernyőbe futottam bele, bekapcsoló gomb ment tönkre.

Dead Test cartridge-dzsel próbáltad nézni?

Nekem is volt egy ilyen fekete képernyőt produkáló C64-em, az valószínűleg túl nagy tápot kapott, mert a végül szinte minden IC-t ki kellet rajta cserélni: ROM-okat, SID-et, mindkét CIA-t. De végül felélesztettem.

Ajánlott irodalom:

https://portcommodore.com/rcarlsen/cbm/c64/c64blank.txt

https://portcommodore.com/rcarlsen/cbm/c64/c64-ic.txt

https://portcommodore.com/rcarlsen/cbm/c64/c64c-ic.txt

Ja, és sok sikert a javításhoz!

Én a Raspberry Pi helyett a test cartridge-ot javasolnám, persze ha teszteszközt szeretnél fejleszteni, akkor nem szóltam, az is egy érdekes feladat.

Ebay-en lehet venni dead test-et. Ha van (E)EPROM égetőd, csak PCB-t is vehetsz és gyárthatsz magadnak. Én először vettem egy működőt, mert nem akartam vacakolni.

Kulcsszó a kereséshez: C64 Dead Test (Rev 781220)

Azt gondolom, a test cartridge pont VIC hibák esetén nem biztos, hogy nyerő. És ha jól emlékszem, a teszt romot a KERNAL indítja, azaz KERNAL hiba esetén sem fog működni.

Ráadásul test kártya sok van, ilyen eszközt meg még nem láttam, emiatt ez érdekesebb is lenne. És ha jó az elgondolásom, akkor megcsinálni is egyszerűbb.

Tehát elsőre továbbra is a buszok logolása érdekelne, bár hálás vagyok az egyéb javítási ötletekért, azokat is kipróbálom, ha tudom.

Dead test cartridge elindul ezen IC-k nélkül az egyik C64C alaplapomon: karakter ROM, kernal ROM, SID, jobb oldali CIA. Ha a bal oldali CIA-t kiveszem, akkor mutat valami képet, de értelmes karakterek nem látszódnak. Az előbb próbáltam ki, kiszedtem az IC-ket a foglalatból.

Persze ez nem feltétlenül jelenti azt, hogy egy rossz karakter ROM-mal elindul a gép, ha berakod a dead test cartridge-ot. Azt nézted kézzel, hogy nagyon melegszik-e valamelyik IC, amelyiknek nem kellene? Ebből az alaplapból elsőnek az egyik ROM-ot bányásztam ki, mert elég gyorsan felforrósodott.

Ha jól emlékszem a C64C alaplapokon a VIC elég strapabíróra sikerült, a korábbi változatokban gyakran elromlott. Milyen alaplapod van?

szerk: lehet hogy rosszul emlékszem és az mmu/pla ami strapabíróbb a C64C-ben?

vannak megmagyarázhatatlan hibák.
nekem van olyan lapom, amit ha utángyártott táppal hajtok akkor elmegy a SID egyik csatornája.
rendes táppal semmi baja tökéletesen szól. utángyártott tápot elküldtem C= szervízes Zolinak kimérte mindenhogy azzal nincs gond.
átraktam a sidet egy másik lapba, utángyártott táppal meghajtom tökéletesen szól...
azt mondja a lappal lehet vmi gubanc, méregetni kéne...de én vadkeletről nem akarok postázgatni...

érdemes követni a FB oldalát, mert alaposan dokumentálja a javításait és elmagyarázza hogy mikor mi volt a hiba.
egy érdekesebb javítása!:D

"A mostani posztban lesz minden. Ugyanis hibásan érkezett egy Commodore 64, 250469 Rev. B alaplapos gép, de rutinnak gondoltam.
Bekapcsoláskor a lap rendben elindult, viszont a HW teszt Cassette hibát hozott. A teszt futása közben előbb a CA1, majd a 2 is hibára tette ezzel egyidejűleg.
A magnó port alapvetően a CPU-t és CIA1-et használja. A CIA1 esetében a magnó RD vonala közösködik a Serial BUS SRQIN-nal. Ezzel ki is zárhatnánk a CIA1-et, mert ugye a Serial BUS jól vizsgázott. De még is hibára ment a CIA1.
Elsőnek a C1-4 és 84-es kerámia kondikat ellenőriztem, hogy nincs e zárlat a föld felé (ez általában túlfeszültség miatt átszokott átütni, a User Port esetében elég gyakori hiba), mindegyik jó volt.
Majd rápróbáltam egy magnót, hogy kizárjam a motorhibát, nem volt vele gond.
Így most már jöhetett előbb a CIA1 foglalatozása és cseréje. A CIA1 cseréje nem hozta meg a várt eredményt.
Jöhetett a CIA2 foglalatozása és cseréje, de ez sem hozta meg a várt eredményt. Mind a két esetben a HW teszt továbbra is Cassette és CIA1,2 hibát dobott (innentől egyértelmű a CPU hiba, de miért megy hibára a CIA 1 és 2…).
A CIA1-et betettem tesztlapba és a HW teszt nem hozott hibát. Mikor beraktam mellé a CIA2, szinte az összes létező hibát kidobta a teszt. A CIA2 cseréjét követően a tesztlapos HW teszt rendben lefutott.
Foglalatoztam majd cseréltem a CPU-t. Ezt követően visszatettem az eredeti CIA1-et (a CIA1 helyére) és a cserélt CIA2-t. A HW teszt a Cassette port-nál nem dobott hibát (végre), de a Keyboard-nál kifagyott. Ezért jelzett korábban mindig hibát a CIA1-nél, mert az is hibás.
A CIA1 cseréjét követően a HW teszt nem dobott több hibát.
Sajnos a CPU CASS WRT-je is rossz volt. Valójában a Cassette port hiba erre utalt és a CIA1 és 2-t azért dobta be, mert ezekkel se volt minden rendben.
A PCB felújítását követően mind a HW, mind a szoftveres tesztek hiba nélkül lefutottak. Viszont az RF modulátor jelszintje nagyon alacsony volt és melegedésre el is mászott… az audio hangoló tekercsének vasmagja is meg volt erőltetve, azt alig lehetett forgatni. Ezért ezt is kicseréltem."

Ez is jó megoldás, ha van egy másik működő C64-e az embernek, amin beállítja az adott diagnosztikai programot. (Tudom, a kérdezőnek van.)

Persze, ha az ember C64-et javít, akkor nem árt, ha van egy másik működő C64-e amibe bele lehet pakolgatni a rossz C64-ből kiszedett IC-ket, hogy működnek-e...

Add ki ezt a parancsod, vakon begépelve:

10 poke 54272+rnd(1) *25,rnd(1) *256 : goto 10

Ha ezután hangot ad a gép, akkor ezzel pár dolog kizárható a hibalistából.
 

Floppy meghajtód van hozzá?
Mert ha igen, akkor azzal is csinálhatsz egy vak tesztet:

LOAD "$",8,1

Ha erre beolvassa a lemezt, akkor megint csak előrébb vagy :)

ha budapesten vagy, elhozhatod hozzam es kiprobalhatjuk a dead test cartridge-dzsel.

Kedvet csináltatok, elővettem én is a 35 éves technikát és MŰKÖDIK (Samsung LED TV-n !).
Ami további meglepetés, a 35 éve hozzá vásárolt játék is betöltődött szalagról. Holnap a turbós szalagokra leszek kíváncsi, hogy azokkal a 30+ éves szalagokkal hogyan birkózik meg a technika.
(Tudom, létezik SD2IEC ...)

Gyermekemnek nagyon tetszik, igaz sokkal jobb LED TV-n, mint annó az Orion fekete-fehér TV kevésbé éles képernyőjén nézni.
Első néhány soros basic programon is túl van. :)

Nagyon köszönöm a C64 javítási tanácsokat, még küzdök is majd vele, de az alapvető kérdésre, hogy lehet-e RPi-vel logolni a C64 buszait, úgy tűnik a válasz: NEM.

A leírások alapján a Raspberry Pi 3 GPIO kapui 3.3V-osak, és nem ajánlott azokat közvetlen 5V-ra kötni. Így szintillesztő kellene hozzá, aminek 8MHz-et is át kéne vinni, ha a kivezetett órajelhez akarnék igazodni. Ez azt hiszem így már egy nagyságrenddel nehezebb feladat lenne.

Ha ismertek olyan RPi szerű gépet, ami 5V-os GPIO kapukkal dolgozik, és elég gyors lenne a 8MHz-es bevitelre is, azt örömmel venném.

https://www.hestore.hu/prod_10031793.html - próba NYÁK, amire gyorsan összeforraszthatod
https://www.hestore.hu/prod_10021601.html - 74HCT245 ... hogy ne terheld a mérendő buszt, 5V-ról használod
A kimeneteire 1 kohm-os ellenállást forrasztasz és 2 kohm-os ellenállást a föld felé. Erre mehet a 3V3 bemenet.

Mérőeszköz 8 MHz órajel túlmintavételezett mérésére: https://hackaday.com/2015/02/19/turn-your-beagleboneblack-in-to-a-14-ch…
A Beaglebone tartalmaz egy ARM CPU-t (1 magos 1 GHz Cortex A8), továbbá 2 db 200 MHz-es I/O mikrovezérlőt, amit PRU-nak hívnak.
Na ebbe a 200 MHz-es mikrovezérlőbe beletöltött assembly kóddal oldják meg, hogy
   - mintát vesz
   - RAM-ba ír
kb. 380 MB RAM-ot tud feltölteni 200 MHz/(2..N) tempóval, miközben az 1 GHz-es ARM Cortex A8 egymagos fő procival ugyanezt a RAM területet fel tudod dolgozni vagy kis előfeldolgozás után 100 Mbps etherneten vagy 480 Mbps USB-n keresztül alapból emulált etherneteten tudod lökni PC-be.
Első lépés: órajel élváltás + néhány minta módján a stabil állapotának megkeresése és így redukálható a túlmintavételezett adatmennyiség.

Másik ami szóba jöhet: STM32F405 vagy STM32F415 mikrovezérlős stb megoldás és innen 480 Mbps USB a PC felé. Erre itt találsz segítséget: https://sysprogs.com/w/how-we-turned-8-popular-stm32-boards-into-powerf…
Az STM32 mikrovezérlőnek sok I/O lába alapból 5V toleráns.

Pl.: USB Logic 100MHz 16Ch Logic Analyzer for ARM FPGA H2-002
https://a.aliexpress.com/_mNzZWrQ

Szintilleszto: 5PCS 4 Channel IIC I2C Logic Level Converter Bi-Directional Module 5V to 3.3V
https://a.aliexpress.com/_mr9fwg0

De ha van szkopod, nem nagyon fog kelleni a logikai analizator.

"Nem akkor van baj amikor nincs baj, hanem amikor van!"
Népi bölcsesség