
 FAQ v0.0


 1. Co oznacza FAQ ?
 
   Frequently Asked Questions czyli najczesciej zadawane pytania.

 2. Do czego sluzy SAP ?

  SAP czyli Slight Atari Player jest programem emulujacym procesor
 i uklad dzwiekowy komputerow Atari XL/XE. Za jego pomoca mozna
 odtwarzac muzyke pisana dla Atari XL/XE na roznych komputerach
 np. PC.

 3. W jaki sposob SAP odtwarza muzyke z Atari XL/XE ?

  SAP emuluje procesor 6502 ktory znajduje sie w komputerach Atari XL/XE
 oraz uklad dzwiekowy Pokey. Pliki .sap, odtwarzane przez player SAP
 sa playerami (programami grajacymi muzyke) napisanymi dla procesora
 6502 oraz ukladu Pokey. SAP wykonuje program zawarty w plikach .sap
 i jednoczesnie generuje dzwiek w taki sam sposob jaki robi to uklad
 Pokey.

 4. W jaki sposob przygotowac plik .sap do odtworzenia na SAP'ie ?

  Plik .sap sklada sie z dwoch czesci. Pierwsza czesc, w postaci
 tekstowej, opisuje rodzaj playera uzytego do napisania muzyki oraz
 sposob wykorzystania tego playera. Druga czesc pliku to sam player
 oraz potrzebne mu dane. Druga czesc pliku jest czescia binarna (nie
 wolno jej modyfikowac za pomoca edytorow tekstu) w formacie zgodnym
 z Atarowskim formatem plikowym. Ten format posiada dwa bajty poczatkowe
 rowne FF,FF (szesnastkowo). Nastepne dwa bajty to adres gdzie ma
 sie rozpoczac ladowanie danych, a kolejne dwa bajty to adres na ktorym
 ma sie skonczyc ladowanie. Dopuszczalna jest sytuacja ze wczytywanie
 danych sklada sie z kilku czesci wczytywanych w rozne miejsca pamieci,
 nie sa jednak dopuszczalne inicjacje blokow ($02E2,$02E3).
  Sposob uruchomienia wczytanego playera jest opisany w pierwszej (tekstowej)
 czesci pliku .sap. Czesc ta jest wczytywana linia po linii. Na poczatku
 kazdej linii moze sie znalezc komenda i parametry tej komendy. Pozostale
 linie sa traktowane jako linie komentarzu. W tej chwili rozpoznawane
 sa nastepujace komendy:
   TYPE      - opisuje rodzaj playera
   PLAYER    - adres czesci playera ktora bedzie wykonywana co 1/50 sekundy
   MUSIC     - adres z danymi zawierajacymi muzyke
   INIT      - adres czesci playera ktora inicjuje tego playera
   SONGS     - ilosc utworow zapisanych w tym pliku
   DEFSONG   - pierwszy utwor ktory bedzie odgrywany po zaladowaniu pliku

 komendy PLAYER,MUSIC,INIT zawieraja adresy w postaci szesnastkowej np.

PLAYER A000
PLAYER 1234
MUSIC  F400

 komendy SONGS,DEFSONG zawieraja numery utworow w postaci dziesietnej np.

SONGS 10
DEFSONG 9

 komenda TYPE zawiera pojedynczy znak ktory bedzie okreslal rodzaj playera.
 Od tej komendy zalezy w jaki sposob player bedzie zainicjowany.
 W tej chwili mozliwe sa znaki C,B,M np.:

TYPE C
TYPE B
TYPE M

--
 TYPE C oznacza playera z programu CMC (Chaos Music Composer). W tym przypadku
 nalezy uzyc rowniez komend PLAYER,MUSIC,SONGS oraz DEFSONG. Player ten bedzie
 zainicjowany w nastepujacy sposob:

  lda #$70
  ldx #<MUSIC
  ldy #>MUSIC
  jsr PLAYER+6
  lda #$00
  ldx #DEFSONG
  jsr PLAYER+6

 natomiast do odtwarzania co 1/50 sekundy posluzy rozkaz:

  jsr PLAYER+3

--
 TYPE M oznacza playera z programu ??????? (ten program byl wykorzystywany
 takich muzykow jak Adam Gilmore, Rob Hubbard itd). W tym przypadku trzeba
 uzyc rowniez komend PLAYER,INIT,SONGS oraz DEFSONG. Player ten bedzie
 zainicjowany w nastepujacy sposob:

  lda #DEFSONG
  jsr INIT

 natomiast do odtwarzania co 1/50 sekundy posluzy rozkaz:

  jsr PLAYER

--
 TYPE B oznacza dowolnego playera z dowolnego programu. W tym przypadku trzeba
 uzyc rowniez komend PLAYER,INIT,SONGS oraz DEFSONG. Player ten bedzie
 zainicjowany w nastepujacy sposob:

  lda #DEFSONG
  jsr INIT

 natomiast do odtwarzania co 1/50 sekundy posluzy rozkaz:

  jsr PLAYER

 TYPE B jest w tej chwili takie same jak TYPE M lecz rozne oznaczenia zostaly
 wprowadzone z mysla o przyszlych wersjach playera SAP.



 Najpierw musimy "wyciagnac" muzyke z gry lub dema i zapisac ja w postaci
 binarnej w atarowskim formacie plikowym. Potem mozemy przygotowac plik tekstowy
 z opisem tej muzyki i playera w niej uzytego. Potem mozemy obydwa pliki
 polaczyc z soba tworzac plik .sap. Laczenie plikow najlatwiej przeprowadzic
 z poziomu DOSa za pomoca polecenia "copy", np.:

 copy /b music.txt+music.bin music.sap



