Les conspirateurs de l'ombre (No man's land, 1984)

Eh oui ! Faire une sauvegarde n'est pas facile ! Conseils ici...
Répondre
toinet
Administrateur du site
Messages : 256
Enregistré le : ven. 8 déc. 2023 10:30

Les conspirateurs de l'ombre (No man's land, 1984)

Message par toinet »

#1025 - "Bienvenue, téméraire aventurier" says the computer when the title page is displayed. One of the first adventure games in French, a cool one! The game was written by a young man named Pascal Anquetin.

Disk structure
This is a double-sided 16-sec disk. A sort of modified DOS 3.3 structure.

Protection type
Side 1 has modified markers, side B is not protected. Both do not have a T23.
- address field: D5AA96 F2AA instead of D5AA96 DEAA
- data field: AAD5AD F2AA instead of D5AAAD DEAA (not on T0 which is D5AAAD) with added nibbles before the data field
The RWTS commands (Read/Write) are reversed. Be happy, the disk is write-protected!
If you copy the disk using its RWTS, you will perform a Read on the original that will be interpreted as a Write and then erase your original disk. Does that remind you of Telebasic by... Apple Computer, Inc.?

How to normalize
Side 2 can be copied with Locksmith Fast Disk Backup. Apply the following actions on side 1 only.

Code : Tout sélectionner

Boot my copy disk, launch Advanced Demuffin 1.4
Insert Les conspirateurs in drive 1
Insert a blank disk in drive 2
Press B to boot
Enter the monitor
BDB5:EA EA *** MANDATORY ***
Press ctrl-Y
Copy T0-T22
How to crack
Boot my copy disk, launch Disk Fixer

Code : Tout sélectionner

At T0/S8/CB:01 -> BD
Notes on Chip Select's crack
Chip used a Wildcard or alike card to crack the game, he then saved the contents of memory on disk and rewrote a HELLO file. Then he added a message on the diskette about the poor quality of the protection. Yes, it is a weak protection scheme but a mean one. Let's see later on the thread. At least, now, we have a clean crack of Les conspirateurs de l'ombre... 36 years after :-)

Oh, if you want to finish the game, the soluce is @ http://apple1.chez.com/Apple2cDskArchiv ... lOmbre.txt

The disk images are available at https://www.brutaldeluxe.fr/products/france/nomansland/

Reboot and... enjoy,

LoGo
1/2020
toinet
Administrateur du site
Messages : 256
Enregistré le : ven. 8 déc. 2023 10:30

Re: Les conspirateurs de l'ombre (No man's land, 1984)

Message par toinet »

The entry point of the RWTS is at $BD00 but it directly jumps to $BEC2, shown here as $01C2

Code : Tout sélectionner

01C2:84 48          STY   $48           
01C4:85 49          STA   $49           
01C6:A0 02          LDY   #$02          
01C8:B1 48          LDA   ($48),Y       
01CA:C9 01          CMP   #$01          ; Put a BD instead
01CC:D0 5A          BNE   $0228         
01CE:A9 F2          LDA   #$F2          ; Change epilog markers
01D0:8D 35 B9       STA   $B935         
01D3:8D 91 B9       STA   $B991         
01D6:A0 04          LDY   #$04          
01D8:B1 48          LDA   ($48),Y       ; which track?
01DA:F0 17          BEQ   $01F3         
01DC:A9 AA          LDA   #$AA          ; change data markers too
01DE:8D E7 B8       STA   $B8E7         
01E1:A9 D5          LDA   #$D5          
01E3:8D F1 B8       STA   $B8F1         
01E6:A0 0C          LDY   #$0C          ; and copy mean code
01E8:B9 75 BF       LDA   $BF75,Y       
01EB:99 F4 B8       STA   $B8F4,Y       
01EE:88             DEY                 
01EF:10 F7          BPL   $01E8         
01F1:30 15          BMI   $0208         
01F3:A9 D5          LDA   #$D5          
01F5:8D E7 B8       STA   $B8E7         
01F8:A9 AA          LDA   #$AA          
01FA:8D F1 B8       STA   $B8F1         
01FD:A0 0C          LDY   #$0C          
01FF:B9 68 BF       LDA   $BF68,Y       
0202:99 F4 B8       STA   $B8F4,Y       
0205:88             DEY                 
0206:10 F7          BPL   $01FF         

0208:A9 32          LDA   #$32          ; reset pointer
020A:8D F2 03       STA   $03F2         
020D:A9 BF          LDA   #$BF          
020F:8D F3 03       STA   $03F3         
0212:20 6F FB       JSR   $FB6F         
0215:A0 04          LDY   #$04          ; on a DOS track?
0217:B1 48          LDA   ($48),Y       
0219:C9 03          CMP   #$03          
021B:90 04          BCC   $0221         
021D:A9 FF          LDA   #$FF          
021F:85 D6          STA   $D6           
0221:4C 04 BD       JMP   $BD04         
0224:84 48          STY   $48           
0226:85 49          STA   $49           

