Tag: msx peek
Lista de Poke Peek USR e Call no MSX
Usar as instruções Poke, Peek, USR e Call em sua programação, vai proporcionar um código mais limpo e profissional.
Use e abuse dessas super dicas no seu dia a dia.
Lista de Poke Peek e USR no MSX, como usar…
Utilização do POKE :
Exemplo: “poke &hxxxx,y”
Utilização do PEEK:
Exemplo: “print peek(&hxxxx)”
Utilização do USR:
Exemplo: “defusr=&H44:x=usr(0)
– P O K E –
INSTRUÇÃO | DESCRIÇÃO |
POKE &HFBB0,1 | Permite que você use a combinação de teclas CTRL-SHIFT-CODE-GRAPH para encerrar um programa, mesmo que normalmente isso não poderia ocorrer. É especialmente útil para programas em Kun-BASIC ou programas que usem o manipulador ON STOP GOSUB. |
POKE &HFD9F,&HC7 | Reinicializa o MSX |
POKE &HF677,&Hxx POKE &HF676,&Hyy + 1 POKE &Hxxyy,0 |
Muda o endereço de execução padrão (&H8000) para um valor definido por &Hxxyy (pode-se preencher, por exemplo, com &HC000). O próximo programa for carregado será executado a partir desse endereço ao invés de &H8000 (que é o padrão). É útil principalmente para programação hibrida, onde se pode definir os endereços &H8000 e &HBFFF para código Assembly ou dados. Seu programa poderia, por exemplo, verificar alguns se valores necessários já foram definidos antes de serem utilizados ou usar como uma área de configuração dinâmica. |
POKE &HF346,1 | Habilita a utilização do Call System, mesmo depois de ter ido para o BASIC após a inicialização do sistema (não funciona com DOS2) |
POKE &HF247,n | Muda o drive principal (n=A,B,C,D,…). |
POKE &HFF89,&HE1 | Faz o comando LIST mostrar uma mensagem de erro de Sintax sempre que for chamado. É válido tanto “List+n° de linha” quanto para “list -“. |
POKE &HFF89,&HEE | Impede o comando LIST de mostrar um programa em BASIC, não funciona para LIST + linha ou LIST -. |
POKE &HFF89,&HC9 | Normaliza a execução do comando LIST. |
POKE &HFBB1,1 | Desativa o CONTROL+STOP. |
POKE &HFBB1,0 | Ativa o CONTROL+STOP. |
POKE HF3B1,n-1 | Determina o número de linhas na tela em modo texto. |
POKE &HFCAB,1 | Força que a saída do teclado seja sempre em letras maiúsculas. |
POKE &HFCAB,0 | Normaliza o Caps Lock. |
POKE &HFCAB,255 | Força que a saída do teclado seja sempre em letras minúsculas. |
POKE -1,1.0625*(NOT(PEEK(-1))AND&HF0)
ou POKE -1,(15-PEEK(-1)\16)*17 |
As duas instruções fazem o mesmo. Este é um POKE Universal (MSX1 e MSX2) para fazer a auto seleção correta de slots. Fazendo essa chamada evita que alguns programas deixem de ser carregados, pois muitos deles usam POKE não universais que muitas vezes causam uma reinicialização indesejada quando se executa esse programa. |
POKE &HF3B1,XX | Onde XX é o número de linhas que a tela do MSX terá. Por exemplo Poke &hf3b1,26 deixa a tela com 26 linhas. |
POKE &HF676,1:POKE &HF677,&HE1:POKE &HE100,0 | Faz os programas em BASIC carregarem a partir do endereço &HE100 (usar os POKE´s antes de carregar o programa) |
POKE &HFD9F,&HC9 | Função utilizada apenas para unidades de disquete. Aguarda um tempo para carregar! (Não funciona para todas as controladoras de disco) |
POKE &HFFCA,&H23:POKE &HF346,1 | Emula FM-PAC no Music Module. Funciona somente com jogos compilados em Disc Station. Depois da execução da instrução, coloque o disco no drive e execute Call System. |
POKE &HFFFF,&HAA | Somente para MSX Phillips com 128K. Permite configurar 64K de RAM on-line |
POKE &HFFFF,&HFF | Somente para MSX Sony com 256K. Permite configurar 64K de RAM on-line |
POKE 62384,N
|
Faz o tabulamento horizontal
semelhante a WIDTH.
(mínimo 1 e máximo 40)
|
POKE 62385,N
|
Faz o tabulamento vertical.
(mínimo 1 e máximo 24)
|
POKE 62428,N
|
Coloca o cursor na linha N.
(mínimo 1 e máximo 24)
|
POKE 62429,N
|
Coloca o cursor na coluna N.
(mínimo 1 e máximo 40)
|
– P E E K –
INSTRUÇÃO | DESCRIÇÃO |
(PEEK(&HFAFC) AND 6)/2 | Exibe o tamanho da memória do vídeo: 0=16Ko VRAM/ 1=64K VRAM/ 2=128K VRAM/ 3=192K de VRAM |
PEEK(&H2D) | Exibe a versão do MSX: (0=MSX1/ 1=MSX2/ 2=MSX2+/ 3=Turbo-R) |
PEEK(&H347) | Exibe o número da unidade de disco em uso |
– U S R –
INSTRUÇÃO | DESCRIÇÃO |
DEFUSR=0:X=USR(0) | Reseta o MSX |
DEFUSR=&H41:X=USR(0) | Deixa a tela preta. É usado para que ao se construir um desenho qualquer, ele não seja mostrado até que termine. |
DEFUSR=&H44:X=USR(0) | Re-exibe a tela novamente, que foi ocultada pelo comando acima |
DEFUSR=&H90:X=USR(0) | Desativa o Som |
DEFUSR=&H7D75:X=USR(0) | Executa uma ROM |
– Especiais –
INSTRUÇÃO | DESCRIÇÃO |
IF PEEK(&H2D)=2 THEN OUT 64,8:IF INP(64)=247 THEN OUT 65,0 | Ativa o modo Turbo 5.37 MHz para MSX FS-A1WSX/FS-A1WX |
IF PEEK(&H2D)=2 THEN OUT 64,8:IF INP(64)=247 THEN OUT 65,1 | Retorna para o processamento normal de 3.57Mhz para MSX FS-A1WSX/FS-A1WX |