Matrix - Raining Code no MSX

38 views
Skip to first unread message

Julio Marchi

unread,
Nov 4, 2019, 1:14:13 AM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Para quem ainda não tinha visto, muito legal!!!

O Neliton Pereira Jr. (Facebook) reproduziu o efeito do filme Matrix 100% no MSX, e em Assembly!

O vídeo do efeito em ação pode ser vislumbrado no Youtube, e o programa está disponível para download neste link.

Vejam mais detalhes neste post do blog do Neliton.


O trabalho ficou tão bem-feito que não dá para notar diferença entre o resultado no MSX ou em qualquer outro sistema com mais resolução.

Mais uma vez o MSX impressiona, agora entrando também no universo Matrix. :)

Parabéns Neliton! E obrigado por compartilhar!

Julio Marchi
Coordenador do Time MSXALL
@msxall

Wilson Viana

unread,
Nov 4, 2019, 11:55:20 AM11/4/19
to msx...@googlegroups.com
Bem bacana!! Sempre pensei em fazer isso, mas pensando em sprites... olhando ele funcionar agora caiu a ficha de não usar sprites e sim texto normal.... foi isso que ele usou né... ?

Wilson

--
Esta mensagem foi postada na Lista MSXALL via Google Groups.
https://groups.google.com/d/forum/msxall
--
O conteúdo da Lista é publicado via Creative Commons International License.
Todas as mensagens são postadas baixo CC Attribution (4.0) International.
---
Você recebeu essa mensagem porque está inscrito no grupo "MSXALL :: Tudo sobre o Universo MSX" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para msxall+un...@googlegroups.com.
Para ver essa discussão na Web, acesse https://groups.google.com/d/msgid/msxall/9bc51fed-1752-474c-b8ee-2f4335380ba4%40googlegroups.com.

Julio Marchi

unread,
Nov 4, 2019, 12:55:17 PM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Eu creio que sim. Com sprites daria muito mais trabalho. :)

O mais legal é que o efeito foi criado na Screen 2, o que significa que roda em qualquer MSX, incluindo os da primeira geração!

Eu não perguntei qual processo ele usou, mas eu imagino que ele tenha redesenhado a tabela de caracteres para os símbolos do Matrix, o que simplifica bastante o processo.

Para o controle do efeito, eu penso que ele talvez tenha usado um sistema onde ele calcula e mantém cada coluna de forma independente (caracteres, velocidade, aparência), e através de num loop contínuo ele re-desenha cada coluna com os novos valores calculados. O resto é "efeito visual".

Pensando de maneira sistemática, não chega a ser algo complexo (mas, nunca é quando idealizamos algo).

A complexidade em manter e calcular as colunas e coordenadas se dá porque o programa foi feito em Assembly. Eu não sei se dada a simplicidade da ideia fosse possível implementar o mesmo em Basic. Uma vez sendo Screen 2, e com uma tabela de caracteres comum redefinida, em Basic não haveriam muitos desafios em calcular e plotar as colunas.

Alguém se aventura? :)

Eu encontrei um monte de "tentativas" em várias linguagens modernas neste link. Quem se interessar em procurar, vai encontrar um monte de opções e ideias... Só que, a versão do Neliton em Screen 2 para MSX é muito superior a todas elas (e é em Assembly!!!!). Só perde mesmo para a original, e por muito pouco. :)

Abração.

Julio Marchi
Coordenador do Time MSXALL
@msxall

Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para msxall+unsubscribe@googlegroups.com.

Neliton

unread,
Nov 4, 2019, 4:01:25 PM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Olá Wilson,

Não é exatamente "texto normal" porque eu não utilizei o modo texto (screen 1) e sim o modo gráfico (screen 2). Mas realmente não utilizei sprites da VDP.

Neliton


Em segunda-feira, 4 de novembro de 2019 13:55:20 UTC-3, wvsmsx escreveu:
Bem bacana!! Sempre pensei em fazer isso, mas pensando em sprites... olhando ele funcionar agora caiu a ficha de não usar sprites e sim texto normal.... foi isso que ele usou né... ?

Wilson nase
Em seg, 4 de nov de 2019 às 04:14, Julio Marchi <msx...@gmail.com> escreveu:
Para quem ainda não tinha visto, muito legal!!!

