                1  *CHARACTER SET MOVE ROUTINE
                2  *A-USR(1664,CHRAMH,l OR 2,PAGES)
                3  *
                4  	ORG	$680
                5  ***	TF	"D:CHARMOVE.OBJ
                6  CHRAML	EQU	$CB
                7  CHRAMH	EQU	$CC
                8  CHROML	EQU	$CD
                9  CHROMH	EQU	$CE
0680 68        10  START	PLA			; PULL UNUSED BYTE OFF STACK
0681 68        11  	PLA			; DISCARD LO BYTE
0682 68        12  	PLA			; RAM LOCATION OF CHARACTER SET
0683 85CC      13  	STA	CHRAMH
0685 68        14  	PLA
0686 68        15  	PLA			; START AT IST OR 2ND HALF?
0687 C901      16  	CMP	#$01
0689 F004      17  	BEQ	.1		; IF 2 SKIP 2 PAGES
068B E6CE      18  	INC	CHROMH
068D E6CC      19  	INC	CHRAMH
068F 68        20  .1	PLA
0690 68        21  	PLA			; PAGES
0691 8DAC06    22  	STA	PAGES
0694 A900      23  	LDA	#$00
0696 85CE      24  	STA	CHROMH
0698 85CC      25  	STA	CHRAMH
069A A8        26  	TAY
069B B1CD      27  LOOP	LDA	(CHROML),Y	; LOAD FROM ROM
069D 91CB      28  	STA	(CHRAML),Y	; STORE IN RAM
069F C8        29  	INY
06A0 D0F9      30  	BNE	LOOP		; DONE WITH 256 BYTE PAGE?
06A2 E6CE      31  	INC	CHROMH		; NEXT ROM PAGE
06A4 E6CC      32  	INC	CHRAMH		; NEXT RAM PAGE
06A6 CEAC06    33  	DEC	PAGES
06A9 D0F0      34  	BNE	LOOP		; DONE?
06AB 60        35  	RTS
06AC 00        36  PAGES	DS	1
