{"id":7574,"date":"2023-07-13T14:04:22","date_gmt":"2023-07-13T12:04:22","guid":{"rendered":"https:\/\/retrofixer.it\/?p=7574"},"modified":"2025-04-09T12:45:01","modified_gmt":"2025-04-09T10:45:01","slug":"unirom-vic20-c64","status":"publish","type":"post","link":"https:\/\/retrofixer.it\/en\/unirom-vic20-c64\/","title":{"rendered":"UniROM Vic20 e C64"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-post\" data-elementor-id=\"7574\" class=\"elementor elementor-7574\" data-elementor-post-type=\"post\">\n\t\t\t\t<div class=\"elementor-element elementor-element-128d734 e-flex e-con-boxed e-con e-parent\" data-id=\"128d734\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-707e509 elementor-widget elementor-widget-text-editor\" data-id=\"707e509\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><strong><span style=\"font-size: 1.2em; color: #7ff;\"><em>Stanchi di dover comprare o cercare la ROM giusta da cambiare per il vostro Vic20 o C64?<\/em><\/span><\/strong><\/p><p>Ora c&#8217;\u00e8 la <b>UNIRETROROM<\/b>!, una ROM universale che pu\u00f2 essere utilizzata come ROM caratteri, basic o kernal per il Commodore 64 o Vic 20.<\/p><p>La configurazione \u00e8 semplicissima, basta spostare un jumper per passare da una modalit\u00e0 ad un&#8217;altra e una volta inserita al posto della ROM guasta il gioco \u00e8 fatto.<\/p><p>Non \u00e8 adatta a sostituire la ROM 23128 utilizzata sul C64C, questa infatti ingloba sia la funzionalit\u00e0 del Basic che quella del Kernal. Questa memoria ha un numero di pin maggiore e quindi non compatibile con questa scheda universale.<\/p><p>Per funzionare in modalit\u00e0 caratteri sul Vic20 occorre chiudere un jumper saldandoci una goccia di stagno.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-7e34fe7 e-flex e-con-boxed e-con e-parent\" data-id=\"7e34fe7\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-50e8786 elementor-widget elementor-widget-heading\" data-id=\"50e8786\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Come costruire la ROM<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7900b56 elementor-widget elementor-widget-text-editor\" data-id=\"7900b56\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>L&#8217;idea di questa memoria universale \u00e8 nata proprio per avere un solo componente che potesse sostituirne diversi senza dover andare a cercare quello specifico. Utile in caso di riparazioni ma anche se doveste sostituire una memoria guasta.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ec9dc80 e-flex e-con-boxed e-con e-child\" data-id=\"ec9dc80\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-70da7d0 elementor-widget elementor-widget-text-editor\" data-id=\"70da7d0\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questo \u00e8 lo schema della memoria, \u00e8 stato realizzato cercando di farla funzionare sulle 2364 e 2332 senza dover configurare diversi jumper. Questi sono il minimo che si possano utilizzare.<\/p><p>Purtroppo nel Vic20 la 2332 (ROM caratteri) utilizza entrambi i segnali CS1 e CS2 in maniera distinta e quindi \u00e8 stato inserito un piccolo pad da saldare (J2) in caso si utilizzasse il segnale CS2.<\/p><p>Questo succede solo se la si usa come ROM caratteri nel Vic20, nel C64 non occorre perch\u00e9 il segnale CS2 non \u00e8 usato e rimane sempre al positivo. Nelle altre configurazioni (2364) questo jumper deve essere aperto.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-90f39b4 elementor-widget elementor-widget-image\" data-id=\"90f39b4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch.jpg\" data-elementor-open-lightbox=\"yes\" data-elementor-lightbox-title=\"uniretro_sch\" data-e-action-hash=\"#elementor-action%3Aaction%3Dlightbox%26settings%3DeyJpZCI6NzU4MSwidXJsIjoiaHR0cHM6XC9cL3JldHJvZml4ZXIuaXRcL3dwLWNvbnRlbnRcL3VwbG9hZHNcLzIwMjNcLzA3XC91bmlyZXRyb19zY2guanBnIn0%3D\">\n\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"692\" height=\"684\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch.jpg\" class=\"attachment-large size-large wp-image-7581\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch.jpg 692w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-300x297.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-12x12.jpg 12w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-76x75.jpg 76w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-480x474.jpg 480w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-24x24.jpg 24w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-48x48.jpg 48w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_sch-96x96.jpg 96w\" sizes=\"(max-width:767px) 480px, 692px\" \/>\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-0ed8a91 e-flex e-con-boxed e-con e-child\" data-id=\"0ed8a91\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-c098a49 elementor-widget elementor-widget-image\" data-id=\"c098a49\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"907\" height=\"537\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1.jpg\" class=\"attachment-large size-large wp-image-7582\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1.jpg 907w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1-300x178.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1-768x455.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1-18x12.jpg 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1-127x75.jpg 127w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb1-480x284.jpg 480w\" sizes=\"(max-width:767px) 480px, (max-width:907px) 100vw, 907px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8505228 elementor-widget elementor-widget-image\" data-id=\"8505228\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"953\" height=\"608\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2.jpg\" class=\"attachment-large size-large wp-image-7583\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2.jpg 953w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2-300x191.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2-768x490.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2-18x12.jpg 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2-118x75.jpg 118w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/uniretro_pcb2-480x306.jpg 480w\" sizes=\"(max-width:767px) 480px, (max-width:953px) 100vw, 953px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-9d83116 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"9d83116\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-359dd5a e-con-full e-flex e-con e-child\" data-id=\"359dd5a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t<div class=\"elementor-element elementor-element-a931aa9 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"a931aa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per la realizzazione potere vedere la pagina GitHub cliccando sul pulsante.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8ae12fc elementor-button-success elementor-widget__width-initial elementor-widget elementor-widget-button\" data-id=\"8ae12fc\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"https:\/\/github.com\/zeus074\/uniretrorom\" target=\"_blank\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t<span class=\"elementor-button-icon\">\n\t\t\t\t<i aria-hidden=\"true\" class=\"fab fa-github\"><\/i>\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">Link progetto<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6d58d8f elementor-widget elementor-widget-text-editor\" data-id=\"6d58d8f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se volete vedere i video sulla realizzazione e programmazione seguiteci sul canale YouTube.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-ef7aeff e-flex e-con-boxed e-con e-child\" data-id=\"ef7aeff\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-6aba897 elementor-widget elementor-widget-video\" data-id=\"6aba897\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/youtu.be\\\/x2bJ3eeLD8s&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5fa44c9 elementor-widget elementor-widget-video\" data-id=\"5fa44c9\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/youtu.be\\\/TRccXuBNgEg&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-18fca8b e-flex e-con-boxed e-con e-parent\" data-id=\"18fca8b\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-189499f elementor-widget elementor-widget-heading\" data-id=\"189499f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Come programmare la ROM?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-f6b37b8 elementor-widget elementor-widget-text-editor\" data-id=\"f6b37b8\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Una volta realizzato il PCB\u00a0 resta solo da programmare la Eeprom con le rom corrette per il sistema che vogliamo utilizzare.<br \/>Es. Per il C64 ci sono le sue ROM diverse da quelle del Vic20 e non solo, si potrebbero utilizzare anche versioni diverse da quelle sulla memoria precedete, come una versione pi\u00f9 aggiornata del Kernal o una memoria caratteri in un&#8217;altra lingua.<\/p><p>Le varie versioni le potete trovare su questo sito:\u00a0<br \/>C64 &gt;\u00a0<a style=\"text-align: var(--text-align); letter-spacing: 0px;\" href=\"http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/firmware\/computers\/c64\/\" target=\"_blank\" rel=\"noopener\">http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/firmware\/computers\/c64\/<\/a><\/p><p>Vic20 &gt;\u00a0<a style=\"text-align: var(--text-align); letter-spacing: 0px;\" href=\"http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/firmware\/computers\/vic20\/index.html\" target=\"_blank\" rel=\"noopener\">http:\/\/www.zimmers.net\/anonftp\/pub\/cbm\/firmware\/computers\/vic20\/index.html<\/a><\/p><p>La sequenza corretta per realizzare la memoria da scrivere sulla Eeprom \u00e8 questa di seguito:<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-6f6f25a e-flex e-con-boxed e-con e-child\" data-id=\"6f6f25a\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-da144c6 elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"da144c6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>#1 Caratteri (4kb) start $0000<br \/>#2 Caratteri (4kb) start $1000<br \/>#3 Basic\u00a0 \u00a0(8kb) start $2000<br \/>#4 Kernal (8kb) start $4000<\/p><p>E&#8217; necessario scrivere la ROM caratteri due volte perch\u00e9 l&#8217;ingresso A12 della memoria potrebbe essere messo al positivo dalla scheda madre.<\/p><p>L&#8217;immagine finale, contenente tutte queste ROMs, pu\u00f2 essere realizzata concatenando i singoli file .BIN o con un Hex editor.<\/p><p>In alternativa ho realizzato un software apposito per semplificare il lavoro.. MAGICBIN! lo vedremo pi\u00f9 sotto.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e40f81 elementor-widget elementor-widget-image\" data-id=\"8e40f81\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"380\" height=\"383\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map.jpg\" class=\"attachment-large size-large wp-image-7590\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map.jpg 380w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-298x300.jpg 298w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-150x150.jpg 150w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-12x12.jpg 12w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-74x75.jpg 74w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-24x24.jpg 24w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-48x48.jpg 48w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/rom_map-96x96.jpg 96w\" sizes=\"(max-width:767px) 380px, 380px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c8ba6b3 elementor-widget elementor-widget-text-editor\" data-id=\"c8ba6b3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Per flashare la Eeprom io nel video ho utilizzato il programmatore Xgecu T48, ma va benissimo anche la sua versione pi\u00f9 economica, il TL866+ oppure un altro programmatore che scriva le 28HC256.<br \/>Se utilizzate il programmatore della Xgecu, l&#8217;Xgpro, potete creare il file unico direttamente dal programma per la scrittura della memoria.<br \/>Basca scegliere prima la memoria da scrivere, caricare la prima immagine .BIN e ripetere i successivi caricamenti specificando di non sovrascrivere lo spazio non utilizzato e di far iniziare la scrittura sulla ROM (non da file) all&#8217;indirizzo libero dopo i dati precedenti. Come so qual \u00e8 l&#8217;indirizzo? Guardate il grafico sopra e ci sono scritti gli indirizzi di partenza e finali di ogni ROM.<br \/><br \/><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-5e7ae27 elementor-widget elementor-widget-heading\" data-id=\"5e7ae27\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\">Cos'\u00e8 MagicBIN?<\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-6bb1430 elementor-widget elementor-widget-text-editor\" data-id=\"6bb1430\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>MagicBIN \u00e8 un software, gratuito, creato appositamente per semplificare il processo di creazione di queste multirom.<br \/>Spesso nelle cartucce gioco si possono inserire pi\u00f9 immagini di giochi e poi selezionarle tramite un dipswitch o via software.<br \/>Per non diventare matti a incastrare tutti i file uno dietro l&#8217;altro, ecco che questo software \u00e8 la soluzione al nostro problema.<br \/>Creato specificamente per aggiungere le ROM in successione, con questo software si potr\u00e0 vedere, quanta memoria rimane libera nella eprom, riordinare i file per cambiare facilmente la successione, verificare il contenuto di ogni ROM e anche vedere graficamente una ROM caratteri. Con gli ultimi aggiornamenti ora \u00e8 possibile anche modificare a mano ogni byte o disegnare il carattere nel casi si tratti di una memoria caratteri, per ora supportati solo 8&#215;8.<\/p><p>Che ne pensate?<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-83929ee e-flex e-con-boxed e-con e-child\" data-id=\"83929ee\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-1611a1f elementor-widget__width-initial elementor-widget elementor-widget-text-editor\" data-id=\"1611a1f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Se volete provarlo, andate alla pagina dedicata e scaricatelo da li.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8230590 elementor-button-info elementor-widget elementor-widget-button\" data-id=\"8230590\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"button.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"elementor-button-wrapper\">\n\t\t\t\t\t<a class=\"elementor-button elementor-button-link elementor-size-sm\" href=\"\/magicbin\">\n\t\t\t\t\t\t<span class=\"elementor-button-content-wrapper\">\n\t\t\t\t\t\t\t\t\t<span class=\"elementor-button-text\">MagicBIN<\/span>\n\t\t\t\t\t<\/span>\n\t\t\t\t\t<\/a>\n\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b9546f6 elementor-widget elementor-widget-image\" data-id=\"b9546f6\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"795\" height=\"510\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1.png\" class=\"attachment-large size-large wp-image-7524\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1.png 795w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1-300x192.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1-768x493.png 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1-18x12.png 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1-117x75.png 117w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/mbin1-480x308.png 480w\" sizes=\"(max-width:767px) 480px, (max-width:795px) 100vw, 795px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ee5dcaf elementor-headline--style-highlight elementor-widget elementor-widget-animated-headline\" data-id=\"ee5dcaf\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;highlighted_text&quot;:&quot;Arduino&quot;,&quot;headline_style&quot;:&quot;highlight&quot;,&quot;marker&quot;:&quot;circle&quot;,&quot;loop&quot;:&quot;yes&quot;,&quot;highlight_animation_duration&quot;:1200,&quot;highlight_iteration_delay&quot;:8000}\" data-widget_type=\"animated-headline.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<h3 class=\"elementor-headline\">\n\t\t\t\t\t<span class=\"elementor-headline-plain-text elementor-headline-text-wrapper\">Leggo la ROM con<\/span>\n\t\t\t\t<span class=\"elementor-headline-dynamic-wrapper elementor-headline-text-wrapper\">\n\t\t\t\t\t<span class=\"elementor-headline-dynamic-text elementor-headline-text-active\">Arduino<\/span>\n\t\t\t\t<\/span>\n\t\t\t\t<\/h3>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-27aa45d elementor-widget elementor-widget-text-editor\" data-id=\"27aa45d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Da poco \u00e8 uscito Arduino R4 e nelle sue versioni troviamo quella Wifi o quella minima.<br \/>Beh, quale miglior modo per sfruttare il display matrix integrato nella versione Wifi, se non quella di fargli leggere i caratteri della ROM del C64 per esempio? Vediamo come collegarlo e il programma che serve.<\/p><p>Se non avete visto il video, vi consiglio di guardarlo su YouTube cos\u00ec da avere gi\u00e0 un&#8217;idea di come funzionano queste memorie, sempre che non lo sappiate gi\u00e0!.<\/p><p>Una brevissima descrizione di come funzionano e cosa fanno:<br \/>Le Eprom, dal nome Erasable Programmable Read Only Memory (Memoria di sola lettura, cancellabile e programmabile), sono dotate di una finestra dove si pu\u00f2 vedere il chip all&#8217;interno che permette di essere cancellato se sottoposta a luce ultravioletta.<br \/>Differenti invece le prom che una volta scritte non possono pi\u00f9 essere cancellate, oppure le Eeprom che possono essere cancellate tramite un segnale elettrico applicato su un apposito pin, niente pi\u00f9 finestra e luce ultravioletta per 15\/20min.<\/p><p>Queste memorie sono dotate principalmente (parliamo di quelle parallele) di una serie di pin di ingresso e altri pin di uscita (8 o 16, dipende dai bit in parallelo che utilizza), pi\u00f9 altri pin per la gestione della lettura o scrittura del dato o del chip.<br \/>Es. durante la fase di lettura baster\u00e0 comporre l&#8217;indirizzo in binario tramite gli ingressi A0-A12 (es: su una 2732, pi\u00f9 la memoria \u00e8 grande e pi\u00f9 ingressi occorrono per gestirla), abbassare i segnali di chip enable e output enable e dopo un certo tempo (dipende dalla velocit\u00e0 del chip) avremo in uscita il valore della locazione richiesta.<\/p><p>Vediamo ora come leggere una piccola ROM con Arduino.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe85463 elementor-widget elementor-widget-image\" data-id=\"fe85463\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"508\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-1024x508.jpg\" class=\"attachment-large size-large wp-image-7597\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-1024x508.jpg 1024w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-300x149.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-768x381.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-1536x762.jpg 1536w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-18x9.jpg 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-150x75.jpg 150w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom-480x238.jpg 480w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/arduino_rom.jpg 1561w\" sizes=\"(max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ec2e462 elementor-widget elementor-widget-image\" data-id=\"ec2e462\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"603\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-1024x603.jpg\" class=\"attachment-large size-large wp-image-7602\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-1024x603.jpg 1024w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-300x177.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-768x452.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-1536x905.jpg 1536w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-2048x1206.jpg 2048w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-18x12.jpg 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-127x75.jpg 127w, https:\/\/retrofixer.it\/wp-content\/uploads\/2023\/07\/ardu_rom-480x283.jpg 480w\" sizes=\"(max-width:767px) 480px, (max-width:1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-1920182 elementor-widget elementor-widget-text-editor\" data-id=\"1920182\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p>Questo \u00e8 un piccolo esempio per leggere una 2732 o 2764 ma indirizzata non completamente perch\u00e9 con Arduino UNO o anche la versione Nano (quella nello schema) non bastano i pin.<br \/>Per risolvere questo problema si pu\u00f2 utilizzare Arduino Mega oppure un integrato che converta i segnali in seriale\/parallelo.<\/p><p>Per fare questa prova possiamo tranquillamente lasciare gli ingressi non usati della Eprom al GND. Nello schema troviamo anche un pulsante che servir\u00e0 per far avanzare l&#8217;indirizzo di lettura della memoria cos\u00ec da visualizzare tutti i caratteri.<\/p><p>Questo \u00e8 il codice utilizzato per leggere la ROM.<br \/>E&#8217; stato aggiunto l&#8217;indirizzo A8 collegato sul pin D13 di Arduino.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0a8c656 elementor-widget elementor-widget-code-highlight\" data-id=\"0a8c656\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"code-highlight.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"prismjs-default copy-to-clipboard \">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-c line-numbers\">\n\t\t\t\t<code readonly=\"true\" class=\"language-c\">\n\t\t\t\t\t<xmp>\/*\n* ARDUINO TEST CHARACTER ROM\n* BY RETROFIXER \n\n * Pin Layout\n * \n *  Arduino Pin | Circuit\n * -------------+-----------\n *           A0 | EPROM IO0\n *           A1 | EPROM IO1\n *           A2 | EPROM IO2\n *           A3 | EPROM IO3\n *           A4 | EPROM IO4\n *           A5 | EPROM IO5\n *           D0 | EPROM IO6\n *           D1 | EPROM IO7\n * -------------+-----------\n *           D2 | EPROM A0\n *           D3 | EPROM A1\n *           D4 | EPROM A2\n *           D5 | EPROM A3\n *           D6 | EPROM A4\n *           D7 | EPROM A5\n *           D8 | EPROM A6\n *           D9 | EPROM A7\n * -------------+-----------\n *          D11 | CE\n *          D12 | OE\n * -------------+-----------\n *          D10 | BUTTON\n * -------------+-----------\n * EPROM A8~A12 TO GND, P (pin27) TO VCC\n*\/\n#include \"Arduino_LED_Matrix.h\"\n\nconst unsigned int DELAY_US = 10;\nconst unsigned int EEPROM_OE = 11;\nconst unsigned int EEPROM_CE = 12;\nconst unsigned int BUTTON = 10;\n\nint currentState;\nint lastState = HIGH;\nint addr=0;\n\n\/\/ Data pins (LSB to MSB)\nconst unsigned int dataPins[] = {A0, A1, A2, A3, A4, A5, 0, 1};\nconst unsigned int addressPins[] = {2, 3, 4, 5, 6, 7, 8, 9, 13};\n\n\/\/Display\nconst uint32_t logo[] = {\n\t\t0xf01fe38,\n\t\t0xc3003003,\n\t\t0x8c1fe0f0,\n\t};\n\nbyte frame[8][12] = {\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 },\n  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 }\n};\n\nArduinoLEDMatrix matrix;\n\nvoid setup() {\n  \/\/ init display\n  matrix.begin();\n  \/\/ Setup Control Pins\n  pinMode(EEPROM_CE, OUTPUT);\n  pinMode(EEPROM_OE, OUTPUT);\n  pinMode(BUTTON, INPUT_PULLUP);\n  pinMode(13, OUTPUT);\n\n  \/\/ Setup Address Pins \n  for (byte i=0;i<9;i++) {\n    pinMode(addressPins[i],OUTPUT);\n    digitalWrite(addressPins[i], LOW);\n  }\n\n  \/\/ Disable Chip\n  digitalWrite(EEPROM_CE, HIGH);\n  digitalWrite(EEPROM_OE, HIGH);\n  matrix.loadFrame(logo);\n  delay(3000);\n  matrix.renderBitmap(frame, 8, 12);\n}\n\nvoid loop() {\n  \/\/read button\n   currentState = digitalRead(BUTTON);\n  if (lastState == HIGH && currentState == LOW) { \/\/ button is pressed\n    lastState = LOW;\n  }\n\n  if(lastState == LOW && currentState == HIGH) { \/\/ button is released\n    lastState = HIGH;\n    \/\/start\n    for (int i=addr;i<addr+8;i++) {\n    setAddress(i);\n    delayMicroseconds(60);\n    readData(i-addr);\n    }\n    addr+=8;\n    if (addr>=512) addr=0;\n    matrix.renderBitmap(frame, 8, 12);\n  }\n delay(10);\n}\n\nvoid setAddress(unsigned int addr) {\n      for (byte i=0;i<9;i++) {\n        if((addr&bit(i))>0) {\n          digitalWrite(addressPins[i],HIGH);\n        } else {\n          digitalWrite(addressPins[i],LOW);\n        }      \n      }\n  delayMicroseconds(DELAY_US);\n  digitalWrite(EEPROM_CE,LOW);      \/\/ Activate Chip Enabled\n  delayMicroseconds(DELAY_US);\n  digitalWrite(EEPROM_OE,LOW);      \/\/ Activate Output Enabled\n}\n\nvoid readData(byte row) {\n  int myData=0;\n      for (byte i=0;i<8;i++) {\n        frame[row][7-i]=0;\n        if (digitalRead(dataPins[i]) == HIGH) {\n            myData+=pow(2,i);\n            frame[row][7-i]=1;\n        }\n      }\n  delayMicroseconds(10);\n  digitalWrite(EEPROM_CE,HIGH);      \/\/ Deactivate Chip Enabled\n  digitalWrite(EEPROM_OE,HIGH);      \/\/ Deactivate Output Enabled\n}<\/xmp>\n\t\t\t\t<\/code>\n\t\t\t<\/pre>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\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>Stanchi di dover comprare o cercare la ROM giusta da cambiare per il vostro Vic20 o C64? Ora c&#8217;\u00e8 la UNIRETROROM!, una ROM universale che pu\u00f2<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":1,"featured_media":7583,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[5],"tags":[442,6,58,243,441,440,367,443,439,438,30],"class_list":["post-7574","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-commodore","tag-arduino","tag-c64","tag-commodore","tag-games","tag-memoria","tag-multirom","tag-pcb","tag-r4","tag-uniretrorom","tag-unirom","tag-vic20"],"_links":{"self":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/7574","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/types\/post"}],"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=7574"}],"version-history":[{"count":3,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/7574\/revisions"}],"predecessor-version":[{"id":9303,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/7574\/revisions\/9303"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media\/7583"}],"wp:attachment":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media?parent=7574"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/categories?post=7574"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/tags?post=7574"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}