; ----- graphics.library -----
scrollraster=	-396
setapen=	-342
text= 		-60
setfont= 	-66
closefont=	-78
move= 		-240
draw=		-246
initbitmap= 	-390
initrastport= 	-198
clearscreen=	-48
; ----- exec.library     -----
allocabs=	-204
openlibrary= 	-408
closelibrary= 	-414
forbid= 	-132
permit= 	-138
; ----- diskfont.library -----
openfont= 	-30
execbase= 	$04
movem.l 	d0-d7/a0-a6,-(a7)
; ---- open graphics.library ----
move.l		execbase,a6
lea		gfxname,a1
jsr		openlibrary(a6)
move.l		d0,gfxbase
jsr		forbid(a6)		; Forby multitasking.
move.w		#$0020,$dff096		; Stop sprite DMA.
move.l		gfxbase,a0		; Sette inn copperlisten. 
add.l		#$32,a0
move.w		#$0080,$dff096		; Copper DMA  av.	
move.l		(a0),oldcopper	
move.l		#newcopper,(a0)
move.w		#$8080,$dff096		; Copper DMA  paa.
;  **  INITIALISERINGEN  AV  BITMAPSTRUKTUREN
move.l		gfxbase,a6		
lea		bitmap,a0		; Bitmap'en
move.l		#$02,d0			; Ant. bitplanes
move.l		#352,d1			; Bredde
move.l		#200,d2			; H0yde	
jsr		initbitmap(a6)
move.l		#$50000,plane1
move.l		#$52260,plane1+4
lea		rastport,a1
jsr		initrastport(a6)
move.l		#bitmap,r_bitmap
lea		rastport,a1		
jsr		clearscreen(a6)		; Slette skjermen
lea		rastport,a1		; Sette tegnefarge fra
move.l		#$01,d0			; fargeregister 01.
jsr		setapen(a6)		; Setter Pen A
move.w		#$4000,$dff09a		; Setter inn ny  irq
move.l		$6c,oldirq
move.l		#newirq,$6c
move.w		#$c000,$dff09a
wait:
btst		#6,$bfe001		; Venstre musetast trykket ??
bne.s		wait
move.w		#$4000,$dff09a		; Tilbake til gammel  irq.
move.l		oldirq,$6c
move.w		#$c000,$dff09a
move.l		execbase,a6
move.l		gfxbase,a1		; Lukke  graphic.lib.
jsr		closelibrary(a6)
move.l		gfxbase,a0		; Bruke gammel copperliste. 
add.l		#$32,a0
move.w		#$0080,$dff096		; Copper DMA  av.
move.l		oldcopper,(a0)
move.w		#$8080,$dff096		; Copper DMA  paa.
move.l		execbase,a6		
jsr		permit(a6)		; Tillater multitasking.
move.w		#$8020,$dff096		; Slaar paa sprite DMA.
movem.l		(a7)+,d0-d7/a0-a6
error:
rts
newirq:
movem.l		d0-d7/a0-a6,-(sp)
move.l		gfxbase,a6		; scrolling
lea		rastport,a1	;RastPort
move.l		#1,d0		; dX. Pixels ad gangen. X-retn.
move.l		#0,d1
move.w		yretn,d1
move.l		#0,d2		; min X
move.l		#40,d3		; min Y
move.l		#351,d4		; max X
move.l		#110,d5		; max Y
jsr		scrollraster(a6)	; Kaller scroll-rutine.
;lea 		rastport,a1
;move.l		#1,d0
;move.l		#0,d1
;move.l		#300,d2
;move.l		#0,d3
;move.l		#319,d4
;move.l		#20,d5
;jsr		scrollraster(a6)
;lea		rastport,a1
;move.l		#0,d0
;move.l		#-1,d1
;move.l		#300,d2
;move.l		#0,d3
;move.l		#318,d4
;move.l		#200,d5
;jsr		scrollraster(a6)
;lea		rastport,a1
;move.l		#1,d0
;move.l		#0,d1
;move.l		#0,d2
;move.l		#180,d3
;move.l		#318,d4
;move.l		#200,d5
;jsr		scrollraster(a6)
;lea		rastport,a1
;move.l		#1,d0
;move.l		#0,d1
;move.l		#0,d2
;move.l		#180,d3
;move.l		#300,d4
;move.l		#200,d5
;jsr		scrollraster(a6)
cmp.b		#1,flagg
beq		oppover
nedover:
cmp.w		#-4,yretn
beq		oppover
sub.w		#1,yretn
bra		cont
oppover:
move.b		#1,flagg
add.w		#1,yretn
cmp.w		#5,yretn
bne		cont
sub.w		#1,yretn
move.b		#0,flagg
bra		nedover
cont:
sub.b		#$01,rows		; schon 1 zeichen gescrollt
bne.L		continue1		;  ALT  1  TEGN   SCROLLET
move.b		#16,rows
move.l		gfxbase,a6
lea		rastport,a1
move.l		#$02,d0
jsr		setapen(a6)
lea		rastport,a1
move.l		#320,d0
move.l		#80,d1
bsr		text1
add.l		#$01,c_ptr
cmp.l		#ende,c_ptr
bne.s		continue1
move.l		#scrollmsg,c_ptr
continue1:
movem.l		(sp)+,d0-d7/a0-a6
dc.w		$4ef9
oldirq:
dc.l	0
text1:
jsr		move(a6)		; Hente neste tegn fra
lea		rastport,a1		; scrolltexten.
move.l		c_ptr,a0
move.l		#1,d0
jsr		text(a6)
rts
newcopper:
dc.w $0180,$0300,$0182,$0f00
dc.w $0184,$0f00,$0186,$02b2
dc.w $008e,$2c81,$0090,$f4c1
dc.w $0092,$0038,$0094,$00d0
dc.w $0108,$0004,$010a,$0004
dc.w $0102,$0000,$0104,$0000
dc.w $0100,$2200,$00e0,$0005
dc.w $00e2,$0000,$00e4,$0005
dc.w $00e6,$2260,$ffff,$fffe
even
scrollmsg:
dc.b	"OCTON IS BACK AGAIN!!!    JEG ELSKER Å SKRIVE MASSE BULLSHIT"
dc.b 	", SÅ SCROLLS ER DET RETTE FOR MEG!!!         DETTE ER EN "
dc.b	"FALSK SINUS SCROLL.   SER KUULT UT ALIKEVEL, ELLER HUR?     "
dc.b	"   NEI, NÅ MÅ JEG POSTE DENNE ¢¾³·«»³²...... BYE!!!         "
ende:
even
dc.w	0

gfxbase:
dc.l 	0
bitmap:
blk.w 	4,0
plane1:
blk.l 	10,0

rastport:	; Gitt verdien 0. Dvs. current window ???	
blk.l 	1,0

r_bitmap:
blk.l 	26,0
oldcopper:
dc.l 	0
gfxname:
dc.b 	"graphics.library",0
rows:
dc.b	2
even
c_ptr:
dc.l	scrollmsg
ptr1:
dc.l	24
ptr2:
dc.l	696

yretn:	dc.w	0

flagg:  dc.b	0
