home *** CD-ROM | disk | FTP | other *** search
/ Crawly Crypt Collection 2 / crawlyvol2.bin / utility / archiver / auto_501 / lump501.s < prev    next >
Text File  |  1985-11-17  |  22KB  |  1,203 lines

  1.     TEXT
  2. Begin    
  3.     BRA    L0004
  4. L0000    DC.B    'super.lum',0,0,0,0,0,0,0
  5. L0001    DS.W    1
  6. L0002    DC.B    'cycle.PRG',0
  7. L0003    DC.B    $1B,$45,$1B,$66,$1B,$77
  8.     DC.B    'MESSAGE TO APPEAR AT FRONT OF LOADER',13,10
  9.     DC.B    'HI FROM EGB... ETC',13,10
  10.     DC.B    0
  11.     EVEN
  12.  
  13. L0004    MOVEA.L    4(A7),A5    
  14.     MOVE.L    12(A5),D0
  15.     ADD.L    20(A5),D0
  16.     ADD.L    28(A5),D0
  17.     ADDI.L    #$200,D0
  18.     ADDI.L    #$4008,D0
  19.     MOVE.L    D0,-(A7)
  20.     MOVE.L    A5,-(A7)
  21.     MOVE.L    #$4A0000,-(A7)
  22.     TRAP    #1
  23.     LEA    12(A7),A7
  24.     DC.B    $A0,$0A
  25.     PEA    L0003
  26.     MOVE.W    #9,-(A7)
  27.     TRAP    #1
  28.     ADDQ.L    #6,A7
  29.     DC.B    $A0,$09
  30.     MOVE.L    #L00AF,L009E
  31.     MOVE.L    #L0000,L009A
  32.     MOVE.L    #L0001,L009B
  33.     CLR.L    -(A7)
  34.     MOVE.W    #$20,-(A7)
  35.     TRAP    #1
  36.     ADDQ.L    #6,A7
  37.     LEA    L0096(PC),A6
  38.     MOVE.L    D0,(A6)
  39.     MOVE.L    $00000084.L,L000A
  40.     MOVE.L    #L0006,$00000084.L
  41.     MOVE.L    L0096(PC),-(A7)
  42.     MOVE.W    #$20,-(A7)
  43.     TRAP    #1
  44.     ADDQ.L    #6,A7
  45. L0005    CLR.L    L009C
  46.     MOVEA.L    #L0005,A7
  47.     MOVE.L    #L0000,L0099
  48.     MOVE.L    #-$16,L0098
  49.     CLR.L    $00060000
  50.     PEA    $00060000
  51.     PEA    $00060000
  52.     MOVE.L    #L0002,-(A7)
  53.     MOVE.L    #$4B0000,-(A7)
  54.     TRAP    #1
  55.     LEA    16(A7),A7
  56.     CLR.W    -(A7)
  57.     TRAP    #1
  58. L0006    TST.W    L009D
  59.     BNE    L0009
  60.     MOVEM.L    A0-A6/D0-D7,L00A0
  61.     MOVEA.L    A7,A1
  62.     ADDQ.L    #6,A1
  63.     MOVE.W    (A7),D0
  64.     BTST    #13,D0
  65.     BNE.S    L0007
  66.     MOVE    USP,A1
  67. L0007    CMPI.W    #$3D,(A1)
  68.     BEQ    L000B
  69.     CMPI.W    #$3F,(A1)
  70.     BEQ    L0014
  71.     CMPI.W    #$3E,(A1)
  72.     BEQ    L0032
  73.     CMPI.W    #$3C,(A1)
  74.     BEQ    L0042
  75.     CMPI.W    #$40,(A1)
  76.     BEQ    L0045
  77.     CMPI.W    #$42,(A1)
  78.     BEQ    L0039
  79.     CMPI.W    #$4E,(A1)
  80.     BEQ    L0046
  81.     CMPI.W    #$4F,(A1)
  82.     BEQ    L0051
  83.     CMPI.W    #$45,(A1)
  84.     BEQ    L0052
  85.     CMPI.W    #$46,(A1)
  86.     BEQ    L0053
  87. L0008    MOVEM.L    L00A0(PC),A0-A6/D0-D7
  88. L0009    JMP    $00000000.L
  89. L000A    EQU    L0009+2
  90. L000B    MOVE.W    #1,L009D
  91.     BSR    L0055
  92.     MOVE.L    D0,D7
  93.     MOVE.L    D0,D6
  94.     MOVEA.L    A0,A5
  95.     MOVEA.L    2(A1),A6
  96.     MOVE.W    6(A1),-(A7)
  97.     MOVE.L    A6,-(A7)
  98.     MOVE.W    #$3D,-(A7)
  99.     TRAP    #1
  100.     ADDQ.L    #8,A7
  101.     TST.L    D0
  102.     BPL    L000D
  103.     CLR.L    D6
  104.     MOVEA.L    A6,A0
  105.     MOVEA.L    L009A,A4
  106.     BSR    L0057
  107.     TST.L    D0
  108.     BMI    L0041
  109.     LEA    L0095,A1
  110.     MOVE.L    D7,D6
  111.     LSL.L    #2,D6
  112.     MOVE.L    D0,0(A1,D6.W)
  113.     LEA    L00A4,A1
  114.     CLR.L    0(A1,D6.W)
  115.     LEA    L00A8,A1
  116.     MOVE.L    A4,0(A1,D6.W)
  117.     LEA    L00A5,A1
  118.     MOVE.L    14(A0),0(A1,D6.W)
  119.     LEA    L00A7,A1
  120.     MOVE.L    18(A0),0(A1,D6.W)
  121.     CLR.L    D0
  122.     MOVEA.L    L009E,A0
  123.     MOVE.W    200(A0),D0
  124.     MULU    #$16,D0
  125.     ADDQ.L    #2,D0
  126.     ANDI.L    #$FFFF,D0
  127.     ADD.L    D0,0(A1,D6.W)
  128.     MOVE.L    D7,D6
  129.     LSL.L    #5,D7
  130.     LEA    L00A6,A0
  131.     ADDA.L    D7,A0
  132.     MOVEA.L    A6,A2
  133. L000C    MOVE.B    (A2)+,(A0)+
  134.     BNE.S    L000C
  135.     BRA    L0013
  136. L000D    MOVE.L    D0,D4
  137.     CLR.L    L00AB
  138.     PEA    L00AB
  139.     MOVE.L    #8,-(A7)
  140.     MOVE.W    D4,-(A7)
  141.     MOVE.W    #$3F,-(A7)
  142.     TRAP    #1
  143.     LEA    12(A7),A7
  144.     CLR.W    -(A7)
  145.     MOVE.W    D4,-(A7)
  146.     CLR.L    -(A7)
  147.     MOVE.W    #$42,-(A7)
  148.     TRAP    #1
  149.     LEA    10(A7),A7
  150.     MOVEA.L    A6,A4
  151.     MOVE.L    #$1F,D0
  152. L000E    MOVE.B    (A6)+,(A5)+
  153.     DBF    D0,L000E
  154.     LSL.L    #2,D7
  155.     LEA    L00A4,A0
  156.     MOVE.L    #0,0(A0,D7.W)
  157.     LEA    L00A7,A0
  158.     MOVE.L    #0,0(A0,D7.W)
  159.     CMPI.L    #"AU5$",L00AB
  160.     BEQ.S    L000F
  161.     LEA    L0095,A0
  162.     MOVE.L    D4,0(A0,D7.W)
  163.     LEA    L00A8,A0
  164.     MOVE.L    #0,0(A0,D7.W)
  165.     CMPI.L    #"AU5C",L00AB
  166.     BNE    L0013
  167.     MOVE.L    #-1,0(A0,D7.W)
  168.     LEA    L00A5,A0
  169.     MOVE.L    L00AC,0(A0,D7.W)
  170.     BRA    L0010
  171. L000F    LEA    L00A5,A0
  172.     MOVE.L    L00AC,0(A0,D7.W)
  173.     LEA    L0095,A0
  174.     MOVE.L    #-1,0(A0,D7.W)
  175.     LEA    L00A8,A0
  176.     MOVE.L    #0,0(A0,D7.W)
  177.     MOVE.W    D4,-(A7)
  178.     MOVE.W    #$3E,-(A7)
  179.     TRAP    #1
  180.     ADDQ.L    #4,A7
  181. L0010    LEA    L00A3,A5
  182. L0011    TST.B    (A4)
  183.     BEQ.S    L0012
  184.     CMPM.B    (A4)+,(A5)+
  185.     BEQ.S    L0011
  186.     BRA.S    L0013
  187. L0012    TST.B    (A5)
  188.     BNE.S    L0013
  189.     MOVE.L    D6,L009C
  190. L0013    CLR.W    L009D
  191.     MOVE.L    D6,-(A7)
  192.     MOVEM.L    L00A0,A0-A6/D0-D7
  193.     MOVE.L    (A7)+,D0
  194.     RTE
  195. L0014    CLR.L    D0
  196.     MOVE.W    2(A1),D0
  197.     TST.W    D0
  198.     BMI    L0015
  199.     MOVE.W    D0,D1
  200.     LSL.L    #2,D1
  201.     LEA    L0095,A0
  202.     MOVE.L    0(A0,D1.W),D2
  203.     CMP.W    #-1,D2
  204.     BEQ    L0019
  205.     LEA    L00A8,A0
  206.     MOVE.L    0(A0,D1.W),D3
  207.     TST.L    D3
  208.     BNE    L001F
  209. L0015    MOVE.W    #1,L009D
  210.     MOVE.L    8(A1),D7
  211.     MOVE.L    D7,-(A7)
  212.     MOVE.L    4(A1),-(A7)
  213.     MOVE.W    D2,-(A7)
  214.     MOVE.W    #$3F,-(A7)
  215.     TRAP    #1
  216.     LEA    12(A7),A7
  217.     MOVE.L    D0,D5
  218.     MOVEA.L    D7,A0
  219.     CLR.L    D0
  220.     MOVE.B    (A0),D0
  221.     LSL.W    #8,D0
  222.     MOVE.B    1(A0),D0
  223.     SWAP    D0
  224.     MOVE.B    2(A0),D0
  225.     LSL.W    #8,D0
  226.     MOVE.B    3(A0),D0
  227.     CMP.L    #"AU5!",D0
  228.     BNE    L0031
  229.     LEA    -200(A0),A1
  230.     MOVEA.L    A1,A2
  231.     LEA    L00A9,A3
  232.     MOVE.L    #$C7,D1
  233. L0016    MOVE.B    (A2)+,(A3)+
  234.     DBF    D1,L0016
  235. L0017    MOVE.B    (A0)+,(A1)+
  236.     SUBQ.L    #1,D5
  237.     BNE.S    L0017
  238.     MOVEA.L    A2,A1
  239.     LEA    -200(A1),A0
  240.     MOVE.L    A0,-(A7)
  241.     BSR    L0075
  242.     MOVEA.L    (A7)+,A0
  243.     LEA    L00A9,A1
  244.     MOVE.L    #$C7,D1
  245. L0018    MOVE.B    (A1)+,(A0)+
  246.     DBF    D1,L0018
  247.     BRA    L0031
  248. L0019    CMP.L    L009C,D0
  249.     BEQ    L001B
  250.     MOVEA.L    A1,A5
  251.     MOVE.W    #1,L009D
  252.     MOVE.L    D0,L009C
  253.     LSL.L    #5,D0
  254.     LEA    L00A6,A0
  255.     ADDA.L    D0,A0
  256.     MOVEA.L    A0,A1
  257.     LEA    L00A3,A2
  258.     MOVE.W    #$1F,D0
  259. L001A    MOVE.B    (A1)+,(A2)+
  260.     DBF    D0,L001A
  261.     CLR.W    -(A7)
  262.     MOVE.L    A0,-(A7)
  263.     MOVE.W    #$3D,-(A7)
  264.     TRAP    #1
  265.     ADDQ.L    #8,A7
  266.     MOVE.W    D0,D6
  267.     MOVE.L    L009E,-(A7)
  268.     MOVE.L    #$2008,-(A7)
  269.     MOVE.W    D0,-(A7)
  270.     MOVE.W    #$3F,-(A7)
  271.     TRAP    #1
  272.     LEA    12(A7),A7
  273.     MOVE.W    D6,-(A7)
  274.     MOVE.W    #$3E,-(A7)
  275.     TRAP    #1
  276.     ADDQ.L    #4,A7
  277.     CLR.W    L009D
  278.     MOVEA.L    L009E,A0
  279.     LEA    200(A0),A1
  280.     MOVE.L    4(A0),D7
  281.     BSR    L0075
  282.     MOVEA.L    A5,A1
  283. L001B    MOVE.L    4(A1),D0
  284.     MOVE.L    D0,D5
  285.     MOVEA.L    8(A1),A0
  286.     MOVE.L    L009C,D1
  287.     LSL.L    #2,D1
  288.     LEA    L00A4,A2
  289.     LEA    L00A5,A3
  290.     MOVE.L    0(A2,D1.W),D2
  291.     MOVE.L    0(A3,D1.W),D3
  292.     MOVEA.L    L009E,A1
  293.     LEA    200(A1),A1
  294.     ADDA.L    D2,A1
  295. L001C    MOVE.B    (A1)+,(A0)+
  296.     ADDQ.L    #1,D2
  297.     CMP.L    D2,D3
  298.     BLT.S    L001D
  299.     SUBQ.L    #1,D0
  300.     BNE.S    L001C
  301.     BRA.S    L001E
  302. L001D    MOVE.L    D3,D2
  303. L001E    MOVE.L    D2,0(A2,D1.W)
  304.     SUB.L    D0,D5
  305.     BRA    L0031
  306. L001F    MOVE.W    #1,L009D
  307.     CMP.L    L009C,D0
  308.     BEQ    L0021
  309.     MOVE.L    D0,L009C
  310.     LEA    L00A8,A0
  311.     MOVEA.L    0(A0,D1.W),A5
  312.     CMPA.L    L00A3,A5
  313.     BEQ    L0021
  314.     MOVEA.L    A1,A5
  315.     LSL.L    #5,D0
  316.     LEA    L00A6,A1
  317.     ADDA.L    D0,A1
  318.     LEA    L00A3,A2
  319.     MOVE.W    #$1F,D0
  320. L0020    MOVE.B    (A1)+,(A2)+
  321.     DBF    D0,L0020
  322.     MOVE.L    D2,D7
  323.     CLR.W    -(A7)
  324.     MOVE.W    D7,-(A7)
  325.     CLR.L    -(A7)
  326.     MOVE.W    #$42,-(A7)
  327.     TRAP    #1
  328.     LEA    10(A7),A7
  329.     PEA    L00AB
  330.     MOVE.L    #$400,-(A7)
  331.     MOVE.W    D7,-(A7)
  332.     MOVE.W    #$3F,-(A7)
  333.     TRAP    #1
  334.     LEA    12(A7),A7
  335.     MOVE.L    L00AC,D0
  336.     MOVE.L    L00AD,D2
  337.     SUBQ.L    #1,D2
  338.     EORI.L    #-1,D2
  339.     AND.L    D2,D0
  340.     MOVE.L    D0,L00AA
  341.     MOVE.L    #-1,L009F
  342.     MOVEA.L    A5,A1
  343.     MOVE.L    D7,D2
  344.     MOVE.L    L009C,D0
  345.     MOVE.L    D0,D1
  346.     LSL.L    #2,D1
  347. L0021    LEA    L00A4,A0
  348.     MOVE.L    0(A0,D1.W),D4
  349.     MOVE.L    4(A1),D5
  350.     MOVE.L    D4,D7
  351.     ADD.L    D5,D7
  352.     CMP.L    D4,D7
  353.     BLT.S    L0022
  354.     LEA    L00A5,A0
  355.     CMP.L    0(A0,D1.W),D7
  356.     BLT    L0023
  357. L0022    MOVE.L    0(A0,D1.W),D7
  358. L0023    SUB.L    D4,D7
  359.     MOVE.L    D7,D5
  360.     MOVEA.L    8(A1),A4
  361.     MOVEA.L    A4,A5
  362.     ADDA.L    D5,A5
  363.     SUBA.L    #1,A5
  364.     TST.L    D5
  365.     BEQ    L0031
  366.     LEA    L00A4,A0
  367.     LEA    L00A7,A1
  368.     MOVE.L    0(A1,D1.W),D0
  369.     ADD.L    D0,0(A0,D1.W)
  370.     MOVE.W    D2,L00A1
  371.     MOVE.L    D5,D2
  372.     LEA    L00A4,A0
  373.     MOVE.L    0(A0,D1.W),D0
  374.     MOVEA.L    D0,A2
  375.     MOVEA.L    A2,A3
  376.     MOVE.L    L00AD,D3
  377.     SUBQ.L    #1,D3
  378.     AND.L    D3,D0
  379.     MOVE.L    D3,D7
  380.     MOVE.L    D0,D6
  381.     EORI.L    #-1,D3
  382.     MOVE.L    A2,D0
  383.     AND.L    D3,D0
  384.     MOVE.L    D0,D4
  385.     ADDA.L    D5,A3
  386.     MOVE.L    A3,D5
  387.     AND.L    D7,D5
  388.     MOVE.L    A3,D0
  389.     AND.L    D3,D0
  390.     MOVE.L    D0,D3
  391.     SUB.L    D4,D0
  392.     MOVE.L    L00AD,D7
  393.     DIVU    D7,D0
  394.     MOVE.L    D0,D7
  395.     MOVE.L    D4,D0
  396.     MOVE.L    L00AD,D2
  397.     LEA    L00AE,A0
  398.     CMP.L    L00AA,D0
  399.     BNE.S    L0024
  400.     DIVU    D2,D0
  401.     LSL.L    #2,D0
  402.     MOVE.L    L00AC,D1
  403.     BRA.S    L0025
  404. L0024    DIVU    D2,D0
  405.     LSL.L    #2,D0
  406.     MOVE.L    4(A0,D0.W),D1
  407. L0025    MOVE.L    0(A0,D0.W),D2
  408.     MOVE.L    D1,D0
  409.     SUB.L    D2,D0
  410.     CMP.L    L009F,D4
  411.     BEQ    L0026
  412.     MOVE.L    D4,L009F
  413.     CLR.W    -(A7)
  414.     MOVE.W    L00A1,-(A7)
  415.     MOVE.L    D2,-(A7)
  416.     MOVE.L    D0,D2
  417.     MOVE.W    #$42,-(A7)
  418.     TRAP    #1
  419.     LEA    10(A7),A7
  420.     MOVE.L    L009E,-(A7)
  421.     MOVE.L    D2,-(A7)
  422.     MOVE.W    L00A1,-(A7)
  423.     MOVE.W    #$3F,-(A7)
  424.     TRAP    #1
  425.     LEA    12(A7),A7
  426.     MOVEA.L    L009E,A0
  427.     LEA    200(A0),A1
  428.     BSR    L0070
  429.     BRA    L0027
  430. L0026    TST.L    D7
  431.     BEQ    L002C
  432.     CLR.W    -(A7)
  433.     MOVE.W    L00A1,-(A7)
  434.     MOVE.L    D1,-(A7)
  435.     MOVE.W    #$42,-(A7)
  436.     TRAP    #1
  437.     LEA    10(A7),A7
  438. L0027    CMP.L    #1,D7
  439.     BLE    L002C
  440.     MOVE.L    D7,-(A7)
  441.     LSL.L    #2,D7
  442.     MOVE.L    D4,D0
  443.     MOVE.L    L00AD,D2
  444.     LEA    L00AE,A0
  445.     DIVU    D2,D0
  446.     LSL.L    #2,D0
  447.     MOVE.L    4(A0,D0.W),D1
  448.     ADDA.L    D7,A0
  449.     MOVE.L    0(A0,D0.W),D2
  450.     MOVE.L    D2,D0
  451.     SUB.L    D1,D0
  452.     MOVEA.L    A4,A6
  453.     ADDA.L    L00AD,A6
  454.     SUBA.L    D6,A6
  455.     LEA    -200(A6),A3
  456.     MOVE.L    A3,D7
  457.     MOVE.L    #$C7,D1
  458.     BTST    #0,D7
  459.     BEQ.S    L0028
  460.     ADDQ.L    #1,A3
  461.     SUBQ.L    #1,D1
  462. L0028    MOVE.L    (A7),D7
  463.     MOVE.L    D6,-(A7)
  464.     MOVE.L    L00AD,D6
  465.     MULU    D6,D7
  466.     MOVE.L    (A7)+,D6
  467.     ADDA.L    D7,A6
  468.     MOVE.L    (A7)+,D7
  469.     LEA    L00A9,A0
  470.     MOVEA.L    A3,A1
  471.     MOVE.L    D1,D2
  472. L0029    MOVE.B    (A1)+,(A0)+
  473.     DBF    D1,L0029
  474.     MOVE.L    A3,-(A7)
  475.     MOVE.L    D0,-(A7)
  476.     MOVE.W    L00A1,-(A7)
  477.     MOVE.W    #$3F,-(A7)
  478.     TRAP    #1
  479.     LEA    12(A7),A7
  480.     LEA    L00AE,A2
  481.     MOVE.L    D4,D0
  482.     MOVE.L    D6,-(A7)
  483.     MOVE.L    L00AD,D6
  484.     DIVU    D6,D0
  485.     MOVE.L    (A7)+,D6
  486.     LSL.L    #2,D0
  487.     ADDQ.L    #4,D0
  488.     ADDA.L    D0,A2
  489.     MOVE.L    D7,-(A7)
  490.     LSL.L    #2,D7
  491.     SUBQ.L    #4,D7
  492.     SUBA.L    L00AD,A6
  493. L002A    SUBA.L    L00AD,A6
  494.     SUBQ.L    #4,D7
  495.     MOVEA.L    A3,A0
  496.     MOVE.L    0(A2,D7.W),D0
  497.     SUB.L    (A2),D0
  498.     ADDA.L    D0,A0
  499.     MOVEA.L    A6,A1
  500.     BSR    L0070
  501.     TST.W    D7
  502.     BNE.S    L002A
  503.     MOVE.L    (A7)+,D7
  504.     LEA    L00A9,A0
  505.     MOVEA.L    A3,A1
  506.     MOVE.L    D2,D1
  507. L002B    MOVE.B    (A0)+,(A1)+
  508.     DBF    D1,L002B
  509. L002C    MOVEA.L    L009E,A0
  510.     LEA    200(A0),A0
  511.     ADDQ.L    #1,A5
  512.     ADDA.L    D6,A0
  513.     MOVEA.L    A4,A1
  514. L002D    CMPA.L    A1,A5
  515.     BEQ.S    L002E
  516.     CMP.L    L00AD,D6
  517.     BEQ.S    L002E
  518.     MOVE.B    (A0)+,(A1)+
  519.     ADDQ.L    #1,D6
  520.     BRA.S    L002D
  521. L002E    SUBQ.L    #1,A5
  522.     TST.L    D7
  523.     BEQ.S    L0030
  524.     TST.L    D5
  525.     BEQ.S    L0030
  526.     MOVE.L    D3,L009F
  527.     MOVE.L    L00AD,D3
  528.     MULU    D3,D7
  529.     MOVE.L    L009F,D3
  530.     MOVE.L    L009E,-(A7)
  531.     MOVE.L    L00AD,-(A7)
  532.     MOVE.W    L00A1,-(A7)
  533.     MOVE.W    #$3F,-(A7)
  534.     TRAP    #1
  535.     LEA    12(A7),A7
  536.     MOVEA.L    L009E,A0
  537.     LEA    200(A0),A1
  538.     BSR    L0070
  539.     MOVEA.L    L009E,A0
  540.     LEA    200(A0),A0
  541.     MOVEA.L    A5,A1
  542.     ADDQ.L    #1,A1
  543.     SUBA.L    D5,A1
  544.     SUBQ.L    #1,D5
  545. L002F    MOVE.B    (A0)+,(A1)+
  546.     DBF    D5,L002F
  547. L0030    SUBA.L    A4,A5
  548.     ADDQ.L    #1,A5
  549.     MOVE.L    A5,D5
  550.     MOVE.L    L009C,D0
  551.     LSL.L    #2,D0
  552.     LEA    L00A7,A0
  553.     MOVE.L    0(A0,D0.W),D1
  554.     LEA    L00A4,A0
  555.     SUB.L    D1,0(A0,D0.W)
  556.     ADD.L    D5,0(A0,D0.W)
  557. L0031    CLR.W    L009D
  558.     MOVE.L    D5,-(A7)
  559.     MOVEM.L    L00A0,A0-A6/D0-D7
  560.     MOVE.L    (A7)+,D0
  561.     RTE
  562. L0032    CLR.L    D0
  563.     CLR.L    D7
  564.     MOVE.W    2(A1),D7
  565.     MOVE.L    D7,D6
  566.     MOVE.L    D7,D5
  567.     MOVE.L    D7,D4
  568.     LSL.L    #2,D6
  569.     LEA    L0095,A5
  570.     TST.W    D7
  571.     BMI.S    L0034
  572.     LSL.L    #5,D4
  573.     LEA    L00A6,A4
  574.     TST.B    0(A4,D4.W)
  575.     BNE.S    L0033
  576.     MOVE.L    #-$25,D0
  577.     BRA    L0038
  578. L0033    MOVE.L    0(A5,D6.W),D5
  579.     CMP.L    #-1,D5
  580.     BEQ.S    L0035
  581. L0034    MOVE.W    #1,L009D
  582.     MOVE.W    D5,-(A7)
  583.     MOVE.W    #$3E,-(A7)
  584.     TRAP    #1
  585.     ADDQ.L    #4,A7
  586.     CLR.W    L009D
  587.     TST.L    D0
  588.     BMI.S    L0038
  589. L0035    TST.W    D7
  590.     BMI.S    L0038
  591.     CMP.L    L009C,D7
  592.     BNE.S    L0036
  593.     MOVE.L    #-1,L009C
  594. L0036    CLR.W    D5
  595.     SWAP    D5
  596.     TST.W    D5
  597.     BEQ.S    L0037
  598.     CMP.W    #-1,D5
  599.     BEQ.S    L0037
  600.     MOVE.L    D5,0(A5,D6.W)
  601.     BRA    L0038
  602. L0037    LSL.L    #5,D7
  603.     LEA    L00A6,A5
  604.     MOVE.B    #0,0(A5,D7.W)
  605. L0038    MOVE.L    D0,-(A7)
  606.     MOVEM.L    L00A0,A0-A6/D0-D7
  607.     MOVE.L    (A7)+,D0
  608.     RTE
  609. L0039    LEA    L00A4,A2
  610.     LEA    L00A5,A3
  611.     CLR.L    D0
  612.     MOVE.W    6(A1),D0
  613.     LSL.L    #2,D0
  614.     CLR.L    D1
  615.     MOVE.W    8(A1),D1
  616.     MOVE.L    2(A1),D2
  617.     TST.W    D1
  618.     BNE.S    L003A
  619.     MOVE.L    D2,D3
  620.     BRA.S    L003D
  621. L003A    CMP.W    #1,D1
  622.     BNE.S    L003B
  623.     MOVE.L    0(A2,D0.W),D3
  624.     ADD.L    D2,D3
  625.     BRA.S    L003D
  626. L003B    TST.L    D2
  627.     BPL.S    L003C
  628.     NEG.L    D2
  629. L003C    MOVE.L    0(A3,D0.W),D3
  630.     SUB.L    D2,D3
  631. L003D    MOVE.L    0(A3,D0.W),D4
  632.     CMP.L    D3,D4
  633.     BGT.S    L003E
  634.     MOVE.L    D4,D3
  635. L003E    TST.L    D3
  636.     BGT.S    L003F
  637.     CLR.L    D3
  638. L003F    MOVE.L    D3,0(A2,D0.W)
  639.     LEA    L0095,A0
  640.     MOVE.L    0(A0,D0.W),D4
  641.     CMP.L    #-1,D4
  642.     BEQ.S    L0040
  643.     LEA    L00A8,A0
  644.     MOVE.L    0(A0,D0.W),D5
  645.     TST.L    D5
  646.     BNE.S    L0040
  647.     MOVE.W    #1,L009D
  648.     MOVE.W    D1,-(A7)
  649.     MOVE.W    D4,-(A7)
  650.     MOVE.L    D2,-(A7)
  651.     MOVE.W    #$42,-(A7)
  652.     TRAP    #1
  653.     LEA    10(A7),A7
  654.     MOVE.L    D0,D3
  655.     CLR.W    L009D
  656. L0040    MOVE.L    D3,-(A7)
  657.     MOVEM.L    L00A0,A0-A6/D0-D7
  658.     MOVE.L    (A7)+,D0
  659.     RTE
  660. L0041    CLR.W    L009D
  661.     MOVE.L    D0,-(A7)
  662.     MOVEM.L    L00A0,A0-A6/D0-D7
  663.     MOVE.L    (A7)+,D0
  664.     RTE
  665. L0042    MOVE.W    #1,L009D
  666.     BSR    L0055
  667.     MOVE.L    D0,D7
  668.     MOVEA.L    A0,A5
  669.     MOVE.W    6(A1),-(A7)
  670.     MOVE.L    2(A1),-(A7)
  671.     MOVE.W    #$3C,-(A7)
  672.     TRAP    #1
  673.     ADDQ.L    #8,A7
  674.     TST.W    D0
  675.     BMI    L0044
  676. L0043    MOVE.B    #$49,(A5)
  677.     LEA    L0095,A0
  678.     MOVE.L    D7,D6
  679.     LSL.L    #2,D7
  680.     MOVE.L    D0,0(A0,D7.W)
  681.     MOVE.L    D6,D0
  682. L0044    CLR.W    L009D
  683.     MOVE.L    D0,-(A7)
  684.     MOVEM.L    L00A0,A0-A6/D0-D7
  685.     MOVE.L    (A7)+,D0
  686.     RTE
  687. L0045    CLR.L    D0
  688.     MOVE.W    2(A1),D0
  689.     TST.W    D0
  690.     BMI    L0008
  691.     LSL.L    #2,D0
  692.     LEA    L0095,A0
  693.     MOVE.L    0(A0,D0.W),D1
  694.     MOVE.W    D1,2(A1)
  695.     BRA    L0008
  696. L0046    MOVE.L    2(A1),D5
  697.     MOVE.W    6(A1),D6
  698.     MOVE.W    #1,L009D
  699.     LEA    L0097,A0
  700.     MOVEA.L    D5,A1
  701.     MOVE.L    #$D,D0
  702. L0047    MOVE.B    (A1)+,(A0)+
  703.     DBF    D0,L0047
  704.     MOVE.L    #-$16,L0098
  705.     MOVE.L    #L0000,L0099
  706.     MOVE.W    D6,-(A7)
  707.     MOVE.L    D5,-(A7)
  708.     MOVE.W    #$4E,-(A7)
  709.     TRAP    #1
  710.     ADDQ.L    #8,A7
  711.     CLR.L    D6
  712.     TST.W    D0
  713.     BEQ.S    L004A
  714.     MOVEA.L    D5,A0
  715.     MOVEA.L    L009A,A4
  716. L0048    BSR    L0057
  717.     TST.W    D0
  718.     BMI    L0050
  719.     MOVE.L    A4,L0099
  720.     LEA    -202(A0),A6
  721.     SUBA.L    L009E,A6
  722.     MOVE.L    A6,L0098
  723.     MOVEA.L    A0,A6
  724.     MOVE.W    D0,-(A7)
  725.     MOVE.W    #$3E,-(A7)
  726.     TRAP    #1
  727.     ADDQ.L    #4,A7
  728.     MOVE.W    #$2F,-(A7)
  729.     TRAP    #1
  730.     ADDQ.L    #2,A7
  731.     MOVEA.L    D0,A0
  732.     LEA    26(A0),A0
  733.     MOVE.L    14(A6),(A0)+
  734.     MOVEQ    #$D,D0
  735. L0049    MOVE.B    (A6)+,(A0)+
  736.     DBF    D0,L0049
  737.     MOVEQ    #0,D0
  738.     BRA    L0050
  739. L004A    MOVE.W    #$2F,-(A7)
  740.     TRAP    #1
  741.     ADDQ.L    #2,A7
  742.     MOVE.L    D0,D7
  743.     ADDI.L    #$1E,D0
  744.     MOVEA.L    D0,A0
  745.     MOVE.L    D0,D4
  746.     LEA    L0000,A1
  747.     LEA    L0001,A2
  748.     ADDQ.L    #1,A1
  749.     ADDQ.L    #1,A2
  750. L004B    CLR.L    D0
  751. L004C    MOVE.B    0(A1,D0.W),D1
  752.     CMP.B    0(A0,D0.W),D1
  753.     BNE.S    L004D
  754.     ADDQ.L    #1,D0
  755.     TST.B    D1
  756.     BNE.S    L004C
  757.     MOVE.L    #-$21,D0
  758.     TST.L    D6
  759.     BRA    L0051
  760. L004D    LEA    16(A1),A1
  761.     CMPA.L    A2,A1
  762.     BNE.S    L004B
  763.     CLR.W    -(A7)
  764.     MOVE.L    D4,-(A7)
  765.     MOVE.W    #$3D,-(A7)
  766.     TRAP    #1
  767.     ADDQ.L    #8,A7
  768.     TST.L    D0
  769.     BMI.S    L004F
  770.     MOVE.W    D0,D6
  771.     CLR.L    L00A1
  772.     PEA    L00A1
  773.     MOVE.L    #8,-(A7)
  774.     MOVE.W    D0,-(A7)
  775.     MOVE.W    #$3F,-(A7)
  776.     TRAP    #1
  777.     LEA    12(A7),A7
  778.     MOVE.W    D6,-(A7)
  779.     MOVE.W    #$3E,-(A7)
  780.     TRAP    #1
  781.     ADDQ.L    #4,A7
  782.     LEA    L00A1,A0
  783.     CMPI.L    #"AU5$",(A0)
  784.     BEQ.S    L004E
  785.     CMPI.L    #"AU5!",(A0)
  786.     BNE.S    L004F
  787. L004E    MOVEA.L    D7,A1
  788.     MOVE.L    4(A0),26(A1)
  789. L004F    CLR.L    D0
  790. L0050    CLR.W    L009D
  791.     MOVE.L    D0,-(A7)
  792.     MOVEM.L    L00A0,A0-A6/D0-D7
  793.     MOVE.L    (A7)+,D0
  794.     RTE
  795. L0051    MOVE.W    #1,L009D
  796.     MOVE.L    L0098,D6
  797.     ADDI.L    #$16,D6
  798.     MOVE.W    #$4F,-(A7)
  799.     TRAP    #1
  800.     ADDQ.L    #2,A7
  801.     TST.L    D0
  802.     BEQ    L004A
  803.     LEA    L0097,A0
  804.     MOVEA.L    L0099,A4
  805.     BRA    L0048
  806. L0052    MOVE.W    #1,L009D
  807.     BSR    L0055
  808.     MOVE.L    D0,D7
  809.     MOVEA.L    A0,A5
  810.     MOVE.W    2(A1),D5
  811.     MOVE.W    D5,-(A7)
  812.     MOVE.W    #$45,-(A7)
  813.     TRAP    #1
  814.     ADDQ.L    #4,A7
  815.     TST.W    D0
  816.     BMI    L0041
  817.     NEG.L    D5
  818.     SWAP    D5
  819.     MOVE.W    D0,D5
  820.     MOVE.L    D5,D0
  821.     BRA    L0043
  822. L0053    CLR.L    D0
  823.     MOVE.W    4(A1),D0
  824.     LEA    L0095,A5
  825.     TST.W    D0
  826.     BMI.S    L0054
  827.     LSL.L    #2,D0
  828.     MOVE.L    0(A5,D0.W),D0
  829.     MOVE.W    D0,4(A1)
  830. L0054    CLR.L    D1
  831.     MOVE.W    2(A1),D1
  832.     LSL.L    #2,D1
  833.     MOVE.L    D0,0(A5,D1.W)
  834.     BRA    L0008
  835. L0055    LEA    L00A6,A0
  836.     LEA    160(A0),A0
  837.     MOVE.L    #5,D0
  838. L0056    ADDQ.L    #1,D0
  839.     LEA    32(A0),A0
  840.     TST.B    (A0)
  841.     BNE.S    L0056
  842.     RTS
  843. L0057    MOVE.L    D0,D5
  844.     BSR    L0060
  845.     MOVEA.L    A0,A6
  846.     MOVEA.L    L009B,A5
  847. L0058    CMPA.L    A4,A5
  848.     BEQ    L005C
  849. L0059    BSR    L005A
  850.     MOVE.L    D0,D4
  851.     TST.L    D0
  852.     BMI    L005E
  853.     PEA    L00AB
  854.     MOVE.L    #$400,-(A7)
  855.     MOVE.W    D4,-(A7)
  856.     MOVE.W    #$3F,-(A7)
  857.     TRAP    #1
  858.     LEA    12(A7),A7
  859.     MOVE.L    #-1,L009F
  860.     MOVE.L    A4,L00A3
  861.     MOVE.L    L00AC,D0
  862.     MOVE.L    L00AD,D2
  863.     SUBQ.L    #1,D2
  864.     EORI.L    #-1,D2
  865.     AND.L    D2,D0
  866.     MOVE.L    D0,L00AA
  867.     CLR.W    -(A7)
  868.     MOVE.W    D4,-(A7)
  869.     MOVE.L    L00AE,-(A7)
  870.     MOVE.W    #$42,-(A7)
  871.     TRAP    #1
  872.     LEA    10(A7),A7
  873.     MOVE.L    L009E,-(A7)
  874.     MOVE.L    L00AD,-(A7)
  875.     MOVE.W    D4,-(A7)
  876.     MOVE.W    #$3F,-(A7)
  877.     TRAP    #1
  878.     LEA    12(A7),A7
  879.     MOVEA.L    L009E,A0
  880.     LEA    200(A0),A1
  881.     BSR    L0070
  882.     BSR    L005B
  883.     TST.L    D0
  884.     BMI.S    L005E
  885.     MOVEA.L    D0,A0
  886.     MOVE.L    D4,D0
  887.     RTS
  888. L005A    CLR.W    -(A7)
  889.     MOVE.L    A4,-(A7)
  890.     MOVE.W    #$3D,-(A7)
  891.     TRAP    #1
  892.     ADDQ.L    #8,A7
  893.     RTS
  894. L005B    MOVEA.L    A6,A0
  895.     CLR.L    D0
  896.     MOVE.W    (A1),D0
  897.     MULU    #$16,D0
  898.     ADDQ.L    #2,A1
  899.     MOVEA.L    A1,A2
  900.     ADDA.L    D0,A2
  901.     ADDA.L    D6,A1
  902.     BSR    L0064
  903.     RTS
  904. L005C    CMPA.L    #L0001,A5
  905.     BNE.S    L005D
  906.     CMPI.L    #L0000,L009A
  907.     BEQ.S    L005D
  908.     MOVEA.L    L009A,A5
  909.     MOVEA.L    #L0000,A4
  910.     BRA    L0059
  911. L005D    MOVE.L    D5,D0
  912.     RTS
  913. L005E    TST.W    D4
  914.     BMI.S    L005F
  915.     MOVE.W    D4,-(A7)
  916.     MOVE.W    #$3E,-(A7)
  917.     TRAP    #1
  918.     ADDQ.L    #4,A7
  919. L005F    LEA    16(A4),A4
  920.     BRA    L0058
  921. L0060    CMPI.B    #$3A,1(A0)
  922.     BNE.S    L0061
  923.     ADDQ.L    #2,A0
  924. L0061    MOVEA.L    A0,A1
  925. L0062    CMPI.B    #$5C,(A1)+
  926.     BNE.S    L0063
  927.     MOVEA.L    A1,A0
  928. L0063    TST.B    (A1)
  929.     BNE.S    L0062
  930.     RTS
  931. L0064    CLR.W    D1
  932.     CLR.W    D2
  933. L0065    MOVE.B    0(A0,D1.W),D0
  934.     CMP.B    #$61,D0
  935.     BLT.S    L0066
  936.     CMP.B    #$7A,D0
  937.     BGT.S    L0066
  938.     ANDI.B    #-$21,D0
  939. L0066    CMP.B    #$3F,D0
  940.     BNE.S    L0067
  941.     TST.B    0(A1,D2.W)
  942.     BEQ.S    L006E
  943.     CMPI.B    #$2E,0(A1,D2.W)
  944.     BEQ.S    L006E
  945.     BRA.S    L0069
  946. L0067    CMP.B    0(A1,D2.W),D0
  947.     BNE.S    L006A
  948. L0068    TST.B    D0
  949.     BEQ.S    L006F
  950. L0069    ADDQ.B    #1,D1
  951.     ADDQ.B    #1,D2
  952.     BRA.S    L0065
  953. L006A    CMP.B    #$2A,D0
  954.     BNE.S    L006E
  955.     ADDQ.B    #1,D1
  956.     MOVE.B    0(A0,D1.W),D0
  957.     CMP.B    #$61,D0
  958.     BLT.S    L006B
  959.     CMP.B    #$7A,D0
  960.     BGT.S    L006B
  961.     ANDI.B    #-$21,D0
  962. L006B    TST.B    D0
  963.     BEQ.S    L006D
  964. L006C    ADDQ.B    #1,D2
  965.     CMP.B    0(A1,D2.W),D0
  966.     BEQ.S    L0068
  967.     CMPI.B    #$2E,0(A1,D2.W)
  968.     BEQ.S    L0068
  969.     TST.B    0(A1,D2.W)
  970.     BNE.S    L006C
  971.     BRA.S    L006E
  972. L006D    ADDQ.B    #1,D2
  973.     CMPI.B    #$2E,0(A1,D2.W)
  974.     BEQ.S    L006E
  975.     TST.B    0(A1,D2.W)
  976.     BNE.S    L006D
  977.     BRA.S    L006F
  978. L006E    LEA    22(A1),A1
  979.     CMPA.L    A1,A2
  980.     BGT    L0064
  981.     MOVEA.L    #-1,A1
  982. L006F    MOVE.L    A1,D0
  983.     RTS
  984. L0070    MOVEM.L    A0-A6/D0-D7,-(A7)
  985.     CLR.L    D0
  986.     MOVE.B    (A0),D0
  987.     LSL.W    #8,D0
  988.     MOVE.B    1(A0),D0
  989.     SWAP    D0
  990.     MOVE.B    2(A0),D0
  991.     LSL.W    #8,D0
  992.     MOVE.B    3(A0),D0
  993.     CMP.L    #"AU5!",D0
  994.     BEQ    L0071
  995.     CMP.L    #"AU5$",D0
  996.     BNE    L0072
  997. L0071    BSR    L0075
  998.     BRA    L0074
  999. L0072    MOVE.L    L00AD,D0
  1000.     ADDA.L    D0,A0
  1001.     ADDA.L    D0,A1
  1002.     SUBQ.L    #1,D0
  1003. L0073    MOVE.B    -(A0),-(A1)
  1004.     DBF    D0,L0073
  1005. L0074    MOVEM.L    (A7)+,A0-A6/D0-D7
  1006.     RTS
  1007.  
  1008. L0075
  1009. ice_depack
  1010.     move.w    $ffff8240.w,-(a7)
  1011.     bsr.s    getinfo        ; ein Langwort holen
  1012.     cmpi.l    #'AU5!',d0    ; Kennung gefunden?
  1013.     bne    not_packed    ; nein: nicht gepackt
  1014.     bsr.s    getinfo        ; gepackte Länge holen
  1015.     lea.l    -8(a0,d0.l),a5    ; a5 = Ende der gepackten Daten
  1016.     bsr.s    getinfo        ; ungepackte Länge holen (original)
  1017. ;    move.l    d0,(sp)        ; Originallänge: später nach d0
  1018.     move.l    a1,a4        ; a4 = Zielpuffer
  1019.     move.l    a1,a6
  1020.     adda.l    d0,a6        ; a6 = Ende entpackte Daten
  1021.     move.l    a6,a3        ; merken für Picture decrunch
  1022.     move.b    -(a5),d7        ; erstes Informationsbyte
  1023.     bsr    normal_bytes
  1024.  
  1025.     bsr    get_1_bit     ;; Picture decrunch!
  1026.     bcc.s    not_packed    ;; These marked lines may be
  1027.     move.w    #$0f9f,d7     ;; removed in your own sources
  1028. ice_00:    moveq    #3,d6        ;; if you do not use the
  1029. ice_01:    move.w    -(a3),d4        ;; additional algorithm.
  1030.     moveq    #3,d5        ;;
  1031. ice_02:    add.w    d4,d4        ;;
  1032.     addx.w    d0,d0        ;;
  1033.     add.w    d4,d4        ;;
  1034.     addx.w    d1,d1        ;;
  1035.     add.w    d4,d4        ;;
  1036.     addx.w    d2,d2        ;;
  1037.     add.w    d4,d4        ;;
  1038.     addx.w    d3,d3        ;;
  1039.     dbra    d5,ice_02     ;;
  1040.     dbra    d6,ice_01     ;;
  1041.     movem.w    d0-d3,(a3)    ;;
  1042.     dbra    d7,ice_00     ;;
  1043.  
  1044. not_packed:
  1045.     rts
  1046.  
  1047. getinfo:    moveq    #3,d1        ; ein Langwort vom Anfang
  1048. getbytes: lsl.l    #8,d0        ; der Daten lesen
  1049.     move.b    (a0)+,d0
  1050.     dbf    d1,getbytes
  1051.     rts
  1052.  
  1053. normal_bytes:    
  1054.     bsr.s    get_1_bit
  1055.     bcc.s    test_if_end    ; Bit %0: keine Daten
  1056.     moveq.l    #0,d1        ; falls zu copy_direkt
  1057.     bsr.s    get_1_bit
  1058.     bcc.s    copy_direkt    ; Bitfolge: %10: 1 Byte direkt kop.
  1059.     lea.l    direkt_tab+20(pc),a1
  1060.     moveq.l    #4,d3
  1061. nextgb:    move.l    -(a1),d0        ; d0.w Bytes lesen
  1062.     bsr.s    get_d0_bits
  1063.     swap.w    d0
  1064.     cmp.w    d0,d1        ; alle gelesenen Bits gesetzt?
  1065.     dbne    d3,nextgb     ; ja: dann weiter Bits lesen
  1066. no_more:    add.l    20(a1),d1     ; Anzahl der zu übertragenen Bytes
  1067. copy_direkt:    
  1068.     move.w    d0,$ffff8240.w
  1069.     move.b    -(a5),-(a6)    ; Daten direkt kopieren
  1070.     dbf    d1,copy_direkt    ; noch ein Byte
  1071. test_if_end:    
  1072.     cmpa.l    a4,a6        ; Fertig?
  1073.     bgt.s    strings        ; Weiter wenn Ende nicht erreicht
  1074.     move.l    d7,d5
  1075.     move.l    (a7)+,d0
  1076.     move.w    (a7)+,$ffff8240.w
  1077.     rts    
  1078.  
  1079. ;************************** Unterroutinen: wegen Optimierung nicht am Schluß
  1080.  
  1081. get_1_bit:add.b    d7,d7        ; hole ein bit
  1082.     bne.s    bitfound        ; quellfeld leer
  1083.     move.b    -(a5),d7        ; hole Informationsbyte
  1084.     addx.b    d7,d7
  1085. bitfound:    rts    
  1086.  
  1087. get_d0_bits:    
  1088.     moveq.l    #0,d1        ; ergebnisfeld vorbereiten
  1089. hole_bit_loop:    
  1090.     add.b    d7,d7        ; hole ein bit
  1091.     bne.s    on_d0        ; in d7 steht noch Information
  1092.     move.b    -(a5),d7        ; hole Informationsbyte
  1093.     addx.b    d7,d7
  1094. on_d0:    addx.w    d1,d1        ; und übernimm es
  1095.     dbf    d0,hole_bit_loop    ; bis alle Bits geholt wurden
  1096.     rts    
  1097.  
  1098. ;************************************ Ende der Unterroutinen
  1099.  
  1100.  
  1101. strings:    lea.l    length_tab(pc),a1    ; a1 = Zeiger auf Tabelle
  1102.     moveq.l    #3,d2        ; d2 = Zeiger in Tabelle
  1103. get_length_bit:    
  1104.     bsr.s    get_1_bit
  1105.     dbcc    d2,get_length_bit    ; nächstes Bit holen
  1106. no_length_bit:    
  1107.     moveq.l    #0,d4        ; d4 = Überschuß-Länge
  1108.     moveq.l    #0,d1
  1109.     move.b    1(a1,d2.w),d0    ; d2: zw. -1 und 3; d3+1: Bits lesen
  1110.     ext.w    d0        ; als Wort behandeln
  1111.     bmi.s    no_über        ; kein Überschuß nötig
  1112. get_über: bsr.s    get_d0_bits
  1113. no_über:    move.b    6(a1,d2.w),d4    ; Standard-Länge zu Überschuß add.
  1114.     add.w    d1,d4        ; d4 = String-Länge-2
  1115.     beq.s    get_offset_2    ; Länge = 2: Spezielle Offset-Routine
  1116.  
  1117.  
  1118.     lea.l    more_offset(pc),a1    ; a1 = Zeiger auf Tabelle
  1119.     moveq.l    #1,d2
  1120. getoffs:    bsr.s    get_1_bit
  1121.     dbcc    d2,getoffs
  1122.     moveq.l    #0,d1        ; Offset-Überschuß
  1123.     move.b    1(a1,d2.w),d0    ; request d0 Bits
  1124.     ext.w    d0        ; als Wort
  1125.     bsr.s    get_d0_bits
  1126.     add.w    d2,d2        ; ab jetzt: Pointer auf Worte
  1127.     add.w    6(a1,d2.w),d1    ; Standard-Offset zu Überschuß add.
  1128.     bpl.s    depack_bytes    ; keine gleiche Bytes: String kop.
  1129.     sub.w    d4,d1        ; gleiche Bytes
  1130.     bra.s    depack_bytes
  1131.  
  1132.  
  1133. get_offset_2:    
  1134.     moveq.l    #0,d1        ; Überschuß-Offset auf 0 setzen
  1135.     moveq.l    #5,d0        ; standard: 6 Bits holen
  1136.     moveq.l    #-1,d2        ; Standard-Offset auf -1
  1137.     bsr.s    get_1_bit
  1138.     bcc.s    less_40        ; Bit = %0
  1139.     moveq.l    #8,d0        ; quenty fourty: 9 Bits holen
  1140.     moveq.l    #$3f,d2        ; Standard-Offset: $3f
  1141. less_40:    bsr.s    get_d0_bits
  1142.     add.w    d2,d1        ; Standard-Offset + Über-Offset
  1143.  
  1144. depack_bytes:            ; d1 = Offset, d4 = Anzahl Bytes
  1145.     lea.l    2(a6,d4.w),a1    ; Hier stehen die Originaldaten
  1146.     adda.w    d1,a1        ; Dazu der Offset
  1147.     move.b    -(a1),-(a6)    ; ein Byte auf jeden Fall kopieren
  1148. dep_b:    move.b    -(a1),-(a6)    ; mehr Bytes kopieren
  1149.     dbf    d4,dep_b    ; und noch ein Mal
  1150.     bra    normal_bytes    ; Jetzt kommen wieder normale Bytes
  1151.  
  1152.  
  1153. direkt_tab:
  1154.     dc.l $7fff000e,$00ff0007,$00070002,$00030001,$00030001    ; Anzahl 1-Bits
  1155.     dc.l     270-1,    15-1,     8-1,     5-1,     2-1    ; Anz. Bytes
  1156.  
  1157. length_tab:
  1158.     dc.b 9,1,0,-1,-1    ; Bits lesen
  1159.     dc.b 8,4,2,1,0        ; Standard-Länge - 2 (!!!)
  1160.  
  1161. more_offset:
  1162.     dc.b      11,4,7,0    ; Bits lesen
  1163.     dc.w    $11f,-1,$1f    ; Standard Offset
  1164.     dc.b    0
  1165.  
  1166.  
  1167. L0092    DC.B    $0A,$03,$02,$02,$0E,$07,$04,$01
  1168. L0093    DC.B    $0A,$02,$01,$00,$00,$0A,$06,$04
  1169.     DC.B    $03,$02
  1170. L0094    DC.B    $0B,$04,$07,$00,$01,$20,$00,$00
  1171.     DC.B    $00,$20,$00,$00
  1172. L0095    DS.W    3
  1173.     DC.B    $00,$01,$00,$00,$00,$02,$00,$00
  1174.     DC.B    $00,$03,$00,$00,$00,$04,$00,$00
  1175.     DC.B    $00,$05,$00,$00,$00,$00,$00,$00
  1176.     DS.W    29
  1177. L0096    DS.W    2
  1178. L0097    DS.W    7
  1179. L0098    DS.W    2
  1180. L0099    DS.W    2
  1181. L009A    DS.W    2
  1182. L009B    DS.W    2
  1183. L009C    DS.W    2
  1184. L009D    DS.W    1
  1185. L009E    DS.W    2
  1186. L009F    DS.W    2
  1187. L00A0    DS.W    32
  1188. L00A1    DS.W    8
  1189. L00A2    DS.W    2
  1190. L00A3    DS.W    16
  1191. L00A4    DS.W    32
  1192. L00A5    DS.W    32
  1193. L00A6    DS.W    256
  1194. L00A7    DS.W    32
  1195. L00A8    DS.W    32
  1196. L00A9    DS.W    100
  1197. L00AA    DS.W    2
  1198. L00AB    DS.W    2
  1199. L00AC    DS.W    2
  1200. L00AD    DS.W    2
  1201. L00AE    DS.W    506
  1202. L00AF    DS.W    2
  1203. ZUEND        END