Flappy Bird para MSX! (atualizado)

ATUALIZAÇÃO — (2) As versões mais recentes do jogo podem ser baixadas diretamente do itch.io, assim como outros jogos que escrevi.

ATUALIZAÇÃO — (1) Está disponível uma versão que corrige o problema de atualização da tela em computadores MSX1 e principalmente nos modelos rodando a 50Hz, eu a chamei de Rev.B apenas para diferenciar da primeira. A primeira versão funciona normalmente em MSX2, MSX2+ e turbo R.

fb

Em 25/02/2014 publicamos aqui a primeira referência às inevitáveis versões (ou “demakes” para os puristas) do  jogo Flappy Bird para equipamentos clássicos. Já mesmo naquela publicação o autor, nosso editor espanhol/paraguaio, deixou no ar a pergunta:

Na próxima Retro Rio, todos os micros clássicos rodando Flappy Bird, já pensou?

Hoje, depois de tudo o que aconteceu com o jogo, até já se perdeu a conta do número de versões existentes. No caso específico das plataformas clássicas, o pessoal do sítio  Kikstart.EU compilou uma lista com exatos vinte e nove jogos. O curioso é que a lista deles, apesar de numerosa, não parece estar completa, omitindo as versões para Tandy MC-10 e VIC-20.

E agora mais uma para a lista deles, a versão para MSX*:

Esta versão, de minha autoria, inicialmente misturava MSX-BASIC com trechos em linguagem de máquina mas na versão final dispensou-se totalmente a parte interpretada. Aliás este é meu primeiro programa totalmente escrito assembler de Z80.

O jogo requer um MSX1 com no mínimo 32KiB de RAM** adequando-se para funcionar normalmente em modelos com VDP sincronizando em 60Hz (modelos brasileiros, coreanos e japoneses) ou 50Hz (os demais) e, sendo executado em um turbo R, habilitará automaticamente o modo R800.

O jogo está disponível sozinho nos seguintes formatos:

  • Binário (BIN) — Para ser ser executado diretamente no MSX usando BLOAD “FLAPBIRD.BIN”,R;
  • Cartucho (ROM) — Para utilizar em emuladores, ou então com o uso de carregadores de ROM em MSX reais e
  • Cassete (WAV) — Para quem não tem unidade de disquetes, disco rígido ou coisa parecida, mas mesmo assim quer digitar BLOAD “CAS:”,R e executá-lo em um MSX real.

E também na forma de distribuição:

  • Imagem (DSK) — Uma imagem de disquete contendo os mesmos arquivos acima e com boot de MSX-DOS.

O código fonte está disponibilizado no GitHub para a alegria dos seguidores do Octocat! Todos estão convidados a estudar e aprender com o código!

(*) Há uma versão bastante curiosa para MSX2 mas que não dá para considerar como um jogo completo e sim, algum tipo de rascunho/prova de conceito.

(**) Na forma de um cartucho de ROM (físico) o jogo pode ser executado até mesmo em um MSX com apenas 8KiB de RAM.

VERSÕES ARQUIVADAS

0 pensou em “Flappy Bird para MSX! (atualizado)

    1. Hmmm, só em MSX2 e turbo R reais! Não tenho MSX1 aqui… O que sugere? Dar um ‘nop’ ou colocar alguma instrução inócua no meio do caminho?

        1. precisamente 640 bytes, a rotina original usava a LDIRVM mas dava algum pau no OpenMSX quando usava algum MSX1 sincronizado a 50Hz (coisa que não ocorria usando a CBIOS).

          1. Eu recomendo sincronizar a cópia com o retraço, o VDP é mais rápido no retraço que no meio do quadro.

            Dica: se no openmsx dá pau, no micro real vai dar pau também. Os timings do openmsx são bons.

  1. E toda vez q vejo esse passarinho do Flappy Bird, eu acho q há uma semelhança atroz da cara dele c/ a do autor dessa versão…

    😀

    1. (já agora, os jogos que submeti para o Karoshi’s MSXDev ’14, CMJN e Libreway, mostram onde estas diferenças estão – as principais são nos inícios das roms, substituição de rotinas da bios por rotinas próprias, e a localização da ram – o resto é todo idêntico)

    2. Há alguma equivalência entre as rotinas da BIOS do Coleco e do MSX?