{"id":11037,"date":"2026-10-23T17:27:35","date_gmt":"2026-10-23T15:27:35","guid":{"rendered":"https:\/\/retrofixer.it\/?page_id=11037"},"modified":"2026-10-23T18:41:45","modified_gmt":"2026-10-23T16:41:45","slug":"guasti-commodore-128","status":"publish","type":"page","link":"https:\/\/retrofixer.it\/en\/guasti-commodore-128\/","title":{"rendered":"Guasti Commodore 128"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11037\" class=\"elementor elementor-11037\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-490db56 e-con-full e-flex e-con e-parent\" data-id=\"490db56\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-47e013e elementor-widget elementor-widget-html\" data-id=\"47e013e\" 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<link rel=\"preconnect\" href=\"https:\/\/fonts.googleapis.com\">\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\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\">\n\n<style>\n.rfd{\n  --bg:#0f0c24; --bg2:#171338; --panel:#1d1846; --line:#342c74; --text:#eceaff; --muted:#aaa5d8;\n  --c64:#3e31a2; --c64l:#7c70da; --ink:#b3abff; --mag:#e0398a; --yel:#ffd23f; --grn:#5ad15f; --cya:#3fd8ff; --ora:#f8961e; --red:#f94144;\n  font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif; color:var(--text); background:var(--bg); line-height:1.55;\n  position:relative; padding:44px 0 70px; overflow:hidden;\n}\n.rfd *,.rfd *::before,.rfd *::after{box-sizing:border-box}\n.rfd h2,.rfd h3,.rfd h4,.rfd p,.rfd ul,.rfd ol{margin:0;padding:0}\n.rfd h2,.rfd h3,.rfd h4{font-family:'Inter',system-ui,sans-serif!important;letter-spacing:0;text-transform:none;font-weight:700}\n.rfd a{color:inherit;text-decoration:none}\n.rfd button,.rfd input{font:inherit;color:inherit}\n.rfd button{cursor:pointer}\n\/* il tema centra il contenuto di tutti i pulsanti: qui lo rimettiamo a posto *\/\n.rfd .opt,.rfd .res{justify-content:flex-start!important;text-align:left!important}\n.rfd .opt{align-items:baseline!important}\n.rfd .ic{display:block!important;text-align:left!important;height:auto!important;line-height:1.3!important}\n.rfd [hidden]{display:none!important}\n.rfd .wrap{max-width:1200px;margin:0 auto;padding:0 20px}\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}\n.rfd .kicker{display:inline-block;font-family:'Press Start 2P',monospace;font-size:10px;color:var(--yel);letter-spacing:.06em;margin-bottom:12px}\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}\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}\n.rfd .sub{color:var(--muted);font-size:15.5px;max-width:720px}\n.rfd section{margin-top:56px}\n.rfd .head{margin-bottom:20px}\n\n\/* intestazione *\/\n.rfd .top{display:flex;gap:24px;align-items:flex-end;justify-content:space-between;flex-wrap:wrap;margin-bottom:22px}\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}\n.rfd .lcd small{font-size:17px;color:#3f8f43;display:block}\n.rfd .nav{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}\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}\n.rfd .nav a:hover{color:#fff;border-color:var(--c64l)}\n\n\/* ricerca *\/\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}\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)}\n.rfd .term label{display:block;font-family:'VT323',monospace;font-size:20px;color:var(--ink)}\n.rfd .qrow{display:flex;align-items:center;gap:10px}\n.rfd .qrow span{font-family:'VT323',monospace;font-size:28px;color:#fff}\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}\n.rfd .q::placeholder{color:#8e86e0;text-transform:none}\n.rfd .results{display:grid;gap:6px;margin-top:10px}\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}\n.rfd .res:hover,.rfd .res:focus-visible{border-color:var(--yel);outline:0}\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}\n.rfd .res .tp.d{background:var(--grn)}\n.rfd .res mark{background:var(--yel);color:#15102e;border-radius:2px;padding:0 1px}\n\n\/* schermate tipiche *\/\n.rfd .screens{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}\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}\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}\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}\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%)}\n.rfd .scr{position:absolute;inset:0;background:#7c70da;padding:9% 7%}\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%}\n.rfd .scr.black,.rfd .scr.black .in{background:#000}\n.rfd .scr.nosig{background:#000;display:flex;align-items:center;justify-content:center}\n.rfd .scr.nosig b{font-family:'Inter',sans-serif;font-size:5.5cqw;color:#fff;background:#1d4fd8;padding:3% 6%;border-radius:4px}\n.rfd .scr.jail .in{background-image:repeating-linear-gradient(90deg,rgba(255,255,255,.09) 0 2.5%,transparent 2.5% 6%)}\n.rfd .scard b{font-size:14.5px;color:#fff;line-height:1.3}\n.rfd .scard small{font-size:12.5px;color:var(--muted);line-height:1.4}\n.rfd .scard .go{font-family:'Press Start 2P',monospace;font-size:8px;color:var(--yel);margin-top:auto}\n\n\/* diagnosi guidata *\/\n.rfd .wiz{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}\n.rfd .crumbs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12.5px}\n.rfd .crumbs button{background:none;border:0;color:var(--cya);padding:2px 0;font-weight:600}\n.rfd .crumbs button:hover{text-decoration:underline}\n.rfd .crumbs span{color:var(--muted)}\n.rfd .crumbs .here{color:#fff;font-weight:700}\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}\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)}\n.rfd .c64 .ready{font-size:22px;margin-bottom:6px}\n.rfd .c64 .qq{font-size:clamp(22px,2.6vw,28px);line-height:1.2;color:#fff;margin-bottom:14px}\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}\n.rfd .c64 .info b{display:block;color:#fff;margin-bottom:4px;font-weight:400}\n.rfd .opts{display:grid;gap:8px;position:relative;z-index:1}\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}\n.rfd .opt:hover,.rfd .opt:focus-visible{background:var(--ink);color:var(--c64);outline:0}\n.rfd .opt .n{flex:none;color:var(--yel)}\n.rfd .opt:hover .n,.rfd .opt:focus-visible .n{color:var(--c64)}\n.rfd .cur{display:inline-block;width:.55em;height:1em;background:currentColor;vertical-align:-.12em;animation:rfd-blink 1s steps(1) infinite}\n@keyframes rfd-blink{50%{opacity:0}}\n.rfd .acts{display:flex;flex-wrap:wrap;gap:10px}\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}\n.rfd .btn:hover{transform:translateY(-2px);filter:brightness(1.15)}\n.rfd .btn.y{background:var(--yel);border-color:var(--yel);color:#231a00;box-shadow:0 4px 0 #a07d00}\n.rfd .btn.r{background:#ff0000;border-color:#ff0000;color:#fff;box-shadow:0 4px 0 #8a0000}\n\n\/* risultato *\/\n.rfd .dg{display:grid;gap:14px}\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}\n.rfd .dg-head h3{font-size:clamp(18px,2.2vw,23px);color:#fff;line-height:1.3}\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}\n.rfd .cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}\n.rfd .box{background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:16px 18px}\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}\n.rfd .box ul{list-style:none;display:grid;gap:7px}\n.rfd .box li{font-size:14.5px;color:#dcd8f6;padding-left:18px;position:relative}\n.rfd .box li::before{content:\"\u25b8\";position:absolute;left:0;color:var(--acc,var(--yel))}\n.rfd .box li.sub{padding-left:34px;color:var(--muted)}\n.rfd .box li.sub::before{left:18px;content:\"\u00b7\"}\n.rfd .box li.head{padding-left:0;color:#fff;font-weight:600;margin-top:4px}\n.rfd .box li.head::before{display:none}\n.rfd .box li.code{font-family:'VT323',monospace;font-size:19px;color:var(--grn);padding-left:18px}\n.rfd .box li.code::before{content:\">\";color:var(--grn)}\n.rfd .box p{font-size:14.5px;color:#dcd8f6}\n.rfd .chips{display:flex;flex-wrap:wrap;gap:8px}\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}\n.rfd .chip:hover{border-color:var(--yel)}\n.rfd .chip .u{font-family:'VT323',monospace;font-size:17px;color:var(--grn)}\n.rfd .tools{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px}\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}\n.rfd .tool svg{width:26px;height:26px;flex:none}\n.rfd .links{display:flex;flex-wrap:wrap;gap:10px}\n\n\/* mappa chip *\/\n.rfd .tabs{display:flex;gap:8px;margin-bottom:14px}\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)}\n.rfd .tab.on{border-color:var(--yel);color:#fff;background:#2a2350}\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;\n  border:3px solid #062612;border-radius:14px;padding:18px;display:grid;gap:16px}\n.rfd .grp b{display:block;font-family:'Press Start 2P',monospace;font-size:8px;color:#a8f0b8;margin-bottom:8px}\n.rfd .grp .row{display:flex;flex-wrap:wrap;gap:10px}\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;\n  box-shadow:0 3px 0 #000;transition:transform .15s,box-shadow .15s,outline-color .15s;outline:3px solid transparent;outline-offset:2px}\n.rfd .ic::before{content:\"\";position:absolute;left:5px;top:50%;width:5px;height:5px;margin-top:-2.5px;border-radius:50%;background:#444}\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)}\n.rfd .ic .u{font-family:'VT323',monospace;font-size:20px;color:var(--grn);line-height:1}\n.rfd .ic .p{display:block;font-size:12.5px;font-weight:700;color:#fff;margin-top:2px}\n.rfd .ic .r{display:block;font-size:11.5px;color:#9a9a9a}\n.rfd .ic:hover{transform:translateY(-2px)}\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}\n@keyframes rfd-hot{50%{box-shadow:0 0 0 2px var(--yel),0 0 6px rgba(255,210,63,.2)}}\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}\n.rfd .icinfo b{color:#fff}\n\n\/* schede (periferiche, attrezzatura, link) *\/\n.rfd .cards{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}\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}\n.rfd a.card:hover{border-color:var(--c64l);transform:translateY(-3px)}\n.rfd .card .ct{display:flex;gap:12px;align-items:center}\n.rfd .card svg{width:34px;height:34px;flex:none}\n.rfd .card h4{font-size:15px;color:#fff;line-height:1.3}\n.rfd .card .tag{font-size:11px;font-weight:700;color:var(--acc,var(--c64l));text-transform:uppercase;letter-spacing:.05em}\n.rfd .card p{font-size:13.5px;color:var(--muted)}\n.rfd .card .dom{font-size:11.5px;color:#6f68a8;margin-top:auto}\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}\n.rfd .warn b{color:#fff}\n.rfd .foot{margin-top:40px;font-size:13px;color:var(--muted);text-align:center}\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}\n.rfd .toast.show{opacity:1}\n\n@media (max-width:1024px){.rfd .screens{grid-template-columns:repeat(3,1fr)}.rfd .cards{grid-template-columns:repeat(2,1fr)}}\n@media (max-width:760px){\n  .rfd .screens{grid-template-columns:repeat(2,1fr);gap:12px}\n  .rfd .cols{grid-template-columns:1fr}\n  .rfd .c64{border-width:10px;padding:14px}\n  .rfd .q,.rfd .qrow span{font-size:23px}\n}\n@media (max-width:480px){\n  .rfd{padding:30px 0 50px}\n  .rfd .wrap{padding:0 14px}\n  .rfd .cards{grid-template-columns:1fr}\n  .rfd .term{border-width:7px;padding:10px 12px}\n  .rfd .ic{min-width:46%;max-width:none}\n}\n@media (prefers-reduced-motion:reduce){.rfd *{transition:none!important}.rfd .ic.hot{animation:none}}\n\/* riga del contatore visite (Post Views) prima del footer: diventa un separatore *\/\nbody:has(.rfd) .post-views.entry-meta{display:block;margin:0;padding:7px 16px;text-align:center;\n  font:12px\/1.4 'Inter',system-ui,sans-serif;color:#aaa5d8;background:#0f0c24;border-top:2px solid #342c74;border-bottom:2px solid #5ad15f}\n\/* barra di scelta del computer (in cima alle guide) *\/\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}\n.rfd .mach-t{font-family:'Press Start 2P',monospace;font-size:9px;line-height:1.6;color:var(--yel);margin-right:auto}\n.rfd .mach-l{display:flex;flex-wrap:wrap;gap:10px}\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}\n.rfd .mach a:hover,.rfd .mach a:focus-visible{transform:translateY(-2px);border-color:var(--c64l);outline:0}\n.rfd .mach a.on{border-color:var(--yel);background:#2a2350;box-shadow:0 0 0 2px rgba(255,210,63,.25)}\n.rfd .mach svg{width:74px;height:30px;flex:none;filter:drop-shadow(0 2px 0 #000)}\n.rfd .mach b{display:block;font-family:'Press Start 2P',monospace;font-size:10px;color:#fff;font-weight:400;line-height:1.4}\n.rfd .mach small{display:block;font-size:11px;color:var(--muted);line-height:1.3}\n.rfd .mach a.on small::after{content:\" \u00b7 sei qui\";color:var(--yel);font-weight:700}\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:\"\"}}\n<\/style>\n\n<div class=\"rfd\" id=\"rfd\">\n  <div class=\"stripe\"><\/div>\n  <div class=\"wrap\">\n    <nav class=\"mach\" aria-label=\"Scegli il computer\">\n      <span class=\"mach-t\">RIPARA IL TUO VIC-20, C64, C128 CON L'AI<\/span>\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><\/div>\n    <\/nav>\n    <div class=\"top\">\n      <div>\n        <span class=\"kicker\">GUASTI COMMODORE 128<\/span>\n        <h2 class=\"h2\">C128 Doctor: trova il guasto<\/h2>\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 C128, C128D e C128DCR, in modalit\u00e0 128, 64 e CP\/M.<\/p>\n      <\/div>\n      <div class=\"lcd\" id=\"rfdCount\">--- DIAGNOSI<small>SYSTEM READY.<\/small><\/div>\n    <\/div>\n    <nav class=\"nav\" aria-label=\"Sezioni della pagina\">\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>\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>\n    <\/nav>\n\n    <div class=\"term\">\n      <label for=\"rfdQ\">SEARCH \"SINTOMO\",8,1<\/label>\n      <div class=\"qrow\"><span aria-hidden=\"true\">&gt;<\/span>\n        <input class=\"q\" id=\"rfdQ\" type=\"search\" placeholder=\"es. 80 colonne, VDC, Z80, 1571, modo C64, 122365\u2026\" autocomplete=\"off\" spellcheck=\"false\">\n      <\/div>\n    <\/div>\n    <div class=\"results\" id=\"rfdRes\"><\/div>\n\n    <!-- schermate tipiche -->\n    <section id=\"rfd-schermi\">\n      <div class=\"head\">\n        <span class=\"kicker\">COSA VEDI SULLO SCHERMO?<\/span>\n        <h3 class=\"h3\">Riconosci il guasto dalla schermata<\/h3>\n        <p class=\"sub\">Simulazioni dei sintomi pi\u00f9 comuni. Clicca su quella che somiglia al tuo schermo per andare alla diagnosi.<\/p>\n      <\/div>\n      <div class=\"screens\" id=\"rfdScreens\"><\/div>\n    <\/section>\n\n    <!-- diagnosi guidata -->\n    <section id=\"rfd-diagnosi\">\n      <div class=\"head\">\n        <span class=\"kicker\">DIAGNOSI GUIDATA<\/span>\n        <h3 class=\"h3\">Rispondi alle domande<\/h3>\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>\n      <\/div>\n      <div class=\"wiz\">\n        <div class=\"crumbs\" id=\"rfdCrumbs\"><\/div>\n        <div id=\"rfdStep\"><\/div>\n        <div class=\"acts\">\n          <button class=\"btn\" id=\"rfdBack\" type=\"button\">\u25c0 INDIETRO<\/button>\n          <button class=\"btn\" id=\"rfdRestart\" type=\"button\">\u21ba RICOMINCIA<\/button>\n          <button class=\"btn\" id=\"rfdShare\" type=\"button\">\ud83d\udd17 COPIA LINK<\/button>\n        <\/div>\n      <\/div>\n    <\/section>\n\n    <!-- mappa chip -->\n    <section id=\"rfd-chip\">\n      <div class=\"head\">\n        <span class=\"kicker\">MAPPA DEI CHIP<\/span>\n        <h3 class=\"h3\">I chip principali del C128<\/h3>\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>\n      <\/div>\n      <div class=\"tabs\" role=\"tablist\" id=\"rfdTabs\"><\/div>\n      <div class=\"board\" id=\"rfdBoard\"><\/div>\n      <div class=\"icinfo\" id=\"rfdIcInfo\">Seleziona un chip per vedere i dettagli.<\/div>\n    <\/section>\n\n    <!-- periferiche di test -->\n    <section id=\"rfd-periferiche\">\n      <div class=\"head\">\n        <span class=\"kicker\">PERIFERICHE CHE AIUTANO<\/span>\n        <h3 class=\"h3\">Cartucce di test e strumenti di diagnosi<\/h3>\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>\n      <\/div>\n      <div class=\"cards\" id=\"rfdPeriph\"><\/div>\n    <\/section>\n\n    <!-- attrezzatura -->\n    <section id=\"rfd-attrezzi\">\n      <div class=\"head\">\n        <span class=\"kicker\">ATTREZZATURA<\/span>\n        <h3 class=\"h3\">Cosa serve sul banco di lavoro<\/h3>\n        <p class=\"sub\">Non serve tutto subito: ogni diagnosi ti indica cosa ti occorre per quel tipo di guasto.<\/p>\n      <\/div>\n      <div class=\"cards\" id=\"rfdTools\"><\/div>\n      <div class=\"warn\">\u26a0\ufe0f <span><b>Sicurezza.<\/b> Il C128 assorbe pi\u00f9 corrente del C64: usa un alimentatore da C128 in buono stato (quelli del C64 spesso non bastano) e misuralo prima di collegarlo. Sul C128D l&#x27;alimentatore \u00e8 interno e lavora con la tensione di rete: scollega sempre il cavo prima di aprire il computer.<\/span><\/div>\n    <\/section>\n\n    <!-- schemi -->\n    <section id=\"rfd-schemi\">\n      <div class=\"head\">\n        <span class=\"kicker\">SCHEMI E DOCUMENTAZIONE<\/span>\n        <h3 class=\"h3\">Per chi vuole riparare da solo<\/h3>\n        <p class=\"sub\">Schemi elettrici, manuali di servizio e le comunit\u00e0 dove chiedere aiuto.<\/p>\n      <\/div>\n      <div class=\"cards\" id=\"rfdDocs\"><\/div>\n    <\/section>\n\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>\n  <\/div>\n  <div class=\"toast\" id=\"rfdToast\" role=\"status\"><\/div>\n<\/div>\n\n<script type=\"application\/json\" id=\"rfdData\">{\"start\":{\"question\":\"Qual \u00e8 il problema principale del tuo C128?\",\"options\":[{\"label\":\"Schermo nero \/ nessuna immagine\",\"next\":\"black\"},{\"label\":\"Bordo e fondo ma nessuna scritta\",\"next\":\"blankScreen\"},{\"label\":\"Parte solo in modalit\u00e0 C64 (o il modo 128 non funziona)\",\"next\":\"mode128Fail\"},{\"label\":\"Niente immagine a 80 colonne\",\"next\":\"vdc80\"},{\"label\":\"Garbage o simboli strani\",\"next\":\"garbage\"},{\"label\":\"Byte liberi errati (non 122365)\",\"next\":\"wrongMemory\"},{\"label\":\"Nessun suono\",\"next\":\"noSound\"},{\"label\":\"Tastiera non funzionante\",\"next\":\"keyboard\"},{\"label\":\"Drive 1571 (interno del C128D o esterno)\",\"next\":\"drive1571\"},{\"label\":\"Il CP\/M non parte\",\"next\":\"cpm\"},{\"label\":\"Si blocca o si resetta\",\"next\":\"freeze\"},{\"label\":\"Scalda molto o c'\u00e8 odore di bruciato\",\"next\":\"overheating\"},{\"label\":\"Ho riparato: voglio fare un collaudo completo\",\"next\":\"finalTest\"}]},\"black\":{\"question\":\"Il LED di accensione \u00e8 acceso?\",\"options\":[{\"label\":\"No, \u00e8 spento o fioco\",\"next\":\"psu\"},{\"label\":\"S\u00ec, \u00e8 acceso\",\"next\":\"ledOn\"}]},\"psu\":{\"question\":null,\"diagnosis\":\"Problema di alimentazione\",\"checks\":[\"Il C128 riceve dall'alimentatore 5 V DC e 9 V AC, come il C64, ma assorbe molta pi\u00f9 corrente: un alimentatore del C64 spesso non basta\",\"Misura a vuoto: 5 V DC tra 4,9 e 5,2 V e circa 9 V AC\",\"Controlla il fusibile sulla scheda e l'interruttore di accensione\",\"Sul C128D l'alimentatore \u00e8 interno: controlla il fusibile di rete e le uscite verso scheda e drive\"],\"solutions\":[\"Usa un alimentatore da C128 in buono stato o uno moderno con protezione da sovratensione\",\"Se il fusibile salta di nuovo, cerca un corto: un chip che scalda subito \u00e8 il primo sospettato\",\"Sul C128D, se l'alimentatore interno non d\u00e0 tensioni corrette, sostituisci i condensatori o l'alimentatore\"],\"severity\":\"media\"},\"ledOn\":{\"question\":\"Con un monitor sull'uscita a 40 colonne (composito o S-Video), il TV dice \\\"nessun segnale\\\" o si aggancia ma resta nero?\",\"options\":[{\"label\":\"Nessun segnale video\",\"next\":\"noSignal\"},{\"label\":\"C'\u00e8 segnale ma lo schermo \u00e8 nero\",\"next\":\"blackWithSignal\"}]},\"noSignal\":{\"question\":null,\"diagnosis\":\"Nessun segnale a 40 colonne\",\"checks\":[\"Il video a 40 colonne lo genera il VIC-IIe (8566 PAL \/ 8564 NTSC)\",\"Se hai un monitor RGBI, prova l'uscita a 80 colonne: se l\u00ec c'\u00e8 immagine, il computer funziona e il problema \u00e8 nel VIC-IIe o nel suo circuito video\",\"Controlla il quarzo di sistema e il clock con l'oscilloscopio\",\"Prova un altro cavo video\"],\"solutions\":[\"Prova un altro cavo composito o S-Video\",\"Se il clock manca, controlla quarzo e componenti vicini\",\"Se tutto il resto funziona, sostituisci il VIC-IIe\"],\"severity\":\"alta\",\"notes\":\"Nel video RV019 della Videoteca c'\u00e8 un C128D con schermo nero causato dal quarzo.\"},\"blackWithSignal\":{\"question\":\"Tenendo premuto il tasto C= all'accensione, il computer parte in modalit\u00e0 C64?\",\"options\":[{\"label\":\"S\u00ec, in modalit\u00e0 C64 funziona\",\"next\":\"mode128Fail\"},{\"label\":\"No, resta nero anche cos\u00ec\",\"next\":\"notEvenC64\"}]},\"notEvenC64\":{\"question\":\"Hai una cartuccia di diagnostica (Dead Test del C64 o diagnostica per C128)?\",\"options\":[{\"label\":\"S\u00ec, ce l'ho\",\"next\":\"diagYes\"},{\"label\":\"No\",\"next\":\"diagNo\"}]},\"diagYes\":{\"question\":null,\"diagnosis\":\"Prova con la cartuccia di diagnostica\",\"checks\":[\"La Dead Test del C64 si usa anche sul C128: fa partire la macchina in modo C64 e prova il primo banco di RAM e le ROM del modo 64\",\"Se la Dead Test segnala RAM guasta, il banco indicato \u00e8 quello usato anche dal modo C64\",\"La diagnostica specifica per C128 prova anche il secondo banco di RAM, il VDC e le parti del modo 128\",\"Se nessuna cartuccia parte: Z80, 8502, MMU, PLA o clock\"],\"solutions\":[\"Sostituisci il chip indicato dalla diagnostica, montando uno zoccolo\",\"Se nessuna cartuccia parte, segui la ricerca senza diagnostica\"],\"severity\":\"media\"},\"diagNo\":{\"question\":null,\"diagnosis\":\"Schermo nero: ricerca senza diagnostica\",\"checks\":[\"All'accensione parte per primo lo Z80, che poi passa il controllo alla 8502: se uno dei due \u00e8 guasto, lo schermo resta nero\",\"Misura i 5 V sui chip principali\",\"Con l'oscilloscopio controlla clock e reset su Z80 e 8502 e se le loro linee di indirizzo si muovono\",\"MMU (8722) e PLA (8721) sono tra i guasti pi\u00f9 frequenti del C128\",\"Tocca i chip: uno che scotta in pochi secondi \u00e8 probabilmente in corto\"],\"solutions\":[\"Prova a sostituire, uno alla volta e su zoccolo, MMU e PLA\",\"Se il clock arriva ma le CPU non lavorano, prova Z80 e 8502\",\"Controlla piste e saldature: molti C128 sono stati aperti e manomessi\"],\"severity\":\"alta\",\"notes\":\"Nel video RV163 della Videoteca c'\u00e8 un C128 con schermo nero dovuto a CPU, RAM e piste danneggiate.\"},\"blankScreen\":{\"question\":null,\"diagnosis\":\"Bordo e fondo ma nessuna scritta\",\"checks\":[\"Il VIC-IIe funziona ma il sistema non arriva al messaggio iniziale\",\"Prova a partire in modo C64 (C= premuto all'accensione): se l\u00ec funziona, il problema \u00e8 nelle ROM del modo 128 o nel secondo banco di RAM\",\"Se non funziona nemmeno in modo C64: ROM, RAM del primo banco, Character ROM o MMU\"],\"solutions\":[\"Prova le ROM una alla volta con EPROM buone\",\"Verifica la RAM con la Dead Test o con il piggyback\",\"Se compare il cursore ma nessuna scritta, controlla la Character ROM\"],\"severity\":\"media\"},\"mode128Fail\":{\"question\":null,\"diagnosis\":\"Funziona solo in modalit\u00e0 C64\",\"checks\":[\"Il modo C64 usa una ROM separata e solo il primo banco di RAM: se funziona, CPU, VIC-IIe e buona parte della scheda sono a posto\",\"Il modo 128 usa le ROM del BASIC 7.0 e del KERNAL\/editor e anche il secondo banco di RAM\",\"Anche la MMU (8722), che gestisce il passaggio tra i modi, pu\u00f2 causare questo sintomo\"],\"solutions\":[\"Prova le ROM del modo 128 con EPROM buone\",\"Controlla il secondo banco di RAM con il piggyback o con la diagnostica per C128\",\"Prova un'altra MMU\"],\"severity\":\"media\",\"notes\":\"Nel video RV178 della Videoteca c'\u00e8 un C128 che non arrivava al prompt, riparato senza spendere nulla.\"},\"vdc80\":{\"question\":null,\"diagnosis\":\"Niente immagine a 80 colonne\",\"checks\":[\"Le 80 colonne escono solo dalla presa RGBI (DB9) e servono un monitor RGBI (come i Commodore 1084S in modalit\u00e0 RGBI) o un adattatore: un TV normale non le mostra\",\"Il tasto 40\/80 sceglie lo schermo solo all'accensione; da BASIC si cambia con ESC e poi X\",\"Le 80 colonne le genera il VDC (8563, 8568 sul C128DCR) con una sua RAM video\",\"Il VDC scalda molto ed \u00e8 un guasto comune; ha anche un suo quarzo da 16 MHz\"],\"solutions\":[\"Verifica monitor e cavo con un altro computer o adattatore RGBI\",\"Controlla il quarzo da 16 MHz e la RAM video del VDC\",\"Sostituisci il VDC: \u00e8 caro, provalo prima su un altro C128 se possibile\",\"Un piccolo dissipatore sul VDC ne allunga la vita\"],\"severity\":\"media\"},\"garbage\":{\"question\":null,\"diagnosis\":\"Garbage o simboli strani\",\"checks\":[\"Prova sia il modo 128 sia il modo C64: se il garbage c'\u00e8 solo in uno dei due, restringi la ricerca a ROM e RAM di quel modo\",\"Garbage sempre uguale: pi\u00f9 probabile RAM, Character ROM o ROM\",\"Garbage che cambia: PLA, MMU, VIC-IIe, zoccoli ossidati o saldature fredde\"],\"solutions\":[\"Verifica la RAM con la Dead Test (modo C64) o con la diagnostica per C128\",\"Prova PLA e MMU di ricambio, uno alla volta\",\"Pulisci gli zoccoli e ripassa le saldature sospette\"],\"severity\":\"media\"},\"wrongMemory\":{\"question\":null,\"diagnosis\":\"Byte liberi errati\",\"checks\":[\"In modo 128 il C128 mostra 122365 BYTES FREE, in modo C64 38911 BASIC BYTES FREE\",\"Se il modo C64 \u00e8 giusto ma il modo 128 no, sospetta il secondo banco di RAM\",\"Se \u00e8 sbagliato anche il modo C64, il problema \u00e8 nel primo banco\"],\"solutions\":[\"Trova il chip guasto con la diagnostica o con il piggyback\",\"Sostituisci la RAM guasta (4164 sul C128 piatto) su zoccolo\"],\"severity\":\"media\"},\"noSound\":{\"question\":null,\"diagnosis\":\"Nessun suono\",\"checks\":[\"Il suono lo genera il SID: 6581 a 12 V sul C128 piatto, 8580 a 9 V sul C128DCR\",\"Prova da BASIC 7.0:\",\"  VOL 15\",\"  SOUND 1,4000,60\",\"Controlla il cavo audio e il collegamento al TV o all'amplificatore\"],\"solutions\":[\"6581 e 8580 non sono intercambiabili senza modifiche: usa quello giusto per la tua scheda\",\"Esistono sostituti moderni del SID (ARMSID, SwinSID, FPGASID)\",\"Controlla i componenti della linea audio e il regolatore che alimenta il SID\"],\"severity\":\"bassa\"},\"keyboard\":{\"question\":\"Che problema ha la tastiera?\",\"options\":[{\"label\":\"Nessun tasto funziona\",\"next\":\"keyboardNone\"},{\"label\":\"Non vanno i tasti in pi\u00f9 (tastierino, ESC, TAB, ALT, HELP...)\",\"next\":\"keyboardExtra\"},{\"label\":\"Alcuni tasti sparsi non funzionano\",\"next\":\"keyboardSome\"}]},\"keyboardNone\":{\"question\":null,\"diagnosis\":\"Tastiera completamente non funzionante\",\"checks\":[\"La parte della tastiera uguale al C64 \u00e8 letta dal CIA 1 (6526)\",\"Controlla il connettore e il cavo della tastiera (sul C128D la tastiera \u00e8 staccata e ha il suo cavo)\",\"Se non funzionano nemmeno i joystick, sospetta il CIA 1\"],\"solutions\":[\"Pulisci i connettori e controlla il cavo con il multimetro\",\"Sostituisci il CIA 1 se cavo e tastiera sono a posto\"],\"severity\":\"media\"},\"keyboardExtra\":{\"question\":null,\"diagnosis\":\"Non funzionano i tasti in pi\u00f9\",\"checks\":[\"I tasti in pi\u00f9 del C128 (tastierino numerico, ESC, TAB, ALT, HELP, LINE FEED, NO SCROLL e cursori della riga superiore) sono scansionati usando anche linee del VIC-IIe\",\"CAPS LOCK e 40\/80 sono letti a parte\",\"Se non va nessuno dei tasti in pi\u00f9, controlla le linee della tastiera verso il VIC-IIe e il connettore\"],\"solutions\":[\"Controlla con il multimetro le piste dei tasti in pi\u00f9 fino al connettore\",\"Se i collegamenti sono buoni, il VIC-IIe potrebbe avere le uscite della tastiera danneggiate\"],\"severity\":\"bassa\"},\"keyboardSome\":{\"question\":null,\"diagnosis\":\"Alcuni tasti non funzionano\",\"checks\":[\"Tasti sparsi: contatti sporchi o consumati\",\"Un'intera riga o colonna: cavo, connettore o chip che la legge\"],\"solutions\":[\"Pulisci i contatti dei tasti con alcool isopropilico\",\"Controlla le piste della tastiera con il multimetro\"],\"severity\":\"bassa\"},\"drive1571\":{\"question\":null,\"diagnosis\":\"Problemi con il drive 1571\",\"checks\":[\"Il 1571 (interno nel C128D) \u00e8 un piccolo computer: ha una sua CPU, ROM, RAM e un controller del disco WD177x\",\"Rotazione continua e LED sempre acceso all'accensione: il drive non completa l'avvio (ROM, RAM, CPU o controller del drive)\",\"DEVICE NOT PRESENT: cavo o bus seriale; nel C128D anche il cablaggio interno\",\"Errori di lettura: testina sporca o disallineata, dischi rovinati\"],\"solutions\":[\"Pulisci la testina con alcool isopropilico\",\"Se il drive non completa l'avvio, controlla ROM, RAM e CPU del drive e il controller WD177x\",\"Controlla cavo seriale e connettori, anche interni sul C128D\"],\"severity\":\"media\",\"notes\":\"Nel video RV022 della Videoteca c'\u00e8 la riparazione del 1571 di un C128D con rotazione continua e LED acceso fisso.\"},\"cpm\":{\"question\":null,\"diagnosis\":\"Il CP\/M non parte\",\"checks\":[\"Il CP\/M usa lo Z80 e va caricato da disco con il comando BOOT, meglio da un 1571\",\"Lo Z80 lavora anche all'accensione: se il computer arriva al READY, lo Z80 \u00e8 almeno in parte funzionante\",\"Controlla che il disco di sistema CP\/M sia buono e adatto al tuo drive\"],\"solutions\":[\"Prova un altro disco di sistema CP\/M\",\"Verifica il drive con altri dischi\",\"Se il CP\/M si blocca sempre allo stesso punto, prova un altro Z80 e la MMU\"],\"severity\":\"bassa\"},\"freeze\":{\"question\":null,\"diagnosis\":\"Si blocca o si resetta\",\"checks\":[\"Se succede dopo qualche minuto \u00e8 un guasto termico: VDC, VIC-IIe, MMU e PLA scaldano molto\",\"Un alimentatore insufficiente fa scendere i 5 V sotto carico (il C128 consuma pi\u00f9 del C64)\",\"Zoccoli ossidati e saldature fredde danno blocchi casuali\"],\"solutions\":[\"Prova con un alimentatore adatto al C128\",\"Usa lo spray congelante un chip alla volta per trovare quello che cede\",\"Aggiungi piccoli dissipatori sui chip pi\u00f9 caldi\",\"Pulisci gli zoccoli e ripassa le saldature sospette\"],\"severity\":\"media\"},\"overheating\":{\"question\":null,\"diagnosis\":\"Surriscaldamento o odore di bruciato\",\"checks\":[\"SPEGNI SUBITO e scollega l'alimentazione\",\"VDC, VIC-IIe, MMU e PLA sono normalmente molto caldi; CPU, CIA e SID non devono scottare\",\"Misura l'alimentatore: i 5 V oltre 5,2 V danneggiano i chip\",\"Sul C128D controlla anche l'alimentatore interno (condensatori gonfi, componenti anneriti)\"],\"solutions\":[\"Non riaccendere finch\u00e9 non hai trovato la causa\",\"Individua con un termometro IR il chip che scalda troppo\",\"Usa un alimentatore con protezione da sovratensione\",\"Sostituisci i componenti danneggiati\"],\"severity\":\"alta\"},\"finalTest\":{\"question\":null,\"diagnosis\":\"Collaudo finale completo\",\"checks\":[\"Modo 128: 122365 BYTES FREE a 40 e a 80 colonne\",\"Modo C64 (C= all'accensione o GO64): 38911 BASIC BYTES FREE\",\"Dead Test in modo C64 e, se ce l'hai, diagnostica per C128 con i cavetti di loopback\",\"Prova tutti i tasti, compresi tastierino e tasti in pi\u00f9\",\"Prova suono (SOUND), joystick, drive e il caricamento del CP\/M\",\"Lascia il C128 acceso almeno un'ora: molti guasti compaiono solo a caldo\"],\"solutions\":[\"Se tutto passa, richiudi e annota cosa hai sostituito\",\"Usa un alimentatore adatto e in buono stato\"],\"severity\":\"bassa\"}}<\/script>\n<script type=\"application\/json\" id=\"rfdCfg\">{\"chipNote\":\"C128 piatto\",\"boards\":[{\"id\":\"flat\",\"label\":\"C128 (piatto)\",\"groups\":[[\"Cuore del sistema\",[[\"8502\",\"8502\",\"CPU principale\",\"La CPU dei modi 128 e 64 (compatibile 6510, fino a 2 MHz).\",\"8502|\\\\bCPU\\\\b\"],[\"Z80\",\"Z80B\",\"Avvio e CP\/M\",\"Parte per prima all'accensione e poi passa il controllo alla 8502; serve anche per il CP\/M. Se guasta: schermo nero.\",\"Z80\"],[\"MMU\",\"8722\",\"Gestione memoria\",\"Gestisce i banchi di memoria e il passaggio tra modo 128, 64 e CP\/M. Guasto frequente.\",\"\\\\bMMU\\\\b|8722\"],[\"PLA\",\"8721\",\"Decodifica\",\"Decide quale chip risponde a ogni indirizzo. Guasto frequente: schermo nero o garbage.\",\"\\\\bPLA\\\\b|8721\"]]],[\"Video e audio\",[[\"VIC-IIe\",\"8566 \/ 8564\",\"Video 40 colonne\",\"Genera l'immagine a 40 colonne (8566 PAL, 8564 NTSC) e aiuta a leggere i tasti in pi\u00f9.\",\"VIC-IIe|8566|8564\"],[\"VDC\",\"8563\",\"Video 80 colonne\",\"Genera l'uscita RGBI a 80 colonne con una sua RAM video. Scalda molto ed \u00e8 un guasto comune.\",\"\\\\bVDC\\\\b|8563|80 colonne\"],[\"VRAM\",\"16 KB\",\"RAM video\",\"La RAM dedicata al VDC per le 80 colonne.\",\"RAM video\"],[\"SID\",\"6581\",\"Audio\",\"Vuole 12 V: non sostituirlo con un 8580 senza modifiche.\",\"\\\\bSID\\\\b|6581\"]]],[\"ROM\",[[\"ROM 64\",\"Modo C64\",\"BASIC e KERNAL C64\",\"La ROM con BASIC e KERNAL della modalit\u00e0 C64.\",\"modo C64|modalit\u00e0 C64\"],[\"BASIC 7\",\"\u00d72\",\"BASIC 7.0\",\"Il BASIC del modo 128, diviso in due ROM.\",\"BASIC 7|modo 128\"],[\"KERNAL\",\"KERNAL \/ editor\",\"Sistema modo 128\",\"KERNAL, editor dello schermo e codice di avvio dello Z80.\",\"KERNAL|editor\"],[\"CHAR\",\"Character ROM\",\"Caratteri\",\"La forma dei caratteri per il modo 128 e il modo 64.\",\"Character|CHARACTER\"]]],[\"RAM e I\/O\",[[\"RAM\",\"4164 \u00d716\",\"128 KB\",\"Due banchi da 64 KB: il primo serve anche al modo C64, il secondo solo al modo 128.\",\"\\bRAM\\b(?! video)|4164|banco\"],[\"CIA 1\",\"6526\",\"Tastiera e joystick\",\"Come sul C64: tastiera ed entrambe le porte joystick.\",\"CIA 1|joystick\"],[\"CIA 2\",\"6526\",\"Seriale e user port\",\"Bus seriale (anche veloce per il 1571) e user port.\",\"CIA 2|seriale\"]]],[\"Clock\",[[\"Y1 \u00b7 Y2\",\"Quarzi\",\"Clock\",\"Un quarzo di sistema e uno da 16 MHz per il VDC. Se il clock manca: schermo nero.\",\"quarzo|clock\"]]]]},{\"id\":\"dcr\",\"label\":\"C128DCR\",\"groups\":[[\"Cuore del sistema\",[[\"8502\",\"8502\",\"CPU principale\",\"Come sul C128 piatto.\",\"8502\"],[\"Z80\",\"Z80B\",\"Avvio e CP\/M\",\"Come sul C128 piatto: parte per primo all'accensione.\",\"Z80\"],[\"MMU\",\"8722\",\"Gestione memoria\",\"Banchi di memoria e passaggio tra i modi.\",\"MMU\"],[\"PLA\",\"8721\",\"Decodifica\",\"Decodifica degli indirizzi.\",\"PLA\"]]],[\"Video e audio\",[[\"VIC-IIe\",\"8566 \/ 8564\",\"Video 40 colonne\",\"Come sul C128 piatto.\",\"VIC-IIe\"],[\"VDC\",\"8568\",\"Video 80 colonne\",\"Versione aggiornata del VDC con 64 KB di RAM video.\",\"VDC|8568\"],[\"SID\",\"8580\",\"Audio\",\"Vuole 9 V: non sostituirlo con un 6581 senza modifiche.\",\"SID|8580\"]]],[\"ROM e RAM\",[[\"ROM\",\"\u00d72\",\"ROM di sistema\",\"Tutte le ROM riunite in due chip.\",\"ROM\"],[\"RAM\",\"128 KB\",\"RAM dinamica\",\"Meno chip ma di maggiore capacit\u00e0 rispetto al C128 piatto.\",\"RAM\"]]]]}],\"screen\":{\"cols\":40,\"border\":\"#7a7a7a\",\"bg\":\"#4a4a4a\",\"ink\":\"#94e089\",\"boot\":[\"\",\" COMMODORE BASIC V7.0 122365 BYTES FREE\",\"   (C)1985 COMMODORE ELECTRONICS, LTD.\",\"         (C)1977 MICROSOFT CORP.\",\"           ALL RIGHTS RESERVED\",\"\",\"READY.\"]},\"screens\":[{\"t\":\"Nessun segnale (40 col.)\",\"d\":\"Il TV collegato all'uscita a 40 colonne non riceve segnale.\",\"go\":\"noSignal\",\"kind\":\"nosignal\"},{\"t\":\"Nero con segnale\",\"d\":\"Il TV si aggancia ma lo schermo resta tutto nero.\",\"go\":\"blackWithSignal\",\"kind\":\"black\"},{\"t\":\"Bordo senza scritte\",\"d\":\"Bordo e fondo colorati ma nessun messaggio.\",\"go\":\"blankScreen\",\"kind\":\"blank\"},{\"t\":\"Solo modo C64\",\"d\":\"Parte solo la schermata blu del C64, il modo 128 no.\",\"go\":\"mode128Fail\",\"kind\":\"text\",\"border\":\"#7c70da\",\"bg\":\"#3e31a2\",\"ink\":\"#b3abff\",\"lines\":[\"\",\"    **** COMMODORE 64 BASIC V2 ****\",\"\",\" 64K RAM SYSTEM  38911 BASIC BYTES FREE\",\"\",\"READY.\"]},{\"t\":\"Niente a 80 colonne\",\"d\":\"Il monitor RGBI non riceve nulla dall'uscita a 80 colonne.\",\"go\":\"vdc80\",\"kind\":\"nosignal\",\"label\":\"RGBI: NESSUN SEGNALE\"},{\"t\":\"Garbage\",\"d\":\"Simboli casuali su tutto lo schermo.\",\"go\":\"garbage\",\"kind\":\"garbage\",\"seed\":9},{\"t\":\"Byte liberi errati\",\"d\":\"In modo 128 il numero non \u00e8 122365.\",\"go\":\"wrongMemory\",\"kind\":\"text\",\"lines\":[\"\",\" COMMODORE BASIC V7.0 57085 BYTES FREE\",\"   (C)1985 COMMODORE ELECTRONICS, LTD.\",\"         (C)1977 MICROSOFT CORP.\",\"           ALL RIGHTS RESERVED\",\"\",\"READY.\"]}],\"tools\":{\"deadtest\":[\"Dead Test (modo C64)\",\"cart\",\"#e0398a\",\"La Dead Test del C64 prova il primo banco di RAM e le ROM del modo 64 anche sul C128.\"],\"diag\":[\"Diagnostica C128 + cavetti\",\"harness\",\"#f8961e\",\"Collaudo di tastiera, porte, CIA, SID e parti del modo 128 con i connettori di loopback.\"],\"chiptester\":[\"Chip tester\",\"chip\",\"#3fd8ff\",\"Prova fuori dalla scheda RAM, ROM e logica 74xx.\"]},\"equip\":[[\"psu|overheating\",[\"meter\",\"psu\",\"therm\",\"iron\"]],[\"noSignal|vdc80\",[\"meter\",\"scope\",\"probe\",\"lens\"]],[\"blackWithSignal|notEvenC64|diagYes|diagNo|blankScreen|garbage|wrongMemory|mode128Fail\",[\"deadtest\",\"diag\",\"scope\",\"probe\",\"chiptester\",\"socket\"]],[\"noSound\",[\"scope\",\"meter\",\"diag\",\"iron\"]],[\"keyboard\",[\"diag\",\"meter\",\"alcohol\",\"iron\"]],[\"drive1571|cpm\",[\"meter\",\"scope\",\"alcohol\",\"chiptester\"]],[\"freeze\",[\"spray\",\"therm\",\"scope\",\"psu\"]],[\"finalTest\",[\"deadtest\",\"diag\",\"psu\",\"socket\"]]],\"links\":[[\"psu|overheating|freeze\",[[\"\ud83d\udd0c Alimentazioni\",\"\/alimentazioni-console-e-computer\/\"]]],[\"diagYes|diagNo|wrongMemory|garbage\",[[\"\u26a1 DT Flash Codes\",\"\/dt-flash-codes\/\"],[\"\ud83e\uddea Dram tester\",\"\/dram-tester\/\"]]],[\"mode128Fail|blankScreen\",[[\"\ud83d\udcbe ROM e adattatori\",\"\/rom-e-adattatori\/\"]]]],\"videos\":[[\"drive1571\",\"?q=1571\"],[\".\",\"?macchina=Commodore+128\"]],\"videoLabels\":{\"?q=1571\":\"1571\",\"?macchina=Commodore+128\":\"C128\"},\"periph\":[[\"cart\",\"#e0398a\",\"Dead Test del C64 (modo 64)\",\"CARTUCCIA\",\"Si usa anche sul C128: fa partire la macchina in modo C64 e prova il primo banco di RAM e le ROM del modo 64, comunicando i guasti con i lampeggi se lo schermo non si vede.\",\"\/dt-flash-codes\/\",\"Leggi i lampeggi su DT Flash Codes\"],[\"harness\",\"#f8961e\",\"Diagnostica per C128 e cavetti\",\"COLLAUDO FINALE\",\"Commodore ha prodotto anche una diagnostica specifica per C128, oggi riprodotta dagli appassionati: con i cavetti di loopback prova anche il secondo banco di RAM, il VDC e le porte.\",null,\"\"],[\"scope\",\"#3fd8ff\",\"Monitor RGBI o adattatore\",\"80 COLONNE\",\"Per vedere e provare le 80 colonne serve un monitor RGBI (per esempio un Commodore 1084S) o un adattatore moderno RGBI-VGA\/HDMI.\",null,\"\"],[\"eprom\",\"#5ad15f\",\"EPROM e adattatori\",\"RICAMBI\",\"Le ROM del C128 si sostituiscono con EPROM programmate, a volte con un adattatore.\",\"\/rom-e-adattatori\/\",\"Vedi ROM e adattatori\"],[\"chip\",\"#ffd23f\",\"Ricambi moderni\",\"RICAMBI\",\"Per SID e alcuni chip logici esistono sostituti moderni; MMU, PLA e VDC si recuperano da schede donatrici o da rivenditori specializzati.\",null,\"\"],[\"psu\",\"#e0398a\",\"Alimentatore adatto al C128\",\"PREVENZIONE\",\"Il C128 consuma pi\u00f9 del C64: usa un alimentatore dimensionato per il C128, meglio se moderno e con protezione da sovratensione.\",\"\/alimentazioni-console-e-computer\/\",\"Vedi Alimentazioni\"]],\"docs\":[[\"book\",\"#ffd23f\",\"Schemi elettrici C128\",\"Tutte le revisioni di C128 e C128D (zimmers.net).\",\"http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/schematics\/computers\/c128\/\"],[\"book\",\"#3fd8ff\",\"Manuali di servizio\",\"Service manual e documentazione Commodore (zimmers.net).\",\"http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/manuals\/\"],[\"book\",\"#3fd8ff\",\"C64-Wiki: Commodore 128\",\"Modelli, modalit\u00e0 e caratteristiche del C128.\",\"https:\/\/www.c64-wiki.com\/wiki\/Commodore_128\"],[\"book\",\"#3fd8ff\",\"C64-Wiki: C128D\",\"Le versioni con drive integrato.\",\"https:\/\/www.c64-wiki.com\/wiki\/C128D\"],[\"book\",\"#3fd8ff\",\"C64-Wiki: 8502 e Z80\",\"Le due CPU del C128.\",\"https:\/\/www.c64-wiki.com\/wiki\/8502\"],[\"people\",\"#e0398a\",\"Lemon64 forum\",\"Community internazionale su C64 e C128.\",\"https:\/\/www.lemon64.com\/forum\/\"],[\"meter\",\"#5ad15f\",\"Ray Carlsen\",\"Guide di riparazione e alimentatori per Commodore.\",\"https:\/\/portcommodore.com\/rcarlsen\/\"],[\"play\",\"#f94144\",\"Videoteca RetroFixer\",\"I nostri video di riparazione del C128.\",\"\/videoteca\/?macchina=Commodore+128\"],[\"chip\",\"#7c70da\",\"C64 Doctor\",\"La guida ai guasti del Commodore 64 (utile anche per il modo 64).\",\"\/guasti-commodore-64\/\"]]}<\/script>\n<script>\n(function () {\n  var root = document.getElementById('rfd');\n  [].forEach.call(root.querySelectorAll('.mach a'), function (a) {\n    if (location.pathname.indexOf(a.getAttribute('href')) === 0) { a.classList.add('on'); a.setAttribute('aria-current', 'page'); }\n  });\n  if (!root || root.dataset.ready) return;\n  root.dataset.ready = '1';\n  var $ = function (id) { return document.getElementById(id); };\n  function esc(s) { return String(s == null ? '' : s).replace(\/[&<>\"']\/g, function (c) { return { '&': '&amp;', '<': '&lt;', '>': '&gt;', '\"': '&quot;', \"'\": '&#39;' }[c]; }); }\n  function norm(s) { return String(s || '').toLowerCase().normalize('NFD').replace(\/[\u0300-\u036f]\/g, ''); }\n  var TREE = JSON.parse($('rfdData').textContent);\n  var CFG = JSON.parse($('rfdCfg').textContent);\n  var SEV = { alta: ['#f94144', 'GRAVIT\u00c0 ALTA'], media: ['#ffd23f', 'GRAVIT\u00c0 MEDIA'], bassa: ['#5ad15f', 'GRAVIT\u00c0 BASSA'] };\n\n  \/* ---------- icone pixel (12x12) ---------- *\/\n  var PIX = {\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..'],\n    scope: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab..c...c.ba', 'ab.c.c.c.cba', 'abc...c...ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', 'a.dd.dd.dd.a', 'aaaaaaaaaaaa', '............', '............', '............'],\n    probe: ['.......aa...', '......abba..', '.....abba...', '....abba....', '...abba.....', '..acca......', '.acca.......', 'acca........', 'aa..........', 'd...........', 'd...........', 'd...........'],\n    iron:  ['..........aa', '.........aba', '........aba.', '.......aba..', '......cca...', '.....cc.....', '....cc......', '...dd.......', '..dd........', '.dd.........', 'dd..........', 'd...........'],\n    cart:  ['.aaaaaaaaaa.', '.abbbbbbbba.', '.abccccccba.', '.abccccccba.', '.abbbbbbbba.', '.aaaaaaaaaa.', '.aaaaaaaaaa.', '..d.d.d.d...', '..d.d.d.d...', '............', '............', '............'],\n    harness: ['aaa......aaa', 'aba......aba', 'aaa......aaa', '.c........c.', '.c........c.', '..cccccccc..', '............', 'aaa......aaa', 'aba......aba', 'aaa......aaa', '.d........d.', '.dddddddddd.'],\n    chip:  ['.d.d.d.d.d..', 'aaaaaaaaaaa.', 'abbbbbbbbbad', 'ab.......ba.', 'ab.ccccc.bad', 'ab.......ba.', 'abbbbbbbbbad', 'aaaaaaaaaaa.', '.d.d.d.d.d..', '............', '............', '............'],\n    eprom: ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.cccccc.ba', 'ab.c....c.ba', 'ab.cccccc.ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............'],\n    spray: ['....aa......', '...abba..c..', '....aa..c.c.', '...aaaa...c.', '..abbbba....', '..abbbba....', '..abccba....', '..abccba....', '..abbbba....', '..abbbba....', '..aaaaaa....', '............'],\n    therm: ['....aaa.....', '...abbba....', '...abcba....', '...abcba....', '...abcba....', '...abcba....', '..abcccba...', '.abcccccba..', '.abcccccba..', '..abcccba...', '...aaaaa....', '............'],\n    psu:   ['aaaaaaaaaaaa', 'abbbbbbbbbba', 'ab.c.c.c..ba', 'abbbbbbbbbba', 'aaaaaaaaaaaa', '.....dd.....', '.....d......', '.....d......', '....ddd.....', '....d.d.....', '............', '............'],\n    socket:['aaaaaaaaaaaa', 'a.c.c.c.c.ca', 'a..........a', 'a.c.c.c.c.ca', 'aaaaaaaaaaaa', '.d.d.d.d.d.d', '............', '............', '............', '............', '............', '............'],\n    brush: ['..........aa', '.........aa.', '........aa..', '.......aa...', '......aa....', '.....bbb....', '....bbbbb...', '...ccccc....', '..ccccc.....', '.cccc.......', '............', '............'],\n    lens:  ['...aaaa.....', '..abbbba....', '.abccccba...', '.abccccba...', '.abccccba...', '..abbbba....', '...aaaa.d...', '........d...', '.........d..', '..........d.', '............', '............'],\n    book:  ['aaaaa.aaaaa.', 'abbba.abbba.', 'abbbaaabbba.', 'abbba.abbba.', 'abbba.abbba.', 'abbbaaabbba.', 'aaaaa.aaaaa.', '.....c......', '............', '............', '............', '............'],\n    people:['..aa....aa..', '.abba..abba.', '.abba..abba.', '..aa....aa..', '.aaaa..aaaa.', 'aaaaaaaaaaaa', 'aaaaaaaaaaaa', '............', '............', '............', '............', '............'],\n    play:  ['aaaaaaaaaaaa', 'a..........a', 'a..b.......a', 'a..bbb.....a', 'a..bbbbb...a', 'a..bbb.....a', 'a..b.......a', 'a..........a', 'aaaaaaaaaaaa', '............', '............', '............']\n  };\n  function pix(name, col) {\n    var m = PIX[name] || PIX.chip, s = '', pal = { a: col, b: '#ffffff', c: '#5ad15f', d: '#9a9a9a', e: '#f94144' };\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] + '\"\/>'; }\n    return '<svg viewBox=\"0 0 12 12\" shape-rendering=\"crispEdges\" aria-hidden=\"true\">' + s + '<\/svg>';\n  }\n\n  \/* ---------- attrezzatura ---------- *\/\n  var TOOLS = {\n    meter: ['Multimetro', 'meter', '#3fd8ff', 'Per misurare 5 V, 9 V AC e 12 V, verificare fusibili, cavi e continuit\u00e0 delle piste.'],\n    scope: ['Oscilloscopio', 'scope', '#5ad15f', 'Per vedere clock, segnali video e attivit\u00e0 sui bus: indispensabile per i guasti a schermo nero.'],\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.'],\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.'],\n    diag: ['Diagnostic 586220 + cavetti', 'harness', '#f8961e', 'Collaudo di tastiera, porte, CIA e SID con i connettori di loopback.'],\n    chiptester: ['Chip tester', 'chip', '#3fd8ff', 'Prova fuori dalla scheda RAM, ROM e logica 74xx, per esempio con un Retro Chip Tester.'],\n    eprom: ['Programmatore EPROM', 'eprom', '#5ad15f', 'Per sostituire BASIC, KERNAL e Character ROM con EPROM nuove (con adattatore).'],\n    iron: ['Saldatore e dissaldatore', 'iron', '#f94144', 'A temperatura controllata. Una pompetta o una stazione dissaldante salva le piste.'],\n    socket: ['Zoccoli torniti', 'socket', '#ffd23f', 'Da montare sui chip sostituiti: la prossima volta baster\u00e0 sfilarli.'],\n    alcohol: ['Alcool isopropilico e spazzolino', 'brush', '#3fd8ff', 'Per contatti ossidati di porte, connettori e tastiera.'],\n    spray: ['Spray congelante \/ aria calda', 'spray', '#5ad15f', 'Per i guasti che compaiono a caldo o a freddo: raffreddi un chip alla volta.'],\n    therm: ['Termometro IR o termocamera', 'therm', '#f8961e', 'Trova in pochi secondi il chip che scalda troppo (spesso quello in corto).'],\n    psu: ['Alimentatore sicuro', 'psu', '#e0398a', 'Moderno, con protezione da sovratensione: protegge il computer riparato.'],\n    lens: ['Lente o microscopio', 'lens', '#3fd8ff', 'Per trovare saldature fredde, piste interrotte e pin rotti.']\n  };\n  if (CFG.tools) Object.keys(CFG.tools).forEach(function (k) { TOOLS[k] = CFG.tools[k]; });\n  \/\/ attrezzatura, pagine collegate e video: regole dalla configurazione della macchina\n  function rules(list) { return (list || []).map(function (r) { return [new RegExp(r[0]), r[1]]; }); }\n  var EQUIP_RULES = rules(CFG.equip), LINK_RULES = rules(CFG.links), VIDEO_RULES = rules(CFG.videos);\n  var VIDEO_LABEL = CFG.videoLabels || {}; \/\/ etichette per i filtri del tipo \"?macchina=...\"\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']; }\n\n  \/* ---------- chip ---------- *\/\n  var BOARDS = CFG.boards, B0 = BOARDS[0].id, CHIPS = {};\n  BOARDS.forEach(function (b) { CHIPS[b.id] = b.groups.map(function (g) { return [g[0], g[1].map(function (c) { return [c[0], c[1], c[2], c[3], new RegExp(c[4])]; })]; }); });\n  $('rfdTabs').innerHTML = BOARDS.map(function (b, i) { return '<button type=\"button\" class=\"tab' + (i ? '' : ' on') + '\" data-b=\"' + b.id + '\">' + esc(b.label) + '<\/button>'; }).join('');\n  var board = B0, hotSet = [];\n  function renderBoard() {\n    $('rfdBoard').innerHTML = CHIPS[board].map(function (g, gi) {\n      return '<div class=\"grp\"><b>' + esc(g[0].toUpperCase()) + '<\/b><div class=\"row\">' + g[1].map(function (c, ci) {\n        var hot = hotSet.indexOf(gi + '-' + ci) >= 0;\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>';\n      }).join('') + '<\/div><\/div>';\n    }).join('');\n  }\n  function chipInfo(key) {\n    var p = key.split('-'), c = CHIPS[board][+p[0]][1][+p[1]];\n    $('rfdIcInfo').innerHTML = '<b>' + esc(c[0]) + ' \u00b7 ' + esc(c[1]) + '<\/b> \u2014 ' + esc(c[2]) + '<br>' + esc(c[3]);\n  }\n  function chipsInText(text) {\n    var out = [];\n    CHIPS[B0].forEach(function (g, gi) { g[1].forEach(function (c, ci) { if (c[4].test(text)) out.push(gi + '-' + ci); }); });\n    return out;\n  }\n\n  \/* ---------- schermate tipiche ---------- *\/\n  var SCR = CFG.screen;\n  function seeded(n) { var s = n; return function () { s = (s * 9301 + 49297) % 233280; return s \/ 233280; }; }\n  var PAL = ['#000000', '#ffffff', '#883932', '#67b6bd', '#8b3f96', '#55a049', '#40318d', '#bfce72', '#8b5429', '#574200', '#b86962', '#505050', '#787878', '#94e089', '#7869c4', '#9f9f9f'];\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';\n  function scrGarbage(seed, cols, rows) {\n    var r = seeded(seed), lines = [];\n    for (var y = 0; y < rows; y++) { var l = ''; for (var x = 0; x < cols; x++) l += GLYPH[Math.floor(r() * GLYPH.length)]; lines.push(l); }\n    return lines.join('\\n');\n  }\n  function colorize(text, seed) {\n    var r = seeded(seed);\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('');\n  }\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]; }); }\n  function screenHtml(s) {\n    if (s.kind === 'nosignal') return '<div class=\"scr nosig\"><b>' + esc(s.label || 'NESSUN SEGNALE') + '<\/b><\/div>';\n    if (s.kind === 'black') return '<div class=\"scr black\"><div class=\"in\"><\/div><\/div>';\n    var cols = s.cols || SCR.cols, text = (s.lines || SCR.boot).join('\\n') + (s.cursor === false ? '' : '\\n\u2588');\n    var fs = Math.min(8.5, 84 \/ (cols * 0.5)).toFixed(2);\n    var inner = s.kind === 'blank' ? '' : s.kind === 'garbage' ? scrGarbage(s.seed || 7, cols, s.rows || 12) : s.kind === 'charrom' ? charrom(text) : s.kind === 'colorize' ? colorize(text, s.seed || 3) : esc(text);\n    return '<div class=\"scr' + (s.kind === 'jail' ? ' jail' : '') + '\" style=\"background:' + (s.border || SCR.border) + '\"><div class=\"in\" style=\"background-color:' + (s.bg || SCR.bg) + ';color:' + (s.ink || SCR.ink) + ';font-size:' + fs + 'cqw\">' + inner + '<\/div><\/div>';\n  }\n  var SCREENS = CFG.screens.map(function (s) { return { t: s.t, d: s.d, go: s.go, html: screenHtml(s) }; });\n  $('rfdScreens').innerHTML = SCREENS.map(function (s, i) {\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>';\n  }).join('');\n\n  \/* ---------- periferiche, attrezzatura, documenti ---------- *\/\n  var PERIPH = CFG.periph;\n  $('rfdPeriph').innerHTML = PERIPH.map(function (p) {\n    var tag = p[5] ? 'a href=\"' + p[5] + '\"' : 'div';\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') + '>';\n  }).join('');\n  $('rfdTools').innerHTML = Object.keys(TOOLS).map(function (k) {\n    var t = TOOLS[k];\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>';\n  }).join('');\n  var DOCS = CFG.docs;\n  function host(u) { if (u.charAt(0) === '\/') return 'retrofixer.it'; try { return new URL(u).hostname.replace(\/^www\\.\/, ''); } catch (e) { return ''; } }\n  $('rfdDocs').innerHTML = DOCS.map(function (d) {\n    var ext = d[4].charAt(0) !== '\/';\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>';\n  }).join('');\n\n  \/* ---------- diagnosi guidata ---------- *\/\n  var path = ['start'];\n  var nodeCount = Object.keys(TREE).filter(function (k) { return !TREE[k].question; }).length;\n  $('rfdCount').innerHTML = nodeCount + ' DIAGNOSI<small>SYSTEM READY.<\/small>';\n  function title(id) { var n = TREE[id]; if (!n) return id; if (id === 'start') return 'Avvio'; return n.diagnosis || n.question; }\n  function shortT(s) { s = String(s); return s.length > 38 ? s.slice(0, 36) + '\u2026' : s; }\n  function li(line) {\n    var t = String(line);\n    if (!t.trim()) return '';\n    var m = \/^\\s*(?:\u2022|-|\u2013)\\s*(.*)$\/.exec(t);\n    if (\/^\\s{2,}\/.test(t) || (m && \/^\\s\/.test(t))) return '<li class=\"sub\">' + esc(m ? m[1] : t.trim()) + '<\/li>';\n    if (\/^\\s*(POKE|SYS|LOAD|PRINT)\\b\/.test(t)) return '<li class=\"code\">' + esc(t.trim()) + '<\/li>';\n    if (\/:\\s*$\/.test(t)) return '<li class=\"head\">' + esc(t.trim()) + '<\/li>';\n    return '<li>' + esc(m ? m[1] : t) + '<\/li>';\n  }\n  function render(scroll) {\n    var id = path[path.length - 1], n = TREE[id];\n    if (!n) { path = ['start']; id = 'start'; n = TREE.start; }\n    $('rfdCrumbs').innerHTML = path.map(function (p, i) {\n      var last = i === path.length - 1;\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>');\n    }).join('');\n    $('rfdBack').disabled = path.length < 2;\n    var html = '';\n    if (n.question) {\n      html = '<div class=\"c64\"><div class=\"ready\">READY.<\/div><div class=\"qq\">? ' + esc(n.question) + '<\/div>' +\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>' : '') +\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>' +\n        '<div class=\"ready\" style=\"margin-top:12px\">PREMI 1-' + Math.min(9, n.options.length) + ' <span class=\"cur\"><\/span><\/div><\/div>';\n      hotSet = []; renderBoard();\n    } else {\n      var sev = SEV[n.severity] || ['#7c70da', 'DIAGNOSI'];\n      var text = [n.diagnosis].concat(n.checks || [], n.solutions || [], n.notes || [], (n.chipLocations && n.chipLocations.positions) || []).join(' ');\n      var chips = chipsInText(text);\n      var eq = equipFor(id), links = [], video = null;\n      LINK_RULES.forEach(function (r) { if (r[0].test(id)) links = links.concat(r[1]); });\n      for (var v = 0; v < VIDEO_RULES.length; v++) if (VIDEO_RULES[v][0].test(id)) { video = VIDEO_RULES[v][1]; break; }\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>' +\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>' +\n        '<div class=\"box\" style=\"--acc:#5ad15f\"><h4>\ud83d\udd27 POSSIBILI SOLUZIONI<\/h4><ul>' + (n.solutions || []).map(li).join('') + '<\/ul><\/div><\/div>' +\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>' : '') +\n        (n.notes ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udcdd NOTE<\/h4><p>' + esc(n.notes) + '<\/p><\/div>' : '') +\n        (chips.length ? '<div class=\"box\" style=\"--acc:#ffd23f\"><h4>\ud83d\udd32 CHIP COINVOLTI' + (CFG.chipNote ? ' (' + esc(CFG.chipNote) + ')' : '') + '<\/h4><div class=\"chips\">' + chips.map(function (k) { var p = k.split('-'), c = CHIPS[B0][+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>' : '') +\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>' +\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\/' + (video.charAt(0) === '?' ? video : '?q=' + encodeURIComponent(video)) + '\">\u25b6 VIDEO: ' + esc((VIDEO_LABEL || video).toUpperCase()) + '<\/a>' : '') + '<\/div>' : '') +\n        '<\/div>';\n      if (board !== B0) { board = B0; root.querySelectorAll('.tab').forEach(function (t) { t.classList.toggle('on', t.dataset.b === B0); }); }\n      hotSet = chips; renderBoard();\n    }\n    $('rfdStep').innerHTML = html;\n    writeUrl(id);\n    if (scroll) $('rfd-diagnosi').scrollIntoView({ behavior: 'smooth', block: 'start' });\n  }\n  function go(id, scroll) {\n    if (!TREE[id]) return;\n    var i = path.indexOf(id);\n    if (i >= 0) path = path.slice(0, i + 1); else path.push(id);\n    render(scroll);\n  }\n  function jump(id) { path = ['start']; if (id !== 'start') path = pathTo(id) || ['start', id]; render(true); }\n  \/\/ percorso dalla domanda iniziale fino a un nodo (per le scorciatoie)\n  function pathTo(target) {\n    var seen = {}, q = [['start']];\n    while (q.length) {\n      var p = q.shift(), last = p[p.length - 1];\n      if (last === target) return p;\n      if (seen[last]) continue; seen[last] = 1;\n      var n = TREE[last]; if (n && n.options) n.options.forEach(function (o) { q.push(p.concat(o.next)); });\n    }\n    return null;\n  }\n  function writeUrl(id) {\n    var p = new URLSearchParams(location.search);\n    if (id && id !== 'start') p.set('passo', id); else p.delete('passo');\n    var s = p.toString();\n    try { history.replaceState(null, '', location.pathname + (s ? '?' + s : '') + location.hash); } catch (e) { \/* ignora *\/ }\n  }\n\n  \/* ---------- ricerca ---------- *\/\n  var INDEX = Object.keys(TREE).map(function (k) {\n    var n = TREE[k];\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(' ')) };\n  }).filter(function (x) { return x.id !== 'start'; });\n  function search(q) {\n    var words = norm(q).split(\/\\s+\/).filter(function (w) { return w.length > 1; });\n    if (!words.length) { $('rfdRes').innerHTML = ''; return; }\n    var res = INDEX.map(function (x) {\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; }\n      return { x: x, s: s + (x.d ? 1 : 0) };\n    }).filter(Boolean).sort(function (a, b) { return b.s - a.s; }).slice(0, 8);\n    $('rfdRes').innerHTML = res.length ? res.map(function (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>';\n    }).join('') : '<div class=\"res\" style=\"cursor:default\">?NOT FOUND \u2014 prova con un\\'altra parola, per esempio \"schermo\", \"suono\", \"tastiera\".<\/div>';\n  }\n\n  \/* ---------- eventi ---------- *\/\n  var st;\n  $('rfdQ').addEventListener('input', function (e) { clearTimeout(st); st = setTimeout(function () { search(e.target.value); }, 120); });\n  root.addEventListener('click', function (e) {\n    var t;\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; }\n    if ((t = e.target.closest('[data-crumb]'))) { path = path.slice(0, +t.dataset.crumb + 1); render(false); return; }\n    if ((t = e.target.closest('[data-go]'))) { jump(t.dataset.go); return; }\n    if ((t = e.target.closest('[data-jump]'))) { $('rfdRes').innerHTML = ''; $('rfdQ').value = ''; jump(t.dataset.jump); return; }\n    if ((t = e.target.closest('[data-chip]'))) { chipInfo(t.dataset.chip); $('rfd-chip').scrollIntoView({ behavior: 'smooth', block: 'start' }); return; }\n    if ((t = e.target.closest('.ic'))) { chipInfo(t.dataset.c); return; }\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 === B0 ? hotSet : []; renderBoard(); $('rfdIcInfo').textContent = 'Seleziona un chip per vedere i dettagli.'; return; }\n  });\n  $('rfdBack').onclick = function () { if (path.length > 1) { path.pop(); render(false); } };\n  $('rfdRestart').onclick = function () { path = ['start']; render(true); };\n  $('rfdShare').onclick = function () {\n    var url = location.href, done = function () { toast('LINK COPIATO.'); };\n    if (navigator.clipboard && navigator.clipboard.writeText) navigator.clipboard.writeText(url).then(done, function () { prompt('Copia il link:', url); });\n    else prompt('Copia il link:', url);\n  };\n  document.addEventListener('keydown', function (e) {\n    if (e.target.closest && e.target.closest('input, textarea, select, [contenteditable]')) return;\n    if (e.ctrlKey || e.metaKey || e.altKey || !\/^[1-9]$\/.test(e.key)) return;\n    var r = $('rfd-diagnosi').getBoundingClientRect();\n    if (r.bottom < 0 || r.top > innerHeight) return;\n    var b = $('rfdStep').querySelectorAll('.opt')[+e.key - 1];\n    if (b) { e.preventDefault(); b.click(); }\n  });\n  var tt;\n  function toast(m) { var t = $('rfdToast'); t.textContent = m; t.classList.add('show'); clearTimeout(tt); tt = setTimeout(function () { t.classList.remove('show'); }, 1800); }\n\n  var start = new URLSearchParams(location.search).get('passo');\n  renderBoard();\n  if (start && TREE[start]) { path = pathTo(start) || ['start', start]; render(false); setTimeout(function () { $('rfd-diagnosi').scrollIntoView({ block: 'start' }); }, 300); }\n  else render(false);\n})();\n<\/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 + 8502 GUASTI COMMODORE 128 C128 Doctor: trova il<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-11037","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11037","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=11037"}],"version-history":[{"count":9,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11037\/revisions"}],"predecessor-version":[{"id":11088,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11037\/revisions\/11088"}],"wp:attachment":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media?parent=11037"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/categories?post=11037"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/tags?post=11037"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}