start:	bsr frmem
	bsr oplib
main:	btst #6,$bfe001
	beq main
	bsr setscr
	move #$77,copper+190
	lea scrtxt,a2
	move.b #$44,d5
	move.b #1,stop
	move.b $dff00a,mus
	move.b #2,opp	; bestem hvor høyt rasteren kan gå opp (max 0)
	move.b #9,ned	; bestem hvor langt ned rasteren kan gå (max 11)
	clr d6
	move.b opp,d6
	clr.b haha
	move #$0202,spd2
	bsr clear
disa1:	and.l #$1ff00,$dff004
	bne disa1
	move #$4000,$dff09a
	move $dff002,dma
	bset #7,dma
	move #$7fff,$dff096
	move #$83a0,$dff096
	move.l #copper,$dff080
	clr $dff088	
mouse:	move.l $dff004,d0
	and.l #$1ff00,d0
	lsr.l #8,d0
	cmp #$00,d0
	bne mouse
	btst #6,$bfe001
	beq end
	bset #6,$bfee01
	bclr #6,$bfee01
	cmp.b #$75,$bfec01
	beq end2
	bsr change
	bsr select
	cmp.b #1,haha
	beq jump
testm:	btst #2,$dff016
	bne jump
	lea greets,a2
	move.b #1,haha
jump:	bra mouse
select:	bsr sel1
	move.b $dff00a,mus
	bsr clear
	move d6,d3
	lea copper+78,a0
setadr:	addq.l #8,a0
	dbf d3,setadr
	move #$f00,(a0)
	rts
sel1:	move.b mus,d3
	cmp.b $dff00a,d3
	beq down
	sub.b d3,$dff00a
	bmi up
	sub.b #1,spd2
	bne down
	move.b #5,spd2
	cmp.b ned,d6
	beq down
	add.b #1,d6
down:	rts
up:	sub.b #1,spd2+1
	bne up2
	move.b #5,spd2+1
	cmp.b opp,d6
	beq up2
	sub.b #1,d6	
up2:	rts
clear:	lea copper+78,a0
	lea colors,a1
setcol:	move (a1),(a0)
	addq.l #8,a0
	addq.l #2,a1
	cmp.l #colend,a1
	bne setcol	
	rts
change:	sub.b #1,stop
	bne scr2
	move.b #1,stop
	sub.b d5,copper+191
	cmp.b #$ef,copper+191
	bne scr2
	lea $62302,a0
	lea $62300,a1
	lea $64b02,a4
	lea $64b00,a5
	move #$a0,d0
loop01:	move.l (a0)+,(a1)+
	move.l (a4)+,(a5)+
	dbf d0,loop01
	move.b (a2),d0
	cmp.b #$00,d0
	bne zero
	lea scrtxt,a2
zero:	cmp.b #"a",d0
	bne spdup1
	move.b #$11,d5
	add.l #1,a2
spdup1:	cmp.b #"b",d0
	bne spdup2
	move.b #$22,d5
	add.l #1,a2
spdup2:	cmp.b #"c",d0
	bne spdup3
	move.b #$44,d5
	add.l #1,a2
spdup3: cmp.b #"d",d0
	bne spdup4
	move.b #$88,d5
	add.l #1,a2
spdup4:	cmp.b #"e",d0
	bne stop1
	move.b #120,stop
	add.l #1,a2
	bra nomove
stop1:	lea $62326,a3
	lea $64b26,a4
	bsr loop	
nomove:	move.b #$ff,copper+191
scr2:	rts
end:	sub.b opp,d6
	add.b #$41,d6
	move.b d6,filemore
	bsr end2
load:	move.l dosbas,a6
	move.l #file,d1
	clr.l d2
	clr.l d3
	jsr -222(a6)
	bra main
end2:	move.l 4.w,a6
	move.l (a6),a6
	move.l (a6),a6
	move.l $26(a6),$dff080
	clr $dff088
	move dma,$dff096
	rts
file:	dc.b "DF0:utilities/"   ; bestem directory der filene skal være eks df0:s/
filemore: dc.b "a",0  ; ikke forandre noe her..
	even          ; filene må hete a,b,c osv..
frmem:	move.l 4.w,a6
	lea start(pc),a1
	lea endend(pc),a0
	sub.l a1,a0
	move.l a0,d0
	jmp -204(a6)
