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 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