Posts Tagged ‘genesis’

Descobri novos emuladores de sistemas da SEGA para o Linux em relação a um post anterior.
Emulador de Master System:
osmose: Enfim um emulador com som no meu Debian 64 bits. Só conhecia o Meka, que não consegui rodar com som, já que está bem desatualizado sua versão linux.
Emuladores de Mega Drive:
gens-gs : Modificação do Gens oficial, [...]


Seguindo as instruções de um post meu mesmo “antigo”, fui capaz de gerar um assembler e linker para o processador Z80, que o Megadrive usa como coprocessador de som e o Master System como principal (e única) CPU.
A única diferença é que, infelizmente, não há suporte para arquivos-objeto ELF ainda (binutils versão 2.18), só COFF. [...]


A preguiça emperou e não vou fazer um post detalhado desta vez: mais tarde falo como resolver uns problemas com cada um.
Falarei de emuladores de Master system, Megadrive e Dreamcast para Linux.
Para Mastersystem, existe o Meka, do grande time SMS Power. Enfrentei problemas com o som, no entanto. Funcionou com 64bits.
Conheço três emuladores de Megadrive [...]


Em um post anterior, cometi um equívoco de ignorar a ordem de passagem dos parâmetros de ligação a uma biblioteca estática.
Ao menos no caso do m68k e no x86_64 (amd64), a biblioteca deve vir depois de quem a precisa. Caso contrário, os símbolos contidos serão descartados, pensando-se ser inúteis.
Portanto, em vez de:
$ gcc -L. -lengine [...]


Aqui está o relato de como fiz para gerar o GCC para o Motorola 68000 (o processador do Mega drive). Escolhi esse compilador porque gosto dele e pronto. Já sei utilizá-lo para a geração de programas para Linux ( e para Windows também), então me é mais familiar. Usei a mesma fonte de informações que [...]


Novamente, uma outra necessidade quando se modulariza as coisas e se quer reaproveitá-las (ou simplesmente empacotá-las ) é utilizar/criar bibliotecas. Como o meu foco ainda é geração de jogos de Megadrive, não há sentido fazer uma biblioteca dinâmica, apenas estáticas. Quem tiver interesse em dinâmicas, consulte outras fontes.
Descobri, em sites por aí, que [...]


Quando se é uma pessoa organizada (ou quando o projeto cresce/tende a crescer muito), o projeto deve ser desenvolvido de forma modularizada. Isso tanto por causa de conferência do código, quanto de reaproveitamento do mesmo.
Modularizar quase sempre em dividir o código em arquivos fontes diferentes. Ou seja, implica em montagem/compilação por partes. Por exemplo, dividir [...]


Querendo usar ferramentas GNU para criar softwares (jogos?) em liguagem assembly e/ou C para Mega Drive, fui em busca do binutils para ter um assembler para Motorola 68000 (o processador do console).
Aqui está como eu fiz para gerar meu gas – o GNU assembler – (meus passos foram baseados na fonte Marc’s Realm):
Primeiro, obtive [...]