Eletrônica
Pyracurse
Mais um jogo para TK90X foi adaptado para a Beta 48, desta vez é Pyracurse. Eu achei algo interessante na listagem do carregador BASIC deste programa.
Pyracurse não apresenta nada novo em relação ao tipo de proteção, pois usa a estratégia já apresentada por mim de blocos de bytes headerless. A saída do utilitário TZX Show no arquivo 'Pyracurse - Side 1.tzx' revela:
Block 1: archive info
Full title: Pyracurse
Software house/publisher: Hewson Consultants Ltd
Author(s): Mark Goodall, Keith Prosser
Year of publication: 1986
Language: English
Game/utility type: Adventure: Graphic
Protection scheme/loader: ROM timings
Origin: Original release
Comment(s): TZXed by Jos{E9} Luis Soler
Block 2: header
Saved name: "pyra "
Type: BASIC program
Auto-start line: 20
Program size without variables: 195
Total length: 195
Block 3: data bytes
Length: 195
Block 4: header
Saved name: "ldcd "
Type: bytes of CODE or SCREEN$
Start address: 50000
Total length: 35
Block 5: data bytes
Length: 35
Block 6: data bytes
Length: 6912
Block 7: data bytes
Length: 40735
O conteúdo da fita consiste num curto programa BASIC seguido de um código de máquina para carregamento, mais dois blocos
headerless de 6912 (tela) e 40735 bytes (código de máquina).
O programa BASIC pode ser interrompido com as técnicas já discutidas, e a listagem é:
10 GOTO 30
20 POKE 23659,0: LOAD ""CODE 23296: RAND USR 23296
30 CLEAR 40000: RAND USR 15363: REM : LOAD "ldcd"CODE 50000
40 SAVE "pyra" LINE 20: SAVE "ldcde"CODE 50000,35
50 RAND USR 15363: REM : RUN "saver"
O que chamou a minha atenção é a presença de instruções com
USR 15363
, que invocam comandos do Beta 48. Parece que os autores do jogo tinham um ZX Spectrum com interface de drive Beta à disposição, e com isto criaram um programa que produz a fita matriz do jogo. Eu tinha visto algo semelhante em outros jogos com comandos relacionados ao Microdrive. Porém apesar de ser programado num equipamento com interface de disquete, não me parece que Pyracurse tenha sido ofertado nessa mídia.
A adaptação é bastante simples, semelhante ao que apliquei no Sanxion 128, abordada nas partes 6 e 7 do mini-curso que apresentei recentemente. Basta usar o comando
brekpoint no emulador, salvar a tela e o código de máquina no disco do PC, para depois salvar no disco Beta virtual. Para conferir com detalhes todo o procedimento, baixe o jogo adaptado no Google Drive ou
4 Shared.
loading...
-
Número Aleatório Por Xor-shift
Apresento a sub-rotina de geração de número pseudoaleatório que foi usada na minha parte do demo Mission Highly Improbable. Anteriormente mostrei a sub-rotina de Phantom Club para a mesma finalidade, porém a qualidade da sequência gerada...
-
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...
-
Tzx Show
Na série sobre adaptação de programas de fita para disco Beta 48, foram discutida as vantagens de usar o emulador no PC. Dentre os formatos empregados para representar o conteúdo de fita cassete no PC, TZX é o preferido por ser o mais completo e...
-
Interface De Demo Do Tk90x
Visitando o site do Eduardo Luccas, encontrei um item interessante para download que seria a imagem (dump) da EPROM da interface de demonstração do TK90X. Pela descrição dada, seria uma interface conectada a TK90X em exposição em loja, que ficaria...
Eletrônica