Nohzdyve para MSX

nohzdyve-1_abertura

Esta é a versão para MSX do jogo de ZX Spectrum Nohzdyve, escrito por Matt Wescott para ser liberado como easter egg do episódio Bandersnatch da série Black Mirror, e que foi feito do zero para justamente responder minha própria pergunta: “Eu poderia escrever jogos (para MSX) usando algo como a arquitetura MVC?”

Bem, tecnicamente este jogo é a resposta… 🙂

Continuar lendo

A rotina de scroll do Parsec no MSX

parsecmsx-1_abertura

O jogo Parsec é um Shoot’em Up¹ desenvolvido por Jim Dramis and Paul Urbanus para o computador TI 99/4A da Texas Instruments e lançado em cartucho no ano de 1982. Nele você controla uma espaçonave que precisa se defender durante 16 fases de ondas sucessivas de ataque, ao mesmo tempo que precisa mantê-la devidamente abastecida (há áreas próprias para isto) e, claro, se entender com a inércia que torna sua movimentação pela tela um pouco complicada.

Opcionalmente, o jogo suporta o módulo de síntese de voz, Speech SynthetizerPHP1500, para a reprodução de mensagens como “Press fire to begin.“, “Nice shooting.“, “Warning! Time to refuel.” etc… do “computador de bordo” da nave.

Foi o primeiro jogo do TI 99/4A a utilizar o modo de vídeo GRAPHICS 2 — a SCREEN 2 dos MSX — e implementa uma rotina de scroll ponto a ponto que faz o cenário deslizar indefinidamente no decorrer da partida. Foi justamente por conta desta rotina de scroll que resolvi olhar com atenção para ele e tentar implementá-la no MSX.

E tudo isto foi há pouco mais de 4 anos…

(¹) Particularmente gosto mais do termo Mata Marcianos, usado pelos espanhóis. 🙂

Continuar lendo

O cartão de 80 colunas da DDX – parte 2

ddx80-2_abertura

Dando sequência às minhas experiências com o cartão de 80 colunas DDX80 com uma correção pois na primeira parte afirmei que a memória de vídeo estava entre os endereços 0x6000 e 0x67ff e isto está errado¹ pois ela encontra-se entre os endereços 0x7000 e 0x77ff — os endereços de acesso aos registradores estão corretos, o 0x6000 para índice e 0x6001 para o valor.

Aliás, ao confirmar estes valores, acabei constatando uma “curiosa” diferença que torna DDX80 e VMX-80 incompatíveis entre si, pois o adaptador da Microsol tem a memória entre os endereços 0x6000 e 0x67ff e o acesso aos registradores do MC6845 é feito pelos endereços 0x7000 e 0x7001.

Ou seja… “Posso copiar seu trabalho? Pode mas não faz igual”… 😀

(¹) Aproveitei para corrigir também lá.

Continuar lendo

O cartão de 80 colunas da DDX – parte 1

ddx80-1_abertura

Ganhei de um amigo uma interface DDX80, o “cartão” de 80 colunas lançado pela Digital Design Eletrônica para computadores MSX em 1988 mas ao pesquisar um pouco sobre ela na Internet me dei conta de que não havia muita informação disponível tanto sobre ela como também sobre a VMX-80, esta lançada pela Microsol em 1987 e que serviu de “inspiração” para a interface da DDX.

Então, além de escrever um pouco a respeito do que aprendi sobre a DDX80, resolvi também comprar uma VMX-80 para também poder compará-las! 🙂

Continuar lendo

Porting ‘aclock’ for MSX-DOS

aclock-1_abertura

Aclock is a program that turns your mainframe, workstation, microcomputer or another kind of old and expensive equipment in an ASCII wall clock. Its binaries were executed in near of 250 computer systems and now is time to add MSX to this group.

This version has based on CP/M Plus release for ZX Spectrum +3 and has compiled using SDCC with a little help of Avelino Herrera’s MSX-DOS backend. It works on any MSX2, MSX2+ or MSX turbo R running MSX-DOS operating system. And, of course that it doesn’t work on MSX1 models due the lack of real time clock circuit.

By the way, this is a short version in (bad) English from my original post in Portuguese.

Continuar lendo

Portando o ‘aclock’ para MSX-DOS

aclock-1_abertura

O aclock é um programa cuja função é a de transformar um outrora caríssimo mainframe, estação de trabalho ou microcomputador em um relógio de parede! Ele já foi compilado e executado em cerca de 250 plataformas diferentes de computadores e agora é o momento de acrescentar o MSX neste grupo. 🙂

Esta versão foi baseada no código original de CP/M Plus para o ZX Spectrum +3 e é compilada no Small Device C Compiler — com uma ajuda do back-end para MSX-DOS desenvolvido pelo Avelino Herrera — e pode ser executada em computadores MSX2, MSX2+, MSX turbo R rodando qualquer versão do MSX-DOS.

Óbvio que ele não funcionará em computadores MSX1 ou modelos convertidos para MSX2 ou MSX2+ que não possuam o circuito de relógio.
Continuar lendo