15 de Outubro de 2018


Manuel e Luiz

Manuel Fraguas & Luíz Carlos Capanema


As Fitas do ManuelO Luíz e o Manuel são duas lendas da cena de retrogames em Belo Horizonte. Muito se comentavam das proezas dos dois no desenvolvimento de jogos para os microcomputadores de lógica Sinclair (ZX81). Segundo os relatos eles desenvolveram jogos fantásticos, alguns em alta resolução e até um com temática adulta (pornô), para desespero de alguns pais. O problema é que esses jogos não foram lançados comercialmente e apenas pessoas próximas aos dois chegaram a conhecê-los e, aparentemente, nada havia sido preservado. Até que a quase um ano o Matheus, filho do Manuel, me diz que eles encontraram algumas fitas com os jogos e solicita meu auxílio para tentar recuperar todo esse material. E então o que era lenda tornou-se uma realidade!

Bom, não vou me alongar na história, mas o fato é que conseguimos resgatar todos os jogos e posso dizer que os relatos que ouvi até então não eram infundados, são realmente impressionantes! Posteriormente, acordamos com o Marcus Vinícius Garret Chiado de lançar os jogos em uma fita cassete que acompanharia a próxima edição impressa da revista Jogos 80, a qual também traria uma entrevista com a dupla. A revista e a fita, em edição limitada, começaram a serem distribuídas aos felizes compradores no início desse mês e agora achamos oportuno disponibilizar para quem não pôde adquirir a revista, esse material inédito que esteve guardado por mais de 30 anos, esperando para se mostrar ao mundo.



Agradecimentos:


Quero deixar o meu especial agradecimento ao Luíz e ao Manuel, pela generosidade em permitir o compartilhamento desse material, contribuindo para o resgate de mais um capítulo da história do ZX81 no Brasil. O meu agradecimnto mais que especial ao Matheus Fraguas, que no desejo de conhecer as criações do pai que ele tanto ouvia comentarem, não deu descanso até o Manuel e o Luíz localizarem as fitas esquecidas. Meus agradecimentos também ao Marcus Vinícius Garrett Chiado e ao Eduardo Luccas pelo incansável trabalho na edição da revista Jogos 80.



  

Revista Jogos 80 Edição 19 e a fita com os jogos e o encarte






Os Jogos


( Clique nas imagens para efetuar o download )



Lunar Rescue
Autores: Luíz Carlos Capanema e Manuel Fraguas

Uma nave em órbita lunar desacopla o módulo que deve descer até a superfície para coletar cargas de plutônio, desviando-se dos asteróides no caminho. Após coletar uma carga, suba e reacople na nave mãe para descarregar, preparando-se para recuperar as cargas restantes.

Controles:

    5- Move para a direita
    8- Move para a esquerda
    0- Freia (durante a descida) / Atira (durante a subida)


Lunar Rescue
Sexy Game
Autores: Luíz Carlos Capanema e Manuel Fraguas

É um jogo tipo pacman, mas com temática pornô. Você (O) deve comer o máximo de pílulas afrodisíacas (.) enquanto foge do executivo ($) que o está perseguindo. Em determinado momento o executivo deixa cair a chave (C) de seu apartamento e você deve pegá-la e se dirigir para lá, onde ficará a sós com a esposa dele. A cena dentro do apartamento é digna de “9 1/2 Semanas De Amor”, com o casal sobre o fogão fazendo... bem, vocês sabem o quê. O tempo que você tem com a mulher será proporcional ao número de pílulas ingeridas.

Controles:

    5- Move para a direita
    6- Move para baixo
    7- Move para cima
    8- Move para a esquerda

    Dentro do apartamento:

    6- Para trás
    7- Para frente


Sexy Game
Atlântida
Autores: Luíz Carlos Capanema e Manuel Fraguas

É um clássico shoot-em-up vertical claramente inspirado no Xevious, com o cenário se deslocando abaixo das naves e revelando diversos detalhes à medida que se avança. As naves inimigas são variadas e tentam alvejá-lo ou chocar-se contra você em trajetórias imprevisíveis. A ação é frenética e o objetivo é ficar vivo o máximo que conseguir. Muita atenção para evitar de ser atropelado pelas naves batedoras que vem pela retaguarda.

Controles:

    5- Move para a direita
    6- Move para baixo
    7- Move para cima
    8- Move para a esquerda
    0- Atira




Atlantida
Desafio Fatal
Autores: Luíz Carlos Capanema e Manuel Fraguas

