Biblioteczka kodera Atari XL/XE

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 20:54, 28 paź 2011
KMK (Dyskusja | wkład)
(Urządzenia peryferyjne)
← 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===
* [[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]]=== ===[[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)]] * [[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)]]
-* [[Otwarcie ekranu w trybie graficznym (GRAPHICS)]]+* [[Znaki kontrolne edytora ekranowego]]
-* [[Otwarcie ekranu w trybie konsoli (GRAPHICS 0)]]+
-* [[Lista funkcji specjalnych CIO według urządzeń|Funkcje XIO]]+
-===[[SpartaDOS X]]===+==== 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]]
 +===== 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 27: Linia 48:
* [[Kody błędów]] * [[Kody błędów]]
* [[Kody klawiszy]] * [[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 33: Linia 56:
* [[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 42: 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 57: 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 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 ==
 +
 +* [[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 ===
* [[APT]] * [[APT]]
===[[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===
* [[APE Time]] * [[APE Time]]
 +* [[URL Submit]]
== Turbo BASIC XL == == Turbo BASIC XL ==

Aktualna wersja

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