Как отключить экран в Commodore 64?

18

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

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

    
задан Emir Akaydın 22.11.2011 в 18:26
источник
  • +1 для коммодора 64 –  PeeHaa 22.11.2011 в 18:27
  • Ах, система, которая поставила меня там, где я нахожусь сегодня. Спасибо, Commodore! –  Michael Dorgan 22.11.2011 в 18:51

1 ответ

14

О, вопрос c64. Ницца. :) У меня есть один пример в моем архиве кода. Вам нужно сделать трюк с $ 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
    
ответ дан Emir Akaydın 22.11.2011 в 18:28
  • Я не использую ACME, но я успешно преобразовал его в мой редактор asm. Он работает и именно то, что я искал! Большое спасибо Эмир. –  Nov 22 '11 at 17:33 22.11.2011 в 18:33