{"id":10774,"date":"2025-11-19T11:09:40","date_gmt":"2025-11-19T10:09:40","guid":{"rendered":"https:\/\/retrofixer.it\/?page_id=10774"},"modified":"2026-11-06T22:29:22","modified_gmt":"2026-11-06T21:29:22","slug":"guasti-commodore-64","status":"publish","type":"page","link":"https:\/\/retrofixer.it\/en\/guasti-commodore-64\/","title":{"rendered":"Commodore 64 faults"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"10774\" class=\"elementor elementor-10774\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-96fa19c e-con-full e-flex e-con e-parent\" data-id=\"96fa19c\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6552148 elementor-widget elementor-widget-html\" data-id=\"6552148\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<script>window.RF_EN=\/^en\/i.test(document.documentElement.lang||'');if(window.RF_EN)document.documentElement.classList.add('rf-en');<\/script>\r\n<style>.rf-en .rf-it{display:none!important}<\/style>\r\n<div class=\"rf-it\" data-no-translation>\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Press+Start+2P&family=VT323&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n.rfd{\r\n  --bg:#0f0c24; --bg2:#171338; --panel:#1d1846; --line:#342c74; --text:#eceaff; --muted:#aaa5d8;\r\n  --c64:#3e31a2; --c64l:#7c70da; --ink:#b3abff; --mag:#e0398a; --yel:#ffd23f; --grn:#5ad15f; --cya:#3fd8ff; --ora:#f8961e; --red:#f94144;\r\n  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--text); background:var(--bg); line-height:1.55;\r\n  position:relative; padding:44px 0 70px; overflow:hidden;\r\n}\r\n.rfd *,.rfd *::before,.rfd *::after{box-sizing:border-box}\r\n.rfd h2,.rfd h3,.rfd h4,.rfd p,.rfd ul,.rfd ol{margin:0;padding:0}\r\n.rfd h2,.rfd h3,.rfd h4{font-family:'Inter',system-ui,sans-serif!important;letter-spacing:0;text-transform:none;font-weight:700}\r\n.rfd a{color:inherit;text-decoration:none}\r\n.rfd button,.rfd input{font:inherit;color:inherit}\r\n.rfd button{cursor:pointer}\r\n\/* il tema centra il contenuto di tutti i pulsanti: qui lo rimettiamo a posto *\/\r\n.rfd .opt,.rfd .res{justify-content:flex-start!important;text-align:left!important}\r\n.rfd .opt{align-items:baseline!important}\r\n.rfd .ic{display:block!important;text-align:left!important;height:auto!important;line-height:1.3!important}\r\n.rfd [hidden]{display:none!important}\r\n.rfd .wrap{max-width:1200px;margin:0 auto;padding:0 20px}\r\n.rfd .stripe{height:6px;background:linear-gradient(90deg,var(--red) 0 16.6%,var(--ora) 0 33.3%,var(--yel) 0 50%,var(--grn) 0 66.6%,var(--cya) 0 83.3%,var(--c64l) 0);position:absolute;left:0;right:0;top:0}\r\n.rfd .kicker{display:inline-block;font-family:'Press Start 2P',monospace;font-size:10px;color:var(--yel);letter-spacing:.06em;margin-bottom:12px}\r\n.rfd .h2{font-family:'Press Start 2P',monospace!important;font-size:clamp(17px,2.4vw,26px);line-height:1.45;color:#fff;text-shadow:3px 3px 0 #000;margin-bottom:10px;font-weight:400}\r\n.rfd .h3{font-family:'Press Start 2P',monospace!important;font-size:clamp(13px,1.6vw,16px);line-height:1.5;color:#fff;margin-bottom:8px;font-weight:400}\r\n.rfd .sub{color:var(--muted);font-size:15.5px;max-width:720px}\r\n.rfd section{margin-top:56px}\r\n.rfd .head{margin-bottom:20px}\r\n\r\n\/* intestazione *\/\r\n.rfd .top{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}\r\n.rfd .lcd{font-family:'VT323',monospace;font-size:24px;line-height:1.05;color:var(--grn);background:#05040f;border:2px solid #000;border-radius:8px;padding:10px 14px;text-shadow:0 0 6px rgba(90,209,95,.6);white-space:nowrap}\r\n.rfd .lcd small{font-size:17px;color:#3f8f43;display:block}\r\n.rfd .nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}\r\n.rfd .nav a{font-size:13px;font-weight:600;color:var(--muted);border:2px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;transition:color .15s,border-color .15s}\r\n.rfd .nav a:hover{color:#fff;border-color:var(--c64l)}\r\n\r\n\/* ricerca *\/\r\n.rfd .term{background:var(--c64);border:10px solid var(--c64l);border-radius:12px;padding:12px 16px;box-shadow:0 0 0 3px #000,0 18px 40px rgba(0,0,0,.45);position:relative}\r\n.rfd .term::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px)}\r\n.rfd .term label{display:block;font-family:'VT323',monospace;font-size:20px;color:var(--ink)}\r\n.rfd .qrow{display:flex;align-items:center;gap:10px}\r\n.rfd .qrow span{font-family:'VT323',monospace;font-size:28px;color:#fff}\r\n.rfd .q{flex:1;min-width:0;background:transparent;border:0;outline:0;font-family:'VT323',monospace!important;font-size:28px;color:#fff;caret-color:#fff;padding:2px 0;text-transform:uppercase}\r\n.rfd .q::placeholder{color:#8e86e0;text-transform:none}\r\n.rfd .results{display:grid;gap:6px;margin-top:10px}\r\n.rfd .res{display:flex;gap:10px;align-items:center;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:10px 12px;color:#fff;font-size:14px}\r\n.rfd .res:hover,.rfd .res:focus-visible{border-color:var(--yel);outline:0}\r\n.rfd .res .tp{font-family:'Press Start 2P',monospace;font-size:7px;padding:4px 6px;border-radius:4px;background:var(--c64l);color:#15102e;flex:none}\r\n.rfd .res .tp.d{background:var(--grn)}\r\n.rfd .res mark{background:var(--yel);color:#15102e;border-radius:2px;padding:0 1px}\r\n\r\n\/* schermate tipiche *\/\r\n.rfd .screens{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n.rfd .scard{display:flex;flex-direction:column;align-items:stretch!important;gap:10px;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:12px;transition:transform .18s,border-color .18s,box-shadow .18s}\r\n.rfd .scard:hover,.rfd .scard:focus-visible{transform:translateY(-4px);border-color:var(--yel);box-shadow:0 12px 28px rgba(0,0,0,.45);outline:0}\r\n.rfd .tv{position:relative;width:100%;aspect-ratio:4\/3;border-radius:10px;background:#111;padding:6%;box-shadow:inset 0 0 0 3px #000;container-type:inline-size;overflow:hidden}\r\n.rfd .tv::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.45) 100%)}\r\n.rfd .scr{position:absolute;inset:0;background:#7c70da;padding:9% 7%}\r\n.rfd .scr .in{width:100%;height:100%;background:#3e31a2;color:#b3abff;font-family:'VT323',monospace;font-size:4.7cqw;line-height:1.02;white-space:pre;overflow:hidden;padding:1% 1.5%}\r\n.rfd .scr.black,.rfd .scr.black .in{background:#000}\r\n.rfd .scr.nosig{background:#000;display:flex;align-items:center;justify-content:center}\r\n.rfd .scr.nosig b{font-family:'Inter',sans-serif;font-size:5.5cqw;color:#fff;background:#1d4fd8;padding:3% 6%;border-radius:4px}\r\n.rfd .scr.jail .in{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2.5%,transparent 2.5% 6%)}\r\n.rfd .scard b{font-size:14.5px;color:#fff;line-height:1.3}\r\n.rfd .scard small{font-size:12.5px;color:var(--muted);line-height:1.4}\r\n.rfd .scard .go{font-family:'Press Start 2P',monospace;font-size:8px;color:var(--yel);margin-top:auto}\r\n\r\n\/* diagnosi guidata *\/\r\n.rfd .wiz{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}\r\n.rfd .crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}\r\n.rfd .crumbs button{background:none;border:0;color:var(--cya);padding:2px 0;font-weight:600}\r\n.rfd .crumbs button:hover{text-decoration:underline}\r\n.rfd .crumbs span{color:var(--muted)}\r\n.rfd .crumbs .here{color:#fff;font-weight:700}\r\n.rfd .c64{background:var(--c64);border:16px solid var(--c64l);border-radius:14px;padding:20px 22px;box-shadow:0 0 0 3px #000,0 24px 50px rgba(0,0,0,.5);position:relative;color:var(--ink);font-family:'VT323',monospace}\r\n.rfd .c64::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px)}\r\n.rfd .c64 .ready{font-size:22px;margin-bottom:6px}\r\n.rfd .c64 .qq{font-size:clamp(22px,2.6vw,28px);line-height:1.2;color:#fff;margin-bottom:14px}\r\n.rfd .c64 .info{background:rgba(0,0,0,.22);border:2px dashed var(--ink);border-radius:8px;padding:10px 12px;margin-bottom:14px;font-size:19px;line-height:1.25}\r\n.rfd .c64 .info b{display:block;color:#fff;margin-bottom:4px;font-weight:400}\r\n.rfd .opts{display:grid;gap:8px;position:relative;z-index:1}\r\n.rfd .opt{display:flex;gap:12px;align-items:baseline;text-align:left;background:transparent;border:2px solid var(--ink);border-radius:6px;padding:8px 12px;color:#fff;font-family:'VT323',monospace!important;font-size:21px;line-height:1.15;transition:background .1s,color .1s}\r\n.rfd .opt:hover,.rfd .opt:focus-visible{background:var(--ink);color:var(--c64);outline:0}\r\n.rfd .opt .n{flex:none;color:var(--yel)}\r\n.rfd .opt:hover .n,.rfd .opt:focus-visible .n{color:var(--c64)}\r\n.rfd .cur{display:inline-block;width:.55em;height:1em;background:currentColor;vertical-align:-.12em;animation:rfd-blink 1s steps(1) infinite}\r\n@keyframes rfd-blink{50%{opacity:0}}\r\n.rfd .acts{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Press Start 2P',monospace;font-size:9px;padding:12px 14px;border-radius:8px;border:2px solid var(--line);background:rgba(255,255,255,.04);color:#fff;transition:transform .12s,filter .12s}\r\n.rfd .btn:hover{transform:translateY(-2px);filter:brightness(1.15)}\r\n.rfd .btn.y{background:var(--yel);border-color:var(--yel);color:#231a00;box-shadow:0 4px 0 #a07d00}\r\n.rfd .btn.r{background:#ff0000;border-color:#ff0000;color:#fff;box-shadow:0 4px 0 #8a0000}\r\n\r\n\/* risultato *\/\r\n.rfd .dg{display:grid;gap:14px}\r\n.rfd .dg-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;background:var(--panel);border:2px solid var(--line);border-left:8px solid var(--sev);border-radius:12px;padding:16px 18px}\r\n.rfd .dg-head h3{font-size:clamp(18px,2.2vw,23px);color:#fff;line-height:1.3}\r\n.rfd .sev{font-family:'Press Start 2P',monospace;font-size:8px;padding:6px 8px;border-radius:4px;background:var(--sev);color:#15102e;white-space:nowrap}\r\n.rfd .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}\r\n.rfd .box{background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:16px 18px}\r\n.rfd .box h4{font-family:'Press Start 2P',monospace!important;font-size:9px;font-weight:400;color:var(--acc,var(--yel));margin-bottom:12px;letter-spacing:.04em}\r\n.rfd .box ul{list-style:none;display:grid;gap:7px}\r\n.rfd .box li{font-size:14.5px;color:#dcd8f6;padding-left:18px;position:relative}\r\n.rfd .box li::before{content:\"\u25b8\";position:absolute;left:0;color:var(--acc,var(--yel))}\r\n.rfd .box li.sub{padding-left:34px;color:var(--muted)}\r\n.rfd .box li.sub::before{left:18px;content:\"\u00b7\"}\r\n.rfd .box li.head{padding-left:0;color:#fff;font-weight:600;margin-top:4px}\r\n.rfd .box li.head::before{display:none}\r\n.rfd .box li.code{font-family:'VT323',monospace;font-size:19px;color:var(--grn);padding-left:18px}\r\n.rfd .box li.code::before{content:\">\";color:var(--grn)}\r\n.rfd .box p{font-size:14.5px;color:#dcd8f6}\r\n.rfd .chips{display:flex;flex-wrap:wrap;gap:8px}\r\n.rfd .chip{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--line);background:#15113a;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;color:#fff;transition:border-color .15s}\r\n.rfd .chip:hover{border-color:var(--yel)}\r\n.rfd .chip .u{font-family:'VT323',monospace;font-size:17px;color:var(--grn)}\r\n.rfd .tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}\r\n.rfd .tool{display:flex;gap:10px;align-items:center;background:#15113a;border:2px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;color:#fff}\r\n.rfd .tool svg{width:26px;height:26px;flex:none}\r\n.rfd .links{display:flex;flex-wrap:wrap;gap:10px}\r\n\r\n\/* mappa chip *\/\r\n.rfd .tabs{display:flex;gap:8px;margin-bottom:14px}\r\n.rfd .tab{border:2px solid var(--line);background:var(--panel);border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--muted)}\r\n.rfd .tab.on{border-color:var(--yel);color:#fff;background:#2a2350}\r\n.rfd .board{background:#0b3d1f;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:18px 18px;\r\n  border:3px solid #062612;border-radius:14px;padding:18px;display:grid;gap:16px}\r\n.rfd .grp b{display:block;font-family:'Press Start 2P',monospace;font-size:8px;color:#a8f0b8;margin-bottom:8px}\r\n.rfd .grp .row{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .ic{position:relative;min-width:116px;flex:1 1 116px;max-width:200px;text-align:left;background:#151515;border:2px solid #000;border-radius:4px;padding:10px 10px 10px 14px;color:#e8e8e8;\r\n  box-shadow:0 3px 0 #000;transition:transform .15s,box-shadow .15s,outline-color .15s;outline:3px solid transparent;outline-offset:2px}\r\n.rfd .ic::before{content:\"\";position:absolute;left:5px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#444}\r\n.rfd .ic::after{content:\"\";position:absolute;left:0;right:0;top:-5px;height:4px;background:repeating-linear-gradient(90deg,#c9c9c9 0 4px,transparent 4px 9px)}\r\n.rfd .ic .u{font-family:'VT323',monospace;font-size:20px;color:var(--grn);line-height:1}\r\n.rfd .ic .p{display:block;font-size:12.5px;font-weight:700;color:#fff;margin-top:2px}\r\n.rfd .ic .r{display:block;font-size:11.5px;color:#9a9a9a}\r\n.rfd .ic:hover{transform:translateY(-2px)}\r\n.rfd .ic.hot{outline-color:var(--yel);box-shadow:0 0 0 2px var(--yel),0 0 18px rgba(255,210,63,.55);animation:rfd-hot 1.2s ease-in-out infinite}\r\n@keyframes rfd-hot{50%{box-shadow:0 0 0 2px var(--yel),0 0 6px rgba(255,210,63,.2)}}\r\n.rfd .icinfo{margin-top:12px;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14.5px;color:#dcd8f6;min-height:64px}\r\n.rfd .icinfo b{color:#fff}\r\n\r\n\/* schede (periferiche, attrezzatura, link) *\/\r\n.rfd .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}\r\n.rfd .card{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:16px;transition:border-color .15s,transform .15s}\r\n.rfd a.card:hover{border-color:var(--c64l);transform:translateY(-3px)}\r\n.rfd .card .ct{display:flex;gap:12px;align-items:center}\r\n.rfd .card svg{width:34px;height:34px;flex:none}\r\n.rfd .card h4{font-size:15px;color:#fff;line-height:1.3}\r\n.rfd .card .tag{font-size:11px;font-weight:700;color:var(--acc,var(--c64l));text-transform:uppercase;letter-spacing:.05em}\r\n.rfd .card p{font-size:13.5px;color:var(--muted)}\r\n.rfd .card .dom{font-size:11.5px;color:#6f68a8;margin-top:auto}\r\n.rfd .warn{display:flex;gap:12px;align-items:flex-start;background:#2a0c14;border:2px solid #7a1d33;border-radius:12px;padding:14px 16px;font-size:14px;color:#ffd6e0;margin-top:16px}\r\n.rfd .warn b{color:#fff}\r\n.rfd .foot{margin-top:40px;font-size:13px;color:var(--muted);text-align:center}\r\n.rfd .toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#000;border:2px solid var(--grn);color:var(--grn);font-family:'VT323',monospace;font-size:20px;padding:8px 14px;border-radius:8px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:50}\r\n.rfd .toast.show{opacity:1}\r\n\r\n@media (max-width:1024px){.rfd .screens{grid-template-columns:repeat(3,1fr)}.rfd .cards{grid-template-columns:repeat(2,1fr)}}\r\n@media (max-width:760px){\r\n  .rfd .screens{grid-template-columns:repeat(2,1fr);gap:12px}\r\n  .rfd .cols{grid-template-columns:1fr}\r\n  .rfd .c64{border-width:10px;padding:14px}\r\n  .rfd .q,.rfd .qrow span{font-size:23px}\r\n}\r\n@media (max-width:480px){\r\n  .rfd{padding:30px 0 50px}\r\n  .rfd .wrap{padding:0 14px}\r\n  .rfd .cards{grid-template-columns:1fr}\r\n  .rfd .term{border-width:7px;padding:10px 12px}\r\n  .rfd .ic{min-width:46%;max-width:none}\r\n}\r\n@media (prefers-reduced-motion:reduce){.rfd *{transition:none!important}.rfd .ic.hot{animation:none}}\r\n\/* riga del contatore visite (Post Views) prima del footer: diventa un separatore *\/\r\nbody:has(.rfd) .post-views.entry-meta{display:block;margin:0;padding:7px 16px;text-align:center;\r\n  font:12px\/1.4 'Inter',system-ui,sans-serif;color:#aaa5d8;background:#0f0c24;border-top:2px solid #342c74;border-bottom:2px solid #5ad15f}\r\n\/* barra di scelta del computer (in cima alle guide) *\/\r\n.rfd .mach{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:26px;padding:12px 14px;background:var(--bg2);border:2px solid var(--line);border-radius:14px}\r\n.rfd .mach-t{font-family:'Press Start 2P',monospace;font-size:9px;line-height:1.6;color:var(--yel);margin-right:auto}\r\n.rfd .mach-l{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .mach a{display:flex;align-items:center;gap:10px;min-width:150px;background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:7px 12px 7px 9px;transition:transform .15s,border-color .15s,box-shadow .15s}\r\n.rfd .mach a:hover,.rfd .mach a:focus-visible{transform:translateY(-2px);border-color:var(--c64l);outline:0}\r\n.rfd .mach a.on{border-color:var(--yel);background:#2a2350;box-shadow:0 0 0 2px rgba(255,210,63,.25)}\r\n.rfd .mach svg{width:74px;height:30px;flex:none;filter:drop-shadow(0 2px 0 #000)}\r\n.rfd .mach b{display:block;font-family:'Press Start 2P',monospace;font-size:10px;color:#fff;font-weight:400;line-height:1.4}\r\n.rfd .mach small{display:block;font-size:11px;color:var(--muted);line-height:1.3}\r\n.rfd .mach a.on small::after{content:\" \u00b7 sei qui\";color:var(--yel);font-weight:700}\r\n@media (max-width:760px){.rfd .mach-t{width:100%;margin:0}.rfd .mach-l{width:100%}.rfd .mach a{flex:1 1 30%;min-width:0;flex-direction:column;gap:6px;padding:8px 6px;text-align:center}.rfd .mach a.on small::after{content:\"\"}}\r\n<\/style>\r\n\r\n<div class=\"rfd\" id=\"rfd\">\r\n  <div class=\"stripe\"><\/div>\r\n  <div class=\"wrap\">\r\n    <style>.rfd .mach-t{width:100%;margin:0}.rfd .mach-l{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.rfd .mach a{min-width:0}@media (max-width:1100px){.rfd .mach-l{grid-template-columns:repeat(3,minmax(0,1fr))}}<\/style><nav class=\"mach\" aria-label=\"Scegli il computer\">\r\n      <span class=\"mach-t\">RIPARA IL TUO VIC-20, C64, C128 CON L'AI<\/span>\r\n      <div class=\"mach-l\"><a href=\"\/guasti-commodore-vic-20\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#efe6cf\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#b9ae93\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#fffaf0\"\/><rect x=\"3\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f94144\"\/><rect x=\"4\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f8961e\"\/><rect x=\"5\" y=\"5\" width=\"1\" height=\"1\" fill=\"#ffd23f\"\/><rect x=\"6\" y=\"5\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"7\" y=\"5\" width=\"1\" height=\"1\" fill=\"#3fd8ff\"\/><rect x=\"3\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"6\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"9\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"12\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"15\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"18\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"21\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"4\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"7\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"10\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"13\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"16\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"19\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"22\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"25\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"3\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"9\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"15\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"18\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"21\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"24\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"29\" y=\"7\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><rect x=\"29\" y=\"9\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><rect x=\"29\" y=\"11\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><\/svg><\/span><span><b>VIC-20<\/b><small>1980 \u00b7 VIC-I<\/small><\/span><\/a><a href=\"\/guasti-commodore-64\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"30\" height=\"1\" fill=\"#b3a387\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"8\" fill=\"#9c8c74\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#6e6250\"\/><rect x=\"3\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f94144\"\/><rect x=\"4\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f8961e\"\/><rect x=\"5\" y=\"5\" width=\"1\" height=\"1\" fill=\"#ffd23f\"\/><rect x=\"6\" y=\"5\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"7\" y=\"5\" width=\"1\" height=\"1\" fill=\"#3fd8ff\"\/><rect x=\"3\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"6\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"9\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"12\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"15\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"18\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"21\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"4\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"7\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"10\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"13\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"16\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"19\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"22\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"25\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"3\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"9\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"15\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"18\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"21\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"24\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"29\" y=\"7\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><rect x=\"29\" y=\"9\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><rect x=\"29\" y=\"11\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><\/svg><\/span><span><b>C64<\/b><small>1982 \u00b7 VIC-II \/ SID<\/small><\/span><\/a><a href=\"\/guasti-commodore-128\/\"><span><svg viewBox=\"0 0 68 28\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"64\" height=\"6\" fill=\"#8e897b\"\/><rect x=\"2\" y=\"3\" width=\"64\" height=\"1\" fill=\"#a6a193\"\/><rect x=\"55\" y=\"5\" width=\"2\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"58\" y=\"5\" width=\"2\" height=\"1\" fill=\"#f94144\"\/><rect x=\"2\" y=\"9\" width=\"64\" height=\"1\" fill=\"#6e6a5f\"\/><rect x=\"2\" y=\"10\" width=\"64\" height=\"4\" fill=\"#b8b09a\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"2\" fill=\"#f94144\"\/><rect x=\"8\" y=\"11\" width=\"2\" height=\"2\" fill=\"#f8961e\"\/><rect x=\"10\" y=\"11\" width=\"2\" height=\"2\" fill=\"#ffd23f\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"2\" fill=\"#5ad15f\"\/><rect x=\"14\" y=\"11\" width=\"2\" height=\"2\" fill=\"#3fd8ff\"\/><rect x=\"56\" y=\"11\" width=\"4\" height=\"2\" fill=\"#d8d0bb\"\/><rect x=\"2\" y=\"14\" width=\"64\" height=\"1\" fill=\"#6e6a5f\"\/><rect x=\"2\" y=\"15\" width=\"64\" height=\"11\" fill=\"#ece4c6\"\/><rect x=\"2\" y=\"26\" width=\"64\" height=\"1\" fill=\"#b9ae93\"\/><rect x=\"5\" y=\"16\" width=\"42\" height=\"9\" fill=\"#2b241b\"\/><rect x=\"6\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"9\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"12\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"18\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"21\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"24\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"27\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"30\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"33\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"36\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"39\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"42\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"7\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"10\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"13\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"16\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"19\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"22\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"25\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"28\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"31\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"34\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"37\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"40\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"6\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"9\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"12\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"18\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"21\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"24\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"27\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"30\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"33\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"36\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"39\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"42\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"23\" width=\"20\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"50\" y=\"16\" width=\"13\" height=\"9\" fill=\"#2b241b\"\/><rect x=\"51\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"17\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"19\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"21\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"23\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><\/svg><\/span><span><b>C128<\/b><small>1985 \u00b7 Z80 + 8502<\/small><\/span><\/a><a href=\"\/guasti-amiga\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#ece6d3\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#b9b19a\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#fffaf0\"\/><rect x=\"3\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"6\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"9\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"12\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"15\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"18\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"21\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"24\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"4\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"7\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"10\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"13\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"16\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"19\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"22\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"3\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"6\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"9\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"12\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"15\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"18\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"21\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"24\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"7\" y=\"11\" width=\"12\" height=\"1\" fill=\"#55524a\"\/><rect x=\"28\" y=\"6\" width=\"3\" height=\"1\" fill=\"#ff8800\"\/><rect x=\"28\" y=\"8\" width=\"1\" height=\"1\" fill=\"#0055aa\"\/><rect x=\"30\" y=\"8\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><\/svg><\/span><span><b>Amiga<\/b><small>500 \u00b7 600 \u00b7 1200<\/small><\/span><\/a><a href=\"\/guasti-sinclair\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#1a1a1a\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#3a3a3a\"\/><rect x=\"3\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"6\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"9\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"12\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"15\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"18\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"21\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"4\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"7\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"10\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"13\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"16\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"19\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"22\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"3\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"6\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"9\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"12\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"15\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"18\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"21\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"25\" y=\"10\" width=\"1\" height=\"2\" fill=\"#d70000\"\/><rect x=\"26\" y=\"9\" width=\"1\" height=\"2\" fill=\"#ffd700\"\/><rect x=\"27\" y=\"8\" width=\"1\" height=\"2\" fill=\"#00d700\"\/><rect x=\"28\" y=\"7\" width=\"1\" height=\"2\" fill=\"#00d7d7\"\/><\/svg><\/span><span><b>Sinclair<\/b><small>ZX80 \u00b7 Spectrum \u00b7 QL<\/small><\/span><\/a><a href=\"\/guasti-console\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"5\" y=\"3\" width=\"24\" height=\"9\" fill=\"#5a5a6e\"\/><rect x=\"9\" y=\"6\" width=\"5\" height=\"1\" fill=\"#eee\"\/><rect x=\"11\" y=\"4\" width=\"1\" height=\"5\" fill=\"#eee\"\/><rect x=\"21\" y=\"5\" width=\"2\" height=\"2\" fill=\"#f94144\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"2\" fill=\"#3fd8ff\"\/><\/svg><\/span><span><b>Console<\/b><small>Pong \u2192 PS2<\/small><\/span><\/a><\/div>\r\n    <\/nav>\r\n    <div class=\"top\">\r\n      <div>\r\n        <span class=\"kicker\">GUASTI COMMODORE 64<\/span>\r\n        <h2 class=\"h2\">C64 Doctor: trova il guasto<\/h2>\r\n        <p class=\"sub\">Parti da quello che vedi sullo schermo o rispondi a qualche domanda: ti diciamo quali chip controllare, che attrezzatura serve e come procedere. Funziona per C64 breadbin, C64C e SX-64.<\/p>\r\n      <\/div>\r\n      <div class=\"lcd\" id=\"rfdCount\">--- DIAGNOSI<small>SYSTEM READY.<\/small><\/div>\r\n    <\/div>\r\n    <nav class=\"nav\" aria-label=\"Sezioni della pagina\">\r\n      <a href=\"#rfd-schermi\">\ud83d\udcfa Schermate<\/a><a href=\"#rfd-diagnosi\">\ud83e\ude7a Diagnosi guidata<\/a><a href=\"#rfd-chip\">\ud83d\udd32 Mappa chip<\/a>\r\n      <a href=\"#rfd-periferiche\">\ud83d\udd79 Periferiche di test<\/a><a href=\"#rfd-attrezzi\">\ud83d\udd27 Attrezzatura<\/a><a href=\"#rfd-schemi\">\ud83d\udcd0 Schemi e documenti<\/a>\r\n    <\/nav>\r\n\r\n    <div class=\"term\">\r\n      <label for=\"rfdQ\">SEARCH \"SINTOMO\",8,1<\/label>\r\n      <div class=\"qrow\"><span aria-hidden=\"true\">&gt;<\/span>\r\n        <input class=\"q\" id=\"rfdQ\" type=\"search\" placeholder=\"es. garbage, nessun suono, 1541, bytes free, RESTORE\u2026\" autocomplete=\"off\" spellcheck=\"false\">\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"results\" id=\"rfdRes\"><\/div>\r\n\r\n    <!-- schermate tipiche -->\r\n    <section id=\"rfd-schermi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">COSA VEDI SULLO SCHERMO?<\/span>\r\n        <h3 class=\"h3\">Riconosci il guasto dalla schermata<\/h3>\r\n        <p class=\"sub\">Simulazioni dei sintomi pi\u00f9 comuni. Clicca su quella che somiglia al tuo schermo per andare alla diagnosi.<\/p>\r\n      <\/div>\r\n      <div class=\"screens\" id=\"rfdScreens\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- diagnosi guidata -->\r\n    <section id=\"rfd-diagnosi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">DIAGNOSI GUIDATA<\/span>\r\n        <h3 class=\"h3\">Rispondi alle domande<\/h3>\r\n        <p class=\"sub\">Puoi cliccare le risposte o premere i tasti 1-9. Il percorso fatto resta in alto e puoi tornare a qualsiasi passo.<\/p>\r\n      <\/div>\r\n      <div class=\"wiz\">\r\n        <div class=\"crumbs\" id=\"rfdCrumbs\"><\/div>\r\n        <div id=\"rfdStep\"><\/div>\r\n        <div class=\"acts\">\r\n          <button class=\"btn\" id=\"rfdBack\" type=\"button\">\u25c0 INDIETRO<\/button>\r\n          <button class=\"btn\" id=\"rfdRestart\" type=\"button\">\u21ba RICOMINCIA<\/button>\r\n          <button class=\"btn\" id=\"rfdShare\" type=\"button\">\ud83d\udd17 COPIA LINK<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <!-- mappa chip -->\r\n    <section id=\"rfd-chip\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">MAPPA DEI CHIP<\/span>\r\n        <h3 class=\"h3\">I chip principali del C64<\/h3>\r\n        <p class=\"sub\">Raggruppati per funzione (non \u00e8 la disposizione fisica sulla scheda). Clicca un chip per sapere cosa fa e quali sintomi d\u00e0 quando si guasta. Nella diagnosi, i chip coinvolti si illuminano.<\/p>\r\n      <\/div>\r\n      <div class=\"tabs\" role=\"tablist\"><button type=\"button\" class=\"tab on\" data-b=\"bb\">Breadbin (250407 \/ 250425)<\/button><button type=\"button\" class=\"tab\" data-b=\"cc\">C64C (250469)<\/button><\/div>\r\n      <div class=\"board\" id=\"rfdBoard\"><\/div>\r\n      <div class=\"icinfo\" id=\"rfdIcInfo\">Seleziona un chip per vedere i dettagli.<\/div>\r\n    <\/section>\r\n\r\n    <!-- periferiche di test -->\r\n    <section id=\"rfd-periferiche\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">PERIFERICHE CHE AIUTANO<\/span>\r\n        <h3 class=\"h3\">Cartucce di test e strumenti di diagnosi<\/h3>\r\n        <p class=\"sub\">Con questi strumenti la ricerca del guasto diventa molto pi\u00f9 veloce, e alla fine puoi fare un collaudo completo.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdPeriph\"><\/div>\r\n    <\/section>\r\n\r\n    <!-- attrezzatura -->\r\n    <section id=\"rfd-attrezzi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">ATTREZZATURA<\/span>\r\n        <h3 class=\"h3\">Cosa serve sul banco di lavoro<\/h3>\r\n        <p class=\"sub\">Non serve tutto subito: ogni diagnosi ti indica cosa ti occorre per quel tipo di guasto.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdTools\"><\/div>\r\n      <div class=\"warn\">\u26a0\ufe0f <span><b>Sicurezza.<\/b> Prima di accendere un C64 appena recuperato misura l'alimentatore: quelli originali, invecchiando, possono superare i 5 V e bruciare i chip. Sull'SX-64 il monitor CRT ha tensioni pericolose anche a computer spento: non aprirlo se non sai come scaricarlo.<\/span><\/div>\r\n    <\/section>\r\n\r\n    <!-- schemi -->\r\n    <section id=\"rfd-schemi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">SCHEMI E DOCUMENTAZIONE<\/span>\r\n        <h3 class=\"h3\">Per chi vuole riparare da solo<\/h3>\r\n        <p class=\"sub\">Schemi elettrici, manuali di servizio e le comunit\u00e0 dove chiedere aiuto.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdDocs\"><\/div>\r\n    <\/section>\r\n\r\n    <p class=\"foot\">Questo strumento d\u00e0 indicazioni generali basate sui guasti pi\u00f9 comuni. Per riparazioni complesse chiedi a un tecnico esperto o alla community C64.<\/p>\r\n  <\/div>\r\n  <div class=\"toast\" id=\"rfdToast\" role=\"status\"><\/div>\r\n<\/div>\r\n\r\n<script type=\"application\/json\" id=\"rfdData\">{\"start\":{\"question\":\"Qual \u00e8 il problema principale del tuo Commodore 64?\",\"options\":[{\"label\":\"Schermo nero \/ Nessun video\",\"next\":\"blackScreenIntro\"},{\"label\":\"Schermo vuoto o con errori\",\"next\":\"blueScreenIntro\"},{\"label\":\"Nessun suono\",\"next\":\"noSound\"},{\"label\":\"Tastiera non funzionante\",\"next\":\"keyboard\"},{\"label\":\"Problemi con la porta joystick\",\"next\":\"joystick\"},{\"label\":\"Il computer si accende ma si blocca\",\"next\":\"freeze\"},{\"label\":\"Problemi di caricamento da datasette\/floppy\",\"next\":\"loading\"},{\"label\":\"Colori errati o disturbati\",\"next\":\"colorIssues\"},{\"label\":\"Reset continui o instabilit\u00e0\",\"next\":\"instability\"},{\"label\":\"Memoria libera errata (non 38911 bytes)\",\"next\":\"wrongMemory\"},{\"label\":\"Problemi specifici SX-64\",\"next\":\"sx64Problems\"},{\"label\":\"Il tasto RESTORE non funziona\",\"next\":\"restoreKey\"},{\"label\":\"Le cartucce non partono\",\"next\":\"cartridgePort\"},{\"label\":\"Il C64 scalda molto o c'\u00e8 odore di bruciato\",\"next\":\"overheating\"},{\"label\":\"Ho riparato: voglio fare un collaudo completo\",\"next\":\"finalTest\"}]},\"blackScreenIntro\":{\"question\":\"Prima di tutto, verifichiamo se il problema \u00e8 l'assenza di segnale video o uno schermo nero con segnale presente. Come si comporta il tuo monitor\/TV?\",\"info\":{\"title\":\"Come riconoscere se c'\u00e8 segnale video\",\"content\":[\"\ud83d\udcfa Su monitor\/TV LCD moderni:\",\"\u2022 Se NON c'\u00e8 segnale: compare un messaggio tipo 'No Signal', 'Nessun segnale', 'Check cable'\",\"\u2022 Se c'\u00e8 segnale nero: lo schermo cambia stato (si illumina, passa da blu\/grigio a nero)\",\"\",\"\ud83d\udcfa Su monitor CRT (tubo catodico):\",\"\u2022 All'accensione si dovrebbe vedere un piccolo lampo\/flash\",\"\u2022 Il rumore del tubo che si carica indica che c'\u00e8 alimentazione\",\"\u2022 Con segnale: lo schermo mostra nero uniforme\",\"\u2022 Senza segnale: pattern di rumore o schermo con leggera luminosit\u00e0 statica\"]},\"options\":[{\"label\":\"Nessun segnale video (monitor dice 'No Signal' o simile)\",\"next\":\"noVideoSignal\"},{\"label\":\"C'\u00e8 segnale ma schermo completamente nero\",\"next\":\"blackScreenWithSignal\"}]},\"blueScreenIntro\":{\"question\":\"Descrivi meglio cosa succede sullo schermo del computer\",\"options\":[{\"label\":\"Schermo con colore (es. blu) ma niente testo o cursore\",\"next\":\"blueScreenNoText\"},{\"label\":\"Schermo normale ma memoria errata (non 38911)\",\"next\":\"wrongMemory\"},{\"label\":\"Caratteri strani o garbage sullo schermo\",\"next\":\"garbageScreen\"},{\"label\":\"Lettere sbagliate o a blocchi (la scritta \u00e8 al suo posto)\",\"next\":\"charRomFault\"},{\"label\":\"Testo leggibile ma con colori casuali\",\"next\":\"colorRamFault\"}]},\"noVideoSignal\":{\"question\":\"Il LED di alimentazione del C64 \u00e8 acceso?\",\"options\":[{\"label\":\"S\u00ec, il LED \u00e8 acceso\",\"next\":\"noSignalLedOn\"},{\"label\":\"No, il LED \u00e8 spento o fioco\",\"next\":\"noSignalLedOff\"}]},\"noSignalLedOff\":{\"question\":null,\"diagnosis\":\"Problema di alimentazione\",\"checks\":[\"Verificare il cavo di alimentazione e la presa elettrica\",\"Testare l'alimentatore con un multimetro:\",\"  \u2022 5V DC (deve essere stabile tra 4.9V e 5.1V)\",\"  \u2022 9V AC (per il TOD clock dei CIA)\",\"Controllare il fusibile interno dell'alimentatore\",\"Se usi un alimentatore aftermarket, verificare la polarit\u00e0 (centro positivo)\"],\"solutions\":[\"Sostituire l'alimentatore con uno compatibile e SICURO\",\"\u26a0\ufe0f ATTENZIONE: Alimentatori difettosi o con voltaggio errato possono danneggiare irreversibilmente il C64!\",\"Consigliato: usare alimentatori moderni con protezioni (es. Electroware, Ray Carlsen)\",\"Se il fusibile \u00e8 bruciato ripetutamente, verificare cortocircuiti sulla motherboard\"],\"severity\":\"media\"},\"noSignalLedOn\":{\"question\":null,\"diagnosis\":\"LED acceso ma nessun segnale video\",\"checks\":[\"Il VIC-II non sta generando segnale video\",\"Verificare prima le cause pi\u00f9 semplici:\",\"- se connesso con cavo RF\",\"  \u2022 Cavo video\/RF ben collegato (se si usaquesta connessione)\",\"  \u2022 Modulatore RF funzionante o da regolare\",\"  \u2022 TV sul canale\/ingresso corretto o TV incompatibile\",\"  \u2022 Provare con cavo AV\",\"- Se connesso con cavo composito\",\"  \u2022 Cavo difettoso\",\"  \u2022 TV\/monitor sul canale\/ingresso corretto\",\"Cause probabili (in ordine di frequenza):\",\"  1. Alimentazione sul VIC-II\",\"  2. VIC-II (U19)\",\"  3. Clock\/quarzo guasto\"],\"solutions\":[\"Provare con uscita video composito invece di RF\",\"Toccare (con cautela) i chip per sentire se qualcuno \u00e8 bollente\",\"Controlla le alimentazioni sul VIC-II\",\"Se hai un oscilloscopio, controlla il clock, potrebbe essere guasto il quarzo o il circuito che lo divide.\"],\"severity\":\"alta\",\"notes\":\"Le alimentazioni 5V possono essere diverse tra quella del computer e del VIC-II. Non \u00e8 raro trovare un quarzo guasto o un problema sul chip che lo divide, nelle revisioni pi\u00f9 vecchie c'\u00e8 un condensatore che pu\u00f2 perdere acido.\"},\"blackScreenWithSignal\":{\"question\":\"Hai una Dead Test Cartridge?\",\"options\":[{\"label\":\"S\u00ec, ho la Dead Test\",\"next\":\"blackScreenDeadTest\"},{\"label\":\"No, non ce l'ho\",\"next\":\"blackScreenNoDeadTest\"}]},\"blackScreenDeadTest\":{\"question\":\"Che modello di C64 hai?\",\"options\":[{\"label\":\"C64 breadbin (primi modelli, case marrone)\",\"next\":\"deadTestBreadbin\"},{\"label\":\"C64C (case bianco\/beige, pi\u00f9 recente)\",\"next\":\"deadTestC64C\"}]},\"deadTestBreadbin\":{\"question\":\"Cosa mostra la Dead Test?\",\"options\":[{\"label\":\"Schermo nero anche con Dead Test\",\"next\":\"deadTestBlack\"},{\"label\":\"Lo schermo lampeggia (conta i flash)\",\"next\":\"deadTestFlashing\"},{\"label\":\"Mostra schermata diagnostica con errori\",\"next\":\"deadTestScreenErrors\"},{\"label\":\"Test passato ma ancora problemi all'avvio normale\",\"next\":\"deadTestPassed\"}]},\"deadTestC64C\":{\"question\":\"Cosa mostra la Dead Test?\",\"options\":[{\"label\":\"Schermo nero anche con Dead Test\",\"next\":\"deadTestBlackC64C\"},{\"label\":\"Lo schermo lampeggia (conta i flash)\",\"next\":\"deadTestFlashingC64C\"},{\"label\":\"Mostra schermata diagnostica con errori\",\"next\":\"deadTestScreenErrorsC64C\"},{\"label\":\"Test passato ma ancora problemi\",\"next\":\"deadTestPassed\"}]},\"deadTestFlashing\":{\"question\":null,\"diagnosis\":\"Dead Test indica errore RAM tramite flash\",\"checks\":[\"Conta il numero di lampeggi prima della pausa. Ogni sequenza indica un chip RAM specifico:\",\"\",\"TABELLA FLASH CODE \u2192 CHIP RAM (Breadbin):\",\"1 flash \u2192 U21 (bit 0)\",\"2 flash \u2192 U24 (bit 1)\",\"3 flash \u2192 U22 (bit 2)\",\"4 flash \u2192 U9 (bit 3)\",\"5 flash \u2192 U10 (bit 4)\",\"6 flash \u2192 U23 (bit 5)\",\"7 flash \u2192 U11 (bit 6)\",\"8 flash \u2192 U12 (bit 7)\",\"\",\"Se i flash sono continui senza pause: possibile problema multiplo o sulla linea dati\"],\"solutions\":[\"Sostituire il chip RAM indicato con un 4164 compatibile\",\"Si possono usare anche 41256 configurati come 4164\",\"Dissaldare con attenzione usando treccia dissaldante o pompa\",\"IMPORTANTE: installare zoccoli per future sostituzioni\",\"Se il problema persiste dopo la sostituzione, verificare i chip U13 e U25 (74LS257 multiplexer)\"],\"severity\":\"media\",\"notes\":\"I chip RAM difettosi spesso si scaldano molto. Tocca con il dorso del dito (pi\u00f9 sensibile) per identificarli. Un chip che scotta \u00e8 quasi certamente guasto.\"},\"deadTestFlashingC64C\":{\"question\":null,\"diagnosis\":\"Dead Test indica errore RAM su C64C\",\"checks\":[\"Il C64C pu\u00f2 avere configurazioni RAM diverse:\",\"\",\"Se ha 8 chip RAM (4164): usa la tabella standard del breadbin\",\"Se ha 2 chip RAM (41464 da 64Kx4):\",\"  \u2022 Flash 1-4 \u2192 U5\",\"  \u2022 Flash 5-8 \u2192 U6\",\"\",\"Verifica quale configurazione hai guardando la motherboard\"],\"solutions\":[\"Per motherboard con 41464: sostituire i 2 chip (pi\u00f9 semplice ma chip meno comuni)\",\"Per motherboard con 4164: procedura standard come breadbin\",\"I 41464 sono pi\u00f9 rari ma la sostituzione \u00e8 pi\u00f9 veloce\"],\"severity\":\"media\"},\"deadTestScreenErrors\":{\"question\":\"Che tipo di errore mostra la schermata diagnostica?\",\"options\":[{\"label\":\"RAM chips segnati come BAD\",\"next\":\"deadTestRamError\"},{\"label\":\"COLOR RAM BAD\",\"next\":\"deadTestColorRam\"},{\"label\":\"Errore sui clock (orologi non sincronizzati)\",\"next\":\"deadTestClockError\"}]},\"deadTestScreenErrorsC64C\":{\"question\":\"Che tipo di errore mostra la schermata diagnostica?\",\"options\":[{\"label\":\"RAM chips segnati come BAD\",\"next\":\"deadTestRamErrorC64C\"},{\"label\":\"COLOR RAM BAD\",\"next\":\"deadTestColorRam\"},{\"label\":\"Errore sui clock\",\"next\":\"deadTestClockError\"}]},\"deadTestRamError\":{\"question\":null,\"diagnosis\":\"Errore RAM rilevato dalla Dead Test\",\"checks\":[\"La Dead Test mostra quali chip RAM hanno problemi\",\"Nel breadbin ci sono 8 chip RAM da 64Kbit (4164):\",\"  \u2022 U9, U10, U11, U12 (banco superiore)\",\"  \u2022 U21, U22, U23, U24 (banco inferiore)\",\"Usa un IC tester per confermare quale chip \u00e8 difettoso\",\"Controlla anche i multiplexer U13 e U25 (74LS257)\"],\"solutions\":[\"Sostituire il chip RAM difettoso con un 4164 compatibile\",\"Verifica che il nuovo chip sia orientato correttamente (tacca verso sinistra)\",\"Dopo la sostituzione, esegui di nuovo la Dead Test per confermare\",\"Se pi\u00f9 chip risultano BAD, potrebbe essere un problema di alimentazione\"],\"severity\":\"media\",\"chipLocations\":{\"title\":\"Posizione chip RAM su motherboard 250407\/250425:\",\"positions\":[\"U9-U12: fila superiore vicino al VIC-II\",\"U21-U24: fila inferiore vicino al bordo\",\"U13, U25: multiplexer vicino ai chip RAM\"]}},\"deadTestRamErrorC64C\":{\"question\":null,\"diagnosis\":\"Errore RAM su C64C\",\"checks\":[\"Il C64C pu\u00f2 usare configurazioni diverse:\",\"  \u2022 Motherboard 250469 (short board): 2x 41464\",\"  \u2022 Alcune versioni: 8x 4164 come breadbin\",\"Verifica il tipo guardando i chip presenti\"],\"solutions\":[\"Per 41464: chip meno comuni, cerca su eBay o ricambisti specializzati\",\"Per 4164: procedura identica al breadbin\",\"Alcuni C64C hanno RAM DRAM integrata che non \u00e8 sostituibile facilmente\"],\"severity\":\"media\"},\"deadTestColorRam\":{\"question\":null,\"diagnosis\":\"Errore Color RAM\",\"checks\":[\"La Color RAM usa un chip diverso dalla RAM principale\",\"Nel breadbin \u00e8 un singolo chip 2114 (U6), 1K x 4 bit\",\"L'errore pu\u00f2 anche essere causato da problemi sul bus dati\/indirizzi o dal PLA\"],\"solutions\":[\"Sostituire il 2114 in U6 (meglio montando uno zoccolo)\",\"Se il problema persiste, controllare il PLA (U17) e le linee del bus\",\"La Color RAM \u00e8 economica e facile da trovare\"],\"severity\":\"bassa\"},\"deadTestClockError\":{\"question\":null,\"diagnosis\":\"Errore sui clock della Dead Test\",\"checks\":[\"I due clock TOD in basso devono essere sincronizzati\",\"Se non lo sono, problema sui CIA o sull'alimentazione 9V AC\",\"Verificare che l'alimentatore fornisca 9V AC\"],\"solutions\":[\"Controllare l'alimentazione 9V AC\",\"Se manca il 9V AC, i clock non funzionano correttamente\",\"Verificare\/sostituire i CIA (U1 e U2)\"],\"severity\":\"bassa\"},\"deadTestBlack\":{\"question\":null,\"diagnosis\":\"Problema critico - CPU, PLA o VIC-II\",\"checks\":[\"Se la Dead Test non mostra nulla, il problema \u00e8 grave\",\"Verificare che la cartridge sia ben inserita e i contatti puliti\",\"Componenti da controllare in ordine:\",\"  1. PLA (U17) - causa pi\u00f9 comune\",\"  2. CPU 6510 (U7)\",\"  3. VIC-II (U19)\",\"  4. Clock e reset circuit\"],\"solutions\":[\"Iniziare SEMPRE dal PLA - \u00e8 il componente pi\u00f9 fragile del C64\",\"Sostituire con PLA originale o replica moderna:\",\"  \u2022 PLAnkton\",\"  \u2022 CPLD PLA\",\"  \u2022 Super PLA\",\"Se il PLA \u00e8 OK, provare la CPU 6510\",\"Il VIC-II \u00e8 costoso - testarlo solo se gli altri sono OK\"],\"severity\":\"alta\",\"chipLocations\":{\"title\":\"Posizione chip critici su breadbin:\",\"positions\":[\"U17 (PLA): chip grande a 28 pin, centro-sinistra della board\",\"U7 (CPU 6510): chip a 40 pin vicino al SID\",\"U19 (VIC-II): chip grande a 40 pin con dissipatore\"]}},\"deadTestBlackC64C\":{\"question\":null,\"diagnosis\":\"Problema critico su C64C - SuperPLA o CPU\",\"checks\":[\"Nel C64C alcuni componenti sono diversi:\",\"  \u2022 CPU 8500 (versione HMOS della 6510)\",\"  \u2022 Alcune board hanno PLA integrato (SuperPLA)\",\"  \u2022 VIC-II pu\u00f2 essere 8562 (NTSC) o 8565 (PAL)\"],\"solutions\":[\"Il C64C ha motherboard pi\u00f9 compatta con meno chip separati\",\"Se il PLA \u00e8 integrato, la riparazione \u00e8 pi\u00f9 complessa\",\"Esistono adapter per usare PLA standard su alcuni C64C\",\"La CPU 8500 \u00e8 pi\u00f9 rara della 6510\"],\"severity\":\"alta\",\"notes\":\"La short board 250469 del C64C \u00e8 pi\u00f9 difficile da riparare perch\u00e9 usa chip custom integrati.\"},\"deadTestPassed\":{\"question\":null,\"diagnosis\":\"Dead Test OK ma problemi persistenti\",\"checks\":[\"Se la Dead Test passa ma il boot normale fallisce:\",\"  \u2022 Problema nelle ROM (BASIC, KERNAL, CHARACTER)\",\"  \u2022 Problema nel circuito video\/RF\",\"Testare con una cartuccia gioco - se funziona, problema ROM BASIC\",\"Verificare il cavo video e il collegamento al TV\"],\"solutions\":[\"Provare con diversi giochi su cartuccia\",\"Se le cartucce funzionano: sostituire ROM BASIC (U3)\",\"Se niente funziona: verificare ROM KERNAL (U4)\",\"Installare modifica video composito o S-Video per migliore qualit\u00e0\"],\"severity\":\"bassa\"},\"blueScreenNoText\":{\"question\":\"Descrivi meglio cosa vedi sullo schermo:\",\"options\":[{\"label\":\"Schermo blu con bordo azzurro, nessun carattere\",\"next\":\"blueScreenNoChars\"},{\"label\":\"Schermo con colori normali ma caratteri strani\/garbage\",\"next\":\"garbageChars\"},{\"label\":\"Schermo normale ma cursore assente\",\"next\":\"noCursor\"},{\"label\":\"Colori del bordo\/schermo invertiti o sbagliati\",\"next\":\"wrongColors\"}]},\"blueScreenNoChars\":{\"question\":null,\"diagnosis\":\"Schermo blu senza caratteri - Probabile ROM BASIC o CHARACTER\",\"checks\":[\"Questo \u00e8 il sintomo classico di una ROM BASIC difettosa\",\"Pu\u00f2 anche essere causato da:\",\"  \u2022 CHARACTER ROM (U5) - se non vedi proprio nessun carattere\",\"  \u2022 PLA parzialmente guasto\",\"  \u2022 Problema di RAM\",\"\",\"TEST: Inserisci una cartuccia gioco\",\"  \u2022 Se funziona \u2192 ROM BASIC guasta\",\"  \u2022 Se non funziona \u2192 problema pi\u00f9 grave\"],\"solutions\":[\"Sostituire la ROM BASIC (U3) - part number 901226-01\",\"Se i caratteri sono assenti, provare anche la CHARACTER ROM (U5) - 901225-01\",\"Le ROM possono essere sostituite con EPROM programmate (27C64)\",\"Esistono ROM combo che includono tutte le ROM + JiffyDOS\"],\"severity\":\"bassa\",\"chipLocations\":{\"title\":\"Posizione ROM:\",\"positions\":[\"U3 (BASIC ROM): 24 pin, vicino al CIA 1\",\"U4 (KERNAL ROM): 24 pin, vicino al BASIC\",\"U5 (CHARACTER ROM): 24 pin, fila inferiore\"]}},\"garbageChars\":{\"question\":null,\"diagnosis\":\"Caratteri corrotti o garbage sullo schermo\",\"checks\":[\"Possibili cause:\",\"  \u2022 CHARACTER ROM (U5) difettosa\",\"  \u2022 RAM difettosa (problema su specifici bit)\",\"  \u2022 PLA parzialmente guasto\",\"  \u2022 VIC-II con problemi parziali\",\"\",\"Se i colori sono corretti ma i caratteri no \u2192 CHARACTER ROM\",\"Se anche i colori sono sbagliati \u2192 VIC-II o Color RAM\"],\"solutions\":[\"Sostituire la CHARACTER ROM (U5)\",\"Eseguire Dead Test per verificare la RAM\",\"Se il problema \u00e8 intermittente, pu\u00f2 essere una saldatura fredda\"],\"severity\":\"media\"},\"noCursor\":{\"question\":null,\"diagnosis\":\"Schermo normale ma cursore assente\",\"checks\":[\"Questo indica un problema con il CIA 1 (U1)\",\"Il CIA 1 gestisce:\",\"  \u2022 Tastiera\",\"  \u2022 Joystick porta 1\",\"  \u2022 Cursore lampeggiante\",\"Pu\u00f2 anche essere causato da:\",\"  \u2022 RAM (U21) parzialmente difettosa\",\"  \u2022 CHARACTER ROM\"],\"solutions\":[\"Provare a scrivere al buio - se funziona il cursore \u00e8 solo invisibile\",\"Sostituire il CIA 1 (U1) - MOS 6526\",\"Verificare la CHARACTER ROM\",\"Controllare saldature del CIA\"],\"severity\":\"media\"},\"wrongColors\":{\"question\":null,\"diagnosis\":\"Colori errati o invertiti\",\"checks\":[\"Problema nella Color RAM (2114) o nel VIC-II\",\"Pu\u00f2 anche essere il collegamento video\"],\"solutions\":[\"Verificare il cavo video\",\"Sostituire i chip Color RAM (U5, U6 - 2114)\",\"Controllare il VIC-II\"],\"severity\":\"media\"},\"garbageScreen\":{\"question\":null,\"diagnosis\":\"Schermo con garbage o caratteri casuali\",\"checks\":[\"Questo pu\u00f2 indicare:\",\"  \u2022 RAM difettosa\",\"  \u2022 PLA con guasto parziale\",\"  \u2022 VIC-II difettoso\",\"  \u2022 Saldature fredde\",\"\",\"Se il problema \u00e8 stabile (sempre uguali): probabilmente RAM\",\"Se cambia ogni volta: PLA o VIC-II\"],\"solutions\":[\"Eseguire Dead Test per identificare RAM difettosa\",\"Controllare\/sostituire il PLA\",\"Verificare saldature con reflow\",\"Il VIC-II \u00e8 l'ultima cosa da sostituire (costoso)\"],\"severity\":\"media\"},\"wrongMemory\":{\"question\":\"Quanta memoria viene mostrata all'avvio?\",\"options\":[{\"label\":\"Meno di 38911 bytes (es: 3 bytes, 30719 bytes)\",\"next\":\"lessMemory\"},{\"label\":\"Mostra 'OUT OF MEMORY ERROR IN 0'\",\"next\":\"outOfMemory\"},{\"label\":\"Il numero cambia ad ogni avvio\",\"next\":\"changingMemory\"}]},\"lessMemory\":{\"question\":null,\"diagnosis\":\"Memoria ridotta - RAM parzialmente difettosa\",\"checks\":[\"Il C64 verifica la RAM all'avvio partendo dall'indirizzo 2049 ($0801)\",\"La memoria libera mostrata indica dove ha trovato il primo errore:\",\"  \u2022 '3 BASIC BYTES FREE' = errore all'indirizzo 2052\",\"  \u2022 '30719 BYTES FREE' = errore nel banco superiore\",\"\",\"Questo indica RAM difettosa ma funzionante parzialmente\"],\"solutions\":[\"Eseguire Dead Test per identificare il chip specifico\",\"Se non hai Dead Test, prova questo in BASIC:\",\"  POKE indirizzo,valore : PRINT PEEK(indirizzo)\",\"  dove indirizzo = 2049 + bytes mostrati\",\"Sostituire il chip RAM difettoso\",\"Un alimentatore instabile pu\u00f2 causare questo - verifica i 5V\"],\"severity\":\"media\",\"notes\":\"Alcune cartucce fastload (Final Cartridge, Action Replay) saltano il test RAM e mostrano sempre 38911 anche se la RAM \u00e8 difettosa.\"},\"outOfMemory\":{\"question\":null,\"diagnosis\":\"OUT OF MEMORY ERROR IN 0\",\"checks\":[\"Questo errore indica che la RAM \u00e8 gravemente compromessa\",\"Il BASIC non riesce a trovare abbastanza memoria per partire\",\"Spesso causato da:\",\"  \u2022 Pi\u00f9 chip RAM difettosi\",\"  \u2022 Multiplexer (U13, U25) guasti\",\"  \u2022 Problema di alimentazione\"],\"solutions\":[\"Verifica prima l'alimentazione (5V stabili)\",\"Esegui Dead Test\",\"Controlla se qualche chip si scalda eccessivamente\",\"Potrebbe essere necessario sostituire pi\u00f9 chip RAM\"],\"severity\":\"alta\"},\"changingMemory\":{\"question\":null,\"diagnosis\":\"Memoria variabile ad ogni avvio\",\"checks\":[\"RAM instabile o con contatti intermittenti\",\"Spesso causato da:\",\"  \u2022 Saldature fredde\",\"  \u2022 Zoccoli ossidati\",\"  \u2022 Alimentazione instabile\",\"  \u2022 Chip che si guasta con il calore\"],\"solutions\":[\"Fare reflow delle saldature sui chip RAM\",\"Pulire i contatti con alcool isopropilico\",\"Verificare l'alimentatore\",\"Se il problema appare dopo il riscaldamento, usare spray refrigerante per identificare il chip\"],\"severity\":\"media\"},\"blackScreenNoDeadTest\":{\"question\":null,\"diagnosis\":\"Diagnosi senza Dead Test\",\"checks\":[\"\u26a0\ufe0f CONSIGLIATO: Procurati una Dead Test Cartridge - \u00e8 lo strumento pi\u00f9 utile!\",\"\",\"Senza Dead Test puoi comunque fare alcune verifiche:\",\"  \u2022 Verifica che il problema non sia il cavo video o il TV\",\"  \u2022 Prova con una cartuccia gioco\",\"  \u2022 Ascolta se il C64 emette suoni all'accensione (click del relay)\",\"  \u2022 Tocca i chip per sentire se qualcuno si scalda eccessivamente\",\"\",\"Cause pi\u00f9 comuni di schermo nero (in ordine):\",\"  1. PLA (U17)\",\"  2. RAM\",\"  3. ROM\",\"  4. CPU\"],\"solutions\":[\"Acquista o costruisci una Dead Test (esistono versioni DIY)\",\"Se devi provare alla cieca, inizia dal PLA\",\"Un chip bollente al tocco \u00e8 quasi certamente guasto\",\"Considera di inviare la scheda a un riparatore esperto\"],\"severity\":\"media\",\"notes\":\"Esistono Dead Test economiche su eBay\/AliExpress. \u00c8 un investimento che ripaga immediatamente per chi ripara C64.\"},\"noSound\":{\"question\":\"Descrivi meglio il problema audio:\",\"options\":[{\"label\":\"Nessun suono da nessuna fonte\",\"next\":\"noSoundTotal\"},{\"label\":\"Suono distorto o gracchiante\",\"next\":\"soundDistorted\"},{\"label\":\"Volume molto basso\",\"next\":\"soundLow\"},{\"label\":\"Solo alcune voci\/frequenze non funzionano\",\"next\":\"soundPartial\"},{\"label\":\"Ronzio o fruscio continuo nell'audio\",\"next\":\"soundHum\"}]},\"noSoundTotal\":{\"question\":null,\"diagnosis\":\"Assenza totale di audio\",\"checks\":[\"Verificare il cavo audio e il collegamento al TV\/monitor\",\"Il SID genera l'audio - testarlo con un programma BASIC:\",\"  POKE 54296,15 (volume massimo)\",\"  POKE 54277,9 (ADSR)\",\"  POKE 54273,28 (frequenza alta)\",\"  POKE 54276,33 (forma d'onda)\",\"Controllare i condensatori del circuito audio\"],\"solutions\":[\"\u26a0\ufe0f IMPORTANTE: 6581 e 8580 NON sono intercambiabili!\",\"  \u2022 6581: usa 12V (breadbin)\",\"  \u2022 8580: usa 9V (C64C)\",\"Usare il SID sbagliato lo distrugge immediatamente!\",\"\",\"Alternative moderne al SID:\",\"  \u2022 SwinSID - economico ma suono non perfetto\",\"  \u2022 ARMSID - ottima emulazione\",\"  \u2022 FPGASID - emulazione perfetta\",\"\",\"Controllare e sostituire i condensatori del filtro audio\"],\"severity\":\"media\",\"chipLocations\":{\"title\":\"Posizione SID e componenti audio:\",\"positions\":[\"U18 (SID): chip a 28 pin con tacca, vicino alla porta joystick\",\"Condensatori filtro: vicino al SID (valori specifici per 6581\/8580)\"]}},\"soundDistorted\":{\"question\":null,\"diagnosis\":\"Audio distorto\",\"checks\":[\"I condensatori del filtro audio sono spesso la causa\",\"Con il tempo si degradano e perdono capacit\u00e0\",\"Verificare anche il circuito di amplificazione\"],\"solutions\":[\"Sostituire i condensatori elettrolitici del circuito audio\",\"Fare un 'recap' completo della scheda madre\",\"I valori dei condensatori dipendono dal tipo di SID installato\"],\"severity\":\"bassa\"},\"soundLow\":{\"question\":null,\"diagnosis\":\"Volume audio molto basso\",\"checks\":[\"Condensatori del filtro degradati\",\"Il trimmer del volume potrebbe essere sporco\",\"Il SID stesso potrebbe essere debole\"],\"solutions\":[\"Sostituire i condensatori del filtro SID\",\"Pulire il trimmer volume con spray contatti\",\"Una modifica audio diretta pu\u00f2 migliorare molto il volume\"],\"severity\":\"bassa\"},\"soundPartial\":{\"question\":null,\"diagnosis\":\"Alcune voci del SID non funzionano\",\"checks\":[\"Il SID ha 3 voci (oscillatori) indipendenti\",\"Se una voce non funziona, il SID \u00e8 parzialmente danneggiato\",\"Testare ogni voce con un programma di test\"],\"solutions\":[\"Purtroppo il SID non \u00e8 riparabile - va sostituito\",\"Considera alternative moderne: SwinSID, ARMSID\",\"Conserva il SID guasto - alcune voci potrebbero ancora funzionare\",\"I SID funzionanti sono preziosi e sempre pi\u00f9 rari!\"],\"severity\":\"media\"},\"keyboard\":{\"question\":\"Che tipo di problema hai con la tastiera?\",\"options\":[{\"label\":\"Nessun tasto funziona\",\"next\":\"keyboardNone\"},{\"label\":\"Solo alcuni tasti non funzionano\",\"next\":\"keyboardSome\"},{\"label\":\"Tasti che si ripetono o bloccano\",\"next\":\"keyboardRepeat\"},{\"label\":\"Caratteri sbagliati quando premo i tasti\",\"next\":\"keyboardWrong\"}]},\"keyboardNone\":{\"question\":null,\"diagnosis\":\"Tastiera completamente non funzionante\",\"checks\":[\"Verificare il connettore della tastiera sulla motherboard\",\"Controllare il chip CIA 1 (U1) - gestisce la tastiera\",\"Verificare il cavo piatto della tastiera\"],\"solutions\":[\"Pulire il connettore con alcool isopropilico\",\"Controllare continuit\u00e0 del cavo con multimetro\",\"Sostituire il CIA 1 (MOS 6526)\",\"Pulire e controllare i contatti\/piste del pcb della tastiera\"],\"severity\":\"media\"},\"keyboardSome\":{\"question\":null,\"diagnosis\":\"Alcuni tasti non funzionanti\",\"checks\":[\"I tasti sono organizzati in matrice 8x8 (righe e colonne)\",\"Se un'intera riga\/colonna non funziona: problema CIA o connettore\",\"Se tasti singoli casuali: problema meccanico\"],\"solutions\":[\"Aprire e pulire la tastiera con alcool isopropilico\",\"Pulire i plunger e i contatti sotto i tasti\",\"Controllare le tracce sulla PCB della tastiera\",\"Riparare tracce interrotte con penna conduttiva o stagno\"],\"severity\":\"bassa\"},\"keyboardRepeat\":{\"question\":null,\"diagnosis\":\"Tasti che si ripetono o rimangono premuti\",\"checks\":[\"Sporcizia nei contatti dei tasti\",\"Tasti usurati meccanicamente\",\"Problemi con il debounce\"],\"solutions\":[\"Pulizia approfondita con alcool isopropilico\",\"Sostituire i plunger dei tasti problematici\",\"Lubrificare leggermente con grasso dielettrico\"],\"severity\":\"bassa\"},\"keyboardWrong\":{\"question\":null,\"diagnosis\":\"Caratteri errati dalla tastiera\",\"checks\":[\"Possibile problema parziale del CIA 1\",\"Linee della matrice cortocircuitate\",\"SHIFT LOCK accidentalmente attivo?\"],\"solutions\":[\"Verificare che SHIFT LOCK non sia attivo\",\"Controllare il cavo per cortocircuiti\",\"Testare\/sostituire il CIA 1\"],\"severity\":\"bassa\"},\"joystick\":{\"question\":\"Quale porta joystick ha problemi?\",\"options\":[{\"label\":\"Porta 1 (controllo personaggio nei giochi)\",\"next\":\"joystickPort1\"},{\"label\":\"Porta 2 (principale per i giochi)\",\"next\":\"joystickPort2\"},{\"label\":\"Entrambe le porte\",\"next\":\"joystickBoth\"},{\"label\":\"Il joystick si muove da solo o il fuoco resta premuto\",\"next\":\"joystickGhost\"},{\"label\":\"Le paddle non funzionano o tremano\",\"next\":\"paddles\"}]},\"joystickPort1\":{\"question\":null,\"diagnosis\":\"Problema porta joystick 1\",\"checks\":[\"La porta 1 \u00e8 gestita dal CIA 1 (U1)\",\"Condivide linee con la tastiera\",\"Verificare il connettore DB9\"],\"solutions\":[\"Pulire il connettore\",\"Verificare le saldature del connettore\",\"Se il problema persiste, il CIA 1 potrebbe essere danneggiato\",\"Attenzione: scariche elettrostatiche possono danneggiare i CIA!\"],\"severity\":\"bassa\"},\"joystickPort2\":{\"question\":null,\"diagnosis\":\"Problema porta joystick 2\",\"checks\":[\"Anche la porta 2 \u00e8 gestita dal CIA 1 (U1), come la porta 1 e la tastiera\",\"\u00c8 la porta principale per i giochi single player\",\"Verificare il connettore DB9 e le sue saldature\"],\"solutions\":[\"Pulire il connettore DB9\",\"Controllare le saldature del connettore\",\"Provare un altro joystick per escludere il controller\",\"Se il problema persiste, sostituire il CIA 1 (MOS 6526, U1)\"],\"severity\":\"bassa\"},\"joystickBoth\":{\"question\":null,\"diagnosis\":\"Entrambe le porte joystick non funzionanti\",\"checks\":[\"Raro che entrambi i CIA siano guasti\",\"Verificare alimentazione ai CIA\",\"Controllare linee comuni\"],\"solutions\":[\"Controllare prima i connettori fisici\",\"Verificare le linee di alimentazione 5V\",\"Potrebbe essere un problema di motherboard\"],\"severity\":\"media\"},\"freeze\":{\"question\":\"Quando si blocca il computer?\",\"options\":[{\"label\":\"Subito all'accensione\",\"next\":\"freezeBoot\"},{\"label\":\"Dopo alcuni minuti di utilizzo\",\"next\":\"freezeHeat\"},{\"label\":\"Durante il caricamento di programmi\",\"next\":\"freezeLoad\"},{\"label\":\"In modo casuale\",\"next\":\"freezeRandom\"}]},\"freezeBoot\":{\"question\":null,\"diagnosis\":\"Freeze all'avvio\",\"checks\":[\"Simile a schermo nero - problema hardware critico\",\"Verificare RAM, ROM, PLA, CPU\",\"Usare Dead Test se disponibile\"],\"solutions\":[\"Seguire la procedura di diagnosi per schermo nero\",\"Iniziare dal PLA che \u00e8 il pi\u00f9 fragile\"],\"severity\":\"alta\"},\"freezeHeat\":{\"question\":null,\"diagnosis\":\"Freeze dopo riscaldamento\",\"checks\":[\"Tipico di chip con giunzioni fredde o guasti termici\",\"Toccare i chip per sentire quale si scalda troppo\",\"Usare spray refrigerante per isolare il chip problematico\"],\"solutions\":[\"METODO DELLO SPRAY: raffredda un chip alla volta mentre il problema \u00e8 presente\",\"Se raffreddando un chip il sistema riprende a funzionare, hai trovato il colpevole\",\"Chip troppo caldo: probabilmente da sostituire\",\"Provare prima a rifare le saldature (reflow)\"],\"severity\":\"media\"},\"freezeLoad\":{\"question\":null,\"diagnosis\":\"Freeze durante il caricamento\",\"checks\":[\"Problema di RAM o ROM pi\u00f9 probabile\",\"Verificare il dispositivo di caricamento\",\"Controllare alimentazione durante il carico\"],\"solutions\":[\"Testare con diversi programmi\/supporti\",\"Verificare la RAM con Dead Test\",\"Controllare condensatori di alimentazione\"],\"severity\":\"media\"},\"freezeRandom\":{\"question\":null,\"diagnosis\":\"Freeze casuali\",\"checks\":[\"Spesso causato da saldature fredde\",\"Condensatori di alimentazione degradati\",\"Chip con contatti intermittenti\"],\"solutions\":[\"Fare un 'reflow' delle saldature sui chip principali\",\"Sostituire tutti i condensatori elettrolitici (recap)\",\"Verificare i connettori della cartridge e alimentazione\"],\"severity\":\"media\"},\"loading\":{\"question\":\"Da quale dispositivo hai problemi di caricamento?\",\"options\":[{\"label\":\"Datasette (registratore)\",\"next\":\"loadingDatasette\"},{\"label\":\"Floppy drive 1541\",\"next\":\"loadingFloppy\"},{\"label\":\"Entrambi\",\"next\":\"loadingBoth\"},{\"label\":\"Datasette: il motore non parte o resta sempre acceso\",\"next\":\"datasetteMotor\"}]},\"loadingDatasette\":{\"question\":null,\"diagnosis\":\"Problemi con il datasette\",\"checks\":[\"Pulire la testina del registratore con alcool\",\"Verificare l'allineamento della testina (azimuth)\",\"Controllare la cinghia di trasmissione\",\"Testare il cavo del datasette\"],\"solutions\":[\"Pulire la testina con cotton fioc e alcool isopropilico\",\"Sostituire la cinghia se allentata o crepata\",\"Regolare l'azimuth della testina con un cacciavite\",\"Usare nastri nuovi per escludere problemi del supporto\"],\"severity\":\"bassa\"},\"loadingFloppy\":{\"question\":\"Che tipo di problema si risconta?\",\"options\":[{\"label\":\"C64 bloccato su searching for ...\",\"next\":\"searcFor\"},{\"label\":\"C64 mostra device not present\",\"next\":\"devNopresent\"},{\"label\":\"Il 1541 rimane in rotazione continua\",\"next\":\"rotationContinue\"},{\"label\":\"Il 1541 si resetta correttamente ma ottengo file not found\",\"next\":\"fileNotfound\"}]},\"searcFor\":{\"question\":null,\"diagnosis\":\"1541 searching for ...\",\"checks\":[\"Il 1541 \u00e8 praticamente un computer autonomo con propri chip\",\"Il problema pu\u00f2 derivare dal C64, controllare con altro drive o sd2iec\",\"Controllare il VIA 6522 (UC3)\",\"Controllare UE6 74LS193 (7417)\",\"Se dopo compare file not found, controlla UD1 7406 (M53206P)\",\"UD4 9602 (74123)\",\"UE6 74LS193 (7417 or 7407)\"],\"solutions\":[\"Se con altro drive non funziona, controllare sul C64 la parte del bus dal CIA U2,i diodi di protezione e il 7406\",\"Se il drive si avvia normalemnte ma su load il drive non si muove, led rosso spento: controla UC3 (VIA)\",\"Se il drive si avvia normalemnte ma su load il drive gira, led rosso spento, lo stepper non si muove: controla UD4,UE6\"],\"severity\":\"media\"},\"devNopresent\":{\"question\":null,\"diagnosis\":\"1541 device not present\",\"checks\":[\"Il 1541 non \u00e8 l'unit\u00e0 selezionata corretta? provare con ,9 o anche ,10 o ,11\",\"Controllare il cavo seriale\",\"Controllare il UB1 7406 (M53206P)\",\"Controllare UC3 6522 VIA\"],\"solutions\":[\"Verificare che il cavo sia buono e che il drive abbia l'indirizzo corretto\",\"Il drive si resetta correttamente ma non si resetta quando si accende il C64, controlla UB1 7406 (M53206P)\",\"Se durente il caricamento il drive non si muove, led rosso rimane spento, controlla UC3 6522 (VIA)\"],\"severity\":\"media\"},\"rotationContinue\":{\"question\":null,\"diagnosis\":\"1541 rotazione continua\",\"checks\":[\"La rotazione continua \u00e8 sitomo di una non inizializzazione, pu\u00f2 essere causata da diverse cose\",\"Controllare se il drive \u00e8 zoccolato che i pin non siano ossidati o non facciano contatto\",\"Controllare se il drive gira di continuo solo se collegato al computer, a volte pu\u00f2 essere se il computer \u00e8 spento o se il transistor del motore del drive non \u00e8 isolato dalla massa\"],\"solutions\":[\"Controlla i seguenti chip: UA1 74LS14, UB4 ROM, UC2 6522, UC4 6502, UC5 74LS04, UC6 74LS00, UD3 74LS86, UD5 74LS197 (74177)\",\"Se ci sono zoccoli di vecchio tipo, questi possono creare falsi contatti e vanno sostituiti specie se non fanno forza\"],\"severity\":\"media\"},\"fileNotfound\":{\"question\":null,\"diagnosis\":\"1541 file not found\",\"checks\":[\"Verificare il dischetto che sia leggibile\",\"Pulire la testina del drive\",\"Controllare l'allineamento della testina\",\"Controllare l'elettronica\"],\"solutions\":[\"Pulire la testina con dischetto di pulizia o cotton fioc\",\"Controllare l'allineamento richiede cartuccia diagnostica (es: 1541 Diagnostic)\",\"Se con l'allineamento si ricevono tutti valori 0, potrebbe essere la testina guasta\",\"Controllare con un tester in modalit\u00e0 Ohm la resistenza tra il connettore della testina, filo bianco e gli altri. Deve essere sotto i 17 Ohm, se aperto o nell'ordine dei kohm la testina \u00e8 guasta\",\"Controllare i seguenti chip: UD1 7406 (M53206P), UD2 7417, UE4 LM311, UF3-UF4 NE592N, UC1 325572-01 \"],\"severity\":\"media\"},\"loadingBoth\":{\"question\":null,\"diagnosis\":\"Problemi con tutti i dispositivi di caricamento\",\"checks\":[\"Se entrambi falliscono, il problema \u00e8 sul C64\",\"Verificare la porta seriale IEC sul C64\",\"Controllare il CIA 2 (U2) che gestisce le porte seriali\"],\"solutions\":[\"Verificare la porta cassette sul C64\",\"Controllare\/sostituire CIA 2\",\"Verificare le linee seriali sulla motherboard\"],\"severity\":\"media\"},\"colorIssues\":{\"question\":\"Che tipo di problema di colore hai?\",\"options\":[{\"label\":\"Colori completamente sbagliati\",\"next\":\"colorWrong\"},{\"label\":\"Colori sbiaditi o pallidi\",\"next\":\"colorFaded\"},{\"label\":\"Strisce o interferenze\",\"next\":\"colorInterference\"},{\"label\":\"Immagine in bianco e nero\",\"next\":\"colorBW\"},{\"label\":\"Ogni carattere ha un colore diverso o casuale\",\"next\":\"colorRamFault\"}]},\"colorWrong\":{\"question\":null,\"diagnosis\":\"Colori errati\",\"checks\":[\"Probabile problema della Color RAM o del VIC-II\",\"Verificare la Color RAM (2114 in U6)\",\"Controllare il collegamento video\"],\"solutions\":[\"Testare la Color RAM con Dead Test\",\"Sostituire i chip 2114\",\"Se problema persiste, potrebbe essere il VIC-II\"],\"severity\":\"media\"},\"colorFaded\":{\"question\":null,\"diagnosis\":\"Colori sbiaditi\",\"checks\":[\"Tipico di condensatori degradati\",\"Verificare il circuito video\",\"Controllare il cavo video\"],\"solutions\":[\"Sostituire condensatori del circuito video\",\"Installare modifica video composito\/S-Video\",\"Bypassare il modulatore RF\"],\"severity\":\"bassa\"},\"colorInterference\":{\"question\":null,\"diagnosis\":\"Interferenze e strisce\",\"checks\":[\"Spesso causato dal modulatore RF\",\"Condensatori di filtro degradati\",\"Il VIC-II 6567R56A \u00e8 noto per ghosting\"],\"solutions\":[\"Usare uscita video composito invece di RF\",\"Installare modifica S-Video per qualit\u00e0 ottimale\",\"Sostituire condensatori\",\"Considerare di upgradare il VIC-II a una revisione migliore\"],\"severity\":\"bassa\"},\"colorBW\":{\"question\":null,\"diagnosis\":\"Immagine solo in bianco e nero\",\"checks\":[\"Il segnale di crominanza non arriva al TV\",\"Problema del circuito colore\",\"Incompatibilit\u00e0 PAL\/NTSC\"],\"solutions\":[\"Verificare che il TV supporti il sistema del C64 (PAL in Italia)\",\"Controllare il circuito di crominanza\",\"Installare modifica video composito o S-Video\"],\"severity\":\"bassa\"},\"instability\":{\"question\":null,\"diagnosis\":\"Reset continui e instabilit\u00e0\",\"checks\":[\"Problema di alimentazione molto probabile\",\"Condensatori di filtro degradati\",\"Chip con saldature fredde\"],\"solutions\":[\"\u26a0\ufe0f IMPORTANTE: Gli alimentatori originali Commodore sono PERICOLOSI!\",\"Possono fornire sovratensione e distruggere il C64\",\"\",\"Sostituire l'alimentatore con uno moderno e sicuro:\",\"  \u2022 Ray Carlsen power supply\",\"  \u2022 Electroware\",\"  \u2022 Altri alimentatori con protezioni\",\"\",\"Fare recap completo della motherboard\",\"Controllare tutte le saldature\",\"Verificare la linea di RESET\"],\"severity\":\"media\",\"notes\":\"Mai fidarsi di un alimentatore originale Commodore! Dopo 40 anni i condensatori si degradano e possono mandare tensioni eccessive al C64.\"},\"sx64Problems\":{\"question\":\"Che problema ha il tuo SX-64?\",\"options\":[{\"label\":\"Non si accende \/ nessuna alimentazione\",\"next\":\"sx64NoPower\"},{\"label\":\"Schermo nero o bianco\",\"next\":\"sx64NoVideo\"},{\"label\":\"Problemi video\/CRT\",\"next\":\"sx64CRT\"},{\"label\":\"Problemi con il floppy drive interno\",\"next\":\"sx64Floppy\"},{\"label\":\"Problemi di tastiera\",\"next\":\"sx64Keyboard\"}]},\"sx64NoPower\":{\"question\":null,\"diagnosis\":\"SX-64 non si accende\",\"checks\":[\"L'SX-64 usa un alimentatore switching interno molto pi\u00f9 complesso\",\"Verificare:\",\"  \u2022 Fusibile principale\",\"  \u2022 Interruttore di accensione\",\"  \u2022 Cavo di alimentazione\",\"Il PSU fornisce: 5V DC, 12V DC e genera internamente i 9V per il TOD\"],\"solutions\":[\"Controllare il fusibile e l'interruttore\",\"Se il PSU non funziona, la riparazione \u00e8 complessa\",\"Il PSU dell'SX-64 \u00e8 diverso dal C64 desktop - non intercambiabile\",\"Esistono kit di ricambio\/upgrade del PSU\",\"\u26a0\ufe0f ATTENZIONE: L'SX-64 contiene tensioni pericolose - CRT e PSU!\"],\"severity\":\"alta\",\"notes\":\"Il PSU dell'SX-64 \u00e8 un alimentatore switching - la riparazione richiede esperienza con questi circuiti e attenzione alle alte tensioni.\"},\"sx64NoVideo\":{\"question\":null,\"diagnosis\":\"SX-64 schermo nero o bianco\",\"checks\":[\"Il problema pi\u00f9 comune \u00e8 la connessione tra CPU board e IO board\",\"Queste due schede sono collegate da un connettore che pu\u00f2 ossidarsi\",\"\",\"Se lo schermo \u00e8 bianco: VIC-II o PLA\",\"Se \u00e8 nero: controllo completo come C64 desktop\"],\"solutions\":[\"Rimuovere il coperchio superiore\",\"La CPU board \u00e8 quella pi\u00f9 a sinistra\",\"Premere insieme le due schede sul connettore che le unisce\",\"Pulire i contatti con alcool isopropilico\",\"\",\"Provare con un monitor esterno per escludere problemi del CRT\",\"I chip dell'SX-64 sono compatibili con il C64 desktop per i test\",\"ECCEZIONE: la KERNAL ROM dell'SX-64 \u00e8 diversa (28 pin)\"],\"severity\":\"media\"},\"sx64CRT\":{\"question\":null,\"diagnosis\":\"Problemi con il CRT dell'SX-64\",\"checks\":[\"Il CRT da 5 pollici \u00e8 un componente delicato\",\"Problemi comuni:\",\"  \u2022 Immagine distorta o fuori sync\",\"  \u2022 Ronzio ad alta frequenza\",\"  \u2022 Colori sbiaditi o assenti\",\"  \u2022 Ghosting (VIC-II 6567R56A)\"],\"solutions\":[\"Sostituire i condensatori elettrolitici del monitor\",\"NON toccare i condensatori ceramici\",\"Se c'\u00e8 un ronzio: possibile problema al trasformatore flyback\",\"Per ghosting: sostituire VIC-II con revisione pi\u00f9 recente\",\"\",\"\u26a0\ufe0f PERICOLO: Il CRT contiene ALTA TENSIONE anche da spento!\",\"Scaricare il tubo prima di qualsiasi intervento\"],\"severity\":\"media\",\"notes\":\"La riparazione del CRT richiede esperienza con alte tensioni. Il tubo pu\u00f2 mantenere carica per giorni anche da spento!\"},\"sx64Floppy\":{\"question\":null,\"diagnosis\":\"Problemi con il floppy drive interno dell'SX-64\",\"checks\":[\"Il drive interno \u00e8 essenzialmente un 1541\",\"Verificare:\",\"  \u2022 LED del drive si accende?\",\"  \u2022 Il drive fa rumore all'accensione?\",\"  \u2022 Riesce a leggere dischetti?\"],\"solutions\":[\"Pulire la testina con alcool\",\"Verificare l'allineamento\",\"Controllare i chip del drive (6502, VIA)\",\"I primi SX-64 (prima del GA4) hanno PSU deboli per espansioni\"],\"severity\":\"media\"},\"sx64Keyboard\":{\"question\":null,\"diagnosis\":\"Problemi tastiera SX-64\",\"checks\":[\"La tastiera dell'SX-64 \u00e8 rimovibile\",\"Il connettore pu\u00f2 ossidarsi\",\"I tasti sono simili al C64 desktop\"],\"solutions\":[\"Pulire il connettore della tastiera\",\"Verificare il cavo che collega tastiera al case\",\"Pulire i contatti dei tasti con alcool\",\"Esistono ricambi specifici per SX-64\"],\"severity\":\"bassa\"},\"charRomFault\":{\"question\":null,\"diagnosis\":\"Caratteri sbagliati: probabile Character ROM\",\"checks\":[\"La schermata ha la forma giusta (righe al loro posto, cursore che lampeggia) ma le lettere sono simboli strani o blocchi pieni\",\"Prova a premere C= + SHIFT per passare a maiuscole\/minuscole: se cambiano solo alcuni simboli la ROM \u00e8 letta ma corrotta\",\"La Character ROM \u00e8 U5 (901225-01) sui breadbin\",\"Anche il PLA (U17) seleziona la Character ROM: se \u00e8 parzialmente guasto pu\u00f2 dare lo stesso sintomo\"],\"solutions\":[\"Sostituire la Character ROM U5 con una originale o con una EPROM programmata (serve un adattatore: vedi ROM e adattatori)\",\"Se con la ROM nuova non cambia nulla, controllare il PLA (U17)\",\"Verificare con la Dead Test, che mostra i caratteri anche se il KERNAL non parte\"],\"severity\":\"bassa\",\"notes\":\"Se le lettere sono giuste ma i colori sono casuali, il problema non \u00e8 la Character ROM ma la Color RAM.\"},\"colorRamFault\":{\"question\":null,\"diagnosis\":\"Colori casuali sui caratteri: probabile Color RAM\",\"checks\":[\"Il testo si legge ma ogni carattere ha un colore diverso, oppure i colori cambiano da soli\",\"La Color RAM \u00e8 un 2114 (U6 sui breadbin) che memorizza il colore di ogni carattere\",\"Prova a scrivere qualcosa e a cambiare colore con CTRL+1...8: se alcuni colori non si impostano mai, \u00e8 quasi certamente la Color RAM\",\"La Dead Test segnala il problema con COLOR RAM BAD\"],\"solutions\":[\"Sostituire il 2114 (U6) montando uno zoccolo\",\"Un 2114 compatibile si trova facilmente e costa poco\",\"Se dopo la sostituzione il problema resta, controllare il PLA e le linee dati D8-D11 verso il VIC-II\"],\"severity\":\"bassa\"},\"restoreKey\":{\"question\":null,\"diagnosis\":\"Il tasto RESTORE non funziona\",\"checks\":[\"RESTORE da solo non fa nulla: va premuto insieme a RUN\/STOP per il classico 'reset' a schermata pulita\",\"RESTORE non passa dalla matrice della tastiera ma genera un NMI tramite un timer 556\",\"Verificare con il multimetro il contatto del tasto RESTORE sul connettore della tastiera\"],\"solutions\":[\"Pulire il contatto del tasto RESTORE (\u00e8 un contatto singolo, spesso ossidato)\",\"Controllare le saldature del connettore della tastiera\",\"Se il tasto chiude correttamente, sostituire il timer 556\"],\"severity\":\"bassa\"},\"cartridgePort\":{\"question\":null,\"diagnosis\":\"Le cartucce non partono\",\"checks\":[\"Provare la cartuccia su un altro C64 per escludere la cartuccia stessa\",\"I contatti della porta cartucce si ossidano molto facilmente\",\"Le cartucce usano le linee GAME ed EXROM, gestite dal PLA (U17)\",\"Inserire o togliere una cartuccia a computer acceso pu\u00f2 danneggiare PLA e CIA\"],\"solutions\":[\"Pulire i contatti della porta e della cartuccia con alcool isopropilico e uno spazzolino\",\"Verificare che nessun pin della porta sia piegato o rotto\",\"Se nessuna cartuccia parte ma il C64 arriva al READY, controllare il PLA\",\"Spegnere sempre il C64 prima di inserire una cartuccia\"],\"severity\":\"bassa\"},\"overheating\":{\"question\":null,\"diagnosis\":\"Surriscaldamento o odore di bruciato\",\"checks\":[\"SPEGNI SUBITO il computer e scollega l'alimentatore\",\"Misura l'alimentatore a vuoto: i 5V devono stare tra 4,9 e 5,2 V. Gli alimentatori originali, invecchiando, possono andare in sovratensione e bruciare i chip\",\"Annusa e guarda la scheda: condensatori gonfi, componenti anneriti, chip con crepe\",\"VIC-II e PLA sono normalmente molto caldi; CPU, CIA e SID invece non devono scottare\"],\"solutions\":[\"Non riaccendere con lo stesso alimentatore: usane uno moderno con protezione da sovratensione\",\"Individua il chip che scotta in pochi secondi (termometro IR o termocamera): di solito \u00e8 quello in corto\",\"Sostituisci i condensatori gonfi o anneriti\",\"Un piccolo dissipatore su VIC-II e PLA aiuta a prolungarne la vita\"],\"severity\":\"alta\",\"notes\":\"Un alimentatore originale Commodore che fornisce pi\u00f9 di 5,2 V pu\u00f2 danneggiare tutti i chip in pochi secondi: \u00e8 la prima cosa da controllare su un C64 appena acquistato.\"},\"joystickGhost\":{\"question\":null,\"diagnosis\":\"Joystick che si muove da solo o fuoco sempre premuto\",\"checks\":[\"Scollega il joystick: se il problema resta, \u00e8 nel computer\",\"Le porte joystick condividono le linee con la tastiera sul CIA 1 (U1): un tasto bloccato o un corto nella tastiera produce movimenti fantasma\",\"Scollega la tastiera dalla scheda e riprova\",\"Prova il joystick su un altro computer\"],\"solutions\":[\"Pulisci o sostituisci il joystick se il difetto lo segue\",\"Ripara la tastiera se il difetto sparisce scollegandola\",\"Se il difetto resta senza joystick e senza tastiera, il CIA 1 (U1) \u00e8 probabilmente danneggiato (spesso da scariche elettrostatiche o collegamenti a caldo)\"],\"severity\":\"bassa\"},\"paddles\":{\"question\":null,\"diagnosis\":\"Paddle che non funzionano o tremano\",\"checks\":[\"Le paddle sono lette dal SID (ingressi POT X e POT Y) attraverso un commutatore analogico 4066\",\"I pulsanti di fuoco delle paddle passano invece dal CIA 1\",\"Paddle vecchie con potenziometri sporchi fanno tremare il valore letto\"],\"solutions\":[\"Pulisci i potenziometri delle paddle con spray per contatti\",\"Prova con un altro paio di paddle\",\"Se il valore non cambia mai, controlla il 4066 e poi il SID\"],\"severity\":\"bassa\"},\"soundHum\":{\"question\":null,\"diagnosis\":\"Ronzio o fruscio nell'audio\",\"checks\":[\"Un ronzio a bassa frequenza spesso viene dall'alimentatore (condensatori di filtro esauriti) o da un anello di massa con il TV\",\"Il 6581 dei breadbin ha un fruscio di fondo normale, pi\u00f9 evidente del 8580\",\"Prova un altro cavo audio\/video e un'altra presa di corrente\"],\"solutions\":[\"Prova un altro alimentatore\",\"Usa un cavo audio schermato e collega TV e C64 alla stessa presa\",\"Sostituisci i condensatori elettrolitici sulla linea audio e vicino al regolatore del SID\",\"Se il rumore cambia con la musica, controlla il SID\"],\"severity\":\"bassa\"},\"datasetteMotor\":{\"question\":null,\"diagnosis\":\"Motore del datasette che non parte o non si ferma\",\"checks\":[\"Il motore \u00e8 comandato dal 6510 (CPU) tramite un piccolo circuito a transistor vicino alla porta cassette\",\"Prova il datasette su un altro C64\",\"Con PLAY premuto, misura la tensione del motore sul connettore cassette (circa 6 V quando deve girare)\"],\"solutions\":[\"Se il datasette funziona altrove, controlla i transistor del circuito motore sulla scheda\",\"Se il motore gira ma il nastro no, sostituisci la cinghia\",\"Se il motore resta sempre acceso, controlla il transistor di pilotaggio e poi la porta di uscita del 6510\"],\"severity\":\"bassa\"},\"finalTest\":{\"question\":null,\"diagnosis\":\"Collaudo finale completo\",\"checks\":[\"Dead Test: deve completare tutti i test (RAM, Color RAM, ROM, suono) senza errori\",\"Diagnostic 586220 con i cavetti di loopback: prova tastiera, porte joystick, user port, porta cassette e bus seriale\",\"Lascia il C64 acceso almeno un'ora: molti guasti (saldature, chip stanchi) si presentano solo da caldo\",\"Prova un gioco da cartuccia, uno da disco e uno da cassetta\",\"Controlla tutti i tasti, i joystick e l'audio su tutte e tre le voci\"],\"solutions\":[\"Se tutto passa, monta gli zoccoli rimasti e richiudi\",\"Annota cosa hai sostituito: utile per riparazioni future\",\"Usa un alimentatore con protezione per non vanificare la riparazione\"],\"severity\":\"bassa\",\"notes\":\"I cavetti di loopback (harness) collegano tra loro le uscite e gli ingressi delle porte: cos\u00ec la cartuccia diagnostica pu\u00f2 verificare ogni linea senza periferiche esterne.\"}}<\/script>\r\n<script>if(!window.RF_EN){\r\n(function () {\r\n  var root = document.getElementById('rfd');\r\n  [].forEach.call(root.querySelectorAll('.mach a'), function (a) {\r\n    if (location.pathname.indexOf(a.getAttribute('href')) === 0) { a.classList.add('on'); a.setAttribute('aria-current', 'page'); }\r\n  });\r\n  if (!root || root.dataset.ready) return;\r\n  root.dataset.ready = '1';\r\n  var $ = function (id) { return document.getElementById(id); };\r\n  function esc(s) { return String(s == null ? '' : s).replace(\/[&<>\"']\/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]; }); }\r\n  function norm(s) { return String(s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, ''); }\r\n  var TREE = JSON.parse($('rfdData').textContent);\r\n  var SEV = { alta: ['#f94144', 'GRAVIT\u00c0 ALTA'], media: ['#ffd23f', 'GRAVIT\u00c0 MEDIA'], bassa: ['#5ad15f', 'GRAVIT\u00c0 BASSA'] };\r\n\r\n  \/* ---------- icone pixel (12x12) ---------- *\/\r\n  var PIX = {\r\n    meter: ['.aaaaaaaaaa.', '.abbbbbbbba.', '.ab.cccc.ba.', '.abbbbbbbba.', '.aaaaaaaaaa.', '.a..aaaa..a.', '.a.a....a.a.', '.a..aaaa..a.', '.aaaaaaaaaa.', '..d......e..', '..d......e..', '..d......e..'],\r\n    scope: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab..c...c.ba', 'ab.c.c.c.cba', 'abc...c...ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', 'a.dd.dd.dd.a', 'aaaaaaaaaaaa', '............', '............', '............'],\r\n    probe: ['.......aa...', '......abba..', '.....abba...', '....abba....', '...abba.....', '..acca......', '.acca.......', 'acca........', 'aa..........', 'd...........', 'd...........', 'd...........'],\r\n    iron:  ['..........aa', '.........aba', '........aba.', '.......aba..', '......cca...', '.....cc.....', '....cc......', '...dd.......', '..dd........', '.dd.........', 'dd..........', 'd...........'],\r\n    cart:  ['.aaaaaaaaaa.', '.abbbbbbbba.', '.abccccccba.', '.abccccccba.', '.abbbbbbbba.', '.aaaaaaaaaa.', '.aaaaaaaaaa.', '..d.d.d.d...', '..d.d.d.d...', '............', '............', '............'],\r\n    harness: ['aaa......aaa', 'aba......aba', 'aaa......aaa', '.c........c.', '.c........c.', '..cccccccc..', '............', 'aaa......aaa', 'aba......aba', 'aaa......aaa', '.d........d.', '.dddddddddd.'],\r\n    chip:  ['.d.d.d.d.d..', 'aaaaaaaaaaa.', 'abbbbbbbbbad', 'ab.......ba.', 'ab.ccccc.bad', 'ab.......ba.', 'abbbbbbbbbad', 'aaaaaaaaaaa.', '.d.d.d.d.d..', '............', '............', '............'],\r\n    eprom: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.cccccc.ba', 'ab.c....c.ba', 'ab.cccccc.ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............'],\r\n    spray: ['....aa......', '...abba..c..', '....aa..c.c.', '...aaaa...c.', '..abbbba....', '..abbbba....', '..abccba....', '..abccba....', '..abbbba....', '..abbbba....', '..aaaaaa....', '............'],\r\n    therm: ['....aaa.....', '...abbba....', '...abcba....', '...abcba....', '...abcba....', '...abcba....', '..abcccba...', '.abcccccba..', '.abcccccba..', '..abcccba...', '...aaaaa....', '............'],\r\n    psu:   ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.c.c.c..ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.....dd.....', '.....d......', '.....d......', '....ddd.....', '....d.d.....', '............', '............'],\r\n    socket:['aaaaaaaaaaaa', 'a.c.c.c.c.ca', 'a..........a', 'a.c.c.c.c.ca', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............', '............', '............'],\r\n    brush: ['..........aa', '.........aa.', '........aa..', '.......aa...', '......aa....', '.....bbb....', '....bbbbb...', '...ccccc....', '..ccccc.....', '.cccc.......', '............', '............'],\r\n    lens:  ['...aaaa.....', '..abbbba....', '.abccccba...', '.abccccba...', '.abccccba...', '..abbbba....', '...aaaa.d...', '........d...', '.........d..', '..........d.', '............', '............'],\r\n    book:  ['aaaaa.aaaaa.', 'abbba.abbba.', 'abbbaaabbba.', 'abbba.abbba.', 'abbba.abbba.', 'abbbaaabbba.', 'aaaaa.aaaaa.', '.....c......', '............', '............', '............', '............'],\r\n    people:['..aa....aa..', '.abba..abba.', '.abba..abba.', '..aa....aa..', '.aaaa..aaaa.', 'aaaaaaaaaaaa', 'aaaaaaaaaaaa', '............', '............', '............', '............', '............'],\r\n    play:  ['aaaaaaaaaaaa', 'a..........a', 'a..b.......a', 'a..bbb.....a', 'a..bbbbb...a', 'a..bbb.....a', 'a..b.......a', 'a..........a', 'aaaaaaaaaaaa', '............', '............', '............']\r\n  };\r\n  function pix(name, col) {\r\n    var m = PIX[name] || PIX.chip, s = '', pal = { a: col, b: '#ffffff', c: '#5ad15f', d: '#9a9a9a', e: '#f94144' };\r\n    for (var y = 0; y < m.length; y++) for (var x = 0; x < m[y].length; x++) { var ch = m[y][x]; if (ch !== '.') s += '<rect x=\"' + x + '\" y=\"' + y + '\" width=\"1.02\" height=\"1.02\" fill=\"' + pal[ch] + '\"\/>'; }\r\n    return '<svg viewBox=\"0 0 12 12\" shape-rendering=\"crispEdges\" aria-hidden=\"true\">' + s + '<\/svg>';\r\n  }\r\n\r\n  \/* ---------- attrezzatura ---------- *\/\r\n  var TOOLS = {\r\n    meter: ['Multimetro', 'meter', '#3fd8ff', 'Per misurare 5 V, 9 V AC e 12 V, verificare fusibili, cavi e continuit\u00e0 delle piste.'],\r\n    scope: ['Oscilloscopio', 'scope', '#5ad15f', 'Per vedere clock, segnali video e attivit\u00e0 sui bus: indispensabile per i guasti a schermo nero.'],\r\n    probe: ['Sonda logica', 'probe', '#ffd23f', 'Economica e veloce: dice se un pin \u00e8 alto, basso o \"si muove\". Utile su RAM, CPU e PLA.'],\r\n    deadtest: ['Cartuccia Dead Test', 'cart', '#e0398a', 'Parte anche senza KERNAL: prova RAM, ROM e Color RAM e lampeggia se lo schermo non si vede.'],\r\n    diag: ['Diagnostic 586220 + cavetti', 'harness', '#f8961e', 'Collaudo di tastiera, porte, CIA e SID con i connettori di loopback.'],\r\n    chiptester: ['Chip tester', 'chip', '#3fd8ff', 'Prova fuori dalla scheda RAM, ROM e logica 74xx, per esempio con un Retro Chip Tester.'],\r\n    eprom: ['Programmatore EPROM', 'eprom', '#5ad15f', 'Per sostituire BASIC, KERNAL e Character ROM con EPROM nuove (con adattatore).'],\r\n    iron: ['Saldatore e dissaldatore', 'iron', '#f94144', 'A temperatura controllata. Una pompetta o una stazione dissaldante salva le piste.'],\r\n    socket: ['Zoccoli torniti', 'socket', '#ffd23f', 'Da montare sui chip sostituiti: la prossima volta baster\u00e0 sfilarli.'],\r\n    alcohol: ['Alcool isopropilico e spazzolino', 'brush', '#3fd8ff', 'Per contatti ossidati di porte, connettori e tastiera.'],\r\n    spray: ['Spray congelante \/ aria calda', 'spray', '#5ad15f', 'Per i guasti che compaiono a caldo o a freddo: raffreddi un chip alla volta.'],\r\n    therm: ['Termometro IR o termocamera', 'therm', '#f8961e', 'Trova in pochi secondi il chip che scalda troppo (spesso quello in corto).'],\r\n    psu: ['Alimentatore sicuro', 'psu', '#e0398a', 'Moderno, con protezione da sovratensione: protegge il C64 riparato.'],\r\n    lens: ['Lente o microscopio', 'lens', '#3fd8ff', 'Per trovare saldature fredde, piste interrotte e pin rotti.']\r\n  };\r\n  \/\/ attrezzatura consigliata per ogni diagnosi (in base all'argomento)\r\n  var EQUIP_RULES = [\r\n    [\/noSignalLedOff|instability|sx64NoPower|overheating\/, ['meter', 'psu', 'therm', 'iron']],\r\n    [\/noSignalLedOn|sx64NoVideo|sx64CRT\/, ['meter', 'scope', 'probe', 'lens']],\r\n    [\/deadTest|blackScreen|Memory|lessMemory|outOfMemory|changingMemory|garbage|freezeBoot\/, ['deadtest', 'scope', 'probe', 'chiptester', 'iron', 'socket']],\r\n    [\/charRom|blueScreenNoChars|noCursor\/, ['deadtest', 'eprom', 'chiptester', 'socket']],\r\n    [\/colorRam|colorWrong|deadTestColorRam\/, ['deadtest', 'chiptester', 'iron', 'socket']],\r\n    [\/color|Interference|BW|Faded\/, ['scope', 'meter', 'iron']],\r\n    [\/sound|Sound|soundHum\/, ['scope', 'meter', 'diag', 'iron']],\r\n    [\/keyboard|joystick|paddles|restoreKey|cartridgePort|sx64Keyboard\/, ['diag', 'meter', 'alcohol', 'iron']],\r\n    [\/loading|searc|devNo|rotation|fileNot|datasette|sx64Floppy\/, ['diag', 'meter', 'scope', 'alcohol']],\r\n    [\/freeze\/, ['spray', 'therm', 'scope', 'lens']],\r\n    [\/finalTest\/, ['deadtest', 'diag', 'psu', 'socket']]\r\n  ];\r\n  function equipFor(id) { for (var i = 0; i < EQUIP_RULES.length; i++) if (EQUIP_RULES[i][0].test(id)) return EQUIP_RULES[i][1]; return ['meter', 'iron']; }\r\n\r\n  \/\/ pagine RetroFixer e ricerche in Videoteca collegate\r\n  var LINK_RULES = [\r\n    [\/deadTest|Memory|RAM|garbage|blackScreen\/, [['\u26a1 DT Flash Codes', '\/dt-flash-codes\/'], ['\ud83e\uddea Dram tester', '\/dram-tester\/']]],\r\n    [\/noSignalLedOff|instability|overheating|sx64NoPower\/, [['\ud83d\udd0c Alimentazioni', '\/alimentazioni-console-e-computer\/']]],\r\n    [\/charRom|blueScreenNoChars\/, [['\ud83d\udcbe ROM e adattatori', '\/rom-e-adattatori\/']]]\r\n  ];\r\n  var VIDEO_RULES = [\r\n    [\/deadTest\/, 'dead test'], [\/RAM|Memory|garbage\/, 'RAM'], [\/sound|Sound|soundHum|paddles\/, 'SID'], [\/keyboard|restoreKey\/, 'tastiera'],\r\n    [\/joystick\/, 'joystick'], [\/loading|searc|devNo|rotation|fileNot\/, '1541'], [\/datasette\/, 'datasette'], [\/sx64\/, 'SX-64'],\r\n    [\/noSignalLedOff|instability|overheating\/, 'alimentatore'], [\/colorRam|Color\/, 'color RAM'], [\/charRom|blueScreenNoChars\/, 'ROM'],\r\n    [\/blackScreen|noSignal\/, 'black screen'], [\/cartridge\/, 'cartridge']\r\n  ];\r\n\r\n  \/* ---------- chip ---------- *\/\r\n  var CHIPS = {\r\n    bb: [\r\n      ['Cuore del sistema', [\r\n        ['U7', '6510', 'CPU', 'Esegue i programmi. Se guasta: schermo nero fisso, la Dead Test non parte.', \/\\bU7\\b|6510|\\bCPU\\b\/],\r\n        ['U17', 'PLA 906114-01', 'Decodifica memoria', 'Decide quale chip risponde a ogni indirizzo. \u00c8 tra i pi\u00f9 fragili: schermo nero, garbage, cartucce che non partono. Esistono sostituti moderni.', \/\\bU17\\b|\\bPLA\\b\/],\r\n        ['U13 \u00b7 U25', '74LS257', 'Multiplexer RAM', 'Preparano gli indirizzi per le RAM dinamiche. Se guasti danno errori RAM anche con RAM buone.', \/\\bU13\\b|\\bU25\\b|74LS257\/]\r\n      ]],\r\n      ['Video e audio', [\r\n        ['U19', 'VIC-II 6569 \/ 6567', 'Video', 'Genera l\\'immagine (6569 PAL, 6567 NTSC). Scalda molto. Se guasto: nessun segnale, schermo nero o immagine disturbata.', \/\\bU19\\b|VIC-?II|\\bVIC\\b\/],\r\n        ['U18', 'SID 6581', 'Audio', 'Il chip sonoro. Sui breadbin vuole 12 V: non sostituirlo con un 8580 (9 V) senza modifiche!', \/\\bU18\\b|\\bSID\\b|6581\/],\r\n        ['U6', '2114', 'Color RAM', 'Memorizza il colore di ogni carattere. Se guasta: colori casuali o che cambiano da soli.', \/\\bU6\\b|2114|Color RAM\/i]\r\n      ]],\r\n      ['ROM', [\r\n        ['U3', 'BASIC 901226-01', 'ROM BASIC', 'L\\'interprete BASIC. Se guasta: schermo colorato senza scritte, ma le cartucce possono funzionare.', \/\\bU3\\b|ROM BASIC|BASIC ROM\/],\r\n        ['U4', 'KERNAL 901227', 'ROM KERNAL', 'Il sistema operativo: avvio, schermo, tastiera, periferiche. Se guasta: schermo nero o bloccato all\\'avvio.', \/\\bU4\\b|KERNAL\/],\r\n        ['U5', 'CHAR 901225-01', 'Character ROM', 'Contiene la forma delle lettere. Se guasta: simboli strani o blocchi al posto delle lettere.', \/\\bU5\\b|CHARACTER|Character ROM\/i]\r\n      ]],\r\n      ['Input \/ output', [\r\n        ['U1', 'CIA 6526 #1', 'Tastiera e joystick', 'Legge la tastiera ed entrambe le porte joystick. Si danneggia con le scariche elettrostatiche.', \/\\bU1\\b|CIA ?1\\b\/],\r\n        ['U2', 'CIA 6526 #2', 'Seriale e user port', 'Gestisce il bus seriale (1541, stampante), la user port, l\\'RS-232 e il banco di memoria del VIC-II.', \/\\bU2\\b|CIA ?2\\b\/],\r\n        ['7406', '7406', 'Driver seriale', 'Pilota le linee del bus seriale verso 1541 e stampante: un classico per \"DEVICE NOT PRESENT\".', \/7406\/],\r\n        ['556', 'NE556', 'Reset e RESTORE', 'Doppio timer: genera il reset all\\'accensione e gestisce il tasto RESTORE.', \/\\b556\\b|RESTORE\/],\r\n        ['4066', '4066', 'Paddle', 'Commutatore analogico che porta le paddle agli ingressi del SID.', \/4066|paddle\/i]\r\n      ]],\r\n      ['RAM (64 KB)', [\r\n        ['U9 \u00b7 U10 \u00b7 U11 \u00b7 U12', '4164 \u00d74', 'RAM dinamica', 'Ogni chip contiene un bit di ogni byte. Una RAM guasta d\u00e0 garbage, byte liberi errati o schermo nero.', \/\\bU9\\b|\\bU10\\b|\\bU11\\b|\\bU12\\b|4164|\\bRAM\\b\/],\r\n        ['U21 \u00b7 U22 \u00b7 U23 \u00b7 U24', '4164 \u00d74', 'RAM dinamica', 'Le altre 4 RAM. La Dead Test indica con i lampeggi quale bit (e quindi quale chip) \u00e8 guasto.', \/\\bU21\\b|\\bU22\\b|\\bU23\\b|\\bU24\\b|4164|\\bRAM\\b\/]\r\n      ]],\r\n      ['Alimentazione e clock', [\r\n        ['7812', '7812', 'Regolatore 12 V', 'Ricava dai 9 V AC i 12 V per il SID 6581.', \/7812|12V|12 V\/],\r\n        ['Y1', 'Quarzo', 'Clock', 'Il clock di sistema (17,734 MHz PAL \/ 14,318 MHz NTSC), diviso per CPU e VIC-II. Se si ferma: niente segnale video.', \/quarzo|clock\/i]\r\n      ]]\r\n    ],\r\n    cc: [\r\n      ['Cuore del sistema', [\r\n        ['CPU', '8500', 'CPU', 'Versione HMOS della 6510: stessi programmi, consuma e scalda meno.', \/8500|CPU\/],\r\n        ['PLA', 'SuperPLA 251715', 'Decodifica memoria', 'Riunisce in un solo chip il PLA e parte della logica: se guasto, schermo nero.', \/SuperPLA|PLA\/]\r\n      ]],\r\n      ['Video e audio', [\r\n        ['VIC', 'VIC-II 8565 \/ 8562', 'Video', 'Versione a 5 V del VIC-II: scalda meno del 6569.', \/VIC-?II|VIC\/],\r\n        ['SID', 'SID 8580', 'Audio', 'Vuole 9 V: non sostituirlo con un 6581 (12 V) senza modifiche!', \/SID|8580\/]\r\n      ]],\r\n      ['ROM e RAM', [\r\n        ['ROM', 'BASIC+KERNAL 251913', 'ROM combinata', 'BASIC e KERNAL in un unico chip da 16 KB.', \/BASIC|KERNAL|251913\/],\r\n        ['CHAR', 'CHAR 901225-01', 'Character ROM', 'Come sul breadbin: forma delle lettere.', \/CHARACTER|Character\/i],\r\n        ['RAM', '41464 \u00d72', 'RAM dinamica', 'Solo due chip da 64K x 4 bit invece di otto.', \/RAM|41464|4464\/]\r\n      ]],\r\n      ['Input \/ output', [\r\n        ['CIA1', 'CIA 8521 #1', 'Tastiera e joystick', 'Come il 6526: tastiera ed entrambe le porte joystick.', \/CIA ?1|CIA\/],\r\n        ['CIA2', 'CIA 8521 #2', 'Seriale e user port', 'Bus seriale, user port e banco di memoria del VIC-II.', \/CIA ?2|CIA\/]\r\n      ]]\r\n    ]\r\n  };\r\n  var board = 'bb', hotSet = [];\r\n  function renderBoard() {\r\n    $('rfdBoard').innerHTML = CHIPS[board].map(function (g, gi) {\r\n      return '<div class=\"grp\"><b>' + esc(g[0].toUpperCase()) + '<\/b><div class=\"row\">' + g[1].map(function (c, ci) {\r\n        var hot = hotSet.indexOf(gi + '-' + ci) >= 0;\r\n        return '<button type=\"button\" class=\"ic' + (hot ? ' hot' : '') + '\" data-c=\"' + gi + '-' + ci + '\"><span class=\"u\">' + esc(c[0]) + '<\/span><span class=\"p\">' + esc(c[1]) + '<\/span><span class=\"r\">' + esc(c[2]) + '<\/span><\/button>';\r\n      }).join('') + '<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n  function chipInfo(key) {\r\n    var p = key.split('-'), c = CHIPS[board][+p[0]][1][+p[1]];\r\n    $('rfdIcInfo').innerHTML = '<b>' + esc(c[0]) + ' \u00b7 ' + esc(c[1]) + '<\/b> \u2014 ' + esc(c[2]) + '<br>' + esc(c[3]);\r\n  }\r\n  function chipsInText(text) {\r\n    var out = [];\r\n    CHIPS.bb.forEach(function (g, gi) { g[1].forEach(function (c, ci) { if (c[4].test(text)) out.push(gi + '-' + ci); }); });\r\n    return out;\r\n  }\r\n\r\n  \/* ---------- schermate tipiche ---------- *\/\r\n  var BOOT = '\\n    **** COMMODORE 64 BASIC V2 ****\\n\\n 64K RAM SYSTEM  38911 BASIC BYTES FREE\\n\\nREADY.\\n\u2588';\r\n  function seeded(n) { var s = n; return function () { s = (s * 9301 + 49297) % 233280; return s \/ 233280; }; }\r\n  var PAL = ['#000000', '#ffffff', '#883932', '#67b6bd', '#8b3f96', '#55a049', '#40318d', '#bfce72', '#8b5429', '#574200', '#b86962', '#505050', '#787878', '#94e089', '#7869c4', '#9f9f9f'];\r\n  var GLYPH = '\u2580\u2584\u2588\u258c\u2590\u2591\u2592\u2593\u25a0\u25a1\u25aa\u25c6\u25c7\u25cb\u25cf\u25d8\u25d9\u2660\u2663\u2665\u2666\u2571\u2572\u2573\u253c\u2524\u251c\u252c\u2534\u2502\u2500';\r\n  function scrGarbage(seed, colors) {\r\n    var r = seeded(seed), lines = [];\r\n    for (var y = 0; y < 12; y++) { var l = ''; for (var x = 0; x < 40; x++) { var ch = GLYPH[Math.floor(r() * GLYPH.length)]; l += colors ? '<span style=\"color:' + PAL[1 + Math.floor(r() * 15)] + '\">' + ch + '<\/span>' : ch; } lines.push(l); }\r\n    return lines.join('\\n');\r\n  }\r\n  function colorize(text, seed) {\r\n    var r = seeded(seed);\r\n    return text.split('').map(function (ch) { return ch === '\\n' || ch === ' ' ? ch : '<span style=\"color:' + PAL[1 + Math.floor(r() * 15)] + '\">' + esc(ch) + '<\/span>'; }).join('');\r\n  }\r\n  function charrom(text) { var map = '\u2592\u2593\u259a\u259e\u2599\u259f\u259b\u259c\u25a0\u25d8'; return esc(text).replace(\/[A-Z0-9*.]\/g, function (c) { return map[c.charCodeAt(0) % map.length]; }); }\r\n  var SCREENS = [\r\n    { t: 'Nessun segnale', d: 'Il TV dice \"nessun segnale\": manca del tutto l\\'uscita video.', go: 'noVideoSignal', html: '<div class=\"scr nosig\"><b>NESSUN SEGNALE<\/b><\/div>' },\r\n    { t: 'Nero con segnale', d: 'Il TV si \"aggancia\" ma lo schermo resta tutto nero.', go: 'blackScreenWithSignal', html: '<div class=\"scr black\"><div class=\"in\"><\/div><\/div>' },\r\n    { t: 'Solo bordo, niente scritte', d: 'Bordo e fondo colorati ma nessuna scritta n\u00e9 cursore.', go: 'blueScreenNoChars', html: '<div class=\"scr\"><div class=\"in\"><\/div><\/div>' },\r\n    { t: 'Garbage', d: 'Simboli casuali su tutto lo schermo.', go: 'garbageScreen', html: '<div class=\"scr\"><div class=\"in\">' + scrGarbage(7, false) + '<\/div><\/div>' },\r\n    { t: 'Lettere sbagliate', d: 'La scritta \u00e8 al suo posto ma le lettere sono blocchi o simboli.', go: 'charRomFault', html: '<div class=\"scr\"><div class=\"in\">' + charrom(BOOT.replace('\u2588', '')) + '\u2588<\/div><\/div>' },\r\n    { t: 'Colori casuali', d: 'Il testo si legge ma ogni carattere ha un colore diverso.', go: 'colorRamFault', html: '<div class=\"scr\"><div class=\"in\">' + colorize(BOOT, 3) + '<\/div><\/div>' },\r\n    { t: 'Byte liberi errati', d: 'Il numero di BASIC BYTES FREE non \u00e8 38911.', go: 'wrongMemory', html: '<div class=\"scr\"><div class=\"in\">' + esc(BOOT.replace('38911', '30719')) + '<\/div><\/div>' },\r\n    { t: 'OUT OF MEMORY', d: 'Subito dopo l\\'avvio compare ?OUT OF MEMORY ERROR IN 0.', go: 'outOfMemory', html: '<div class=\"scr\"><div class=\"in\">' + esc('\\n    **** COMMODORE 64 BASIC V2 ****\\n\\n 64K RAM SYSTEM  0 BASIC BYTES FREE\\n\\n?OUT OF MEMORY ERROR IN 0\\nREADY.\\n\u2588') + '<\/div><\/div>' },\r\n    { t: 'Strisce verticali', d: 'Barre verticali o disturbi sull\\'immagine (jailbars).', go: 'colorInterference', html: '<div class=\"scr jail\"><div class=\"in\">' + esc(BOOT) + '<\/div><\/div>' }\r\n  ];\r\n  $('rfdScreens').innerHTML = SCREENS.map(function (s, i) {\r\n    return '<button type=\"button\" class=\"scard\" data-go=\"' + s.go + '\"><div class=\"tv\">' + s.html + '<\/div><b>' + esc(s.t) + '<\/b><small>' + esc(s.d) + '<\/small><span class=\"go\">VAI ALLA DIAGNOSI \u25b6<\/span><\/button>';\r\n  }).join('');\r\n\r\n  \/* ---------- periferiche, attrezzatura, documenti ---------- *\/\r\n  var PERIPH = [\r\n    ['cart', '#e0398a', 'Dead Test (781220)', 'CARTUCCIA', 'La prima cosa da provare con uno schermo nero: funziona anche se KERNAL e BASIC sono guasti. Prova RAM, Color RAM e ROM, e se lo schermo non si vede comunica il guasto con i lampeggi del bordo.', '\/dt-flash-codes\/', 'Leggi i lampeggi su DT Flash Codes'],\r\n    ['harness', '#f8961e', 'Diagnostic 586220 + cavetti di loopback', 'COLLAUDO FINALE', 'Serve un C64 che arriva al READY. Con i connettori di loopback su tastiera, porte joystick, user port, porta cassette e bus seriale verifica CIA, SID e tutte le linee: \u00e8 il test completo da fare dopo ogni riparazione.', null, ''],\r\n    ['chip', '#3fd8ff', 'Chip tester', 'BANCO', 'Un tester come il Retro Chip Tester prova fuori dalla scheda RAM 4164, ROM e chip logici 74xx: utile per verificare i ricambi e i chip tolti dalla scheda.', '\/dram-tester\/', 'Vedi la pagina Dram tester'],\r\n    ['eprom', '#5ad15f', 'EPROM e adattatori', 'RICAMBI', 'BASIC, KERNAL e Character ROM si sostituiscono con EPROM programmate. Servono un programmatore e, per alcune ROM, un adattatore.', '\/rom-e-adattatori\/', 'Vedi ROM e adattatori'],\r\n    ['chip', '#ffd23f', 'Sostituti moderni', 'RICAMBI', 'PLA, SID e RAM hanno sostituti moderni: PLA su logica programmabile, ARMSID\/SwinSID\/FPGASID per il SID e schede che sostituiscono le otto RAM.', null, ''],\r\n    ['psu', '#e0398a', 'Alimentatore con protezione', 'PREVENZIONE', 'Un alimentatore moderno con protezione da sovratensione evita il guasto pi\u00f9 distruttivo di tutti: i 5 V che salgono e bruciano tutti i chip.', '\/alimentazioni-console-e-computer\/', 'Vedi Alimentazioni']\r\n  ];\r\n  $('rfdPeriph').innerHTML = PERIPH.map(function (p) {\r\n    var tag = p[5] ? 'a href=\"' + p[5] + '\"' : 'div';\r\n    return '<' + tag + ' class=\"card\" style=\"--acc:' + p[1] + '\"><div class=\"ct\">' + pix(p[0], p[1]) + '<div><h4>' + esc(p[2]) + '<\/h4><span class=\"tag\">' + esc(p[3]) + '<\/span><\/div><\/div><p>' + esc(p[4]) + '<\/p>' + (p[5] ? '<span class=\"dom\">' + esc(p[6]) + ' \u2192<\/span>' : '') + '<\/' + (p[5] ? 'a' : 'div') + '>';\r\n  }).join('');\r\n  $('rfdTools').innerHTML = Object.keys(TOOLS).map(function (k) {\r\n    var t = TOOLS[k];\r\n    return '<div class=\"card\" style=\"--acc:' + t[2] + '\"><div class=\"ct\">' + pix(t[1], t[2]) + '<h4>' + esc(t[0]) + '<\/h4><\/div><p>' + esc(t[3]) + '<\/p><\/div>';\r\n  }).join('');\r\n  var DOCS = [\r\n    ['book', '#ffd23f', 'Schemi elettrici C64', 'Tutte le revisioni della scheda madre (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/schematics\/computers\/c64\/'],\r\n    ['book', '#ffd23f', 'Schemi del 1541', 'Per riparare il floppy drive (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/schematics\/drives\/new\/1541\/'],\r\n    ['book', '#3fd8ff', 'Manuali di servizio', 'Service manual e documentazione tecnica Commodore (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/manuals\/'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: scheda madre', 'Revisioni della scheda e componenti, spiegati.', 'https:\/\/www.c64-wiki.com\/wiki\/Motherboard'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: PLA', 'Cos\\'\u00e8 il PLA e perch\u00e9 si guasta.', 'https:\/\/www.c64-wiki.com\/wiki\/PLA_(C64_chip)'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: Color RAM', 'Come funziona la memoria dei colori.', 'https:\/\/www.c64-wiki.com\/wiki\/Color_RAM'],\r\n    ['meter', '#5ad15f', 'Ray Carlsen', 'Guide di riparazione e alimentatori per Commodore.', 'https:\/\/portcommodore.com\/rcarlsen\/'],\r\n    ['people', '#e0398a', 'Lemon64 forum', 'La pi\u00f9 grande community internazionale sul C64.', 'https:\/\/www.lemon64.com\/forum\/'],\r\n    ['people', '#e0398a', 'World of Jani', 'Riparazioni e progetti su Commodore.', 'https:\/\/www.worldofjani.com\/'],\r\n    ['play', '#f94144', 'Videoteca RetroFixer', 'Tutti i nostri video di riparazione del C64.', '\/videoteca\/?macchina=Commodore+64']\r\n  ];\r\n  function host(u) { if (u.charAt(0) === '\/') return 'retrofixer.it'; try { return new URL(u).hostname.replace(\/^www\\.\/, ''); } catch (e) { return ''; } }\r\n  $('rfdDocs').innerHTML = DOCS.map(function (d) {\r\n    var ext = d[4].charAt(0) !== '\/';\r\n    return '<a class=\"card\" href=\"' + d[4] + '\"' + (ext ? ' target=\"_blank\" rel=\"noopener\"' : '') + ' style=\"--acc:' + d[1] + '\"><div class=\"ct\">' + pix(d[0], d[1]) + '<h4>' + esc(d[2]) + '<\/h4><\/div><p>' + esc(d[3]) + '<\/p><span class=\"dom\">' + esc(host(d[4])) + (ext ? ' \u2197' : ' \u2192') + '<\/span><\/a>';\r\n  }).join('');\r\n\r\n  \/* ---------- diagnosi guidata ---------- *\/\r\n  var path = ['start'];\r\n  var nodeCount = Object.keys(TREE).filter(function (k) { return !TREE[k].question; }).length;\r\n  $('rfdCount').innerHTML = nodeCount + ' DIAGNOSI<small>SYSTEM READY.<\/small>';\r\n  function title(id) { var n = TREE[id]; if (!n) return id; if (id === 'start') return 'Avvio'; return n.diagnosis || n.question; }\r\n  function shortT(s) { s = String(s); return s.length > 38 ? s.slice(0, 36) + '\u2026' : s; }\r\n  function li(line) {\r\n    var t = String(line);\r\n    if (!t.trim()) return '';\r\n    var m = \/^\\s*(?:\u2022|-|\u2013)\\s*(.*)$\/.exec(t);\r\n    if (\/^\\s{2,}\/.test(t) || (m && \/^\\s\/.test(t))) return '<li class=\"sub\">' + esc(m ? m[1] : t.trim()) + '<\/li>';\r\n    if (\/^\\s*(POKE|SYS|LOAD|PRINT)\\b\/.test(t)) return '<li class=\"code\">' + esc(t.trim()) + '<\/li>';\r\n    if (\/:\\s*$\/.test(t)) return '<li class=\"head\">' + esc(t.trim()) + '<\/li>';\r\n    return '<li>' + esc(m ? m[1] : t) + '<\/li>';\r\n  }\r\n  function render(scroll) {\r\n    var id = path[path.length - 1], n = TREE[id];\r\n    if (!n) { path = ['start']; id = 'start'; n = TREE.start; }\r\n    $('rfdCrumbs').innerHTML = path.map(function (p, i) {\r\n      var last = i === path.length - 1;\r\n      return (i ? '<span>\u203a<\/span>' : '') + (last ? '<span class=\"here\">' + esc(shortT(title(p))) + '<\/span>' : '<button type=\"button\" data-crumb=\"' + i + '\">' + esc(shortT(title(p))) + '<\/button>');\r\n    }).join('');\r\n    $('rfdBack').disabled = path.length < 2;\r\n    var html = '';\r\n    if (n.question) {\r\n      html = '<div class=\"c64\"><div class=\"ready\">READY.<\/div><div class=\"qq\">? ' + esc(n.question) + '<\/div>' +\r\n        (n.info ? '<div class=\"info\"><b>' + esc(n.info.title) + '<\/b>' + n.info.content.map(function (l) { return l ? esc(l) + '<br>' : '<br>'; }).join('') + '<\/div>' : '') +\r\n        '<div class=\"opts\">' + n.options.map(function (o, i) { return '<button type=\"button\" class=\"opt\" data-next=\"' + esc(o.next) + '\"><span class=\"n\">' + (i < 9 ? (i + 1) : '\u00b7') + '.<\/span><span>' + esc(o.label) + '<\/span><\/button>'; }).join('') + '<\/div>' +\r\n        '<div class=\"ready\" style=\"margin-top:12px\">PREMI 1-' + Math.min(9, n.options.length) + ' <span class=\"cur\"><\/span><\/div><\/div>';\r\n      hotSet = []; renderBoard();\r\n    } else {\r\n      var sev = SEV[n.severity] || ['#7c70da', 'DIAGNOSI'];\r\n      var text = [n.diagnosis].concat(n.checks || [], n.solutions || [], n.notes || [], (n.chipLocations && n.chipLocations.positions) || []).join(' ');\r\n      var chips = chipsInText(text);\r\n      var eq = equipFor(id), links = [], video = null;\r\n      LINK_RULES.forEach(function (r) { if (r[0].test(id)) links = links.concat(r[1]); });\r\n      for (var v = 0; v < VIDEO_RULES.length; v++) if (VIDEO_RULES[v][0].test(id)) { video = VIDEO_RULES[v][1]; break; }\r\n      html = '<div class=\"dg\"><div class=\"dg-head\" style=\"--sev:' + sev[0] + '\"><h3>' + esc(n.diagnosis) + '<\/h3><span class=\"sev\">' + sev[1] + '<\/span><\/div>' +\r\n        '<div class=\"cols\"><div class=\"box\" style=\"--acc:#3fd8ff\"><h4>\ud83d\udd0d VERIFICHE DA FARE<\/h4><ul>' + (n.checks || []).map(li).join('') + '<\/ul><\/div>' +\r\n        '<div class=\"box\" style=\"--acc:#5ad15f\"><h4>\ud83d\udd27 POSSIBILI SOLUZIONI<\/h4><ul>' + (n.solutions || []).map(li).join('') + '<\/ul><\/div><\/div>' +\r\n        (n.chipLocations ? '<div class=\"box\" style=\"--acc:#c09bff\"><h4>\ud83d\udccd ' + esc(n.chipLocations.title.toUpperCase()) + '<\/h4><ul>' + n.chipLocations.positions.map(li).join('') + '<\/ul><\/div>' : '') +\r\n        (n.notes ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udcdd NOTE<\/h4><p>' + esc(n.notes) + '<\/p><\/div>' : '') +\r\n        (chips.length ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udd32 CHIP COINVOLTI (BREADBIN)<\/h4><div class=\"chips\">' + chips.map(function (k) { var p = k.split('-'), c = CHIPS.bb[+p[0]][1][+p[1]]; return '<button type=\"button\" class=\"chip\" data-chip=\"' + k + '\"><span class=\"u\">' + esc(c[0]) + '<\/span>' + esc(c[2]) + '<\/button>'; }).join('') + '<\/div><\/div>' : '') +\r\n        '<div class=\"box\" style=\"--acc:#f8961e\"><h4>\ud83e\uddf0 ATTREZZATURA PER QUESTA RICERCA<\/h4><div class=\"tools\">' + eq.map(function (k) { var t = TOOLS[k]; return '<div class=\"tool\">' + pix(t[1], t[2]) + '<span>' + esc(t[0]) + '<\/span><\/div>'; }).join('') + '<\/div><\/div>' +\r\n        ((links.length || video) ? '<div class=\"links\">' + links.map(function (l) { return '<a class=\"btn\" href=\"' + l[1] + '\">' + esc(l[0]) + '<\/a>'; }).join('') + (video ? '<a class=\"btn r\" href=\"\/videoteca\/?q=' + encodeURIComponent(video) + '\">\u25b6 VIDEO: ' + esc(video.toUpperCase()) + '<\/a>' : '') + '<\/div>' : '') +\r\n        '<\/div>';\r\n      if (board !== 'bb') { board = 'bb'; root.querySelectorAll('.tab').forEach(function (t) { t.classList.toggle('on', t.dataset.b === 'bb'); }); }\r\n      hotSet = chips; renderBoard();\r\n    }\r\n    $('rfdStep').innerHTML = html;\r\n    writeUrl(id);\r\n    if (scroll) $('rfd-diagnosi').scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n  }\r\n  function go(id, scroll) {\r\n    if (!TREE[id]) return;\r\n    var i = path.indexOf(id);\r\n    if (i >= 0) path = path.slice(0, i + 1); else path.push(id);\r\n    render(scroll);\r\n  }\r\n  function jump(id) { path = ['start']; if (id !== 'start') path = pathTo(id) || ['start', id]; render(true); }\r\n  \/\/ percorso dalla domanda iniziale fino a un nodo (per le scorciatoie)\r\n  function pathTo(target) {\r\n    var seen = {}, q = [['start']];\r\n    while (q.length) {\r\n      var p = q.shift(), last = p[p.length - 1];\r\n      if (last === target) return p;\r\n      if (seen[last]) continue; seen[last] = 1;\r\n      var n = TREE[last]; if (n && n.options) n.options.forEach(function (o) { q.push(p.concat(o.next)); });\r\n    }\r\n    return null;\r\n  }\r\n  function writeUrl(id) {\r\n    var p = new URLSearchParams(location.search);\r\n    if (id && id !== 'start') p.set('passo', id); else p.delete('passo');\r\n    var s = p.toString();\r\n    try { history.replaceState(null, '', location.pathname + (s ? '?' + s : '') + location.hash); } catch (e) { \/* ignora *\/ }\r\n  }\r\n\r\n  \/* ---------- ricerca ---------- *\/\r\n  var INDEX = Object.keys(TREE).map(function (k) {\r\n    var n = TREE[k];\r\n    return { id: k, t: title(k), d: !n.question, text: norm([title(k)].concat(n.checks || [], n.solutions || [], n.notes || [], (n.options || []).map(function (o) { return o.label; })).join(' ')) };\r\n  }).filter(function (x) { return x.id !== 'start'; });\r\n  function search(q) {\r\n    var words = norm(q).split(\/\\s+\/).filter(function (w) { return w.length > 1; });\r\n    if (!words.length) { $('rfdRes').innerHTML = ''; return; }\r\n    var res = INDEX.map(function (x) {\r\n      var s = 0; for (var i = 0; i < words.length; i++) { if (x.text.indexOf(words[i]) < 0) return null; if (norm(x.t).indexOf(words[i]) >= 0) s += 3; s += 1; }\r\n      return { x: x, s: s + (x.d ? 1 : 0) };\r\n    }).filter(Boolean).sort(function (a, b) { return b.s - a.s; }).slice(0, 8);\r\n    $('rfdRes').innerHTML = res.length ? res.map(function (r) {\r\n      return '<button type=\"button\" class=\"res\" data-jump=\"' + r.x.id + '\"><span class=\"tp' + (r.x.d ? ' d' : '') + '\">' + (r.x.d ? 'DIAGNOSI' : 'DOMANDA') + '<\/span>' + esc(r.x.t) + '<\/button>';\r\n    }).join('') : '<div class=\"res\" style=\"cursor:default\">?NOT FOUND \u2014 prova con un\\'altra parola, per esempio \"schermo\", \"suono\", \"tastiera\".<\/div>';\r\n  }\r\n\r\n  \/* ---------- eventi ---------- *\/\r\n  var st;\r\n  $('rfdQ').addEventListener('input', function (e) { clearTimeout(st); st = setTimeout(function () { search(e.target.value); }, 120); });\r\n  root.addEventListener('click', function (e) {\r\n    var t;\r\n    if ((t = e.target.closest('[data-next]'))) { go(t.dataset.next, false); var f = $('rfdStep').querySelector('.opt, .dg-head'); if (f) $('rfd-diagnosi').scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }\r\n    if ((t = e.target.closest('[data-crumb]'))) { path = path.slice(0, +t.dataset.crumb + 1); render(false); return; }\r\n    if ((t = e.target.closest('[data-go]'))) { jump(t.dataset.go); return; }\r\n    if ((t = e.target.closest('[data-jump]'))) { $('rfdRes').innerHTML = ''; $('rfdQ').value = ''; jump(t.dataset.jump); return; }\r\n    if ((t = e.target.closest('[data-chip]'))) { chipInfo(t.dataset.chip); $('rfd-chip').scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }\r\n    if ((t = e.target.closest('.ic'))) { chipInfo(t.dataset.c); return; }\r\n    if ((t = e.target.closest('.tab'))) { board = t.dataset.b; root.querySelectorAll('.tab').forEach(function (x) { x.classList.toggle('on', x === t); }); hotSet = board === 'bb' ? hotSet : []; renderBoard(); $('rfdIcInfo').textContent = 'Seleziona un chip per vedere i dettagli.'; return; }\r\n  });\r\n  $('rfdBack').onclick = function () { if (path.length > 1) { path.pop(); render(false); } };\r\n  $('rfdRestart').onclick = function () { path = ['start']; render(true); };\r\n  $('rfdShare').onclick = function () {\r\n    var url = location.href, done = function () { toast('LINK COPIATO.'); };\r\n    if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(url).then(done, function () { prompt('Copia il link:', url); });\r\n    else prompt('Copia il link:', url);\r\n  };\r\n  document.addEventListener('keydown', function (e) {\r\n    if (e.target.closest && e.target.closest('input, textarea, select, [contenteditable]')) return;\r\n    if (e.ctrlKey || e.metaKey || e.altKey || !\/^[1-9]$\/.test(e.key)) return;\r\n    var r = $('rfd-diagnosi').getBoundingClientRect();\r\n    if (r.bottom < 0 || r.top > innerHeight) return;\r\n    var b = $('rfdStep').querySelectorAll('.opt')[+e.key - 1];\r\n    if (b) { e.preventDefault(); b.click(); }\r\n  });\r\n  var tt;\r\n  function toast(m) { var t = $('rfdToast'); t.textContent = m; t.classList.add('show'); clearTimeout(tt); tt = setTimeout(function () { t.classList.remove('show'); }, 1800); }\r\n\r\n  var start = new URLSearchParams(location.search).get('passo');\r\n  renderBoard();\r\n  if (start && TREE[start]) { path = pathTo(start) || ['start', start]; render(false); setTimeout(function () { $('rfd-diagnosi').scrollIntoView({ block: 'start' }); }, 300); }\r\n  else render(false);\r\n})();\r\n\r\n}<\/script>\r\n<\/div>\r\n<script type=\"text\/plain\" class=\"rf-en-src\" data-no-translation><link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Press+Start+2P&family=VT323&family=Inter:wght@400;500;600;700&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n.rfd{\r\n  --bg:#0f0c24; --bg2:#171338; --panel:#1d1846; --line:#342c74; --text:#eceaff; --muted:#aaa5d8;\r\n  --c64:#3e31a2; --c64l:#7c70da; --ink:#b3abff; --mag:#e0398a; --yel:#ffd23f; --grn:#5ad15f; --cya:#3fd8ff; --ora:#f8961e; --red:#f94144;\r\n  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--text); background:var(--bg); line-height:1.55;\r\n  position:relative; padding:44px 0 70px; overflow:hidden;\r\n}\r\n.rfd *,.rfd *::before,.rfd *::after{box-sizing:border-box}\r\n.rfd h2,.rfd h3,.rfd h4,.rfd p,.rfd ul,.rfd ol{margin:0;padding:0}\r\n.rfd h2,.rfd h3,.rfd h4{font-family:'Inter',system-ui,sans-serif!important;letter-spacing:0;text-transform:none;font-weight:700}\r\n.rfd a{color:inherit;text-decoration:none}\r\n.rfd button,.rfd input{font:inherit;color:inherit}\r\n.rfd button{cursor:pointer}\r\n\/* il tema centra il contenuto di tutti i pulsanti: qui lo rimettiamo a posto *\/\r\n.rfd .opt,.rfd .res{justify-content:flex-start!important;text-align:left!important}\r\n.rfd .opt{align-items:baseline!important}\r\n.rfd .ic{display:block!important;text-align:left!important;height:auto!important;line-height:1.3!important}\r\n.rfd [hidden]{display:none!important}\r\n.rfd .wrap{max-width:1200px;margin:0 auto;padding:0 20px}\r\n.rfd .stripe{height:6px;background:linear-gradient(90deg,var(--red) 0 16.6%,var(--ora) 0 33.3%,var(--yel) 0 50%,var(--grn) 0 66.6%,var(--cya) 0 83.3%,var(--c64l) 0);position:absolute;left:0;right:0;top:0}\r\n.rfd .kicker{display:inline-block;font-family:'Press Start 2P',monospace;font-size:10px;color:var(--yel);letter-spacing:.06em;margin-bottom:12px}\r\n.rfd .h2{font-family:'Press Start 2P',monospace!important;font-size:clamp(17px,2.4vw,26px);line-height:1.45;color:#fff;text-shadow:3px 3px 0 #000;margin-bottom:10px;font-weight:400}\r\n.rfd .h3{font-family:'Press Start 2P',monospace!important;font-size:clamp(13px,1.6vw,16px);line-height:1.5;color:#fff;margin-bottom:8px;font-weight:400}\r\n.rfd .sub{color:var(--muted);font-size:15.5px;max-width:720px}\r\n.rfd section{margin-top:56px}\r\n.rfd .head{margin-bottom:20px}\r\n\r\n\/* intestazione *\/\r\n.rfd .top{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}\r\n.rfd .lcd{font-family:'VT323',monospace;font-size:24px;line-height:1.05;color:var(--grn);background:#05040f;border:2px solid #000;border-radius:8px;padding:10px 14px;text-shadow:0 0 6px rgba(90,209,95,.6);white-space:nowrap}\r\n.rfd .lcd small{font-size:17px;color:#3f8f43;display:block}\r\n.rfd .nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}\r\n.rfd .nav a{font-size:13px;font-weight:600;color:var(--muted);border:2px solid var(--line);background:var(--panel);border-radius:999px;padding:6px 12px;transition:color .15s,border-color .15s}\r\n.rfd .nav a:hover{color:#fff;border-color:var(--c64l)}\r\n\r\n\/* ricerca *\/\r\n.rfd .term{background:var(--c64);border:10px solid var(--c64l);border-radius:12px;padding:12px 16px;box-shadow:0 0 0 3px #000,0 18px 40px rgba(0,0,0,.45);position:relative}\r\n.rfd .term::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.14) 0 1px,transparent 1px 3px)}\r\n.rfd .term label{display:block;font-family:'VT323',monospace;font-size:20px;color:var(--ink)}\r\n.rfd .qrow{display:flex;align-items:center;gap:10px}\r\n.rfd .qrow span{font-family:'VT323',monospace;font-size:28px;color:#fff}\r\n.rfd .q{flex:1;min-width:0;background:transparent;border:0;outline:0;font-family:'VT323',monospace!important;font-size:28px;color:#fff;caret-color:#fff;padding:2px 0;text-transform:uppercase}\r\n.rfd .q::placeholder{color:#8e86e0;text-transform:none}\r\n.rfd .results{display:grid;gap:6px;margin-top:10px}\r\n.rfd .res{display:flex;gap:10px;align-items:center;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:10px 12px;color:#fff;font-size:14px}\r\n.rfd .res:hover,.rfd .res:focus-visible{border-color:var(--yel);outline:0}\r\n.rfd .res .tp{font-family:'Press Start 2P',monospace;font-size:7px;padding:4px 6px;border-radius:4px;background:var(--c64l);color:#15102e;flex:none}\r\n.rfd .res .tp.d{background:var(--grn)}\r\n.rfd .res mark{background:var(--yel);color:#15102e;border-radius:2px;padding:0 1px}\r\n\r\n\/* schermate tipiche *\/\r\n.rfd .screens{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\r\n.rfd .scard{display:flex;flex-direction:column;align-items:stretch!important;gap:10px;text-align:left;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:12px;transition:transform .18s,border-color .18s,box-shadow .18s}\r\n.rfd .scard:hover,.rfd .scard:focus-visible{transform:translateY(-4px);border-color:var(--yel);box-shadow:0 12px 28px rgba(0,0,0,.45);outline:0}\r\n.rfd .tv{position:relative;width:100%;aspect-ratio:4\/3;border-radius:10px;background:#111;padding:6%;box-shadow:inset 0 0 0 3px #000;container-type:inline-size;overflow:hidden}\r\n.rfd .tv::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.18) 0 1px,transparent 1px 3px),radial-gradient(ellipse at center,transparent 60%,rgba(0,0,0,.45) 100%)}\r\n.rfd .scr{position:absolute;inset:0;background:#7c70da;padding:9% 7%}\r\n.rfd .scr .in{width:100%;height:100%;background:#3e31a2;color:#b3abff;font-family:'VT323',monospace;font-size:4.7cqw;line-height:1.02;white-space:pre;overflow:hidden;padding:1% 1.5%}\r\n.rfd .scr.black,.rfd .scr.black .in{background:#000}\r\n.rfd .scr.nosig{background:#000;display:flex;align-items:center;justify-content:center}\r\n.rfd .scr.nosig b{font-family:'Inter',sans-serif;font-size:5.5cqw;color:#fff;background:#1d4fd8;padding:3% 6%;border-radius:4px}\r\n.rfd .scr.jail .in{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2.5%,transparent 2.5% 6%)}\r\n.rfd .scard b{font-size:14.5px;color:#fff;line-height:1.3}\r\n.rfd .scard small{font-size:12.5px;color:var(--muted);line-height:1.4}\r\n.rfd .scard .go{font-family:'Press Start 2P',monospace;font-size:8px;color:var(--yel);margin-top:auto}\r\n\r\n\/* diagnosi guidata *\/\r\n.rfd .wiz{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}\r\n.rfd .crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}\r\n.rfd .crumbs button{background:none;border:0;color:var(--cya);padding:2px 0;font-weight:600}\r\n.rfd .crumbs button:hover{text-decoration:underline}\r\n.rfd .crumbs span{color:var(--muted)}\r\n.rfd .crumbs .here{color:#fff;font-weight:700}\r\n.rfd .c64{background:var(--c64);border:16px solid var(--c64l);border-radius:14px;padding:20px 22px;box-shadow:0 0 0 3px #000,0 24px 50px rgba(0,0,0,.5);position:relative;color:var(--ink);font-family:'VT323',monospace}\r\n.rfd .c64::after{content:\"\";position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.12) 0 1px,transparent 1px 3px)}\r\n.rfd .c64 .ready{font-size:22px;margin-bottom:6px}\r\n.rfd .c64 .qq{font-size:clamp(22px,2.6vw,28px);line-height:1.2;color:#fff;margin-bottom:14px}\r\n.rfd .c64 .info{background:rgba(0,0,0,.22);border:2px dashed var(--ink);border-radius:8px;padding:10px 12px;margin-bottom:14px;font-size:19px;line-height:1.25}\r\n.rfd .c64 .info b{display:block;color:#fff;margin-bottom:4px;font-weight:400}\r\n.rfd .opts{display:grid;gap:8px;position:relative;z-index:1}\r\n.rfd .opt{display:flex;gap:12px;align-items:baseline;text-align:left;background:transparent;border:2px solid var(--ink);border-radius:6px;padding:8px 12px;color:#fff;font-family:'VT323',monospace!important;font-size:21px;line-height:1.15;transition:background .1s,color .1s}\r\n.rfd .opt:hover,.rfd .opt:focus-visible{background:var(--ink);color:var(--c64);outline:0}\r\n.rfd .opt .n{flex:none;color:var(--yel)}\r\n.rfd .opt:hover .n,.rfd .opt:focus-visible .n{color:var(--c64)}\r\n.rfd .cur{display:inline-block;width:.55em;height:1em;background:currentColor;vertical-align:-.12em;animation:rfd-blink 1s steps(1) infinite}\r\n@keyframes rfd-blink{50%{opacity:0}}\r\n.rfd .acts{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .btn{display:inline-flex;align-items:center;gap:8px;font-family:'Press Start 2P',monospace;font-size:9px;padding:12px 14px;border-radius:8px;border:2px solid var(--line);background:rgba(255,255,255,.04);color:#fff;transition:transform .12s,filter .12s}\r\n.rfd .btn:hover{transform:translateY(-2px);filter:brightness(1.15)}\r\n.rfd .btn.y{background:var(--yel);border-color:var(--yel);color:#231a00;box-shadow:0 4px 0 #a07d00}\r\n.rfd .btn.r{background:#ff0000;border-color:#ff0000;color:#fff;box-shadow:0 4px 0 #8a0000}\r\n\r\n\/* risultato *\/\r\n.rfd .dg{display:grid;gap:14px}\r\n.rfd .dg-head{display:flex;gap:14px;align-items:flex-start;justify-content:space-between;flex-wrap:wrap;background:var(--panel);border:2px solid var(--line);border-left:8px solid var(--sev);border-radius:12px;padding:16px 18px}\r\n.rfd .dg-head h3{font-size:clamp(18px,2.2vw,23px);color:#fff;line-height:1.3}\r\n.rfd .sev{font-family:'Press Start 2P',monospace;font-size:8px;padding:6px 8px;border-radius:4px;background:var(--sev);color:#15102e;white-space:nowrap}\r\n.rfd .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}\r\n.rfd .box{background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:16px 18px}\r\n.rfd .box h4{font-family:'Press Start 2P',monospace!important;font-size:9px;font-weight:400;color:var(--acc,var(--yel));margin-bottom:12px;letter-spacing:.04em}\r\n.rfd .box ul{list-style:none;display:grid;gap:7px}\r\n.rfd .box li{font-size:14.5px;color:#dcd8f6;padding-left:18px;position:relative}\r\n.rfd .box li::before{content:\"\u25b8\";position:absolute;left:0;color:var(--acc,var(--yel))}\r\n.rfd .box li.sub{padding-left:34px;color:var(--muted)}\r\n.rfd .box li.sub::before{left:18px;content:\"\u00b7\"}\r\n.rfd .box li.head{padding-left:0;color:#fff;font-weight:600;margin-top:4px}\r\n.rfd .box li.head::before{display:none}\r\n.rfd .box li.code{font-family:'VT323',monospace;font-size:19px;color:var(--grn);padding-left:18px}\r\n.rfd .box li.code::before{content:\">\";color:var(--grn)}\r\n.rfd .box p{font-size:14.5px;color:#dcd8f6}\r\n.rfd .chips{display:flex;flex-wrap:wrap;gap:8px}\r\n.rfd .chip{display:inline-flex;align-items:center;gap:6px;border:2px solid var(--line);background:#15113a;border-radius:8px;padding:6px 10px;font-size:13px;font-weight:600;color:#fff;transition:border-color .15s}\r\n.rfd .chip:hover{border-color:var(--yel)}\r\n.rfd .chip .u{font-family:'VT323',monospace;font-size:17px;color:var(--grn)}\r\n.rfd .tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}\r\n.rfd .tool{display:flex;gap:10px;align-items:center;background:#15113a;border:2px solid var(--line);border-radius:10px;padding:8px 10px;font-size:13.5px;color:#fff}\r\n.rfd .tool svg{width:26px;height:26px;flex:none}\r\n.rfd .links{display:flex;flex-wrap:wrap;gap:10px}\r\n\r\n\/* mappa chip *\/\r\n.rfd .tabs{display:flex;gap:8px;margin-bottom:14px}\r\n.rfd .tab{border:2px solid var(--line);background:var(--panel);border-radius:10px;padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--muted)}\r\n.rfd .tab.on{border-color:var(--yel);color:#fff;background:#2a2350}\r\n.rfd .board{background:#0b3d1f;background-image:linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);background-size:18px 18px;\r\n  border:3px solid #062612;border-radius:14px;padding:18px;display:grid;gap:16px}\r\n.rfd .grp b{display:block;font-family:'Press Start 2P',monospace;font-size:8px;color:#a8f0b8;margin-bottom:8px}\r\n.rfd .grp .row{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .ic{position:relative;min-width:116px;flex:1 1 116px;max-width:200px;text-align:left;background:#151515;border:2px solid #000;border-radius:4px;padding:10px 10px 10px 14px;color:#e8e8e8;\r\n  box-shadow:0 3px 0 #000;transition:transform .15s,box-shadow .15s,outline-color .15s;outline:3px solid transparent;outline-offset:2px}\r\n.rfd .ic::before{content:\"\";position:absolute;left:5px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#444}\r\n.rfd .ic::after{content:\"\";position:absolute;left:0;right:0;top:-5px;height:4px;background:repeating-linear-gradient(90deg,#c9c9c9 0 4px,transparent 4px 9px)}\r\n.rfd .ic .u{font-family:'VT323',monospace;font-size:20px;color:var(--grn);line-height:1}\r\n.rfd .ic .p{display:block;font-size:12.5px;font-weight:700;color:#fff;margin-top:2px}\r\n.rfd .ic .r{display:block;font-size:11.5px;color:#9a9a9a}\r\n.rfd .ic:hover{transform:translateY(-2px)}\r\n.rfd .ic.hot{outline-color:var(--yel);box-shadow:0 0 0 2px var(--yel),0 0 18px rgba(255,210,63,.55);animation:rfd-hot 1.2s ease-in-out infinite}\r\n@keyframes rfd-hot{50%{box-shadow:0 0 0 2px var(--yel),0 0 6px rgba(255,210,63,.2)}}\r\n.rfd .icinfo{margin-top:12px;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:14px 16px;font-size:14.5px;color:#dcd8f6;min-height:64px}\r\n.rfd .icinfo b{color:#fff}\r\n\r\n\/* schede (periferiche, attrezzatura, link) *\/\r\n.rfd .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}\r\n.rfd .card{display:flex;flex-direction:column;gap:8px;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:16px;transition:border-color .15s,transform .15s}\r\n.rfd a.card:hover{border-color:var(--c64l);transform:translateY(-3px)}\r\n.rfd .card .ct{display:flex;gap:12px;align-items:center}\r\n.rfd .card svg{width:34px;height:34px;flex:none}\r\n.rfd .card h4{font-size:15px;color:#fff;line-height:1.3}\r\n.rfd .card .tag{font-size:11px;font-weight:700;color:var(--acc,var(--c64l));text-transform:uppercase;letter-spacing:.05em}\r\n.rfd .card p{font-size:13.5px;color:var(--muted)}\r\n.rfd .card .dom{font-size:11.5px;color:#6f68a8;margin-top:auto}\r\n.rfd .warn{display:flex;gap:12px;align-items:flex-start;background:#2a0c14;border:2px solid #7a1d33;border-radius:12px;padding:14px 16px;font-size:14px;color:#ffd6e0;margin-top:16px}\r\n.rfd .warn b{color:#fff}\r\n.rfd .foot{margin-top:40px;font-size:13px;color:var(--muted);text-align:center}\r\n.rfd .toast{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);background:#000;border:2px solid var(--grn);color:var(--grn);font-family:'VT323',monospace;font-size:20px;padding:8px 14px;border-radius:8px;opacity:0;transition:opacity .25s;pointer-events:none;z-index:50}\r\n.rfd .toast.show{opacity:1}\r\n\r\n@media (max-width:1024px){.rfd .screens{grid-template-columns:repeat(3,1fr)}.rfd .cards{grid-template-columns:repeat(2,1fr)}}\r\n@media (max-width:760px){\r\n  .rfd .screens{grid-template-columns:repeat(2,1fr);gap:12px}\r\n  .rfd .cols{grid-template-columns:1fr}\r\n  .rfd .c64{border-width:10px;padding:14px}\r\n  .rfd .q,.rfd .qrow span{font-size:23px}\r\n}\r\n@media (max-width:480px){\r\n  .rfd{padding:30px 0 50px}\r\n  .rfd .wrap{padding:0 14px}\r\n  .rfd .cards{grid-template-columns:1fr}\r\n  .rfd .term{border-width:7px;padding:10px 12px}\r\n  .rfd .ic{min-width:46%;max-width:none}\r\n}\r\n@media (prefers-reduced-motion:reduce){.rfd *{transition:none!important}.rfd .ic.hot{animation:none}}\r\n\/* riga del contatore visite (Post Views) prima del footer: diventa un separatore *\/\r\nbody:has(.rfd) .post-views.entry-meta{display:block;margin:0;padding:7px 16px;text-align:center;\r\n  font:12px\/1.4 'Inter',system-ui,sans-serif;color:#aaa5d8;background:#0f0c24;border-top:2px solid #342c74;border-bottom:2px solid #5ad15f}\r\n\/* barra di scelta del computer (in cima alle guide) *\/\r\n.rfd .mach{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:26px;padding:12px 14px;background:var(--bg2);border:2px solid var(--line);border-radius:14px}\r\n.rfd .mach-t{font-family:'Press Start 2P',monospace;font-size:9px;line-height:1.6;color:var(--yel);margin-right:auto}\r\n.rfd .mach-l{display:flex;flex-wrap:wrap;gap:10px}\r\n.rfd .mach a{display:flex;align-items:center;gap:10px;min-width:150px;background:var(--panel);border:2px solid var(--line);border-radius:10px;padding:7px 12px 7px 9px;transition:transform .15s,border-color .15s,box-shadow .15s}\r\n.rfd .mach a:hover,.rfd .mach a:focus-visible{transform:translateY(-2px);border-color:var(--c64l);outline:0}\r\n.rfd .mach a.on{border-color:var(--yel);background:#2a2350;box-shadow:0 0 0 2px rgba(255,210,63,.25)}\r\n.rfd .mach svg{width:74px;height:30px;flex:none;filter:drop-shadow(0 2px 0 #000)}\r\n.rfd .mach b{display:block;font-family:'Press Start 2P',monospace;font-size:10px;color:#fff;font-weight:400;line-height:1.4}\r\n.rfd .mach small{display:block;font-size:11px;color:var(--muted);line-height:1.3}\r\n.rfd .mach a.on small::after{content:\" \u00b7 sei qui\";color:var(--yel);font-weight:700}\r\n@media (max-width:760px){.rfd .mach-t{width:100%;margin:0}.rfd .mach-l{width:100%}.rfd .mach a{flex:1 1 30%;min-width:0;flex-direction:column;gap:6px;padding:8px 6px;text-align:center}.rfd .mach a.on small::after{content:\"\"}}\r\n<\/style>\r\n\r\n<div class=\"rfd\" id=\"rfd\">\r\n  <div class=\"stripe\"><\/div>\r\n  <div class=\"wrap\">\r\n    <style>.rfd .mach-t{width:100%;margin:0}.rfd .mach-l{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));width:100%}.rfd .mach a{min-width:0}@media (max-width:1100px){.rfd .mach-l{grid-template-columns:repeat(3,minmax(0,1fr))}}<\/style><nav class=\"mach\" aria-label=\"Choose your computer\">\r\n      <span class=\"mach-t\">FIX YOUR VIC-20, C64, C128 WITH AI<\/span>\r\n      <div class=\"mach-l\"><a href=\"\/en\/guasti-commodore-vic-20\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#efe6cf\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#b9ae93\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#fffaf0\"\/><rect x=\"3\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f94144\"\/><rect x=\"4\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f8961e\"\/><rect x=\"5\" y=\"5\" width=\"1\" height=\"1\" fill=\"#ffd23f\"\/><rect x=\"6\" y=\"5\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"7\" y=\"5\" width=\"1\" height=\"1\" fill=\"#3fd8ff\"\/><rect x=\"3\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"6\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"9\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"12\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"15\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"18\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"21\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"4\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"7\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"10\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"13\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"16\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"19\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"22\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"25\" y=\"9\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"3\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"9\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"15\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"18\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"21\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"24\" y=\"11\" width=\"2\" height=\"1\" fill=\"#6b4a2b\"\/><rect x=\"29\" y=\"7\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><rect x=\"29\" y=\"9\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><rect x=\"29\" y=\"11\" width=\"2\" height=\"1\" fill=\"#e8a33d\"\/><\/svg><\/span><span><b>VIC-20<\/b><small>1980 \u00b7 VIC-I<\/small><\/span><\/a><a href=\"\/en\/guasti-commodore-64\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"30\" height=\"1\" fill=\"#b3a387\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"8\" fill=\"#9c8c74\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#6e6250\"\/><rect x=\"3\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f94144\"\/><rect x=\"4\" y=\"5\" width=\"1\" height=\"1\" fill=\"#f8961e\"\/><rect x=\"5\" y=\"5\" width=\"1\" height=\"1\" fill=\"#ffd23f\"\/><rect x=\"6\" y=\"5\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"7\" y=\"5\" width=\"1\" height=\"1\" fill=\"#3fd8ff\"\/><rect x=\"3\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"6\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"9\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"12\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"15\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"18\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"21\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"4\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"7\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"10\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"13\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"16\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"19\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"22\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"25\" y=\"9\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"3\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"9\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"15\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"18\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"21\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"24\" y=\"11\" width=\"2\" height=\"1\" fill=\"#3b2f24\"\/><rect x=\"29\" y=\"7\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><rect x=\"29\" y=\"9\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><rect x=\"29\" y=\"11\" width=\"2\" height=\"1\" fill=\"#c9bba0\"\/><\/svg><\/span><span><b>C64<\/b><small>1982 \u00b7 VIC-II \/ SID<\/small><\/span><\/a><a href=\"\/en\/guasti-commodore-128\/\"><span><svg viewBox=\"0 0 68 28\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"2\" y=\"3\" width=\"64\" height=\"6\" fill=\"#8e897b\"\/><rect x=\"2\" y=\"3\" width=\"64\" height=\"1\" fill=\"#a6a193\"\/><rect x=\"55\" y=\"5\" width=\"2\" height=\"1\" fill=\"#5ad15f\"\/><rect x=\"58\" y=\"5\" width=\"2\" height=\"1\" fill=\"#f94144\"\/><rect x=\"2\" y=\"9\" width=\"64\" height=\"1\" fill=\"#6e6a5f\"\/><rect x=\"2\" y=\"10\" width=\"64\" height=\"4\" fill=\"#b8b09a\"\/><rect x=\"6\" y=\"11\" width=\"2\" height=\"2\" fill=\"#f94144\"\/><rect x=\"8\" y=\"11\" width=\"2\" height=\"2\" fill=\"#f8961e\"\/><rect x=\"10\" y=\"11\" width=\"2\" height=\"2\" fill=\"#ffd23f\"\/><rect x=\"12\" y=\"11\" width=\"2\" height=\"2\" fill=\"#5ad15f\"\/><rect x=\"14\" y=\"11\" width=\"2\" height=\"2\" fill=\"#3fd8ff\"\/><rect x=\"56\" y=\"11\" width=\"4\" height=\"2\" fill=\"#d8d0bb\"\/><rect x=\"2\" y=\"14\" width=\"64\" height=\"1\" fill=\"#6e6a5f\"\/><rect x=\"2\" y=\"15\" width=\"64\" height=\"11\" fill=\"#ece4c6\"\/><rect x=\"2\" y=\"26\" width=\"64\" height=\"1\" fill=\"#b9ae93\"\/><rect x=\"5\" y=\"16\" width=\"42\" height=\"9\" fill=\"#2b241b\"\/><rect x=\"6\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"9\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"12\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"18\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"21\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"24\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"27\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"30\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"33\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"36\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"39\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"42\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"7\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"10\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"13\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"16\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"19\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"22\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"25\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"28\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"31\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"34\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"37\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"40\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"6\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"9\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"12\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"18\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"21\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"24\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"27\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"30\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"33\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"36\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"39\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"42\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"15\" y=\"23\" width=\"20\" height=\"1\" fill=\"#d9cfae\"\/><rect x=\"50\" y=\"16\" width=\"13\" height=\"9\" fill=\"#2b241b\"\/><rect x=\"51\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"17\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"17\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"19\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"19\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"21\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"21\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><rect x=\"51\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"54\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"57\" y=\"23\" width=\"2\" height=\"1\" fill=\"#d4d4d4\"\/><rect x=\"60\" y=\"23\" width=\"2\" height=\"1\" fill=\"#8e897b\"\/><\/svg><\/span><span><b>C128<\/b><small>1985 \u00b7 Z80 + 8502<\/small><\/span><\/a><a href=\"\/en\/guasti-amiga\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#ece6d3\"\/><rect x=\"1\" y=\"12\" width=\"32\" height=\"1\" fill=\"#b9b19a\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#fffaf0\"\/><rect x=\"3\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"6\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"9\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"12\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"15\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"18\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"21\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"24\" y=\"6\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"4\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"7\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"10\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"13\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"16\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"19\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"22\" y=\"8\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"3\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"6\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"9\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"12\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"15\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"18\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"21\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"24\" y=\"10\" width=\"2\" height=\"1\" fill=\"#55524a\"\/><rect x=\"7\" y=\"11\" width=\"12\" height=\"1\" fill=\"#55524a\"\/><rect x=\"28\" y=\"6\" width=\"3\" height=\"1\" fill=\"#ff8800\"\/><rect x=\"28\" y=\"8\" width=\"1\" height=\"1\" fill=\"#0055aa\"\/><rect x=\"30\" y=\"8\" width=\"1\" height=\"1\" fill=\"#5ad15f\"\/><\/svg><\/span><span><b>Amiga<\/b><small>500 \u00b7 600 \u00b7 1200<\/small><\/span><\/a><a href=\"\/en\/guasti-sinclair\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"1\" y=\"4\" width=\"32\" height=\"9\" fill=\"#1a1a1a\"\/><rect x=\"1\" y=\"4\" width=\"32\" height=\"1\" fill=\"#3a3a3a\"\/><rect x=\"3\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"6\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"9\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"12\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"15\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"18\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"21\" y=\"6\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"4\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"7\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"10\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"13\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"16\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"19\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"22\" y=\"8\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"3\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"6\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"9\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"12\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"15\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"18\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"21\" y=\"10\" width=\"2\" height=\"1\" fill=\"#8a8a8a\"\/><rect x=\"25\" y=\"10\" width=\"1\" height=\"2\" fill=\"#d70000\"\/><rect x=\"26\" y=\"9\" width=\"1\" height=\"2\" fill=\"#ffd700\"\/><rect x=\"27\" y=\"8\" width=\"1\" height=\"2\" fill=\"#00d700\"\/><rect x=\"28\" y=\"7\" width=\"1\" height=\"2\" fill=\"#00d7d7\"\/><\/svg><\/span><span><b>Sinclair<\/b><small>ZX80 \u00b7 Spectrum \u00b7 QL<\/small><\/span><\/a><a href=\"\/en\/guasti-console\/\"><span><svg viewBox=\"0 0 34 14\" shape-rendering=\"crispEdges\" aria-hidden=\"true\"><rect x=\"5\" y=\"3\" width=\"24\" height=\"9\" fill=\"#5a5a6e\"\/><rect x=\"9\" y=\"6\" width=\"5\" height=\"1\" fill=\"#eee\"\/><rect x=\"11\" y=\"4\" width=\"1\" height=\"5\" fill=\"#eee\"\/><rect x=\"21\" y=\"5\" width=\"2\" height=\"2\" fill=\"#f94144\"\/><rect x=\"24\" y=\"7\" width=\"2\" height=\"2\" fill=\"#3fd8ff\"\/><\/svg><\/span><span><b>Console<\/b><small>Pong \u2192 PS2<\/small><\/span><\/a><\/div>\r\n    <\/nav>\r\n    <div class=\"top\">\r\n      <div>\r\n        <span class=\"kicker\">COMMODORE 64 FAULTS<\/span>\r\n        <h2 class=\"h2\">C64 Doctor: find the fault<\/h2>\r\n        <p class=\"sub\">Start from what you see on the screen or answer a few questions: we'll tell you which chips to check, what equipment you need and how to proceed. Works for the C64 breadbin, C64C and SX-64.<\/p>\r\n      <\/div>\r\n      <div class=\"lcd\" id=\"rfdCount\">--- DIAGNOSES<small>SYSTEM READY.<\/small><\/div>\r\n    <\/div>\r\n    <nav class=\"nav\" aria-label=\"Page sections\">\r\n      <a href=\"#rfd-schermi\">\ud83d\udcfa Screens<\/a><a href=\"#rfd-diagnosi\">\ud83e\ude7a Guided diagnosis<\/a><a href=\"#rfd-chip\">\ud83d\udd32 Chip map<\/a>\r\n      <a href=\"#rfd-periferiche\">\ud83d\udd79 Test hardware<\/a><a href=\"#rfd-attrezzi\">\ud83d\udd27 Equipment<\/a><a href=\"#rfd-schemi\">\ud83d\udcd0 Schematics and docs<\/a>\r\n    <\/nav>\r\n\r\n    <div class=\"term\">\r\n      <label for=\"rfdQ\">SEARCH \"SYMPTOM\",8,1<\/label>\r\n      <div class=\"qrow\"><span aria-hidden=\"true\">&gt;<\/span>\r\n        <input class=\"q\" id=\"rfdQ\" type=\"search\" placeholder=\"e.g. garbage, no sound, 1541, bytes free, RESTORE\u2026\" autocomplete=\"off\" spellcheck=\"false\">\r\n      <\/div>\r\n    <\/div>\r\n    <div class=\"results\" id=\"rfdRes\"><\/div>\r\n\r\n    <\\!-- typical screens -->\r\n    <section id=\"rfd-schermi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">WHAT DO YOU SEE ON THE SCREEN?<\/span>\r\n        <h3 class=\"h3\">Recognise the fault from the screen<\/h3>\r\n        <p class=\"sub\">Simulations of the most common symptoms. Click the one that looks like your screen to go to the diagnosis.<\/p>\r\n      <\/div>\r\n      <div class=\"screens\" id=\"rfdScreens\"><\/div>\r\n    <\/section>\r\n\r\n    <\\!-- guided diagnosis -->\r\n    <section id=\"rfd-diagnosi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">GUIDED DIAGNOSIS<\/span>\r\n        <h3 class=\"h3\">Answer the questions<\/h3>\r\n        <p class=\"sub\">Click the answers or press keys 1-9. The path you have taken stays at the top and you can go back to any step.<\/p>\r\n      <\/div>\r\n      <div class=\"wiz\">\r\n        <div class=\"crumbs\" id=\"rfdCrumbs\"><\/div>\r\n        <div id=\"rfdStep\"><\/div>\r\n        <div class=\"acts\">\r\n          <button class=\"btn\" id=\"rfdBack\" type=\"button\">\u25c0 BACK<\/button>\r\n          <button class=\"btn\" id=\"rfdRestart\" type=\"button\">\u21ba START OVER<\/button>\r\n          <button class=\"btn\" id=\"rfdShare\" type=\"button\">\ud83d\udd17 COPY LINK<\/button>\r\n        <\/div>\r\n      <\/div>\r\n    <\/section>\r\n\r\n    <\\!-- chip map -->\r\n    <section id=\"rfd-chip\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">CHIP MAP<\/span>\r\n        <h3 class=\"h3\">The main chips of the C64<\/h3>\r\n        <p class=\"sub\">Grouped by function (this is not the physical layout of the board). Click a chip to find out what it does and which symptoms it causes when it fails. During the diagnosis, the chips involved light up.<\/p>\r\n      <\/div>\r\n      <div class=\"tabs\" role=\"tablist\"><button type=\"button\" class=\"tab on\" data-b=\"bb\">Breadbin (250407 \/ 250425)<\/button><button type=\"button\" class=\"tab\" data-b=\"cc\">C64C (250469)<\/button><\/div>\r\n      <div class=\"board\" id=\"rfdBoard\"><\/div>\r\n      <div class=\"icinfo\" id=\"rfdIcInfo\">Select a chip to see the details.<\/div>\r\n    <\/section>\r\n\r\n    <\\!-- test hardware -->\r\n    <section id=\"rfd-periferiche\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">HARDWARE THAT HELPS<\/span>\r\n        <h3 class=\"h3\">Test cartridges and diagnostic tools<\/h3>\r\n        <p class=\"sub\">These tools make fault-finding much faster, and at the end you can run a complete final test.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdPeriph\"><\/div>\r\n    <\/section>\r\n\r\n    <\\!-- equipment -->\r\n    <section id=\"rfd-attrezzi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">EQUIPMENT<\/span>\r\n        <h3 class=\"h3\">What you need on the workbench<\/h3>\r\n        <p class=\"sub\">You don't need everything straight away: each diagnosis tells you what you need for that kind of fault.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdTools\"><\/div>\r\n      <div class=\"warn\">\u26a0\ufe0f <span><b>Safety.<\/b> Before switching on a C64 you have just picked up, measure the power supply: original units can drift above 5 V as they age and burn out the chips. On the SX-64 the CRT monitor carries dangerous voltages even with the computer switched off: don't open it unless you know how to discharge it.<\/span><\/div>\r\n    <\/section>\r\n\r\n    <\\!-- schematics -->\r\n    <section id=\"rfd-schemi\">\r\n      <div class=\"head\">\r\n        <span class=\"kicker\">SCHEMATICS AND DOCUMENTATION<\/span>\r\n        <h3 class=\"h3\">For those who want to repair it themselves<\/h3>\r\n        <p class=\"sub\">Schematics, service manuals and the communities where you can ask for help.<\/p>\r\n      <\/div>\r\n      <div class=\"cards\" id=\"rfdDocs\"><\/div>\r\n    <\/section>\r\n\r\n    <p class=\"foot\">This tool gives general guidance based on the most common faults. For complex repairs, ask an experienced technician or the C64 community.<\/p>\r\n  <\/div>\r\n  <div class=\"toast\" id=\"rfdToast\" role=\"status\"><\/div>\r\n<\/div>\r\n\r\n<script type=\"application\/json\" id=\"rfdData\">{\"start\":{\"question\":\"What is the main problem with your Commodore 64?\",\"options\":[{\"label\":\"Black screen \/ No video\",\"next\":\"blackScreenIntro\"},{\"label\":\"Blank screen or screen with errors\",\"next\":\"blueScreenIntro\"},{\"label\":\"No sound\",\"next\":\"noSound\"},{\"label\":\"Keyboard not working\",\"next\":\"keyboard\"},{\"label\":\"Problems with the joystick ports\",\"next\":\"joystick\"},{\"label\":\"The computer switches on but freezes\",\"next\":\"freeze\"},{\"label\":\"Loading problems from datasette\/floppy\",\"next\":\"loading\"},{\"label\":\"Wrong or disturbed colours\",\"next\":\"colorIssues\"},{\"label\":\"Constant resets or instability\",\"next\":\"instability\"},{\"label\":\"Wrong free memory (not 38911 bytes)\",\"next\":\"wrongMemory\"},{\"label\":\"SX-64 specific problems\",\"next\":\"sx64Problems\"},{\"label\":\"The RESTORE key doesn't work\",\"next\":\"restoreKey\"},{\"label\":\"Cartridges won't start\",\"next\":\"cartridgePort\"},{\"label\":\"The C64 gets very hot or there is a burning smell\",\"next\":\"overheating\"},{\"label\":\"I've repaired it: I want to run a complete final test\",\"next\":\"finalTest\"}]},\"blackScreenIntro\":{\"question\":\"First of all, let's find out whether there is no video signal at all, or a black screen with a signal present. How does your monitor\/TV behave?\",\"info\":{\"title\":\"How to tell whether there is a video signal\",\"content\":[\"\ud83d\udcfa On modern LCD monitors\/TVs:\",\"\u2022 If there is NO signal: a message such as 'No Signal' or 'Check cable' appears\",\"\u2022 If there is a black signal: the screen changes state (lights up, goes from blue\/grey to black)\",\"\",\"\ud83d\udcfa On CRT monitors (cathode ray tube):\",\"\u2022 At power-on you should see a small flash\",\"\u2022 The sound of the tube charging up shows that it is getting power\",\"\u2022 With a signal: the screen shows uniform black\",\"\u2022 Without a signal: a noise pattern or a screen with a slight static glow\"]},\"options\":[{\"label\":\"No video signal (monitor says 'No Signal' or similar)\",\"next\":\"noVideoSignal\"},{\"label\":\"There is a signal but the screen is completely black\",\"next\":\"blackScreenWithSignal\"}]},\"blueScreenIntro\":{\"question\":\"Describe in more detail what happens on the computer's screen\",\"options\":[{\"label\":\"Coloured screen (e.g. blue) but no text or cursor\",\"next\":\"blueScreenNoText\"},{\"label\":\"Normal screen but wrong memory (not 38911)\",\"next\":\"wrongMemory\"},{\"label\":\"Strange characters or garbage on screen\",\"next\":\"garbageScreen\"},{\"label\":\"Wrong or blocky letters (the text is in the right place)\",\"next\":\"charRomFault\"},{\"label\":\"Readable text but with random colours\",\"next\":\"colorRamFault\"}]},\"noVideoSignal\":{\"question\":\"Is the C64's power LED on?\",\"options\":[{\"label\":\"Yes, the LED is on\",\"next\":\"noSignalLedOn\"},{\"label\":\"No, the LED is off or dim\",\"next\":\"noSignalLedOff\"}]},\"noSignalLedOff\":{\"question\":null,\"diagnosis\":\"Power supply problem\",\"checks\":[\"Check the power cable and the mains socket\",\"Test the power supply with a multimeter:\",\"  \u2022 5V DC (must be stable between 4.9V and 5.1V)\",\"  \u2022 9V AC (for the CIA TOD clock)\",\"Check the power supply's internal fuse\",\"If you use an aftermarket power supply, check the polarity (centre positive)\"],\"solutions\":[\"Replace the power supply with a compatible and SAFE one\",\"\u26a0\ufe0f WARNING: Faulty power supplies or ones with the wrong voltage can damage the C64 beyond repair!\",\"Recommended: use modern power supplies with protection (e.g. Electroware, Ray Carlsen)\",\"If the fuse keeps blowing, check for short circuits on the motherboard\"],\"severity\":\"media\"},\"noSignalLedOn\":{\"question\":null,\"diagnosis\":\"LED on but no video signal\",\"checks\":[\"The VIC-II is not generating a video signal\",\"Check the simplest causes first:\",\"- if connected with an RF cable\",\"  \u2022 Video\/RF cable properly connected (if you use this connection)\",\"  \u2022 RF modulator working or in need of adjustment\",\"  \u2022 TV on the correct channel\/input, or incompatible TV\",\"  \u2022 Try an AV cable\",\"- If connected with a composite cable\",\"  \u2022 Faulty cable\",\"  \u2022 TV\/monitor on the correct channel\/input\",\"Likely causes (in order of frequency):\",\"  1. Power to the VIC-II\",\"  2. VIC-II (U19)\",\"  3. Faulty clock\/crystal\"],\"solutions\":[\"Try the composite video output instead of RF\",\"Touch the chips (carefully) to feel whether any of them is scorching hot\",\"Check the power supply rails to the VIC-II\",\"If you have an oscilloscope, check the clock: the crystal or the circuit that divides it down may be faulty.\"],\"severity\":\"alta\",\"notes\":\"The 5V supply to the computer and the 5V supply to the VIC-II can be different. It is not unusual to find a faulty crystal or a problem with the chip that divides it down; on older revisions there is a capacitor that can leak acid.\"},\"blackScreenWithSignal\":{\"question\":\"Do you have a Dead Test cartridge?\",\"options\":[{\"label\":\"Yes, I have the Dead Test\",\"next\":\"blackScreenDeadTest\"},{\"label\":\"No, I don't have one\",\"next\":\"blackScreenNoDeadTest\"}]},\"blackScreenDeadTest\":{\"question\":\"Which C64 model do you have?\",\"options\":[{\"label\":\"C64 breadbin (early models, brown case)\",\"next\":\"deadTestBreadbin\"},{\"label\":\"C64C (white\/beige case, later model)\",\"next\":\"deadTestC64C\"}]},\"deadTestBreadbin\":{\"question\":\"What does the Dead Test show?\",\"options\":[{\"label\":\"Black screen even with the Dead Test\",\"next\":\"deadTestBlack\"},{\"label\":\"The screen flashes (count the flashes)\",\"next\":\"deadTestFlashing\"},{\"label\":\"It shows the diagnostic screen with errors\",\"next\":\"deadTestScreenErrors\"},{\"label\":\"Test passed but still problems on a normal start-up\",\"next\":\"deadTestPassed\"}]},\"deadTestC64C\":{\"question\":\"What does the Dead Test show?\",\"options\":[{\"label\":\"Black screen even with the Dead Test\",\"next\":\"deadTestBlackC64C\"},{\"label\":\"The screen flashes (count the flashes)\",\"next\":\"deadTestFlashingC64C\"},{\"label\":\"It shows the diagnostic screen with errors\",\"next\":\"deadTestScreenErrorsC64C\"},{\"label\":\"Test passed but still problems\",\"next\":\"deadTestPassed\"}]},\"deadTestFlashing\":{\"question\":null,\"diagnosis\":\"Dead Test reports a RAM error by flashing\",\"checks\":[\"Count the number of flashes before the pause. Each sequence points to a specific RAM chip:\",\"\",\"FLASH CODE \u2192 RAM CHIP TABLE (Breadbin):\",\"1 flash \u2192 U21 (bit 0)\",\"2 flashes \u2192 U24 (bit 1)\",\"3 flashes \u2192 U22 (bit 2)\",\"4 flashes \u2192 U9 (bit 3)\",\"5 flashes \u2192 U10 (bit 4)\",\"6 flashes \u2192 U23 (bit 5)\",\"7 flashes \u2192 U11 (bit 6)\",\"8 flashes \u2192 U12 (bit 7)\",\"\",\"If the flashes are continuous with no pauses: possibly multiple faults or a problem on the data bus\"],\"solutions\":[\"Replace the indicated RAM chip with a compatible 4164\",\"41256s configured as 4164s can also be used\",\"Desolder carefully using desoldering braid or a solder sucker\",\"IMPORTANT: fit sockets for future replacements\",\"If the problem persists after the replacement, check chips U13 and U25 (74LS257 multiplexers)\"],\"severity\":\"media\",\"notes\":\"Faulty RAM chips often get very hot. Touch them with the back of your finger (more sensitive) to identify them. A chip that is scorching hot is almost certainly faulty.\"},\"deadTestFlashingC64C\":{\"question\":null,\"diagnosis\":\"Dead Test reports a RAM error on a C64C\",\"checks\":[\"The C64C can have different RAM configurations:\",\"\",\"If it has 8 RAM chips (4164): use the standard breadbin table\",\"If it has 2 RAM chips (41464, 64Kx4):\",\"  \u2022 Flashes 1-4 \u2192 U5\",\"  \u2022 Flashes 5-8 \u2192 U6\",\"\",\"Check which configuration you have by looking at the motherboard\"],\"solutions\":[\"For motherboards with 41464s: replace the 2 chips (simpler, but the chips are less common)\",\"For motherboards with 4164s: standard procedure, as on the breadbin\",\"41464s are harder to find but the replacement is quicker\"],\"severity\":\"media\"},\"deadTestScreenErrors\":{\"question\":\"What kind of error does the diagnostic screen show?\",\"options\":[{\"label\":\"RAM chips marked as BAD\",\"next\":\"deadTestRamError\"},{\"label\":\"COLOR RAM BAD\",\"next\":\"deadTestColorRam\"},{\"label\":\"Clock error (clocks not in sync)\",\"next\":\"deadTestClockError\"}]},\"deadTestScreenErrorsC64C\":{\"question\":\"What kind of error does the diagnostic screen show?\",\"options\":[{\"label\":\"RAM chips marked as BAD\",\"next\":\"deadTestRamErrorC64C\"},{\"label\":\"COLOR RAM BAD\",\"next\":\"deadTestColorRam\"},{\"label\":\"Clock error\",\"next\":\"deadTestClockError\"}]},\"deadTestRamError\":{\"question\":null,\"diagnosis\":\"RAM error detected by the Dead Test\",\"checks\":[\"The Dead Test shows which RAM chips have problems\",\"The breadbin has 8 64Kbit RAM chips (4164):\",\"  \u2022 U9, U10, U11, U12 (upper bank)\",\"  \u2022 U21, U22, U23, U24 (lower bank)\",\"Use an IC tester to confirm which chip is faulty\",\"Also check the U13 and U25 multiplexers (74LS257)\"],\"solutions\":[\"Replace the faulty RAM chip with a compatible 4164\",\"Make sure the new chip is the right way round (notch to the left)\",\"After the replacement, run the Dead Test again to confirm\",\"If several chips show as BAD, it could be a power supply problem\"],\"severity\":\"media\",\"chipLocations\":{\"title\":\"RAM chip positions on the 250407\/250425 motherboard:\",\"positions\":[\"U9-U12: upper row near the VIC-II\",\"U21-U24: lower row near the edge\",\"U13, U25: multiplexers near the RAM chips\"]}},\"deadTestRamErrorC64C\":{\"question\":null,\"diagnosis\":\"RAM error on a C64C\",\"checks\":[\"The C64C can use different configurations:\",\"  \u2022 250469 motherboard (short board): 2x 41464\",\"  \u2022 Some versions: 8x 4164, as on the breadbin\",\"Check the type by looking at the chips fitted\"],\"solutions\":[\"For 41464s: less common chips, look on eBay or at specialist parts suppliers\",\"For 4164s: same procedure as the breadbin\",\"Some C64Cs have integrated DRAM that is not easy to replace\"],\"severity\":\"media\"},\"deadTestColorRam\":{\"question\":null,\"diagnosis\":\"Colour RAM error\",\"checks\":[\"The colour RAM uses a different chip from the main RAM\",\"On the breadbin it is a single 2114 chip (U6), 1K x 4 bit\",\"The error can also be caused by problems on the data\/address bus or by the PLA\"],\"solutions\":[\"Replace the 2114 in U6 (preferably fitting a socket)\",\"If the problem persists, check the PLA (U17) and the bus lines\",\"Colour RAM is cheap and easy to find\"],\"severity\":\"bassa\"},\"deadTestClockError\":{\"question\":null,\"diagnosis\":\"Clock error on the Dead Test\",\"checks\":[\"The two TOD clocks at the bottom must be in sync\",\"If they are not, there is a problem with the CIAs or the 9V AC supply\",\"Check that the power supply provides 9V AC\"],\"solutions\":[\"Check the 9V AC supply\",\"Without the 9V AC the clocks do not work properly\",\"Check\/replace the CIAs (U1 and U2)\"],\"severity\":\"bassa\"},\"deadTestBlack\":{\"question\":null,\"diagnosis\":\"Critical fault - CPU, PLA or VIC-II\",\"checks\":[\"If the Dead Test shows nothing, the fault is serious\",\"Check that the cartridge is fully inserted and the contacts are clean\",\"Components to check, in order:\",\"  1. PLA (U17) - most common cause\",\"  2. 6510 CPU (U7)\",\"  3. VIC-II (U19)\",\"  4. Clock and reset circuit\"],\"solutions\":[\"ALWAYS start with the PLA - it is the most fragile component in the C64\",\"Replace it with an original PLA or a modern replica:\",\"  \u2022 PLAnkton\",\"  \u2022 CPLD PLA\",\"  \u2022 Super PLA\",\"If the PLA is OK, try the 6510 CPU\",\"The VIC-II is expensive - only test it if the others are OK\"],\"severity\":\"alta\",\"chipLocations\":{\"title\":\"Positions of the critical chips on the breadbin:\",\"positions\":[\"U17 (PLA): large 28-pin chip, centre-left of the board\",\"U7 (6510 CPU): 40-pin chip near the SID\",\"U19 (VIC-II): large 40-pin chip with a heatsink\"]}},\"deadTestBlackC64C\":{\"question\":null,\"diagnosis\":\"Critical fault on a C64C - SuperPLA or CPU\",\"checks\":[\"On the C64C some components are different:\",\"  \u2022 8500 CPU (HMOS version of the 6510)\",\"  \u2022 Some boards have an integrated PLA (SuperPLA)\",\"  \u2022 The VIC-II can be an 8562 (NTSC) or 8565 (PAL)\"],\"solutions\":[\"The C64C has a more compact motherboard with fewer separate chips\",\"If the PLA is integrated, the repair is more complex\",\"There are adapters for using a standard PLA on some C64Cs\",\"The 8500 CPU is harder to find than the 6510\"],\"severity\":\"alta\",\"notes\":\"The C64C's 250469 short board is harder to repair because it uses integrated custom chips.\"},\"deadTestPassed\":{\"question\":null,\"diagnosis\":\"Dead Test OK but problems persist\",\"checks\":[\"If the Dead Test passes but a normal boot fails:\",\"  \u2022 Problem in the ROMs (BASIC, KERNAL, CHARACTER)\",\"  \u2022 Problem in the video\/RF circuit\",\"Test with a game cartridge - if it works, the BASIC ROM is the problem\",\"Check the video cable and the connection to the TV\"],\"solutions\":[\"Try several different cartridge games\",\"If cartridges work: replace the BASIC ROM (U3)\",\"If nothing works: check the KERNAL ROM (U4)\",\"Fit a composite video or S-Video mod for better picture quality\"],\"severity\":\"bassa\"},\"blueScreenNoText\":{\"question\":\"Describe in more detail what you see on the screen:\",\"options\":[{\"label\":\"Blue screen with light blue border, no characters\",\"next\":\"blueScreenNoChars\"},{\"label\":\"Screen with normal colours but strange characters\/garbage\",\"next\":\"garbageChars\"},{\"label\":\"Normal screen but no cursor\",\"next\":\"noCursor\"},{\"label\":\"Border\/screen colours swapped or wrong\",\"next\":\"wrongColors\"}]},\"blueScreenNoChars\":{\"question\":null,\"diagnosis\":\"Blue screen with no characters - probably the BASIC or CHARACTER ROM\",\"checks\":[\"This is the classic symptom of a faulty BASIC ROM\",\"It can also be caused by:\",\"  \u2022 CHARACTER ROM (U5) - if you see no characters at all\",\"  \u2022 Partially faulty PLA\",\"  \u2022 RAM problem\",\"\",\"TEST: Insert a game cartridge\",\"  \u2022 If it works \u2192 faulty BASIC ROM\",\"  \u2022 If it doesn't work \u2192 more serious problem\"],\"solutions\":[\"Replace the BASIC ROM (U3) - part number 901226-01\",\"If there are no characters, also try the CHARACTER ROM (U5) - 901225-01\",\"The ROMs can be replaced with programmed EPROMs (27C64)\",\"There are combo ROMs that include all the ROMs + JiffyDOS\"],\"severity\":\"bassa\",\"chipLocations\":{\"title\":\"ROM positions:\",\"positions\":[\"U3 (BASIC ROM): 24 pins, near CIA 1\",\"U4 (KERNAL ROM): 24 pins, next to the BASIC\",\"U5 (CHARACTER ROM): 24 pins, lower row\"]}},\"garbageChars\":{\"question\":null,\"diagnosis\":\"Corrupted characters or garbage on screen\",\"checks\":[\"Possible causes:\",\"  \u2022 Faulty CHARACTER ROM (U5)\",\"  \u2022 Faulty RAM (problem on specific bits)\",\"  \u2022 Partially faulty PLA\",\"  \u2022 VIC-II with partial faults\",\"\",\"If the colours are right but the characters are not \u2192 CHARACTER ROM\",\"If the colours are wrong as well \u2192 VIC-II or colour RAM\"],\"solutions\":[\"Replace the CHARACTER ROM (U5)\",\"Run the Dead Test to check the RAM\",\"If the problem is intermittent, it may be a cold solder joint\"],\"severity\":\"media\"},\"noCursor\":{\"question\":null,\"diagnosis\":\"Normal screen but no cursor\",\"checks\":[\"This points to a problem with CIA 1 (U1)\",\"CIA 1 handles:\",\"  \u2022 Keyboard\",\"  \u2022 Joystick port 1\",\"  \u2022 Flashing cursor\",\"It can also be caused by:\",\"  \u2022 Partially faulty RAM (U21)\",\"  \u2022 CHARACTER ROM\"],\"solutions\":[\"Try typing blind - if it works, the cursor is just invisible\",\"Replace CIA 1 (U1) - MOS 6526\",\"Check the CHARACTER ROM\",\"Check the CIA's solder joints\"],\"severity\":\"media\"},\"wrongColors\":{\"question\":null,\"diagnosis\":\"Wrong or swapped colours\",\"checks\":[\"Problem in the colour RAM (2114) or the VIC-II\",\"It can also be the video connection\"],\"solutions\":[\"Check the video cable\",\"Replace the colour RAM chips (U5, U6 - 2114)\",\"Check the VIC-II\"],\"severity\":\"media\"},\"garbageScreen\":{\"question\":null,\"diagnosis\":\"Screen with garbage or random characters\",\"checks\":[\"This can indicate:\",\"  \u2022 Faulty RAM\",\"  \u2022 PLA with a partial fault\",\"  \u2022 Faulty VIC-II\",\"  \u2022 Cold solder joints\",\"\",\"If the pattern is stable (always the same): probably RAM\",\"If it changes every time: PLA or VIC-II\"],\"solutions\":[\"Run the Dead Test to identify faulty RAM\",\"Check\/replace the PLA\",\"Check the solder joints and reflow them\",\"The VIC-II is the last thing to replace (expensive)\"],\"severity\":\"media\"},\"wrongMemory\":{\"question\":\"How much memory is shown at start-up?\",\"options\":[{\"label\":\"Less than 38911 bytes (e.g. 3 bytes, 30719 bytes)\",\"next\":\"lessMemory\"},{\"label\":\"It shows 'OUT OF MEMORY ERROR IN 0'\",\"next\":\"outOfMemory\"},{\"label\":\"The number changes at every start-up\",\"next\":\"changingMemory\"}]},\"lessMemory\":{\"question\":null,\"diagnosis\":\"Reduced memory - partially faulty RAM\",\"checks\":[\"At start-up the C64 tests the RAM starting from address 2049 ($0801)\",\"The free memory shown tells you where it found the first error:\",\"  \u2022 '3 BASIC BYTES FREE' = error at address 2052\",\"  \u2022 '30719 BYTES FREE' = error in the upper bank\",\"\",\"This indicates faulty RAM that still partly works\"],\"solutions\":[\"Run the Dead Test to identify the specific chip\",\"If you don't have a Dead Test, try this in BASIC:\",\"  POKE address,value : PRINT PEEK(address)\",\"  where address = 2049 + bytes shown\",\"Replace the faulty RAM chip\",\"An unstable power supply can cause this - check the 5V\"],\"severity\":\"media\",\"notes\":\"Some fastload cartridges (Final Cartridge, Action Replay) skip the RAM test and always show 38911 even if the RAM is faulty.\"},\"outOfMemory\":{\"question\":null,\"diagnosis\":\"OUT OF MEMORY ERROR IN 0\",\"checks\":[\"This error indicates that the RAM is badly compromised\",\"BASIC cannot find enough memory to start\",\"Often caused by:\",\"  \u2022 Several faulty RAM chips\",\"  \u2022 Faulty multiplexers (U13, U25)\",\"  \u2022 Power supply problem\"],\"solutions\":[\"Check the power supply first (stable 5V)\",\"Run the Dead Test\",\"Check whether any chip gets excessively hot\",\"You may need to replace several RAM chips\"],\"severity\":\"alta\"},\"changingMemory\":{\"question\":null,\"diagnosis\":\"Memory varies at every start-up\",\"checks\":[\"Unstable RAM or intermittent contacts\",\"Often caused by:\",\"  \u2022 Cold solder joints\",\"  \u2022 Oxidised sockets\",\"  \u2022 Unstable power supply\",\"  \u2022 A chip that fails when it warms up\"],\"solutions\":[\"Reflow the solder joints on the RAM chips\",\"Clean the contacts with isopropyl alcohol\",\"Check the power supply\",\"If the problem appears after warming up, use freeze spray to identify the chip\"],\"severity\":\"media\"},\"blackScreenNoDeadTest\":{\"question\":null,\"diagnosis\":\"Diagnosis without a Dead Test\",\"checks\":[\"\u26a0\ufe0f RECOMMENDED: Get a Dead Test cartridge - it is the most useful tool!\",\"\",\"Without a Dead Test you can still make a few checks:\",\"  \u2022 Make sure the problem is not the video cable or the TV\",\"  \u2022 Try a game cartridge\",\"  \u2022 Listen for whether the C64 makes any sound at power-on (relay click)\",\"  \u2022 Touch the chips to feel whether any of them is getting excessively hot\",\"\",\"Most common causes of a black screen (in order):\",\"  1. PLA (U17)\",\"  2. RAM\",\"  3. ROM\",\"  4. CPU\"],\"solutions\":[\"Buy or build a Dead Test (DIY versions exist)\",\"If you have to work blind, start with the PLA\",\"A chip that is scorching hot to the touch is almost certainly faulty\",\"Consider sending the board to an experienced repairer\"],\"severity\":\"media\",\"notes\":\"Cheap Dead Test cartridges are available on eBay\/AliExpress. For anyone repairing C64s it is an investment that pays for itself straight away.\"},\"noSound\":{\"question\":\"Describe the audio problem in more detail:\",\"options\":[{\"label\":\"No sound from any source\",\"next\":\"noSoundTotal\"},{\"label\":\"Distorted or crackling sound\",\"next\":\"soundDistorted\"},{\"label\":\"Very low volume\",\"next\":\"soundLow\"},{\"label\":\"Only some voices\/frequencies don't work\",\"next\":\"soundPartial\"},{\"label\":\"Constant hum or hiss in the audio\",\"next\":\"soundHum\"}]},\"noSoundTotal\":{\"question\":null,\"diagnosis\":\"No audio at all\",\"checks\":[\"Check the audio cable and the connection to the TV\/monitor\",\"The SID generates the audio - test it with a BASIC program:\",\"  POKE 54296,15 (maximum volume)\",\"  POKE 54277,9 (ADSR)\",\"  POKE 54273,28 (high frequency)\",\"  POKE 54276,33 (waveform)\",\"Check the capacitors in the audio circuit\"],\"solutions\":[\"\u26a0\ufe0f IMPORTANT: the 6581 and 8580 are NOT interchangeable!\",\"  \u2022 6581: uses 12V (breadbin)\",\"  \u2022 8580: uses 9V (C64C)\",\"Fitting the wrong SID destroys it instantly!\",\"\",\"Modern SID alternatives:\",\"  \u2022 SwinSID - cheap but the sound is not perfect\",\"  \u2022 ARMSID - excellent emulation\",\"  \u2022 FPGASID - perfect emulation\",\"\",\"Check and replace the audio filter capacitors\"],\"severity\":\"media\",\"chipLocations\":{\"title\":\"SID and audio component positions:\",\"positions\":[\"U18 (SID): 28-pin chip with a notch, near the joystick port\",\"Filter capacitors: near the SID (specific values for 6581\/8580)\"]}},\"soundDistorted\":{\"question\":null,\"diagnosis\":\"Distorted audio\",\"checks\":[\"The audio filter capacitors are often the cause\",\"Over time they degrade and lose capacitance\",\"Also check the amplifier circuit\"],\"solutions\":[\"Replace the electrolytic capacitors in the audio circuit\",\"Do a complete 'recap' of the motherboard\",\"The capacitor values depend on the type of SID fitted\"],\"severity\":\"bassa\"},\"soundLow\":{\"question\":null,\"diagnosis\":\"Very low audio volume\",\"checks\":[\"Degraded filter capacitors\",\"The volume trimmer may be dirty\",\"The SID itself may be weak\"],\"solutions\":[\"Replace the SID filter capacitors\",\"Clean the volume trimmer with contact cleaner spray\",\"A direct audio mod can improve the volume a lot\"],\"severity\":\"bassa\"},\"soundPartial\":{\"question\":null,\"diagnosis\":\"Some SID voices don't work\",\"checks\":[\"The SID has 3 independent voices (oscillators)\",\"If one voice doesn't work, the SID is partially damaged\",\"Test each voice with a test program\"],\"solutions\":[\"Unfortunately the SID cannot be repaired - it has to be replaced\",\"Consider modern alternatives: SwinSID, ARMSID\",\"Keep the faulty SID - some voices may still work\",\"Working SIDs are valuable and getting rarer!\"],\"severity\":\"media\"},\"keyboard\":{\"question\":\"What kind of problem do you have with the keyboard?\",\"options\":[{\"label\":\"No keys work\",\"next\":\"keyboardNone\"},{\"label\":\"Only some keys don't work\",\"next\":\"keyboardSome\"},{\"label\":\"Keys that repeat or stick\",\"next\":\"keyboardRepeat\"},{\"label\":\"Wrong characters when I press the keys\",\"next\":\"keyboardWrong\"}]},\"keyboardNone\":{\"question\":null,\"diagnosis\":\"Keyboard not working at all\",\"checks\":[\"Check the keyboard connector on the motherboard\",\"Check the CIA 1 chip (U1) - it handles the keyboard\",\"Check the keyboard ribbon cable\"],\"solutions\":[\"Clean the connector with isopropyl alcohol\",\"Check the cable's continuity with a multimeter\",\"Replace CIA 1 (MOS 6526)\",\"Clean and check the contacts\/tracks on the keyboard PCB\"],\"severity\":\"media\"},\"keyboardSome\":{\"question\":null,\"diagnosis\":\"Some keys not working\",\"checks\":[\"The keys are arranged in an 8x8 matrix (rows and columns)\",\"If a whole row\/column doesn't work: CIA or connector problem\",\"If random individual keys: mechanical problem\"],\"solutions\":[\"Open the keyboard and clean it with isopropyl alcohol\",\"Clean the plungers and the contacts under the keys\",\"Check the tracks on the keyboard PCB\",\"Repair broken tracks with a conductive pen or solder\"],\"severity\":\"bassa\"},\"keyboardRepeat\":{\"question\":null,\"diagnosis\":\"Keys that repeat or stay pressed\",\"checks\":[\"Dirt in the key contacts\",\"Mechanically worn keys\",\"Debounce problems\"],\"solutions\":[\"Thorough cleaning with isopropyl alcohol\",\"Replace the plungers of the problem keys\",\"Lubricate lightly with dielectric grease\"],\"severity\":\"bassa\"},\"keyboardWrong\":{\"question\":null,\"diagnosis\":\"Wrong characters from the keyboard\",\"checks\":[\"Possible partial fault in CIA 1\",\"Shorted matrix lines\",\"SHIFT LOCK accidentally engaged?\"],\"solutions\":[\"Make sure SHIFT LOCK is not engaged\",\"Check the cable for short circuits\",\"Test\/replace CIA 1\"],\"severity\":\"bassa\"},\"joystick\":{\"question\":\"Which joystick port has problems?\",\"options\":[{\"label\":\"Port 1 (controls the character in some games)\",\"next\":\"joystickPort1\"},{\"label\":\"Port 2 (the main port for games)\",\"next\":\"joystickPort2\"},{\"label\":\"Both ports\",\"next\":\"joystickBoth\"},{\"label\":\"The joystick moves by itself or fire stays pressed\",\"next\":\"joystickGhost\"},{\"label\":\"The paddles don't work or jitter\",\"next\":\"paddles\"}]},\"joystickPort1\":{\"question\":null,\"diagnosis\":\"Joystick port 1 problem\",\"checks\":[\"Port 1 is handled by CIA 1 (U1)\",\"It shares lines with the keyboard\",\"Check the DB9 connector\"],\"solutions\":[\"Clean the connector\",\"Check the connector's solder joints\",\"If the problem persists, CIA 1 may be damaged\",\"Warning: electrostatic discharge can damage the CIAs!\"],\"severity\":\"bassa\"},\"joystickPort2\":{\"question\":null,\"diagnosis\":\"Joystick port 2 problem\",\"checks\":[\"Port 2 is also handled by CIA 1 (U1), like port 1 and the keyboard\",\"It is the main port for single-player games\",\"Check the DB9 connector and its solder joints\"],\"solutions\":[\"Clean the DB9 connector\",\"Check the connector's solder joints\",\"Try another joystick to rule out the controller\",\"If the problem persists, replace CIA 1 (MOS 6526, U1)\"],\"severity\":\"bassa\"},\"joystickBoth\":{\"question\":null,\"diagnosis\":\"Both joystick ports not working\",\"checks\":[\"It is rare for both CIAs to be faulty\",\"Check the power to the CIAs\",\"Check the shared lines\"],\"solutions\":[\"Check the physical connectors first\",\"Check the 5V supply lines\",\"It could be a motherboard problem\"],\"severity\":\"media\"},\"freeze\":{\"question\":\"When does the computer freeze?\",\"options\":[{\"label\":\"Straight away at power-on\",\"next\":\"freezeBoot\"},{\"label\":\"After a few minutes of use\",\"next\":\"freezeHeat\"},{\"label\":\"While loading programs\",\"next\":\"freezeLoad\"},{\"label\":\"At random\",\"next\":\"freezeRandom\"}]},\"freezeBoot\":{\"question\":null,\"diagnosis\":\"Freeze at start-up\",\"checks\":[\"Similar to a black screen - critical hardware fault\",\"Check the RAM, ROM, PLA and CPU\",\"Use the Dead Test if available\"],\"solutions\":[\"Follow the black screen diagnosis procedure\",\"Start with the PLA, which is the most fragile part\"],\"severity\":\"alta\"},\"freezeHeat\":{\"question\":null,\"diagnosis\":\"Freeze after warming up\",\"checks\":[\"Typical of chips with cold joints or thermal faults\",\"Touch the chips to feel which one gets too hot\",\"Use freeze spray to isolate the problem chip\"],\"solutions\":[\"THE SPRAY METHOD: cool one chip at a time while the problem is present\",\"If cooling a chip makes the system start working again, you have found the culprit\",\"A chip that runs too hot: probably needs replacing\",\"Try redoing the solder joints (reflow) first\"],\"severity\":\"media\"},\"freezeLoad\":{\"question\":null,\"diagnosis\":\"Freeze while loading\",\"checks\":[\"A RAM or ROM problem is most likely\",\"Check the loading device\",\"Check the power supply while loading\"],\"solutions\":[\"Test with different programs\/media\",\"Check the RAM with the Dead Test\",\"Check the power supply capacitors\"],\"severity\":\"media\"},\"freezeRandom\":{\"question\":null,\"diagnosis\":\"Random freezes\",\"checks\":[\"Often caused by cold solder joints\",\"Degraded power supply capacitors\",\"Chips with intermittent contacts\"],\"solutions\":[\"'Reflow' the solder joints on the main chips\",\"Replace all the electrolytic capacitors (recap)\",\"Check the cartridge and power connectors\"],\"severity\":\"media\"},\"loading\":{\"question\":\"Which device do you have loading problems with?\",\"options\":[{\"label\":\"Datasette (tape recorder)\",\"next\":\"loadingDatasette\"},{\"label\":\"1541 floppy drive\",\"next\":\"loadingFloppy\"},{\"label\":\"Both\",\"next\":\"loadingBoth\"},{\"label\":\"Datasette: the motor won't start or never stops\",\"next\":\"datasetteMotor\"}]},\"loadingDatasette\":{\"question\":null,\"diagnosis\":\"Datasette problems\",\"checks\":[\"Clean the tape head with alcohol\",\"Check the head alignment (azimuth)\",\"Check the drive belt\",\"Test the datasette cable\"],\"solutions\":[\"Clean the head with cotton buds and isopropyl alcohol\",\"Replace the belt if it is slack or cracked\",\"Adjust the head azimuth with a screwdriver\",\"Use new tapes to rule out problems with the media\"],\"severity\":\"bassa\"},\"loadingFloppy\":{\"question\":\"What kind of problem do you get?\",\"options\":[{\"label\":\"C64 stuck on searching for ...\",\"next\":\"searcFor\"},{\"label\":\"C64 shows device not present\",\"next\":\"devNopresent\"},{\"label\":\"The 1541 keeps spinning continuously\",\"next\":\"rotationContinue\"},{\"label\":\"The 1541 resets correctly but I get file not found\",\"next\":\"fileNotfound\"}]},\"searcFor\":{\"question\":null,\"diagnosis\":\"1541 searching for ...\",\"checks\":[\"The 1541 is practically a standalone computer with its own chips\",\"The problem may come from the C64: check with another drive or an SD2IEC\",\"Check the 6522 VIA (UC3)\",\"Check UE6 74LS193 (7417)\",\"If file not found appears afterwards, check UD1 7406 (M53206P)\",\"UD4 9602 (74123)\",\"UE6 74LS193 (7417 or 7407)\"],\"solutions\":[\"If it doesn't work with another drive either, check the serial bus section on the C64 from CIA U2, the protection diodes and the 7406\",\"If the drive starts normally but doesn't move on LOAD, with the red LED off: check UC3 (VIA)\",\"If the drive starts normally but spins on LOAD, with the red LED off and the stepper not moving: check UD4, UE6\"],\"severity\":\"media\"},\"devNopresent\":{\"question\":null,\"diagnosis\":\"1541 device not present\",\"checks\":[\"Is the 1541 perhaps not the selected device? Try ,9 or even ,10 or ,11\",\"Check the serial cable\",\"Check UB1 7406 (M53206P)\",\"Check UC3 6522 VIA\"],\"solutions\":[\"Check that the cable is good and that the drive has the correct address\",\"If the drive resets correctly on its own but does not reset when the C64 is switched on, check UB1 7406 (M53206P)\",\"If the drive doesn't move during loading and the red LED stays off, check UC3 6522 (VIA)\"],\"severity\":\"media\"},\"rotationContinue\":{\"question\":null,\"diagnosis\":\"1541 keeps spinning\",\"checks\":[\"Continuous spinning is a sign that the drive has not initialised; it can have several causes\",\"If the drive has sockets, check that the pins are not oxidised and are making contact\",\"Check whether the drive only spins continuously when connected to the computer: sometimes it happens when the computer is off, or when the drive's motor transistor is not insulated from ground\"],\"solutions\":[\"Check the following chips: UA1 74LS14, UB4 ROM, UC2 6522, UC4 6502, UC5 74LS04, UC6 74LS00, UD3 74LS86, UD5 74LS197 (74177)\",\"Old-style sockets can cause intermittent contacts and should be replaced, especially if they no longer grip\"],\"severity\":\"media\"},\"fileNotfound\":{\"question\":null,\"diagnosis\":\"1541 file not found\",\"checks\":[\"Check that the disk is readable\",\"Clean the drive head\",\"Check the head alignment\",\"Check the electronics\"],\"solutions\":[\"Clean the head with a cleaning disk or cotton buds\",\"Checking the alignment requires a diagnostic cartridge (e.g. 1541 Diagnostic)\",\"If the alignment check returns all 0 values, the head may be faulty\",\"With a meter on the Ohm range, check the resistance between the white wire and the others on the head connector. It must be below 17 Ohm; if open circuit or in the kOhm range, the head is faulty\",\"Check the following chips: UD1 7406 (M53206P), UD2 7417, UE4 LM311, UF3-UF4 NE592N, UC1 325572-01 \"],\"severity\":\"media\"},\"loadingBoth\":{\"question\":null,\"diagnosis\":\"Problems with all loading devices\",\"checks\":[\"If both fail, the problem is in the C64\",\"Check the IEC serial port on the C64\",\"Check CIA 2 (U2), which handles the serial ports\"],\"solutions\":[\"Check the cassette port on the C64\",\"Check\/replace CIA 2\",\"Check the serial lines on the motherboard\"],\"severity\":\"media\"},\"colorIssues\":{\"question\":\"What kind of colour problem do you have?\",\"options\":[{\"label\":\"Completely wrong colours\",\"next\":\"colorWrong\"},{\"label\":\"Faded or washed-out colours\",\"next\":\"colorFaded\"},{\"label\":\"Stripes or interference\",\"next\":\"colorInterference\"},{\"label\":\"Black and white picture\",\"next\":\"colorBW\"},{\"label\":\"Each character has a different or random colour\",\"next\":\"colorRamFault\"}]},\"colorWrong\":{\"question\":null,\"diagnosis\":\"Wrong colours\",\"checks\":[\"Probably a colour RAM or VIC-II problem\",\"Check the colour RAM (2114 in U6)\",\"Check the video connection\"],\"solutions\":[\"Test the colour RAM with the Dead Test\",\"Replace the 2114 chips\",\"If the problem persists, it could be the VIC-II\"],\"severity\":\"media\"},\"colorFaded\":{\"question\":null,\"diagnosis\":\"Faded colours\",\"checks\":[\"Typical of degraded capacitors\",\"Check the video circuit\",\"Check the video cable\"],\"solutions\":[\"Replace the capacitors in the video circuit\",\"Fit a composite video\/S-Video mod\",\"Bypass the RF modulator\"],\"severity\":\"bassa\"},\"colorInterference\":{\"question\":null,\"diagnosis\":\"Interference and stripes\",\"checks\":[\"Often caused by the RF modulator\",\"Degraded filter capacitors\",\"The 6567R56A VIC-II is known for ghosting\"],\"solutions\":[\"Use the composite video output instead of RF\",\"Fit an S-Video mod for the best quality\",\"Replace the capacitors\",\"Consider upgrading the VIC-II to a better revision\"],\"severity\":\"bassa\"},\"colorBW\":{\"question\":null,\"diagnosis\":\"Black and white picture only\",\"checks\":[\"The chroma signal is not reaching the TV\",\"Problem in the colour circuit\",\"PAL\/NTSC incompatibility\"],\"solutions\":[\"Check that the TV supports the C64's video standard (PAL in the UK and most of Europe, NTSC in North America)\",\"Check the chroma circuit\",\"Fit a composite video or S-Video mod\"],\"severity\":\"bassa\"},\"instability\":{\"question\":null,\"diagnosis\":\"Constant resets and instability\",\"checks\":[\"A power supply problem is very likely\",\"Degraded filter capacitors\",\"Chips with cold solder joints\"],\"solutions\":[\"\u26a0\ufe0f IMPORTANT: Original Commodore power supplies are DANGEROUS!\",\"They can deliver overvoltage and destroy the C64\",\"\",\"Replace the power supply with a modern, safe one:\",\"  \u2022 Ray Carlsen power supply\",\"  \u2022 Electroware\",\"  \u2022 Other power supplies with protection\",\"\",\"Do a complete recap of the motherboard\",\"Check all the solder joints\",\"Check the RESET line\"],\"severity\":\"media\",\"notes\":\"Never trust an original Commodore power supply! After 40 years the capacitors degrade and they can send excessive voltages to the C64.\"},\"sx64Problems\":{\"question\":\"What problem does your SX-64 have?\",\"options\":[{\"label\":\"Won't switch on \/ no power\",\"next\":\"sx64NoPower\"},{\"label\":\"Black or white screen\",\"next\":\"sx64NoVideo\"},{\"label\":\"Video\/CRT problems\",\"next\":\"sx64CRT\"},{\"label\":\"Problems with the internal floppy drive\",\"next\":\"sx64Floppy\"},{\"label\":\"Keyboard problems\",\"next\":\"sx64Keyboard\"}]},\"sx64NoPower\":{\"question\":null,\"diagnosis\":\"SX-64 won't switch on\",\"checks\":[\"The SX-64 uses a much more complex internal switch-mode power supply\",\"Check:\",\"  \u2022 Main fuse\",\"  \u2022 Power switch\",\"  \u2022 Power cable\",\"The PSU provides: 5V DC, 12V DC and internally generates the 9V for the TOD\"],\"solutions\":[\"Check the fuse and the switch\",\"If the PSU doesn't work, the repair is complex\",\"The SX-64 PSU is different from the desktop C64's - not interchangeable\",\"Replacement\/upgrade kits for the PSU are available\",\"\u26a0\ufe0f WARNING: The SX-64 contains dangerous voltages - CRT and PSU!\"],\"severity\":\"alta\",\"notes\":\"The SX-64 PSU is a switch-mode power supply - repairing it requires experience with these circuits and care around high voltages.\"},\"sx64NoVideo\":{\"question\":null,\"diagnosis\":\"SX-64 black or white screen\",\"checks\":[\"The most common problem is the connection between the CPU board and the IO board\",\"These two boards are joined by a connector that can oxidise\",\"\",\"If the screen is white: VIC-II or PLA\",\"If it is black: full check as for the desktop C64\"],\"solutions\":[\"Remove the top cover\",\"The CPU board is the one furthest to the left\",\"Press the two boards together onto the connector that joins them\",\"Clean the contacts with isopropyl alcohol\",\"\",\"Try an external monitor to rule out CRT problems\",\"The SX-64's chips are compatible with the desktop C64 for testing\",\"EXCEPTION: the SX-64 KERNAL ROM is different (28 pins)\"],\"severity\":\"media\"},\"sx64CRT\":{\"question\":null,\"diagnosis\":\"Problems with the SX-64's CRT\",\"checks\":[\"The 5-inch CRT is a delicate component\",\"Common problems:\",\"  \u2022 Distorted picture or out of sync\",\"  \u2022 High-frequency whine\",\"  \u2022 Faded or missing colours\",\"  \u2022 Ghosting (6567R56A VIC-II)\"],\"solutions\":[\"Replace the monitor's electrolytic capacitors\",\"DO NOT touch the ceramic capacitors\",\"If there is a whine: possible problem with the flyback transformer\",\"For ghosting: replace the VIC-II with a later revision\",\"\",\"\u26a0\ufe0f DANGER: The CRT holds HIGH VOLTAGE even when switched off!\",\"Discharge the tube before doing any work\"],\"severity\":\"media\",\"notes\":\"Repairing the CRT requires experience with high voltages. The tube can hold a charge for days even when switched off!\"},\"sx64Floppy\":{\"question\":null,\"diagnosis\":\"Problems with the SX-64's internal floppy drive\",\"checks\":[\"The internal drive is essentially a 1541\",\"Check:\",\"  \u2022 Does the drive LED light up?\",\"  \u2022 Does the drive make a noise at power-on?\",\"  \u2022 Can it read disks?\"],\"solutions\":[\"Clean the head with alcohol\",\"Check the alignment\",\"Check the drive's chips (6502, VIA)\",\"Early SX-64s (before the GA4) have PSUs that are too weak for expansions\"],\"severity\":\"media\"},\"sx64Keyboard\":{\"question\":null,\"diagnosis\":\"SX-64 keyboard problems\",\"checks\":[\"The SX-64 keyboard is detachable\",\"The connector can oxidise\",\"The keys are similar to the desktop C64's\"],\"solutions\":[\"Clean the keyboard connector\",\"Check the cable that connects the keyboard to the case\",\"Clean the key contacts with alcohol\",\"Specific spare parts for the SX-64 are available\"],\"severity\":\"bassa\"},\"charRomFault\":{\"question\":null,\"diagnosis\":\"Wrong characters: probably the character ROM\",\"checks\":[\"The screen layout is right (lines in place, cursor flashing) but the letters are strange symbols or solid blocks\",\"Try pressing C= + SHIFT to switch between upper and lower case: if only some symbols change, the ROM is being read but is corrupted\",\"The character ROM is U5 (901225-01) on the breadbin\",\"The PLA (U17) also selects the character ROM: if it is partially faulty it can give the same symptom\"],\"solutions\":[\"Replace the character ROM U5 with an original one or a programmed EPROM (you need an adapter: see ROMs and adapters)\",\"If nothing changes with the new ROM, check the PLA (U17)\",\"Check with the Dead Test, which displays characters even if the KERNAL doesn't start\"],\"severity\":\"bassa\",\"notes\":\"If the letters are right but the colours are random, the problem is not the character ROM but the colour RAM.\"},\"colorRamFault\":{\"question\":null,\"diagnosis\":\"Random colours on the characters: probably the colour RAM\",\"checks\":[\"The text is readable but each character has a different colour, or the colours change by themselves\",\"The colour RAM is a 2114 (U6 on the breadbin) that stores the colour of each character\",\"Try typing something and changing colour with CTRL+1...8: if some colours never set, it is almost certainly the colour RAM\",\"The Dead Test reports the problem as COLOR RAM BAD\"],\"solutions\":[\"Replace the 2114 (U6), fitting a socket\",\"A compatible 2114 is easy to find and cheap\",\"If the problem remains after the replacement, check the PLA and the D8-D11 data lines to the VIC-II\"],\"severity\":\"bassa\"},\"restoreKey\":{\"question\":null,\"diagnosis\":\"The RESTORE key doesn't work\",\"checks\":[\"RESTORE on its own does nothing: it has to be pressed together with RUN\/STOP for the classic 'reset' to a clean screen\",\"RESTORE doesn't go through the keyboard matrix: it generates an NMI via a 556 timer\",\"Check the RESTORE key contact on the keyboard connector with a multimeter\"],\"solutions\":[\"Clean the RESTORE key contact (it is a single contact, often oxidised)\",\"Check the solder joints on the keyboard connector\",\"If the key closes properly, replace the 556 timer\"],\"severity\":\"bassa\"},\"cartridgePort\":{\"question\":null,\"diagnosis\":\"Cartridges won't start\",\"checks\":[\"Try the cartridge on another C64 to rule out the cartridge itself\",\"The cartridge port contacts oxidise very easily\",\"Cartridges use the GAME and EXROM lines, handled by the PLA (U17)\",\"Inserting or removing a cartridge with the computer on can damage the PLA and CIAs\"],\"solutions\":[\"Clean the port and cartridge contacts with isopropyl alcohol and a small brush\",\"Check that no pin in the port is bent or broken\",\"If no cartridge starts but the C64 reaches READY, check the PLA\",\"Always switch the C64 off before inserting a cartridge\"],\"severity\":\"bassa\"},\"overheating\":{\"question\":null,\"diagnosis\":\"Overheating or a burning smell\",\"checks\":[\"SWITCH the computer OFF IMMEDIATELY and unplug the power supply\",\"Measure the power supply off load: the 5V must be between 4.9 and 5.2 V. Original power supplies can go overvoltage as they age and burn out the chips\",\"Smell and inspect the board: swollen capacitors, blackened components, cracked chips\",\"The VIC-II and PLA normally run very hot; the CPU, CIAs and SID, on the other hand, should not be scorching\"],\"solutions\":[\"Don't switch it on again with the same power supply: use a modern one with overvoltage protection\",\"Find the scorching chip in a few seconds (IR thermometer or thermal camera): it is usually the shorted one\",\"Replace swollen or blackened capacitors\",\"A small heatsink on the VIC-II and PLA helps them last longer\"],\"severity\":\"alta\",\"notes\":\"An original Commodore power supply delivering more than 5.2 V can damage every chip in a few seconds: it is the first thing to check on a C64 you have just bought.\"},\"joystickGhost\":{\"question\":null,\"diagnosis\":\"Joystick moving by itself or fire always pressed\",\"checks\":[\"Unplug the joystick: if the problem remains, it is in the computer\",\"The joystick ports share lines with the keyboard on CIA 1 (U1): a stuck key or a short in the keyboard produces phantom movements\",\"Disconnect the keyboard from the board and try again\",\"Try the joystick on another computer\"],\"solutions\":[\"Clean or replace the joystick if the fault follows it\",\"Repair the keyboard if the fault disappears when it is disconnected\",\"If the fault remains with no joystick and no keyboard, CIA 1 (U1) is probably damaged (often by electrostatic discharge or hot-plugging)\"],\"severity\":\"bassa\"},\"paddles\":{\"question\":null,\"diagnosis\":\"Paddles not working or jittering\",\"checks\":[\"The paddles are read by the SID (POT X and POT Y inputs) through a 4066 analogue switch\",\"The paddle fire buttons, however, go through CIA 1\",\"Old paddles with dirty potentiometers make the value jitter\"],\"solutions\":[\"Clean the paddle potentiometers with contact cleaner spray\",\"Try another pair of paddles\",\"If the value never changes, check the 4066 and then the SID\"],\"severity\":\"bassa\"},\"soundHum\":{\"question\":null,\"diagnosis\":\"Hum or hiss in the audio\",\"checks\":[\"A low-frequency hum often comes from the power supply (worn-out filter capacitors) or from a ground loop with the TV\",\"The breadbin's 6581 has a normal background hiss, more noticeable than on the 8580\",\"Try another audio\/video cable and another mains socket\"],\"solutions\":[\"Try another power supply\",\"Use a shielded audio cable and plug the TV and C64 into the same socket\",\"Replace the electrolytic capacitors on the audio line and near the SID regulator\",\"If the noise changes with the music, check the SID\"],\"severity\":\"bassa\"},\"datasetteMotor\":{\"question\":null,\"diagnosis\":\"Datasette motor that won't start or won't stop\",\"checks\":[\"The motor is controlled by the 6510 (CPU) through a small transistor circuit near the cassette port\",\"Try the datasette on another C64\",\"With PLAY pressed, measure the motor voltage on the cassette connector (about 6 V when it should be running)\"],\"solutions\":[\"If the datasette works elsewhere, check the transistors in the motor circuit on the board\",\"If the motor runs but the tape doesn't move, replace the belt\",\"If the motor stays on all the time, check the driver transistor and then the 6510's output port\"],\"severity\":\"bassa\"},\"finalTest\":{\"question\":null,\"diagnosis\":\"Complete final test\",\"checks\":[\"Dead Test: it must complete all the tests (RAM, colour RAM, ROM, sound) without errors\",\"Diagnostic 586220 with the loopback harness: tests the keyboard, joystick ports, user port, cassette port and serial bus\",\"Leave the C64 on for at least an hour: many faults (solder joints, tired chips) only show up when warm\",\"Try a game from cartridge, one from disk and one from tape\",\"Check every key, the joysticks and the audio on all three voices\"],\"solutions\":[\"If everything passes, fit the remaining sockets and close it up\",\"Make a note of what you replaced: useful for future repairs\",\"Use a protected power supply so you don't undo the repair\"],\"severity\":\"bassa\",\"notes\":\"The loopback harness connects the port outputs and inputs to each other, so the diagnostic cartridge can check every line without external peripherals.\"}}<\\\/script>\r\n<script>\r\n(function () {\r\n  var root = document.getElementById('rfd');\r\n  [].forEach.call(root.querySelectorAll('.mach a'), function (a) {\r\n    if (location.pathname.indexOf(a.getAttribute('href')) === 0) { a.classList.add('on'); a.setAttribute('aria-current', 'page'); }\r\n  });\r\n  if (!root || root.dataset.ready) return;\r\n  root.dataset.ready = '1';\r\n  var $ = function (id) { return document.getElementById(id); };\r\n  function esc(s) { return String(s == null ? '' : s).replace(\/[&<>\"']\/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]; }); }\r\n  function norm(s) { return String(s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, ''); }\r\n  var TREE = JSON.parse($('rfdData').textContent);\r\n  var SEV = { alta: ['#f94144', 'HIGH SEVERITY'], media: ['#ffd23f', 'MEDIUM SEVERITY'], bassa: ['#5ad15f', 'LOW SEVERITY'] };\r\n\r\n  \/* ---------- pixel icons (12x12) ---------- *\/\r\n  var PIX = {\r\n    meter: ['.aaaaaaaaaa.', '.abbbbbbbba.', '.ab.cccc.ba.', '.abbbbbbbba.', '.aaaaaaaaaa.', '.a..aaaa..a.', '.a.a....a.a.', '.a..aaaa..a.', '.aaaaaaaaaa.', '..d......e..', '..d......e..', '..d......e..'],\r\n    scope: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab..c...c.ba', 'ab.c.c.c.cba', 'abc...c...ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', 'a.dd.dd.dd.a', 'aaaaaaaaaaaa', '............', '............', '............'],\r\n    probe: ['.......aa...', '......abba..', '.....abba...', '....abba....', '...abba.....', '..acca......', '.acca.......', 'acca........', 'aa..........', 'd...........', 'd...........', 'd...........'],\r\n    iron:  ['..........aa', '.........aba', '........aba.', '.......aba..', '......cca...', '.....cc.....', '....cc......', '...dd.......', '..dd........', '.dd.........', 'dd..........', 'd...........'],\r\n    cart:  ['.aaaaaaaaaa.', '.abbbbbbbba.', '.abccccccba.', '.abccccccba.', '.abbbbbbbba.', '.aaaaaaaaaa.', '.aaaaaaaaaa.', '..d.d.d.d...', '..d.d.d.d...', '............', '............', '............'],\r\n    harness: ['aaa......aaa', 'aba......aba', 'aaa......aaa', '.c........c.', '.c........c.', '..cccccccc..', '............', 'aaa......aaa', 'aba......aba', 'aaa......aaa', '.d........d.', '.dddddddddd.'],\r\n    chip:  ['.d.d.d.d.d..', 'aaaaaaaaaaa.', 'abbbbbbbbbad', 'ab.......ba.', 'ab.ccccc.bad', 'ab.......ba.', 'abbbbbbbbbad', 'aaaaaaaaaaa.', '.d.d.d.d.d..', '............', '............', '............'],\r\n    eprom: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.cccccc.ba', 'ab.c....c.ba', 'ab.cccccc.ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............'],\r\n    spray: ['....aa......', '...abba..c..', '....aa..c.c.', '...aaaa...c.', '..abbbba....', '..abbbba....', '..abccba....', '..abccba....', '..abbbba....', '..abbbba....', '..aaaaaa....', '............'],\r\n    therm: ['....aaa.....', '...abbba....', '...abcba....', '...abcba....', '...abcba....', '...abcba....', '..abcccba...', '.abcccccba..', '.abcccccba..', '..abcccba...', '...aaaaa....', '............'],\r\n    psu:   ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.c.c.c..ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.....dd.....', '.....d......', '.....d......', '....ddd.....', '....d.d.....', '............', '............'],\r\n    socket:['aaaaaaaaaaaa', 'a.c.c.c.c.ca', 'a..........a', 'a.c.c.c.c.ca', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............', '............', '............'],\r\n    brush: ['..........aa', '.........aa.', '........aa..', '.......aa...', '......aa....', '.....bbb....', '....bbbbb...', '...ccccc....', '..ccccc.....', '.cccc.......', '............', '............'],\r\n    lens:  ['...aaaa.....', '..abbbba....', '.abccccba...', '.abccccba...', '.abccccba...', '..abbbba....', '...aaaa.d...', '........d...', '.........d..', '..........d.', '............', '............'],\r\n    book:  ['aaaaa.aaaaa.', 'abbba.abbba.', 'abbbaaabbba.', 'abbba.abbba.', 'abbba.abbba.', 'abbbaaabbba.', 'aaaaa.aaaaa.', '.....c......', '............', '............', '............', '............'],\r\n    people:['..aa....aa..', '.abba..abba.', '.abba..abba.', '..aa....aa..', '.aaaa..aaaa.', 'aaaaaaaaaaaa', 'aaaaaaaaaaaa', '............', '............', '............', '............', '............'],\r\n    play:  ['aaaaaaaaaaaa', 'a..........a', 'a..b.......a', 'a..bbb.....a', 'a..bbbbb...a', 'a..bbb.....a', 'a..b.......a', 'a..........a', 'aaaaaaaaaaaa', '............', '............', '............']\r\n  };\r\n  function pix(name, col) {\r\n    var m = PIX[name] || PIX.chip, s = '', pal = { a: col, b: '#ffffff', c: '#5ad15f', d: '#9a9a9a', e: '#f94144' };\r\n    for (var y = 0; y < m.length; y++) for (var x = 0; x < m[y].length; x++) { var ch = m[y][x]; if (ch !== '.') s += '<rect x=\"' + x + '\" y=\"' + y + '\" width=\"1.02\" height=\"1.02\" fill=\"' + pal[ch] + '\"\/>'; }\r\n    return '<svg viewBox=\"0 0 12 12\" shape-rendering=\"crispEdges\" aria-hidden=\"true\">' + s + '<\/svg>';\r\n  }\r\n\r\n  \/* ---------- equipment ---------- *\/\r\n  var TOOLS = {\r\n    meter: ['Multimeter', 'meter', '#3fd8ff', 'For measuring 5 V, 9 V AC and 12 V, and checking fuses, cables and track continuity.'],\r\n    scope: ['Oscilloscope', 'scope', '#5ad15f', 'For looking at clocks, video signals and bus activity: essential for black screen faults.'],\r\n    probe: ['Logic probe', 'probe', '#ffd23f', 'Cheap and quick: tells you whether a pin is high, low or \"toggling\". Useful on RAM, CPU and PLA.'],\r\n    deadtest: ['Dead Test cartridge', 'cart', '#e0398a', 'Runs even without the KERNAL: tests RAM, ROM and colour RAM, and flashes the screen if there is no picture.'],\r\n    diag: ['Diagnostic 586220 + harness', 'harness', '#f8961e', 'Tests the keyboard, ports, CIAs and SID using the loopback connectors.'],\r\n    chiptester: ['Chip tester', 'chip', '#3fd8ff', 'Tests RAM, ROM and 74xx logic off the board, for example with a Retro Chip Tester.'],\r\n    eprom: ['EPROM programmer', 'eprom', '#5ad15f', 'For replacing the BASIC, KERNAL and character ROM with new EPROMs (with an adapter).'],\r\n    iron: ['Soldering and desoldering iron', 'iron', '#f94144', 'Temperature controlled. A solder sucker or a desoldering station saves the tracks.'],\r\n    socket: ['Turned-pin sockets', 'socket', '#ffd23f', 'Fit them under the chips you replace: next time you will only need to pull them out.'],\r\n    alcohol: ['Isopropyl alcohol and a brush', 'brush', '#3fd8ff', 'For oxidised contacts on ports, connectors and the keyboard.'],\r\n    spray: ['Freeze spray \/ hot air', 'spray', '#5ad15f', 'For faults that appear when hot or cold: cool one chip at a time.'],\r\n    therm: ['IR thermometer or thermal camera', 'therm', '#f8961e', 'Finds the chip running too hot in a few seconds (often the shorted one).'],\r\n    psu: ['Safe power supply', 'psu', '#e0398a', 'Modern, with overvoltage protection: protects the repaired C64.'],\r\n    lens: ['Magnifier or microscope', 'lens', '#3fd8ff', 'For finding cold solder joints, broken tracks and broken pins.']\r\n  };\r\n  \/\/ recommended equipment for each diagnosis (based on the topic)\r\n  var EQUIP_RULES = [\r\n    [\/noSignalLedOff|instability|sx64NoPower|overheating\/, ['meter', 'psu', 'therm', 'iron']],\r\n    [\/noSignalLedOn|sx64NoVideo|sx64CRT\/, ['meter', 'scope', 'probe', 'lens']],\r\n    [\/deadTest|blackScreen|Memory|lessMemory|outOfMemory|changingMemory|garbage|freezeBoot\/, ['deadtest', 'scope', 'probe', 'chiptester', 'iron', 'socket']],\r\n    [\/charRom|blueScreenNoChars|noCursor\/, ['deadtest', 'eprom', 'chiptester', 'socket']],\r\n    [\/colorRam|colorWrong|deadTestColorRam\/, ['deadtest', 'chiptester', 'iron', 'socket']],\r\n    [\/color|Interference|BW|Faded\/, ['scope', 'meter', 'iron']],\r\n    [\/sound|Sound|soundHum\/, ['scope', 'meter', 'diag', 'iron']],\r\n    [\/keyboard|joystick|paddles|restoreKey|cartridgePort|sx64Keyboard\/, ['diag', 'meter', 'alcohol', 'iron']],\r\n    [\/loading|searc|devNo|rotation|fileNot|datasette|sx64Floppy\/, ['diag', 'meter', 'scope', 'alcohol']],\r\n    [\/freeze\/, ['spray', 'therm', 'scope', 'lens']],\r\n    [\/finalTest\/, ['deadtest', 'diag', 'psu', 'socket']]\r\n  ];\r\n  function equipFor(id) { for (var i = 0; i < EQUIP_RULES.length; i++) if (EQUIP_RULES[i][0].test(id)) return EQUIP_RULES[i][1]; return ['meter', 'iron']; }\r\n\r\n  \/\/ related RetroFixer pages and Video library searches\r\n  var LINK_RULES = [\r\n    [\/deadTest|Memory|RAM|garbage|blackScreen\/, [['\u26a1 DT Flash Codes', '\/en\/dt-flash-codes\/'], ['\ud83e\uddea Dram tester', '\/en\/dram-tester\/']]],\r\n    [\/noSignalLedOff|instability|overheating|sx64NoPower\/, [['\ud83d\udd0c Power supplies', '\/en\/alimentazioni-console-e-computer\/']]],\r\n    [\/charRom|blueScreenNoChars\/, [['\ud83d\udcbe ROMs and adapters', '\/en\/rom-e-adattatori\/']]]\r\n  ];\r\n  var VIDEO_RULES = [\r\n    [\/deadTest\/, 'dead test'], [\/RAM|Memory|garbage\/, 'RAM'], [\/sound|Sound|soundHum|paddles\/, 'SID'], [\/keyboard|restoreKey\/, 'keyboard'],\r\n    [\/joystick\/, 'joystick'], [\/loading|searc|devNo|rotation|fileNot\/, '1541'], [\/datasette\/, 'datasette'], [\/sx64\/, 'SX-64'],\r\n    [\/noSignalLedOff|instability|overheating\/, 'power supply'], [\/colorRam|Color\/, 'colour RAM'], [\/charRom|blueScreenNoChars\/, 'ROM'],\r\n    [\/blackScreen|noSignal\/, 'black screen'], [\/cartridge\/, 'cartridge']\r\n  ];\r\n\r\n  \/* ---------- chip ---------- *\/\r\n  var CHIPS = {\r\n    bb: [\r\n      ['Core system', [\r\n        ['U7', '6510', 'CPU', 'Runs the programs. If faulty: solid black screen, the Dead Test does not start.', \/\\bU7\\b|6510|\\bCPU\\b\/],\r\n        ['U17', 'PLA 906114-01', 'Memory decoding', 'Decides which chip responds to each address. One of the most fragile: black screen, garbage, cartridges that will not start. Modern replacements exist.', \/\\bU17\\b|\\bPLA\\b\/],\r\n        ['U13 \u00b7 U25', '74LS257', 'RAM multiplexers', 'They prepare the addresses for the dynamic RAM. If faulty they cause RAM errors even with good RAM.', \/\\bU13\\b|\\bU25\\b|74LS257\/]\r\n      ]],\r\n      ['Video and audio', [\r\n        ['U19', 'VIC-II 6569 \/ 6567', 'Video', 'Generates the picture (6569 PAL, 6567 NTSC). Runs very hot. If faulty: no signal, black screen or a disturbed picture.', \/\\bU19\\b|VIC-?II|\\bVIC\\b\/],\r\n        ['U18', 'SID 6581', 'Audio', 'The sound chip. On the breadbin it needs 12 V: do not replace it with an 8580 (9 V) without modifications!', \/\\bU18\\b|\\bSID\\b|6581\/],\r\n        ['U6', '2114', 'Colour RAM', 'Stores the colour of each character. If faulty: random colours, or colours that change by themselves.', \/\\bU6\\b|2114|Colou?r RAM\/i]\r\n      ]],\r\n      ['ROM', [\r\n        ['U3', 'BASIC 901226-01', 'BASIC ROM', 'The BASIC interpreter. If faulty: coloured screen with no text, but cartridges may still work.', \/\\bU3\\b|ROM BASIC|BASIC ROM\/],\r\n        ['U4', 'KERNAL 901227', 'KERNAL ROM', 'The operating system: start-up, screen, keyboard, peripherals. If faulty: black screen or a hang at start-up.', \/\\bU4\\b|KERNAL\/],\r\n        ['U5', 'CHAR 901225-01', 'Character ROM', 'Holds the shapes of the letters. If faulty: strange symbols or blocks instead of letters.', \/\\bU5\\b|CHARACTER|Character ROM\/i]\r\n      ]],\r\n      ['Input \/ output', [\r\n        ['U1', 'CIA 6526 #1', 'Keyboard and joysticks', 'Reads the keyboard and both joystick ports. Easily damaged by electrostatic discharge.', \/\\bU1\\b|CIA ?1\\b\/],\r\n        ['U2', 'CIA 6526 #2', 'Serial and user port', 'Handles the serial bus (1541, printer), the user port, RS-232 and the VIC-II memory bank.', \/\\bU2\\b|CIA ?2\\b\/],\r\n        ['7406', '7406', 'Serial driver', 'Drives the serial bus lines to the 1541 and printer: a classic cause of \"DEVICE NOT PRESENT\".', \/7406\/],\r\n        ['556', 'NE556', 'Reset and RESTORE', 'Dual timer: generates the power-on reset and handles the RESTORE key.', \/\\b556\\b|RESTORE\/],\r\n        ['4066', '4066', 'Paddles', 'Analogue switch that routes the paddles to the SID inputs.', \/4066|paddle\/i]\r\n      ]],\r\n      ['RAM (64 KB)', [\r\n        ['U9 \u00b7 U10 \u00b7 U11 \u00b7 U12', '4164 \u00d74', 'Dynamic RAM', 'Each chip holds one bit of every byte. A faulty RAM gives garbage, wrong free bytes or a black screen.', \/\\bU9\\b|\\bU10\\b|\\bU11\\b|\\bU12\\b|4164|\\bRAM\\b\/],\r\n        ['U21 \u00b7 U22 \u00b7 U23 \u00b7 U24', '4164 \u00d74', 'Dynamic RAM', 'The other 4 RAMs. The Dead Test flashes to show which bit (and therefore which chip) is faulty.', \/\\bU21\\b|\\bU22\\b|\\bU23\\b|\\bU24\\b|4164|\\bRAM\\b\/]\r\n      ]],\r\n      ['Power and clock', [\r\n        ['7812', '7812', '12 V regulator', 'Derives the 12 V for the 6581 SID from the 9 V AC.', \/7812|12V|12 V\/],\r\n        ['Y1', 'Crystal', 'Clock', 'The system clock (17.734 MHz PAL \/ 14.318 MHz NTSC), divided down for the CPU and VIC-II. If it stops: no video signal.', \/quarzo|crystal|clock\/i]\r\n      ]]\r\n    ],\r\n    cc: [\r\n      ['Core system', [\r\n        ['CPU', '8500', 'CPU', 'HMOS version of the 6510: runs the same programs, draws less power and runs cooler.', \/8500|CPU\/],\r\n        ['PLA', 'SuperPLA 251715', 'Memory decoding', 'Combines the PLA and part of the glue logic in a single chip: if faulty, black screen.', \/SuperPLA|PLA\/]\r\n      ]],\r\n      ['Video and audio', [\r\n        ['VIC', 'VIC-II 8565 \/ 8562', 'Video', '5 V version of the VIC-II: runs cooler than the 6569.', \/VIC-?II|VIC\/],\r\n        ['SID', 'SID 8580', 'Audio', 'Needs 9 V: do not replace it with a 6581 (12 V) without modifications!', \/SID|8580\/]\r\n      ]],\r\n      ['ROM and RAM', [\r\n        ['ROM', 'BASIC+KERNAL 251913', 'Combined ROM', 'BASIC and KERNAL in a single 16 KB chip.', \/BASIC|KERNAL|251913\/],\r\n        ['CHAR', 'CHAR 901225-01', 'Character ROM', 'As on the breadbin: the letter shapes.', \/CHARACTER|Character\/i],\r\n        ['RAM', '41464 \u00d72', 'Dynamic RAM', 'Just two 64K x 4-bit chips instead of eight.', \/RAM|41464|4464\/]\r\n      ]],\r\n      ['Input \/ output', [\r\n        ['CIA1', 'CIA 8521 #1', 'Keyboard and joysticks', 'Like the 6526: keyboard and both joystick ports.', \/CIA ?1|CIA\/],\r\n        ['CIA2', 'CIA 8521 #2', 'Serial and user port', 'Serial bus, user port and the VIC-II memory bank.', \/CIA ?2|CIA\/]\r\n      ]]\r\n    ]\r\n  };\r\n  var board = 'bb', hotSet = [];\r\n  function renderBoard() {\r\n    $('rfdBoard').innerHTML = CHIPS[board].map(function (g, gi) {\r\n      return '<div class=\"grp\"><b>' + esc(g[0].toUpperCase()) + '<\/b><div class=\"row\">' + g[1].map(function (c, ci) {\r\n        var hot = hotSet.indexOf(gi + '-' + ci) >= 0;\r\n        return '<button type=\"button\" class=\"ic' + (hot ? ' hot' : '') + '\" data-c=\"' + gi + '-' + ci + '\"><span class=\"u\">' + esc(c[0]) + '<\/span><span class=\"p\">' + esc(c[1]) + '<\/span><span class=\"r\">' + esc(c[2]) + '<\/span><\/button>';\r\n      }).join('') + '<\/div><\/div>';\r\n    }).join('');\r\n  }\r\n  function chipInfo(key) {\r\n    var p = key.split('-'), c = CHIPS[board][+p[0]][1][+p[1]];\r\n    $('rfdIcInfo').innerHTML = '<b>' + esc(c[0]) + ' \u00b7 ' + esc(c[1]) + '<\/b> \u2014 ' + esc(c[2]) + '<br>' + esc(c[3]);\r\n  }\r\n  function chipsInText(text) {\r\n    var out = [];\r\n    CHIPS.bb.forEach(function (g, gi) { g[1].forEach(function (c, ci) { if (c[4].test(text)) out.push(gi + '-' + ci); }); });\r\n    return out;\r\n  }\r\n\r\n  \/* ---------- typical screens ---------- *\/\r\n  var BOOT = '\\n    **** COMMODORE 64 BASIC V2 ****\\n\\n 64K RAM SYSTEM  38911 BASIC BYTES FREE\\n\\nREADY.\\n\u2588';\r\n  function seeded(n) { var s = n; return function () { s = (s * 9301 + 49297) % 233280; return s \/ 233280; }; }\r\n  var PAL = ['#000000', '#ffffff', '#883932', '#67b6bd', '#8b3f96', '#55a049', '#40318d', '#bfce72', '#8b5429', '#574200', '#b86962', '#505050', '#787878', '#94e089', '#7869c4', '#9f9f9f'];\r\n  var GLYPH = '\u2580\u2584\u2588\u258c\u2590\u2591\u2592\u2593\u25a0\u25a1\u25aa\u25c6\u25c7\u25cb\u25cf\u25d8\u25d9\u2660\u2663\u2665\u2666\u2571\u2572\u2573\u253c\u2524\u251c\u252c\u2534\u2502\u2500';\r\n  function scrGarbage(seed, colors) {\r\n    var r = seeded(seed), lines = [];\r\n    for (var y = 0; y < 12; y++) { var l = ''; for (var x = 0; x < 40; x++) { var ch = GLYPH[Math.floor(r() * GLYPH.length)]; l += colors ? '<span style=\"color:' + PAL[1 + Math.floor(r() * 15)] + '\">' + ch + '<\/span>' : ch; } lines.push(l); }\r\n    return lines.join('\\n');\r\n  }\r\n  function colorize(text, seed) {\r\n    var r = seeded(seed);\r\n    return text.split('').map(function (ch) { return ch === '\\n' || ch === ' ' ? ch : '<span style=\"color:' + PAL[1 + Math.floor(r() * 15)] + '\">' + esc(ch) + '<\/span>'; }).join('');\r\n  }\r\n  function charrom(text) { var map = '\u2592\u2593\u259a\u259e\u2599\u259f\u259b\u259c\u25a0\u25d8'; return esc(text).replace(\/[A-Z0-9*.]\/g, function (c) { return map[c.charCodeAt(0) % map.length]; }); }\r\n  var SCREENS = [\r\n    { t: 'No signal', d: 'The TV says \"no signal\": there is no video output at all.', go: 'noVideoSignal', html: '<div class=\"scr nosig\"><b>NO SIGNAL<\/b><\/div>' },\r\n    { t: 'Black with signal', d: 'The TV \"locks on\" but the screen stays completely black.', go: 'blackScreenWithSignal', html: '<div class=\"scr black\"><div class=\"in\"><\/div><\/div>' },\r\n    { t: 'Border only, no text', d: 'Coloured border and background but no text or cursor.', go: 'blueScreenNoChars', html: '<div class=\"scr\"><div class=\"in\"><\/div><\/div>' },\r\n    { t: 'Garbage', d: 'Random symbols all over the screen.', go: 'garbageScreen', html: '<div class=\"scr\"><div class=\"in\">' + scrGarbage(7, false) + '<\/div><\/div>' },\r\n    { t: 'Wrong letters', d: 'The text is in the right place but the letters are blocks or symbols.', go: 'charRomFault', html: '<div class=\"scr\"><div class=\"in\">' + charrom(BOOT.replace('\u2588', '')) + '\u2588<\/div><\/div>' },\r\n    { t: 'Random colours', d: 'The text is readable but each character has a different colour.', go: 'colorRamFault', html: '<div class=\"scr\"><div class=\"in\">' + colorize(BOOT, 3) + '<\/div><\/div>' },\r\n    { t: 'Wrong free bytes', d: 'The BASIC BYTES FREE figure is not 38911.', go: 'wrongMemory', html: '<div class=\"scr\"><div class=\"in\">' + esc(BOOT.replace('38911', '30719')) + '<\/div><\/div>' },\r\n    { t: 'OUT OF MEMORY', d: 'Right after start-up you get ?OUT OF MEMORY ERROR IN 0.', go: 'outOfMemory', html: '<div class=\"scr\"><div class=\"in\">' + esc('\\n    **** COMMODORE 64 BASIC V2 ****\\n\\n 64K RAM SYSTEM  0 BASIC BYTES FREE\\n\\n?OUT OF MEMORY ERROR IN 0\\nREADY.\\n\u2588') + '<\/div><\/div>' },\r\n    { t: 'Vertical stripes', d: 'Vertical bars or interference on the picture (jailbars).', go: 'colorInterference', html: '<div class=\"scr jail\"><div class=\"in\">' + esc(BOOT) + '<\/div><\/div>' }\r\n  ];\r\n  $('rfdScreens').innerHTML = SCREENS.map(function (s, i) {\r\n    return '<button type=\"button\" class=\"scard\" data-go=\"' + s.go + '\"><div class=\"tv\">' + s.html + '<\/div><b>' + esc(s.t) + '<\/b><small>' + esc(s.d) + '<\/small><span class=\"go\">GO TO DIAGNOSIS \u25b6<\/span><\/button>';\r\n  }).join('');\r\n\r\n  \/* ---------- test hardware, equipment, documents ---------- *\/\r\n  var PERIPH = [\r\n    ['cart', '#e0398a', 'Dead Test (781220)', 'CARTRIDGE', 'The first thing to try with a black screen: it works even if the KERNAL and BASIC are faulty. Tests RAM, colour RAM and ROM, and if there is no picture it reports the fault by flashing the border.', '\/en\/dt-flash-codes\/', 'Read the flashes on DT Flash Codes'],\r\n    ['harness', '#f8961e', 'Diagnostic 586220 + loopback harness', 'FINAL TEST', 'Needs a C64 that reaches READY. With the loopback connectors on the keyboard, joystick ports, user port, cassette port and serial bus it checks the CIAs, the SID and every line: the complete test to run after every repair.', null, ''],\r\n    ['chip', '#3fd8ff', 'Chip tester', 'BENCH', 'A tester such as the Retro Chip Tester checks 4164 RAM, ROMs and 74xx logic chips off the board: handy for verifying spare parts and chips removed from the board.', '\/en\/dram-tester\/', 'See the Dram tester page'],\r\n    ['eprom', '#5ad15f', 'EPROMs and adapters', 'SPARES', 'The BASIC, KERNAL and character ROM can be replaced with programmed EPROMs. You need a programmer and, for some ROMs, an adapter.', '\/en\/rom-e-adattatori\/', 'See ROMs and adapters'],\r\n    ['chip', '#ffd23f', 'Modern replacements', 'SPARES', 'The PLA, SID and RAM all have modern replacements: PLAs in programmable logic, ARMSID\/SwinSID\/FPGASID for the SID, and boards that replace the eight RAMs.', null, ''],\r\n    ['psu', '#e0398a', 'Protected power supply', 'PREVENTION', 'A modern power supply with overvoltage protection prevents the most destructive fault of all: the 5 V rail rising and burning out every chip.', '\/en\/alimentazioni-console-e-computer\/', 'See Power supplies']\r\n  ];\r\n  $('rfdPeriph').innerHTML = PERIPH.map(function (p) {\r\n    var tag = p[5] ? 'a href=\"' + p[5] + '\"' : 'div';\r\n    return '<' + tag + ' class=\"card\" style=\"--acc:' + p[1] + '\"><div class=\"ct\">' + pix(p[0], p[1]) + '<div><h4>' + esc(p[2]) + '<\/h4><span class=\"tag\">' + esc(p[3]) + '<\/span><\/div><\/div><p>' + esc(p[4]) + '<\/p>' + (p[5] ? '<span class=\"dom\">' + esc(p[6]) + ' \u2192<\/span>' : '') + '<\/' + (p[5] ? 'a' : 'div') + '>';\r\n  }).join('');\r\n  $('rfdTools').innerHTML = Object.keys(TOOLS).map(function (k) {\r\n    var t = TOOLS[k];\r\n    return '<div class=\"card\" style=\"--acc:' + t[2] + '\"><div class=\"ct\">' + pix(t[1], t[2]) + '<h4>' + esc(t[0]) + '<\/h4><\/div><p>' + esc(t[3]) + '<\/p><\/div>';\r\n  }).join('');\r\n  var DOCS = [\r\n    ['book', '#ffd23f', 'C64 schematics', 'Every revision of the motherboard (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/schematics\/computers\/c64\/'],\r\n    ['book', '#ffd23f', '1541 schematics', 'For repairing the floppy drive (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/schematics\/drives\/new\/1541\/'],\r\n    ['book', '#3fd8ff', 'Service manuals', 'Commodore service manuals and technical documentation (zimmers.net).', 'http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/manuals\/'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: motherboard', 'Board revisions and components, explained.', 'https:\/\/www.c64-wiki.com\/wiki\/Motherboard'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: PLA', 'What the PLA is and why it fails.', 'https:\/\/www.c64-wiki.com\/wiki\/PLA_(C64_chip)'],\r\n    ['book', '#3fd8ff', 'C64-Wiki: Color RAM', 'How the colour memory works.', 'https:\/\/www.c64-wiki.com\/wiki\/Color_RAM'],\r\n    ['meter', '#5ad15f', 'Ray Carlsen', 'Repair guides and power supplies for Commodore machines.', 'https:\/\/portcommodore.com\/rcarlsen\/'],\r\n    ['people', '#e0398a', 'Lemon64 forum', 'The largest international C64 community.', 'https:\/\/www.lemon64.com\/forum\/'],\r\n    ['people', '#e0398a', 'World of Jani', 'Commodore repairs and projects.', 'https:\/\/www.worldofjani.com\/'],\r\n    ['play', '#f94144', 'RetroFixer Video library', 'All our C64 repair videos.', '\/en\/videoteca\/?macchina=Commodore+64']\r\n  ];\r\n  function host(u) { if (u.charAt(0) === '\/') return 'retrofixer.it'; try { return new URL(u).hostname.replace(\/^www\\.\/, ''); } catch (e) { return ''; } }\r\n  $('rfdDocs').innerHTML = DOCS.map(function (d) {\r\n    var ext = d[4].charAt(0) !== '\/';\r\n    return '<a class=\"card\" href=\"' + d[4] + '\"' + (ext ? ' target=\"_blank\" rel=\"noopener\"' : '') + ' style=\"--acc:' + d[1] + '\"><div class=\"ct\">' + pix(d[0], d[1]) + '<h4>' + esc(d[2]) + '<\/h4><\/div><p>' + esc(d[3]) + '<\/p><span class=\"dom\">' + esc(host(d[4])) + (ext ? ' \u2197' : ' \u2192') + '<\/span><\/a>';\r\n  }).join('');\r\n\r\n  \/* ---------- guided diagnosis ---------- *\/\r\n  var path = ['start'];\r\n  var nodeCount = Object.keys(TREE).filter(function (k) { return !TREE[k].question; }).length;\r\n  $('rfdCount').innerHTML = nodeCount + ' DIAGNOSES<small>SYSTEM READY.<\/small>';\r\n  function title(id) { var n = TREE[id]; if (!n) return id; if (id === 'start') return 'Start'; return n.diagnosis || n.question; }\r\n  function shortT(s) { s = String(s); return s.length > 38 ? s.slice(0, 36) + '\u2026' : s; }\r\n  function li(line) {\r\n    var t = String(line);\r\n    if (!t.trim()) return '';\r\n    var m = \/^\\s*(?:\u2022|-|\u2013)\\s*(.*)$\/.exec(t);\r\n    if (\/^\\s{2,}\/.test(t) || (m && \/^\\s\/.test(t))) return '<li class=\"sub\">' + esc(m ? m[1] : t.trim()) + '<\/li>';\r\n    if (\/^\\s*(POKE|SYS|LOAD|PRINT)\\b\/.test(t)) return '<li class=\"code\">' + esc(t.trim()) + '<\/li>';\r\n    if (\/:\\s*$\/.test(t)) return '<li class=\"head\">' + esc(t.trim()) + '<\/li>';\r\n    return '<li>' + esc(m ? m[1] : t) + '<\/li>';\r\n  }\r\n  function render(scroll) {\r\n    var id = path[path.length - 1], n = TREE[id];\r\n    if (!n) { path = ['start']; id = 'start'; n = TREE.start; }\r\n    $('rfdCrumbs').innerHTML = path.map(function (p, i) {\r\n      var last = i === path.length - 1;\r\n      return (i ? '<span>\u203a<\/span>' : '') + (last ? '<span class=\"here\">' + esc(shortT(title(p))) + '<\/span>' : '<button type=\"button\" data-crumb=\"' + i + '\">' + esc(shortT(title(p))) + '<\/button>');\r\n    }).join('');\r\n    $('rfdBack').disabled = path.length < 2;\r\n    var html = '';\r\n    if (n.question) {\r\n      html = '<div class=\"c64\"><div class=\"ready\">READY.<\/div><div class=\"qq\">? ' + esc(n.question) + '<\/div>' +\r\n        (n.info ? '<div class=\"info\"><b>' + esc(n.info.title) + '<\/b>' + n.info.content.map(function (l) { return l ? esc(l) + '<br>' : '<br>'; }).join('') + '<\/div>' : '') +\r\n        '<div class=\"opts\">' + n.options.map(function (o, i) { return '<button type=\"button\" class=\"opt\" data-next=\"' + esc(o.next) + '\"><span class=\"n\">' + (i < 9 ? (i + 1) : '\u00b7') + '.<\/span><span>' + esc(o.label) + '<\/span><\/button>'; }).join('') + '<\/div>' +\r\n        '<div class=\"ready\" style=\"margin-top:12px\">PRESS 1-' + Math.min(9, n.options.length) + ' <span class=\"cur\"><\/span><\/div><\/div>';\r\n      hotSet = []; renderBoard();\r\n    } else {\r\n      var sev = SEV[n.severity] || ['#7c70da', 'DIAGNOSIS'];\r\n      var text = [n.diagnosis].concat(n.checks || [], n.solutions || [], n.notes || [], (n.chipLocations && n.chipLocations.positions) || []).join(' ');\r\n      var chips = chipsInText(text);\r\n      var eq = equipFor(id), links = [], video = null;\r\n      LINK_RULES.forEach(function (r) { if (r[0].test(id)) links = links.concat(r[1]); });\r\n      for (var v = 0; v < VIDEO_RULES.length; v++) if (VIDEO_RULES[v][0].test(id)) { video = VIDEO_RULES[v][1]; break; }\r\n      html = '<div class=\"dg\"><div class=\"dg-head\" style=\"--sev:' + sev[0] + '\"><h3>' + esc(n.diagnosis) + '<\/h3><span class=\"sev\">' + sev[1] + '<\/span><\/div>' +\r\n        '<div class=\"cols\"><div class=\"box\" style=\"--acc:#3fd8ff\"><h4>\ud83d\udd0d CHECKS TO MAKE<\/h4><ul>' + (n.checks || []).map(li).join('') + '<\/ul><\/div>' +\r\n        '<div class=\"box\" style=\"--acc:#5ad15f\"><h4>\ud83d\udd27 POSSIBLE SOLUTIONS<\/h4><ul>' + (n.solutions || []).map(li).join('') + '<\/ul><\/div><\/div>' +\r\n        (n.chipLocations ? '<div class=\"box\" style=\"--acc:#c09bff\"><h4>\ud83d\udccd ' + esc(n.chipLocations.title.toUpperCase()) + '<\/h4><ul>' + n.chipLocations.positions.map(li).join('') + '<\/ul><\/div>' : '') +\r\n        (n.notes ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udcdd NOTES<\/h4><p>' + esc(n.notes) + '<\/p><\/div>' : '') +\r\n        (chips.length ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udd32 CHIPS INVOLVED (BREADBIN)<\/h4><div class=\"chips\">' + chips.map(function (k) { var p = k.split('-'), c = CHIPS.bb[+p[0]][1][+p[1]]; return '<button type=\"button\" class=\"chip\" data-chip=\"' + k + '\"><span class=\"u\">' + esc(c[0]) + '<\/span>' + esc(c[2]) + '<\/button>'; }).join('') + '<\/div><\/div>' : '') +\r\n        '<div class=\"box\" style=\"--acc:#f8961e\"><h4>\ud83e\uddf0 EQUIPMENT FOR THIS JOB<\/h4><div class=\"tools\">' + eq.map(function (k) { var t = TOOLS[k]; return '<div class=\"tool\">' + pix(t[1], t[2]) + '<span>' + esc(t[0]) + '<\/span><\/div>'; }).join('') + '<\/div><\/div>' +\r\n        ((links.length || video) ? '<div class=\"links\">' + links.map(function (l) { return '<a class=\"btn\" href=\"' + l[1] + '\">' + esc(l[0]) + '<\/a>'; }).join('') + (video ? '<a class=\"btn r\" href=\"\/en\/videoteca\/?q=&#039; + encodeURIComponent({&#039;keyboard&#039;: &#039;tastiera&#039;, &#039;power supply&#039;: &#039;alimentatore&#039;, &#039;colour RAM&#039;: &#039;color RAM&#039;} || video) + &#039;\">\u25b6 VIDEO: ' + esc(video.toUpperCase()) + '<\/a>' : '') + '<\/div>' : '') +\r\n        '<\/div>';\r\n      if (board !== 'bb') { board = 'bb'; root.querySelectorAll('.tab').forEach(function (t) { t.classList.toggle('on', t.dataset.b === 'bb'); }); }\r\n      hotSet = chips; renderBoard();\r\n    }\r\n    $('rfdStep').innerHTML = html;\r\n    writeUrl(id);\r\n    if (scroll) $('rfd-diagnosi').scrollIntoView({ behavior: 'smooth', block: 'start' });\r\n  }\r\n  function go(id, scroll) {\r\n    if (!TREE[id]) return;\r\n    var i = path.indexOf(id);\r\n    if (i >= 0) path = path.slice(0, i + 1); else path.push(id);\r\n    render(scroll);\r\n  }\r\n  function jump(id) { path = ['start']; if (id !== 'start') path = pathTo(id) || ['start', id]; render(true); }\r\n  \/\/ path from the first question to a node (for the shortcuts)\r\n  function pathTo(target) {\r\n    var seen = {}, q = [['start']];\r\n    while (q.length) {\r\n      var p = q.shift(), last = p[p.length - 1];\r\n      if (last === target) return p;\r\n      if (seen[last]) continue; seen[last] = 1;\r\n      var n = TREE[last]; if (n && n.options) n.options.forEach(function (o) { q.push(p.concat(o.next)); });\r\n    }\r\n    return null;\r\n  }\r\n  function writeUrl(id) {\r\n    var p = new URLSearchParams(location.search);\r\n    if (id && id !== 'start') p.set('passo', id); else p.delete('passo');\r\n    var s = p.toString();\r\n    try { history.replaceState(null, '', location.pathname + (s ? '?' + s : '') + location.hash); } catch (e) { \/* ignore *\/ }\r\n  }\r\n\r\n  \/* ---------- search ---------- *\/\r\n  var INDEX = Object.keys(TREE).map(function (k) {\r\n    var n = TREE[k];\r\n    return { id: k, t: title(k), d: !n.question, text: norm([title(k)].concat(n.checks || [], n.solutions || [], n.notes || [], (n.options || []).map(function (o) { return o.label; })).join(' ')) };\r\n  }).filter(function (x) { return x.id !== 'start'; });\r\n  function search(q) {\r\n    var words = norm(q).split(\/\\s+\/).filter(function (w) { return w.length > 1; });\r\n    if (!words.length) { $('rfdRes').innerHTML = ''; return; }\r\n    var res = INDEX.map(function (x) {\r\n      var s = 0; for (var i = 0; i < words.length; i++) { if (x.text.indexOf(words[i]) < 0) return null; if (norm(x.t).indexOf(words[i]) >= 0) s += 3; s += 1; }\r\n      return { x: x, s: s + (x.d ? 1 : 0) };\r\n    }).filter(Boolean).sort(function (a, b) { return b.s - a.s; }).slice(0, 8);\r\n    $('rfdRes').innerHTML = res.length ? res.map(function (r) {\r\n      return '<button type=\"button\" class=\"res\" data-jump=\"' + r.x.id + '\"><span class=\"tp' + (r.x.d ? ' d' : '') + '\">' + (r.x.d ? 'DIAGNOSIS' : 'QUESTION') + '<\/span>' + esc(r.x.t) + '<\/button>';\r\n    }).join('') : '<div class=\"res\" style=\"cursor:default\">?NOT FOUND \u2014 try another word, for example \"screen\", \"sound\", \"keyboard\".<\/div>';\r\n  }\r\n\r\n  \/* ---------- events ---------- *\/\r\n  var st;\r\n  $('rfdQ').addEventListener('input', function (e) { clearTimeout(st); st = setTimeout(function () { search(e.target.value); }, 120); });\r\n  root.addEventListener('click', function (e) {\r\n    var t;\r\n    if ((t = e.target.closest('[data-next]'))) { go(t.dataset.next, false); var f = $('rfdStep').querySelector('.opt, .dg-head'); if (f) $('rfd-diagnosi').scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }\r\n    if ((t = e.target.closest('[data-crumb]'))) { path = path.slice(0, +t.dataset.crumb + 1); render(false); return; }\r\n    if ((t = e.target.closest('[data-go]'))) { jump(t.dataset.go); return; }\r\n    if ((t = e.target.closest('[data-jump]'))) { $('rfdRes').innerHTML = ''; $('rfdQ').value = ''; jump(t.dataset.jump); return; }\r\n    if ((t = e.target.closest('[data-chip]'))) { chipInfo(t.dataset.chip); $('rfd-chip').scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }\r\n    if ((t = e.target.closest('.ic'))) { chipInfo(t.dataset.c); return; }\r\n    if ((t = e.target.closest('.tab'))) { board = t.dataset.b; root.querySelectorAll('.tab').forEach(function (x) { x.classList.toggle('on', x === t); }); hotSet = board === 'bb' ? hotSet : []; renderBoard(); $('rfdIcInfo').textContent = 'Select a chip to see the details.'; return; }\r\n  });\r\n  $('rfdBack').onclick = function () { if (path.length > 1) { path.pop(); render(false); } };\r\n  $('rfdRestart').onclick = function () { path = ['start']; render(true); };\r\n  $('rfdShare').onclick = function () {\r\n    var url = location.href, done = function () { toast('LINK COPIED.'); };\r\n    if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(url).then(done, function () { prompt('Copy the link:', url); });\r\n    else prompt('Copy the link:', url);\r\n  };\r\n  document.addEventListener('keydown', function (e) {\r\n    if (e.target.closest && e.target.closest('input, textarea, select, [contenteditable]')) return;\r\n    if (e.ctrlKey || e.metaKey || e.altKey || !\/^[1-9]$\/.test(e.key)) return;\r\n    var r = $('rfd-diagnosi').getBoundingClientRect();\r\n    if (r.bottom < 0 || r.top > innerHeight) return;\r\n    var b = $('rfdStep').querySelectorAll('.opt')[+e.key - 1];\r\n    if (b) { e.preventDefault(); b.click(); }\r\n  });\r\n  var tt;\r\n  function toast(m) { var t = $('rfdToast'); t.textContent = m; t.classList.add('show'); clearTimeout(tt); tt = setTimeout(function () { t.classList.remove('show'); }, 1800); }\r\n\r\n  var start = new URLSearchParams(location.search).get('passo');\r\n  renderBoard();\r\n  if (start && TREE[start]) { path = pathTo(start) || ['start', start]; render(false); setTimeout(function () { $('rfd-diagnosi').scrollIntoView({ block: 'start' }); }, 300); }\r\n  else render(false);\r\n})();\r\n<\\\/script><\/script>\r\n<script>(function(){if(!window.RF_EN)return;var s=document.currentScript,src=s.previousElementSibling,it=src.previousElementSibling;var box=document.createElement('div');box.setAttribute('data-no-translation','');box.innerHTML=src.textContent.replace(\/<\\\\(\\\/script|!--)\/gi,'<$1');it.parentNode.replaceChild(box,it);[].forEach.call(box.querySelectorAll('script'),function(o){var n=document.createElement('script');[].forEach.call(o.attributes,function(a){n.setAttribute(a.name,a.value)});n.textContent=o.textContent;o.parentNode.replaceChild(n,o)});})();<\/script>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>RIPARA IL TUO VIC-20, C64, C128 CON L&#8217;AI VIC-201980 \u00b7 VIC-IC641982 \u00b7 VIC-II \/ SIDC1281985 \u00b7 Z80 + 8502Amiga500 \u00b7 600 \u00b7 1200SinclairZX80 \u00b7 Spectrum \u00b7<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":11386,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[5,19],"tags":[572,146,58,568,221,150,51,166,573,67,571,398,147,570],"class_list":["post-10774","page","type-page","status-publish","has-post-thumbnail","hentry","category-commodore","category-computer","tag-aggiustare","tag-black-screen","tag-commodore","tag-commodore64","tag-cpu","tag-deadtest","tag-failure","tag-fix","tag-non-funziona","tag-ram","tag-riparare","tag-ripristino","tag-schermo-nero","tag-sx-64"],"_links":{"self":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/10774","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/comments?post=10774"}],"version-history":[{"count":70,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/10774\/revisions"}],"predecessor-version":[{"id":11818,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/10774\/revisions\/11818"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media\/11386"}],"wp:attachment":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media?parent=10774"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/categories?post=10774"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/tags?post=10774"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}