Biblioteczka kodera Atari XL/XE

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 23:25, 10 gru 2016
Mono (Dyskusja | wkład)
(Grafika - rysowanie linii)
← 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ęć=== ===Pamięć===
Linia 35: 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 46: 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 54: 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 arytmetyczne]] * [[Rozszerzenie arytmetyczne]]
Linia 64: 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: 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 80: 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 98: 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 108: 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===
* [[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