Marca 29, 2024, 11:35:56 *
Witamy, Gość. Zaloguj się lub zarejestruj.

Zaloguj się podając nazwę użytkownika, hasło i długość sesji
Aktualności:
Nowa strona główna  : http://www.emunes.pl
Zapraszamy do testowania !

Chat: http://chat.emunes.pl
Galeria cartów: http://carts.emunes.pl
 
   Strona główna   Pomoc Zaloguj się Rejestracja  

Reklama
Strony: [1]
  Drukuj  
Autor Wątek: FamiTracker - Export do ASM Source i użycie tego w NESASM  (Przeczytany 2156 razy)
0 użytkowników i 1 Gość przegląda ten wątek.
siudym
Gość
« : Listopada 25, 2014, 11:45:41 »

Dawno nie bylem w temacie i widze, ze FT ma export utworu do kodu zrodlowego.
Zrobilem na szybko prosta melodie, zapisalem do ASM.
Teraz jak to uzyc w kodzie NESASM? W kodzie nie widze rejestrow APU, wiec chyba
trzeba wiecej pokombinowac co i jak.

Pewnie nie raz bylo to juz na forach nesdev, ale z wygrzebaniem nie bedzie posto.
FT ma tez export do BIN - raw music data, moze latwiej jest taki export uzywac w NESASM?

Wczesniej uzywalem metody ladowania calego NSF - jednak to strata miejsca, bo np. prosta melodia napisana w FT2 po exporcie do BIN ma 60bajtow, a NSF 6000 bajtow.... Dlatego mocno interesuje mnie uzywanie exportow ASM lub BIN.




Tu kod tej melodyjki prostej po exporcie.

Kod:
; FamiTracker exported music data
;

; Module header
.word ft_song_list
.word ft_instrument_list
.word ft_sample_list
.word ft_samples
.byte 0 ; flags
.word 3600 ; NTSC speed
.word 3000 ; PAL speed

; Instrument pointer list
ft_instrument_list:
.word ft_inst_0

; Instruments
ft_inst_0:
.byte 0

; Sequences

; DPCM instrument list (pitch, sample index)
ft_sample_list:

; DPCM samples list (location, size, bank)
ft_samples:


; Song pointer list
ft_song_list:
.word ft_song_0

; Song info
ft_song_0:
.word ft_s0_frames
.byte 1 ; frame count
.byte 64 ; pattern length
.byte 6 ; speed
.byte 150 ; tempo
.byte 0 ; initial bank


;
; Pattern and frame data for all songs below
;

ft_s0_frames:
.word ft_s0_f0
ft_s0_f0:
.word ft_s0_p0_c0, ft_s0_p0_c1, ft_s0_p0_c1, ft_s0_p0_c1, ft_s0_p0_c1
ft_s0_p0_c0:
.byte $B0, $03, $E0, $33, $3F, $35, $3D, $36, $3C, $38, $3A, $38, $3C, $36, $3D, $35, $3F, $33, $B2, $41
.byte $03
ft_s0_p0_c1:
.byte $00, $3F

; DPCM samples (located at DPCM segment)

.segment "DPCM"
« Ostatnia zmiana: Listopada 25, 2014, 12:25:26 wysłane przez siudym » Zapisane
Verteks
Kapral
**
Offline Offline

Wiadomości: 78


« Odpowiedz #1 : Listopada 26, 2014, 21:04:17 »

Najłatwiej użyć gotowych silników muzycznych - na przykład Famitone2: http://shiru.untergrund.net/files/src/famitone2.zip albo tego od GradualGames - http://www.gradualgames.com/p/sound-engine.html - obydwa używają danych wyeksportowanych z Famitrackera.
Zapisane
Dizzy9
Nadworny programista.
Kapitan
****
Offline Offline

Wiadomości: 351



WWW
« Odpowiedz #2 : Listopada 28, 2014, 18:45:23 »

Eksport w ASM to eksport danych w formacie asm :} Na ich podstawie możesz zbudować własny silnik muzyczny lub możesz dane zmodyfikować by pasowały do innego silnika.

FamiTone2 jest ograniczony, w readme jest napisane jakiś efektów nie ma zaimplementowanych. Silnik Gradual Games podobno, choć jego nie używałem.
Silnik Famitrackera obsługuje wszystkie efekty, ale ma minus-zajmuje MNÓSTWO miejsca w ROMie i DUŻO czasu CPU+nie obsługuje efektów dźwiękowych i DPCM.
Jeśli masz muzyka który umie robić muzykę z ograniczeniami FamiTone2, to używaj tego silnika, w przeciwnym razie będziesz się męczył, wiem po sobie ;]
Zapisane

Strony: [1]
  Drukuj  
 
Skocz do:  

Działa na MySQL Działa na PHP Powered by SMF 1.1.11 | SMF © 2006-2008, Simple Machines LLC Prawidłowy XHTML 1.0! Prawidłowy CSS!
Strona wygenerowana w 0.045 sekund z 19 zapytaniami.