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 versátil. Embora seja possível inserir arquivo TZX no emulador e operar como no
TK90X real, a possibilidade de trabalhar nativamente no PC aumenta a produtividade. Como não existem muitos utilitários para o
Linux, sistema operacional que tenho adotado, resolvi escrever o
TZX Show que roda com interpretador
Ruby. Esta linguagem foi empregada no
TXDOS também.
|
Fonte: Wikipédia |
Atualização: o
World of Spectrum acabou de aceitar este programa em seu repositório.
Depois de um longo tempo de desenvolvimento, o TZX Show pode ser considerado pronto para o lançamento. O arquivo pode ser baixado do Google Drive ou do
4 Shared, instalado no disco do seu PC e usado com o Ruby na interface de linha de comando (
shell):
ruby tzx_show.rb <arquivo_tzx>
Serão exibidas informações sobre o conteúdo do arquivo TZX. Se for um bloco salvo pelo BASIC, mostrará dados relevantes como tipo (BASIC, CODE ou DATA), comprimento, etc. Como exemplo, no TZX do Rogue Trooper, a saída produzida é:
$ tzx_show.rb 1986/RogueTrooper/Rogue\ Trooper.tzx
Block 1: header
Saved name: "Rogue "
Type: BASIC program
Auto-start line: 0
Program size without variables: 374
Total length: 381
Block 2: data bytes
Length: 381
Block 3: non-standard length for a header (48511 bytes), trying to analyze as a header anyway.
Saved name: "{00}{00}{00}{00}{00}{00}{00}{00}{00}{00}"
Type: BASIC program
Auto-start line: 0
Program size without variables: 0
Total length: 0
Warning: checksum error! Block may be corrupted.
O bloco 1 é o cabeçalho do programa BASIC de nome "Rogue". Note que o tamanho total (381 bytes) é maior do que o tamanho sem variáveis (374 bytes); isto ocorre porque junto é salva uma variável (ah). O bloco 2 é o programa propriamente dito, que é carregado na RAM.
As mensagens de erro não significa que há algum problema no arquivo, pode ser que tenha sido produzida devido aos esquemas de proteção das fitas. No exemplo acima, o bloco 3 acusa erro de
checksum por não ser um bloco de cabeçalho, apesar do byte
leader ser 0. Na verdade este bloco é o código de máquina do jogo, em formato
headerless.
loading...
Defeito--Sem imagem e sem som. Apenas linhas de retorno. Seguindo a linha dos 33V, verifiquei que ao ...
Existem certos programas que não são compatíveis com o modo 128 BASIC do ZX Spectrum 128, ou TK90X e a TKMEM-128 com a ROM 128 ativada. Um exemplo é o Lerm Code Compressor 1 que utilizo muito nas minhas adaptações para a interface de drive Beta....
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...
Depois de destrinchar o Speedlock 1 com o Highway Encounter, eu vou comentar sobre Speedlock 2 com o jogo do mesmo autor (Costa Panayi), o Revolution. Speedlock 2 A estrutura do arquivo 'Revolution.tzx' é dada pelo TZX Show: Block 1: header ...
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...