Joguinho que eu to fazendo pra estudar desenvolvimento pro Sega Master System, nome do projeto provisório.
Por enquanto não cheguei a planejar o que desejo que o jogo seja, to utilizando esse reposítorio para estudar como SMS funciona e, quando eu já estiver confortável com ele e o z80, começar a fazer um jogo de fato. Quando chegar lá irei atualizar essa seção
Como eu to usando esse repositório pra fins educativos, caso tenham contribuições eu gostaria que estejas sejam com formas de tornar o código mais eficiente. Não vou aceitar PR com features novas se não for direcionado a esse fim.
Para rodar a ROM gerada foi utilizado o emulador Gearsystem O projeto foi desenvolvido utilizando a binutils z80-elf da GNU, que infelizmente não está disponível na maioria dos package managers que eu procurei, mas acredito que boa parte do fonte seja compativel com outros assemblers, talvez não seja possível fazer proveito do Makefile apenas.
Caso queira utilizar o mesmo ambiente que eu utilizei, segue um passo a passo para compilar o ambiente por si. Primeiramente clone o seguinte respositório
git clone git://sourceware.org/git/binutils-gdb.git
Quando o terminar de clonar o repositório, crie uma pasta build-z80 e entre dentro dela
mkdir build-z80
cd build-z80
Com a pasta criada, configure o ambiente para compilação.
../binutils-gdb/configure --prefix=PASTA_INSTALADORA --target=z80-elf
Troque PASTA_INSTALADORA
pela pasta em que você deseja instalar a toolchain, agora é só buildar e se tudo der certo, instalar
make all
make install
Com o ambiente configurado basta rodar o Make file
make
Alguns arquivos serão gerados (na maioria object files), os mais importantes são o arquivo .sms (a ROM do jogo) e o arquivo .sym dessa ROM, que terá os símbolos para debug (O nome do arquivo precisa bater com o da ROM para que o Meka consiga carregar os símbolos