;TRAIN MSX PRO SORD M5
;(C) ROS 1990
$NOLIST
$NOOBJECT
$OFFSET(0)
	ORG	0B000H
ZAPIS:	PUSH	DE
	CALLL1102
	POP	DE
	RET
CITANIE:DB	0,0
	JP	L110E
L1102:	DI
	PUSH	AF
	PUSH	BC
	CALL	L180
	POP	BC
	EI
	POP	AF
	RET
	LD	A,0EH
L110E:	CP	0EH
	JP	L18E
	XOR	A
	LD	E,55H
	CALL	L1102
	LD	E,A
	INC	A
	CALL	L1102
	LD	E,0BEH
	LD	A,07H
	CALL	L1102
	LD	E,A
	INC	A
	CALL	L1102
	LD	BC,07D0H
	CALL	L1133
	JP	L4BD
L1133:	DEC	BC
	EX	(SP),HL
	EX	(SP),HL
	LD	A,B
	OR	C
	JR	NZ,L1133
	RET
L180:	LD	(0FFCAH),A
	CALL	L1A9
	CP	0D6H
	LD	A,E
	LD	(BC),A
	CALL	C,L12E5
	RET
L18E:	LD	(0FFCAH),A
	PUSH	BC
	JR	Z,L19A
	CALL	L1A9
	LD	A,(BC)
	POP	BC
	RET
L19A:	LD	A,(0FFDAH)
	BIT	6,A
	LD	A,1
	JR	Z,L1A4
	INCA
L1A4:	CALL	L12AD
	POP	BC
	RET
L1A9:	LD	BC,0FFCBH
	AND	0FH
	ADD	A,C
	LD	C,A
	RET
L4BD:	PUSH	HL
	PUSH	DE
	PUSH	BC
	PUSH	AF
	LD	HL,0FB3FH
	LD	B,71H
	XOR	A
L4C7:	LD	(HL),A
	INC	HL
	DJNZ	L4C7
	LD	DE,0F975H
	LD	B,7FH
	LD	HL,0080H
L4D3:	PUSH	HL
	PUSH	DE
	PUSH	BC
	PUSH	AF
	CALL	L14DA
	POP	AF
	ADD	A,08H
	LD	E,0
	CALL	L1102
	SUB	08H
	PUSH	AF
	LD	L,0FH
	CALL	L1477
	EX	DE,HL
	LD	HL,TAB
	LD	BC,0006H
	LDIR
	POP	AF
	POP	BC
	POP	HL
	POP	DE
	ADD	HL,DE
	EX	DE,HL
	INC	A
	CP	03
	JR	C,L4D3
	LD	A,7H
	LD	E,0B8H
	CALL	L1102
	POP	AF
	POP	BC
	POP	DE
	POP	HL
	RET
L1477:	PUSH	DE
	LD	DE,0FB41H
	LD	H,00H
	ADD	HL,DE
	OR	A
	JR	Z,L1488
	LD	DE,0025H
L1484:	ADD	HL,DE
	DEC	A
	JR	NZ,L1484
L1488:	POP	DE
	RET
L14DA:	PUSH	BC
	RLCA
	LD	B,A
	RLCA
	ADD	A,B
	LD	C,A
	LD	B,0
	LD	HL,(0F3F3H)
	ADD	HL,BC
	LD	(HL),B
	INC	HL
	LD	(HL),B
	INC	HL
	LD	(HL),B
	INC	HL
	POP	AF
	LD	(HL),A
	INC	HL
	LD	(HL),E
	INC	HL
	LD	(HL),D
	RET
L12AD:	LD	B,A
	DEC	A
	IN	A,(37H)
	CALL	Z,L12D5
	PUSH	BC
	RRA
	RL	B
	RRA
	RL	C
	RRA
	RL	B
	RRA
	RL	B
	RR	C
	RL	B
	LD	A,B
	POP	BC
	AND	0FH
	DEC	B
	LD	B,A
	IN	A,(31H)
	CALL	NZ,L12D5
	AND	30H
	OR	B
	CPL
	RET
