![]() |
||
Obrigado a Julio Marchi pelo espaço cedido na MSX All |
||
Crie displays animados de tela para a screen 2 do MSX como no Graphos III.
A seguir são apresentados os displays criados para carregar uma tela na screen 2. Cada display acompanha o código fonte em Assembly, um programa em Basic para testar o algoritmo e o código fonte no formato "ASM" do Assemblador RSCII. Autor: Marcelo Silveira Licença dos programas: GNU-GPL v. 3.x - http://www.gnu.org/licenses/gpl-3.0.txt. Para testar o algoritmo, rode a versão em Basic do programa que acompanha cada código. Ele se localiza ao final do arquivo "txt". Após rodar o programa, o código de display já estará na memória e pronto para rodar. Porém, para isso, você deverá limpar a memória do MSX através do comando NEW e utilizar o programa a seguir. 10 SCREEN 2 20 DEFUSR=&HC000 30 X=USR(0) Displays através de mapa Talvez a maneira mais simples de se fazer displays é através de um mapa na memória RAM, contendo a ordem de aparição dos blocos de 8x8. Dessa forma, o trabalho se resume a ordenar os blocos que deverão aparecer na tela. O mapa possui 768 posições com dois bytes cada, totalizando 1536 bytes. Cada valor do mapa contém um ponteiro genérico para as posições de memória, começando por 0 e variando de 8 em 8. O mapa é colocado logo após o código genérico de display para mapas "map" ou "map 2" (vide acima), na posição fixa de memória &HC100. Então, o programa de display de mapas varre a região entre &HC100 e &hC6FF em busca dos blocos a preencher na tela. Qual a diferença entre "map" e "map 2"? O programa "map" utiliza o conceito de quadros, no qual um delay é adicionado sempre que um quadro é detectado. O bit mais significativo do primeiro bloco de um novo quadro é setado para sinalizar a mudança de quadro. Exemplo: | blc 1 | blc 2 | blc 3 | blc 4 | +-------+-------+-------+-------+ | 00 80 | 08 00 | 10 80 | 18 00 | +-------+-------+-------+-------+ | quadro 1 | quadro 2 |O bit de quadro está sinalizado em vermelho. Já o programa "map 2" insere um display entre o carregamento de cada bloco 8x8, sem utilizar o conceito de quadros. Os programas são compatíveis, isto é, os mapas funcionam em qualquer um deles. Mapas de display disponíveis: Autor: Marcelo Silveira Licença dos mapas: GNU-GPL v. 3.x - http://www.gnu.org/licenses/gpl-3.0.txt. Os novos displays estão disponíveis a partir do MSX Viewer 5.2. |
||