atarionline.pl
atarionline.pl Atari
Login:
Hasło:
Zapamiętaj mnie
Translate to RSS RSS
Dwie nowe gry The Quill na Atari z 2022-12-01 15:23 (6)
Nowy tracker dla Atari STE z 2022-11-26 19:38 (9)
Nowa gra "Tony" - koder poszukiwany! z 2022-11-24 12:29 (66)
About AVG cartridge in English & 4K z 2022-11-22 19:21 (3)
Płytki stereo dla chętnych z 2022-11-20 20:48 (20)
Opowieści o Elwro byłego pracownika z 2022-11-17 12:01 (12)
GEOS dla Atari! z 2022-11-14 13:14 (42)
Polski komputer Cobra-1 z 2022-11-11 00:20 (13)
Lato z lutownicą #3 z 2022-11-09 13:13 (6)
Światowa premiera "Light Pen Driver" z 2022-11-05 21:05 (8)
Polska gra RPG "Company" z 2022-11-04 08:31 (11)
Historia L.K. Fire-Bird z 2022-11-01 15:19 (22)
Wyniki konkursu ABBUC 2022 z 2022-10-30 16:49 (42)
Lato z lutownicą #2 z 2022-10-25 19:33 (4)
Spotkanie fanów Cobra 1 z 2022-10-21 13:29 (13)
Kasieńka, Kasia, a właściwie CASia... z 2022-10-17 10:11 (7)
ATASCII Compo Edycja II z 2022-10-16 12:49 (9)
Wkrótce Retrospekcje w Krakowie z 2022-10-13 10:41 (2)
Wyniki Grawitacji 2022 z 2022-10-09 23:30 (16)
Lato z lutownicą #1 z 2022-10-08 11:15 (0)
«« nowszestarsze »»

Pomocnik/Helper
Gry/Games

Katalog gier (konwencja TOSEC)

Opisy gier
Rescue On Fractalus opisał Kaz (18)
Stranded opisał Kaz (11)
Gunslinger opisał Dracon (5)
Space 1999 opisał Kaz (4)
Pięć Gówien Eepcha opisał Kaz (10)
Mózgprocesor opisał Kaz (31)
Bruce Lee opisał Kaz (30)
Amaurote opisał Kaz (29)
Jax Stardo In Starblade opisał Kaz (13)
The Dallas Quest opisał Kaz (4)
Hacker opisał Kaz (12)
«« nowszestarsze »»

Katalog gier (konwencja Kaz)
Aktualizacja: 2022-11-30
Liczba katalogów: 7889, liczba plików: 31481
Zmian katalogów: 167, zmian plików: 367

0-9 A B C D
E F G H I
J K L M N
O P Q R S
T U V W X
Y Z inne
zipCałość 2138 MB


Wewnętrzne/Internals



   Nowinki tworzone dzięki CuteNews
SFX-Engine w MAD Pascalu
Chciałem się z Wami podzielić krótkim samouczkiem nt. Jak skorzystać z SFX-Engine w MAD Pascalu.
Mam nadzieję, że okaże się pomocny w początkach z tym silnikiem.

Zacznijmy więc



  • Wejdź na stronę repozytorium SFX-Engine i ściągnij plik ZIP, klikając w przycisk CODE a później Download ZIP (jak na poniższym obrazku)


  • Paczkę rozpakuj, gdzieś na swoim dysku.

  • Katalog `sfx_engine` należy skopiować do katalogu swojego projektu.

    Przykładowa struktura katalogu projektu, może wyglądać tak:
    + /Projekt
    |
    +- /sfx_engine
    | | sfx_engine.conf.inc
    |
    +- /music
    | | {pliki wygenerowane przez smm-conv}
    |
    +-- main.pas


  • W głównym pliku programu `main.pas` zadeklaruj ścieżkę dostępu do biblioteki `sfx_engine` i `music` oraz utwórz deklarację biblioteki w sekcji `uses`, np.

    {$librarypath './sfx_engine/'}
    {$librarypath './music/'}

    uses SFX_API, atari;

  • Plik `sfx_engine.conf.inc` należy skasować smile, gdyż będzie wykorzystany plik, wygenerowany przez program `smm-conv`


