![]() |
Obrigado a Julio Marchi pelo espaço cedido na MSX All |
Padrões e Cores do MSX 1
O modo de tela utilizado nos editores gráficos do MSX 1 é a screen 2. 0 31 ┌┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┬┐ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ ├┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┼┤ └┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┴┘ 23
+-----------------------------+ | 000 001 002 003 ... 030 031 | | 032 033 034 035 ... 062 063 | | ... | | 736 737 738 739 ... 766 767 | +-----------------------------+
Obs: valores em decimal. ┌─┬─┬─┬─┬─┬─┬─┬─┐ │ │ │ │ │ │ │ │ │ Linha 0 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 1 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 2 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 3 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 4 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 5 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 6 ├─┼─┼─┼─┼─┼─┼─┼─┤ │ │ │ │ │ │ │ │ │ Linha 7 └─┴─┴─┴─┴─┴─┴─┴─┘
Tela Numeração dos Blocos 0 5 ┌┬┬┬┬┐ 00 01 02 03 04 ├┼┼┼┼┤ 05 06 07 08 09 ├┼┼┼┼┤ 10 11 12 13 14 ├┼┼┼┼┤ 15 16 17 18 19 └┴┴┴┴┘ 4
variáveis: p, x, y : inteiro; altura, largura, D, linha : inteiro; salvar : booleano; inicio p ← 7; salvar ← falso; para y ← 0 até altura passo 8 faça inicio para x ← 0 até largura passo 8 faça inicio para linha ← 0 até 7 faça inicio se (salvar = verdadeiro) então inicio D ← val(p); altera_linha(D); senão D ← le_linha(); val(p) ← D; fim_se p ← p + 1; fim_para fim_para fim_para fim_programa
Onde as variáveis "altura" e "largura" são valores múltiplos de 8. Tabela de caracteres: bit 0 = cor de fundo bit 1 = cor de frente Tabela de cores: 4 bits mais significativos = cor de frente 4 bits menos significativos = cor de fundo
10 EP = 8*BL ' Tabela de caracteres 20 EC = 8192 + 8*BL ' Tabela de cores
10 SCREEN 2 20 BL=4 30 EP = 8*BL ' Tabela de caracteres 40 EC = 8192 + 8*BL ' Tabela de cores 50 L=2 60 VPOKE EP+L,&B10101010 ' Padrão: 10101010 70 VPOKE EC+L,&B01111101 ' Frente:7, Fundo:13
|