Biblioteczka kodera Atari XL/XE
From Atariki
(Różnice między wersjami)
Wersja z dnia 21:18, 6 lip 2019 Montezuma (Dyskusja | wkład) ← Previous diff |
Aktualna wersja KMK (Dyskusja | wkład) (→VBXE) |
||
Linia 2: | Linia 2: | ||
==System== | ==System== | ||
+ | |||
+ | * [[Programowanie: Program odporny na RESET | Program odporny na RESET]] | ||
+ | * [[Programowanie: Jak wykryć system TV | Jak wykryć system TV]] | ||
===CPU=== | ===CPU=== | ||
Linia 36: | Linia 39: | ||
* [[TD Line: wyłączenie i włączenie z poziomu programu]] | * [[TD Line: wyłączenie i włączenie z poziomu programu]] | ||
* [[Programowanie: Jak parsować przełączniki z parametrami | Jak parsować przełączniki z parametrami]] | * [[Programowanie: Jak parsować przełączniki z parametrami | Jak parsować przełączniki z parametrami]] | ||
- | * [[Programowanie: Program odporny na RESET#SpartaDOS X | Program odporny na RESET]] | ||
* [[Programowanie: Dostęp do pamięci rozszerzonej | Dostęp do pamięci rozszerzonej]] | * [[Programowanie: Dostęp do pamięci rozszerzonej | Dostęp do pamięci rozszerzonej]] | ||
* [[Programowanie: Przerywanie długotrwałych operacji klawiszem BREAK | Przerywanie długotrwałych operacji klawiszem BREAK]] | * [[Programowanie: Przerywanie długotrwałych operacji klawiszem BREAK | Przerywanie długotrwałych operacji klawiszem BREAK]] | ||
Linia 71: | 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|Pełny 240-liniowy hires]] | ||
== Dźwięk == | == Dźwięk == | ||
Linia 85: | Linia 88: | ||
* [[Inkrementacja i dekrementacja liczb wielobajtowych]] | * [[Inkrementacja i dekrementacja liczb wielobajtowych]] | ||
+ | * [[Porównywanie liczb wielobajtowych]] | ||
* [[Obliczanie adresu danych dla podprogramów]] | * [[Obliczanie adresu danych dla podprogramów]] | ||
* [[Ujemne indeksowanie]] | * [[Ujemne indeksowanie]] | ||
* [[Ustawianie i kasowanie znaczników]] | * [[Ustawianie i kasowanie znaczników]] | ||
* [[Wielobajtowe NOP-y]] | * [[Wielobajtowe NOP-y]] | ||
+ | * [http://retro.hansotten.nl/6502-sbc/lee-davison-web-site/some-veryshort-code-bits/ ciekawa strona z przykładami "6502 Shorts by Lee Davison"] | ||
==Inne== | ==Inne== | ||
* [[Programowanie: Jak wyłączyć ROM systemu|Jak wyłączyć ROM systemu]] | * [[Programowanie: Jak wyłączyć ROM systemu|Jak wyłączyć ROM systemu]] | ||
+ | * [[Programowanie: Czekanie na vblank przy wyłączonym systemie]] | ||
+ | * [[Programowanie: Użycie OS-a przy wyłączonym ROM-ie|Użycie OS-a przy wyłączonym ROM-ie]] | ||
* [[Programowanie: Dekompresja danych w formacie DEFLATE | Dekompresja danych w formacie DEFLATE]] | * [[Programowanie: Dekompresja danych w formacie DEFLATE | Dekompresja danych w formacie DEFLATE]] | ||
* [[Programowanie: Dekompresja danych przy użyciu Exomizera | Dekompresja danych przy użyciu Exomizera]] | * [[Programowanie: Dekompresja danych przy użyciu Exomizera | Dekompresja danych przy użyciu Exomizera]] | ||
Linia 103: | Linia 110: | ||
== Urządzenia peryferyjne == | == Urządzenia peryferyjne == | ||
+ | |||
+ | * [[Suma kontrolna SIO|Obliczanie sum kontrolnych SIO]] | ||
+ | * [[Obsługa protokołu SIO przez urządzenie peryferyjne]] | ||
===Stacje dysków=== | ===Stacje dysków=== | ||
* [[Programowanie stacji LDW Super 2000 i CA-2001]] | * [[Programowanie stacji LDW Super 2000 i CA-2001]] | ||
- | * [[Suma kontrolna SIO|Obliczanie sum kontrolnych SIO]] | ||
=== Twarde dyski === | === Twarde dyski === | ||
Linia 113: | Linia 122: | ||
===[[VBXE]]=== | ===[[VBXE]]=== | ||
* [[Wykrycie VBXE]] | * [[Wykrycie VBXE]] | ||
+ | * [[Rejestry VBXE]] | ||
* [[Konwersja numeru banku MEMAC B na PORTB i odwrotnie]] | * [[Konwersja numeru banku MEMAC B na PORTB i odwrotnie]] | ||
+ | |||
+ | ===[[Sophia]]=== | ||
+ | * [[Wykrycie Sophii]] | ||
===Inne=== | ===Inne=== |
Aktualna wersja
Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze.
Spis treści |
[Edytuj]
System
[Edytuj]
CPU
- Jak stwierdzić typ procesora
- Jak stwierdzić, w jakim trybie jest 65C816
- Odczyt sygnatury rozkazu BRK lub COP na 65C816
[Edytuj]
Pamięć
[Edytuj]
CIO
[Edytuj]
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
[Edytuj]
Klawiatura
[Edytuj]
Grafika
[Edytuj]
DOS
[Edytuj]
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
[Edytuj]
Kody
- Kod ATASCII
- Kody ekranowe
- Kody błędów
- Kody klawiszy
- Kody kontrolne edytora ekranowego
- Konwersje znaków ATASCII i ANTIC
[Edytuj]
Obliczenia stałoprzecinkowe
[Edytuj]
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
[Edytuj]
Szesnastobitowe
[Edytuj]
Grafika
- Plot w Graphics 0
- Rysowanie punktu
- Rysowanie linii
- Definiowanie niestandardowych trybów graficznych
- Konwersja kolorowej grafiki z układu 6845
- Pełny 240-liniowy hires
[Edytuj]
Dźwięk
[Edytuj]
Techniki przyspieszania kodu
[Edytuj]
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"
[Edytuj]
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ą
[Edytuj]
Urządzenia peryferyjne
[Edytuj]
Stacje dysków
[Edytuj]
Twarde dyski
[Edytuj]
VBXE
[Edytuj]
Sophia
[Edytuj]
Inne
[Edytuj]