home *** CD-ROM | disk | FTP | other *** search
/ Amiga ISO Collection / AmigaUtilCD2.iso / Programming / Assembler / dse-src6.dms / in.adf / BOUNCHSRCS.LZH / wboot.s < prev   
Encoding:
Text File  |  1990-10-12  |  4.6 KB  |  164 lines

  1. ;     WRITTEN BY NMZ
  2. EXECBASE     =       4
  3. FINDTASK     =       -294
  4. ADDPORT      =       -354
  5. REMPORT      =       -360
  6. OPENLIB      =       -408
  7. CLOSELIB     =       -414
  8. OPENDEV      =       -444
  9. CLOSEDEV     =       -450
  10. DOIO         =       -456
  11.  
  12. ;---------------------------------
  13. BOOTSECTOR:  DC.B     'DOS',0
  14.  
  15.              DC.L     0
  16.              DC.L     880
  17.  
  18.              BSR      DEMO
  19.              MOVE.L   EXECBASE,A6
  20.              LEA      DOSNAME(PC), A1
  21.              JSR      -96(A6)
  22.              MOVE.L   D0,A0
  23.              MOVE.L   22(A0),A0
  24.              MOVEQ    #0,D0
  25.              RTS
  26. DEMO:        MOVE.W   #$27FF,D0
  27.              LEA      $11000,A0
  28. DEMO1:       MOVE.B   #0,(A0)+
  29.              DBRA     D0,DEMO1
  30.              MOVE.W   #PICTURELENGTH, D0
  31.              LEA      $11000,A0
  32.              LEA      PICTURE(PC), A1
  33. DEMO2:       MOVE.B   (A1)+,(A0)+
  34.              DBRA     D0,DEMO2
  35.              MOVE.W   $DFF01C,INTENA
  36.              MOVE.W   #$7FFF,$DFF09A
  37.              MOVE.W   $DFF002,DMACON
  38.              MOVE.W   #$00FF,$DFF096
  39.              MOVE.W   #$8100,$DFF096
  40.              MOVE.W   #100,D3
  41.              MOVE.W   #30,D4
  42.              MOVE.W   #2,D5
  43.              MOVE.W   #2,D6
  44.              CLR.W    D2
  45. DEMO3:       BTST     #0,$DFF004
  46.              BNE      DEMO3
  47.  
  48.  
  49.              MOVE.W   #$1000,$DFF100
  50.              MOVE.W   D3,$DFF102
  51.              MOVE.W   #$0024,$DFF104
  52.              MOVE.L   #$0011000,$DFF0E0
  53.              MOVE.W   #$0000,$DFF108
  54.              MOVE.W   D3,D7
  55.              ASR.W    #1,D7
  56.              ADD.W    #$30,D7
  57.              MOVE.W   D7,$DFF092
  58.              ADD.W    #$28,D7
  59.              MOVE.W   D7,$DFF094
  60.              MOVE.W   D4,D7
  61.              ASL.W    #8,D7
  62.              ADD.W    #$3070,D7
  63.              MOVE.W   D7,$DFF08E
  64.              MOVE.W   #$2BF0,$DFF090
  65.              MOVE.W   #28,D0
  66.              MOVE.W   D2,D1
  67.              LEA      COLORTAB(PC),       A0
  68. DEMO4:       CMP.B    $DFF006,D0
  69.              BNE      DEMO4
  70.          MOVE.W   (A0,D1),D7    ;D7=(A1+D1)
  71.          MOVE.W   D7,$DFF180    ;Background color
  72.              ASL.W    #4,D7        ;D7=D7*16
  73.          MOVE.W   D7,$DFF182    ;Text color
  74.              ADD.W    #2,D1        ;D1=(D1+2)AND 31
  75.              AND.W    #$1F,D1
  76.              ADD.W    #1,D0        ;D0=D0+1
  77.              CMP.W    #312,D0        ;JMP to color2 if D0,'0'
  78.              BNE      DEMO4
  79.              ADD.W    #2,D2
  80.              AND.W    #$1F,D2
  81.              ADD.W    D5,D3
  82.              ADD.W    D6,D4
  83.              CMP.B    #0,D3
  84.              BNE      DEMO5
  85.              EOR.W    #$FFFF,D5
  86.              ADD.W    #$1,D5
  87. DEMO5:       MOVE.W   D4,D7
  88.              AND      #127,D7
  89.              BNE      DEMO6
  90.              EOR.W    #$FFFF,D6
  91.              ADD.W    #$1,D6
  92. DEMO6:       BTST     #6,$BFE001
  93.              BNE      DEMO3
  94.              MOVE.W   DMACON,D0
  95.              OR.W     #$8000,D0
  96.              MOVE.W   #$0100,$DFF096
  97.              MOVE.W   D0,$DFF096
  98.              MOVE.W   INTENA,D0
  99.              OR.W     #$8000,D0
  100.              MOVE.W   D0,$DFF09A
  101.              RTS
  102. DOSNAME:     DC.B     'dos.library',0
  103. INTENA:      DC.W     0
  104. DMACON:      DC.W     0
  105. COLORTAB:    DC.W     0,2,4,6,8,10,12,14,15,14,12,10,8,4,
  106. PICTURE:     BLK.B    1024,0
  107. PICTURELENGTH1   =           PICTURE-BOOTSECTOR
  108. PICTURELENGTH    =           1024-PICTURELENGTH1
  109. ;-----------------------------------------------
  110. WBOOT:       LEA      BOOTSECTOR,A0
  111.              MOVE.L   #$FFFFFFFF,D0
  112.              MOVE.L   #$FF,D1
  113.              CLR.L    D2
  114. WBOOT1:      SUB.L    (A0)+,D0
  115.              SUBX.L   D2,D0
  116.              DBRA     D1,WBOOT1
  117.              MOVE.L   D0,BOOTSECTOR+$4
  118.              MOVE.L   EXECBASE,A6
  119.              MOVE.L   #0,A1
  120.              JSR      FINDTASK(A6)
  121.              MOVE.L   D0,WPORT+$10
  122.              LEA      WPORT,A1
  123.              JSR      ADDPORT(A6)
  124.              LEA      WIO,A1
  125.              MOVE.L   #0,D0
  126.  
  127.              CLR.L    D1
  128.              LEA      WTRDDEVICE,A0
  129.              JSR      OPENDEV(A6)
  130.              TST.L    D0
  131.              BNE      WERROR
  132.              LEA      WIO,A1
  133.              MOVE.L   #WPORT,14(A1)
  134.  
  135.  
  136.              MOVE.W   #3,28(A1)
  137.              MOVE.L   #BOOTSECTOR, 40(A1)
  138.              MOVE.L   #2*512,36(A1)
  139.  
  140.              MOVE.L   #0*512,44(A1)
  141.  
  142.              JSR      DOIO(A6)
  143.              MOVE.W   #4,28(A1)
  144.  
  145.  
  146.  
  147.  
  148.  
  149.              JSR      DOIO(A6)
  150.              MOVE.W   #9,28(A1)
  151.              MOVE.L   #0,36(A1)
  152.              JSR      DOIO(A6)
  153.              LEA      WPORT,A1
  154.              JSR      REMPORT(A6)
  155.              LEA      WIO,A1
  156.              JSR      CLOSEDEV(A6)
  157.  
  158. WERROR:      RTS
  159.  
  160. WTRDDEVICE:  DC.B     'trackdisk.device',0
  161.              EVEN
  162. WIO:         BLK.L    20,0
  163. WPORT:       BLK.L    8,0
  164.