oplib:	move.l 4.w,a6
	lea dosnam,a1
	jsr -408(a6)
	move.l d0,dosbas
	rts
dosnam:	dc.b "dos.library",0
dosbas:	dc.l 0
setscr:	move.l #$60000,a0
fill:	move.l #0,(a0)+
	cmp.l #$65004,a0
	bne fill
	lea $60000,a3
	lea $62800,a4
	move #12,d4
	lea text,a2
loop1:	move #19,d3
loopa:	bsr loop
	bra setnxt
loop:	clr.l d0
	move.b (a2)+,d0
	sub.b #$20,d0
	cmp.b #$0c,d0
	bcs next
	bne ok1
	move.b #$02,d0
	bra next
ok1:	cmp.b #$0e,d0
	bne ok2
	move.b #$03,d0
	bra next
ok2:	cmp.b #$10,d0
	bcs next
	cmp.b #$1a,d0
	bcc ok3
	sub.b #$0c,d0
	bra next
ok3:	cmp.b #$21,d0
	bcs next
	sub.b #$13,d0
next:	mulu #2,d0
	lea char,a0
	add.l d0,a0
	cmp.b #40,d0
	bcs noadd
	add.l #$258,a0
noadd:	move.l a0,a1
	add.l #$500,a1
	clr.l d1
set1:	move (a0,d1),(a3,d1)
	move (a1,d1),(a4,d1)
	add.l #$28,d1
	cmp #$280,d1
	bne set1
	rts
setnxt:	add.l #2,a3
	add.l #2,a4
	dbf d3,loopa
	add.l #$258,a3
	add.l #$258,a4
	dbf d4,loop1
	rts
copper:	dc.w $008e,$2c81,$0090,$2cc1,$0092,$0038,$0094,$00d0
	dc.w $0100,$2000,$0104,$0000,$0108,$0000
	dc.w $010a,$0000,$00e0,$0006,$00e2,$0000,$00e4,$0006
	dc.w $00e6,$2800,$0180,$000d,$0182,$0BBB,$0184,$0888
	dc.w $0186,$0555,$0120,$0006
	dc.w $0102,$0000
	dc.w $2c07,$fffe,$0180,$000d
	dc.w $3c07,$fffe,$0180,$000c
	dc.w $4c07,$fffe,$0180,$000b
	dc.w $5c07,$fffe,$0180,$000a
	dc.w $6c07,$fffe,$0180,$0f00
	dc.w $7c07,$fffe,$0180,$0008
	dc.w $8c07,$fffe,$0180,$0007
	dc.w $9c07,$fffe,$0180,$0006
	dc.w $ac07,$fffe,$0180,$0005
	dc.w $bc07,$fffe,$0180,$0004
	dc.w $cc07,$fffe,$0180,$0003
	dc.w $dc07,$fffe,$0180,$0002
	dc.w $ec07,$fffe,$0180,$0001
	dc.w $fc07,$fffe,$0180,$0000
	dc.w $ff07,$fffe,$0102,$0000,$008e,$2c91
	dc.w $0120,$0000
	dc.w $0122,$0000,$0124,$0006,$0126,$0000,$0128,$0006
	dc.w $012a,$0000,$012c,$0006,$012e,$0000,$0130,$0006
	dc.w $0132,$0000,$0134,$0006,$0136,$0000,$0138,$0006
	dc.w $013a,$0000,$013c,$0006,$013e,$0000
	dc.w $ffff,$fffe
dma:	dc.w 0
stop:	dc.b 0,0
mus:	dc.b 0,0
ned:	dc.b 0,0
opp:	dc.b 0,0
spd2:	dc.b 0,0
colors:	dc.w $00D,$00C,$00B,$00A,$009,$008,$007,$006,$005
	dc.w $004,$003,$002,$001,$000
colend:
text:	dc.b "   BOOZE PRESENTS   "
	dc.b "OUR UTILITY DISK 1.0"                   
	dc.b "                    "  ; bestem 
	dc.b " DISKMASTER V3.0    "  ; hvordan
	dc.b " NOISETRACKER V2.1  "  ; skjermen
	dc.b " PROTRACKER V1.1    "  ; skal
	dc.b " TETRACOPY V1.0     "  ; se
	dc.b " MULTIRIPPER V2.0   "  ; ut...
	dc.b " XCOPY PRO.         "
	dc.b " MASTERSEKA V1.71   "
	dc.b "                    "
	dc.b "                    "
	DC.B "                    "
