{"id":11475,"date":"2026-11-01T13:30:40","date_gmt":"2026-11-01T12:30:40","guid":{"rendered":"https:\/\/retrofixer.it\/pinout-chip-2\/"},"modified":"2026-11-01T14:41:19","modified_gmt":"2026-11-01T13:41:19","slug":"pinout-chip","status":"publish","type":"page","link":"https:\/\/retrofixer.it\/en\/pinout-chip\/","title":{"rendered":"Pinout chip"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"11475\" class=\"elementor elementor-11475\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-4396175 e-con-full e-flex e-con e-parent\" data-id=\"4396175\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-983ea3c elementor-widget elementor-widget-html\" data-id=\"983ea3c\" 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\">\r\n<link rel=\"preconnect\" href=\"https:\/\/fonts.gstatic.com\" crossorigin>\r\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Inter:wght@400;600;700&family=Press+Start+2P&family=VT323&display=swap\" rel=\"stylesheet\">\r\n\r\n<style>\r\n.rfpin{--bg:#0f0c24;--bg2:#171338;--panel:#1d1846;--line:#342c74;--text:#eceaff;--muted:#aaa5d8;--c64l:#7c70da;--mag:#e0398a;--yel:#ffd23f;--grn:#5ad15f;--cya:#3fd8ff;--red:#f94144;--org:#ff9f43;font-family:'Inter',system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text);background:var(--bg);line-height:1.55;padding:36px 0 28px}\r\n.rfpin *,.rfpin *::before,.rfpin *::after{box-sizing:border-box}\r\n.rfpin h2,.rfpin h3,.rfpin h4,.rfpin p,.rfpin ul,.rfpin ol{margin:0;padding:0}\r\n.rfpin h2,.rfpin h3,.rfpin h4{font-family:'Inter',system-ui,sans-serif!important;letter-spacing:0;text-transform:none;font-weight:700;color:var(--text)}\r\n.rfpin a{color:var(--cya)}\r\n.rfpin button,.rfpin input,.rfpin select{font:inherit;color:inherit}\r\n.rfpin button{cursor:pointer}\r\n.rfpin [hidden]{display:none!important}\r\n.rfpin mark{background:var(--yel);color:#1a1440;border-radius:2px;padding:0 1px}\r\n.post-views.post-11475{background:#0f0c24;color:#aaa5d8;margin:0;padding:0 16px 8px;font-size:13px}\r\n.rfpin .wrap{max-width:1400px;margin:0 auto;padding:0 16px}\r\n.rfpin .head h2{font-family:'Press Start 2P',monospace!important;font-size:clamp(17px,3vw,27px);line-height:1.45;color:var(--yel);margin-bottom:12px}\r\n.rfpin .head p{color:var(--muted);max-width:900px;font-size:16px}\r\n.rfpin .head .stats{font-family:'VT323',monospace;font-size:19px;color:var(--c64l);margin-top:8px}\r\n\r\n\/* schede principali *\/\r\n.rfpin .mtabs{display:flex;gap:6px;margin:22px 0 14px;flex-wrap:wrap}\r\n.rfpin .mtabs button{background:var(--bg2);border:1px solid var(--line);border-radius:9px;padding:9px 16px;font-size:14.5px;font-weight:600;color:var(--muted)}\r\n.rfpin .mtabs button[aria-selected=true]{background:#342c74;color:#fff;border-color:var(--c64l)}\r\n.rfpin .mtabs button:hover{color:#fff}\r\n\r\n\/* ricerca e filtri *\/\r\n.rfpin .search{position:relative;max-width:860px}\r\n.rfpin .search input{width:100%;background:var(--bg2);border:2px solid var(--line);border-radius:10px;padding:13px 46px;font-size:17px;outline:none;transition:border-color .15s}\r\n.rfpin .search input:focus{border-color:var(--c64l);background:#1a1638}\r\n.rfpin .search .lens{position:absolute;left:15px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none}\r\n.rfpin .search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none;display:none}\r\n.rfpin .search .x{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:8px;background:none;color:var(--muted);font-size:22px;line-height:1}\r\n.rfpin .search .x:hover{background:var(--line);color:#fff}\r\n.rfpin .filters{display:flex;flex-wrap:wrap;gap:8px 10px;margin:12px 0 10px;align-items:center}\r\n.rfpin .filters label{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}\r\n.rfpin .filters select{color-scheme:dark;background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:7px 10px;font-size:14px;color:var(--text);max-width:230px;outline:none}\r\n.rfpin .filters select:focus{border-color:var(--c64l)}\r\n\/* il tema (Betheme) d\u00e0 ai select uno sfondo chiaro con !important: lo si riporta scuro con la freccia chiara *\/\r\n.rfpin .filters select,.rfpin .filters select:hover,.rfpin .filters select:focus{-webkit-appearance:none;appearance:none;background:var(--bg2) url(\"data:image\/svg+xml,%3Csvg xmlns='http:\/\/www.w3.org\/2000\/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23aaa5d8' stroke-width='2'\/%3E%3C\/svg%3E\") no-repeat right 11px center!important;background-color:var(--bg2)!important;color:var(--text)!important;padding-right:32px!important;box-shadow:none!important}\r\n.rfpin .filters select option{background:#171338!important;color:#eceaff!important}\r\n.rfpin .filters select option:checked,.rfpin .filters select option:hover{background:#342c74!important;color:#ffd23f!important}\r\n.rfpin .filters .reset{background:none;border:1px solid var(--line);border-radius:8px;padding:7px 11px;font-size:13px;color:#ff9ccc}\r\n.rfpin .filters .reset:hover{border-color:var(--mag)}\r\n.rfpin .types{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}\r\n.rfpin .chip{background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:4px 12px;font-size:13px;color:var(--muted)}\r\n.rfpin .chip:hover{color:#fff;border-color:var(--c64l)}\r\n.rfpin .chip[aria-pressed=true]{background:#342c74;color:#fff;border-color:var(--c64l)}\r\n.rfpin .chip i{font-style:normal;opacity:.65;margin-left:4px;font-size:12px}\r\n.rfpin .rhead{font-size:14px;color:var(--muted);margin:0 0 10px}\r\n.rfpin .rhead b{color:#fff}\r\n\r\n\/* griglia dei chip *\/\r\n.rfpin .grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}\r\n.rfpin .card{display:flex;flex-direction:column;gap:3px;text-align:left;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:11px 13px 12px;min-width:0;color:inherit;text-decoration:none;transition:border-color .12s,background .12s}\r\n.rfpin .card:hover,.rfpin .card:focus-visible{border-color:var(--yel);background:#231d55;outline:none}\r\n.rfpin .card .top{display:flex;align-items:baseline;gap:8px}\r\n.rfpin .card .id{font-family:'VT323',monospace;font-size:27px;line-height:1;color:var(--yel);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.rfpin .card .pk{margin-left:auto;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:5px;padding:0 5px;flex:none}\r\n.rfpin .card .nm{font-size:14px;font-weight:600;color:var(--text);line-height:1.3}\r\n.rfpin .card .ms{font-size:12.5px;color:var(--muted);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.rfpin .card .al{font-size:12px;color:var(--c64l);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}\r\n.rfpin .tb{display:inline-block;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;border-radius:4px;padding:1px 6px;margin-top:4px;align-self:flex-start;background:#2a2366;color:#c9c3ff}\r\n.rfpin .tb.t-cpu{background:#4a1d3d;color:#ff9ccc}.rfpin .tb.t-video{background:#173a4a;color:#8fe7ff}.rfpin .tb.t-audio{background:#3c3612;color:#ffe27a}\r\n.rfpin .tb.t-io{background:#1b3b22;color:#9ff0a2}.rfpin .tb.t-ram,.rfpin .tb.t-rom{background:#3b2a14;color:#ffc68a}\r\n.rfpin .tb.t-logic-ttl,.rfpin .tb.t-logic-cmos{background:#262a4a;color:#b9c0ff}\r\n.rfpin .none{color:var(--muted);padding:18px 4px}\r\n\r\n\/* scheda del chip *\/\r\n.rfpin .det{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:16px 18px 22px}\r\n.rfpin .dbar{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;margin-bottom:14px}\r\n.rfpin .btn{background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:13.5px;color:var(--text);text-decoration:none;display:inline-flex;align-items:center;gap:6px}\r\n.rfpin .btn:hover{background:var(--line)}\r\n.rfpin .btn.back{color:var(--yel)}\r\n.rfpin .dbar .sp{flex:1}\r\n.rfpin .dh{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 14px;margin-bottom:6px}\r\n.rfpin .dh h3{font-family:'VT323',monospace!important;font-weight:400;font-size:44px!important;line-height:1;color:var(--yel)!important}\r\n.rfpin .dh .nm{font-size:19px;font-weight:700}\r\n.rfpin .meta{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:14px;color:var(--muted);margin-bottom:12px}\r\n.rfpin .meta b{color:var(--text);font-weight:600}\r\n.rfpin .warn{background:#3a3010;border:1px solid #806a1a;border-left:4px solid var(--yel);border-radius:8px;padding:9px 12px;font-size:14px;color:#ffe9a0;margin:0 0 14px}\r\n.rfpin .okv{font-size:13px;color:var(--grn);margin:0 0 12px}\r\n.rfpin .dgrid{display:grid;grid-template-columns:minmax(300px,440px) minmax(0,1fr);gap:22px;align-items:start}\r\n.rfpin .draw{background:#0b0920;border:1px solid var(--line);border-radius:10px;padding:10px 8px 8px;position:sticky;top:16px}\r\n.admin-bar .rfpin .draw{top:48px}\r\n.rfpin .draw svg{display:block;width:100%;height:auto;max-height:calc(100vh - 150px)}\r\n.rfpin .draw .ctl{display:flex;flex-wrap:wrap;gap:6px;justify-content:space-between;align-items:center;margin-top:8px;font-size:12.5px;color:var(--muted)}\r\n.rfpin .seg{display:inline-flex;border:1px solid var(--line);border-radius:8px;overflow:hidden;background:var(--bg2)}\r\n.rfpin .seg button{background:none;border:0;padding:6px 10px;font-size:12.5px;color:var(--muted);border-right:1px solid var(--line);white-space:nowrap}\r\n.rfpin .seg button:last-child{border-right:0}\r\n.rfpin .seg button[aria-pressed=true]{background:#342c74;color:#fff}\r\n.rfpin .legend{display:flex;flex-wrap:wrap;gap:4px 12px;font-size:12px;color:var(--muted);margin-top:8px}\r\n.rfpin .legend span{display:inline-flex;align-items:center;gap:5px}\r\n.rfpin .legend i{width:11px;height:11px;border-radius:3px;display:inline-block}\r\n.rfpin .nodraw{padding:26px 14px;text-align:center;color:var(--muted);font-size:14px}\r\n.rfpin .nodraw b{display:block;font-family:'VT323',monospace;font-size:30px;color:var(--yel);font-weight:400;margin-bottom:4px}\r\n.rfpin svg .pin{cursor:pointer}\r\n.rfpin svg .pin:hover .hb,.rfpin svg .pin.on .hb{fill:rgb(255 210 63 \/ .16)}\r\n.rfpin svg .pin.on .nm{fill:#fff}\r\n.rfpin .desc p{margin:0 0 10px;font-size:15.5px;color:#dcd9f7;max-width:900px}\r\n.rfpin .sec{margin:16px 0 0}\r\n.rfpin .sec h4{font-size:12.5px!important;font-weight:700;text-transform:uppercase!important;letter-spacing:.07em!important;color:var(--muted)!important;margin:0 0 7px!important}\r\n.rfpin .sec ul{list-style:none}\r\n.rfpin .sec li{font-size:14.5px;margin:0 0 6px;padding-left:16px;position:relative;color:#dcd9f7}\r\n.rfpin .sec li::before{content:'\u25b8';position:absolute;left:0;color:var(--c64l)}\r\n.rfpin .sec li b{color:var(--text)}\r\n.rfpin .tags{display:flex;flex-wrap:wrap;gap:6px}\r\n.rfpin .tags a,.rfpin .tags span{font-size:13px;background:var(--bg2);border:1px solid var(--line);border-radius:999px;padding:3px 11px;color:var(--text);text-decoration:none}\r\n.rfpin .tags a:hover{border-color:var(--yel);color:var(--yel)}\r\n.rfpin .tip li::before{content:'\u26a0';color:var(--org)}\r\n.rfpin .ptab{width:100%;border-collapse:collapse;font-size:14px;margin-top:4px}\r\n.rfpin .ptab th{text-align:left;font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;padding:6px 8px;border-bottom:1px solid var(--line);position:sticky;top:0;background:var(--panel)}\r\n.rfpin .ptab td{padding:4px 8px;border-bottom:1px solid #27215a;vertical-align:middle}\r\n.rfpin .ptab td.n{font-family:'VT323',monospace;font-size:19px;color:var(--c64l);width:42px;text-align:right}\r\n.rfpin .ptab td.pn{font-family:'VT323',monospace;font-size:20px;white-space:nowrap;color:#fff}\r\n.rfpin .ptab td.d{white-space:nowrap;font-size:12.5px}\r\n.rfpin .ptab td.f{color:#cfcbef}\r\n.rfpin .ptab tr{cursor:pointer}\r\n.rfpin .ptab tr:hover td,.rfpin .ptab tr.on td{background:#2a2366}\r\n.rfpin .ov{text-decoration:overline}\r\n.rfpin .dot{display:inline-block;width:9px;height:9px;border-radius:2px;margin-right:5px;vertical-align:0}\r\n.rfpin .ptw{max-height:none}\r\n\r\n\/* guida alle famiglie logiche *\/\r\n.rfpin .guide{max-width:1100px}\r\n.rfpin .guide h3{font-size:19px!important;color:var(--yel)!important;margin:26px 0 10px!important}\r\n.rfpin .guide h3:first-child{margin-top:4px!important}\r\n.rfpin .guide p{margin:0 0 11px;color:#dcd9f7;font-size:15.5px}\r\n.rfpin .guide ol,.rfpin .guide ul{margin:0 0 12px 22px}\r\n.rfpin .guide li{margin:0 0 8px;color:#dcd9f7;font-size:15px}\r\n.rfpin .guide li b,.rfpin .guide p b{color:#fff}\r\n.rfpin .tw{overflow-x:auto;border:1px solid var(--line);border-radius:10px;margin:6px 0 14px;background:var(--panel)}\r\n.rfpin .gt{border-collapse:collapse;width:100%;font-size:13.5px;min-width:820px}\r\n.rfpin .gt th{background:#231d55;text-align:left;padding:8px 10px;font-size:12px;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-weight:600;white-space:nowrap}\r\n.rfpin .gt td{padding:7px 10px;border-top:1px solid var(--line);vertical-align:top;color:#dcd9f7}\r\n.rfpin .gt td:first-child{font-family:'VT323',monospace;font-size:20px;color:var(--yel);white-space:nowrap}\r\n.rfpin .gt .y{color:var(--grn);font-weight:700}.rfpin .gt .n{color:var(--red);font-weight:700}.rfpin .gt .m{color:var(--org);font-weight:700}\r\n.rfpin .gt.mx td{text-align:center}.rfpin .gt.mx td:first-child{text-align:left}.rfpin .gt.mx{min-width:560px}\r\n.rfpin .note{font-size:13px;color:var(--muted)}\r\n.rfpin code{font-family:'VT323',monospace;font-size:18px;color:var(--yel)}\r\n\r\n.rfpin .credits{margin-top:22px;font-size:13px;color:var(--muted);max-width:1000px}\r\n.rfpin .credits+.credits{margin-top:8px}\r\n.rfpin .list{margin-top:10px;font-size:12.5px;color:var(--muted);line-height:1.7}\r\n.rfpin .list a{color:var(--muted);text-decoration:none}\r\n.rfpin .list a:hover{color:var(--yel)}\r\n.rfpin kbd{font-family:'VT323',monospace;font-size:16px;background:var(--bg2);border:1px solid var(--line);border-radius:4px;padding:0 5px}\r\n.rfpin .toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:var(--grn);color:#0f0c24;font-weight:700;font-size:14px;padding:8px 16px;border-radius:8px;z-index:99999}\r\n@media (max-width:900px){\r\n .rfpin .dgrid{grid-template-columns:minmax(0,1fr)}\r\n .rfpin .draw{position:static;max-width:460px;margin:0 auto;width:100%}\r\n .rfpin .draw svg{max-height:none}\r\n .rfpin .det{padding:14px 12px 18px}\r\n .rfpin .filters select{max-width:none;flex:1 1 140px}\r\n .rfpin .filters label{flex:1 1 100%}\r\n}\r\n@media (max-width:520px){\r\n .rfpin .grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}\r\n .rfpin .card{padding:9px 10px}\r\n .rfpin .card .id{font-size:23px}\r\n .rfpin .ptab td.f{font-size:13px}\r\n}\r\n<\/style>\r\n\r\n<div class=\"rfpin\" data-no-translation>\r\n <div class=\"wrap\">\r\n  <div class=\"head\">\r\n   <h2 data-t=\"title\">Pinout chip<\/h2>\r\n   <p data-t=\"intro\">Il pinout dei chip pi\u00f9 usati nei computer e nelle console a 8 e 16 bit: logica 74xx e CD4000, CPU, chip video e audio, I\/O, RAM e ROM. Cerca per sigla, nome o macchina e apri la scheda con la piedinatura disegnata, le funzioni dei pin, gli equivalenti e i datasheet.<\/p>\r\n   <div class=\"stats\" id=\"rfpStats\"><\/div>\r\n  <\/div>\r\n\r\n  <div class=\"mtabs\" role=\"tablist\">\r\n   <button role=\"tab\" data-tab=\"chips\" aria-selected=\"true\" data-t=\"tChips\">Chip<\/button>\r\n   <button role=\"tab\" data-tab=\"guide\" aria-selected=\"false\" data-t=\"tGuide\">Famiglie logiche: 74LS, HC, HCT, F, 4000\u2026<\/button>\r\n  <\/div>\r\n\r\n  <section id=\"rfpChips\">\r\n   <div id=\"rfpBrowse\">\r\n    <div class=\"search\" role=\"search\">\r\n     <svg class=\"lens\" viewBox=\"0 0 20 20\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"2.2\" aria-hidden=\"true\"><circle cx=\"8.5\" cy=\"8.5\" r=\"6\"\/><path d=\"M13 13l5 5\" stroke-linecap=\"round\"\/><\/svg>\r\n     <input id=\"rfpQ\" type=\"search\" autocomplete=\"off\" spellcheck=\"false\" placeholder=\"Cerca: 6510, SID, 74LS138, 4164, Spectrum, POKEY\u2026\" data-tp=\"ph\" aria-label=\"Cerca\">\r\n     <button class=\"x\" id=\"rfpX\" type=\"button\" aria-label=\"Cancella\" hidden>\u00d7<\/button>\r\n    <\/div>\r\n    <div class=\"filters\">\r\n     <select id=\"rfpBrand\" aria-label=\"Marca\"><\/select>\r\n     <select id=\"rfpMach\" aria-label=\"Macchina\"><\/select>\r\n     <button class=\"reset\" id=\"rfpReset\" type=\"button\" hidden data-t=\"reset\">\u00d7 Azzera filtri<\/button>\r\n    <\/div>\r\n    <div class=\"types\" id=\"rfpTypes\"><\/div>\r\n    <p class=\"rhead\" id=\"rfpCount\"><\/p>\r\n    <div class=\"grid\" id=\"rfpGrid\"><p class=\"none\" data-t=\"loading\">Caricamento dei chip\u2026<\/p><\/div>\r\n   <\/div>\r\n   <article class=\"det\" id=\"rfpDet\" hidden><\/article>\r\n  <\/section>\r\n\r\n  <section id=\"rfpGuide\" class=\"guide\" hidden>\r\n   <div data-lang=\"it\">\r\n    <h3>Stesso numero, stessa funzione<\/h3>\r\n    <p>Nella serie 74 le cifre dopo le lettere indicano la <b>funzione e il pinout<\/b>, le lettere la <b>famiglia<\/b> (la tecnologia). Un 74LS138, un 74HC138 e un 74F138 sono tutti decodificatori 3\u21928 con gli stessi piedini: cambiano tensioni di soglia, velocit\u00e0, consumo e corrente d'uscita. Per questo nella scheda di ogni chip trovi una sola voce (es. <code>74138<\/code>) con le varianti come sigle alternative.<\/p>\r\n    <p>Come si legge una sigla: <code>SN74LS00N<\/code> = <b>SN<\/b> prefisso del produttore (Texas Instruments; DM = National, MC = Motorola, HD = Hitachi, N\/S = Signetics, MM74HC = Fairchild\/National), <b>74<\/b> gamma commerciale 0\u202670 \u00b0C (<b>54<\/b> = militare \u221255\u2026125 \u00b0C, stesso pinout), <b>LS<\/b> famiglia, <b>00<\/b> funzione, <b>N<\/b> contenitore DIP plastico (J = DIP ceramico, D = SOIC). Nei CMOS 4000: <code>CD4011BE<\/code> = <b>B<\/b> uscite bufferizzate, <b>E<\/b> DIP plastico. Le altre cifre stampate sul chip (es. 8423) sono di solito il codice data: anno 1984, settimana 23.<\/p>\r\n\r\n    <h3>Le famiglie a confronto<\/h3>\r\n    <div class=\"tw\"><table class=\"gt\">\r\n     <thead><tr><th>Famiglia<\/th><th>Tecnologia<\/th><th>Alimentazione<\/th><th>Ingresso: 0 \/ 1<\/th><th>Uscita: 0 \/ 1<\/th><th>Corrente uscita<\/th><th>Ritardo tipico<\/th><th>Note<\/th><\/tr><\/thead>\r\n     <tbody>\r\n      <tr><td>74 (std)<\/td><td>TTL bipolare<\/td><td>5 V \u00b15%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,4 \/ \u22652,4 V<\/td><td>16 mA<\/td><td>10 ns<\/td><td>la serie originale, ~10 mW per porta<\/td><\/tr>\r\n      <tr><td>74LS<\/td><td>TTL Schottky a bassa potenza<\/td><td>5 V \u00b15%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,5 \/ \u22652,7 V<\/td><td>8 mA (bus 24 mA)<\/td><td>9\u201310 ns<\/td><td>la pi\u00f9 comune negli 8 bit, ~2 mW per porta<\/td><\/tr>\r\n      <tr><td>74S<\/td><td>TTL Schottky<\/td><td>5 V \u00b15%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,5 \/ \u22652,7 V<\/td><td>20 mA<\/td><td>3 ns<\/td><td>veloce ma consuma molto (~19 mW per porta), PROM e circuiti veloci<\/td><\/tr>\r\n      <tr><td>74ALS<\/td><td>TTL Schottky avanzata a bassa potenza<\/td><td>5 V \u00b110%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,5 \/ \u2265VCC\u22122 V<\/td><td>8 mA<\/td><td>4 ns<\/td><td>evoluzione della LS: pi\u00f9 veloce e parca<\/td><\/tr>\r\n      <tr><td>74F<\/td><td>TTL Fast<\/td><td>5 V \u00b110%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,5 \/ \u22652,7 V<\/td><td>20 mA<\/td><td>3 ns<\/td><td>comune su Amiga e Atari ST; ingressi pi\u00f9 \u201cpesanti\u201d (0,6 mA)<\/td><\/tr>\r\n      <tr><td>74AS<\/td><td>TTL Schottky avanzata<\/td><td>5 V \u00b110%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22640,5 \/ \u2265VCC\u22122 V<\/td><td>20 mA<\/td><td>1,5\u20132 ns<\/td><td>la TTL pi\u00f9 veloce<\/td><\/tr>\r\n      <tr><td>74HC<\/td><td>CMOS ad alta velocit\u00e0<\/td><td>2\u20266 V<\/td><td>\u22641,35 \/ \u22653,15 V (a 4,5 V)<\/td><td>\u22480 \/ \u2248VCC<\/td><td>4 mA (bus 6 mA)<\/td><td>8\u201312 ns<\/td><td>soglie CMOS (30% \/ 70% di VCC), consumo statico quasi nullo<\/td><\/tr>\r\n      <tr><td>74HCT<\/td><td>CMOS con soglie TTL<\/td><td>5 V \u00b110%<\/td><td>\u22640,8 \/ \u22652,0 V<\/td><td>\u22480 \/ \u2248VCC<\/td><td>4 mA (bus 6 mA)<\/td><td>10\u201315 ns<\/td><td>il sostituto \u201cuniversale\u201d dei LS nei sistemi a 5 V<\/td><\/tr>\r\n      <tr><td>74AC \/ ACT<\/td><td>CMOS avanzata<\/td><td>2\u20266 V \/ 5 V<\/td><td>come HC \/ come HCT<\/td><td>\u22480 \/ \u2248VCC<\/td><td>24 mA<\/td><td>4\u20136 ns<\/td><td>fronti molto ripidi: rumore e riflessioni su schede vecchie<\/td><\/tr>\r\n      <tr><td>74LV \/ LVC<\/td><td>CMOS a bassa tensione<\/td><td>2\u20265,5 V \/ 1,65\u20263,6 V<\/td><td>CMOS<\/td><td>\u22480 \/ \u2248VCC<\/td><td>8\u201324 mA<\/td><td>3\u20137 ns<\/td><td>LVC ha ingressi tolleranti a 5 V: utile per adattare 5 V \u2194 3,3 V (FPGA, schede moderne)<\/td><\/tr>\r\n      <tr><td>CD4000B<\/td><td>CMOS a gate metallico<\/td><td>3\u202618 V<\/td><td>\u22641,5 \/ \u22653,5 V (a 5 V)<\/td><td>\u22480 \/ \u2248VCC<\/td><td>\u22480,5\u20131 mA a 5 V<\/td><td>50\u2013250 ns a 5 V<\/td><td>lenta, uscite deboli; adatta a 9\u201315 V, timer e circuiti analogici<\/td><\/tr>\r\n      <tr><td>74C<\/td><td>CMOS (tipo 4000)<\/td><td>3\u202615 V<\/td><td>CMOS<\/td><td>\u22480 \/ \u2248VCC<\/td><td>\u22481 mA<\/td><td>50\u2013100 ns<\/td><td>funzioni 74 con tecnologia 4000, oggi rara<\/td><\/tr>\r\n     <\/tbody>\r\n    <\/table><\/div>\r\n    <p class=\"note\">Valori indicativi presi dai datasheet tipici (Texas Instruments, onsemi, Nexperia) a 5 V e 25 \u00b0C: per un progetto controlla sempre il datasheet del chip preciso.<\/p>\r\n\r\n    <h3>Chi pu\u00f2 pilotare chi<\/h3>\r\n    <p>Il punto critico \u00e8 l'<b>1 logico<\/b>: un'uscita TTL o NMOS (74LS, 6502, Z80, VIC-II, SID\u2026) garantisce solo 2,4\u20132,7 V, mentre un ingresso HC a 5 V vuole almeno 3,15\u20133,5 V.<\/p>\r\n    <div class=\"tw\"><table class=\"gt mx\">\r\n     <thead><tr><th>Uscita \u2193 &nbsp; Ingresso \u2192<\/th><th>74LS \/ F \/ ALS<\/th><th>74HCT \/ ACT<\/th><th>74HC \/ AC<\/th><th>CD4000 a 5 V<\/th><\/tr><\/thead>\r\n     <tbody>\r\n      <tr><td>74LS \/ F \/ ALS, NMOS<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><td class=\"n\">no*<\/td><td class=\"n\">no*<\/td><\/tr>\r\n      <tr><td>74HC \/ HCT \/ AC \/ ACT<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><\/tr>\r\n      <tr><td>CD4000 a 5 V<\/td><td class=\"m\">1 carico**<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><td class=\"y\">s\u00ec<\/td><\/tr>\r\n     <\/tbody>\r\n    <\/table><\/div>\r\n    <p class=\"note\">* Non garantito: spesso \u201cfunziona sul banco\u201d ma \u00e8 instabile con il caldo o con chip diversi. Si risolve con un HCT al posto dell'HC o con una resistenza di pull-up (2,2\u201310 k\u03a9) verso 5 V se l'uscita lo permette. ** Un'uscita 4000 riesce a pilotare circa un solo ingresso LS (0,4 mA): usa un buffer 4049\/4050 o un HCT.<\/p>\r\n\r\n    <h3>Quando si pu\u00f2 sostituire una famiglia con un'altra<\/h3>\r\n    <ol>\r\n     <li><b>LS \u2192 HCT<\/b>: \u00e8 la scelta pi\u00f9 sicura per sostituire un 74LS in un computer d'epoca. Soglie TTL in ingresso, uscite piene, consumo trascurabile. Unico limite: corrente d'uscita minore (4\u20136 mA contro 8\u201324 mA), conta per i buffer che pilotano bus lunghi o molti carichi.<\/li>\r\n     <li><b>LS \u2192 HC<\/b>: solo se tutto ci\u00f2 che pilota il chip \u00e8 CMOS. Se gli ingressi arrivano da LS, TTL o NMOS (quasi sempre negli 8 bit) l'1 logico pu\u00f2 non essere riconosciuto: usa HCT.<\/li>\r\n     <li><b>LS \u2192 ALS<\/b>: di solito s\u00ec, stesso comportamento elettrico, pi\u00f9 veloce e con meno consumo.<\/li>\r\n     <li><b>LS \u2192 F \/ S \/ AS \/ AC<\/b>: spesso funziona, ma i fronti pi\u00f9 ripidi creano riflessioni, ground bounce e glitch, e gli ingressi F assorbono pi\u00f9 corrente. Evitalo nei punti in cui il progetto sfrutta i ritardi dei chip: generazione di \/RAS e \/CAS delle DRAM, multiplexer degli indirizzi, clock video e linee di ritardo.<\/li>\r\n     <li><b>HCT \u2192 LS<\/b> (il contrario, es. su schede pi\u00f9 recenti): in genere s\u00ec, ma un ingresso LS assorbe 0,4 mA a livello basso e consuma di pi\u00f9; controlla che chi lo pilota regga il carico.<\/li>\r\n     <li><b>Std 74 \u2192 LS<\/b>: s\u00ec nella logica, ma la LS ha meno corrente d'uscita (fan-out 20 LS ma solo 5 ingressi 74 standard).<\/li>\r\n     <li><b>CD40xx \u2192 74HC40xx<\/b>: 74HC4040, 74HC4060, 74HC4051, 74HC4066 hanno lo stesso pinout e sono pi\u00f9 veloci (il 74HC4066 ha anche resistenza ON pi\u00f9 bassa), ma funzionano solo fino a 6 V. Nei circuiti a 9\u201315 V servono i CD4000B.<\/li>\r\n     <li><b>Ingressi CMOS mai scollegati<\/b>: un ingresso TTL lasciato aperto vale 1, uno CMOS (HC, HCT, 4000) \u201cgalleggia\u201d e fa oscillare il chip o lo scalda. Se sostituisci con CMOS, collega a VCC o a GND gli ingressi inutilizzati.<\/li>\r\n     <li><b>Monostabili e oscillatori<\/b> (74LS121\/122\/123\/221, inverter 74LS04\/14 usati con RC o quarzo): soglie e formule del tempo cambiano tra LS e HC. Ricalcola R e C oppure resta sulla famiglia originale.<\/li>\r\n     <li><b>Open-collector<\/b> (7405, 7406, 7407, 7438, 74LS05\u2026): servono equivalenti open-drain; il 7406\/7407 regge 30 V in uscita e non ha un vero equivalente CMOS se l'uscita lavora sopra i 5 V.<\/li>\r\n     <li><b>Chip senza versione CMOS<\/b>: alcuni chip esistono solo in TTL (es. il VCO 74LS629 del clock video del C64): vanno sostituiti con lo stesso tipo.<\/li>\r\n    <\/ol>\r\n\r\n    <h3>Altre eccezioni di pinout<\/h3>\r\n    <p>Quasi tutti i DIP 74 hanno la massa sull'ultimo piedino del lato sinistro e VCC sul piedino pi\u00f9 alto (DIP14: GND 7, VCC 14; DIP16: GND 8, VCC 16; DIP20: GND 10, VCC 20). Fanno eccezione alcuni chip della prima serie, come 7473 (VCC 4, GND 11), 7475 e 7483 (VCC 5, GND 12), 7476 (VCC 5, GND 13), 7490 e 7493 (VCC 5, GND 10): attenzione quando misuri le tensioni o metti uno zoccolo di prova.<\/p>\r\n   <\/div>\r\n\r\n   <div data-lang=\"en\">\r\n    <h3>Same number, same function<\/h3>\r\n    <p>In the 74 series the digits after the letters give the <b>function and pinout<\/b>, the letters the <b>family<\/b> (the technology). A 74LS138, a 74HC138 and a 74F138 are all 3-to-8 decoders with the same pins: what changes are the input thresholds, speed, power and output current. That is why each chip page has a single entry (e.g. <code>74138<\/code>) with the family variants as aliases.<\/p>\r\n    <p>Reading a part number: <code>SN74LS00N<\/code> = <b>SN<\/b> manufacturer prefix (Texas Instruments; DM = National, MC = Motorola, HD = Hitachi, N\/S = Signetics, MM74HC = Fairchild\/National), <b>74<\/b> commercial range 0\u202670 \u00b0C (<b>54<\/b> = military \u221255\u2026125 \u00b0C, same pinout), <b>LS<\/b> family, <b>00<\/b> function, <b>N<\/b> plastic DIP (J = ceramic DIP, D = SOIC). In CMOS 4000 parts, <code>CD4011BE<\/code> = <b>B<\/b> buffered outputs, <b>E<\/b> plastic DIP. Other digits on the package (e.g. 8423) are usually the date code: year 1984, week 23.<\/p>\r\n\r\n    <h3>The families compared<\/h3>\r\n    <div class=\"tw\"><table class=\"gt\">\r\n     <thead><tr><th>Family<\/th><th>Technology<\/th><th>Supply<\/th><th>Input: 0 \/ 1<\/th><th>Output: 0 \/ 1<\/th><th>Output current<\/th><th>Typical delay<\/th><th>Notes<\/th><\/tr><\/thead>\r\n     <tbody>\r\n      <tr><td>74 (std)<\/td><td>Bipolar TTL<\/td><td>5 V \u00b15%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.4 \/ \u22652.4 V<\/td><td>16 mA<\/td><td>10 ns<\/td><td>the original series, ~10 mW per gate<\/td><\/tr>\r\n      <tr><td>74LS<\/td><td>Low-power Schottky TTL<\/td><td>5 V \u00b15%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.5 \/ \u22652.7 V<\/td><td>8 mA (bus 24 mA)<\/td><td>9\u201310 ns<\/td><td>the most common in 8-bit machines, ~2 mW per gate<\/td><\/tr>\r\n      <tr><td>74S<\/td><td>Schottky TTL<\/td><td>5 V \u00b15%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.5 \/ \u22652.7 V<\/td><td>20 mA<\/td><td>3 ns<\/td><td>fast but power hungry (~19 mW per gate), PROMs and fast logic<\/td><\/tr>\r\n      <tr><td>74ALS<\/td><td>Advanced low-power Schottky<\/td><td>5 V \u00b110%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.5 \/ \u2265VCC\u22122 V<\/td><td>8 mA<\/td><td>4 ns<\/td><td>LS successor: faster and lower power<\/td><\/tr>\r\n      <tr><td>74F<\/td><td>Fast TTL<\/td><td>5 V \u00b110%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.5 \/ \u22652.7 V<\/td><td>20 mA<\/td><td>3 ns<\/td><td>common on Amiga and Atari ST; \u201cheavier\u201d inputs (0.6 mA)<\/td><\/tr>\r\n      <tr><td>74AS<\/td><td>Advanced Schottky<\/td><td>5 V \u00b110%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22640.5 \/ \u2265VCC\u22122 V<\/td><td>20 mA<\/td><td>1.5\u20132 ns<\/td><td>the fastest TTL<\/td><\/tr>\r\n      <tr><td>74HC<\/td><td>High-speed CMOS<\/td><td>2\u20266 V<\/td><td>\u22641.35 \/ \u22653.15 V (at 4.5 V)<\/td><td>\u22480 \/ \u2248VCC<\/td><td>4 mA (bus 6 mA)<\/td><td>8\u201312 ns<\/td><td>CMOS thresholds (30% \/ 70% of VCC), near-zero static current<\/td><\/tr>\r\n      <tr><td>74HCT<\/td><td>CMOS with TTL thresholds<\/td><td>5 V \u00b110%<\/td><td>\u22640.8 \/ \u22652.0 V<\/td><td>\u22480 \/ \u2248VCC<\/td><td>4 mA (bus 6 mA)<\/td><td>10\u201315 ns<\/td><td>the \u201cuniversal\u201d LS replacement in 5 V systems<\/td><\/tr>\r\n      <tr><td>74AC \/ ACT<\/td><td>Advanced CMOS<\/td><td>2\u20266 V \/ 5 V<\/td><td>like HC \/ like HCT<\/td><td>\u22480 \/ \u2248VCC<\/td><td>24 mA<\/td><td>4\u20136 ns<\/td><td>very fast edges: noise and ringing on old boards<\/td><\/tr>\r\n      <tr><td>74LV \/ LVC<\/td><td>Low-voltage CMOS<\/td><td>2\u20265.5 V \/ 1.65\u20263.6 V<\/td><td>CMOS<\/td><td>\u22480 \/ \u2248VCC<\/td><td>8\u201324 mA<\/td><td>3\u20137 ns<\/td><td>LVC has 5 V tolerant inputs: handy for 5 V \u2194 3.3 V level shifting (FPGAs, modern boards)<\/td><\/tr>\r\n      <tr><td>CD4000B<\/td><td>Metal-gate CMOS<\/td><td>3\u202618 V<\/td><td>\u22641.5 \/ \u22653.5 V (at 5 V)<\/td><td>\u22480 \/ \u2248VCC<\/td><td>\u22480.5\u20131 mA at 5 V<\/td><td>50\u2013250 ns at 5 V<\/td><td>slow, weak outputs; good for 9\u201315 V, timers and analog circuits<\/td><\/tr>\r\n      <tr><td>74C<\/td><td>CMOS (4000-type)<\/td><td>3\u202615 V<\/td><td>CMOS<\/td><td>\u22480 \/ \u2248VCC<\/td><td>\u22481 mA<\/td><td>50\u2013100 ns<\/td><td>74 functions in 4000 technology, rare today<\/td><\/tr>\r\n     <\/tbody>\r\n    <\/table><\/div>\r\n    <p class=\"note\">Indicative values from typical datasheets (Texas Instruments, onsemi, Nexperia) at 5 V and 25 \u00b0C: for a design always check the datasheet of the exact part.<\/p>\r\n\r\n    <h3>Who can drive whom<\/h3>\r\n    <p>The critical point is the <b>logic 1<\/b>: a TTL or NMOS output (74LS, 6502, Z80, VIC-II, SID\u2026) only guarantees 2.4\u20132.7 V, while an HC input at 5 V wants at least 3.15\u20133.5 V.<\/p>\r\n    <div class=\"tw\"><table class=\"gt mx\">\r\n     <thead><tr><th>Output \u2193 &nbsp; Input \u2192<\/th><th>74LS \/ F \/ ALS<\/th><th>74HCT \/ ACT<\/th><th>74HC \/ AC<\/th><th>CD4000 at 5 V<\/th><\/tr><\/thead>\r\n     <tbody>\r\n      <tr><td>74LS \/ F \/ ALS, NMOS<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><td class=\"n\">no*<\/td><td class=\"n\">no*<\/td><\/tr>\r\n      <tr><td>74HC \/ HCT \/ AC \/ ACT<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><\/tr>\r\n      <tr><td>CD4000 at 5 V<\/td><td class=\"m\">1 load**<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><td class=\"y\">yes<\/td><\/tr>\r\n     <\/tbody>\r\n    <\/table><\/div>\r\n    <p class=\"note\">* Not guaranteed: it often \u201cworks on the bench\u201d but becomes unreliable when warm or with different chips. Fix it with an HCT instead of the HC, or a 2.2\u201310 k\u03a9 pull-up to 5 V where the output allows it. ** A 4000 output can drive about one LS input (0.4 mA): use a 4049\/4050 buffer or an HCT.<\/p>\r\n\r\n    <h3>When can one family replace another<\/h3>\r\n    <ol>\r\n     <li><b>LS \u2192 HCT<\/b>: the safest choice to replace a 74LS in a vintage computer. TTL input thresholds, full-swing outputs, negligible power. The only limit is lower output current (4\u20136 mA versus 8\u201324 mA), which matters for buffers driving long buses or many loads.<\/li>\r\n     <li><b>LS \u2192 HC<\/b>: only if everything driving the chip is CMOS. If the inputs come from LS, TTL or NMOS (almost always in 8-bit machines) a logic 1 may not be recognised: use HCT.<\/li>\r\n     <li><b>LS \u2192 ALS<\/b>: usually yes, same electrical behaviour, faster and lower power.<\/li>\r\n     <li><b>LS \u2192 F \/ S \/ AS \/ AC<\/b>: often works, but faster edges cause ringing, ground bounce and glitches, and F inputs draw more current. Avoid it where the design relies on chip delays: DRAM \/RAS and \/CAS generation, address multiplexers, video clocks and delay lines.<\/li>\r\n     <li><b>HCT \u2192 LS<\/b> (the other way round, e.g. on newer boards): usually yes, but an LS input sinks 0.4 mA when low and uses more power; check that the driver can handle the load.<\/li>\r\n     <li><b>Std 74 \u2192 LS<\/b>: fine for the logic, but LS has less output current (fan-out of 20 LS but only 5 standard 74 inputs).<\/li>\r\n     <li><b>CD40xx \u2192 74HC40xx<\/b>: 74HC4040, 74HC4060, 74HC4051 and 74HC4066 have the same pinout and are faster (the 74HC4066 also has lower ON resistance), but only work up to 6 V. Circuits running at 9\u201315 V need CD4000B parts.<\/li>\r\n     <li><b>Never leave CMOS inputs open<\/b>: an open TTL input reads as 1, a CMOS one (HC, HCT, 4000) floats and makes the chip oscillate or run hot. When you fit CMOS, tie unused inputs to VCC or GND.<\/li>\r\n     <li><b>One-shots and oscillators<\/b> (74LS121\/122\/123\/221, 74LS04\/14 inverters used with RC or a crystal): thresholds and timing formulas differ between LS and HC. Recalculate R and C or stay with the original family.<\/li>\r\n     <li><b>Open-collector parts<\/b> (7405, 7406, 7407, 7438, 74LS05\u2026): need open-drain equivalents; the 7406\/7407 withstand 30 V on the output and have no real CMOS equivalent if the output works above 5 V.<\/li>\r\n     <li><b>Chips with no CMOS version<\/b>: some parts only exist in TTL (e.g. the 74LS629 VCO of the C64 video clock) and must be replaced with the same type.<\/li>\r\n    <\/ol>\r\n\r\n    <h3>Other pinout exceptions<\/h3>\r\n    <p>Almost every 74 DIP has ground on the last pin of the left side and VCC on the highest pin (DIP14: GND 7, VCC 14; DIP16: GND 8, VCC 16; DIP20: GND 10, VCC 20). Exceptions are some early parts such as the 7473 (VCC 4, GND 11), 7475 and 7483 (VCC 5, GND 12), 7476 (VCC 5, GND 13), 7490 and 7493 (VCC 5, GND 10): watch out when measuring voltages or fitting a test socket.<\/p>\r\n   <\/div>\r\n  <\/section>\r\n\r\n  <p class=\"credits\" data-th=\"credits\">I pinout sono stati ricontrollati sui datasheet originali (link in ogni scheda): dove un dato non \u00e8 confermato la scheda lo segnala con un avviso giallo. Prima di alimentare una scheda o montare un sostituto verifica sempre sul datasheet del chip preciso. Disegni visti dall'alto (lato componenti), tacca in alto: il pulsante \u201cLato saldature\u201d li ribalta come li vedi da sotto la scheda. Scorciatoie: <kbd>\/<\/kbd> cerca, <kbd>Esc<\/kbd> torna all'elenco.<\/p>\r\n  <p class=\"credits list\"><span data-t=\"all\">Chip presenti:<\/span> <!--LISTA--><a href=\"#2016\">2016 RAM statica da 2K x 8 bit<\/a>, <a href=\"#2102\">2102 RAM statica da 1K x 1 bit<\/a>, <a href=\"#2111\">2111 RAM statica da 256 x 4 bit<\/a>, <a href=\"#2114\">2114 RAM statica da 1K x 4 bit<\/a>, <a href=\"#23128\">23128 ROM a maschera da 16K x 8 bit<\/a>, <a href=\"#2316\">2316 ROM a maschera da 2K x 8 bit<\/a>, <a href=\"#2332\">2332 ROM a maschera da 4K x 8 bit<\/a>, <a href=\"#2364\">2364 ROM a maschera da 8K x 8 bit (24 pin)<\/a>, <a href=\"#251641-02\">PLA C16 \/ Plus\/4 251641-02<\/a>, <a href=\"#251715-01\">PLA C64C 251715-01<\/a>, <a href=\"#2532\">2532 EPROM TI da 4K x 8 bit<\/a>, <a href=\"#27128\">27128 EPROM da 16K x 8 bit<\/a>, <a href=\"#2716\">2716 EPROM da 2K x 8 bit<\/a>, <a href=\"#27256\">27256 EPROM da 32K x 8 bit<\/a>, <a href=\"#2732\">2732 EPROM da 4K x 8 bit<\/a>, <a href=\"#27512\">27512 EPROM da 64K x 8 bit<\/a>, <a href=\"#2764\">2764 EPROM da 8K x 8 bit<\/a>, <a href=\"#27C010\">27C010 EPROM CMOS da 128K x 8 bit (1 Mbit)<\/a>, <a href=\"#2A03\">Ricoh RP2A03 \/ RP2A07<\/a>, <a href=\"#2C02\">Ricoh RP2C02 \/ RP2C07 PPU<\/a>, <a href=\"#315-5124\">Sega 315-5124 VDP<\/a>, <a href=\"#40007\">Amstrad Gate Array 40007<\/a>, <a href=\"#4001\">4001 Quattro porte NOR a 2 ingressi<\/a>, <a href=\"#40010\">Amstrad Gate Array 40010<\/a>, <a href=\"#4011\">4011 Quattro porte NAND a 2 ingressi<\/a>, <a href=\"#4013\">4013 Due flip-flop di tipo D indipendenti<\/a>, <a href=\"#4015\">4015 Due registri a scorrimento a 4 stadi<\/a>, <a href=\"#4017\">4017 Contatore decimale Johnson con 10 uscite<\/a>, <a href=\"#4020\">4020 Contatore binario asincrono a 14 stadi<\/a>, <a href=\"#4024\">4024 Contatore binario asincrono a 7 stadi<\/a>, <a href=\"#4027\">4027 DRAM da 4K x 1 bit (+12\/+5\/-5 V)<\/a>, <a href=\"#4040\">4040 Contatore binario asincrono a 12 stadi<\/a>, <a href=\"#4049\">4049 Sei invertitori \/ convertitori di livello<\/a>, <a href=\"#4050\">4050 Sei buffer \/ convertitori di livello<\/a>, <a href=\"#4051\">4051 Commutatore analogico bidirezionale 1 su 8<\/a>, <a href=\"#4052\">4052 Doppio multiplexer analogico 1 su 4<\/a>, <a href=\"#4053\">4053 Tre deviatori analogici<\/a>, <a href=\"#4060\">4060 Contatore a 14 stadi con oscillatore<\/a>, <a href=\"#4066\">4066 Quattro interruttori analogici bidirezionali indipendenti<\/a>, <a href=\"#4069\">4069 Sei invertitori (non bufferizzati)<\/a>, <a href=\"#4070\">4070 Quattro porte XOR a 2 ingressi<\/a>, <a href=\"#4071\">4071 Quattro porte OR a 2 ingressi<\/a>, <a href=\"#4081\">4081 Quattro porte AND a 2 ingressi<\/a>, <a href=\"#4093\">4093 Quattro NAND a 2 ingressi a trigger di Schmitt<\/a>, <a href=\"#4116\">4116 DRAM da 16K x 1 bit (+12\/+5\/-5 V)<\/a>, <a href=\"#41256\">41256 DRAM da 256K x 1 bit<\/a>, <a href=\"#41464\">41464 DRAM da 64K x 4 bit<\/a>, <a href=\"#4164\">4164 DRAM da 64K x 1 bit<\/a>, <a href=\"#4416\">4416 DRAM da 16K x 4 bit<\/a>, <a href=\"#4511\">4511 Decodificatore BCD - 7 segmenti con latch<\/a>, <a href=\"#4520\">4520 Due contatori binari sincroni a 4 bit indipendenti<\/a>, <a href=\"#4532\">4532 DRAM da 32K x 1 bit (4164 parziale)<\/a>, <a href=\"#4538\">4538 Due monostabili di precisione retriggerabili<\/a>, <a href=\"#511000\">511000 DRAM da 1M x 1 bit<\/a>, <a href=\"#514256\">514256 DRAM da 256K x 4 bit<\/a>, <a href=\"#514260\">514260 DRAM da 256K x 16 bit (SOJ40)<\/a>, <a href=\"#555\">NE555 timer<\/a>, <a href=\"#556\">NE556 doppio timer<\/a>, <a href=\"#5719\">CSG 5719 Gary<\/a>, <a href=\"#6116\">6116 RAM statica da 2K x 8 bit<\/a>, <a href=\"#62256\">62256 RAM statica da 32K x 8 bit<\/a>, <a href=\"#6264\">6264 RAM statica da 8K x 8 bit<\/a>, <a href=\"#6502\">MOS 6502<\/a>, <a href=\"#6502C\">Atari SALLY (6502C)<\/a>, <a href=\"#6507\">MOS 6507<\/a>, <a href=\"#6510\">MOS 6510<\/a>, <a href=\"#6514\">6514 RAM statica CMOS da 1K x 4 bit (sincrona)<\/a>, <a href=\"#6520\">MOS 6520 PIA<\/a>, <a href=\"#6522\">MOS 6522 VIA<\/a>, <a href=\"#6525\">MOS 6525 TPI<\/a>, <a href=\"#6526\">MOS 6526 CIA<\/a>, <a href=\"#6532\">MOS 6532 RIOT<\/a>, <a href=\"#6560\">MOS 6560 VIC (NTSC)<\/a>, <a href=\"#6561\">MOS 6561 VIC (PAL)<\/a>, <a href=\"#6567\">MOS 6567 VIC-II (NTSC)<\/a>, <a href=\"#6569\">MOS 6569 VIC-II (PAL)<\/a>, <a href=\"#6581\">MOS 6581 SID<\/a>, <a href=\"#68000\">Motorola MC68000 (DIP64)<\/a>, <a href=\"#6809\">Motorola MC6809<\/a>, <a href=\"#6809E\">Motorola MC6809E<\/a>, <a href=\"#6810\">6810 RAM statica da 128 x 8 bit (famiglia 6800)<\/a>, <a href=\"#6821\">Motorola MC6821 PIA<\/a>, <a href=\"#6845\">Motorola MC6845 CRTC<\/a>, <a href=\"#6847\">Motorola MC6847 VDG<\/a>, <a href=\"#6850\">Motorola MC6850 ACIA<\/a>, <a href=\"#6883\">Motorola MC6883 SAM<\/a>, <a href=\"#7360\">MOS 7360 TED<\/a>, <a href=\"#7400\">7400 Quattro porte NAND indipendenti a 2 ingressi<\/a>, <a href=\"#7402\">7402 Quattro porte NOR indipendenti a 2 ingressi<\/a>, <a href=\"#7404\">7404 Sei invertitori<\/a>, <a href=\"#7405\">7405 Sei invertitori open-collector<\/a>, <a href=\"#7406\">7406 Sei invertitori open-collector 30 V<\/a>, <a href=\"#7407\">7407 Sei buffer open-collector 30 V<\/a>, <a href=\"#7408\">7408 Quattro porte AND indipendenti a 2 ingressi<\/a>, <a href=\"#7410\">7410 Tre porte NAND indipendenti a 3 ingressi<\/a>, <a href=\"#74107\">74107 Due flip-flop JK<\/a>, <a href=\"#74109\">74109 Due flip-flop J-\/K<\/a>, <a href=\"#7411\">7411 Tre porte AND indipendenti a 3 ingressi<\/a>, <a href=\"#74112\">74112 Due flip-flop JK attivati dal fronte di discesa del clock<\/a>, <a href=\"#74121\">74121 Monostabile non retriggerabile<\/a>, <a href=\"#74123\">74123 Due monostabili retriggerabili<\/a>, <a href=\"#74125\">74125 Quattro buffer 3-state (abilitazione bassa)<\/a>, <a href=\"#74126\">74126 Quattro buffer 3-state (abilitazione alta)<\/a>, <a href=\"#74132\">74132 Quattro NAND a 2 ingressi a trigger di Schmitt<\/a>, <a href=\"#74138\">74138 Decodificatore da 3 a 8 linee<\/a>, <a href=\"#74139\">74139 Due decodificatori indipendenti da 2 a 4 linee<\/a>, <a href=\"#7414\">7414 Sei invertitori a trigger di Schmitt<\/a>, <a href=\"#74148\">74148 Codificatore di priorit\u00e0 da 8 a 3 linee<\/a>, <a href=\"#74151\">74151 Multiplexer da 8 a 1<\/a>, <a href=\"#74153\">74153 Due multiplexer da 4 a 1<\/a>, <a href=\"#74154\">74154 Decodificatore da 4 a 16 linee<\/a>, <a href=\"#74157\">74157 Quattro multiplexer da 2 a 1<\/a>, <a href=\"#74158\">74158 Quattro multiplexer da 2 a 1, uscite invertite<\/a>, <a href=\"#74161\">74161 Contatore binario sincrono a 4 bit (clear asincrono)<\/a>, <a href=\"#74163\">74163 Contatore binario sincrono a 4 bit (clear sincrono)<\/a>, <a href=\"#74164\">74164 Registro a scorrimento a 8 bit, uscite parallele<\/a>, <a href=\"#74165\">74165 Registro a scorrimento a 8 bit, caricamento parallelo<\/a>, <a href=\"#74166\">74166 Registro a scorrimento a 8 bit, caricamento parallelo sincrono<\/a>, <a href=\"#74173\">74173 Quattro flip-flop D con uscite 3-state<\/a>, <a href=\"#74174\">74174 Sei flip-flop D<\/a>, <a href=\"#74175\">74175 Quattro flip-flop D<\/a>, <a href=\"#74191\">74191 Contatore sincrono avanti\/indietro a 4 bit<\/a>, <a href=\"#74193\">74193 Contatore sincrono avanti\/indietro a 4 bit (due clock)<\/a>, <a href=\"#74194\">74194 Registro a scorrimento bidirezionale a 4 bit<\/a>, <a href=\"#7420\">7420 Due porte NAND indipendenti a 4 ingressi<\/a>, <a href=\"#74221\">74221 Due monostabili non retriggerabili<\/a>, <a href=\"#74240\">74240 Otto buffer invertenti 3-state<\/a>, <a href=\"#74241\">74241 Otto buffer 3-state in due gruppi<\/a>, <a href=\"#74244\">74244 Otto buffer 3-state<\/a>, <a href=\"#74245\">74245 Transceiver di bus bidirezionale a 8 bit<\/a>, <a href=\"#74251\">74251 Multiplexer da 8 a 1 con uscite 3-state<\/a>, <a href=\"#74257\">74257 Quattro multiplexer da 2 a 1 con uscite 3-state<\/a>, <a href=\"#74258\">74258 Quattro multiplexer da 2 a 1, uscite invertite 3-state<\/a>, <a href=\"#74259\">74259 Otto latch indirizzabili singolarmente<\/a>, <a href=\"#74266\">74266 Quattro porte XNOR open-collector<\/a>, <a href=\"#74273\">74273 Otto flip-flop D con clear<\/a>, <a href=\"#74279\">74279 Quattro latch set-reset<\/a>, <a href=\"#74280\">74280 Generatore\/controllore di parit\u00e0 a 9 bit<\/a>, <a href=\"#74283\">74283 Sommatore binario a 4 bit<\/a>, <a href=\"#7430\">7430 Una porta NAND a 8 ingressi<\/a>, <a href=\"#7432\">7432 Quattro porte OR indipendenti a 2 ingressi<\/a>, <a href=\"#74365\">74365 Sei buffer 3-state<\/a>, <a href=\"#74367\">74367 Sei buffer 3-state (gruppi da 4 e 2)<\/a>, <a href=\"#74373\">74373 Otto latch trasparenti 3-state<\/a>, <a href=\"#74374\">74374 Otto flip-flop D 3-state<\/a>, <a href=\"#74377\">74377 Otto flip-flop D con abilitazione<\/a>, <a href=\"#7438\">7438 Quattro NAND a 2 ingressi open-collector<\/a>, <a href=\"#74390\">74390 Due contatori decimali asincroni<\/a>, <a href=\"#74393\">74393 Due contatori binari asincroni a 4 bit<\/a>, <a href=\"#7442\">7442 Decodificatore da 4 a 10 linee<\/a>, <a href=\"#7447\">7447 Decodificatore BCD - 7 segmenti (anodo comune)<\/a>, <a href=\"#74541\">74541 Otto buffer 3-state (pinout a flusso)<\/a>, <a href=\"#74573\">74573 Otto latch trasparenti 3-state (pinout a flusso)<\/a>, <a href=\"#74574\">74574 Otto flip-flop D 3-state (pinout a flusso)<\/a>, <a href=\"#74595\">74595 Registro a scorrimento a 8 bit con latch d&#x27;uscita<\/a>, <a href=\"#74629\">74629 Due oscillatori controllati in tensione (VCO)<\/a>, <a href=\"#74670\">74670 File di registri 4 x 4 bit 3-state<\/a>, <a href=\"#74688\">74688 Comparatore di identit\u00e0 a 8 bit<\/a>, <a href=\"#7473\">7473 Due flip-flop JK<\/a>, <a href=\"#7474\">7474 Due flip-flop D attivati dal fronte di salita del clock<\/a>, <a href=\"#7475\">7475 Quattro latch trasparenti<\/a>, <a href=\"#7476\">7476 Due flip-flop JK<\/a>, <a href=\"#7483\">7483 Sommatore binario a 4 bit<\/a>, <a href=\"#7485\">7485 Comparatore di grandezza a 4 bit<\/a>, <a href=\"#7486\">7486 Quattro porte XOR indipendenti a 2 ingressi<\/a>, <a href=\"#7490\">7490 Contatore decimale asincrono<\/a>, <a href=\"#7493\">7493 Contatore binario asincrono a 4 bit<\/a>, <a href=\"#7501\">MOS 7501<\/a>, <a href=\"#765\">NEC \u00b5PD765 FDC<\/a>, <a href=\"#7805\">7805 Regolatore di tensione +5 V<\/a>, <a href=\"#7812\">7812 Regolatore di tensione +12 V<\/a>, <a href=\"#8255\">Intel 8255 PPI<\/a>, <a href=\"#8360\">MOS 8360 TED<\/a>, <a href=\"#8361\">MOS 8361 Agnus (originale)<\/a>, <a href=\"#8362\">MOS 8362 Denise<\/a>, <a href=\"#8364\">MOS 8364 Paula<\/a>, <a href=\"#8370\">MOS 8370 \/ 8371 Fat Agnus<\/a>, <a href=\"#8372\">MOS 8372A \/ 8372B Fat Agnus ECS<\/a>, <a href=\"#8373\">MOS 8373 Super Denise (ECS)<\/a>, <a href=\"#8500\">MOS 8500<\/a>, <a href=\"#8501\">MOS 8501<\/a>, <a href=\"#8502\">MOS 8502<\/a>, <a href=\"#8520\">MOS 8520 CIA<\/a>, <a href=\"#8562\">MOS 8562 VIC-II (NTSC, HMOS)<\/a>, <a href=\"#8563\">MOS 8563 VDC<\/a>, <a href=\"#8565\">MOS 8565 VIC-II (PAL, HMOS)<\/a>, <a href=\"#8580\">MOS 8580 SID<\/a>, <a href=\"#8701\">MOS 8701 generatore di clock<\/a>, <a href=\"#8721\">MOS 8721 PLA (C128)<\/a>, <a href=\"#8722\">MOS 8722 MMU (C128)<\/a>, <a href=\"#901225\">ROM caratteri C64 901225<\/a>, <a href=\"#901226\">ROM BASIC C64 901226<\/a>, <a href=\"#901227\">ROM KERNAL C64 901227<\/a>, <a href=\"#906114-01\">PLA C64 906114-01<\/a>, <a href=\"#ANTIC\">Atari ANTIC<\/a>, <a href=\"#AY-3-8900\">GI AY-3-8900-1 STIC<\/a>, <a href=\"#AY-3-8910\">General Instrument AY-3-8910 PSG<\/a>, <a href=\"#AY-3-8912\">General Instrument AY-3-8912 PSG<\/a>, <a href=\"#AY-3-8913\">General Instrument AY-3-8913 PSG<\/a>, <a href=\"#AY-3-8914\">GI AY-3-8914 PSG<\/a>, <a href=\"#CP1610\">General Instrument CP1610<\/a>, <a href=\"#CTIA\">Atari CTIA<\/a>, <a href=\"#DAVE\">Enterprise DAVE<\/a>, <a href=\"#F3850\">Fairchild F3850 CPU (F8)<\/a>, <a href=\"#F3851\">Fairchild F3851 PSU (Program Storage Unit)<\/a>, <a href=\"#FREDDIE\">Atari FREDDIE<\/a>, <a href=\"#GTIA\">Atari GTIA<\/a>, <a href=\"#LM324\">LM324 Quattro amplificatori operazionali<\/a>, <a href=\"#LM358\">LM358 Due amplificatori operazionali<\/a>, <a href=\"#LM386\">LM386 Amplificatore audio di potenza<\/a>, <a href=\"#MARIA\">Atari MARIA<\/a>, <a href=\"#MC1408\">Motorola MC1408 DAC 8 bit<\/a>, <a href=\"#MC1488\">MC1488 Quattro driver di linea RS-232<\/a>, <a href=\"#MC1489\">MC1489 Quattro ricevitori di linea RS-232<\/a>, <a href=\"#NICK\">Enterprise NICK<\/a>, <a href=\"#POKEY\">Atari POKEY<\/a>, <a href=\"#RA-3-9600\">GI RA-3-9600 System RAM<\/a>, <a href=\"#RO-3-9502\">GI RO-3-9502 Program ROM (EXEC)<\/a>, <a href=\"#RO-3-9503\">GI RO-3-9503 Graphics ROM (GROM)<\/a>, <a href=\"#SN76489\">Texas Instruments SN76489AN<\/a>, <a href=\"#TIA\">Atari TIA (NTSC)<\/a>, <a href=\"#TIA-PAL\">Atari TIA (PAL)<\/a>, <a href=\"#TMS4016\">TMS4016 RAM statica TI da 2K x 8 bit<\/a>, <a href=\"#TMS9900\">Texas Instruments TMS9900<\/a>, <a href=\"#TMS9918A\">Texas Instruments TMS9918A VDP<\/a>, <a href=\"#TMS9928A\">Texas Instruments TMS9928A VDP<\/a>, <a href=\"#TMS9929A\">Texas Instruments TMS9929A VDP<\/a>, <a href=\"#ULA-SPECTRUM\">Sinclair ZX Spectrum ULA<\/a>, <a href=\"#ULA-ZX81\">Sinclair ZX81 ULA<\/a>, <a href=\"#V9938\">Yamaha V9938 MSX-VIDEO<\/a>, <a href=\"#WD1770\">Western Digital WD1770<\/a>, <a href=\"#WD1772\">Western Digital WD1772<\/a>, <a href=\"#YM2149\">Yamaha YM2149 SSG<\/a>, <a href=\"#Z80\">Zilog Z80 CPU<\/a><!--\/LISTA--><\/p>\r\n <\/div>\r\n<\/div>\r\n\r\n<script>\r\n(function(){\r\n'use strict';\r\nvar EN = \/^en\/i.test(document.documentElement.lang || '');\r\nvar T = {\r\n it:{\r\n  title:'Pinout chip',\r\n  intro:'Il pinout dei chip pi\u00f9 usati nei computer e nelle console a 8 e 16 bit: logica 74xx e CD4000, CPU, chip video e audio, I\/O, RAM e ROM. Cerca per sigla, nome o macchina e apri la scheda con la piedinatura disegnata, le funzioni dei pin, gli equivalenti e i datasheet.',\r\n  stats:'{c} chip \u00b7 {v} pinout verificati sui datasheet \u00b7 {m} macchine',\r\n  tChips:'Chip', tGuide:'Famiglie logiche: 74LS, HC, HCT, F, 4000\u2026',\r\n  ph:'Cerca: 6510, SID, 74LS138, 4164, Spectrum, POKEY\u2026', reset:'\u00d7 Azzera filtri', loading:'Caricamento dei chip\u2026',\r\n  loadErr:'Non riesco a caricare i dati dei chip. Riprova tra poco.',\r\n  allBrands:'Tutte le marche', allMach:'Tutte le macchine', allTypes:'Tutti',\r\n  count:'{n} chip', count1:'1 chip', countQ:'{n} chip per \u00ab{q}\u00bb', countQ1:'1 chip per \u00ab{q}\u00bb',\r\n  none:'Nessun chip trovato. Prova con un\\'altra sigla o togli qualche filtro.',\r\n  back:'\u25c0 Tutti i chip', copy:'\ud83d\udd17 Copia link', copied:'Link copiato \u2713',\r\n  maker:'Produttore', pkg:'Contenitore', alias:'Sigle alternative', machines:'Si trova in', equiv:'Equivalenti e sostituti',\r\n  ds:'Datasheet', sch:'Schemi', rel:'Approfondisci su RetroFixer', tips:'Consigli per la riparazione', pins:'Pin',\r\n  partial:'Pinout non completamente verificato: {n}', partialNo:'Dati da verificare.',\r\n  verified:'\u2713 Pinout verificato sul datasheet', nopins:'Pinout non ancora disponibile',\r\n  nopinsT:'Non abbiamo ancora trovato un pinout affidabile per questo chip: preferiamo non pubblicarlo piuttosto che sbagliarlo.',\r\n  nodip:'Contenitore {p}: niente disegno, vedi la tabella dei pin.',\r\n  pinsof:'Stesso pinout di {id}.',\r\n  top:'Vista dall\\'alto', bottom:'Lato saldature', thN:'N.', thP:'Pin', thD:'Tipo', thF:'Funzione',\r\n  d_p:'Alimentazione', d_g:'Massa', d_i:'Ingresso', d_o:'Uscita', d_b:'Bidirezionale', d_oc:'Open collector', d_a:'Analogico', d_n:'Non collegato',\r\n  types:{cpu:'CPU','video':'Video',audio:'Audio',io:'I\/O',ram:'RAM',rom:'ROM \/ EPROM','logic-ttl':'Logica 74xx','logic-cmos':'CMOS 4000',pla:'PLA \/ custom',clock:'Clock',timer:'Timer',analog:'Analogici',controller:'Controller'},\r\n  all:'Chip presenti:',\r\n  credits:'I pinout sono stati ricontrollati sui datasheet originali (link in ogni scheda): dove un dato non \u00e8 confermato la scheda lo segnala con un avviso giallo. Prima di alimentare una scheda o montare un sostituto verifica sempre sul datasheet del chip preciso. Disegni visti dall\\'alto (lato componenti), tacca in alto: il pulsante \u201cLato saldature\u201d li ribalta come li vedi da sotto la scheda. Scorciatoie: <kbd>\/<\/kbd> cerca, <kbd>Esc<\/kbd> torna all\\'elenco.'\r\n },\r\n en:{\r\n  title:'Chip pinouts',\r\n  intro:'Pinouts of the chips most used in 8 and 16-bit computers and consoles: 74xx and CD4000 logic, CPUs, video and sound chips, I\/O, RAM and ROM. Search by part number, name or machine and open the page with the drawn pinout, pin functions, equivalents and datasheets.',\r\n  stats:'{c} chips \u00b7 {v} pinouts checked against datasheets \u00b7 {m} machines',\r\n  tChips:'Chips', tGuide:'Logic families: 74LS, HC, HCT, F, 4000\u2026',\r\n  ph:'Search: 6510, SID, 74LS138, 4164, Spectrum, POKEY\u2026', reset:'\u00d7 Clear filters', loading:'Loading chips\u2026',\r\n  loadErr:'Could not load the chip data. Please try again shortly.',\r\n  allBrands:'All brands', allMach:'All machines', allTypes:'All',\r\n  count:'{n} chips', count1:'1 chip', countQ:'{n} chips for \u201c{q}\u201d', countQ1:'1 chip for \u201c{q}\u201d',\r\n  none:'No chips found. Try another part number or remove some filters.',\r\n  back:'\u25c0 All chips', copy:'\ud83d\udd17 Copy link', copied:'Link copied \u2713',\r\n  maker:'Manufacturer', pkg:'Package', alias:'Other part numbers', machines:'Found in', equiv:'Equivalents and replacements',\r\n  ds:'Datasheets', sch:'Schematics', rel:'More on RetroFixer', tips:'Repair tips', pins:'Pins',\r\n  partial:'Pinout not fully verified: {n}', partialNo:'Data still to be checked.',\r\n  verified:'\u2713 Pinout checked against the datasheet', nopins:'Pinout not available yet',\r\n  nopinsT:'We have not found a reliable pinout for this chip yet: we would rather not publish it than get it wrong.',\r\n  nodip:'{p} package: no drawing, see the pin table.',\r\n  pinsof:'Same pinout as {id}.',\r\n  top:'Top view', bottom:'Solder side', thN:'No.', thP:'Pin', thD:'Type', thF:'Function',\r\n  d_p:'Power', d_g:'Ground', d_i:'Input', d_o:'Output', d_b:'Bidirectional', d_oc:'Open collector', d_a:'Analog', d_n:'Not connected',\r\n  types:{cpu:'CPU','video':'Video',audio:'Sound',io:'I\/O',ram:'RAM',rom:'ROM \/ EPROM','logic-ttl':'74xx logic','logic-cmos':'CMOS 4000',pla:'PLA \/ custom',clock:'Clock',timer:'Timer',analog:'Analog',controller:'Controllers'},\r\n  all:'Chips listed:',\r\n  credits:'Pinouts were checked against the original datasheets (linked on each page): where something is not confirmed, the page says so with a yellow warning. Before powering a board or fitting a replacement, always check the datasheet of the exact part. Drawings are top views (component side), notch at the top: the \u201cSolder side\u201d button mirrors them as seen from under the board. Shortcuts: <kbd>\/<\/kbd> search, <kbd>Esc<\/kbd> back to the list.'\r\n }\r\n}[EN ? 'en' : 'it'];\r\nvar L = EN ? 1 : 0;\r\nfunction tr(k, o){ var s = T[k] || k; if (o) for (var x in o) s = s.split('{' + x + '}').join(o[x]); return s; }\r\nfunction $(id){ return document.getElementById(id); }\r\nfunction esc(s){ return String(s).replace(\/[&<>\"]\/g, function(c){ return {'&':'&amp;','<':'&lt;','>':'&gt;','\"':'&quot;'}[c]; }); }\r\n\r\nvar root = document.querySelector('.rfpin');\r\nroot.querySelectorAll('[data-t]').forEach(function(e){ e.textContent = tr(e.dataset.t); });\r\nroot.querySelectorAll('[data-tp]').forEach(function(e){ e.placeholder = tr(e.dataset.tp); });\r\nroot.querySelectorAll('[data-th]').forEach(function(e){ e.innerHTML = tr(e.dataset.th); });\r\nroot.querySelectorAll('[data-lang]').forEach(function(e){ e.hidden = e.dataset.lang !== (EN ? 'en' : 'it'); });\r\n\r\n\/\/ file dei dati nella libreria media (in locale si usa quello in dati\/)\r\nvar LOCAL = \/^(localhost|127\\.)\/.test(location.hostname) || location.protocol === 'file:';\r\n\/\/ a ogni aggiornamento dei dati si carica un file con versione nuova (pinout-chip-vN.txt) e si cambia qui\r\nvar DATA = LOCAL ? 'dati\/pinout-chip.txt' : '\/wp-content\/uploads\/2026\/11\/pinout-chip-v2.txt';\r\n\r\nvar COL = {p:'#f94144', g:'#8b93b8', i:'#3fd8ff', o:'#ffd23f', b:'#5ad15f', oc:'#ff9f43', a:'#b388ff', n:'#4a4580'};\r\n\/\/ pagine di RetroFixer collegate, per tipo di chip\r\nvar REL = {\r\n  ram: [['\/dram-tester\/', 'DRAM tester per 4164 e 4116', 'DRAM tester for 4164 and 4116']],\r\n  rom: [['\/rom-e-adattatori\/', 'ROM e adattatori: da ROM a EPROM', 'ROMs and adapters: from mask ROM to EPROM'], ['\/rom-creator\/', 'ROM creator', 'ROM creator']],\r\n  'logic-ttl': [['\/porte-logiche\/', 'Porte logiche: funzionamento e tabelle di verit\u00e0', 'Logic gates: how they work and truth tables'], ['\/simulatore-porte-logiche\/', 'Simulatore di porte logiche', 'Logic gate simulator']],\r\n  'logic-cmos': [['\/porte-logiche\/', 'Porte logiche: funzionamento e tabelle di verit\u00e0', 'Logic gates: how they work and truth tables'], ['\/simulatore-porte-logiche\/', 'Simulatore di porte logiche', 'Logic gate simulator']],\r\n  cbm: [['\/c64-pcb-explorer\/', 'C64 \/ VIC-20 PCB Explorer: dove va ogni pin sulla scheda madre', 'C64 \/ VIC-20 PCB Explorer: where every pin goes on the motherboard'], ['\/guasti-commodore-64\/', 'Diagnosi guasti Commodore con l\\'AI', 'Commodore fault diagnosis with AI']]\r\n};\r\nvar TYPE_ORDER =['cpu', 'video', 'audio', 'io', 'pla', 'ram', 'rom', 'logic-ttl', 'logic-cmos', 'controller', 'clock', 'timer', 'analog'];\r\n\r\nvar D, chips = [], byId = {}, byKey = {}, machBrand = {}, st = {q: '', brand: '', mach: '', type: ''}, cur = null, mirror = false, lastScroll = 0;\r\n\r\n\/* ---------- testo ---------- *\/\r\nfunction f(s){ return String(s).normalize('NFD').replace(\/[\u0300-\u036f]\/g, '').toLowerCase(); }\r\nfunction key(s){ return f(s).replace(\/[\\s\\-\\\/.]\/g, ''); }\r\n\/\/ nome del pin: \"\/X\" = attivo basso, disegnato con la barra sopra\r\nfunction ovLen(n){\r\n  if (n.charAt(0) !== '\/' || n.length < 2) return 0;\r\n  var j = n.indexOf('\/', 1);\r\n  return j > 1 ? j - 1 : n.length - 1;\r\n}\r\nfunction pinHtml(n){\r\n  var k = ovLen(n);\r\n  if (!k) return esc(n);\r\n  return '<span class=\"ov\">' + esc(n.substr(1, k)) + '<\/span>' + esc(n.slice(k + 1));\r\n}\r\n\r\n\/* ---------- glossario dei pin comuni ---------- *\/\r\nvar GL = [\r\n  [\/^(VCC|VDD|\\+5V|VCC1|VCC2)$\/i, 'Alimentazione positiva (di solito +5 V)', 'Positive supply (usually +5 V)'],\r\n  [\/^(GND|VSS|0V)$\/i, 'Massa', 'Ground'],\r\n  [\/^NC$\/i, 'Non collegato', 'Not connected'],\r\n  [\/^A(\\d+)$\/, 'Bus indirizzi, bit {1}', 'Address bus, bit {1}'],\r\n  [\/^D(\\d+)$\/, 'Bus dati, bit {1}', 'Data bus, bit {1}'],\r\n  [\/^DB(\\d+)$\/, 'Bus dati, bit {1}', 'Data bus, bit {1}'],\r\n  [\/^DQ(\\d*)$\/, 'Dato (ingresso\/uscita)', 'Data in\/out'],\r\n  [\/^(DIN|DI)$\/, 'Ingresso dati', 'Data input'],\r\n  [\/^(DOUT|DO)$\/, 'Uscita dati', 'Data output'],\r\n  [\/^\\\/IRQ$\/, 'Richiesta di interrupt (attiva bassa)', 'Interrupt request (active low)'],\r\n  [\/^\\\/NMI$\/, 'Interrupt non mascherabile (attivo basso)', 'Non-maskable interrupt (active low)'],\r\n  [\/^\\\/(RES|RESET|RST)$\/, 'Reset (attivo basso)', 'Reset (active low)'],\r\n  [\/^R\\\/\\\/?W$\/, 'Lettura \/ scrittura: 1 = lettura, 0 = scrittura', 'Read \/ write: 1 = read, 0 = write'],\r\n  [\/^\\\/?(CS|CE)(\\d*)$\/, 'Selezione del chip', 'Chip select'],\r\n  [\/^\\\/OE$\/, 'Abilitazione delle uscite (attiva bassa)', 'Output enable (active low)'],\r\n  [\/^\\\/(WE|W)$\/, 'Abilitazione alla scrittura (attiva bassa)', 'Write enable (active low)'],\r\n  [\/^\\\/RAS$\/, 'Strobe dell\\'indirizzo di riga (DRAM)', 'Row address strobe (DRAM)'],\r\n  [\/^\\\/CAS$\/, 'Strobe dell\\'indirizzo di colonna (DRAM)', 'Column address strobe (DRAM)'],\r\n  [\/^P([A-D])(\\d)$\/, 'Porta {1}, bit {2}', 'Port {1}, bit {2}'],\r\n  [\/^P(\\d)$\/, 'Porta di I\/O, bit {1}', 'I\/O port, bit {1}'],\r\n  [\/^RS(\\d)$\/, 'Selezione del registro, bit {1}', 'Register select, bit {1}'],\r\n  [\/^(\u03a6|PHI|\u03c6)(\\d)(IN|OUT)?$\/i, 'Clock di sistema \u03a6{2}', 'System clock \u03a6{2}'],\r\n  [\/^(CLK|CLOCK)$\/i, 'Clock', 'Clock'],\r\n  [\/^\\\/(CLR|MR)$\/, 'Azzeramento (attivo basso)', 'Clear (active low)'],\r\n  [\/^\\\/PRE$\/, 'Preset: porta l\\'uscita a 1 (attivo basso)', 'Preset: forces the output to 1 (active low)'],\r\n  [\/^(\\d)(CLK|CP)$\/, 'Clock del flip-flop {1}', 'Clock of flip-flop {1}'],\r\n  [\/^\\\/(\\d)CLR$\/, 'Azzeramento del flip-flop {1}', 'Clear of flip-flop {1}'],\r\n  [\/^\\\/(\\d)PRE$\/, 'Preset del flip-flop {1}', 'Preset of flip-flop {1}'],\r\n  [\/^(\\d)([A-F])$\/, 'Ingresso {2} della porta {1}', 'Gate {1} input {2}'],\r\n  [\/^(\\d)Y$\/, 'Uscita della porta {1}', 'Gate {1} output'],\r\n  [\/^(\\d)D$\/, 'Ingresso dati del flip-flop {1}', 'Data input of flip-flop {1}'],\r\n  [\/^(\\d)Q$\/, 'Uscita Q del flip-flop {1}', 'Q output of flip-flop {1}'],\r\n  [\/^\\\/(\\d)Q$\/, 'Uscita Q negata del flip-flop {1}', 'Inverted Q output of flip-flop {1}'],\r\n  [\/^(\\d)J$\/, 'Ingresso J del flip-flop {1}', 'J input of flip-flop {1}'],\r\n  [\/^\\\/?(\\d)K$\/, 'Ingresso K del flip-flop {1}', 'K input of flip-flop {1}'],\r\n  [\/^Q([A-H0-9])$\/, 'Uscita {1}', 'Output {1}'],\r\n  [\/^\\\/(OE|G)(\\d?)$\/, 'Abilitazione delle uscite (attiva bassa)', 'Output enable (active low)'],\r\n  [\/^\\\/(\\d)(OE|G)$\/, 'Abilitazione delle uscite del gruppo {1} (attiva bassa)', 'Output enable, group {1} (active low)'],\r\n  [\/^(\\d)A(\\d)$\/, 'Ingresso {2} del gruppo {1}', 'Group {1} input {2}'],\r\n  [\/^(\\d)Y(\\d)$\/, 'Uscita {2} del gruppo {1}', 'Group {1} output {2}'],\r\n  [\/^\\\/?Y(\\d+)$\/, 'Uscita {1}', 'Output {1}'],\r\n  [\/^DIR$\/, 'Direzione del trasferimento', 'Transfer direction'],\r\n  [\/^VPP$\/, 'Tensione di programmazione (in lettura: VCC)', 'Programming voltage (VCC when reading)'],\r\n  [\/^\\\/PGM$\/, 'Impulso di programmazione (in lettura: alto)', 'Program pulse (high when reading)'],\r\n  [\/^VBB$\/, 'Alimentazione negativa del substrato', 'Negative substrate supply'],\r\n  [\/^VEE$\/, 'Alimentazione negativa', 'Negative supply'],\r\n  [\/^(IN|INPUT)$\/i, 'Ingresso', 'Input'],\r\n  [\/^(OUT|OUTPUT)$\/i, 'Uscita', 'Output']\r\n];\r\nfunction gloss(n){\r\n  for (var i = 0; i < GL.length; i++) {\r\n    var m = n.match(GL[i][0]);\r\n    if (m) return GL[i][1 + L].replace(\/\\{(\\d)\\}\/g, function(_, k){ return m[+k] || ''; });\r\n  }\r\n  return '';\r\n}\r\nfunction pinDesc(p){ return p.length > 2 ? p[2 + L] : gloss(p[0]); }\r\n\r\n\/* ---------- elenco ---------- *\/\r\nfunction tname(t){ return T.types[t] || t; }\r\n\/\/ nome da mostrare: per logica e memorie c'\u00e8 un titolo breve in due lingue\r\nfunction pkn(c){ return c.pk === 'n.d.' && EN ? 'n\/a' : c.pk; }\r\nfunction cname(c){ return (EN ? c.ne : c.ni) || c.n; }\r\nfunction brandsOf(c){\r\n  var b = [];\r\n  c.m.forEach(function(m){ var x = machBrand[m]; if (x && b.indexOf(x) < 0) b.push(x); });\r\n  return b;\r\n}\r\nfunction score(c, q, qk){\r\n  if (!q) return 1;\r\n  var ids = [c.id].concat(c.al), s = 0;\r\n  ids.forEach(function(a){\r\n    var k = key(a);\r\n    if (k === qk) s = Math.max(s, 100);\r\n    else if (k.indexOf(qk) === 0) s = Math.max(s, 60);\r\n    else if (qk.length >= 2 && k.indexOf(qk) >= 0) s = Math.max(s, 40);\r\n  });\r\n  if (s) return s;\r\n  var words = f(q).split(\/\\s+\/).filter(Boolean), hay = c._hay, ok = true, w = 0;\r\n  words.forEach(function(x){\r\n    \/\/ le parole brevi (sid, ram, tia\u2026) valgono solo come parola intera\r\n    var j = x.length > 3 ? hay.indexOf(x) : hay.search(new RegExp('(^|[^a-z0-9])' + x.replace(\/[.*+?^${}()|[\\]\\\\]\/g, '\\\\$&') + '(?![a-z])'));\r\n    if (j < 0) ok = false; else w += j < c._hayHead ? 3 : 1;\r\n  });\r\n  return ok ? 10 + w : 0;\r\n}\r\nfunction filtered(){\r\n  var q = st.q.trim(), qk = key(q);\r\n  var list = [];\r\n  chips.forEach(function(c){\r\n    if (st.type && c.t !== st.type) return;\r\n    if (st.mach && c.m.indexOf(st.mach) < 0) return;\r\n    if (st.brand && brandsOf(c).indexOf(st.brand) < 0) return;\r\n    var s = score(c, q, qk);\r\n    if (s) list.push([s, c]);\r\n  });\r\n  list.sort(function(a, b){\r\n    return b[0] - a[0] || TYPE_ORDER.indexOf(a[1].t) - TYPE_ORDER.indexOf(b[1].t) || natCmp(a[1].id, b[1].id);\r\n  });\r\n  return list.map(function(x){ return x[1]; });\r\n}\r\nfunction natCmp(a, b){ return a.localeCompare(b, 'en', {numeric: true, sensitivity: 'base'}); }\r\n\r\nfunction hl(s, q){\r\n  if (!q || q.length < 2) return esc(s);\r\n  var fs = f(s), fq = f(q), i = fs.indexOf(fq);\r\n  if (i < 0) return esc(s);\r\n  return esc(s.slice(0, i)) + '<mark>' + esc(s.slice(i, i + fq.length)) + '<\/mark>' + esc(s.slice(i + fq.length));\r\n}\r\nfunction renderList(){\r\n  var list = filtered(), q = st.q.trim();\r\n  \/\/ conteggi per tipo con gli altri filtri attivi\r\n  var cnt = {}, saveT = st.type; st.type = '';\r\n  var base = filtered(); st.type = saveT;\r\n  base.forEach(function(c){ cnt[c.t] = (cnt[c.t] || 0) + 1; });\r\n  $('rfpTypes').innerHTML = '<button class=\"chip\" type=\"button\" data-type=\"\" aria-pressed=\"' + (!st.type) + '\">' + tr('allTypes') + '<i>' + base.length + '<\/i><\/button>' +\r\n    TYPE_ORDER.filter(function(t){ return cnt[t] || st.type === t; }).map(function(t){\r\n      return '<button class=\"chip\" type=\"button\" data-type=\"' + t + '\" aria-pressed=\"' + (st.type === t) + '\">' + esc(tname(t)) + '<i>' + (cnt[t] || 0) + '<\/i><\/button>';\r\n    }).join('');\r\n  var n = list.length;\r\n  $('rfpCount').innerHTML = q ? tr(n === 1 ? 'countQ1' : 'countQ', {n: n, q: '<b>' + esc(q) + '<\/b>'}) : tr(n === 1 ? 'count1' : 'count', {n: n});\r\n  $('rfpGrid').innerHTML = n ? list.map(function(c){\r\n    var al = c.al.filter(function(a){ return key(a) !== key(c.id); });\r\n    var mal = q && al.filter(function(a){ return key(a).indexOf(key(q)) >= 0; })[0];\r\n    return '<a class=\"card\" href=\"#' + encodeURIComponent(c.id) + '\" data-id=\"' + esc(c.id) + '\"><div class=\"top\"><span class=\"id\">' + hl(c.id, q) + '<\/span><span class=\"pk\">' + esc(pkn(c)) + '<\/span><\/div>' +\r\n      '<span class=\"nm\">' + hl(cname(c), q) + '<\/span>' +\r\n      (mal ? '<span class=\"al\">' + hl(mal, q) + '<\/span>' : '') +\r\n      (c.m.length ? '<span class=\"ms\">' + hl(c.m.join(' \u00b7 '), q) + '<\/span>' : '') +\r\n      '<span class=\"tb t-' + esc(c.t) + '\">' + esc(tname(c.t)) + '<\/span><\/a>';\r\n  }).join('') : '<p class=\"none\">' + tr('none') + '<\/p>';\r\n  $('rfpReset').hidden = !(st.brand || st.mach || st.type || q);\r\n}\r\nfunction fillSelects(){\r\n  var brands = Object.keys(D.brands).filter(function(b){ return chips.some(function(c){ return brandsOf(c).indexOf(b) >= 0; }); });\r\n  $('rfpBrand').innerHTML = '<option value=\"\">' + tr('allBrands') + '<\/option>' + brands.map(function(b){ return '<option' + (b === st.brand ? ' selected' : '') + '>' + esc(b) + '<\/option>'; }).join('');\r\n  var used = {};\r\n  chips.forEach(function(c){ c.m.forEach(function(m){ used[m] = (used[m] || 0) + 1; }); });\r\n  var ms = Object.keys(machBrand).filter(function(m){ return used[m] && (!st.brand || machBrand[m] === st.brand); });\r\n  if (st.mach && ms.indexOf(st.mach) < 0) st.mach = '';\r\n  $('rfpMach').innerHTML = '<option value=\"\">' + tr('allMach') + '<\/option>' + ms.map(function(m){ return '<option value=\"' + esc(m) + '\"' + (m === st.mach ? ' selected' : '') + '>' + esc(m) + ' (' + used[m] + ')<\/option>'; }).join('');\r\n}\r\n\r\n\/* ---------- disegno DIP ---------- *\/\r\nfunction drawDip(c){\r\n  var P = c.p, N = P.length, half = N \/ 2, rowH = 22, top = 34, bodyX = 92, bodyW = 196, H = top + half * rowH + 16, W = bodyX * 2 + bodyW;\r\n  var s = '<svg viewBox=\"0 0 ' + W + ' ' + H + '\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" role=\"img\" aria-label=\"' + esc(c.id + ' ' + c.pk) + '\">';\r\n  s += '<rect x=\"' + bodyX + '\" y=\"14\" width=\"' + bodyW + '\" height=\"' + (H - 22) + '\" rx=\"6\" fill=\"#1b1830\" stroke=\"#4b4590\" stroke-width=\"2\"\/>';\r\n  \/\/ tacca e punto del pin 1\r\n  s += '<path d=\"M' + (W \/ 2 - 16) + ' 14 a16 16 0 0 0 32 0\" fill=\"#0b0920\" stroke=\"#4b4590\" stroke-width=\"2\"\/>';\r\n  var p1x = mirror ? bodyX + bodyW - 14 : bodyX + 14;\r\n  s += '<circle cx=\"' + p1x + '\" cy=\"26\" r=\"4\" fill=\"#6f68b8\"\/>';\r\n  s += '<text x=\"' + (W \/ 2) + '\" y=\"' + (top + half * rowH \/ 2 - 4) + '\" text-anchor=\"middle\" fill=\"#3b3570\" font-family=\"VT323,monospace\" font-size=\"' + Math.min(34, Math.max(20, 260 \/ Math.max(c.id.length, 4))) + '\" transform=\"rotate(-90 ' + (W \/ 2) + ' ' + (top + half * rowH \/ 2 - 4) + ')\">' + esc(c.id) + '<\/text>';\r\n  for (var i = 0; i < N; i++) {\r\n    var leftSide = i < half, row = leftSide ? i : N - 1 - i;\r\n    if (mirror) leftSide = !leftSide;\r\n    var y = top + row * rowH + rowH \/ 2, p = P[i], col = COL[p[1]] || '#aaa';\r\n    var x0 = leftSide ? bodyX - 34 : bodyX + bodyW, x1 = x0 + 34;\r\n    s += '<g class=\"pin\" data-i=\"' + i + '\">';\r\n    s += '<rect class=\"hb\" x=\"' + (leftSide ? 0 : bodyX + bodyW \/ 2) + '\" y=\"' + (y - rowH \/ 2) + '\" width=\"' + (bodyW \/ 2 + bodyX) + '\" height=\"' + rowH + '\" fill=\"transparent\"\/>';\r\n    s += '<rect x=\"' + x0 + '\" y=\"' + (y - 5) + '\" width=\"34\" height=\"10\" rx=\"2\" fill=\"' + col + '\"' + (p[1] === 'n' ? ' opacity=\".6\"' : '') + '\/>';\r\n    \/\/ freccia di direzione sul pin\r\n    var ax = leftSide ? x0 + 17 : x0 + 17, inw = p[1] === 'i', out = p[1] === 'o' || p[1] === 'oc';\r\n    if (inw || out) {\r\n      var pointRight = (inw && leftSide) || (out && !leftSide);\r\n      s += pointRight ? '<path d=\"M' + (ax - 4) + ' ' + (y - 3.5) + 'L' + (ax + 4) + ' ' + y + 'L' + (ax - 4) + ' ' + (y + 3.5) + 'Z\" fill=\"#0b0920\"\/>' :\r\n        '<path d=\"M' + (ax + 4) + ' ' + (y - 3.5) + 'L' + (ax - 4) + ' ' + y + 'L' + (ax + 4) + ' ' + (y + 3.5) + 'Z\" fill=\"#0b0920\"\/>';\r\n    } else if (p[1] === 'b') {\r\n      s += '<path d=\"M' + (ax - 8) + ' ' + y + 'L' + (ax - 3) + ' ' + (y - 3.5) + 'L' + (ax - 3) + ' ' + (y + 3.5) + 'ZM' + (ax + 8) + ' ' + y + 'L' + (ax + 3) + ' ' + (y - 3.5) + 'L' + (ax + 3) + ' ' + (y + 3.5) + 'Z\" fill=\"#0b0920\"\/>';\r\n    }\r\n    var nx = leftSide ? x0 - 6 : x1 + 6;\r\n    s += '<text x=\"' + nx + '\" y=\"' + (y + 5) + '\" text-anchor=\"' + (leftSide ? 'end' : 'start') + '\" fill=\"#8a84c8\" font-family=\"VT323,monospace\" font-size=\"17\">' + (i + 1) + '<\/text>';\r\n    var tx = leftSide ? bodyX + 8 : bodyX + bodyW - 8, nm = p[0], ov = ovLen(nm);\r\n    var strong = p[1] === 'p' || p[1] === 'g';\r\n    s += '<text class=\"nm\" x=\"' + tx + '\" y=\"' + (y + 5) + '\" text-anchor=\"' + (leftSide ? 'start' : 'end') + '\" fill=\"' + (strong ? col : '#e6e3ff') + '\" font-family=\"VT323,monospace\" font-size=\"' + (nm.length > 11 ? 15 : 18) + '\"' + (strong ? ' font-weight=\"bold\"' : '') + (ov ? ' data-ov=\"' + ov + '\"' : '') + '>' + esc(ov ? nm.slice(1) : nm) + '<\/text>';\r\n    s += '<\/g>';\r\n  }\r\n  return s + '<\/svg>';\r\n}\r\n\/\/ barra sopra i nomi attivi bassi: si misura il testo dopo averlo disegnato\r\nfunction overlines(svg){\r\n  svg.querySelectorAll('text[data-ov]').forEach(function(t){\r\n    try {\r\n      var b = t.getBBox(), k = +t.dataset.ov, l = document.createElementNS('http:\/\/www.w3.org\/2000\/svg', 'line');\r\n      var x1 = t.getExtentOfChar(0).x, e = t.getExtentOfChar(k - 1);\r\n      l.setAttribute('x1', x1); l.setAttribute('x2', e.x + e.width);\r\n      l.setAttribute('y1', b.y + 3.5); l.setAttribute('y2', b.y + 3.5);\r\n      l.setAttribute('stroke', t.getAttribute('fill')); l.setAttribute('stroke-width', '1.4');\r\n      t.parentNode.appendChild(l);\r\n    } catch (e) {}\r\n  });\r\n}\r\nfunction legend(c){\r\n  var used = {};\r\n  c.p.forEach(function(p){ used[p[1]] = 1; });\r\n  return '<div class=\"legend\">' + ['p', 'g', 'i', 'o', 'b', 'oc', 'a', 'n'].filter(function(d){ return used[d]; }).map(function(d){\r\n    return '<span><i style=\"background:' + COL[d] + '\"><\/i>' + tr('d_' + d) + '<\/span>';\r\n  }).join('') + '<\/div>';\r\n}\r\n\r\n\/* ---------- scheda ---------- *\/\r\nfunction chipLink(s){\r\n  var c = byKey[key(s)];\r\n  return c && c !== cur ? '<a href=\"#' + encodeURIComponent(c.id) + '\">' + esc(s) + '<\/a>' : '<b>' + esc(s) + '<\/b>';\r\n}\r\nfunction links(arr){\r\n  return arr.map(function(l){ return '<li><a href=\"' + esc(l[0]) + '\" target=\"_blank\" rel=\"noopener\">' + esc(l[1] || l[0]) + ' \u2197<\/a><\/li>'; }).join('');\r\n}\r\nfunction showChip(c){\r\n  cur = c;\r\n  var dip = c.p && \/^S?DIP\\d+$\/.test(c.pk) && c.p.length % 2 === 0;\r\n  var h = '<div class=\"dbar\"><button class=\"btn back\" type=\"button\" id=\"rfpBack\">' + tr('back') + '<\/button><span class=\"sp\"><\/span>' +\r\n    '<button class=\"btn\" type=\"button\" id=\"rfpCopy\">' + tr('copy') + '<\/button><\/div>';\r\n  h += '<div class=\"dh\"><h3>' + esc(c.id) + '<\/h3><span class=\"nm\">' + esc(cname(c)) + '<\/span><span class=\"tb t-' + esc(c.t) + '\">' + esc(tname(c.t)) + '<\/span><\/div>';\r\n  h += '<div class=\"meta\">' + (c.mk ? '<span>' + tr('maker') + ': <b>' + esc(c.mk) + '<\/b><\/span>' : '') + '<span>' + tr('pkg') + ': <b>' + esc(pkn(c)) + '<\/b><\/span>' +\r\n    (c.p ? '<span>' + tr('pins') + ': <b>' + c.p.length + '<\/b><\/span>' : '') + '<\/div>';\r\n  if (c.vf[0] === 'partial') h += '<p class=\"warn\">\u26a0 ' + (c.vf[1] ? tr('partial', {n: esc(c.vf[1])}) : tr('partialNo')) + '<\/p>';\r\n  else if (c.p) h += '<p class=\"okv\">' + tr('verified') + '<\/p>';\r\n\r\n  h += '<div class=\"dgrid\"><div class=\"draw\" id=\"rfpDraw\">';\r\n  if (dip) {\r\n    h += drawDip(c) + '<div class=\"ctl\"><span>' + esc(c.pk) + '<\/span><div class=\"seg\" id=\"rfpMir\"><button type=\"button\" data-m=\"0\" aria-pressed=\"' + !mirror + '\">' + tr('top') + '<\/button><button type=\"button\" data-m=\"1\" aria-pressed=\"' + mirror + '\">' + tr('bottom') + '<\/button><\/div><\/div>' + legend(c);\r\n  } else if (c.p) {\r\n    h += '<div class=\"nodraw\"><b>' + esc(c.pk) + '<\/b>' + tr('nodip', {p: esc(c.pk)}) + '<\/div>' + legend(c);\r\n  } else {\r\n    h += '<div class=\"nodraw\"><b>' + tr('nopins') + '<\/b>' + tr('nopinsT') + '<\/div>';\r\n  }\r\n  h += '<\/div><div class=\"info\">';\r\n  h += '<div class=\"desc\"><p>' + esc(EN ? c.en : c.it) + '<\/p><\/div>';\r\n  var al = c.al.filter(function(a){ return key(a) !== key(c.id); });\r\n  if (al.length) h += '<div class=\"sec\"><h4>' + tr('alias') + '<\/h4><div class=\"tags\">' + al.map(function(a){ return '<span>' + esc(a) + '<\/span>'; }).join('') + '<\/div><\/div>';\r\n  if (c.m.length) h += '<div class=\"sec\"><h4>' + tr('machines') + '<\/h4><div class=\"tags\">' + c.m.map(function(m){ return '<a href=\"#m=' + encodeURIComponent(m) + '\">' + esc(m) + '<\/a>'; }).join('') + '<\/div><\/div>';\r\n  if (c.eq) h += '<div class=\"sec\"><h4>' + tr('equiv') + '<\/h4><ul>' + c.eq.map(function(e){ return '<li>' + chipLink(e[0]) + ' \u2014 ' + esc(e[1 + L]) + '<\/li>'; }).join('') + '<\/ul><\/div>';\r\n  if (c.tip) h += '<div class=\"sec tip\"><h4>' + tr('tips') + '<\/h4><ul>' + c.tip.map(function(t){ return '<li>' + esc(t[L]) + '<\/li>'; }).join('') + '<\/ul><\/div>';\r\n  if (c.po && byId[c.po]) h += '<div class=\"sec\"><p class=\"note\">' + tr('pinsof', {id: chipLink(c.po)}) + '<\/p><\/div>';\r\n  if (c.p) {\r\n    h += '<div class=\"sec\"><h4>' + tr('pins') + '<\/h4><table class=\"ptab\" id=\"rfpTab\"><thead><tr><th>' + tr('thN') + '<\/th><th>' + tr('thP') + '<\/th><th>' + tr('thD') + '<\/th><th>' + tr('thF') + '<\/th><\/tr><\/thead><tbody>' +\r\n      c.p.map(function(p, i){\r\n        return '<tr data-i=\"' + i + '\"><td class=\"n\">' + (i + 1) + '<\/td><td class=\"pn\">' + pinHtml(p[0]) + '<\/td><td class=\"d\"><span class=\"dot\" style=\"background:' + COL[p[1]] + '\"><\/span>' + tr('d_' + p[1]) + '<\/td><td class=\"f\">' + esc(pinDesc(p)) + '<\/td><\/tr>';\r\n      }).join('') + '<\/tbody><\/table><\/div>';\r\n  }\r\n  if (c.ds) h += '<div class=\"sec\"><h4>' + tr('ds') + '<\/h4><ul>' + links(c.ds) + '<\/ul><\/div>';\r\n  if (c.sch) h += '<div class=\"sec\"><h4>' + tr('sch') + '<\/h4><ul>' + links(c.sch) + '<\/ul><\/div>';\r\n  var rel = REL[c.t] || (c.m.indexOf('C64') >= 0 || c.m.indexOf('VIC-20') >= 0 ? REL.cbm : null);\r\n  if (rel) h += '<div class=\"sec\"><h4>' + tr('rel') + '<\/h4><ul>' + rel.map(function(r){\r\n    return '<li><a href=\"' + (EN ? '\/en' : '') + r[0] + '\">' + esc(r[1 + L]) + '<\/a><\/li>';\r\n  }).join('') + '<\/ul><\/div>';\r\n  h += '<\/div><\/div>';\r\n\r\n  var det = $('rfpDet');\r\n  det.innerHTML = h;\r\n  $('rfpBrowse').hidden = true; det.hidden = false;\r\n  var svg = det.querySelector('svg'); if (svg) overlines(svg);\r\n  wireDetail(c);\r\n  document.title = c.id + ' \u00b7 ' + baseTitle;\r\n}\r\nfunction wireDetail(c){\r\n  $('rfpBack').onclick = function(){ goList(); };\r\n  $('rfpCopy').onclick = function(){\r\n    var u = location.href.split('#')[0] + '#' + encodeURIComponent(c.id);\r\n    var done = function(){ toast(tr('copied')); };\r\n    if (navigator.clipboard) navigator.clipboard.writeText(u).then(done, function(){ prompt('', u); }); else prompt('', u);\r\n  };\r\n  var m = $('rfpMir');\r\n  if (m) m.onclick = function(e){ var b = e.target.closest('button'); if (!b) return; mirror = b.dataset.m === '1'; var y = scrollY; showChip(c); scrollTo(0, y); };\r\n  var det = $('rfpDet'), tab = $('rfpTab');\r\n  function on(i, scroll){\r\n    det.querySelectorAll('.on').forEach(function(x){ x.classList.remove('on'); });\r\n    det.querySelectorAll('[data-i=\"' + i + '\"]').forEach(function(x){ x.classList.add('on'); });\r\n    if (scroll) { var r = tab && tab.querySelector('tr[data-i=\"' + i + '\"]'); if (r) r.scrollIntoView({block: 'nearest', behavior: 'smooth'}); }\r\n  }\r\n  det.querySelectorAll('svg .pin').forEach(function(g){\r\n    g.addEventListener('mouseenter', function(){ on(g.dataset.i); });\r\n    g.addEventListener('click', function(){ on(g.dataset.i, true); });\r\n  });\r\n  if (tab) tab.addEventListener('mouseover', function(e){ var r = e.target.closest('tr[data-i]'); if (r) on(r.dataset.i); });\r\n  if (tab) tab.addEventListener('click', function(e){ var r = e.target.closest('tr[data-i]'); if (r) { on(r.dataset.i); var g = det.querySelector('svg .pin[data-i=\"' + r.dataset.i + '\"]'); if (g && g.getBoundingClientRect().top < 0) $('rfpDraw').scrollIntoView({block: 'nearest'}); } });\r\n}\r\nfunction toast(s){\r\n  var t = document.createElement('div'); t.className = 'toast'; t.textContent = s; root.appendChild(t);\r\n  setTimeout(function(){ t.remove(); }, 1600);\r\n}\r\n\r\n\/* ---------- navigazione e url ---------- *\/\r\nvar baseTitle = document.title;\r\nfunction setTab(tab){\r\n  root.querySelectorAll('.mtabs button').forEach(function(b){ b.setAttribute('aria-selected', b.dataset.tab === tab ? 'true' : 'false'); });\r\n  $('rfpChips').hidden = tab !== 'chips'; $('rfpGuide').hidden = tab !== 'guide';\r\n}\r\nfunction listHash(){\r\n  var h = [];\r\n  if (st.q) h.push('q=' + encodeURIComponent(st.q));\r\n  if (st.brand) h.push('b=' + encodeURIComponent(st.brand));\r\n  if (st.mach) h.push('m=' + encodeURIComponent(st.mach));\r\n  if (st.type) h.push('t=' + encodeURIComponent(st.type));\r\n  return h.length ? '#' + h.join('&') : '';\r\n}\r\nfunction setHash(h){\r\n  if (h !== location.hash) history.replaceState(null, '', h || location.pathname + location.search);\r\n}\r\nfunction goList(){\r\n  cur = null;\r\n  $('rfpDet').hidden = true; $('rfpBrowse').hidden = false;\r\n  document.title = baseTitle;\r\n  renderList();\r\n  setHash(listHash());\r\n  scrollTo(0, lastScroll);\r\n}\r\nfunction route(){\r\n  var h = decodeURIComponent(location.hash.slice(1));\r\n  if (h === 'famiglie' || h === 'families') { setTab('guide'); return; }\r\n  setTab('chips');\r\n  if (h && h.indexOf('=') < 0) {\r\n    var c = byId[h] || byKey[key(h)];\r\n    if (c) {\r\n      if (!cur) lastScroll = scrollY;\r\n      showChip(c);\r\n      var w = root.querySelector('.mtabs');\r\n      if (w.getBoundingClientRect().top < 0 || w.getBoundingClientRect().top > innerHeight) w.scrollIntoView({block: 'start'});\r\n      return;\r\n    }\r\n  }\r\n  var o = {};\r\n  location.hash.slice(1).split('&').forEach(function(kv){ var i = kv.indexOf('='); if (i > 0) o[kv.slice(0, i)] = decodeURIComponent(kv.slice(i + 1)); });\r\n  st.q = o.q || ''; st.brand = o.b || ''; st.mach = o.m || ''; st.type = o.t || '';\r\n  if (st.mach && !st.brand) st.brand = '';\r\n  $('rfpQ').value = st.q; $('rfpX').hidden = !st.q;\r\n  fillSelects();\r\n  cur = null; $('rfpDet').hidden = true; $('rfpBrowse').hidden = false; document.title = baseTitle;\r\n  renderList();\r\n}\r\nfunction wire(){\r\n  var tq;\r\n  $('rfpQ').addEventListener('input', function(){\r\n    clearTimeout(tq); var v = this.value;\r\n    tq = setTimeout(function(){ st.q = v; $('rfpX').hidden = !v; renderList(); setHash(listHash()); }, 120);\r\n  });\r\n  $('rfpQ').addEventListener('keydown', function(e){\r\n    if (e.key === 'Enter') {\r\n      clearTimeout(tq); st.q = this.value; renderList(); setHash(listHash());\r\n      var cards = $('rfpGrid').querySelectorAll('.card');\r\n      if (cards.length && (cards.length === 1 || key(cards[0].dataset.id) === key(st.q))) location.hash = encodeURIComponent(cards[0].dataset.id);\r\n    }\r\n    if (e.key === 'Escape') { this.value = ''; st.q = ''; $('rfpX').hidden = true; renderList(); setHash(listHash()); }\r\n  });\r\n  $('rfpX').onclick = function(){ $('rfpQ').value = ''; st.q = ''; this.hidden = true; renderList(); setHash(listHash()); $('rfpQ').focus(); };\r\n  $('rfpBrand').onchange = function(){ st.brand = this.value; fillSelects(); renderList(); setHash(listHash()); };\r\n  $('rfpMach').onchange = function(){ st.mach = this.value; if (st.mach) st.brand = machBrand[st.mach]; fillSelects(); renderList(); setHash(listHash()); };\r\n  $('rfpTypes').onclick = function(e){ var b = e.target.closest('[data-type]'); if (!b) return; st.type = b.dataset.type; renderList(); setHash(listHash()); };\r\n  $('rfpReset').onclick = function(){ st = {q: '', brand: '', mach: '', type: ''}; $('rfpQ').value = ''; $('rfpX').hidden = true; fillSelects(); renderList(); setHash(''); };\r\n  $('rfpGrid').addEventListener('click', function(e){\r\n    var a = e.target.closest('.card'); if (!a || e.ctrlKey || e.metaKey || e.shiftKey) return;\r\n    e.preventDefault(); lastScroll = scrollY; location.hash = encodeURIComponent(a.dataset.id);\r\n  });\r\n  root.querySelector('.mtabs').addEventListener('click', function(e){\r\n    var b = e.target.closest('button'); if (!b) return;\r\n    setTab(b.dataset.tab);\r\n    setHash(b.dataset.tab === 'guide' ? (EN ? '#families' : '#famiglie') : (cur ? '#' + encodeURIComponent(cur.id) : listHash()));\r\n  });\r\n  window.addEventListener('hashchange', route);\r\n  document.addEventListener('keydown', function(e){\r\n    var tag = (e.target.tagName || '').toLowerCase();\r\n    if (tag === 'input' || tag === 'textarea' || tag === 'select' || e.target.isContentEditable || e.ctrlKey || e.metaKey || e.altKey) return;\r\n    if (e.key === '\/') { e.preventDefault(); setTab('chips'); if (cur) goList(); $('rfpQ').focus(); $('rfpQ').select(); }\r\n    else if (e.key === 'Escape' && cur) goList();\r\n  });\r\n}\r\n\r\n\/* ---------- avvio ---------- *\/\r\nfunction init(d){\r\n  D = d; chips = d.chips;\r\n  Object.keys(d.brands).forEach(function(b){ d.brands[b].split(', ').forEach(function(m){ machBrand[m] = b; }); });\r\n  chips.forEach(function(c){\r\n    byId[c.id] = c;\r\n    [c.id].concat(c.al).forEach(function(a){ var k = key(a); if (!byKey[k]) byKey[k] = c; });\r\n    if (c.po && byId[c.po] && !c.p) c.p = byId[c.po].p;\r\n    var head = f([c.id, c.n, c.ni || '', c.ne || ''].concat(c.al).join(' '));\r\n    c._hayHead = head.length;\r\n    c._hay = head + ' ' + f([c.mk, c.m.join(' '), brandsOf(c).join(' '), tname(c.t), c.t, c.pk, c.it, c.en, (c.eq || []).map(function(e){ return e[0]; }).join(' ')].join(' '));\r\n  });\r\n  chips.forEach(function(c){ if (c.po && !c.p && byId[c.po]) c.p = byId[c.po].p; });\r\n  var nm = {}; chips.forEach(function(c){ c.m.forEach(function(m){ nm[m] = 1; }); });\r\n  $('rfpStats').textContent = tr('stats', {c: chips.length, v: chips.filter(function(c){ return c.p && c.vf[0] === 'ok'; }).length, m: Object.keys(nm).length});\r\n  wire();\r\n  route();\r\n}\r\nfetch(DATA).then(function(r){ if (!r.ok) throw r.status; return r.text(); })\r\n .then(function(t){ init(JSON.parse(t.slice(t.indexOf('{')))); })\r\n .catch(function(err){ console.error(err); $('rfpGrid').innerHTML = '<p class=\"none\">' + tr('loadErr') + '<\/p>'; });\r\n})();\r\n<\/script>\r\n\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>Il pinout dei chip di computer e console a 8-16 bit: 74xx, CD4000, 6502, Z80, SID, VIC-II, POKEY, DRAM ed EPROM, con funzioni dei pin, equivalenti e datasheet.<\/p>","protected":false},"author":1,"featured_media":11474,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-11475","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11475","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=11475"}],"version-history":[{"count":12,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11475\/revisions"}],"predecessor-version":[{"id":11502,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/pages\/11475\/revisions\/11502"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media\/11474"}],"wp:attachment":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media?parent=11475"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/categories?post=11475"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/tags?post=11475"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}