{"id":5444,"date":"2023-06-18T14:27:50","date_gmt":"2023-06-18T12:27:50","guid":{"rendered":"https:\/\/retrofixer.it\/?p=5444"},"modified":"2025-09-24T16:41:51","modified_gmt":"2025-09-24T14:41:51","slug":"il-game-boy-e-le-sue-protezioni","status":"publish","type":"post","link":"https:\/\/retrofixer.it\/en\/il-game-boy-e-le-sue-protezioni\/","title":{"rendered":"THE GAME BOY AND HIS PROTECTIONS"},"content":{"rendered":"<div data-elementor-type=\"wp-post\" data-elementor-id=\"5444\" class=\"elementor elementor-5444\" data-elementor-post-type=\"post\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-1161f06 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"1161f06\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-b9c6439\" data-id=\"b9c6439\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5eaf56 elementor-widget elementor-widget-text-editor\" data-id=\"a5eaf56\" 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>c<span style=\"letter-spacing: 0px;\">hi non sa cosa sia un Game Boy alzi la mano ! Nessuno ? Bene, ne ero sicuro ! Cosi come sono sicuro che anche il Game Boy Color sia nella memoria di tutti !!<\/span><span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p>Non tutti per\u00f2 sanno che il suo nome in codice era DMG-01 (1989-1990), mentre quello del Game Boy Color (1998) era CGB-01.<span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p>In ogni caso le prime &#8220;piccole&#8221; e portatili di casa Nintendo sono di sicuro tra le pi\u00f9 famose perle mai uscite nel mondo delle consoles ed anche loro non sono da meno rispetto alle &#8220;sorellone&#8221; riguardo i sistemi di protezione !<span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p>Il Game Boy \u00e8 infatti dotato di una\u00a0BootROM\u00a0che ritroviamo anche nel Game Boy Color (GBC) e nel\u00a0<a href=\"https:\/\/it.wikipedia.org\/wiki\/Super_Game_Boy\" target=\"_blank\" rel=\"noopener\">Super Game Boy<\/a>\u00a0(cartuccia-adattatore per giocare ai giochi GB su Super Nintendo).<\/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-2dfd199 elementor-widget elementor-widget-image\" data-id=\"2dfd199\" 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 fetchpriority=\"high\" decoding=\"async\" width=\"1002\" height=\"401\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG.png\" class=\"attachment-large size-large wp-image-5447\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG.png 1002w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-300x120.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-768x307.png 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-18x7.png 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-260x104.png 260w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-50x20.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/eDU3qQG-150x60.png 150w\" sizes=\"(max-width:767px) 480px, (max-width:1002px) 100vw, 1002px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-816b95d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"816b95d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-673b42a\" data-id=\"673b42a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f7051a3 elementor-widget elementor-widget-spacer\" data-id=\"f7051a3\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-d00e206 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"d00e206\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-935b520\" data-id=\"935b520\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a5064bf elementor-widget elementor-widget-heading\" data-id=\"a5064bf\" 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<h3 class=\"elementor-heading-title elementor-size-default\">LA PROTEZIONE<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-84055c2 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"84055c2\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-f1e4512\" data-id=\"f1e4512\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-abd1135 elementor-widget elementor-widget-text-editor\" data-id=\"abd1135\" 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><span style=\"letter-spacing: 0px;\">La BootROM di cui \u00e8 dotato l&#8217;hardware di GB, GBC e SGB \u00e8 di 256bytes ed ha 3 particolari caratteristiche &#8220;protettive&#8221;:<\/span><span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p><strong>1 \u2013<\/strong> La stessa BootROM viene esclusa dalla lettura con l&#8217;ultima istruzione del suo codice (questo &#8220;lock out&#8221; forse non \u00e8 stato voluto ma si \u00e8 probabilmente reso necessario per motivi legati alle (scarse) risorse di sistema; riassumendo la BootROM viene mappata in memoria dall&#8217;offest 0x0000 all&#8217;offset 0x00FF (256bytes) e gli ultimi 2 bytes rappresentano una istruzione che scrive in un registro speciale bloccando tale indirizzo di memoria dalla lettura in modo tale che tutte le istruzioni successive (che sono, a partire dall&#8217;offset 0x0100, quelle contenute nella cartuccia) non possano leggerla.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-01329f4 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"01329f4\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-25365a7\" data-id=\"25365a7\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a3b5c69 elementor-widget elementor-widget-text-editor\" data-id=\"a3b5c69\" 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><span style=\"letter-spacing: 0px;\"><strong>2 &#8211;<\/strong> al suo interno contiene del codice che legge i 48 bytes del logo NINTENDO presenti nella cartuccia (offsets che vanno da 0x104 a 0x133 di ogni cartuccia)&#8230;<\/span><\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-10a4cdc\" data-id=\"10a4cdc\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0e88136 elementor-widget elementor-widget-image\" data-id=\"0e88136\" 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=\"645\" height=\"88\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS.png\" class=\"attachment-large size-large wp-image-5448\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS.png 645w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS-300x41.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS-18x2.png 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS-260x35.png 260w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS-50x7.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/JaKfoFS-150x20.png 150w\" sizes=\"(max-width:767px) 480px, 645px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f8e289e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f8e289e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-ec69970\" data-id=\"ec69970\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-829ca3c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"829ca3c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-006d661\" data-id=\"006d661\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-d24bc83 elementor-widget elementor-widget-image\" data-id=\"d24bc83\" 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=\"500\" height=\"377\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/ZoHJzeA.gif\" class=\"attachment-large size-large wp-image-5452\" alt=\"\" \/>\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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-9d1ef20\" data-id=\"9d1ef20\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-1cfe2c0 elementor-widget elementor-widget-text-editor\" data-id=\"1cfe2c0\" 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>\u00a0<\/p><p>\u00a0<\/p><p>&#8230; e li mostra a schermo facendo scorrere dall&#8217;alto in basso il notissimo logo.<\/p><p>Dopodich\u00e8 li confronta con quelli memorizzati nella BootROM: se sono diversi la console si blocca.<\/p><p>\u00a0<\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-c9d933a elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"c9d933a\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-052ccf2\" data-id=\"052ccf2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-ba5ed97 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"ba5ed97\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-12f9a35\" data-id=\"12f9a35\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-dc82ddc elementor-widget elementor-widget-text-editor\" data-id=\"dc82ddc\" 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><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">\u00a0<\/span><\/p><p><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">\u00a0<\/span><\/p><p><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">Il fatto di leggere il logo direttamente dalla cartuccia\u00a0<\/span><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">spiega il perch\u00e8, se accendete un Game Boy senza inserire alcun gioco, appare il<\/span><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">\u00a0rettangolo nero a destra (i bytes del logo sono tutti ad FF).<br \/><br \/><\/span><\/p><p><span style=\"font-size: 8.0pt;\">\u00a0(per una descrizione completa di come funzionano i bytes del logo vi rimando a\u00a0<a href=\"https:\/\/catskull.net\/gameboy-boot-screen-logo.html\" target=\"_blank\" rel=\"noopener\">questo meraviglioso articolo<\/a>)<\/span><\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-95ba298\" data-id=\"95ba298\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-adbc710 elementor-widget elementor-widget-image\" data-id=\"adbc710\" 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=\"719\" height=\"647\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP.png\" class=\"attachment-large size-large wp-image-5460\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP.png 719w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP-300x270.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP-13x12.png 13w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP-162x146.png 162w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP-50x45.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00003719x647x8BPP-83x75.png 83w\" sizes=\"(max-width:767px) 480px, 719px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f18c6b1 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f18c6b1\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-c24069d\" data-id=\"c24069d\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-fcf92a0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"fcf92a0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-72c5536\" data-id=\"72c5536\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ce43cd9 elementor-widget elementor-widget-text-editor\" data-id=\"ce43cd9\" 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><span style=\"letter-spacing: 0px;\"><strong>\u00a0<\/strong><\/span><\/p><p><span style=\"letter-spacing: 0px;\"><strong>3 &#8211;<\/strong> un secondo controllo effettuato dopo quello del logo \u00e8 quello di sommare i valori che vanno dall&#8217;offset <\/span><span style=\"letter-spacing: 0px; color: fuchsia;\">0x0134<\/span><span style=\"letter-spacing: 0px;\"> to <\/span><span style=\"letter-spacing: 0px; color: fuchsia;\">0x014C<\/span><span style=\"letter-spacing: 0px;\"> ed aggiungere poi il valore presente in <\/span><span style=\"letter-spacing: 0px; color: lime;\">0x014D<\/span><span style=\"letter-spacing: 0px;\">: se la somma \u00e8 zero il programma continua altrimenti la console si blocca !<\/span><\/p><p>\u00a0<\/p><p>Ecco uno screenshot di una ROM GB a caso dove potete verificare gli offsets menzionati:<\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-e9d2551\" data-id=\"e9d2551\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-a4abcbe elementor-widget elementor-widget-image\" data-id=\"a4abcbe\" 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=\"717\" height=\"586\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A.png\" class=\"attachment-large size-large wp-image-5450\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A.png 717w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A-300x245.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A-15x12.png 15w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A-179x146.png 179w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A-50x41.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/YsyxV7A-92x75.png 92w\" sizes=\"(max-width:767px) 480px, 717px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-fe70187 elementor-widget elementor-widget-text-editor\" data-id=\"fe70187\" 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><span style=\"letter-spacing: 0px;\">Questa protezione si rese necessaria per evitare che altri sviluppatori producessero software non licenziato da Nintendo; come nota a margine c&#8217;\u00e8 da dire che anche SEGA successivamente tento&#8217;lo stesso approccio con il Genesis ma\u00a0<\/span><a style=\"letter-spacing: 0px;\" href=\"https:\/\/en.wikipedia.org\/wiki\/Sega_v._Accolade\" target=\"_blank\" rel=\"noopener\">la sua causa contro la Accolade non and\u00f2 come previsto<\/a><span style=\"letter-spacing: 0px;\">.<\/span><\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-891c23c elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"891c23c\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-a296b2b\" data-id=\"a296b2b\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-ed48396 elementor-widget elementor-widget-spacer\" data-id=\"ed48396\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-aefafe5 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"aefafe5\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-93ec78a\" data-id=\"93ec78a\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-0419907 elementor-widget elementor-widget-heading\" data-id=\"0419907\" 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<h3 class=\"elementor-heading-title elementor-size-default\">COME BYPASSARE LA PROTEZIONE<\/h3>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-b08848e elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"b08848e\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-fb5c9eb\" data-id=\"fb5c9eb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-b0c7f96 elementor-widget elementor-widget-text-editor\" data-id=\"b0c7f96\" 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><span style=\"letter-spacing: 0px;\">Il contenuto di questo mini-sistema operativo rimase un mistero fino al 2003 quando il coder <\/span><a style=\"letter-spacing: 0px;\" href=\"http:\/\/dot-matrix-game.blogspot.se\/2014\/01\/boot-roms.html\" target=\"_blank\" rel=\"noopener\">Neviksti<\/a><span style=\"letter-spacing: 0px;\">\u00a0effettuo&#8217;un suo decapping (cio\u00e8 una \u201cscoperchiatura\u201d fisica del chip) e lesse &#8220;a occhio nudo&#8221; il suo contenuto bit per bit (256&#215;8 = 2048 bits totali) dopo averli fotografati tramite un microscopio; eccoli qui sotto in tutto il loro micro-splendore:<\/span><\/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-5db5900 elementor-widget elementor-widget-image\" data-id=\"5db5900\" 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=\"146\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-1024x146.jpg\" class=\"attachment-large size-large wp-image-5476\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-1024x146.jpg 1024w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-300x43.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-768x110.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-1536x219.jpg 1536w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-18x3.jpg 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-260x37.jpg 260w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-50x7.jpg 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP-150x21.jpg 150w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/000011806x258x24BPP.jpg 1806w\" 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-666620f elementor-widget elementor-widget-text-editor\" data-id=\"666620f\" 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><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">Ogni &#8220;pallino&#8221; dell&#8217;immagine soprastante rappresenta un bit a 1, l&#8217;assenza del pallino rappresenta un bit a 0 ! I pallini non sono altro che le cariche elettriche memorizzate nelle celle di memoria !!!<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-f2757d0 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f2757d0\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-2955fbb\" data-id=\"2955fbb\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-14570a1 elementor-widget elementor-widget-image\" data-id=\"14570a1\" 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=\"623\" height=\"326\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ.png\" class=\"attachment-large size-large wp-image-5446\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ.png 623w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ-300x157.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ-18x9.png 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ-260x136.png 260w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ-50x26.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/0hSFxkJ-143x75.png 143w\" sizes=\"(max-width:767px) 480px, 623px\" \/>\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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-c2f0293\" data-id=\"c2f0293\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9bb11ae elementor-widget elementor-widget-text-editor\" data-id=\"9bb11ae\" 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>\u00a0<\/p><p>Qui a sinistra un esempio ancora pi\u00f9 zoomato ottenuto dal decap di un altro chip visto al microscopio elettronico (non ha nulla a che fare con le consoles):<\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-48f9022 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"48f9022\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ccac07c\" data-id=\"ccac07c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-3665629 elementor-widget elementor-widget-text-editor\" data-id=\"3665629\" 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><span style=\"letter-spacing: 0px;\">Ecco qui a destra un esempio di come vengono lette manualmente le cariche elettriche&#8230; d<\/span><span style=\"letter-spacing: 0px;\">avvero incredibile !<\/span><\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-07835b1\" data-id=\"07835b1\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-548933e elementor-widget elementor-widget-image\" data-id=\"548933e\" 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=\"420\" height=\"221\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z.png\" class=\"attachment-large size-large wp-image-5449\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z.png 420w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z-300x158.png 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z-18x9.png 18w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z-260x137.png 260w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z-50x26.png 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/Ud4N39z-143x75.png 143w\" sizes=\"(max-width:767px) 420px, 420px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-0577ac0 elementor-widget elementor-widget-text-editor\" data-id=\"0577ac0\" 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 style=\"font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; font-size: 18px; font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif;\"><span style=\"letter-spacing: 0px;\">Una volta convertiti in bytes e successivamente in ASM, il codice (commentato) della BootROM appare essere il seguente:\u00a0<\/span><span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/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-5c7ddde elementor-widget elementor-widget-code-highlight\" data-id=\"5c7ddde\" 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-okaidia copy-to-clipboard\">\n\t\t\t<pre data-line=\"\" class=\"highlight-height language-c\">\n\t\t\t\t<code readonly=\"true\" class=\"language-c\">\n\t\t\t\t\t<xmp>LD (HL-),A ; $0007\r\nBIT 7,H ; $0008\r\nJR NZ, Addr_0007 ; $000a \r\n\r\nLD HL,$ff26 ; $000c Setup Audio\r\nLD C,$11 ; $000f\r\nLD A,$80 ; $0011\r\nLD (HL-),A ; $0013\r\nLD ($FF00+C),A ; $0014\r\nINC C ; $0015\r\nLD A,$f3 ; $0016\r\nLD ($FF00+C),A ; $0018\r\nLD (HL-),A ; $0019\r\nLD A,$77 ; $001a\r\nD (HL),A ; $001c \r\n\r\nLD A,$fc ; $001d Setup BG palette\r\nLD ($FF00+$47),A ; $001f \r\n\r\nLD DE,$0104 ; $0021 Convert and load logo data from cart into Video RAM\r\nLD HL,$8010 ; $0024\r\nAddr_0027:\r\nLD A,(DE) ; $0027\r\nCALL $0095 ; $0028\r\nCALL $0096 ; $002b\r\nINC DE ; $002e\r\nLD A,E ; $002f\r\nCP $34 ; $0030\r\nJR NZ, Addr_0027 ; $0032 \r\n\r\nLD DE,$00d8 ; $0034 Load 8 additional bytes into Video RAM\r\nLD B,$08 ; $0037\r\nAddr_0039:\r\nLD A,(DE) ; $0039\r\nINC DE ; $003a\r\nLD (HL+),A ; $003b\r\nINC HL ; $003c\r\nDEC B ; $003d\r\nJR NZ, Addr_0039 ; $003e \r\n\r\nLD A,$19 ; $0040 Setup background tilemap\r\nLD ($9910),A ; $0042\r\nLD HL,$992f ; $0045\r\nAddr_0048:\r\nLD C,$0c ; $0048\r\nAddr_004A:\r\nDEC A ; $004a\r\nJR Z, Addr_0055 ; $004b\r\nLD (HL-),A ; $004d\r\nDEC C ; $004e\r\nJR NZ, Addr_004A ; $004f\r\nLD L,$0f ; $0051\r\nJR Addr_0048 ; $0053 \r\n\r\n; === Scroll logo on screen, and play logo sound===\r\n\r\nAddr_0055:\r\nLD H,A ; $0055 Initialize scroll count, H=0\r\nLD A,$64 ; $0056\r\nLD D,A ; $0058 set loop count, D=$64\r\nLD ($FF00+$42),A ; $0059 Set vertical scroll register\r\nLD A,$91 ; $005b\r\nLD ($FF00+$40),A ; $005d Turn on LCD, showing Background\r\nINC B ; $005f Set B=1\r\nAddr_0060:\r\nLD E,$02 ; $0060\r\nAddr_0062:\r\nLD C,$0c ; $0062\r\nAddr_0064:\r\nLD A,($FF00+$44) ; $0064 wait for screen frame\r\nCP $90 ; $0066\r\nJR NZ, Addr_0064 ; $0068\r\nDEC C ; $006a\r\nJR NZ, Addr_0064 ; $006b\r\nDEC E ; $006d\r\nJR NZ, Addr_0062 ; $006e \r\n\r\nLD C,$13 ; $0070\r\nINC H ; $0072 increment scroll count\r\nLD A,H ; $0073\r\nLD E,$83 ; $0074\r\nCP $62 ; $0076 $62 counts in, play sound #1\r\nJR Z, Addr_0080 ; $0078\r\nLD E,$c1 ; $007a\r\nCP $64 ; $007c\r\nJR NZ, Addr_0086 ; $007e $64 counts in, play sound #2\r\nAddr_0080:\r\nLD A,E ; $0080 play sound\r\nLD ($FF00+C),A ; $0081\r\nINC C ; $0082\r\nLD A,$87 ; $0083\r\nLD ($FF00+C),A ; $0085\r\nAddr_0086:\r\nLD A,($FF00+$42) ; $0086\r\nSUB B ; $0088\r\nLD ($FF00+$42),A ; $0089 scroll logo up if B=1\r\nDEC D ; $008b\r\nJR NZ, Addr_0060 ; $008c\r\n\r\nDEC B ; $008e set B=0 first time\r\nJR NZ, Addr_00E0 ; $008f ... next time, cause jump to \"Nintendo Logo check\" \r\n\r\nLD D,$20 ; $0091 use scrolling loop to pause\r\nJR Addr_0060 ; $0093 \r\n\r\n; ==== Graphic routine ==== \r\n\r\nLD C,A ; $0095 \"Double up\" all the bits of the graphics data\r\nLD B,$04 ; $0096 and store in Video RAM\r\nAddr_0098:\r\nPUSH BC ; $0098\r\nRL C ; $0099\r\nRLA ; $009b\r\nPOP BC ; $009c\r\nRL C ; $009d\r\nRLA ; $009f\r\nDEC B ; $00a0\r\nJR NZ, Addr_0098 ; $00a1\r\nLD (HL+),A ; $00a3\r\nINC HL ; $00a4\r\nLD (HL+),A ; $00a5\r\nINC HL ; $00a6\r\nRET ; $00a7 \r\n\r\nAddr_00A8:\r\n;Nintendo Logo\r\n.DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D\r\n.DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99\r\n.DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E \r\n\r\nAddr_00D8:\r\n;More video data\r\n.DB $3C,$42,$B9,$A5,$B9,$A5,$42,$3C \r\n\r\n; ===== Nintendo logo comparison routine ===== \r\n\r\nAddr_00E0:\r\nLD HL,$0104 ; $00e0 ; point HL to Nintendo logo in cart\r\nLD DE,$00a8 ; $00e3 ; point DE to Nintendo logo in DMG rom \r\n\r\nAddr_00E6:\r\nLD A,(DE) ; $00e6\r\nINC DE ; $00e7\r\nCP (HL) ; $00e8 ;compare logo data in cart to DMG rom\r\nJR NZ,$fe ; $00e9 ;if not a match, lock up here\r\nINC HL ; $00eb\r\nLD A,L ; $00ec\r\nCP $34 ; $00ed ;do this for $30 bytes\r\nJR NZ, Addr_00E6 ; $00ef \r\n\r\nLD B,$19 ; $00f1\r\nLD A,B ; $00f3\r\nAddr_00F4:\r\nADD (HL) ; $00f4\r\nINC HL ; $00f5\r\nDEC B ; $00f6\r\nJR NZ, Addr_00F4 ; $00f7\r\nADD (HL) ; $00f9\r\nJR NZ,$fe ; $00fa ; if $19 + bytes from $0134-$014D don't add to $00\r\n; ... lock up \r\n\r\nLD A,$01 ; $00fc\r\nLD ($FF00+$50),A ; $00fe ;turn off DMG rom<\/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<div class=\"elementor-element elementor-element-6d51e97 elementor-widget elementor-widget-text-editor\" data-id=\"6d51e97\" 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<span style=\"letter-spacing: 0px;\">Una volta convertiti in bytes e successivamente in ASM, il codice (commentato) della BootROM appare essere il seguente:\u00a0<\/span><span style=\"letter-spacing: 0px;\">\u00a0<\/span>\n<table style=\"border-width: initial; border-style: none;\" border=\"1\" cellspacing=\"0\" cellpadding=\"0\">\n<tbody>\n<tr>\n<td style=\"align:left; width: 488.9pt; border-width: 1pt; border-right-style: solid; border-bottom-style: solid; border-color: windowtext; padding: 0cm 5.4pt;\" valign=\"top\" width=\"815\">\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD (HL-),A ; $0007\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">BIT 7,H ; $0008\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">JR NZ, Addr_0007 ; $000a<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD HL,$ff26 ; $000c Setup Audio\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD C,$11 ; $000f\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD A,$80 ; $0011\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD (HL-),A ; $0013\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD ($FF00+C),A ; $0014\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">INC C ; $0015\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD A,$f3 ; $0016\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD ($FF00+C),A ; $0018\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD (HL-),A ; $0019\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">LD A,$77 ; $001a\n<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">D (HL),A ; $001c<\/span><span style=\"font-size: 8pt; background-color: initial; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD A,$fc ; $001d Setup BG palette\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+$47),A ; $001f<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD DE,$0104 ; $0021 Convert and load logo data from cart into Video RAM\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD HL,$8010 ; $0024\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0027:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,(DE) ; $0027\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CALL $0095 ; $0028\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CALL $0096 ; $002b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC DE ; $002e\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,E ; $002f\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP $34 ; $0030\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0027 ; $0032<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD DE,$00d8 ; $0034 Load 8 additional bytes into Video RAM\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD B,$08 ; $0037\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0039:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,(DE) ; $0039\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC DE ; $003a\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD (HL+),A ; $003b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC HL ; $003c\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC B ; $003d\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0039 ; $003e<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD A,$19 ; $0040 Setup background tilemap\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($9910),A ; $0042\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD HL,$992f ; $0045\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0048:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD C,$0c ; $0048\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_004A:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC A ; $004a\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR Z, Addr_0055 ; $004b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD (HL-),A ; $004d\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC C ; $004e\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_004A ; $004f\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD L,$0f ; $0051\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR Addr_0048 ; $0053<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">; === Scroll logo on screen, and play logo sound===<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">Addr_0055:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD H,A ; $0055 Initialize scroll count, H=0\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,$64 ; $0056\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD D,A ; $0058 set loop count, D=$64\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+$42),A ; $0059 Set vertical scroll register\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,$91 ; $005b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+$40),A ; $005d Turn on LCD, showing Background\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC B ; $005f Set B=1\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0060:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD E,$02 ; $0060\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0062:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD C,$0c ; $0062\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0064:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,($FF00+$44) ; $0064 wait for screen frame\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP $90 ; $0066\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0064 ; $0068\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC C ; $006a\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0064 ; $006b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC E ; $006d\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0062 ; $006e<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8.0pt;\">LD C,$13 ; $0070\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC H ; $0072 increment scroll count\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,H ; $0073\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD E,$83 ; $0074\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP $62 ; $0076 $62 counts in, play sound #1\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR Z, Addr_0080 ; $0078\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD E,$c1 ; $007a\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP $64 ; $007c\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0086 ; $007e $64 counts in, play sound #2\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0080:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,E ; $0080 play sound\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+C),A ; $0081\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC C ; $0082\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,$87 ; $0083\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+C),A ; $0085\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0086:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,($FF00+$42) ; $0086\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">SUB B ; $0088\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+$42),A ; $0089 scroll logo up if B=1\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC D ; $008b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0060 ; $008c<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC B ; $008e set B=0 first time\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_00E0 ; $008f &#8230; next time, cause jump to &#8220;Nintendo Logo check&#8221;<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD D,$20 ; $0091 use scrolling loop to pause\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR Addr_0060 ; $0093<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">; ==== Graphic routine ====<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD C,A ; $0095 &#8220;Double up&#8221; all the bits of the graphics data\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD B,$04 ; $0096 and store in Video RAM\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_0098:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">PUSH BC ; $0098\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">RL C ; $0099\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">RLA ; $009b\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">POP BC ; $009c\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">RL C ; $009d\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">RLA ; $009f\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC B ; $00a0\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_0098 ; $00a1\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD (HL+),A ; $00a3\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC HL ; $00a4\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD (HL+),A ; $00a5\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC HL ; $00a6\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">RET ; $00a7<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8.0pt;\">Addr_00A8:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">;Nintendo Logo\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">.DB $CE,$ED,$66,$66,$CC,$0D,$00,$0B,$03,$73,$00,$83,$00,$0C,$00,$0D\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">.DB $00,$08,$11,$1F,$88,$89,$00,$0E,$DC,$CC,$6E,$E6,$DD,$DD,$D9,$99\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">.DB $BB,$BB,$67,$63,$6E,$0E,$EC,$CC,$DD,$DC,$99,$9F,$BB,$B9,$33,$3E<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">Addr_00D8:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">;More video data\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">.DB $3C,$42,$B9,$A5,$B9,$A5,$42,$3C<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8.0pt;\">; ===== Nintendo logo comparison routine =====<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8.0pt;\">Addr_00E0:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD HL,$0104 ; $00e0 ; point HL to Nintendo logo in cart\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD DE,$00a8 ; $00e3 ; point DE to Nintendo logo in DMG rom<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span style=\"font-size: 8.0pt;\">Addr_00E6:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,(DE) ; $00e6\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC DE ; $00e7\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP (HL) ; $00e8 ;compare logo data in cart to DMG rom\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ,$fe ; $00e9 ;if not a match, lock up here\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC HL ; $00eb\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,L ; $00ec\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">CP $34 ; $00ed ;do this for $30 bytes\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_00E6 ; $00ef<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD B,$19 ; $00f1\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD A,B ; $00f3\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">Addr_00F4:\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">ADD (HL) ; $00f4\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">INC HL ; $00f5\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">DEC B ; $00f6\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ, Addr_00F4 ; $00f7\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">ADD (HL) ; $00f9\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">JR NZ,$fe ; $00fa ; if $19 + bytes from $0134-$014D don&#8217;t add to $00\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">; &#8230; lock up<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">\u00a0<\/span><\/p>\n<p class=\"MsoNormal\"><span lang=\"EN-GB\" style=\"font-size: 8.0pt; mso-ansi-language: EN-GB;\">LD A,$01 ; $00fc\n<\/span><span style=\"font-size: 8pt; letter-spacing: 0px;\">LD ($FF00+$50),A ; $00fe ;turn off DMG rom<\/span><\/p>\n<span lang=\"EN-GB\">\u00a0<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-f5006ad elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"f5006ad\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-4715b65\" data-id=\"4715b65\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-577244d elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"577244d\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-3b59fe2\" data-id=\"3b59fe2\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-f024d4c elementor-widget elementor-widget-text-editor\" data-id=\"f024d4c\" 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><span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p><span style=\"letter-spacing: 0px;\">Nel 2009\u00a0<\/span><a style=\"letter-spacing: 0px;\" href=\"https:\/\/www.its.caltech.edu\/~costis\/sgb_hack\/\" target=\"_blank\" rel=\"noopener\">un altro reverser<\/a><span style=\"letter-spacing: 0px;\">\u00a0(Costis Sideris) riusc\u00ec a dumpare la BootROMdel Super Game Boy utilizzando, tramite un FPGA, un glitch hardware che disabilitava l&#8217;ultima istruzione di di lock out della memoria dove era salvata la copia della BootROM grazie all&#8217;invio di impulsi overclockati riuscendo cos\u00ec a dumpare il codice dall&#8217;offset 0x0000 all&#8217;offset 0x00FF con dello specifico codice inserito dall&#8217;offset 0x0100 in poi. Ecco una foto del &#8220;semplice&#8221; sistema utilizzato:<\/span><\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ecc494f\" data-id=\"ecc494f\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-9a76105 elementor-widget elementor-widget-image\" data-id=\"9a76105\" 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=\"895\" height=\"658\" src=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP.jpg\" class=\"attachment-large size-large wp-image-5489\" alt=\"\" srcset=\"https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP.jpg 895w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-300x221.jpg 300w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-768x565.jpg 768w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-16x12.jpg 16w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-199x146.jpg 199w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-50x37.jpg 50w, https:\/\/retrofixer.it\/wp-content\/uploads\/2022\/12\/00002895x658x24BPP-102x75.jpg 102w\" sizes=\"(max-width:767px) 480px, (max-width:895px) 100vw, 895px\" \/>\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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<div class=\"elementor-element elementor-element-30431d8 elementor-widget elementor-widget-text-editor\" data-id=\"30431d8\" 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><span style=\"letter-spacing: 0px;\">Esaminando il codice di questa BootROM si \u00e8 scoperto che, se il check sul logo oppure se il secondo checksum della sommatoria che deve essere uguale a 0 \u00e8 diverso da 0, la cartuccia-adattatore non disabilita la cartuccia di gioco ma lo fa il Super Nintendo vero e proprio. Inoltre <a href=\"http:\/\/noizeinabox.blogspot.com\/2012\/06\/game-boy-super-game-boy-cpu-transplant.html\" target=\"_blank\" rel=\"noopener\">dissaldando la CPU di un Super Game Boy<\/a> e saldandola al posto di quella di un DMG-01 si bypassa addirittura la scritta Nintendo facendo risparmiare circa 5 secondi di boot perch\u00e8 \u00e8 il SNES a gestire i controlli e non pi\u00f9 la CPU del SGB &#8220;sproteggendo&#8221; de facto il DMG !<\/span><\/p>\n<p>Sempre Costis Sideris e sempre nel 2009 riusc\u00ec a dumpare anche la BootROM del Game Boy Color utilizzando una combinazione di glitch questa volta sia di clock che di alimentazione attraverso un FPGA. In questo dump si \u00e8 accorto che il check del logo avveniva solamente per la prima met\u00e0 dei bytes e non di tutti e 48. Assieme ad essa riusc\u00ec a dumpare il contenuto di una seconda ROM di 1792 bytes presente in questa console. Dr.&nbsp; Decapitator (alias&nbsp;<a href=\"https:\/\/en.wikipedia.org\/wiki\/Christopher_Tarnovsky\" target=\"_blank\" rel=\"noopener\">Christopher Tarnovsky<\/a>) tent\u00f2 un parziale decapping identificando addirittura 3 ROMs (256, 1792 e 512 bytes) ma di quella da 512 non \u00e8 stato ottenuto alcun dump (\u00e8 possibile che contenga il&nbsp; microcodice della CPU oppure codice legato al LCD).<\/p>\n<p>Si tratta dunque di segreti violati dopo pi\u00f9 di un decennio ! Inoltre nel 2012 \u00e8 scaduto anche&nbsp;<a href=\"https:\/\/www.google.com\/patents\/US5134391\" target=\"_blank\" rel=\"noopener\">il brevetto<\/a>&nbsp;che descrive le funzioni della BootROM a confermare quanto scoperto dai reverse engineers.<\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<section class=\"elementor-section elementor-inner-section elementor-element elementor-element-62dc082 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"62dc082\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-ba4049c\" data-id=\"ba4049c\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-53b2cc2 elementor-widget elementor-widget-text-editor\" data-id=\"53b2cc2\" 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 style=\"display: none !important;\"><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">&nbsp;<\/span><\/p>\n<p><span style=\"font-family: Nunito, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Oxygen-Sans, Ubuntu, Cantarell, 'Helvetica Neue', sans-serif; font-size: 18px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: 400; letter-spacing: 0px;\">Una volta scoperto il funzionamento della BootROM alcuni&nbsp;sviluppatori si sono ingegnati per far si che il Game&nbsp; Boy leggesse un logo&nbsp;custom dalla cartuccia al solito offset (prima fase effettuata dalla bootrom che permette la&nbsp;visualizzazione del logo) ma poi verificasse un secondo logo (quello ufficiale durante la seconda fase di rilettura dello stesso e checking)&nbsp;memorizzato ad un altro offset della cartuccia. I&nbsp; risultati sono simili al seguente:<\/span><\/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<\/div>\n\t\t\t\t<div class=\"elementor-column elementor-col-50 elementor-inner-column elementor-element elementor-element-b76d3ae\" data-id=\"b76d3ae\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-83a171a elementor-widget elementor-widget-video\" data-id=\"83a171a\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=rtNZGbpxl8k&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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-30edd55 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"30edd55\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-969b549\" data-id=\"969b549\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-5dc7e60 elementor-widget elementor-widget-text-editor\" data-id=\"5dc7e60\" 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><span style=\"letter-spacing: 0px;\">Potete trovare una bella descrizione delle varie tipologie di loghi custom prodotti da alcuni sviluppatori\u00a0<\/span><a style=\"letter-spacing: 0px;\" href=\"http:\/\/fuji.drillspirits.net\/?post=87\" target=\"_blank\" rel=\"noopener\">HERE<\/a><span style=\"letter-spacing: 0px;\">\u00a0ed ulteriori informazioni sulle BootROM (compresa quella trovata in una cartuccia prototipo di Pokemon Stadium per Nintendo 64 mancante nella release ufficiale della stessa)\u00a0<\/span><a style=\"letter-spacing: 0px;\" href=\"http:\/\/gbdev.gg8.se\/wiki\/articles\/Gameboy_Bootstrap_ROM\" target=\"_blank\" rel=\"noopener\">here<\/a><span style=\"letter-spacing: 0px;\">.<\/span><span style=\"letter-spacing: 0px;\">\u00a0<\/span><\/p><p>Altre informazioni sulla BootROM del GBC le potete leggere\u00a0<a href=\"https:\/\/tcrf.net\/Game_Boy_Color_Bootstrap_ROM\" target=\"_blank\" rel=\"noopener\">here<\/a>.<\/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<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t<div class=\"elementor-element elementor-element-3dc9e4f e-flex e-con-boxed e-con e-parent\" data-id=\"3dc9e4f\" 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-8bd86bd elementor-widget elementor-widget-video\" data-id=\"8bd86bd\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/youtu.be\\\/aPlqH04bnpA&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<\/div>","protected":false},"excerpt":{"rendered":"<p>Chi non sa cosa sia un Game Boy alzi la mano ! Nessuno ? Bene, ne ero sicuro ! Cosi come sono sicuro che anche il<span class=\"excerpt-hellip\"> [\u2026]<\/span><\/p>\n","protected":false},"author":2,"featured_media":7455,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[15,16],"tags":[353,18,355,354],"class_list":["post-5444","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-console","category-nintendo","tag-gameboy","tag-nintendo","tag-protection","tag-protezioni"],"_links":{"self":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/5444","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\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/comments?post=5444"}],"version-history":[{"count":1,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/5444\/revisions"}],"predecessor-version":[{"id":10377,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/posts\/5444\/revisions\/10377"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media\/7455"}],"wp:attachment":[{"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/media?parent=5444"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/categories?post=5444"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retrofixer.it\/en\/wp-json\/wp\/v2\/tags?post=5444"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}