Biblioteczka kodera Atari XL/XE: Różnice pomiędzy wersjami
Przejdź do nawigacji
Przejdź do wyszukiwania
m sio: sterownik dyskowy |
|||
| (Nie pokazano 64 wersji utworzonych przez 7 użytkowników) | |||
| Linia 1: | Linia 1: | ||
Biblioteczka, czyli przydatne procedury i fragmenty kodu. | Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze. | ||
==System== | ==System== | ||
=== CPU === | * [[Programowanie: Program odporny na RESET | Program odporny na RESET]] | ||
* [[Programowanie: Jak wykryć system TV | Jak wykryć system TV]] | |||
===CPU=== | |||
* [[Programowanie: Jak stwierdzić typ procesora|Jak stwierdzić typ procesora]] | * [[Programowanie: Jak stwierdzić typ procesora|Jak stwierdzić typ procesora]] | ||
* [[Programowanie: Jak stwierdzić, w jakim trybie jest 65C816|Jak stwierdzić, w jakim trybie jest 65C816]] | * [[Programowanie: Jak stwierdzić, w jakim trybie jest 65C816|Jak stwierdzić, w jakim trybie jest 65C816]] | ||
* [[Programowanie: Odczyt sygnatury rozkazu BRK lub COP na 65C816|Odczyt sygnatury rozkazu BRK lub COP na 65C816]] | |||
=== | ===Pamięć=== | ||
* [[Obsługa rozszerzenia pamięci RAM]] | |||
===[[CIO]]=== | |||
* [[Programowanie: Jak wyszukać pierwszy wolny IOCB|Jak wyszukać pierwszy wolny IOCB]] | * [[Programowanie: Jak wyszukać pierwszy wolny IOCB|Jak wyszukać pierwszy wolny IOCB]] | ||
* [[ | |||
* [[ | ==== 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 ==== | |||
* [[Odczyt znaku z klawiatury (GET)]] | |||
==== Grafika ==== | |||
* [[Otwarcie ekranu w trybie graficznym (GRAPHICS)]] | |||
==== DOS ==== | |||
* [[Wiersz poleceń]] | |||
* [[Dostęp do plików]] | |||
* [[Lista funkcji specjalnych CIO według urządzeń|Funkcje XIO]] | * [[Lista funkcji specjalnych CIO według urządzeń|Funkcje XIO]] | ||
===== SpartaDOS X ===== | |||
* [[Programowanie: Jak stwierdzić obecność SpartaDOS X oraz jego konfigurację pamięci | Jak stwierdzić obecność SpartaDOS X oraz jego konfigurację pamięci]] | |||
* [[TD Line: wyłączenie i włączenie z poziomu programu]] | |||
* [[Programowanie: Jak parsować przełączniki z parametrami | Jak parsować przełączniki z parametrami]] | |||
* [[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: Parsowanie zawartości zmiennej środowiskowej | Parsowanie zawartości zmiennej środowiskowej]] | |||
===[[SIO]]=== | |||
* [[Użycie sterownika dyskowego]] | |||
* [[Programowanie: | === Kody === | ||
* [[ATASCII|Kod ATASCII]] | |||
* [[Kody ekranowe]] | |||
* [[Kody błędów]] | |||
* [[Kody klawiszy]] | |||
* [[Znaki kontrolne edytora ekranowego|Kody kontrolne edytora ekranowego]] | |||
* [[Programowanie: Konwersje znaków ATASCII i ANTIC|Konwersje znaków ATASCII i ANTIC]] | |||
==Obliczenia stałoprzecinkowe== | ==Obliczenia stałoprzecinkowe== | ||
| Linia 27: | Linia 60: | ||
* [[Programowanie: Konwersja liczby binarnej na cyfrę hex|Konwersja liczby binarnej na cyfrę hex]] | * [[Programowanie: Konwersja liczby binarnej na cyfrę hex|Konwersja liczby binarnej na cyfrę hex]] | ||
* [[Obroty bitowe]] | |||
* [[Odejmowanie od (2 do X)-1]] | * [[Odejmowanie od (2 do X)-1]] | ||
* [[Odwrócenie stanu znacznika C]] | |||
* [[Przesunięcie arytmetyczne]] | |||
* [[Rozszerzenie arytmetyczne]] | |||
=== Szesnastobitowe === | === Szesnastobitowe === | ||
| Linia 36: | Linia 73: | ||
* [[Programowanie: Plot w Graphics 0|Plot w Graphics 0]] | * [[Programowanie: Plot w Graphics 0|Plot w Graphics 0]] | ||
* [[Programowanie: Rysowanie punktu|Rysowanie punktu]] | |||
* [[Programowanie: Rysowanie linii|Rysowanie linii]] | |||
* [[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 == | |||
* [[Programowanie: Detekcja stereo|Detekcja stereo]] | |||
* [[Programowanie: Odtwarzanie sampli|Odtwarzanie sampli]] | |||
==Techniki przyspieszania kodu== | ==Techniki przyspieszania kodu== | ||
| Linia 46: | Linia 91: | ||
==Techniki skracania kodu== | ==Techniki skracania kodu== | ||
* [[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]] | ||
* [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 w formacie LZ4 | Dekompresja danych w formacie LZ4]] | |||
* [[Programowanie: Zapis na ekran w różnych systemach liczbowych| Zapis na ekran w różnych systemach liczbowych]] | * [[Programowanie: Zapis na ekran w różnych systemach liczbowych| Zapis na ekran w różnych systemach liczbowych]] | ||
* [[Prosty generator pseudolosowy|Prosty generator pseudolosowy]] | * [[Prosty generator pseudolosowy|Prosty generator pseudolosowy]] | ||
* [[Pętle opóźniające|Pętle opóźniające]] | |||
* [[Programowanie: Program odporny na RESET | Program odporny na RESET]] | |||
* [[Programowanie: Przesuw poziomy z regulowaną prędkością | Przesuw poziomy z regulowaną prędkością]] | |||
== 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]] | ||
===VBXE=== | |||
=== Twarde dyski === | |||
* [[APT]] | |||
===[[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=== | |||
* [[APE Time]] | |||
* [[URL Submit]] | |||
== Turbo BASIC XL == | |||
* [[Programowanie w Turbo BASIC XL]] | |||
[[Kategoria:Menu Główne]] | [[Kategoria:Menu Główne]] | ||
[[Kategoria:Programowanie Atari 8-bit]] | [[Kategoria:Programowanie Atari 8-bit]] | ||
Aktualna wersja z 11 mar 2025, 20:43
Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze.
System
CPU
- Jak stwierdzić typ procesora
- Jak stwierdzić, w jakim trybie jest 65C816
- Odczyt sygnatury rozkazu BRK lub COP na 65C816
Pamięć
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
- 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ą