Commodore-szerviz Creative Commons License 2017.10.30 0 0 8405

Ezek pluszin direkt ram-ban vannak, hogy a rom-ot le tudja lapozni, mert rom alatt a ramban is lehet basic progi.

 

$0473-on ki lehet cserélni ezt a cuccot egy olyanra, ami a szükséges külső rom-ot lapozza be a ram visszakapcsolása helyett, majd amikor megvan a byte, visaszateszi a normális basic rom lapját, és akkor a program onnan (közvetlenül rom-ból) fut.

 

Természetesen a basic kezdet, vég, változóterület, stb mutatók helyes beállításáról gondoskodni KELL(!), ez csak egy szükséges adalék, hogy lecserélni (átpatchelni) a chret(got) rutint...:

 

 

 ;
        ; CHRGET/CHRGOT - This chunk of code is copied to RAM
        ; and run from there. It is used to get data UNDER the
        ; system ROM's for basic.
        ;
; CHRGET ($0473)
L8123   INC   LastBasicLineNo         ; $3b (goes to $0473 ) CHRGET
        BNE   L8129
        INC   LastBasicLineNo+1       ; $3c
;
; CHRGOT ($0479)
;
L8129   SEI   
        STA   RAM_ON
        LDY   #$00
        LDA   (LastBasicLineNo),y     ; $3b
        STA   ROM_ON
        CLI   
        CMP   #$3A   ; ":" (colon)
        BCS   L8143   ; if colon, exit
        CMP   #$20   ; " " (space)
        BEQ   L8123   ; if space, get NEXT byte from basic
        SEC   
        SBC   #$30
        SEC   
        SBC   #$D0
L8143   RTS   

Előzmény: tanárnéni kedvence (8403)