	.LA	1000

	MOV	#1000,R5

SCRL:	MOV	#40000,R0
	MOV	#30,R1
	MOV	#100,R2
	CALL	ScrollRight
	SOB	R5,SCRL
	HALT


; R0 - screen address
; R1 - width in words
; R2 - height in rows


ScrollRight:
	MOVB #32.,RB	; default offset
	SUB R1,RB
	ASL R1		; width in bytes
	MOV R1,Of1+2
	NEG Of1+2
R:	CLC
RB:	BR Of1
2:
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+	; scroll row
	ROL (R0)+
	ROL (R0)+
	ROL (R0)+

Of1:	ADC -32.(R0)
	SUB R1,R0
	INC PC		; repeat twice
	BR R
	ADD #100,R0	; next row
	SOB R2,R
	RET

	.END