É um clássico adventure de texto, onde você é desafiado a entrar em um castelo cheio de armadilhas e sair de lá vivo. A interação se dá por meio de frases tais como "DESCREVA O LOCAL" ou "PEGUE A LANTERNA". A movimentação pelo ambiente é feita por comandos diretos: "NORTE", "SUL", "LESTE", "OESTE", "ENTRE", etc. O verbo "DESCREVA" pode ser substituído por "?" e a aventura pode ser reiniciada com "REINICIE". O comando "NEW" reinicializa o micro, apagando tudo da memória, portanto tenha certeza do seu uso. Os artigos podem ser omitidos, assim a expressão "PEGUE LANTERNA" é perfeitamente compreendida. O uso da tecla "ENTER" sozinha irá produzir uma descrição do local onde se encontra. E por último, o comando "FITA" permite gravar em fita cassete os dados atuais de modo que se possa continuar o jogo em outro momento, sem perder o que já foi feito.

Abaixo todos os comandos/verbos do jogo:

Desafio Fatal

NORTE
SUL
LESTE
OESTE
SUBA
DESCA
NEW
PEGUE
SEGURE
APANHE
?


LIGUE
ACENDA
LARGUE
SOLTE
DEIXE
DESLIGUE
APAGUE
PONHA
COLOQUE
AMARRE
USE


DESTRUA
DERRUBE
FITA
LEVANTE
CALCE
BEBA
ABRA
FECHE
EXAMINE
ENTRE
SAIA


TOQUE
TIRE
DEITE
LEIA
TEMOS
TENHO
REINICIE
MOVA
GIRE
DESCREVA



Columbia
Autor: Manuel Fraguas

É uma versão do Atlântida desenvolvida pelo Manuel Fraguas para poder usar os recursos extras de seu TK82C, que foi totalmente modificado. Além da redefinição de caracteres, o jogo também tem efeitos sonoros produzidos por um gerador de sons baseado no chip SN76477 da Texas Instruments. Infelizmente o Manuel não possui mais nenhuma documentação desse dispositivo para que pudessemos recriá-lo.

Controles:

    5- Move para a direita
    6- Move para baixo
    7- Move para cima
    8- Move para a esquerda
    0- Atira


Columbia
Defender
Autor: Fraguas

Tentativa do Manuel Fraguas de recriar em seu TK82C uma versão o mais fiel possível do clássico arcade, do qual ele era fã. Apesar das limitações técnicas enfrentadas, o resultado é perfeitamente jogável e convincente. Uma das limitações enfrentadas foi na velocidade de processamento da CPU, que tem que se desdobrar entre as tarefas de geração do vídeo e execução do programa do usuário. A solução adotada foi usar uma rotina alternativa que diminue a taxa de atualização do vídeo pela metade, de modo que sobra mais tempo de processamento para o jogo. O problema dessa solução é que vai ser produzida uma cintilação considerável na tela, mas após ter experimentado o jogo em uma TV CRT, posso dizer que o resultado compensa e a cintilação não foi um problema, pelo menos não para mim.

Para quem não conhece, no jogo você tem que combater ondas de aliens hostis e evitar que eles abduzam os humanóides que estão na superfície. Sua nave pode se deslocar para frente e para trás e você dispõe de um radar onde pode ver a localização dos aliens e dos humanóides. Quando um humanóide é capturado, isto será mostrado no radar como um ponto piscante e você deverá abater o alien, resgatando o humanóide ainda no ar antes que ele se esborrache no chão e levá-lo de volta à superfície. Se o alien chegar até o alto com o humanóide, este se transformará em um zumbi que irá perseguí-lo alucinadamente. Há ainda outras surpresas, como as ondas de zumbis que aparecem ocasionalmente e também o mortífero disco voador.

Controles:

    5- Move para a direita
    6- Move para baixo
    7- Move para cima
    8- Move para a esquerda
    0- Atira

    *  Obs.: No emulador EightyOne, habilite a opção "Interlaced Display" em "TV Emulation" (F9 ou menu Options)

Defender





Extras: Atlântida e Columbia Chrome Editions


O Atlântida e o Columbia colorizados para uso com a interface Chrome 81. Inclui os arquivos de colorização para ser usado com o Chroma Program Enhancement Creator.


Atlantida Color Columbia Color





Os Utilitários


O Manuel e o Luíz desenvolveram também alguns utilitários para auxiliá-los no processo de criação, desenvolvimento e depuração dos jogos. A seguir estão o Mid Speed e o Debugger. Ainda falta recuperar o CP/M e o Dbase. Isso mesmo, um CP/M e Dbase para o TK!


Mid Speed

Autores: Luíz Carlos Capanema e Manuel Fraguas


O Mid Speed é um método alternativo às rotinas de SAVE e LOAD originais. Elas permitem agilizar a gravação/carga de programas em cerca de 3 vezes. Assim, um programa de 16Kb que normalmente leva mais de 6 minutos para carregar, com o Mid Speed passa a ser carregado em 2 minutos, o que é um ganho considerável.

