?login_element?

Subversion Repositories NedoOS

Rev

Rev 61 | Blame | Compare with Previous | Last modification | View Log | Download | RSS feed

  1. ;---------------------------------------
  2. ; Depacker Laser Compact 5.2
  3. ; +0(5): "LCMP5"
  4. ; +5(2): Length screen without header
  5. ; +7(1): Additional info length:
  6. ;-------
  7. ; 11 byte - File name
  8. ; N byte - Comment.
  9. ;-------
  10. ;(C) Hrumer. 06.12.99. Hrumer@inbox.ru
  11. ;
  12. ; IN: HL - Address of compressed screen
  13. ;---------------------------------------
  14.  
  15.  
  16. ;deblcscradr     EQU #4000;#8000;#C000
  17.  
  18. deblc
  19.         LD DE,7;SKIP "LCMP5" & LENGTH
  20.         ADD HL,DE
  21.  
  22.         LD A,(HL)
  23.         INC HL
  24.         LD E,A
  25.         ADD HL,DE
  26.  
  27.         LD A,(HL)
  28.         LD E,A;РАЗРЫВ
  29.  
  30.         AND 3
  31.         RLCA
  32.         RLCA
  33.         RLCA
  34.         OR deblcscradr/256
  35.  
  36.         EXX
  37.         LD D,A;НАЧАЛО
  38.         LD E,0
  39.         EXX
  40.  
  41.         LD A,(HL)
  42.         INC HL
  43.         XOR deblcscradr/256+#18
  44.         AND #FC
  45.         LD HX,A;КОНЕЦ Ч. ИЗО.
  46.  
  47. dlc1    LD A,(HL)
  48.         INC HL
  49.         LD LX,#FF
  50. dlc2
  51.         EXX
  52.         JR NZ,dlc10
  53.         LD B,1
  54.  
  55. dlc3    EX AF,AF'
  56.        SLA D
  57.        JR NZ,$+6
  58.        LD D,(HL)
  59.        INC HL
  60.        SLI D
  61.  
  62.        DJNZ dlc7
  63.  
  64.        JR C,dlc1
  65.  
  66.        INC B
  67. ;-----------
  68. dlc4    LD C,#56;            %01010110
  69.        LD A,#FE
  70. dlc5    SLA D
  71.        JR NZ,$+6
  72.        LD D,(HL)
  73.        INC HL
  74.        RL D
  75.        RLA
  76.        SLA C
  77.        JR Z,dlc6
  78.        JR C,dlc5
  79.        RRCA
  80.        JR NC,dlc5
  81.        SUB 8
  82. dlc6    ADD A,9
  83. ;---------
  84.        DJNZ dlc3
  85.  
  86.        CP 0-8+1
  87.        JR NZ,$+4
  88.        LD A,(HL)
  89.        INC HL
  90.  
  91.        ADC A,#FF
  92.        LD LX,A
  93.        JR C,dlc4
  94.        LD HL,#2758
  95.        EXX
  96.        RET
  97. ;-------------
  98. dlc7    LD A,(HL)
  99.        INC HL
  100.  
  101.        EXX
  102.        LD L,A
  103.        EX AF,AF'
  104.         LD H,A
  105.         ADD HL,DE
  106.  
  107.         CP #FF-2
  108.         JR NC,dlc8
  109.         DEC LX
  110. dlc8
  111.         LD A,H
  112.         CP HX
  113.         JR NC,dlc13
  114.         XOR L
  115.         AND #F8
  116.         XOR L
  117.         LD B,A
  118.         XOR L
  119.         XOR H
  120.         RLCA
  121.         RLCA
  122.         LD C,A
  123.  
  124. dlc9    EX AF,AF'
  125.        LD A,(BC)
  126. dlc10   EX AF,AF'
  127.         LD A,D
  128.         CP HX
  129.         JR NC,dlc14
  130.         XOR E
  131.         AND #F8
  132.         XOR E
  133.         LD B,A
  134.         XOR E
  135.         XOR D
  136.         RLCA
  137.         RLCA
  138.         LD C,A
  139.  
  140. dlc11   EX AF,AF'
  141.        LD (BC),A
  142.  
  143.        INC DE
  144.        JR NC,$+4
  145.        DEC HL
  146.        DEC HL
  147.        INC HL
  148.        EX AF,AF'
  149.         INC LX
  150.         JR NZ,dlc8
  151.         JR dlc2
  152.  
  153. dlc13   SCF
  154. dlc14   PUSH AF
  155.         EXX
  156.         ADD A,E
  157.         EXX
  158.         LD B,A
  159.         POP AF
  160.         LD C,E
  161.         JR NC,dlc11
  162.         LD C,L
  163.         JR dlc9
  164.  
  165. ;LENDEC  EQU $-DECOMPR
  166.  
  167.