Index du Forum
IDENTIFICATION SERVEUR : 10.0.97.1 - CLIENT : 54.145.205.178

 FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres   Groupes d'utilisateursGroupes d'utilisateurs   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

Brainteaser boulevard (Programe, 1982)

 
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2744
Localisation: Le Chesnay, France

MessagePosté le: Mar 17 Mai 2016, 13:30    Sujet du message: Brainteaser boulevard (Programe, 1982) Répondre en citant

#866 - By Chuckles (the developer who was part of Origin Systems and worked on Ultima, among other titles) - The most dangerous street in the city! But it's your duty as a Scout to help the Little Old Lady in Sneakers cross the Boulevard. It's going to take skill, daring and lick to get both of you through the maze of hurtling cars and speeding trucks alive. A good Scout is always prepared, but are you ready for BRAINTEASER BOULEVARD?

Disk structure
This is a one-sided floppy disk that is loaded in one pass. Nibbles are 4*4 encoded and the boot1 code at T0/S0 contains all the useful routines: read data and move arm routine. There are 9 pages of 4*4 encoded nibbles per track and nibbles are stored every two tracks (our four phases)

Boot trace
Let's go... and remember that I use an Apple IIgs, so all references to $96FB must be changed to $96F8 for those using a Disk II controller card:

Code:

Let's see what T0/S0 does, with an Apple IIgs:
9600<C600.C6FFM
96FB:20 FDDA 60
9600G
01

After some fast analysis, we'll let the program load the entire game into memory (because everything is included in 256 bytes: data load, move arm):
96FB:A9 59 8D 852 A9 FF 8D 853 4C 801
9600G

*BINGO*
Program is loaded from $2000 to $95FF
The entry point is $3600


The available disk
I've formatted a DOS 3.3 disk. I've copied $2000..$95FF from T3/S0 to TA/S5. This is the default boot on the disk but...
...if you press open-apple, you jump to a standard DOS 3.3 where a BASIC HELLO program is launched. That file BLOADs BRAINTEASERBOULEVARD and CALLS $3600.

qkumba at the rescue Wink
I've upload the complete package of the game (cover, manual, floppy, crack) onto Asimov. Soon available on /images/games/action/

The disk image is available at http://www.brutaldeluxe.fr/crack/

Reboot and... enjoy,

LoGo
5/2016
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
toinet
Site Admin


Inscrit le: 15 Juin 2007
Messages: 2744
Localisation: Le Chesnay, France

MessagePosté le: Mar 17 Mai 2016, 13:30    Sujet du message: Répondre en citant

The boot1 code. It does everything!

Code:

