Eletrônica
Transferindo desenho para TK90X
Apresento uma forma de transferir desenho para o TK90X e fazer uma pequena animação.
|
Fonte: Kandi patterns |
Além da Hatsune Miku, é possível encontrar vários outros padrões deste tipo neste
site. Primeiro o modelo acima é impresso em tamanho grande, de forma a permitir fazer anotações à lápis. Em seguida, digita-se num editor de textos um padrão que codifica cada quadrícula. No caso, foi usado o gedit que possui excelentes recursos.
Células pretas foram marcadas como K, ciano como C, magenta como M, verde como G, azul como B, branco como V e branco brilhante como W. As células transparentes foram marcadas como T. As cores são aproximadas para as que são disponíveis no TK90X. Outra coisa interessante é que a ferramenta de busca do gedit marca de amarelo os padrões pesquisados; na figura acima, quando se pesquisou a letra K, o contorno preto da Miku ficou evidente.
A transferência é manual e trabalhosa, mas se for comparar com os artesanatos apresentados no
site mencionado, não dá para reclamar. É bom anotar no modelo impresso, cada linha ou coluna que já foi digitada. Vale a pena preservar o arquivo assim produzido, para manipulações futuras. Sendo assim, é aconselhável criar uma nova cópia antes de passar para o passo seguinte.
O desenho codificado é transformado numa sequência de bytes através da função de substituição do editor de textos. Os valores dos bytes foram escolhidos para refletir os atributos de cores do TK90X, exceto a cor transparente (T) que ficou com o valor 128. Os demais códigos ficaram: K=0 (ink e paper 0), C=45 (ink e paper 5), M=27 (ink e paper 3), G=36 (ink e paper 4), V=63 (ink e paper 7), W=127 (ink e paper 7 com bright 1) e B=9 (ink e paper 1). Na hora de fazer as substituições, não se deve esquecer de finalizar cada valor numérico com uma vírgula.
Ao final, divide-se a sequência dos valores em várias linhas. Cada linha deve iniciar-se com a diretiva DEFB do
assembler e as vírgulas do final devem ser removidas.
Depois de montado com um
assembler (pasmo, por exemplo), obtém se um arquivo binário que pode ser incluído em um emulador. O programa
assembly abaixo faz a animação do
sprite preparado:
ORG 32768
LD HL,Miku
LD DE,30
Mainloop0
LD B,9
Mainloop1
CALL APrtScr
ADD HL,DE
DJNZ Mainloop1
PUSH HL
LD HL,0
OR A
SBC HL,DE
EX DE,HL
POP HL
ADD HL,DE
XOR A
IN A,(254)
CPL
AND 011111
JR Z,Mainloop0
RET
;
APrtScr
PUSH BC
PUSH DE
PUSH HL
LD B,5
Delay
HALT
DJNZ Delay
LD DE,22528
LD B,0
Loop0
LD C,0
Loop1
LD A,(HL)
BIT 7,A
JR Z,Jump0
LD A,(IY+14)
Jump0
LD (DE),A
INC HL
INC DE
INC C
LD A,C
CP 30
JR NZ,Loop1
INC DE
INC DE
INC B
LD A,B
CP 24
JR NZ,Loop0
POP HL
POP DE
POP BC
RET
;
Miku
;
INCLUDE "4373-Hatsune_Miku_Sprite_Fuse_Bead.asm"
O resultado pode ser visto no vídeo abaixo:
Apesar da resolução dos atributos de cores ser baixa (24×32), tem a vantagem de dispor das cores com mais liberdade, o que não ocorre se trabalhar com
bitmap em que
pixels vizinhos tem que ter mesmos atributos.
loading...
-
Dica Tv Electronia 20nt Chassis 11ak30
Defeito--Não liga. Led vermelho aceso. Ao tentar ligar, o led passa a verde mas, no mesmo instante, o led volta para vermelho e a fonte da tv não arma.Valores ...
-
Dica Tvs Panasonic Tx-32pk25f Chassis Euro-4h
Defeito--Imagem a preto e branco ou com as cores alteradas com manchas como se o TRC estivesse magnetizado. Foi regravada a eeprom mas não resultou. Em ...
-
Dica Tvs Panasonic Tx-25xd3e Chassis Euro 2m
Defeito--Este tv estava em protecção, trazia o transístor de saída de linhas (2SD1577- LB) em curto. Depois de o substituir, o tv arrancou apresentando o seguinte ...
-
Outra Rotina De Detecção De Ram 48/128k
Eu publiquei nesta postagem, uma rotina que faz a detecção no TK90X da configuração com ou sem a TKMEM-128 (128 ou 48K de RAM). Modifiquei-a e consegui fazer com que ficasse menor ainda (25 bytes). Esta rotina testa se ocorre chaveamento entre...
-
Thundercats V. 2 Para Basic 128
Mal acabei de lançar uma adaptação do Thundercats para Beta e TKMEM-128 e estou com a versão 2. A versão anterior tinha um problema: não consegue carregar a partir do BASIC 128, portanto tinha que dar um 'USR 0' antes. Na versão 2 não...
Eletrônica