home *** CD-ROM | disk | FTP | other *** search
- execbase: = 4
- findtask: = -294
- addport: = -354
- remport: = -360
- openlib: = -408
- closelib: = -414
- opendev: = -444
- closedev: = -450
- doio: = -456
-
-
- bootsector: dc.b 'dos',0
-
- dc.l 0
- dc.l 880
-
- bsr demo
- move.l execbase,a6
-
- lea dosname(pc),a1
-
- jsr -96(a6)
-
- move.l d0,a0
- move.l 22(a0),a0
- moveq #0,d0
- rts
- demo: move.w #$27ff,d0
- lea $11000,a0
- demo1: move.b #0,(a0)+
- dbra d0,demo1
- move.w #picturelength,d0
-
- lea $11000,a0
- lea picture(pc),a1
- demo2: move.b (a1)+,(a0)+
- dbra d0,demo2
- move.w $dff01c,intena
-
- move.w #$7fff,$dff09a
-
- move.w $dff002,dmacon
-
- move.w #$00ff,$dff096
-
- move.w #$8100,$dff96
- move.w #100,d3
- move.w #20,d4
- move.w #2,d5
- move.w #2,d6
- clr.w d2
-
- demo3: btst #0,$dff004
- bne demo3
-
- move.w #$1000,$dff100
- move.w d3,$dff102
-
- move.w #$0024,$dff104
- move.l #$00110000,$dff0e0
- move.w #$0000,$dff108
- move.w d3,d7
- asr.w #1,d7
- add.w #$30,d7
- move.w d7,$dff092
- add.w #$28,d7
-
- move.w d7,$dff094
- move.w d4,d7
- asl.w #8,d7
- add.w #$3070,d7
- move.w d7,$dff8e
- move.w #$2bf0,$dff090
-
- move.w #28,d0
- move.w d2,d1
- lea colortab(pc),a0
-
- demo4: cmp.b $dff006,d0
-
- bne demo4
- move.w (a0,d1),d7
- move.w d7,$dff180
- asl.w #4,d7
- move.w d7,$dff182
- add.w #2,d1
- and.w #$1f,d1
- add.w #1,d0
- cmp.w #312,d0
-
- bne demo4
- add.w #2,d2
- and.w #$1f,d2
- add.w d5,d3
- add.w d6,d4
- cmp.b #0,d3
-
- bne demo5
- eor.w #$ffff,d5
- add.w #$1,d5
- demo5: move.w d4,d7
-
- and #127,d7
- bne demo6
- eor.w #$ffff,d6
- add.w #$1,d6
- demo6: btst #6,$bfe001
-
- bne demo3
-
- move.w dmacon,d0
- or.w #$8000,d0
- move.w #$0100,$dff096
- move.w d0,$dff096
- move.w intena,d0
- or.w #$8000,d0
- move.w d0,$dff09a
- rts
- dosname: dc.b 'dos.library',0
- intena: dc.w 0
- dmacon: dc.w 0
- colortab: dc.w 0,2,4,6,8,10,12,14,15,14,12,10,8,4,2,0
- picture: blk.b 1024,0
- picturelength1: = picture-bootsector
- picturelength: = 1024-picturelength1
-
- wboot: lea bootsector,a0
-
- move.l #$ffffffff,d0
-
- move.l #$ff,d1
- clr.l d2
- wbboot1: sub.l (a0)+,d0
- subx.l d2,d0
- dbra d1,bootsector+$4
- move.l execbase,a6
- move.l #0,a1
- jsr findtask(a6)
- move.l d0,wport+$10
-
- lea wport,a1
- jsr addport(a6)
- lea wio,a1
-
- move.l #0,d0
-
- clr.l d1
- lea wtrdevice,a0
- jsr opendev(a6)
- tst.l d0
-
- bne werror
- lea wio,a1
- move.l #wport,14(a1)
-
- move.w #3,28(a1)
-
- move.l #bootsector,40(a1)
-
- move.l #2*512,36(a1)
-
- move.l #0*512,44(a1)
-
- jsr doio(a6)
- move.w #4,28(a1)
-
- jsr doio(a6)
- move.w #9,28(a1)
-
- move.l #0,36(a1)
- jsr doio(a6)
- lea wport,a1
- jsr remport(a6)
- lea wio,a1
- jsr closedev(a6)
-
- werror: rts
-
- wtrdevice: dc.b 'trackdisk.device',0
- even
- wio: blk.l 20,0
- wport: blk.l 8,0