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
Nenhum comentário:
Postar um comentário
Seu comentário é bem vindo, mas peço que use este espaço adequadamente.