Wykorzystanie programu `smm-conv`


  • Przed użyciem, należy skompilować program, ale z racji świąt, mam dla Was mały prezent.

  • Skopiuj ściągnięty plik do katalogu `/music`

  • Załóżmy, że nasz plik z muzyką nazywa się `music.smm` i jest on umieszczony w katalogu `/music` projektu.

  • Uruchom `cmd.exe` i przejdź do katalogu `/music` projektu

  • W linii komend wpisz:
    smm-conv music.smm music.asm -reduce:all -reindex:all
    -MC -MR -Ao:0x7000 -Aa:0

    Znaczenie parametrów:
    • `music.smm` - nazwa pliku źródłowego (nasza muzyczka)
    • `music.asm` - nazwa pliku wyjściowego - dane w assemblerze
    • '-reduce:all` - wyłącza z pliku wyjściowego nieużywane definicje SFXów oraz TABów (opcja `all`)
    • `-reindex:all` - układa kolejno indeksy definicji SFXów oraz TABów
    • `-MC` - generuje plik konfiguracyjny dla SFX_API `sfx_engine.conf.inc`
    • `-MR` - generuje plik z definicją zasobów dla MAD Pascala `resource.rc`
    • `-Ao:0x7000` - określa adres dla generowanych danych w assemblerze
    • `-Aa:0` - powoduje wyłączenie buforowania audio (rejestrów **POKEY**) w pliku konfiguracyjnym `sfx_engine.conf.inc`

    Po więcej szczegółów nt. konwertera odsyłam do pliku README.md programu SMM-CONV.

  • Uruchomienie powyższej komendy, spowoduje wygenerowanie następujących plików w katalogu `/music`
    +- /music
    | music.asm
    | resource.rc
    | sfx_engine.conf.inc

  • WAŻNE Należy dodać ścieżkę w wygenerowanym pliku `music/resource.rc`, gdyż kompilator MAD Pascal odwołuje się względem położenia pliku głównego `main.pas`, nie zaś położenia pliku zasobu który jest dodany do programu.
    SFX_ORG rcasm 'music/music.asm';

  • W pliku głównym projektu dodać należy jeszcze wczytanie pliku zasobu muzyki.
    {$librarypath './sfx_engine/'}
    {$librarypath './music/'}

    uses SFX_API, atari;

    {$r "music/resource.rc"}

  • 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ć na samym początku programu, przed wywołaniem innych zasobów.

  • W programie głównym `main.pas` dodaj jeszcze następujące linie:

    Begin
    SFX_StartVBL();
    SFX_PlaySong(0);
    repeat until ch<>255; ch:=255;
    SFX_End();
    End.

    • `SFX_StartVBL` inicjuje silnik SFX, podpinając go pod przerwanie VBLANK
    • `SFX_PlaySong(0)` uruchamia odtwarzanie muzyczki od wiersza 0
    • `SFX_End()` kończy działanie silnika SFX

  • Skompiluj plik `main.pas` - jak to zrobić najwygodniej? Odsyłam do dokumentu Bocianu MAD Pascal i Geany

  • Uruchom XEXa w swoim ulubionym emulatorze lub na prawdziwym komputerze




I to tyle - można się cieszyć muzyką z programu SFX Music Maker (aka SFX-Tracker) w swoim projekcie :)

Powyższy przykład w całości znajduje się na GitHubie

2021-12-24 11:20 by PeBe
komentarzy: 1
Kaz @2021-12-24 14:34:11
O! Niezłe. Tego brakowało dla nieobeznanych z tematem. Dzięki Paweł.
nickname
e-mail / website (opcjonalnie)
Aktualne tematy
"The Last Ninja 2" dla Atari (273)
ostatni: 02-12-2022 00:15, Pawex
Ultimate1MB - dziwne zachowanie n... (22)
ostatni: 02-12-2022 00:04, Zaqu
Czy androidy liczą elektryczne ow... (71)
ostatni: 01-12-2022 23:15, astrofor
Turbo COMBO do Atari 1050 (16)
ostatni: 01-12-2022 21:56, ZuluGula
LC-177E - poszukiwany silnik do A... (6)
ostatni: 01-12-2022 21:29, galtron
Silly Venture 2022 WE - 45th A260... (161)
ostatni: 01-12-2022 21:07, greymsb
Advent Of Code 2021 (17)
ostatni: 01-12-2022 20:32, mrk
Normalny CART, ale OGROMNA pamięć (86)
ostatni: 01-12-2022 19:49, gienekp
Brakujące gry i programy w AtariO... (188)
ostatni: 01-12-2022 17:26, duncan
Atari Last Party 2023 - noclegi (9)
ostatni: 01-12-2022 13:08, VascoTristesse
Atari Last Party 2023 (11)
ostatni: 01-12-2022 13:07, VascoTristesse
Myszka Atari ST do PC z przelotką... (56)
ostatni: 01-12-2022 11:01, Peri Noid
Przestroga przed "Mapping The Ata... (11)
ostatni: 01-12-2022 10:33, dhor
Scorch - pełna gra (88)
ostatni: 01-12-2022 00:06, solo/ng
Zmiany w bazie gier, demosceny, u... (824)
ostatni: 30-11-2022 19:49, duncan

