home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src2.dms / in.adf / Source / klen.S < prev    next >
Encoding:
Text File  |  1977-12-31  |  7.5 KB  |  394 lines

  1. org $60000
  2. load $60000
  3.  
  4. o:    MOVEM.L    D0-D7/A0-A6,-(SP)
  5.     BSR    install
  6.     BSR    install2
  7.     MOVE.L    #$00058000,txt
  8.     CLR.W    check
  9.     nop
  10.         nop
  11.     MOVE.L    #calc,A0
  12.     MOVE.W    #$007F,D0
  13. ret:    MOVE.L    #$00E1FFFE,(A0)
  14.     MOVE.B    D0,(A0)
  15.     ADDQ.L    #4,A0
  16.     MOVE.L    #$00E20000,(A0)+
  17.     MOVE.L    #$00E60000,(A0)+
  18.     MOVE.L    #$00EA0000,(A0)+
  19.     MOVE.L    #$00EE0000,(A0)+
  20.     MOVE.L    #$01020000,(A0)+
  21.     MOVE.L    #$01820000,(A0)+
  22.     MOVE.L    #$01840000,(A0)+
  23.     MOVE.L    #$01860000,(A0)+
  24.     MOVE.L    #$01880000,(A0)+
  25.     MOVE.L    #$018A0000,(A0)+
  26.     MOVE.L    #$018C0000,(A0)+
  27.     MOVE.L    #$018E0000,(A0)+
  28.     MOVE.L    #$01900000,(A0)+
  29.     MOVE.L    #$01920000,(A0)+
  30.     MOVE.L    #$01940000,(A0)+
  31.     MOVE.L    #$01960000,(A0)+
  32.     MOVE.L    #$01980000,(A0)+
  33.     MOVE.L    #$019A0000,(A0)+
  34.     MOVE.L    #$019C0000,(A0)+
  35.     MOVE.L    #$019E0000,(A0)+
  36.     ADDQ.W    #1,D0
  37.     CMP.W    #$0147,D0
  38.     BNE    ret
  39.     MOVE.L    4,A6
  40.     MOVE.L    #gfxlib,A1
  41.     CLR.L    D0
  42.     JSR    -$0198(A6)
  43.     MOVE.L    D0,A1
  44.     MOVE.L    $0026(A1),g2a
  45.     JSR    -$019E(A6)
  46.     MOVE.W    $00DFF01C,g2E
  47.     MOVE.W    $00DFF002,g30
  48.     MOVE.W    #$7FFF,$00DFF09A
  49.     MOVE.W    #$7FFF,$00DFF09C
  50.     BSR    init2
  51.     MOVE.W    #$7FFF,$00DFF096
  52.     MOVE.L    #cop,$00DFF080
  53.     MOVE.W    g36,D1
  54.     OR.W    #$8200,D1
  55.     MOVE.W    D1,$00DFF096
  56.     MOVE.L    $0000006C,g32
  57.     MOVE.L    #irq,$0000006C
  58.     MOVE.W    #$C020,$00DFF09A
  59.     MOVE.W    #0,$00DFF088
  60.     MOVE.W    #$4200,$00DFF100
  61.     MOVE.W    #0,$00DFF102
  62.     MOVE.W    #0,$00DFF104
  63.     MOVE.W    #$0078,$00DFF108
  64.     MOVE.W    #$0078,$00DFF10A
  65.     MOVE.W    #$2878,$00DFF08E
  66.     MOVE.W    #$40C8,$00DFF090
  67.     MOVE.W    #$0038,$00DFF092
  68.     MOVE.W    #$00D0,$00DFF094
  69. loop:    BTST    #6,$00BFE001
  70.     BNE    loop
  71.     MOVE.W    #$7FFF,$00DFF09A
  72.     MOVE.W    #$7FFF,$00DFF09C
  73.     MOVE.W    #15,$00DFF096
  74.     BSR    init2
  75.     MOVE.W    #$7FFF,$00DFF09C
  76.     MOVE.L    g2A,$00DFF080
  77.     MOVE.L    g32,$0000006C
  78.     MOVE.W    g30,D0
  79.     OR.W    #$8000,D0
  80.     MOVE.W    D0,$00DFF096
  81.     MOVE.W    g2E,D0
  82.     OR.W    #$C000,D0
  83.     MOVE.W    D0,$00DFF09A
  84.     MOVE.W    #0,$00DFF088
  85.     MOVEM.L    (SP)+,D0-D7/A0-A6
  86.     RTS    
  87.  
  88. init2:    TST.B    $00DFF005
  89.     BEQ.L    init2
  90. init3:    TST.B    $00DFF005
  91.     BNE.L    init3
  92.     RTS    
  93.  
  94. gfxlib:    DC.B    'graphics.library'
  95.  
  96.     DC.W    0
  97. g26:    DC.W    $0000,$0000
  98. g2a:    DC.W    $0000,$0000
  99. g2e:    DC.W    $0000
  100. g30:    DC.W    $0000
  101. g32:    DC.L    0
  102.     
  103. g36:    DC.W    $81F0,$EF00
  104.  
  105. install:
  106.         MOVE.L    #'NO T',$00058000
  107.     MOVE.L    #'EXT ',$00058004
  108.     MOVE.L    #'FOUN',$00058008
  109.     MOVE.L    #$44202000,$0005800C
  110.     MOVE.L    4,A6
  111.     LEA    doslib,A1
  112.     CLR.L    D0
  113.     JSR    -$0198(A6)
  114.     MOVE.L    D0,g26
  115.     MOVE.L    g26,A6
  116.     MOVE.L    #gE8,D1
  117.     MOVE.L    #$000003ED,D2
  118.     JSR    -$001E(A6)
  119.     MOVE.L    D0,gD8
  120.     BEQ.S    ret2
  121.     MOVE.L    g26,A6
  122.     MOVE.L    gD8,D1
  123.     MOVE.L    #$00058000,D2
  124.     MOVE.L    #$00008000,D3
  125.     JSR    -$002A(A6)
  126.     MOVE.L    D0,D6
  127.     MOVE.L    g26,A6
  128.     MOVE.L    gD8,D1
  129.     JSR    -$0024(A6)
  130. ret2:    MOVE.L    4,A6
  131.     MOVE.L    g26,A1
  132.     JSR    -$019E(A6)
  133.     RTS    
  134.     
  135. gd8:    DC.W    $0000,$0000
  136. doslib: DC.W    $646F,$732E,$6C69,$6272,$6172,$7900
  137. ge8:    DC.W    $4B45,$4654,$4558,$5400
  138.  
  139. install2:
  140.     MOVE.L    #tom,A0
  141.     MOVE.L    #ras,A1
  142.     CLR.W    D0
  143. ret3:    MOVE.W    D0,D1
  144.     LSL.W    #1,D1
  145.     ADD.W    #$002B,D1
  146.     MOVE.B    D1,(A0)
  147.     MOVE.B    D1,D2
  148.     ROR.B    #3,D2
  149.     EOR.B    D0,D2
  150.     ROR.B    #3,D2
  151.     EOR.B    D0,D2
  152.     ROR.B    #3,D2
  153.     EOR.B    D0,D2
  154.     MOVE.B    D2,1(A0)
  155.     BTST    #8,D1
  156.     BEQ    ro1
  157.     BSET    #2,3(A0)
  158. ro1:    ADDQ.W    #1,D1
  159.     MOVE.B    D1,2(A0)
  160.     BTST    #8,D1
  161.     BEQ    ro2
  162.     BSET    #1,3(A0)
  163. ro2:    CLR.W    D2
  164.     MOVE.B    (A1)+,D2
  165.     MOVE.B    D2,D4
  166.     MOVE.W    D2,D3
  167.     AND.W    #1,D3
  168.     LSR.W    #1,D2
  169.     AND.W    #1,D2
  170.     MOVE.W    D3,4(A0)
  171.     MOVE.W    D2,6(A0)
  172.     ADDQ.L    #8,A0
  173.     ADDQ.W    #1,D0
  174.     CMP.W    #$008C,D0
  175.     BNE    ret3
  176.     RTS    
  177.     
  178. install3:
  179.     MOVE.L    #tom,$00DFF120
  180.     MOVE.L    #ras,A0
  181.     MOVE.L    #tom,A1
  182.     ADDQ.L    #1,A1
  183.     MOVE.W    #$0086,D0
  184. plus:    MOVE.B    (A0)+,D1
  185.     ADD.B    D1,(A1)
  186.     ADDQ.L    #8,A1
  187.     DBRA    D0,plus
  188.     RTS    
  189.     
  190. tom:    blk.b   638
  191. tom2:   blk.b   482
  192.  
  193. ras:    DC.W    $0102,$0302,$0302,$0102,$0302,$0102,$0201,$0203
  194.     DC.W    $0302,$0102,$0102,$0302,$0302,$0102,$0103,$0201
  195.     DC.W    $0201,$0302,$0301,$0102,$0302,$0302,$0103,$0103
  196.     DC.W    $0201,$0203,$0203,$0101,$0203,$0201,$0102,$0203
  197.     DC.W    $0201,$0203,$0302,$0102,$0102,$0301,$0102,$0302
  198.     DC.W    $0302,$0102,$0302,$0102,$0201,$0203,$0302,$0102
  199.     DC.W    $0102,$0302,$0302,$0102,$0103,$0201,$0201,$0302
  200.     DC.W    $0301,$0102,$0302,$0302,$0103,$0103,$0201,$0203
  201.     DC.W    $0203,$0101,$0203,$0201,$0102,$0203,$0201,$0203
  202.     DC.W    $0302,$0102,$0102,$0301,$0102,$0302,$0302,$0102
  203.     DC.W    $0302,$0102,$0201,$0203,$0302,$0102,$0102,$0302
  204.     DC.W    $0302,$0102,$0103,$0201,$0201,$0302,$0301
  205.  
  206. irq:    MOVEM.L    D0-D7/A0-A6,-(SP)
  207.     MOVE.L    #$00DFF124,A0
  208.     MOVE.L    #gAE6,(A0)+
  209.     MOVE.L    #gAE6,(A0)+
  210.     MOVE.L    #gAE6,(A0)+
  211.     MOVE.L    #gAE6,(A0)+
  212.     MOVE.L    #gAE6,(A0)+
  213.     MOVE.L    #gAE6,(A0)+
  214.     MOVE.L    #gAE6,(A0)+
  215.     BSR    install3
  216.     MOVE.L    #0,A4
  217.     MOVE.L    #plane,A0
  218.     MOVE.L    #$00070000,D0  
  219.     SWAP    D0
  220.     MOVE.W    D0,(A0)
  221.     ADDQ.L    #4,A0
  222.     MOVE.W    D0,(A0)
  223.     ADDQ.L    #4,A0
  224.     MOVE.W    D0,(A0)
  225.     ADDQ.L    #4,A0
  226.     MOVE.W    D0,(A0)
  227.     MOVE.W    #0,A5
  228.     MOVE.L    #$09F00000,$00DFF040
  229.     MOVE.L    #$FFFFFFFF,$00DFF044
  230.     MOVE.L    #calc+$18,$00DFF054 
  231.     MOVE.L    #calc+$C0,$00DFF050 
  232.     MOVE.W    #$0018,$00DFF064
  233.     MOVE.W    #$0018,$00DFF066
  234.     MOVE.W    #$319E,$00DFF058
  235.     MOVE.L    #$00074B00,A1    
  236.     MOVE.L    #cop,A0
  237.     ADD.L    #$0000009E,A0
  238.     MOVE.W    #$00C7,D0
  239.     MOVE.W    #$07FE,D1
  240.     MOVE.W    gAEE,D2
  241.     MOVE.W    gAF0,D3
  242.     MOVE.W    gAF2,D4
  243.     MOVE.W    gAF4,D5
  244.     AND.W    D1,D2
  245.     AND.W    D1,D3
  246.     AND.W    D1,D4
  247.     AND.W    D1,D5
  248.     MOVE.W    gAF6,D6
  249.     ADD.W    D6,gAEE
  250.     MOVE.W    gAF8,D6
  251.     ADD.W    D6,gAF0
  252.     MOVE.W    gAFA,D6
  253.     ADD.W    D6,gAF2
  254.     MOVE.W    gAFC,D6
  255.     ADD.W    D6,gAF4
  256.     CLR.L    D7
  257.     MOVE.L    #$00000042,A6
  258. ret4:    MOVE.W    0(A1,D4.W),D6
  259.     ADD.W    0(A1,D5.W),D6
  260.     LSR.W    #5,D6
  261.     MULU    #$A0,D6
  262.     MOVE.W    D6,A4
  263.     ADD.W    A5,A4
  264.     MOVE.W    0(A1,D2.W),D6
  265.     ADD.W    0(A1,D3.W),D6
  266.     LSR.W    #6,D6
  267.     MOVE.B    D6,D7
  268.     NOT.B    D7
  269.     LSR.W    #3,D6
  270.     ADD.W    A4,D6
  271.     MOVE.W    D6,(A0)
  272.     ADDQ.L    #4,A0
  273.     ADD.W    #$0028,D6
  274.     MOVE.W    D6,(A0)
  275.     ADDQ.L    #4,A0
  276.     ADD.W    #$0028,D6
  277.     MOVE.W    D6,(A0)
  278.     ADDQ.L    #4,A0
  279.     ADD.W    #$0028,D6
  280.     MOVE.W    D6,(A0)
  281.     ADDQ.L    #5,A0
  282.     AND.B    #15,D7
  283.     MOVE.B    D7,D6
  284.     LSL.B    #4,D6
  285.     OR.B    D6,D7
  286.     MOVE.B    D7,(A0)+
  287.     ADD.L    A6,A0
  288.     ADD.W    #9,D2
  289.     ADD.W    #$FFF3,D3
  290.     ADD.W    #$FFF9,D4
  291.     ADD.W    #6,D5
  292.     AND.W    D1,D2
  293.     AND.W    D1,D3
  294.     AND.W    D1,D4
  295.     AND.W    D1,D5
  296.     DBRA    D0,ret4
  297. ;    BSR    $00C113A6
  298.     MOVE.L    #calc2,A0 
  299.     MOVE.L    #gB58,A2
  300. ret5:    CLR.L    D0
  301.     MOVE.L    txt,A1
  302.     MOVE.B    (A1)+,D0
  303.     TST.B    D0
  304.     BNE.S    ro3
  305.     MOVE.L    #$00058000,txt
  306.     BRA.S    ret5
  307.  
  308. ro3:    CMP.B    #10,D0
  309.     BNE.S    ro4
  310.     MOVE.W    #$0033,D0
  311.     BRA.S    ro5
  312.  
  313. ro4:    SUB.W    #$0020,D0
  314.     MOVE.L    #gB0C,A1
  315.     MOVE.B    0(A1,D0.L),D0
  316. ro5:    MULU    #$60,D0
  317.     ADD.L    #$00075300,D0
  318.     ADD.L    gB06,D0
  319.     MOVE.L    D0,A1
  320.     MOVE.W    (A1)+,D0
  321.     MOVE.W    (A1)+,D1
  322.     MOVE.W    (A1),D2
  323.     MOVE.W    #14,D3
  324. ret6:    CLR.W    D4
  325.     LSL.W    #1,D2
  326.     ROXL.W    #1,D4
  327.     LSL.W    #1,D1
  328.     ROXL.W    #1,D4
  329.     LSL.W    #1,D0
  330.     ROXL.W    #1,D4
  331.     LSL.W    #1,D4
  332.     MOVE.W    0(A2,D4.W),(A0)
  333.     MOVE.W    0(A2,D4.W),-$0054(A0)
  334.     ADDQ.L    #4,A0
  335.     DBRA    D3,ret6
  336.     ADDQ.W    #1,check
  337.     MOVE.W    check,D0
  338.     AND.W    #1,D0
  339.     BNE.S    ro7
  340.     ADDQ.L    #6,gB06
  341.     CMP.L    #$00000060,gB06
  342.     BNE.S    ro7
  343.     CLR.L    gB06
  344.     ADDQ.L    #1,txt
  345.         nop
  346.     nop
  347. ro7:    MOVEM.L    (SP)+,D0-D7/A0-A6
  348.     MOVE.W    #$4020,$00DFF09C
  349.     RTE    
  350.     
  351. gae6:    DC.W    $0000,$0000,$0000,$0000
  352. gaee:   DC.W    $0000
  353. gaf0:   DC.W    $0000
  354. gaf2:   DC.W    $0000
  355. gaf4:   DC.W    $0000
  356. gaf6:    DC.W    $000C
  357. gaf8:   DC.W    $FFF7
  358. gafa:   DC.W    $000D
  359. gafc:   DC.W    $FFF6,$0006,$0B68
  360. txt:    DC.W    $0005,$8000
  361. gb06:    DC.W    $0000,$0000
  362. check:  DC.W    $0000
  363. gb0c:   DC.W    $3324,$2A31,$2F30,$332D,$2B2C
  364.     DC.W    $3333,$2726,$282E,$231A,$1B1C,$1D1E,$1F20,$2122
  365.     DC.W    $2829,$3E3E,$3E25,$2D00,$0102,$0304,$0506,$0708
  366.     DC.W    $090A,$0B0C,$0D0E,$0F10,$1112,$1314,$1516,$1718
  367.     DC.W    $1933,$3333,$3333,$3233,$3435,$3637,$3839,$3A3B
  368.     DC.W    $3D33
  369. gb58:   DC.W    $0000,$0FFF,$0DDD,$0BBB,$0999,$0777,$0555
  370.     DC.W    $02B7
  371.  
  372. cop:    DC.W    $0102,$0000,$0100,$4200,$0182,$0FCF,$0184,$0F9D
  373.     DC.W    $0186,$0E6B,$0188,$0E37,$018A,$0C00,$018C,$0036
  374.     DC.W    $018E,$0257,$0190,$0479,$0192,$06AA,$0194,$0ABB
  375.     DC.W    $0196,$0FF0,$0198,$0EB0,$019A,$0D80,$019C,$0B60
  376.     DC.W    $019E,$0A30,$01A2,$0888,$01A4,$0CCC,$01A6,$0FFF
  377.     DC.W    $0104,$0000,$00E0,$0005,$00E2,$0000,$00E4,$0005
  378.     DC.W    $00E6,$0028,$00E8,$0005,$00EA,$0050,$00EC,$0005
  379.     DC.W    $00EE,$0078,$7F07,$FFFE,$0180,$0FF0,$0104,$0010
  380.     DC.W    $7FD1,$FFFE,$00E0
  381. plane:  DC.W    $0000,$00E4,$0000,$00E8,$0000
  382.     DC.W    $00EC,$0000,$0180,$0000
  383.  
  384. calc:   blk.b 16742
  385.  
  386. calc2:  blk.b 58
  387.  
  388. dc.w $ffff,$fffe
  389.  
  390. data: = $70000
  391.  
  392. >extern "asmdisk2:binary/strict",data
  393.  
  394.