Essas rotinas usam uma codificação bastante parecida com a original, a diferença está no número de pulsos usados para representar os bits 0 e 1. Enquanto que nas rotinas da ROM usam-se 4 pulsos para representar o bit 0 e 9 pulsos para representar o bit 1, no Mid Speed essa representação se dá por apenas 1 pulso para o bit 0 e 3 pulsos para o bit 1, como pode ser visto nas ilustrações a seguir.

Gravação Padrão        Gravação Mid Speed


Após a carga do Mid Speed, as rotinas são alocadas na parte baixa da RAM entre os endereços 8192 e 16393 e lá ficam até o micro ser desligado ou até que outras rotinas sejam alí alocadas. Os comandos para acionarem as rotinas são RAND USR 9984 para gravar o programa na fita, e RAND USR 9997 para carregar o programa da fita.


Mid Speed






Debugger

Autores: Luíz Carlos Capanema e Manuel Fraguas


Na falta de ferramentas adequadas para auxiliá-los no desenvolvimento de seus programas, o Luíz e o Manuel decidiram desenvolvê-las eles próprios e assim nasceu o Debugger, um poderoso assembler, disasembler, editor de mneumônicos e monitor hexadecimal entre outras funcionalidades. Após instalado, o Debugger ocupa a área de memória do endereço 8192 a 16393 e de 62000 a 65000, o que significa que é necessário uma expansão de 64Kb de RAM para poder usá-lo. Os mneumônicos do programa em edição são armazenados a partir do endereço 34000 e podem ser gravados em fita cassete separadamente do debugger, a uma velocidade de 1500bps (Mid Speed).


Debugger


O manual que acompanha o programa é da primeira versão e está desatualizado, mas pode ser usado como referência para as operações mais usuais.

A título de exemplo, a seguir será descrito o processo de criação de um programa com o Debbuger, desde a edição dos mneumonicos até a compilação e execução. O programa a ser usado de exemplo é o já tradicional "Hello World". Para melhor entendimento, tenha em "mãos" o manual.


Hello World


A Partir da tela principal do Debugger, pressione a tecla I para entrar no editor e em seguida informe o número da linha a ser editada, no caso será a primeira. Após informar a linha, comece a introdução dos mneumônicos, fornecendo uma linha por vez. Atenção para a sintaxe esperada: entre uma instrução e seu argumento só pode haver um espaço; no lugar da vírgula, use o ponto; um label deve iniciar com : e não deve haver espaço entre o label e a instrução; use o $ para indicar um número hexadecimal e B para binário.


       

       


Após introduzir a última linha, pressione ENTER para sair do editor. O próximo passo será determinar o comprimento do código que será gerado e então criar uma linha REM para armazená-lo. Para tanto, pressione a tecla A para entrar no Assembler e em seguida pressione D ou H para definir a base na qual os dados serão apresentados, D para decimal e H para hexadecimal. Em seguida, pressione SHIFT+F para que o assembler faça a primeira passagem e determine o tamanho do código a ser gerado, bem com o endereço inicial e o final:


       


 Anote o valor e pressione ENTER para sair do Assembler; em seguida pressione a tecla R para criar a linha REM. Informe o número da linha e o comprimento. Repare que será acrescentado 2 ao tamanho da linha, referentes ao REM e ao caractere NEWLINE no final da linha. Pressione ENTER e em seguida A para retornar ao Assembler. Como anteriormente, selecione a base (D ou H) antes de iniciar a compilação. Aqui, há duas opções: SHIFT-D ou SHIFT-H para efetuar a compilação do programa. A diferença é que na primeira opção serão visualizados os passos, enquanto que na segunda opção a compilação será direta, sem visualização das passagens.


       


Após a compilação, pressione ENTER e em seguida B, para retornar ao BASIC. Execute LIST 10 para visualizar a linha REM e então execute o código criado com RAND USR 16514. Para retornar ao Debugger, use RAND USR 8500.

Os equipamentos do Luíz e do Manuel possuiam 64 Kb integrais de RAM e o S.O. rodava em RAM, o que permitia a redefinição de caracteres sem a necessidade de alterar o registrador I do z80, bastava escrever nas posições correspondentes da tabela de caracteres. Para simular isso no EightyOne é necessário retirar a proteção contra escrita da ROM, o que é feito em "Hardware(F6)/Advanced Settings/Protect ROM from Writes". É só desmarcar essa opção e os caracteres serão redefinidos como mostrado nos screenshots dessa página.

O Debugger também possue um relógio que é configurado através da tecla H: digite a hora no formato HH:MM:SS:


   


Há ainda os comandos O (Operações Matemáticas) e U (U.D.G.) que não estão documentados no manual e cujo funcionamento nem o Luíz e nem o Manuel se lembram:

   




         
Free Web Hosting