Biblioteczka kodera Atari XL/XE
From Atariki
(Różnice między wersjami)
Wersja z dnia 10:44, 2 mar 2023 Jhusak (Dyskusja | wkład) (→Techniki skracania kodu) ← Previous diff |
Wersja z dnia 10:42, 14 sie 2023 Mono (Dyskusja | wkład) (→Grafika - 240-liniowy hires) Next diff → |
||
Linia 73: | Linia 73: | ||
* [[Programowanie: Definiowanie niestandardowych trybów graficznych | Definiowanie niestandardowych trybów graficznych]] | * [[Programowanie: Definiowanie niestandardowych trybów graficznych | Definiowanie niestandardowych trybów graficznych]] | ||
* [[Programowanie: Konwersja kolorowej grafiki z układu 6845| Konwersja kolorowej grafiki z układu 6845]] | * [[Programowanie: Konwersja kolorowej grafiki z układu 6845| Konwersja kolorowej grafiki z układu 6845]] | ||
+ | * [[Programowanie: Pełny 240-liniowy hires]] | ||
== Dźwięk == | == Dźwięk == |
Wersja z dnia 10:42, 14 sie 2023
Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze.
Spis treści |
System
CPU
- Jak stwierdzić typ procesora
- Jak stwierdzić, w jakim trybie jest 65C816
- Odczyt sygnatury rozkazu BRK lub COP na 65C816
Pamięć
CIO
Edytor ekranowy
- Otwarcie ekranu w trybie konsoli (GRAPHICS 0)
- Odczyt rekordu tekstowego z edytora ekranowego (INPUT)
- Zapis znaku na ekran (PUT)
- Zapis ciągu znaków na ekran (PRINT)
- Znaki kontrolne edytora ekranowego
Klawiatura
Grafika
DOS
SpartaDOS X
- Jak stwierdzić obecność SpartaDOS X oraz jego konfigurację pamięci
- TD Line: wyłączenie i włączenie z poziomu programu
- Jak parsować przełączniki z parametrami
- Dostęp do pamięci rozszerzonej
- Przerywanie długotrwałych operacji klawiszem BREAK
- Parsowanie zawartości zmiennej środowiskowej
Kody
- Kod ATASCII
- Kody ekranowe
- Kody błędów
- Kody klawiszy
- Kody kontrolne edytora ekranowego
- Konwersje znaków ATASCII i ANTIC
Obliczenia stałoprzecinkowe
Ośmiobitowe
- Konwersja liczby binarnej na cyfrę hex
- Obroty bitowe
- Odejmowanie od (2 do X)-1
- Odwrócenie stanu znacznika C
- Przesunięcie arytmetyczne
- Rozszerzenie arytmetyczne
Szesnastobitowe
Grafika
- Plot w Graphics 0
- Rysowanie punktu
- Rysowanie linii
- Definiowanie niestandardowych trybów graficznych
- Konwersja kolorowej grafiki z układu 6845
- Programowanie: Pełny 240-liniowy hires
Dźwięk
Techniki przyspieszania kodu
Techniki skracania kodu
- Inkrementacja i dekrementacja liczb wielobajtowych
- Porównywanie liczb wielobajtowych
- Obliczanie adresu danych dla podprogramów
- Ujemne indeksowanie
- Ustawianie i kasowanie znaczników
- Wielobajtowe NOP-y
- ciekawa strona z przykładami "6502 Shorts by Lee Davison"
Inne
- Jak wyłączyć ROM systemu
- Programowanie: Czekanie na vblank przy wyłączonym systemie
- Użycie OS-a przy wyłączonym ROM-ie
- Dekompresja danych w formacie DEFLATE
- Dekompresja danych przy użyciu Exomizera
- Dekompresja danych w formacie LZ4
- Zapis na ekran w różnych systemach liczbowych
- Prosty generator pseudolosowy
- Pętle opóźniające
- Program odporny na RESET
- Przesuw poziomy z regulowaną prędkością