Otwarcie ekranu w trybie graficznym (GRAPHICS)
From Atariki
(Różnice między wersjami)
| Wersja z dnia 10:12, 17 wrz 2022 Jhusak (Dyskusja | wkład) (→Metoda najkrótsza) ← Previous diff |
Wersja z dnia 10:13, 17 wrz 2022 Jhusak (Dyskusja | wkład) (→Metoda najkrótsza) Next diff → |
||
| Linia 42: | Linia 42: | ||
| Metoda ta wiąże się z ograniczeniami (możliwe ustawienia to tryb graficzny 0-15, bez rozszerzeń typu +16,+32) | Metoda ta wiąże się z ograniczeniami (możliwe ustawienia to tryb graficzny 0-15, bez rozszerzeń typu +16,+32) | ||
| + | |||
| Metoda ta jest hackerska, używanie jej w dzisiejszych progamach to proszenie się o kłopoty (głównie u innych użytkowników). | Metoda ta jest hackerska, używanie jej w dzisiejszych progamach to proszenie się o kłopoty (głównie u innych użytkowników). | ||
| [[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Wersja z dnia 10:13, 17 wrz 2022
Metoda standardowa, polecana
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 #%00001100 ; bez okna tekstowego, odczyt/zapis
sta icax1,x
lda #$03 ; otworz
cioexe sta iccmd,x
jmp jciomain
;
dev .by "S:" $9b
Metoda najkrótsza
W przypadku, gdzie liczy się pamięć, zwartość kodu, a także przy wprawkach i eksperymentach można zastosować metodę:
lda #GRMODE
JSR $ef90
Metoda ta wiąże się z ograniczeniami (możliwe ustawienia to tryb graficzny 0-15, bez rozszerzeń typu +16,+32)
Metoda ta jest hackerska, używanie jej w dzisiejszych progamach to proszenie się o kłopoty (głównie u innych użytkowników).
