GCC para Mega-Drive (Genesis)

Bom, acho que não há necessidade de que eu fique somente reescrevendo o que já existe por aí.

Sendo assim, colocarei aqui alguns links interessantes para que você possa ler e começar a se familiarizar com o bichinho, pois sem leitura também ninguém chega a lugar algum.

A princípio o processador do Mega Drive é o Motorola 68000, então por isso precisamos de um compilador que compile binários para m68k.

Este link aqui direciona a um shell script escrito por mim que, pode acreditar, vai adiantar uns dias da sua vida tentando compilar o gcc.

Ele fará o download do pacote binutils e gcc-core (somente o core é necessário), compilará os dois para o cross-compiler e, feito isso, fará mais dois downloads:

Primeiro: a biblioteca GenDev escrita por Stéphane Dallongeville - sim, senhor! pela mesma pessoa que escreveu o Gens (melhor emulador na minha opinião) - contendo genesis.h e outros cabeçalhos e fontes em C e assembly do m68k e Zilog Z80, a fim de gerar uma biblioteca ESTÁTICA para facilitar a vida na hora de ler e escrever um Makefile da vida.

Segundo: um pacote com quatro programas que, após suas respectivas compilações, o resultado será uma rom para cada um. Isso serve para testes e ver quais são os argumentos necessários para uma compilação correta.

Note também que na pasta lib do pacote da biblioteca GenDev há um arquivo chamado md.ld. Esse arquivo é de extrema importância para a compilação pois é nele que se encontram as informações a respeito da partição da memória do Mega.


/*----------------------------------------------------------------------------------------------*/


Então vamos ao que interessa.

Baixe o script instalador.
$ wget -c www.linux.ime.usp.br/bedulli/mega-drive/install.sh

Antes de sair feito louco executando esse script, entre nessa página http://darkdust.net/writings/megadrive/crosscompiler e dê uma lida nela toda, pois foi nela que me baseei para escrevê-lo.

Vá lendo o script e o site ao mesmo tempo depois de lê-lo para entender como foi feito o shell-script; sua compreensão será muito melhor dessa forma.

Após isso tudo isso,

$ chmod +x install.sh
$ ./install.sh < caminho_COMPLETO! >

"Depending on the speed of your machine you can now go make yourself a coffee or something, it'll take a few minutes." LOL

Não é pra dar pau nenhum. Fiz aqui e em outro pc algumas vezes e rodou lisinho.

Baixe este pacote de programas testes.
$ wget -c www.linux.ime.usp.br/bedulli/mega-drive/compiler_tester.tar.bz2

Mude a linha de TODOS os Makefile:

de:

LIB_PATH=/home/user/testando/lib

para:

LIB_PATH=< caminho_COMPLETO >/lib

e....

$ make
$ make
$ make $ make

tchãrãns.... temos 4 rom.bin prontas para serem executadas no emulador

^^


/*----------------------------------------------------------------------------------------------*/


Agora é só começar a ler mais e intender como funciona o Mega para poder escrever coisas para ele.

Links interessantes:

http://emu-docs.org/?page=Genesis

http://darkdust.net/writings/megadrive

http://gendev.spritesmind.net/forum/ | Stéphane participa aqui e outras pessoas de respeito

http://www.zophar.net/documents/genesis.html (dentre eles, LEIA o Genesis ROM Format)

Depois de um certo esforço, olha só o que podemos fazer:

http://info.sonicretro.org/Sonic_the_Hedgehog_(16-bit)

Última coisa:

Recomendo que compilem o Gens/GS version r7 (com esd, opengl e tudo que puder)

(espelho para o Gens)

Abraço. Qualquer coisa, envie um e-mail que eu respondo com o maior prazer.


/*----------------------------------------------------------------------------------------------*/


e-mail para contato Powered by Vim