home *** CD-ROM | disk | FTP | other *** search
-
- ; Assembler: DevPac 2.14
-
- ; use Tab 11
-
-
- opt o+,p+
-
- ***** Message-Bootblock V1.1 *****
-
- bootcode dc.l $444f5300
- dc.l $00000000
- dc.l $00000370
-
- move.l 4.w,a6
- jsr -132(a6) ; _LVOForbid
-
- .alloc_mem move.l #320+12+100+108,d0 ; BitPlane+BitMap+RastPort+CopperList
- move.l #$10002,d1
- jsr -198(a6) ; _LVOAllocMem
- tst.l d0
- beq .dos_boot
- move.l d0,d7
-
- .open_gfx lea gfx_lib(pc),a1
- moveq #33,d0
- jsr -552(a6) ; _LVOOpenLibrary
- tst.l d0
- beq .free_mem
- move.l d0,a6
-
- move.l d7,a1
- adda.l #320+12,a1
- jsr -198(a6) ; _LVOInitRastPort
-
- move.l d7,a0
- adda.l #320,a0
- moveq #1,d0
- move.l #320,d1
- moveq #8,d2
- jsr -390(a6) ; _LVOInitBitMap
-
- move.l d7,a0
- adda.l #320+12,a0 ; Strukturen verbinden
- move.l d7,a1
- adda.l #320,a1
- move.l d7,a2
- move.l a1,$04(a0)
- move.l a2,$08(a1)
-
- move.l d7,a1
- adda.l #320+12,a1
- moveq #52,d0
- moveq #6,d1
- jsr -240(a6) ; _LVOMove
- move.l d7,a1
- adda.l #320+12,a1
- lea boot_text(pc),a0
- moveq #24,d0
- jsr -60(a6) ; _LVOText
-
- moveq #107,d0
- move.l d7,a0
- adda.l #320+12+100,a0
- move.l a0,a2
- lea coplist(pc),a1
- .loop move.b (a1)+,(a0)+
- dbf d0,.loop
-
- move.l d7,d0
- move.w d0,46(a2) ; BitPlane-Zeiger in
- swap d0 ; BPL1PTH / BPL1PTL
- move.w d0,42(a2) ; schreiben (s.u.)
-
- lea $dff000,a0
- move.l a2,$080(a0) ; COP1LCH
- move.w #0,$088(a0) ; COPJMP1
- move.w #$8300,$096(a0) ; DMACON
-
- move.w #$000c,d1
- move.w #$ffff,d0
- .wait nop
- dbf.w d0,.wait
- dbf.w d1,.wait
-
- move.l $26(a6),$080(a0) ; COP1LCH
- move.w #0,$088(a0)
-
- .close_gfx move.l a6,a1
- move.l 4.w,a6
- jsr -414(a6) ; _LVOCloseLibrary
-
- .free_mem move.l d7,a1
- move.l #320+12+100+108,d0
- jsr -210(a6) ; _LVOFreeMem
-
- jsr -138(a6) ; _LVOPermit
-
- .dos_boot lea exp_lib(pc),a1
- moveq #37,d0
- jsr -552(a6) ; _LVOOpenLibrary
- tst.l d0
- beq.s no_explib
- movea.l d0,a1
- bset #6,34(a1)
- jsr -414(a6) ; _LVOCloseLibrary
- no_explib lea dos_lib(pc),a1
- jsr -96(a6) ; _LVOFindResident
- tst.l d0
- beq.s not_found
- movea.l d0,a0
- movea.l 22(a0),a0
- moveq #0,d0
- rts
- not_found moveq #-1,d0
- rts
-
- gfx_lib dc.b "graphics.library",0
- dos_lib dc.b "dos.library",0
- exp_lib dc.b "expansion.library",0
- boot_text dc.b "No Virus on Bootblock !!",0
-
- coplist dc.w $2001,$fffe
- dc.w $0100 ; BPLCON0
- dc.w $0200
- dc.w $008e ; DIWSTRT
- dc.w $0581
- dc.w $0090 ; DIWSTOP
- dc.w $40c1
- dc.w $0092 ; DDFSTRT
- dc.w $0038
- dc.w $0094 ; DDFSTOP
- dc.w $00d0
- dc.w $0102 ; BPLCON1
- dc.w $0000
- dc.w $0104 ; BPLCON2
- dc.w $0024
- dc.w $0108 ; BPL1MOD
- dc.w $0000
- dc.w $010a ; BPL2MOD
- dc.w $0000
- dc.w $00e0 ; BPL1PTH
- dc.w 0 ; wird während Boot gefüllt (s.o.)
- dc.w $00e2 ; BPL1PTL
- dc.w 0 ; wird während Boot gefüllt (s.o.)
- dc.w $182 ; COLOR01
- dc.w $00f0
- dc.w $180 ; COLOR00
- dc.w $0040
- dc.w $9b0f ; Zeile
- dc.w $fffe
- dc.w $180 ; COLOR00
- dc.w $00f0
- dc.w $9d0f ; Zeile
- dc.w $fffe
- dc.w $180 ; COLOR00
- dc.w $0000
- dc.w $a20f,$fffe
- dc.w $0100 ; BPLCON0
- dc.w $1200
- dc.w $a90f,$fffe
- dc.w $0100 ; BPLCON0
- dc.w $0200
- dc.w $af0f ; Zeile
- dc.w $fffe
- dc.w $180 ; COLOR00
- dc.w $00f0
- dc.w $b10f ; Zeile
- dc.w $fffe
- dc.w $180 ; COLOR00
- dc.w $0040
- dc.l $fffffffe ; End der CopperList
-
- coplist_end
-
- bootcode_end
-
- end
-
-