; Stuk programma om onder zowel DOS 1 als DOS 2 de mapper te schakelen.

; Het bestaat uit 1 stuk code dat 1 keer van tevoren moet worden aangeroepen
;  en uit een paar subroutines; een voor elke page die je wilt schakelen.

EXTBIO: EQU   0FFCAH


; 1. Het eerste stuk, dat de subroutines eventueel aanpast:

; Ga eerst na of er mapperroutines zijn
        XOR   A
        LD    DE,0402H        ; D=4 = device-nummer voor mapper-support routines
;                             ; E=2 = funktienummer: haal jump-tabel.
        CALL  EXTBIO
        OR    A
        JR    Z,VERDER        ; Z = mapperroutines niet aanwezig.
;                             ; NZ: HL bevat adres van jump-tabel
        LD    DE,18H
        ADD   HL,DE           ; Jumpadres PUT_P0
        LD    (MAP_P0+1),HL
        LD    A,0C3H
        LD    (MAP_P0),A
        LD    DE,6
        ADD   HL,DE           ; Jumpadres PUT_P1
        LD    (MAP_P1+1),HL
        LD    A,0C3H
        LD    (MAP_P1),A
        ADD   HL,DE           ; Jumpadres PUT_P2
        LD    (MAP_P2+1),HL
        LD    A,0C3H
        LD    (MAP_P2),A
VERDER: ; ........



; 2. De subroutines voor elke page:

MAP_P0: OUT   (0FCH),A        ; Als DOS2 aanw. omt hier JUMP te staan
        RET
MAP_P1: OUT   (0FDH),A
        RET
MAP_P2: OUT   (0FEH),A
        RET


; De niet gebruikte schakelroutines kunnen makkelijk worden weggehaald.
;  Let wel even op dat in het eerste deel de goede waarde bij HL opgeteld wordt
;  zodat de juiste jumpadressen ingevuld worden.
et wel even op dat in het eerste deel de goede waarde bij HL opgeteld wordt
;  zodat de juiste jumpadress