O Neliton Pereira Jr. (Facebook) reproduziu o efeito do filme Matrix 100% no MSX, e em Assembly!

O vídeo do efeito em ação pode ser vislumbrado no Youtube, e o programa está disponível para download neste link.

Vejam mais detalhes neste post do blog do Neliton.


O trabalho ficou tão bem-feito que não dá para notar diferença entre o resultado no MSX ou em qualquer outro sistema com mais resolução.

Mais uma vez o MSX impressiona, agora entrando também no universo Matrix. :)

Parabéns Neliton! E obrigado por compartilhar!

Julio Marchi
Coordenador do Time MSXALL
@msxall

--
Esta mensagem foi postada na Lista MSXALL via Google Groups.
https://groups.google.com/d/forum/msxall
--
O conteúdo da Lista é publicado via Creative Commons International License.
Todas as mensagens são postadas baixo CC Attribution (4.0) International.
---
Você recebeu essa mensagem porque está inscrito no grupo "MSXALL :: Tudo sobre o Universo MSX" dos Grupos do Google.
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para msx...@googlegroups.com.
Message has been deleted

Neliton

unread,
Nov 4, 2019, 4:24:02 PM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Ola Julio,

Vc fez uma boa análise do programa. Os caracteres eu importei da tabela de caracteres dos MSX japoneses, já que aqueles "códigos" que aparecem no Matrix são caracteres "katakana". Só acrescentei os números invertidos (espelhados).

Realmente, eu criei variáveis vetoriais (estado, posição, velocidade e delay inicial) de 32 elementos para guardar os dados de cada coluna. Digamos que foi essa a lição mais importante que eu aprendi neste exercício, implementar  essa mecânica de dados em assembly.

Quanto a uma versão em Basic, na screen 2 digo categoricamente que seria impossível. Talvez uma versão simplificada utilizando screen1, mas desconfio que ainda ficaria miseravelmente lenta. Eu recomendaria uma linguagem compilada, pelo menos.

Neliton
Para cancelar inscrição nesse grupo e parar de receber e-mails dele, envie um e-mail para msx...@googlegroups.com.

Julio Marchi

unread,
Nov 4, 2019, 6:01:15 PM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Olá Neliton,

Antes de mais nada, bem vindo à Matrix... Ops... MSXALL. :)

Eu imagino que as rotinas de plotagem obviamente teriam que ser em ASM, mas um híbrido onde o Basic faria o controle e cálculo das matrizes e na hora ade plotar chamaria uma função em ASM talvez fosse uma brincadeira interessante.

Em termos de Screen, vc chegou a pensar em usar uma Screen mais alta, com mais resolução, só pra ver como ficaria o efeito? Apenas curiosidade... :)

Fora isso, eu acho que eu cheguei a perguntar no FB mas, vc pretende liberar o código para quem quiser estudar e aprender um pouco de ASM? Uma brincadeira legal como esta é geralmente um excelente incentivo para muitos que tem vontade de brincar com ASM mas não tem uma boa ideia do que fazer para praticar... E, quem não curte o file Matrix e o efeito de tela? :D

Um grande abraço e, aproveite divulgue mais de seus projetos. Com certeza devem haver outras brincadeiras bem interessantes para mostrar...

Em tempo, uma vez eu vi o efeito StartWars para web. Há vários exemplos de como reproduzir o efeito em HTML e CSS hoje em dia, como por exemplo este, este e este. Será que daria para fazer no MSX?

Fica o desafio... hehehe.

Abração,

Julio Marchi
Coordenador do Time MSXALL
@msxall

Neliton

unread,
Nov 4, 2019, 8:06:54 PM11/4/19
to MSXALL :: Tudo sobre o Universo MSX
Eu que agradeço o convite. : )

Eu não pensei nas screens mais altas porque, ao menos neste momento, meu foco e interesse é MSX 1. Mas certamente o efeito ficaria legal, uma resolução maior, usando 80 colunas, mais tons de cores para trabalhar, etc.

Quanto a liberar o fonte, no momento não, mas pretendo no futuro caprichar mais na documentação e disponibilizar como GPL. E certamente quando tiver algo para mostrar, posto aqui.

Abraço!

Neliton
Reply all
Reply to author
Forward
0 new messages