The original boot1 code
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
00/0800:                            ORG   $000800                               
00/0800:                            MX    %11                                   
00/0800: 00                         HEX   00                                   
00/0801: A900                       LDA   #$00            ; Set load address   
00/0803: 8500                       STA   $00                                   
00/0805: A920                       LDA   #$20                                 
00/0807: 8501                       STA   $01                                   
00/0809: A900                       LDA   #$00                                 
00/080B: 8508                       STA   $08                                   
00/080D: A62B                       LDX   $2B                                   
00/080F: A909                       LDA   #$09            ; nb of pages         
00/0811: 8507                       STA   $07                                   
00/0813: D046                       BNE   $085B                                 
00/0815: A010                       LDY   #$10            ; Get header markers 
00/0817: BD8CC0                     LDA   $C08C,X                               
00/081A: 10FB                       BPL   $0817                                 
00/081C: D9D308                     CMP   $08D3,Y                               
00/081F: D0F4                       BNE   $0815                                 
00/0821: 88                         DEY                                         
00/0822: D0F3                       BNE   $0817                                 
00/0824: 206408                     JSR   $0864           ; get a nibble       
00/0827: C507                       CMP   $07                                   
00/0829: D0EA                       BNE   $0815                                 
00/082B: BD8CC0                     LDA   $C08C,X         ; read data           
00/082E: 10FB                       BPL   $082B                                 
00/0830: 4A                         LSR                                         
00/0831: 8502                       STA   $02                                   
00/0833: BD8CC0                     LDA   $C08C,X                               
00/0836: 10FB                       BPL   $0833                                 
00/0838: 2502                       AND   $02                                   
00/083A: 2A                         ROL                                         
00/083B: 9100                       STA   ($00),Y         ; and save           
00/083D: C8                         INY                                         
00/083E: D0EB                       BNE   $082B                                 
00/0840: A401                       LDY   $01                                   
00/0842: C096                       CPY   #$96            ; until $9600         
00/0844: D00E                       BNE   $0854                                 
00/0846: BD88C0                     LDA   $C088,X         ; we're done         
00/0849: A9FD                       LDA   #$FD            ; run the game       
00/084B: 8537                       STA   $37                                   
00/084D: A9F0                       LDA   #$F0                                 
00/084F: 8536                       STA   $36                                   
00/0851: 4C0036                     JMP   $3600                                 
00/0854: C8                         INY                                         
00/0855: 8401                       STY   $01                                   
00/0857: C607                       DEC   $07             ; next page           
00/0859: D0BA                       BNE   $0815                                 
00/085B: 207508                     JSR   $0875           ; move 2 tracks       
00/085E: 20A508                     JSR   $08A5           ; set markers         
00/0861: 4C1508                     JMP   $0815           ; loop               
00/0864: BD8CC0                     LDA   $C08C,X         ; read 2 4*4 nibbles 
00/0867: 10FB                       BPL   $0864           ; and return a byte   
00/0869: 4A                         LSR                                         
00/086A: 8502                       STA   $02                                   
00/086C: BD8CC0                     LDA   $C08C,X                               
00/086F: 10FB                       BPL   $086C                                 
00/0871: 2502                       AND   $02                                   
00/0873: 2A                         ROL                                         
00/0874: 60                         RTS                                         
00/0875: A000                       LDY   #$00            ; move arm           
00/0877: 8602                       STX   $02                                   
00/0879: BD80C0                     LDA   $C080,X                               
00/087C: C8                         INY                                         
00/087D: 98                         TYA                                         
00/087E: 2903                       AND   #$03                                 
00/0880: 0A                         ASL                                         
00/0881: 052B                       ORA   $2B                                   
00/0883: AA                         TAX                                         
00/0884: BD81C0                     LDA   $C081,X                               
00/0887: A956                       LDA   #$56                                 
00/0889: 20A8FC                     JSR   WAIT                                 
00/088C: C004                       CPY   #$04            ; 4 phases = 2 tracks
00/088E: D0E9                       BNE   $0879                                 
00/0890: E608                       INC   $08                                   
00/0892: A90A                       LDA   #$0A                                 
00/0894: 8507                       STA   $07                                   
00/0896: A602                       LDX   $02                                   
00/0898: 60                         RTS                                         
00/0899: A8                         TAY                   ; prepare nibble     
00/089A: 09AA                       ORA   #$AA                                 
00/089C: 8506                       STA   $06                                   
00/089E: 98                         TYA                                         
00/089F: 4A                         LSR                                         
00/08A0: 09AA                       ORA   #$AA                                 
00/08A2: 8505                       STA   $05                                   
00/08A4: 60                         RTS                                         
00/08A5: A008                       LDY   #$08            ; update our markers 
00/08A7: 8602                       STX   $02                                   
00/08A9: A210                       LDX   #$10                                 
00/08AB: B9CA08                     LDA   $08CA,Y                               
00/08AE: 18                         CLC                                         
00/08AF: 6508                       ADC   $08                                   
00/08B1: 8404                       STY   $04                                   
00/08B3: 209908                     JSR   $0899                                 
00/08B6: A404                       LDY   $04                                   
00/08B8: A505                       LDA   $05                                   
00/08BA: 9DD308                     STA   $08D3,X                               
00/08BD: CA                         DEX                                         
00/08BE: A506                       LDA   $06                                   
00/08C0: 9DD308                     STA   $08D3,X                               
00/08C3: CA                         DEX                                         
00/08C4: 88                         DEY                                         
00/08C5: D0E4                       BNE   $08AB                                 
00/08C7: A602                       LDX   $02                                   
00/08C9: 60                         RTS                                         
00/08CA: 000FF0E1D2                 HEX   000FF0E1D2C3B4A596                   
00/08D3: 4CBBAFFEFE                 HEX   4CBBAFFEFEEFFEFEEFEFEFEAEABBFAI       
00/08E4: FFFF0000FF                 HEX   FFFF0000FFFF0000FFFF0000FFFF00I       
SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS
Revenir en haut de page
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web de l'utilisateur
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet     Index du Forum -> PROTECTION MALEFIQUE Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com