CommentTime23 Oct 2025 18:29 (3 godzin temu) zmieniony
Bazując na przykładzie grania muzyczek MusicProTracker'a ->link<-
Piszę przykład, gdzie .md1 i plik sampli ładowane są z dysku, następnie grane: ->link<-
Dlaczego dla pliku .D15 zostało przeczytanych 9040 bajtów (zamiast 8224) Z kolei Plik .MD1 został przeczytany prawidłowo - 816 bajtów.
(funkcja LoadFileToAddr nie korzysta z "FileSize" ponieważ to nie działa na DOSsie z obrazu .atr)
Próbowałem też "na raz" (11264), ale Atari crashuje (podobnie jak w poprzednim przypadku) przy próbie zagrania muzyczki.
p := pointer(addr); BlockRead(f, p^, 11264);
Będę wdzięczny jeśli ktoś podzieli się działającą funkcją; LoadFileToAddr(Const filename: String; addr: word)
Zastosowanie: Próbuje przeczytać dane z pliku i umieścić pod adresesm w pamięci, aby player .md1 to znalazł i zagrał muzyczkę. Np, module_addr = $5000; sample_addr = $6000; LoadFileToAddr('abcsong.md1'; module_addr)