Telas do speccy no MSX – parte 4

tbzscmcb-4_abertura

Continuando com visualizador de telas de ZX-Spectrum no MSX e, como já faz algum muito tempo, é bom aproveitar para relembrar que a primeira parte tratou das diferenças entre os modos de vídeo dos dois computadores (mesma resolução mas uma organização completamente diferente), a segunda sobre como ler um arquivo do disco diretamente em assembly usando as rotinas da BDOS e a terceira sobre como recuperar e interpretar os argumentos da linha de comando do MSX-DOS.

Agora é a vez de tratar da parte mais importante de todo o programa, a rotina que faz a conversão da imagem do vídeo do speecy para a VRAM do MSX.

Continuar lendo

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