Kategorie Forum Atarum

Użytkowników: 2579
Ostatnio zarejestrowany: goszi
Postów ostatniej doby: 30

Spotkania i zloty / Meetings & Parties

Najbliższe imprezy
link do naszych spotkań online, zapraszamy do odwiedzenia kanału zoom również przez kod QR:

KWAS

Kalendarz AOL


Społeczność/Community


Rozmawiali
Tomasz Dajczak i Kaz (21)
Lech Bąk i "Świat Młodych" i Kaz (26)
Michał "Mike" Jaskuła i Kaz (6)
F#READY i Dracon (22)
Daniel „Arctus” Kowalski i Dracon (25)
KATOD i TDC (13)
Mariusz Wojcieszek i "Adam" (16)
Romuald Bacza i Ramos (16)
Śledzenie Amentesa i Larek (9)
Leszek Łuciów i Charlie Cherry (17)
TO JUŻ ZA TOBĄ: rozmowa z Bobem Pape i cpt. Misumaru Tenchi (39)
Rob Jaeger i Emu (53)
Jacek "Tabu" Grad i Dracon (0)
Alexander "Koma" Schön i Kaz (0)
Maciej Ślifirczyk i Charlie Cherry (0)
Jarek "Odyniec1" Wyszyński i Kaz (0)
Marek Bojarski i Kaz (0)
Olgierd Niemyjski i Ramos (0)
Wolfgang Burger i Grey (0)
Mariusz "Ramos" Rozwadowski i Xeen (0)
«« nowszestarsze »»

Stragan
Nowe, pojemniejsze RAM-Carty oferuje Kaz (21)
"mouSTer" czyli myszka ST oferuje Kaz (30)
Atari USBJoy Adapter oferuje Jakub Husak (0)
Programy: Kolony 2106 oferuje Kaz (7)
Sprzęt: rozszerzenia oferuje Lotharek (23)
Gadżety: naklejki, pocztówki oferuje Sikor (11)
Sprzęt: cartridge RAM-CART oferuje Zenon (7)
Miejsce na drobne ogłoszenia kupna/sprzedaży oferuje Kaz (58)
Sprzęt: interfejs SIO2IDE oferuje Piguła (0)
Sprzęt: interfejs SIO2SD oferuje Piguła (30)

Użytki/Utils
Sprzęt/Hardware

Wynalazki
Atari i Bluetooth napisał Kaz (34)
SIO2PC-USB napisał Larek (45)
Nowe SIO2SD napisał Larek (0)
SIO2SD w CA12 napisał Urborg (12)
Ratowanie ATMEL-ów napisał Yoohaas (12)
Projektowanie cartów napisał Zenon (12)
Joystick do Atari napisał Larek (54)
Tygrys Turbo napisał Kaz (11)
Testowałem "Simple Stereo" napisał Zaxon (4)
Rozszerzenie 1MB napisał Asal (20)
Joystick trzyprzyciskowy napisał Sikor (18)
Moje MyIDE oraz SIO2PC na USB napisał Zaxon (16)
Jak wykonać płytkę drukowaną? napisał Zaxon (26)
Rozszerzenie 576kB napisał Asal (36)
Soczyste kolory napisał scalak (29)
XEGS Box napisał Zaxon (13)
Atari w różnych rolach napisał Różyk (8)
SIO2IDE w pudełku napisał Kaz (5)
Atari steruje tokarką napisał Kaz (15)
DarkMouse napisał Kaz (7)
«« nowszestarsze »»