
; -------------------
; --- Scroll Up!  ---
; -------------------

org	$70000
load	$70000

beg:

fontSize=10

move.l	$04,a6
lea	gfxname,a1
jsr	-408(a6)		; OpenLibrary(Gfx)
move.l	d0,gfxbase

move.l	d0,a0
move.l	50(a0),oldclist
move.l	#newclist,50(a0)

move.l	gfxbase,a6
lea	bitmap,a0
move.l	#$01,d0
move.l	#320,d1
move.l	#300,d2
jsr	-390(a6)		; InitBitMap

lea	rastport,a1
jsr	-198(a6)		; InitRastPort

move.l	#$60000,plane1
move.l	#bitmap,r_bitmap

lea	rastport,a1
jsr	-48(a6)			; ClearScreen

move.l	#scrollm,zeiger		; Zeiger auf 1. Text-Byte

move.l	$6c,oldirq+2		; alten IRQ retten
move.l	#newirq,$6c		; IRQ verbiegen

wait:
btst	#6,$bfe001		; wait for Mousie Knob
bne.s	wait

move.l	oldirq+2,$6c		; alten IRQ herstellen

move.l	gfxbase,a0		
move.l	oldclist,50(a0)		; alte CopperListe herstellen

move.l	$04,a6
move.l	gfxbase,a1
jsr	-414(a6)		; CloseLibrary(Gfx)

rts				; EOP

;--------------------------------------------------------------------

newirq:				; Start des neuen IRQ
movem.l	d0-d7/a0-a6,-(sp)

move.l	gfxbase,a6
lea	rastport,a1
move.l	#$00,d0
move.l	#$01,d1			; 1 Pixel in Y-Richtung
move.l	#00,d2
move.l	#00,d3
move.l	#320,d4
move.l	#300,d5
jsr	-396(a6)		; ScrollRaster

sub.b	#$01,rows		; schon alle Pixel gescrollt ?
bne	exit			; nein -> raus

move.b	#fontSize,rows		; Pixel-Pointer wiederherstellen

lea	rastport,a1
move.l	#00,d0
move.l	#290,d1
jsr	-240(a6)		; Move

lea	rastport,a1
move.l	zeiger,a0
move.l	#40,d0
jsr	-60(a6)			; Text (an Gfx-Cursor-Position)

add.l	#40,zeiger
cmp.l	#end,zeiger
bne	exit

move.l	#scrollm,zeiger		; Scroll-Text von vorne

exit:
movem.l	(sp)+,d0-d7/a0-a6	; Register wiederherstellen

oldirq:
jmp	$00000000		; weiter im System-IRQ
	
;-------------------------------------------------------------------

newclist:
dc.w	$008e,$1c81,$0090,$30c1
dc.w	$0092,$0038,$0094,$00d0
dc.w	$00e0,$0006,$00e2,$0000
dc.w	$0100,$1200,$0102,$0000,$0104,$0000
dc.w	$0180,$0000,$0182,$0ddd
dc.w	$ffff,$fffe

scrollm:
dc.b	"                                        "
dc.b	"      ?? Literatur beim Willi ??        "
dc.b	"        Och nee du, lass ma...          "
dc.b	"                                        "
end:

even

zeiger: 	dc.l	0
oldclist:	dc.l	0
gfxbase:	dc.l	0
bitmap:		blk.w	4,0
plane1:		blk.l	20,0
rastport:	dc.l	0
r_bitmap:	blk.l	30,0
rows:		dc.b	fontSize

even

gfxname:	dc.b	"graphics.library",0

; -- EOP --

