Biblioteczka kodera Atari XL/XE

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 16:03, 12 paź 2012
KMK (Dyskusja | wkład)
(Ośmiobitowe)
← Previous diff
Wersja z dnia 11:19, 16 sie 2023
Mono (Dyskusja | wkład)
(Urządzenia peryferyjne)
Next diff →
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===
* [[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ęć=== ===Pamięć===
Linia 17: Linia 21:
* [[Otwarcie ekranu w trybie konsoli (GRAPHICS 0)]] * [[Otwarcie ekranu w trybie konsoli (GRAPHICS 0)]]
* [[Odczyt rekordu tekstowego z edytora ekranowego (INPUT)]] * [[Odczyt rekordu tekstowego z edytora ekranowego (INPUT)]]
-* [[Odczyt znaku z klawiatury (GET)]] 
* [[Zapis znaku na ekran (PUT)]] * [[Zapis znaku na ekran (PUT)]]
* [[Zapis ciągu znaków na ekran (PRINT)]] * [[Zapis ciągu znaków na ekran (PRINT)]]
* [[Znaki kontrolne edytora ekranowego]] * [[Znaki kontrolne edytora ekranowego]]
 +
 +==== Klawiatura ====
 +* [[Odczyt znaku z klawiatury (GET)]]
==== Grafika ==== ==== Grafika ====
Linia 26: Linia 32:
==== DOS ==== ==== DOS ====
 +* [[Wiersz poleceń]]
* [[Dostęp do plików]] * [[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]] * [[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]]
=== Kody === === Kody ===
Linia 36: Linia 49:
* [[Kody klawiszy]] * [[Kody klawiszy]]
* [[Znaki kontrolne edytora ekranowego|Kody kontrolne edytora ekranowego]] * [[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 44: Linia 58:
* [[Obroty bitowe]] * [[Obroty bitowe]]
* [[Odejmowanie od (2 do X)-1]] * [[Odejmowanie od (2 do X)-1]]
 +* [[Odwrócenie stanu znacznika C]]
* [[Przesunięcie arytmetyczne]] * [[Przesunięcie arytmetyczne]]
-* [[Rozszerzenie znakowe]]+* [[Rozszerzenie arytmetyczne]]
=== Szesnastobitowe === === Szesnastobitowe ===
Linia 54: Linia 69:
* [[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 == == Dźwięk ==
* [[Programowanie: Detekcja stereo|Detekcja stereo]] * [[Programowanie: Detekcja stereo|Detekcja stereo]]
 +* [[Programowanie: Odtwarzanie sampli|Odtwarzanie sampli]]
==Techniki przyspieszania kodu== ==Techniki przyspieszania kodu==
Linia 69: 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]]
-* [[Użycie rozkazu BIT jako wielobajtowego NOP-a]]+* [[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]]
 +* [[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]] * [[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 ==
Linia 95: Linia 121:
* [[Wykrycie VBXE]] * [[Wykrycie VBXE]]
* [[Konwersja numeru banku MEMAC B na PORTB i odwrotnie]] * [[Konwersja numeru banku MEMAC B na PORTB i odwrotnie]]
 +
 +===[[Sophia]]===
 +* [[Wykrycie Sophii]]
===Inne=== ===Inne===
* [[APE Time]] * [[APE Time]]
 +* [[URL Submit]]
== Turbo BASIC XL == == Turbo BASIC XL ==

Wersja z dnia 11:19, 16 sie 2023

Biblioteczka, czyli przydatne procedury i fragmenty kodu, głównie w asemblerze.

Spis treści

System

CPU

Pamięć

CIO

Edytor ekranowy

Klawiatura

Grafika

DOS

SpartaDOS X

Kody

Obliczenia stałoprzecinkowe

Ośmiobitowe

Szesnastobitowe

Grafika

Dźwięk

Techniki przyspieszania kodu

Techniki skracania kodu

Inne

Urządzenia peryferyjne

Stacje dysków

Twarde dyski

VBXE

Sophia

Inne

Turbo BASIC XL

Personal tools