L12D5:	RRCA
	RRCA
	RRCA
	RRCA
	RET
L12DA:	OUT	(20H),A
	LD	A,90H
	OUT	(20H),A
	LD	A,60H
L12E2:	DEC	A
	JR	NZ,L12E2
L12E5:	PUSH	HL
	PUSH	DE
	PUSH	BC
	LD	HL,0FFD2H
	LD	DE,0FFCBH
	LD	BC,0300H
	LD	A,(HL)
	INC	L
L12F3:	RRA
	JR	C,L12FE
	PUSH	AF
	LD	A,(HL)
	AND	1FH
	CALL	NZ,L134F
	POPAF
L12FE:	INC	L
	INC	E
	INC	E
	DJNZ	L12F3
	LD	E,A
	LD	A,9FH
	ORC
L1307:	OUT	(20H),A
	ADD	A,20H
	JR	NC,L1307
	LD	A,C
	CP	41H
	JR	NC,L134B
	LD	A,E
	CPL
	AND	07H
	JR	Z,L134B
	LD	L,0D2H
	XOR	A
	LD	B,03
L131D:	INC	L
	RR	E
	JR	C,L1326
	CP	(HL)
	JR	NC,L1326
	LD	A,(HL)
L1326:	DJNZ	L131D
	AND	1FH
	JR	Z,L134B
	BIT	4,A
	JR	Z,L1332
	LD	A,0AH
L1332:	CPL
	OUT	(20H),A
	LD	L,0D1H
	LD	A,(HL)
	LD	B,A
	AND	0FH
	OR	0C0H
	OUT	(20H),A
	XOR	A
	BIT	4,B
	JR	Z,L1345
	INC	A
L1345:	OUT	(20H),A
	LD	A,0EFH
	OUT	(20H),A
L134B:	POP	BC
	POP	DE
	POP	HL
	RET
L134F:	BIT	4,A
	JRZ,L1355
	LD	A,0AH
L1355:	CPL
	AND	0FH
	OR	C
	OR	90H
	OUT	(20H),A
	LD	A,(DE)
	PUSH	BC
	LD	B,A
	AND	0FH
	OR	C
	OR	80H
	OUT	(20H),A
	INC	E
	LD	A,(DE)
	CP	04H
	JR	NC,L1373
	RL	B
	RLA
	RL	B
	RLA
L1373:	RL	B
	RLA
	RL	B
	RLA
	POP	BC
	AND	3FH
	OUT	(20H),A
	DEC	E
	LD	A,C
	ADD	A,20H
	LD	C,A
	RET
TAB:	DB4,4,78H,88H,0FFH,0
TEST:	IN	A,(11H)
	DI
	IN	A,(30H)
	CPL
	AND	0CH
	JP	NZ,003FH
	CALL	EXCLOP
	RST	0
EXCLOP:	LD	HL,9000H
	LD	DE,0000H
	LD	BC,2000H
EXC:	LD	A,(DE)
	LDI
	DEC	HL
	LD	(HL),A
	INC	HL
	JP	PE,EXC
	RET
START:	DI
	XOR	A
	OUT	(7FH),A
	INC	A
	OUT	(6CH),A
	OUT	(30H),A
	LD	A,(0006H)
	CP	98H
	RET	Z
	IM	1
	IN	A,(11H)
	LD	BC,0800H
	LD	A,0FBH
LOOP:ƒOUT	(C),A
	CALL	00D8H
	INC	C
	DJNZ	LOOP
	LD	A,30H
	OUT	(0),A
	LD	A,0C7H
	OUT	(0),A
	OUT	(3),A
	LD	A,1
	OUT	(0),A
	OUT	(3),A
	CALL	EXCLOP
	JP	0160H
	IN	A,(31H)
	RLCA
	CPL
	RET
ZZZZ:
	END
