MOVIASM;MASCHINENPROGRAMM ZUR SPEICHERUNG
;UND AUSGABE EINER BILDFOLGE
;
	ORG	0
;
;INITIALISIERUNG
;
INIT	CALL	BEGIN
	LD	A,(XA)
	LD	E,A
	LD	A,(XE)
	SUB	E
	INC	A
	LD	(DX),A
	LD	A,(YA)
	RLA
	RLA
	RLA
	LD	D,A
	LD	A,(YE)
	RLA
	RLA
	RLA
	SUB	D
	ADD	A,8
	LD	(DY),A
	LD	B,A
	LD	HL,(TAB)
M01	PUSH	DE
	PUSH	HL
	EX	DE,HL
	CALL	0F003H
	DEFB	034H
	EX	DE,HL
	POP	HL
	LD	(HL),E
	INC	HL
	LD	(HL),D
	INC	HL
	POP	DE
	INC	D
	DJNZ	M01
END	POP	AF
	OUT	(088H),A
	RET
;
;BILDFOLGE
;
FOLGE	CALL	BEGIN
M02	LD	HL,(DATE)
	LD	C,(HL)
	INC	HL
M03	PUSH	BC
	LD	B,(HL)
	INC	HL
	LD	C,080H
	LD	A,(HL)
	INC	HL
	OUT	(C),A
	POP	BC
	LD	B,(HL)
	INC	HL
	LD	DE,04000H
	LD	(MEM),DE
M04	PUSH	HL
	PUSH	BC
	CALL	MESC
	POP	BC
	POP	HL
	JR	C,END
	DJNZ	M04
	DEC	C
	JR	NZ,M03
	LD	A,(HL)
	OR	A
	JR	NZ,M02
	JR	END
;
;SCREEN -> MEMORY
;
SCME	CALL	BEGIN
	LD	HL,(TAB)
	LD	A,(DY)
	LD	B,A
	LD	A,(DX)
	LD	C,A
M05	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	INC	HL
	PUSH	HL
	LD	HL,(MEM)
	EX	DE,HL
	PUSH	BC
	LD	B,0
	LDIR
	POP	BC
	EX	DE,HL
	LD	(MEM),HL
	POP	HL
	DJNZ	M05
	JR	END
;
;MEMORY -> SCREEN
;
MESC	LD	HL,(TAB)
	LD	A,(DY)
	LD	B,A
	LD	A,(DX)
	LD	C,A
M06	LD	E,(HL)
	INC	HL
	LD	D,(HL)
	INC	HL
	PUSH	HL
	LD	HL,(MEM)
	PUSH	BC
	LD	B,0
	LDIR
	POP	BC
	LD	(MEM),HL
	POP	HL
	DJNZ	M06
;
;PAUSE
;
	LD	HL,W1
	LD	B,(HL)
M07	INC	HL
	LD	C,(HL)
	DEC	HL
M08	BIT	0,(IX+8)
	JR	Z,M09
	LD	A,(001FDH)
	RES	0,(IX+8)
	CP	3
	SCF
	RET	Z
	SUB	8
	CALL	M10
	INC	HL
	DEC	A
	CALL	M10
	DEC	HL
M09	DEC	C
	JR	NZ,M08
	DJNZ	M07
	OR	A
	RET
;
M10	JR	NZ,M13
M11	INC	(HL)
	RET	NZ
M12	DEC	(HL)
	JR	Z,M11
M13	DEC	A
	JR	Z,M12
	RET
;
BEGIN	POP	HL
	IN	A,(88H)
	PUSH	AF
	SET	2,A
	OUT	(88H),A
	JP	(HL)
;
DX	DEFB	0
DY	DEFB	0
MEM	DEFW	0
W1	DEFB	0
W2	DEFB	0
YA	DEFB	0
YE	DEFB	0
XA	DEFB	0
XE	DEFB	0
TAB	DEFW	0
DATE	DEFW	0
;
;
;             E N D E
;
 ÿÿÿÿÿÿÿ