Otwarcie ekranu w trybie graficznym (GRAPHICS): Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
Nie podano opisu zmian |
Nie podano opisu zmian |
||
| (Nie pokazano 10 wersji utworzonych przez 4 użytkowników) | |||
| Linia 1: | Linia 1: | ||
=== 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. | 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. | ||
; | ; | ||
; ( | ; (K) Lizard | ||
; | ; | ||
iccmd = $0342 | iccmd = $0342 | ||
| Linia 8: | Linia 10: | ||
icax1 = $034a | icax1 = $034a | ||
icax2 = $034b | icax2 = $034b | ||
ciov = $e456 | |||
; | ; | ||
gr9 lda #9 | gr9 lda #9 | ||
| Linia 24: | Linia 27: | ||
lda #>dev | lda #>dev | ||
sta icbufa+1,x | sta icbufa+1,x | ||
lda #% | lda #%00001100 ; bez okna tekstowego, odczyt/zapis | ||
sta icax1,x | sta icax1,x | ||
lda #$03 ; otworz | lda #$03 ; otworz | ||
cioexe sta iccmd,x | cioexe sta iccmd,x | ||
jmp [[Tablica skoków#JCIOMAIN| | jmp [[Tablica skoków#JCIOMAIN|ciov]] | ||
; | ; | ||
dev .by "S:" $9b | 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) i otwiera ekran graficzny bez dolnego okna tekstowego. | |||
Metoda ta jest hackerska, używanie jej w dzisiejszych programach to proszenie się o kłopoty (głównie u innych użytkowników). | |||
[[Kategoria:Niezbędnik kodera]] | [[Kategoria:Niezbędnik kodera]] | ||
Aktualna wersja z 22 lis 2023, 13:23
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.
;
; (K) Lizard
;
iccmd = $0342
icbufa = $0344
icax1 = $034a
icax2 = $034b
ciov = $e456
;
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 ciov
;
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) i otwiera ekran graficzny bez dolnego okna tekstowego.
Metoda ta jest hackerska, używanie jej w dzisiejszych programach to proszenie się o kłopoty (głównie u innych użytkowników).