
DOSINI=$0C
IN=$CC
OUT=$CE
OFFSET=$D0
MEMTOP=$2E5
CBEGIN=LENGTH+2

	org $3000

ENTER	SEC
	LDA MEMTOP
	SBC LENGTH
	LDA MEMTOP+1
	SBC LENGTH+1
	STA OUT+1
	STA OFFSET
	TAY
	DEY
	STY MEMTOP+1
	LDY #$FF
	STY MEMTOP
	INY
	STY OUT
	LDX #00
	LDA #CBEGIN&$FF
	STA IN
	LDA #CBEGIN/256
	STA IN+1
	JSR MOVI

HERE	TAX
	BMI MORE
	JSR MOVI
	CLC
	ADC OFFSET
	LDX #00
	JSR MOV
	BMI HERE
MORE	INX
	BEQ OVER
	DEX
	JSR MOVI
	BMI HERE
MOV	STA (OUT),Y
	INC OUT
	BNE MOVI
	INC OUT+1
MOVI	LDA (IN),Y
	INC IN
	BNE MOVO
	INC IN+1
MOVO	DEX
	BPL MOV
ARND	RTS
OVER	LDA #01
	STA OUT
	LDA OFFSET
	STA OUT+1
	LDA DOSINI
	STA (OUT),Y
	INC OUT
	LDA DOSINI+1
	STA (OUT),Y
	INC OUT
	TYA
	STA DOSINI
	LDA OFFSET
	STA DOSINI+1
	JMP (OUT)

LENGTH=*
