Otwarcie ekranu w trybie graficznym (GRAPHICS)
From Atariki
(Różnice między wersjami)
| Wersja z dnia 17:47, 29 sie 2009 KMK (Dyskusja | wkład) (Programowanie: Otwarcie ekranu w trybie graficznym moved to Otwarcie ekranu w trybie graficznym (GRAPHICS)) ← Previous diff |
Wersja z dnia 17:56, 29 sie 2009 KMK (Dyskusja | wkład) Next diff → |
||
| Linia 1: | Linia 1: | ||
| Procedura przełącza ekran w wybrany tryb graficzny. W przykładzie może to być tryb Graphics 9 (wywołanie przez JSR GR9) lub Graphics 15 (wywołanie przez JSR GR15). Jako kanał I/O dla grafiki używany jest [[IOCB]] 6, ale równie dobrze może to być dowolny inny. | Procedura przełącza ekran w wybrany tryb graficzny. W przykładzie może to być tryb Graphics 9 (wywołanie przez JSR GR9) lub Graphics 15 (wywołanie przez JSR GR15). Jako kanał I/O dla grafiki używany jest [[IOCB]] 6, ale równie dobrze może to być dowolny inny. | ||
| - | <pre> | + | ; |
| - | ; | + | ; (c) Lizard |
| - | ; (c) Lizard | + | ; |
| - | ; | + | iccmd = $0342 |
| - | iccmd = $0342 | + | icbufa = $0344 |
| - | icbufa = $0344 | + | icax1 = $034a |
| - | icax1 = $034a | + | icax2 = $034b |
| - | icax2 = $034b | + | ; |
| - | jciomain = $e456 | + | gr9 lda #9 |
| - | + | bne gr | |
| - | gr9 lda #9 | + | ; |
| - | bne gr | + | gr15 lda #15 |
| - | + | ; | |
| - | gr15 lda #15 | + | gr pha |
| - | + | ldx #$60 ; IOCB #6 | |
| - | gr pha | + | lda #$0c ; zamknij |
| - | ldx #$60 ; IOCB #6 | + | jsr cioexe |
| - | lda #$0c ; zamknij | + | pla |
| - | jsr cioexe | + | sta icax2,x ; tryb |
| - | pla | + | lda #<dev ; identyfikator urzadzenia |
| - | sta icax2,x ; tryb | + | sta icbufa,x |
| - | lda #<dev ; identyfikator urzadzenia | + | lda #>dev |
| - | sta icbufa,x | + | sta icbufa+1,x |
| - | lda #>dev | + | lda #%00011100 ; bez okna tekstowego, odczyt/zapis |
| - | sta icbufa+1,x | + | sta icax1,x |
| - | lda #%00011100 ; bez okna tekstowego, odczyt/zapis | + | lda #$03 ; otworz |
| - | sta icax1,x | + | cioexe sta iccmd,x |
| - | lda #$03 ; otworz | + | jmp [[Tablica skoków#JCIOMAIN|jciomain]] |
| - | cioexe sta iccmd,x | + | ; |
| - | jmp jciomain | + | dev .by "S:" $9b |
| - | + | ||
| - | dev .by "S:" $9b | + | |
| - | </pre> | + | |
| [[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Wersja z dnia 17:56, 29 sie 2009
Procedura przełącza ekran w wybrany tryb graficzny. W przykładzie może to być tryb Graphics 9 (wywołanie przez JSR GR9) lub Graphics 15 (wywołanie przez JSR GR15). Jako kanał I/O dla grafiki używany jest IOCB 6, ale równie dobrze może to być dowolny inny.
;
; (c) Lizard
;
iccmd = $0342
icbufa = $0344
icax1 = $034a
icax2 = $034b
;
gr9 lda #9
bne gr
;
gr15 lda #15
;
gr pha
ldx #$60 ; IOCB #6
lda #$0c ; zamknij
jsr cioexe
pla
sta icax2,x ; tryb
lda #<dev ; identyfikator urzadzenia
sta icbufa,x
lda #>dev
sta icbufa+1,x
lda #%00011100 ; bez okna tekstowego, odczyt/zapis
sta icax1,x
lda #$03 ; otworz
cioexe sta iccmd,x
jmp jciomain
;
dev .by "S:" $9b
