Biblioteczka kodera Atari XL/XE

From Atariki

(Różnice między wersjami)
Jump to: navigation, search
Wersja z dnia 19:52, 29 lip 2015
KMK (Dyskusja | wkład)
(DOS)
← Previous diff
Wersja z dnia 10:44, 2 mar 2023
Jhusak (Dyskusja | wkład)
(Techniki skracania kodu)
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 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: 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]]
Linia 70: Linia 77:
* [[Programowanie: Detekcja stereo|Detekcja stereo]] * [[Programowanie: Detekcja stereo|Detekcja stereo]]
 +* [[Programowanie: Odtwarzanie sampli|Odtwarzanie sampli]]
==Techniki przyspieszania kodu== ==Techniki przyspieszania kodu==
Linia 79: Linia 87:
* [[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]]
Linia 111: Linia 123:
===Inne=== ===Inne===
* [[APE Time]] * [[APE Time]]
 +* [[URL Submit]]
== Turbo BASIC XL == == Turbo BASIC XL ==

Wersja z dnia 10:44, 2 mar 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

Inne

Turbo BASIC XL

Personal tools