Skip to content

Commit 1b776b1

Browse files
Update
1 parent 77d95ba commit 1b776b1

File tree

2 files changed

+92
-13
lines changed

2 files changed

+92
-13
lines changed

sfx_engine/README.md

Lines changed: 92 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,26 +1,105 @@
1-
#
1+
# Jak skorzystać z SFX-Engine w MAD Pascalu
22

3-
- Katalog `sfx_engine` należy skopiować do katalogu swojego projektu, gdzie trzymasz biblioteki.
4-
- plik konfiguracyny `sfx_engine.conf.inc` należy przenieść do katalogu, gdzie mieści się główny program.
5-
- przykładowa struktura katalogu projektu, wyglądać tak:
3+
* Wejdź na stronę repozytorium [SFX-Engine](https://github.com/GSoftwareDevelopment/SFX-Engine) i ściągnik plik ZIP, klikając w przycisk **CODE** (jak na poniższym obrazku)
4+
5+
![](imgs/git_download.png)
6+
7+
- Paczkę rozpakuj gdzieś na swoim dysku
8+
9+
- Katalog `sfx_engine` należy skopiować do katalogu swojego projektu.
10+
11+
Przykładowa struktura katalogu projektu, może wyglądać tak:
612

713
~~~txt
8-
+ Projekt
9-
| | /sfx_engine
10-
| | /data
11-
| | start.pas
12-
| | sfx_engine.conf.inc
14+
+ /Projekt
15+
|
16+
+- /sfx_engine
17+
| | sfx_engine.conf.inc
18+
|
19+
+- /music
20+
| | {pliki wygenerowane przez smm-conv}
21+
|
22+
+-- main.pas
23+
|
24+
~~~
25+
26+
- w głównym pliku swojego programu `main.pas` zadeklaruj ścieżkę dostępu do biblioteki `sfx_engine` i `music` oraz utwórz deklarację biblioteki w sekcji `uses`, np.
27+
28+
~~~pascal
29+
{$librarypath './sfx_engine/'}
30+
{$librarypath './music/'}
31+
32+
uses SFX_API, atari;
1333
~~~
1434

15-
- w głównym pliku swojego programu zadeklaruj ścieżkę dostępu do biblioteki `sfx_engine` oraz utwórz deklarację biblioteki w sekcji `uses`, np.
35+
- plik `sfx_engine.conf.inc` należy dostosować do własnych potrzeb lub skasować :smile:
36+
37+
38+
39+
## Wykorzystanie programu `smm-conv`
40+
41+
Przed użyciem, należy skompilować program, ale z racji świąt, mam dla Was mały prezent.
42+
43+
[Skompilowana wersja 1.0.1 programu]
44+
45+
* Skopiuj ściągnięty plik do katalogu `/music` . (Linuxiaże) nadaj mu prawa do uruchomienia.
46+
47+
Załóżmy, że nasz plik z muzyką nazywa się `music.smm` i jest on umieszczony w katalogu `/music` projektu.
48+
49+
W linii komend wpisz:
50+
51+
~~~bash
52+
./smm-conv music.smm music.asm -reduce:all -reindex:all -MC -MR -Ao:0x7000 -Aa:0
53+
~~~
1654

17-
start.pas
55+
Znaczenie parametrów:
56+
57+
- `music.smm` - nazwa pliku źródłowego (nasza muzyczka)
58+
- `music.asm` - nazwa pliku wyjściowego - dane w assemblerze
59+
- `-reduce:all` - wyłącza z pliku wyjściowego nieużywane definicje SFXów oraz TABów (opcja `all`)
60+
- `-reindex:all` - układa kolejno indeksy definicji SFXów oraz TABów
61+
62+
Powyższe dwie opcje redukują rozmiar pliku wynikowego oraz zapotrzebowanie na pamięć w **ATARI**.
63+
64+
- `-MC` - generuje plik konfiguracyjny dla **SFX_API** `sfx_engine.conf.inc`
65+
- `-MR` - generuje plik z definicją zasobów dla **MAD Pascala** `resource.rc`
66+
- `-Ao:0x7000` - określa adres (tzw. globalny) dla generowanyh danych w assemblerze
67+
- `-Aa:0` - powoduje wyłączenie buforowania audio (rejestrów **POKEY**) w pliku konfiguracyjnym `sfx_engine.conf.inc`
68+
69+
Po więcej szczegółów nt. konwertera odsyłam do pliku README.md w programie **SMM-CONV**.
70+
71+
72+
73+
Uruchomienie powyższej komendy, spowoduje wygenerowanie następujących plików w katalogu `/music`
74+
75+
~~~ascii
76+
+- /music
77+
| music.asm
78+
| resource.rc
79+
} sfx_engine.conf.inc
80+
~~~
81+
82+
83+
84+
Ważną rzeczą, jaką należy dokonać to ustawienie ścieżki w wygenerowanym pliku `music/resource.rc`, gdyż **kompilator MAD Pascal odwołuje się względem kompilowanego pliku głównego**, nie zaś pliku zasobu który jest dodany do programu.
85+
86+
~~~pascal
87+
SFX_ORG rcasm 'music/music.asm';
88+
~~~
89+
90+
W pliku głównym projektu dodać należy jeszcze wczytanie pliku zasobu muzyki.
1891

1992
~~~pascal
2093
{$librarypath './sfx_engine/'}
94+
{$librarypath './music/'}
2195
2296
uses SFX_API, atari;
97+
98+
{$r "music/resource.rc"}
2399
~~~
24100

25-
- plik `sfx_engine.conf.inc` należy dostosować do własnych potrzeb lub, korzystając z dołączonego programu użytkowego `smm-conv`, utworzyć i zastąpić.
26-
- dane stworzone programem `smm-conv` należy umieścić w przykładowym katalogu `/data`
101+
**UWAGA!** W przypadku rozdzielenia danych za pomocą przełącznika `-Ad:` (w konwerterze `smm-conv`) należy, wczytanie pliku zasobu `{$r "music/resource.rc"}` umieścić <u>na samym początku programu</u>, przed wywołaniem innych zasobów.
102+
103+
104+
105+
I to tyle - można się cieszyć muzyką z programu **SFX Music Maker** (aka **SFX-Tracker**) w swoim projekcie :)

sfx_engine/imgs/git_download.png

69.9 KB
Loading

0 commit comments

Comments
 (0)