unsigned char 92D1[34] =
{
    0x18, 0x93, 0x17, 0x93, 0x16, 0x93, 0x15, 0x93, 0x14, 0x93, 0x13, 0x93, 0x12, 0x93, 0x11, 0x93, 
    0x0C, 0x93, 0x0B, 0x93, 0x0A, 0x93, 0x09, 0x93, 0x08, 0x93, 0x00, 0x93, 0xF9, 0x92, 0xF3, 0x92, 
    0x61, 0x93, 
} ;

92D1:
    db $9318, $9317, $9316, $9315, $9314, $9313, $9312, $9311
    db $930c, $930b, $930a, $9309, $9308, $9300, $92f9, $92f3,
    db $9361


unsigned char 9316[34] =
{
    0x60, 0x93, 0x5F, 0x93, 0x5E, 0x93, 0x5D, 0x93, 0x5C, 0x93, 0x5B, 0x93, 0x5A, 0x93, 0x59, 0x93, 
    0x54, 0x93, 0x53, 0x93, 0x52, 0x93, 0x51, 0x93, 0x50, 0x93, 0x48, 0x93, 0x41, 0x93, 0x3B, 0x93, 
    0x61, 0x93, 
} ;

9316:
    db $9360, $935f, $935e, $935d, $935c, $935b, $935a, $9359
    db $9354, $9353, $9352, $9351, $9350, $9348, $9341, $933b
    db $9361


unsigned char 9365[26] =
{
    0x00, 0x00, 0x01, 0x00, 0x03, 0x00, 0x07, 0x00, 0x0F, 0x00, 0x1F, 0x00, 0x3F, 0x00, 0x7F, 0x00, 
    0xFF, 0x00, 0xFF, 0x01, 0xFF, 0x03, 0xFF, 0x07, 0xFF, 0x0F, 
} ;


unsigned char 937F[64] =
{
    0xFF, 0x1F, 0xFF, 0x3F, 0xFF, 0x7F, 0xFF, 0xFF, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F, 
    0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 
    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 
    0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
};


unsigned char 93BF[71] =
{
    0x1A, 0x18, 0x14, 0x14, 0x10, 0x10, 0x10, 0x10, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 0x0C, 
    0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 0x08, 
    0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
    0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 0x04, 
    0x04, 0x08, 0x08, 0x0C, 0x0C, 0x0C, 0x0C, 
} ;

unsigned char 93FE[16] =
{
    0x04, 0x04, 0x08, 0x08, 0x0C, 0x0C, 0x0C, 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 
};
unsigned char 9406[192] =
{
    0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 
    0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 0x03, 
    0x04, 0x04, 0x04, 0x04, 0x05, 0x05, 0x05, 0x05, 0x06, 0x06, 0x06, 0x06, 0x07, 0x07, 0x07, 0x07, 
    0x08, 0x08, 0x09, 0x09, 0x0A, 0x0A, 0x0B, 0x0B, 0x0C, 0x0C, 0x0D, 0x0D, 0x0E, 0x0E, 0x0F, 0x0F, 
    0x10, 0x10, 0x11, 0x11, 0x12, 0x12, 0x13, 0x13, 0x14, 0x14, 0x15, 0x15, 0x16, 0x16, 0x17, 0x17, 
    0x18, 0x18, 0x19, 0x19, 0x1A, 0x1A, 0x1B, 0x1B, 0x1C, 0x1C, 0x1D, 0x1D, 0x1E, 0x1E, 0x1F, 0x1F, 
    0x20, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x28, 0x29, 0x2A, 0x2B, 0x2C, 0x2D, 0x2E, 0x2F, 
    0x30, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x38, 0x39, 0x3A, 0x3B, 0x3C, 0x3D, 0x3E, 0x3F, 
    0x40, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 
    0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x5B, 0x5C, 0x5D, 0x5E, 0x5F, 
    0x60, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 
    0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0x7B, 0x7C, 0x7D, 0x7E, 0x7F, 
} ;

unsigned char 94c6[9] =
{
    0x0E, 0x0E, 0x10, 0x12, 0x12, 0x12, 0x14, 0x14, 0x14, 
} ;

