home *** CD-ROM | disk | FTP | other *** search
/ Falcon 030 Power 2 / F030_POWER2.iso / ST_STE / MAGS / TOXIC_12.ARJ / TOXIC_12.MSA / PROGRAMS / SUPERNOV / UNPACK.S < prev   
Text File  |  1998-07-14  |  1KB  |  37 lines

  1. **********************
  2. ; DECOMPRESSION
  3. ; vitesse: 420 ko/min
  4. **********************
  5. UNZIP
  6.     MOVE    #$777,$FFFF8240.w
  7.     MOVE.B    (A0)+,D0        octet suivant
  8.     CMP.B    #139,D0            est ce un code?
  9.     BHI.S    CODE_FOUND    
  10.     MOVE.B    D0,(A2)+        non, on le recopie tel quel
  11.     MOVE    #$700,$FFFF8240.w
  12.     BRA.S    UNZIP            
  13. CODE_FOUND
  14.     CMP.B    #"≡",D0            fin du texte?
  15.     BEQ.S    DONE
  16.     LEA    SEQUENCES,A1        on charge la table des codes
  17. FIND_CODE                ;(la meme que celle pour la compression)
  18.     CLR    D1            
  19.     MOVE.B    (A1)+,D1        d1=taille de la prochaine sequence
  20.     CMP.B    #$F,D1            est ce la fin?
  21.     BEQ.S    UNZIP            
  22.     ADD    D1,A1            on pointe le code correspondant
  23.     CMP.B    (A1),D0            on le compare a notre code
  24.     BEQ.S    UNCOMPRESS        
  25.     ADDQ    #1,A1            ce n'est pas celui ci, alors un autre
  26.     BRA.S    FIND_CODE
  27. UNCOMPRESS
  28.     MOVE    #$070,$FFFF8240.w
  29.     SUB    D1,A1            on pointe sur la sequence
  30.     SUBQ    #1,D1            (sans oublier de sauter le code) 
  31. RESTORE_SEQ
  32.     MOVE.B    (A1)+,(A2)+        et on la recopie
  33.     DBF    D1,RESTORE_SEQ
  34.     MOVE    #$777,$FFFF8240.w
  35.     BRA.S    UNZIP
  36. DONE    RTS
  37.