More than 32 sprites on a TMS9128!

tmsbug-1_abertura

Really? The TMS9900 : TMS9918A / TMS9928A / TMS9929A Video Display Processors – Data Manual (Nov 1982) tells:

The video display can have up to 32 sprites on the highest priority video planes.

But I’ve accidentally figured out that due a bug on sprite rendering you can have much more than 32 sprites on screen. And I’ve made tests on Sharp HB-8000 v1.2 (TMS9128) and Frael Bruc 100 (TMS9129) and got the same result in both¹.

(¹) By the way, not only MSX computers but ColecoVision, Sord M5, TI-99/4A etc might be affected too!

Continuar lendo

Anúncios

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

As sete faces da SCREEN1 – parte 3

sete_faces-3_abertura

A ideia original era que esta série de artigos tivesse apenas duas partes mas conforme escrevia, começava a pensar em coisas interessantes que poderiam acrescentar conteúdo mas, que ao mesmo tempo, me faziam correr o sério risco de perder o foco principal. Assim resolvi pegar todas as minhas ideias, palpites e algumas promessas e colocá-las aqui em uma espécie de terceira parte de conclusões chocantes e aterradoras! 🙂

Continuar lendo