MSXDEBUG vr. 1.21, por Sergio Duric Calheiros - CPU 01/89, vr1.21 por A&L Software 1997
Novas implementações na versao 1.21
- Vários bugs da versão 1.11 corrigidos.
- Bug do comando PASSO (tecla DELETE) corrigido.
- Totalmente funcional em MSX2, MSX2+ e Turbo R.
- Mensagens de comandos mais elucidativas.
- Apresentação de comandos mais detalhada.
- Comando DIR agora com mascara.
- Digitação de caracteres gráficos no prompt.
- DUMP de tela a qualquer momento pela tecla CONTROL+P.
- Novos comandos: HEADER, SLOAD, SSAVE, RESTART.
Resumo dos comandos
Atenção! Todos os dados dos comandos devem estar em hexadecimal!
DOS: retorna ao MSX-DOS.
MOVE inicio fim destino: copia o bloco de dados compreendido entre "início" e "fim" para ¨destino".
FILL inicio fim dado: preenche o bloco de dados compreendido entre "início" e "fim" com o byte "dado".
EXEC endereco: executa o programa contido em "endereço".
DISP endereco: permite acessar/modificar os dados a partir de "endereço". As teclas de visualização são:
- seta para cima : volta 8 bytes (uma linha)
- seta para baixo : avança 8 bytes (uma linha)
- seta para esquerda : volta 192 bytes (uma tela)
- seta para direita : avança 192 bytes (uma tela)
- ESC : volta ao prompt
- RETURN : edita dados
neste caso a edição é em hexadecimal. Para edição em ASCII tecle RETURN novamente (ainda, tecle RETURN outra vez para retornar à edição em hexadecimal). As teclas cursoras controlam a movimentação. A tecla ESC volta ao modo de visualização.
DIR [mascara]: lista os arquivos do disco determinados por "mascara". Sua ausência causa a listagem de todos os arquivos do disco.
DSAVE nome início fim: cria um arquivo em disco chamado "nome" contendo os dados compreendidos entre "início" e "fim".
DLOAD nome início: carrega um arquivo em disco chamado "nome" a partir de "início".
SOMA início fim: mostra a soma dos bytes compreendidos entre "início" e "fim".
BUSCA endereço string: procura "string" na memoria a partir de "endereço". Quando uma ocorrência é encontrada seu endereço é apresentado. Tecle S para continuar procurando ou ESC para voltar ao prompt.
BLOAD nome [offset]: carrega o arquivo binário "nome" em seu endereço correspondente. Se "offset" for especificado, carrega o arquivo no novo endereço.
BSAVE nome inicio fim [execução]: grava um arquivo binário "nome" contendo os dados compreendidos entre "inicio" e "fim", setando seu endereço de execução para "execução", se especificado (se não for, assume 0000h).
DASS endereço [origem]: desassembla o conteúdo da memoria a partir de "endereço". Se "origem" for especificado os endereços serão mostrados a partir de "origem", com um ponto na frente para indicar (ex.: .0100). As teclas de movimentação são:
- RETURN : próxima instrução
- ESPAÇO : próximas 23 instruções (uma tela)
- ESC : volta ao prompt
APPEND nome inicio fim: adiciona ao arquivo "nome" o bloco de dados compreendido entre "início" e "fim".
SAVECOM nome inicio fim execução: converte programas binários para ambiente MSXDOS, criando um arquivo .COM chamado "nome" contendo o bloco de dados compreendido entre "início" e "fim" e com endereço de execução em "execução". São pedidos três dados:
- Endereço da pilha : endereço da pilha do sistema.
- Deslocamento : deslocamento do bloco de dados em relação a "início" quando da sua transferência para o destino exato.
- Byte de mascara ROM: mascara para a configuração de slots para a execução do programa (normalmente, 0FCh, setando a pagina 0 para ROM).
SAVESCR nome início fim execução: converte telas gráficas binarias para ambiente MSXDOS, criando um arquivo .COM chamado "nome" contendo o bloco de dados compreendido entre "início" e "fim" e com endereço de execução em "execução". Este bloco deve ser um programa de desenho de tela gráfica. Em seguida o programa executa no disco outro arquivo de mesmo nome, mas com extensão .OVR. São pedidos os mesmos três dados do comando SAVECOM.
HEX dado1 dado2: fornece a soma e a diferença entre "dado1" e "dado2".
PASSO início: permite a execução, passo a passo, de um programa a partir do endereço "início". Na tela visualizam-se o programa, os registradores, os flags e a pilha do sistema. Os comandos são:
- RETURN : executa instrução atual
- DELETE : ignora instrução atual
- CONTROL+G : passa a execução para o programa
- CONTROL+L : executa chamada longa
- SELECT : modifica conteúdo de registrador. Tecle o par de registradores desejado seguido de virgula (ou espaço) e do novo valor.
- INSERT : insere breakpoints na execução do programa, que só são obedecidos por CONTROL+G. Tecle o numero do breakpoint (de 1 a 3) seguido de virgula (ou espaço) e do endereço
- ESC : volta ao prompt
LDASS início fim [origem]: desassembla o conteúdo da memoria a partir de "endereço" ate' "fim" na impressora. Se "origem" for especificado os endereços serão mostrados a partir de "origem", com um ponto na frente para indicar (ex.: .0100).
LDISP endereço: mostra na impressora os 192 bytes (uma tela) a partir de "endereço".
HEADER nome: informa o endereço inicial, final e de execução de "nome", se este for um arquivo binário.
RESTART: reinicializa o MSXDEBUG.
SLOAD setor drive endereço número: lê de "drive" um total de "número" setores a partir do setor "setor" e os coloca a partir de "endereço".
SSAVE setor drive endereço numero: grava em "drive" o conteúdo a partir de "endereço", num total de "número" setores, a partir do setor "setor" .
Copyright
O programa MSXDEBUG é de autoria de Sergio Duric Calheiros, e foi publicado em forma de projeto na revista CPU (depois, CPU MSX) dos números 7 a 22, contando com a colaboração de varias pessoas. Sua última versao, publicada em CPU MSX 22 e' a 1.11
A versao 1.21 do MSXDEBUG é de autoria de A&L Software em 1.997.