EVEN	 
scrtxt:	dc.b " bHELLO EVERYBODY!       WELCOME TO OUR UTILITYDISK!"
	dc.b "       I HOPE YOU ALL FIND WHAT YOU ARE LOOKING FOR HERE!"
	DC.B " WE TRIED TO COLLECT SOME OF THE MOST IMPORTANT UTILITIES"
	DC.B " ON THIS DISK, JUST FOR OWN USE. BUT IF YOU HAVE GOT THIS"
	DC.B " DISK, I HOPE YOU CAN USE IT TOO! THE MENU IS A LITTLE LAME,"
	DC.B " BUT STILL USEFUL! THE REASON FOR NOT HAVING MUSIC IN THIS"
	DC.B " ROUTINE, IS THAT IT HAVE TO BE AS SHORT AS POSSIBLE. THAT"
	DC.B " WILL KILL SOME BOOOORING LOADING. AS A MATTER OF FACT, "
	DC.B "WILL THE MENU GET BACK TO YOU AT THE SAME MOMENT AS YOU"
	DC.B " QUIT A PROGRAM! FANTASTIC!!! WHAT A PIECE OF ART!!!"
	DC.B " ENOUGH BULLSHIT...    FOR ALL YOU WAITING FOR THE GREETZ..."
	DC.B "    IT WILL NOT APPEAR! I CANNOT REMEMBER EVERYONE, SO"
	DC.B " FUCK IT FOR NOW! JUST ONE SPECIAL GREET TO OUR NEW MEMBER"
	DC.B " WARLOCK! JIIIHAAAAA!!!       WELL, TIME TO QUIT...   "
	DC.B " JUST SOME IMPORTANT THINGS...   SOME DOCS IN THE DOCS"
	DC.B "DIRECTORY...    PPMORE LIES ON THIS DISK...    "
	DC.B " PROTRACKER IS A GREEEAAAT PROGRAM...     LEMMINGS ARE"
	DC.B " COOL!!!        SEE YA! GREETZ, INSANE OF            "
	DC.B "        BOOZE                            TEXT WRAPPS..."     
        DC.B "                       ",0
	even   ; ovenfor skrolltekst avslutt med 0  bokst a-d =hastighet
last:
greets:	dc.b "   ..CONTACT SCROLLER..   "  
	DC.B " BOOZE HQ    "
	DC.B "    BOX  72"
	dc.b "      2620 FOLLEBU...      "
	DC.B "  SWAPPING...    "
	DC.B " ANDY    "
	DC.B "    KLOKKERSTIEN 7"
	DC.B "       2636 0YER...      "
        dc.b 0	        