unsigned char 94cf[6] =
{
    0x14, 0x14, 0x14, 0x0A, 0x08, 0x06, 
} ;

unsigned char 94D4[8] =
{
    0x06, 0x04, 0x02, 0x16, 0x18, 0x1A, 0x1C, 0x1E, 
} ;




Entrée de la routine.
X contient 7E ou 7F
A contient le bank
Y est à 0

main()

$80/9190 85 05       STA $05    ;contient le bank de la donnée compressée
$80/9192 86 02       STX $02   ;Contient le bank de la donnée décompressée
$80/9194 8A          TXA                  
$80/9195 38          SEC                  
$80/9196 E9 7E       SBC #$7E             
$80/9198 85 11       STA $11
$80/919A 64 12       STZ $12
$80/919C C2 21       REP #$21             
$80/919E 68          PLA          ;Contient l'adresse juste après le JSL (adresse de sortie)
$80/919F 85 06       STA $06    ;sauvegarde l'adresse de sortie
$80/91A1 FA          PLX        ;contient le bank de l'adresse de sortie          
$80/91A2 68          PLA        ;contient le bank où on va décompresser les données        
$80/91A3 85 00       STA $00    ;le sauvegarde dans 00
$80/91A5 68          PLA        ;Restaure l'adresse de la donnée compressée        
$80/91A6 85 03       STA $03    ;la met dans $03
$80/91A8 DA          PHX        ;sauvegarde le bank de l'adresse de sortie        
$80/91A9 A5 06       LDA $06    ;Charge l'adresse de sortie.
$80/91AB 48          PHA        ;la sauvegarde (est-ce nécessaire pour savoir d'où on sort après le RTL?)            
$80/91AC 64 0A       STZ $0A    ;met 0a à 0 (est utilisé après comme variable)
$80/91AE 64 0C       STZ $0C    ;idem
$80/91B0 A2 20       LDX #$20    ;Charge          
$80/91B2 20 79 92    JSR $9279   --récupéré
$80/91B5 E2 20       SEP #$20             
$80/91B7 A2 00       LDX #$00

91B9:           
$80/91B9 CA          DEX                  
$80/91BA 10 13       BPL $13    [$91CF]   
$80/91BC A2 07       LDX #$07             
$80/91BE A7 03       LDA [$03]  ;charge la donnée compressée
$80/91C0 85 10       STA $10    [$00:0010]
$80/91C2 E6 03       INC $03
$80/91C4 D0 09       BNE $09    [$91CF]   
$80/91C6 E6 04       INC $04
$80/91C8 D0 05       BNE $05    [$91CF]
--Jamais atteint?   
$80/91CA 38          SEC                  
$80/91CB 66 04       ROR $04
$80/91CD E6 05       INC $05    ;augmente d'un le bank de la donnée compressée
---Fin jamais atteint.
$80/91CF 06 10       ASL $10
$80/91D1 90 18       BCC $18    [$91EB]   
$80/91D3 A7 03       LDA [$03]  ;charge la donnée compressée
$80/91D5 87 00       STA [$00]
$80/91D7 E6 03       INC $03
$80/91D9 D0 08       BNE $08    [$91E3]   
$80/91DB E6 04       INC $04
$80/91DD D0 04       BNE $04    [$91E3]
---Jamais atteint?   
$80/91DF 66 04       ROR $04
$80/91E1 E6 05       INC $05    ;augmente d'un le bank de la donnée compressée
---fin jamais atteint.
$80/91E3 E6 00       INC $00
$80/91E5 D0 D2       BNE $D2    [$91B9]   
$80/91E7 E6 01       INC $01
$80/91E9 80 CE       BRA $CE    [$91B9]
91EB:
$80/91EB DA          PHX                  
$80/91EC C2 20       REP #$20             
$80/91EE A5 06       LDA $06
$80/91F0 30 2D       BMI $2D    [$921F]   
$80/91F2 4A          LSR A                
$80/91F3 EB          XBA                  
$80/91F4 A8          TAY                  
$80/91F5 F0 0D       BEQ $0D    [$9204]   
$80/91F7 C0 08       CPY #$08             
$80/91F9 B0 17       BCS $17    [$9212]   
$80/91FB EB          XBA                  
$80/91FC BE FE 93    LDX $93FE,y
$80/91FF FC 19 93    JSR ($9319,x)
$80/9202 80 12       BRA $12    [$9216]   
$80/9204 EB          XBA                  
$80/9205 4A          LSR A                
$80/9206 09 80 00    ORA #$0080           
$80/9209 C9 FF 00    CMP #$00FF           
$80/920C D0 08       BNE $08    [$9216]   
$80/920E E2 20       SEP #$20             
$80/9210 FA          PLX                  
$80/9211 6B          RTL
fin main();


9212:
$80/9212 BE 7F 93    LDX $937F,y[$80:937F]
$80/9215 8A          TXA                  
$80/9216 48          PHA                  
$80/9217 BE BF 93    LDX $93BF,y[$80:93BF]
$80/921A 20 79 92    JSR $9279
$80/921D 80 03       BRA $03    [$9222]
921F:
$80/921F F4 01 00    PEA $0001  [$80:0001]
$80/9222 0A          ASL A                
$80/9223 C9 00 60    CMP #$6000              
$80/9226 B0 12       BCS $12    [$923A]      
$80/9228 0A          ASL A                   
$80/9229 EB          XBA                     
$80/922A A8          TAY                     
$80/922B BE 06 94    LDX $9406,y[$80:9406]
$80/922E 98          TYA                  
$80/922F 4A          LSR A                
$80/9230 4A          LSR A                
$80/9231 4A          LSR A                
$80/9232 4A          LSR A                
$80/9233 A8          TAY                  
$80/9234 8A          TXA                  
$80/9235 BE C6 94    LDX $94C6,y
$80/9238 80 19       BRA $19    [$9253] 

923A:  
$80/923A 0A          ASL A 
$80/923B 2A          ROL A
$80/923C 2A          ROL A                   
$80/923D 2A          ROL A                   
$80/923E 29 07 00    AND #$0007              
$80/9241 A8          TAY                     
$80/9242 A5 06       LDA $06        ;Charge l'adresse de sortie. 
$80/9244 29 FF 0F    AND #$0FFF              
$80/9247 09 00 10    ORA #$1000              
$80/924A BE CF 94    LDX $94CF,y
$80/924D FC 19 93    JSR ($9319,x)
$80/9250 BE D4 94    LDX $94D4,y[$80:94D4]
$80/9253 85 0E       STA $0E
$80/9255 20 79 92    JSR $9279
$80/9258 C2 11       REP #$11             
$80/925A A4 00       LDY $00
$80/925C 98          TYA                  
$80/925D E5 0E       SBC $0E
$80/925F AA          TAX                  
$80/9260 68          PLA                  
$80/9261 8B          PHB                  
$80/9262 E6 11       INC $11
$80/9264 C6 11       DEC $11
$80/9266 D0 05       BNE $05    [$926D]   
$80/9268 54 7E 7E    MVN 7E 7E            
$80/926B 80 03       BRA $03    [$9270]   
$80/926D 54 7F 7F    MVN 7F 7F            
$80/9270 AB          PLB                  
$80/9271 84 00       STY $00
$80/9273 E2 30       SEP #$30             
$80/9275 FA          PLX                  
$80/9276 4C B9 91    JMP $91B9  [$80:91B9]
fin main(); (2ème)

function sub9279();     X est important. A : zilch. Y : Zilch
9279:
$80/9279 86 0C       STX $0C
$80/927B A5 06       LDA $06
$80/927D FC D1 92    JSR ($92D1,x)
$80/9280 85 06       STA $06
$80/9282 A6 0A       LDX $0A
$80/9284 E4 0C       CPX $0C
$80/9286 B0 34       BCS $34    [$92BC]   
$80/9288 A5 0C       LDA $0C
$80/928A 38          SEC                  
$80/928B E5 0A       SBC $0A
$80/928D 85 0C       STA $0C
$80/928F A5 08       LDA $08    ;Au début, il est à 0, et selon les passage dans la routine de décompression, il garde en mémoire sa valeur...
$80/9291 3D 65 93    AND $9365,x
$80/9294 A6 0C       LDX $0C
$80/9296 FC D1 92    JSR ($92D1,x)
$80/9299 04 06       TSB $06
$80/929B A7 03       LDA [$03]  ;charge la donnée compressée
$80/929D 85 08       STA $08
$80/929F A5 03       LDA $03
$80/92A1 1A          INC A                
$80/92A2 1A          INC A                
$80/92A3 85 03       STA $03
$80/92A5 30 12       BMI $12    [$92B9]
---- Jamais atteint?
$80/92A7 E2 21       SEP #$21             
$80/92A9 66 04       ROR $04
$80/92AB E6 05       INC $05    ;augmente d'un le bank de la donnée compressée
$80/92AD C6 03       DEC $03
$80/92AF D0 04       BNE $04    [$92B5]   
$80/92B1 A7 03       LDA [$03]  ;charge la donnée compressée
$80/92B3 85 09       STA $09
$80/92B5 E6 03       INC $03
$80/92B7 C2 20       REP #$20
----             
$80/92B9 A2 20       LDX #$20             
$80/92BB 38          SEC                  
$80/92BC 8A          TXA                  
$80/92BD E5 0C       SBC $0C
$80/92BF 85 0A       STA $0A
$80/92C1 AA          TAX                  
$80/92C2 A5 08       LDA $08
$80/92C4 FC 19 93    JSR ($9319,x)
$80/92C7 A6 0C       LDX $0C
$80/92C9 3D 65 93    AND $9365,x
$80/92CC 05 06       ORA $06
$80/92CE 85 06       STA $06
$80/92D0 60          RTS    

              
$80/92F3 29 01 00    AND #$0001 
$80/92F6 4A          LSR A      
$80/92F7 6A          ROR A      
$80/92F8 60          RTS

$80/92F9 29 03 00    AND #$0003 
$80/92FC 4A          LSR A      
$80/92FD 6A          ROR A      
$80/92FE 6A          ROR A      
$80/92FF 60          RTS

$80/9300 29 07 00    AND #$0007 
$80/9303 4A          LSR A      
$80/9304 6A          ROR A      
$80/9305 6A          ROR A      
$80/9306 6A          ROR A      
$80/9307 60          RTS

$80/9308 0A          ASL A      
$80/9309 0A          ASL A      
$80/930A 0A          ASL A      
$80/930B 0A          ASL A      
$80/930C EB          XBA        
$80/930D 29 00 FF    AND #$FF00 
$80/9310 60          RTS

$80/9311 0A          ASL A      
$80/9312 0A          ASL A      
$80/9313 0A          ASL A      
$80/9314 0A          ASL A      
$80/9315 0A          ASL A      
$80/9316 0A          ASL A      
$80/9317 0A          ASL A      
$80/9318 60          RTS

$80/9319 60          RTS       

$80/933B 29 00 80    AND #$8000 
$80/933E 0A          ASL A      
$80/933F 2A          ROL A      
$80/9340 60          RTS
      
$80/9341 29 00 C0    AND #$C000 
$80/9344 0A          ASL A      
$80/9345 2A          ROL A      
$80/9346 2A          ROL A      
$80/9347 60          RTS

$80/9348 29 00 E0    AND #$E000 
$80/934B 0A          ASL A      
$80/934C 2A          ROL A      
$80/934D 2A          ROL A      
$80/934E 2A          ROL A      
$80/934F 60          RTS
        
$80/9350 4A          LSR A      
$80/9351 4A          LSR A      
$80/9352 4A          LSR A      
$80/9353 4A          LSR A      
$80/9354 EB          XBA        
$80/9355 29 FF 00    AND #$00FF 
$80/9358 60          RTS

$80/9359 4A          LSR A      
$80/935A 4A          LSR A      
$80/935B 4A          LSR A      
$80/935C 4A          LSR A      
$80/935D 4A          LSR A      
$80/935E 4A          LSR A      
$80/935F 4A          LSR A      
$80/9360 60          RTS

$80/9361 A9 00 00    LDA #$0000 
$80/9364 60          RTS

 