0228:A9 DE          LDA   #$DE          ; or put standard markers
022A:8D 35 B9       STA   $B935         
022D:8D 91 B9       STA   $B991         
0230:D0 C1          BNE   $01F3         

0232:A9 50          LDA   #$50          ; the reset code at $BF32
0234:85 04          STA   $04           
0236:A9 BF          LDA   #$BF          
0238:85 05          STA   $05           
023A:A9 10          LDA   #$10          
023C:85 02          STA   $02           
023E:A9 00          LDA   #$00          
0240:85 03          STA   $03           
0242:A0 00          LDY   #$00          
0244:B1 04          LDA   ($04),Y       
0246:91 02          STA   ($02),Y       
0248:C8             INY                 
0249:C0 18          CPY   #$18          
024B:D0 F7          BNE   $0244         
024D:4C 10 00       JMP   $0010         
0250:A0 00          LDY   #$00          
0252:84 00          STY   $00           
0254:A9 BF          LDA   #$BF          
0256:85 01          STA   $01           
0258:91 00          STA   ($00),Y       
025A:C8             INY                 
025B:D0 FB          BNE   $0258         
025D:C6 01          DEC   $01           
025F:A5 01          LDA   $01           
0261:C9 01          CMP   #$01          
0263:D0 F3          BNE   $0258         
0265:4C 59 FF       JMP   $FF59         

Normal data field read code

0268:A0 56          LDY   #$56          
026A:BD 8C C0       LDA   $C08C,X       
026D:10 FB          BPL   $026A         
026F:C9 AD          CMP   #$AD          
0271:D0 E7          BNE   $025A         
0273:A9 00          LDA   #$00          

The abnormal data field read code

0275:EA             NOP                 ; read the last data field prolog marker
0276:BD 8C C0       LDA   $C08C,X       
0279:10 FB          BPL   $0276         
027B:C9 AD          CMP   #$AD          
027D:D0 E8          BNE   $0267         
027F:4C 82 BF       JMP   $BF82         

0282:BD 8C C0       LDA   $C08C,X       ; then read again
0285:10 FB          BPL   $0282         
0287:BD 8D C0       LDA   $C08D,X       ; clear the latch and lose time
028A:20 C1 BE       JSR   $BEC1         ; lose 6+6 cycles (that is a RTS)
028D:BD 8C C0       LDA   $C08C,X       ; lose time
0290:EA             NOP                 ; 2 cycles
0291:EA             NOP                 ; 2 cycles
0292:EA             NOP                 ; 2 cycles
0293:EA             NOP                 ; 2 cycles
0294:EA             NOP                 ; 2 cycles
0295:EA             NOP                 ; 2 cycles = 12 cycles
0296:BD 8C C0       LDA   $C08C,X       ; read a nibble
0299:10 FB          BPL   $0296         
029B:A9 00          LDA   #$00          ; and now decode the data field
029D:A0 56          LDY   #$56          
029F:4C 01 B9       JMP   $B901         
02A2:A9 C2          LDA   #$C2          
02A4:8D 01 BD       STA   $BD01         
02A7:A9 BE          LDA   #$BE          
02A9:8D 02 BD       STA   $BD02         
02AC:60             RTS                 
02AD:A9 24          LDA   #$24          
02AF:8D 01 BD       STA   $BD01         
02B2:A9 BF          LDA   #$BF          
02B4:8D 02 BD       STA   $BD02         
02B7:60             RTS                 
toinet
Administrateur du site
Messages : 256
Enregistré le : ven. 8 déc. 2023 10:30

Re: Les conspirateurs de l'ombre (No man's land, 1984)

Message par toinet »

The mean R/W flag of the RWTS table

Code : Tout sélectionner

00A0:88             DEY                 
00A1:D0 FD          BNE   $00A0         
00A3:E6 46          INC   $46           
00A5:D0 F7          BNE   $009E         
00A7:E6 47          INC   $47           
00A9:D0 F3          BNE   $009E         
00AB:A0 0C          LDY   #$0C          
00AD:B1 48          LDA   ($48),Y       ; which RWTS command?
00AF:F0 5C          BEQ   $010D         ; 0 is move arm
00B1:C9 04          CMP   #$04          ; 4 is format
00B3:F0 5A          BEQ   $010F         ; normally 1 is read, 2 is write
00B5:49 01          EOR   #$01          ; where R <=> W
00B7:6A             ROR                 ; now 2 is read, 1 is write
00B8:08             PHP                 
00B9:B0 03          BCS   $00BE         
00BB:20 00 B8       JSR   $B800         
00BE:A0 30          LDY   #$30          
00C0:8C 78 05       STY   $0578         
00C3:AE F8 05       LDX   $05F8         
00C6:20 44 B9       JSR   $B944         
00C9:90 24          BCC   $00EF         
00CB:CE 78 05       DEC   $0578         
00CE:10 F3          BPL   $00C3         
Répondre