EVEN   ; ovenfor scrolltekst som kommer hvis de trykker r.mouse
char:          ; fonter
dc.l $000007E0,$00000000,$FFFE03F0,$FFFEFFFE,$03FEFFFE,$FC00FFFE 
dc.l $FFFEFFFE,$FFFEFFFE,$FFFEFF80,$FFFEFFFE,$00000420,$00000000 
dc.l $80020210,$80028002,$04028002,$84008002,$80028002,$80028002 
dc.l $80028040,$80028002,$000005A0,$00000000,$BFFA02D0,$BFFABFFA 
dc.l $0BFABFFA,$B400BFFA,$BFFABFFA,$BFFABFFA,$BFFABFA0,$BFFABFFA 
dc.l $000005A0,$00000000,$B07A02D0,$801A801A,$171AB002,$B4008074 
dc.l $B01AB01A,$B01AB01A,$B002B1D0,$B002B002,$000005A0,$00000000 
dc.l $B6FA02D0,$FFDAFFDA,$2EDAB7FE,$B400FEE8,$B7DAB7DA,$B7DAB7DA 
dc.l $B7FEB6E8,$B7FEB7FE,$000005A0,$00000000,$B5DA02D0,$FFDAFFDA 
dc.l $5D5AB002,$B7FE05D0,$B45AB7DA,$B45AB45A,$B400B574,$B7FEB7FE 
dc.l $00001DA0,$00000000,$B39A0ED0,$801A801A,$BBDABFFA,$B0020BA0 
dc.l $B01AB01A,$B01AB01A,$B700B7BA,$B002B002,$000013A0,$00000000 
dc.l $B75A08D0,$BFFABFFA,$B01A807A,$BFFA0B40,$BFFABFFA,$BFFABFFA 
dc.l $B100B15A,$BFFABFFA,$000017A0,$1F00F800,$BEDA0BD0,$BE02807A 
dc.l $BFFAFF7A,$BC1A0B70,$BC1A807A,$BFFABC1A,$BD00BD5A,$BC02BC02 
dc.l $00001020,$10E08700,$BEDA0BD0,$BEFEFF7A,$807A017A,$BDDA0B10 
dc.l $BDDAFF7A,$BC1ABDDA,$BD00BD5A,$BDFEBDFE,$00001FE0,$1720B900 
dc.l $BEDA0BD0,$BEFEFF7A,$FF7AFF7A,$BDDA0BD0,$BC5A017A,$BDDABC5A 
dc.l $BDFEBDDA,$BDFEBD00,$00000000,$17A0BD00,$BE1A0BD0,$BE02807A 
dc.l $017A807A,$BC1A0BD0,$BC1A017A,$BD5ABC1A,$BC02BC1A,$BC02BD00 
dc.l $00001FE0,$17A0BD00,$BFFA0BD0,$BFFABFFA,$017ABFFA,$BFFA0BD0 
dc.l $BFFA017A,$BD5ABFFA,$BFFABFFA,$BFFABD00,$00001020,$10208100 
dc.l $80020810,$80028002,$01028002,$80020810,$80020102,$81428002 
dc.l $80028002,$80028100,$00001FE0,$1F20FF00,$FFFE0FF0,$FFFEFFFE 
dc.l $01FEFFFE,$FFFE0FF0,$FFFE01FE,$FF7EFFFE,$FFFEFFFE,$FFFEFF00 
dc.l $00000000,$01E00000,$00000000,$00000000,$00000000,$00000000 
dc.l $00000000,$00000000,$00000000,$00000000,$FFFEFC7E,$FFFE01FE 
dc.l $FC3EFC00,$F83EFC7E,$FFFEFFFE,$FFFEFFFE,$FFFEFFFE,$FC7EFC7E 
dc.l $FC7EF83E,$FC7EFFFE,$80028442,$80020102,$84428400,$84428242 
dc.l $80028002,$80028002,$80028002,$84428442,$84428822,$84428002 
dc.l $BFFAB45A,$BFFA017A,$B4BAB400,$BABABD5A,$BFFABFFA,$BFFABFFA 
dc.l $BFFABFFA,$B45AB45A,$B45AB45A,$B45ABFFA,$B002B45A,$83020132 
dc.l $B574B400,$BD7ABEDA,$BFFAB01A,$BFFAB01A,$B0028302,$B45AB45A 
dc.l $B45ABABA,$B45A8074,$B7FEB45A,$FB7E01B6,$B6E8B400,$BEFABF5A 
dc.l $B01AB7DA,$B01AB7DA,$B7FEFB7E,$B45AB45A,$B45ADD76,$B45AFEE8 
dc.l $B7FEB7DA,$0B4000B4,$B1D0B400,$B7DABB9A,$B7DAB7DA,$B7DAB7DA 
dc.l $B7FE0B40,$B45AB45A,$B55A2EE8,$B7DA05D0,$B702B01A,$0B7000B4 
dc.l $BFA0B700,$BB9AB9DA,$B75AB01A,$B75AB01A,$B0020B40,$B75AB75A 
dc.l $B6DA17D0,$B01A0BA0,$B17ABFFA,$0B10FCB4,$BF40B100,$BD5AB8FA 
dc.l $B15ABFFA,$B15ABFFA,$BFFA0B70,$B15AB15A,$B55A0BA0,$BFFA1740 
dc.l $BD0ABC1A,$0BD084B4,$BFA0BD00,$BCDABD7A,$BD5AB802,$BD5ABF82 
dc.l $807A0B10,$BD5ABD5A,$B39A17D0,$807A2F40,$BDEABDDA,$0BD0B4B4 
dc.l $BDD0BD00,$BD5ABDBA,$BDDABEFE,$BDDAB9DE,$FF7A0BD0,$BD5ABD5A 
dc.l $B7DA2EE8,$FF7A5FA0,$BDEABD5A,$FBDEB7B4,$BCE8BDFE,$BD5ABD5A 
dc.l $BC1ABE80,$BC1ABCE8,$FF7A0BD0,$BDDABDBA,$BEFADD76,$FF7ABFBE 
dc.l $BC0ABD5A,$83C2B034,$BD74BC02,$BD5ABD5A,$BFFABE80,$BFFABD74 
dc.l $807A0BD0,$BC1A5C74,$BD7ABDBA,$807ABF82,$BFFABD5A,$BFFABFF4 
dc.l $BDBABFFA,$BD5ABD5A,$BFFABE80,$BFFABDBA,$BFFA0BD0,$BFFA2FE8 
dc.l $BDBABD5A,$BFFABFFA,$80028142,$80028004,$81428002,$8142815A 
dc.l $80028080,$8072815A,$80020810,$80021010,$81428122,$80028002 
dc.l $FFFEFF7E,$FFFEFFFC,$FF3EFFFE,$FF7EFF7E,$FFFEFF80,$FF8EFF3E 
dc.l $FFFE0FF0,$FFFE0FE0,$FF3EFF3E,$FFFEFFFE,$00000000,$00000000 
dc.l $00000000,$00000000,$00000000,$00F80000,$00000000,$00000000 
dc.l $00000000,$00000000,$000007E0,$00000000,$FFFE03F0,$FFFEFFFE 
dc.l $03FEFFFE,$FC00FFFE,$FFFEFFFE,$FFFEFFFE,$FFFEFF80,$FFFEFFFE 
dc.l $000007E0,$00000000,$FFFE03F0,$FFFEFFFE,$07FEFFFE,$FC00FFFE 
dc.l $FFFEFFFE,$FFFEFFFE,$FFFEFFC0,$FFFEFFFE,$00000660,$00000000 
dc.l $C0060330,$C006C006,$0C06C006,$CC00C006,$C006C006,$C006C006 
dc.l $C006C060,$C006C006,$00000660,$00000000,$CF860330,$FFE6FFE6 
dc.l $18E6CFFE,$CC00FF8C,$CFE6CFE6,$CFE6CFE6,$CFFECE30,$CFFECFFE 
dc.l $00000660,$00000000,$CF060330,$FFE6FFE6,$31E6CFFE,$CC00FF18 
dc.l $CFE6CFE6,$CFE6CFE6,$CFFECF18,$CFFECFFE,$00000660,$00000000 
dc.l $CE260330,$FFE6FFE6,$6366CFFE,$CFFE0630,$CC66CFE6,$CC66CC66 
dc.l $CC00CD8C,$CFFECFFE,$00001E60,$00000000,$CC660F30,$FFE6FFE6 
dc.l $C7E6C006,$CFFE0C60,$CFE6CFE6,$CFE6CFE6,$CF00CFC6,$CFFECFFE 
dc.l $00001C60,$00000000,$C8E60F30,$C006C006,$CFE6FF86,$C0060CC0 
dc.l $C006C006,$C006C006,$CF00CF66,$C006C006,$00001860,$1F00F800 
dc.l $C1E60C30,$C1FEFF86,$C006FF86,$C3E60CF0,$C3E6FF86,$C006C3E6 
dc.l $C300C366,$C3FEC3FE,$00001FE0,$1FE0FF00,$C1E60C30,$C1FEFF86 
dc.l $FF860186,$C3E60CF0,$C3E6FF86,$C3E6C3E6,$C300C366,$C3FEC3FE 
dc.l $00001FE0,$18E0C700,$C1E60C30,$C1FEFF86,$FF86FF86,$C3E60C30 
dc.l $C2660186,$C3E6C266,$C3FEC3E6,$C3FEC300,$00000000,$1860C300 
dc.l $C1E60C30,$C1FEFF86,$0186FF86,$C3E60C30,$C3E60186,$C366C3E6 
dc.l $C3FEC3E6,$C3FEC300,$00001FE0,$1860C300,$C0060C30,$C006C006 
dc.l $0186C006,$C0060C30,$C0060186,$C366C006,$C006C006,$C006C300 
dc.l $00001FE0,$1FE0FF00,$FFFE0FF0,$FFFEFFFE,$01FEFFFE,$FFFE0FF0 
dc.l $FFFE01FE,$FF7EFFFE,$FFFEFFFE,$FFFEFF00,$00001FE0,$1FE0FF00 
dc.l $FFFE0FF0,$FFFEFFFE,$01FEFFFE,$FFFE0FF0,$FFFE01FE,$FF7EFFFE 
dc.l $FFFEFFFE,$FFFEFF00,$00000000,$01E00000,$00000000,$00000000 
dc.l $00000000,$00000000,$00000000,$00000000,$00000000,$00000000 
dc.l $FFFEFC7E,$FFFE01FE,$FC3EFC00,$F83EFC7E,$FFFEFFFE,$FFFEFFFE 
dc.l $FFFEFFFE,$FC7EFC7E,$FC7EF83E,$FC7EFFFE,$FFFEFC7E,$FFFE01FE 
dc.l $FC7EFC00,$FC7EFE7E,$FFFEFFFE,$FFFEFFFE,$FFFEFFFE,$FC7EFC7E 
dc.l $FC7EF83E,$FC7EFFFE,$C006CC66,$C0060186,$CCC6CC00,$C6C6C366 
dc.l $C006C006,$C006C006,$C006C006,$CC66CC66,$CC66CC66,$CC66C006 
dc.l $CFFECC66,$FCFE01CE,$CD8CCC00,$C386C1E6,$C006CFE6,$C006CFE6 
dc.l $CFFEFCFE,$CC66CC66,$CC66C6C6,$CC66FF8C,$CFFECC66,$FCFE01CE 
dc.l $CF18CC00,$C106C0E6,$CFE6CFE6,$CFE6CFE6,$CFFEFCFE,$CC66CC66 
dc.l $CC66E38E,$CC66FF18,$CFFECFE6,$0CC000CC,$CE30CC00,$C826C466 
dc.l $CFE6CFE6,$CFE6CFE6,$CFFE0CC0,$CC66CC66,$CD663118,$CFE60630 
dc.l $CFFECFE6,$0CF000CC,$C060CF00,$CC66C626,$CF66CFE6,$CF66CFE6 
dc.l $CFFE0CC0,$CF66CF66,$CFE61830,$CFE60C60,$CF86C006,$0CF0FCCC 
dc.l $C0C0CF00,$CEE6C706,$CF66C006,$CF66C006,$C0060CF0,$CF66CF66 
dc.l $CEE60C60,$C00618C0,$C3F6C3E6,$0C30FCCC,$C060C300,$C3E6C386 
dc.l $C366C7FE,$C366C07E,$FF860CF0,$C366C366,$CC661830,$FF8630C0 
dc.l $C3F6C3E6,$0C30CCCC,$C230C300,$C366C3C6,$C3E6C1FE,$C3E6C63E 
dc.l $FF860C30,$C366C366,$C8263118,$FF866060,$C3F6C366,$FC3ECFCC 
dc.l $C318C3FE,$C366C366,$C3E6C180,$C3E6C318,$FF860C30,$C3E6C3C6 
dc.l $C106E38E,$FF86C07E,$C3F6C366,$FC3ECFCC,$C38CC3FE,$C366C366 
dc.l $C006C180,$C006C38C,$FF860C30,$C3E6638C,$C386C3C6,$FF86C07E 
dc.l $C006C366,$C006C00C,$C3C6C006,$C366C366,$C006C180,$C006C3C6 
dc.l $C0060C30,$C0063018,$C3C6C366,$C006C006,$FFFEFF7E,$FFFEFFFC 
dc.l $FF7EFFFE,$FF7EFF66,$FFFEFF80,$FF8EFF66,$FFFE0FF0,$FFFE1FF0 
dc.l $FF7EFF3E,$FFFEFFFE,$FFFEFF7E,$FFFEFFFC,$FF3EFFFE,$FF7EFF7E 
dc.l $FFFEFF80,$FFFEFF3E,$FFFE0FF0,$FFFE0FE0,$FF3EFF3E,$FFFEFFFE 
dc.l $00000000,$00000000,$00000000,$00000000,$00000000,$00F80000 
dc.l $00000000,$00000000,$00000000,$00000000,$64632E6C,$20243030 
haha:	dc.b 0,0
endend:
