home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Crawly Crypt Collection 1
/
crawlyvol1.bin
/
utility
/
virus
/
babosete
/
babosete.asm
next >
Wrap
Assembly Source File
|
1989-12-01
|
4KB
|
99 lines
title <BA>ckground<BO>ot<SE>ktor<TE>ster
module babosete.o
* --------------------------------------------------------------------------
section text
* --------------------------------------------------------------------------
gemdos equ 1
cconws equ 9
ptermres equ 49
bios equ 13
kbshift equ 11
.v_bas_ad equ $44e
hdv_bpb equ $472
.dskbufp EQU $4C6
* --------------------------------------------------------------------------
entry jmp install(pc)
* --------------------------------------------------------------------------
ds.w 0 WORD-ALIGN !
dc.b 'XBRA'
dc.b 'ubaA'
o_hdv_bpb dc.l 1
n_hdv_bpb move.l o_hdv_bpb(pc),a0
cmp.w #2,4(sp) Laufwerk < 2 (also A oder B) ?
blt.s for_me Ja: dann ist's für meinereiner...
jmp (a0) Sonst: weiter mit der alten Routine...
for_me move.w 4(sp),-(sp) Die alte Routine für das gewünschte
jsr (a0) Laufwerk aufrufen...
addq.l #2,sp
movem.l d0-d2,-(sp)
move.l .dskbufp,a0 A0 zeigt auf den gelesenen Bootsector
clr.w d0 Checksumme modulo 2^16 bestimmen...
move.w #255,d1
grynglfix add.w (a0)+,d0
dbf d1,grynglfix
cmp.w #$1234,d0 Ausführbarer Bootsector ?
bne.s sau_gut Nein: Hurra !
move sr,d2 IPL auf 4 und altes SR in D2 merken
move.w d2,d0
and.w #$f8ff,d0
or.w #$0400,d0
move d0,sr
move.w #63,d0 64 mal den Bildschirm invertieren...
klapperdi move.l .v_bas_ad,a0
move.w #7999,d1
uffenday not.l (a0)+
dbf d1,uffenday
dbf d0,klapperdi
move d2,sr alten IPL wiederherstellen
sau_gut movem.l (sp)+,d0-d2
done rts Das war's dann, tschüessing !
* --------------------------------------------------------------------------
install clr.l -(sp) D0 = Super(0)
move.w #32,-(sp)
trap #1
addq.l #6,sp
move.l d0,-(sp)
move.w #32,-(sp) Super(ssp) vorbereiten
lea o_hdv_bpb(pc),a0 Wächter einklinken !
move.l hdv_bpb,(a0)
lea n_hdv_bpb(pc),a0
move.l a0,hdv_bpb
trap #1 Super(ssp) ausführen
addq.l #6,sp
pea intro(pc) Das Startgeblubber...
move.w #cconws,-(sp)
trap #gemdos
addq.l #6,sp
wait move.w #-1,-(sp)
move.w #kbshift,-(sp)
trap #bios
addq.l #4,sp
and.w #$1f,d0
bne.s wait
clr.w -(sp)
move.l #install-entry+256,-(sp)
move.w #ptermres,-(sp)
trap #gemdos
intro dc.b ' ',27,'p =============================== ',27,'q',13,10
dc.b ' ',27,'p BACKGROUND-BOOT-SECTOR-TESTER ',27,'q',13,10
dc.b ' ',27,'p =============================== ',27,'q',13,10
dc.b ' ',27,'p PUBLIC-DOMAIN ',27,'q',13,10
dc.b ' ',27,'p (C) 1.12.1989, Ulf Bartelt ',27,'q',13,10
dc.b 10,0
end