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
���������������������������������������������������������������������������������������������������