Benvenuti nel MAME-Blog di Robiza

Archivio di "giugno 2008"

Bootleg di bbmanw, dynablst, pspikes, aerofght

Scritto il 8 giugno 2008 da Robiza

Un bootleg è una rom di una scheda originale modificata per funzionare su un hardware modificato.

E’ molto interessante vedere quali sono le modifiche che vengono fatte al programma per poter girare su un hardware meno costoso.

Tipico è usare un chip per gli sprite diverso: di solito i chip meno costosi hanno meno funzionalità e quindi il bootlegger deve ingegnarsi per trovare modi per implementare il funzionamento del gioco.

Per esempio spesso un chip costoso supporta i multi sprite: la rom va modificata per spezzatare il multisprite in singoli sprite (serve un lavoro sui codici degli sprite, sulle coordinate e cosi’ via) in modo che il gioco possa funzionare con il chip meno costoso. Cosi’ succede per bomblord (bootleg di bbmanw) e dynablsb (bootleg di dynablst).

Di solito nell’implementazione è necessario fare ulteriori modifiche come per esempio spostare la sprite ram in altro posto in memoria o spostare alcuni bit quali il flip x o il flip y, il colore etc.

Il chip nuovo potrebbe avere un modo diverso per segnalare l’ultimo sprite da disegnare (un marker).

Anche il chip video viene di solito sostituito: il chip originale ha molti registri per molte funzionalità, il chip meno costoso ha meno registri video; anche qui bisogna ingegnarsi per trovare strade praticabili. Spesso gli offset sono diversi (i dati necessari per centrare lo schermo e gli sprite). Spesso le priorità fra i layer sono gestiti in maniera diversa.

Nella prossima release del mame i 2 bootleg saranno abbastanza funzionanti: rimangono alcuni problemi di priorità e di selezione della risoluzione ma comunque saranno giocabili.

bomblord

Il bootleg 1991 spikes oltre a questo tipo di modifiche necessitava della traduzione della grafica in modo da mostrare un nuovo titolo e le istruzioni in italiano. In questo caso i bootleggers hanno utilizzato una mappatura fra i codici delle tile tramite una rom aggiuntiva: il codice reale della tile viene calcolata con un passaggio intermedio di traduzione. Anche il modo di rappresentare le tile dal punto di vista grafico è diverso: l’ordine dei bitplane ma anche la distanza fra un bit e un altro nella rom grafica. Anche questo è tipico (vedi i bootleg di aerofght).