Depois do Typhoon 128 que resultou como subproduto a rotina de leitura de setores de disco, imaginei que adaptar o Purple Saturn Day para o Beta 48 iria ser uma tarefa fácil. Porém a coisa se complicou um pouco e tive que quebrar a cabeça por algum tempo.
A rotina utilizada é praticamente a mesma do Typhoon, com pequenas adequações ao Purple Saturn Day. Julguei que funcionaria sem maiores problemas, mas quando tentei rodar, duas fases funcionaram e as outras duas nem iniciavam. Fui alterando a rotina, mexi em vários pontos e cheguei a acompanhar linha por linha do disassembly no debugger, mas nada conseguia. Depois de muito brigar com o programa, finalmente achei o culpado: a rotina de leitura de disco retornava com as interrupções ativas.
Fiquei um pouco confuso a princípio, pois pelo que eu saiba, a rotina de carregamento da fita da ROM do TK90X retornava com as interrupções ativadas. Por que daria problemas então com disquetes? Investigando mais detalhadamente, encontrei a causa. A rotina de carregamento da fita (LD-BYTES) começa no endereço 1366 (#0556), entretanto no jogo ele é invocado a partir de 1378 (#0562). Como consequência, ao retornar, as interrupções não estariam ativadas. Bastou então eu colocar a instrução assembly DI no final da rotina de disco que tudo ficou resolvido.
O jogo adaptado para Beta 48 pode ser encontrado no Google Drive e no4 Shared. Deve funcionar em qualquer clone de Beta nacional, mas no momento só foi testado num IDS-91.
Meu interesse por este jogo decorre do fato de poder rodar num TK90X e possuir rotina de som para o Explorer (há uma lista neste link). Purple Saturn Day é um conjunto de 4 modalidades esportivas futuristas que podem ser jogados em qualquer ordem, sempre em disputa um contra um. O campeão do torneio será agraciado com um beijo da rainha de Saturno, a qual pode ser contemplada na figura acima. Confesso que não entendi muito como jogar cada modalidade até ler este artigo da revista ACE. Por outro lado achei estranho não constar nenhuma dica no The Tipshop. Concluindo, eu acho que vale a pena os usuários do Explorer conferir este jogo, nem que seja para ver alguns belos gráficos e ouvir uma boa música para o PSG AY-3-8912.
Fiquei um pouco confuso a princípio, pois pelo que eu saiba, a rotina de carregamento da fita da ROM do TK90X retornava com as interrupções ativadas. Por que daria problemas então com disquetes? Investigando mais detalhadamente, encontrei a causa. A rotina de carregamento da fita (LD-BYTES) começa no endereço 1366 (#0556), entretanto no jogo ele é invocado a partir de 1378 (#0562). Como consequência, ao retornar, as interrupções não estariam ativadas. Bastou então eu colocar a instrução assembly DI no final da rotina de disco que tudo ficou resolvido.
O jogo adaptado para Beta 48 pode ser encontrado no Google Drive e no
Meu interesse por este jogo decorre do fato de poder rodar num TK90X e possuir rotina de som para o Explorer (há uma lista neste link). Purple Saturn Day é um conjunto de 4 modalidades esportivas futuristas que podem ser jogados em qualquer ordem, sempre em disputa um contra um. O campeão do torneio será agraciado com um beijo da rainha de Saturno, a qual pode ser contemplada na figura acima. Confesso que não entendi muito como jogar cada modalidade até ler este artigo da revista ACE. Por outro lado achei estranho não constar nenhuma dica no The Tipshop. Concluindo, eu acho que vale a pena os usuários do Explorer conferir este jogo, nem que seja para ver alguns belos gráficos e ouvir uma boa música para o PSG AY-3-8912.
Nenhum comentário:
Postar um comentário
Seu comentário é bem vindo, mas peço que use este espaço adequadamente.