Как отключить экран в Commodore 64? - PullRequest
18 голосов
/ 22 ноября 2011

Я знаю, что этот вопрос очень специфический, но я знаю, что здесь есть некоторые гуру кода на c64.Итак, вот мой вопрос.

Когда я пытаюсь отключить экран с помощью трюка $ d011, верхняя / нижняя граница также открывается.Я хочу сделать это без открытия верхней / нижней границы.Возможно ли это?

1 Ответ

14 голосов
/ 22 ноября 2011

О, вопрос с64. Ницца. :) У меня есть один пример в моем архиве кода. Трюк $ d011 нужно выполнить в начале экрана, а не в конце.

Это исходный код ACME.

    !to "nobadlines.prg",cbm

!macro WAIT .v {
    ldy #.v
    dey
    bne *-1
}

    * = $0801
    !byte $0c, $08, $00, $00, $9e, $32, $30, $36, $31, $00, $00, $00

    * = $080d
    lda #$01
    sta $3fff
    sei
start:
    lda #$30
    cmp $d012
    bne *-3
    lda #$00
    sta $d011
    +WAIT 24
    lda #$0b
    sta $d011
    lda #$31
    cmp $d012
    bne *-3
    lda #$1b
    sta $d011
    +WAIT 8
    bit $ea
    ldx #$00
loop1:
    txa
    sta $d020
    sta $d021
    +WAIT 9
    inx
    cpx #254
    bne loop1
    asl $3fff
    bne start
    inc $3fff
    jmp start
...