TRACKERS MB SRC EN INSTALL

From MSX MUSIC WIKI
Jump to: navigation, search
O*U+,Q-

	db	0feh
	dw	begin
	dw	einde
	dw	start
	org	0d900h

SNGPAG	EQU	1
EDTPAG	EQU	2
DSKPAG	EQU	3
EM1PAG	EQU	4
EM2PAG	EQU	5
VOCPAG	EQU	6
SMPPAG	EQU	7

begin:
subs:	PUSH	AF
	IN	A,(0FDh)
	LD	(LSTBNK),A
	LD	A,SMPPAG
	OUT	(0FDh),A
	POP	AF
	CALL	04000h
	LD	A,(LSTBNK)
	OUT	(0FDh),A
	RET

subs2:	PUSH	AF
	IN	A,(0FDh)
	LD	(LSTBNK2),A
	LD	A,VOCPAG
	OUT	(0FDh),A
	POP	AF
	CALL	04000h
	LD	A,(LSTBNK2)
	OUT	(0FDh),A
	RET

subs3:	PUSH	AF
	IN	A,(0FDh)
	LD	(LSTBNK3),A
	LD	A,DSKPAG
	OUT	(0FDh),A
	POP	AF
	CALL	04000h
	LD	A,(LSTBNK3)
	OUT	(0FDh),A
	RET

LSTBNK: DB	0
LSTBNK2:DB	0
LSTBNK3:DB	0
start:
	CALL	SRCFMP
	CALL	STPDRV
	LD	A,EDTPAG
	OUT	(0FDh),A
	LD	A,SNGPAG
	OUT	(0FEh),A
	DI
	LD	A,(0F342h)
	LD	H,040h
	CALL	024h
	JP	04000h



;Name:	FMSRCH
;Inv:	-
;Uitv:	(FMSLOT) contains slot no. or & HFF if no PAC found
;Modifies:	AF,BC,DE,HL

SRCFMP: LD	HL,0FCCAh
	XOR	A
	LD	B,4
FMLP2:	PUSH	BC
	LD	B,4
FMLP1:	PUSH	BC
	PUSH	AF
	PUSH	HL
	SET	7,A
	LD	H,040h
	CALL	024h
	POP	HL
	PUSH	HL
	LD	A,(HL)
	CP	020h
	CALL	Z,FMTEST
	JP	Z,FMFND
	POP	HL
	POP	AF
	ADD	A,4
	AND	0Fh
	INC	HL
	INC	HL
	INC	HL
	INC	HL
	POP	BC
	DJNZ	FMLP1
	ADD	A,1
	AND	03h
	POP	BC
	DJNZ	FMLP2
	JP	SETBAS

FMTEST: LD	HL,0401Ch
	LD	DE,FMTEXT
	LD	B,4
FMLP:	LD	A,(DE)
	CP	(HL)
	RET	NZ
	INC	HL
	INC	DE
	DJNZ	FMLP
	CP	A
	RET

FMFND:	POP	HL
	POP	AF
	POP	BC
	POP	BC
	LD	A,0FFh
	LD	(FMSLOT),A
	LD	A,(07FF6h)
	OR	1
	LD	(07FF6h),A

SETBAS: DI
	LD	A,(0FCC1h)
	LD	H,040h
	CALL	024h
	EI
	RET

STPDRV: LD	B,0
STPDRL: PUSH	BC
	CALL	0FD9FH
	POP	BC
	DJNZ	STPDRL
	RET

FMTEXT: DEFB	"OPLL"
FMSLOT: DEFB	0

einde:	end

���������������������������������������������������������������������������������������������������