2016-11-02 12 views
3

NES 어셈블리 (6502 어셈블리)에서 게임을 제작해야하는 과제가 있습니다. 음악을 넣고 싶지만 NES APU 코드를 손으로 직접 작성하는 것은 정말 고통 스럽습니다. 그래서 예를 들어 Mixcraft와 같은 음악 시퀀서를 아는 사람이 있는지 궁금 해서요.하지만 나중에 컴파일하기 전에 코드에 포함시킬 수있는 .asm 파일을 출력합니다..asm 파일을 출력하는 MIDI 시퀀서

music.stackexchange에서이 주제를 다뤄야합니까?

미리 감사드립니다.

+0

NES APU의 [일부 문서] (http://wiki.nesdev.com/w/index.php/APU)에서 그런 프로그램이 있는지는 모르겠지만 보이지 않습니다. 각 생성기마다 하나의 채널을 사용하는 MIDI 파일과 해당 생성기 (봉투 등)의 속성을 나타내는 몇 개의 채널을 사용하여 ASM으로 컴파일하는 것은 너무 어렵습니다. 그냥 생각. – Linuxios

답변

0

글쎄, 꽤 많은 연구 끝에, 나는 이것을 할 수있는 작은 소프트웨어를 발견했다. FamiTracker here's the download page이라고합니다.

인터페이스가 정말 좋지는 않지만 솔직히 익숙해지는 데 약간의 시간이 걸립니다. 실제로 필요한 부분을 수행합니다. 그것은 모든 NES 채널 (2x Square, 1x Triangle, 1x Noise)을 가지고 있습니다. 나는 성공적으로 내가 (결과와 여기)를 .ASM로 만든 아주 간단한 노래를 내 보낸 있지만 :

; FamiTracker exported music data: musique.ftm 
; 

; 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 
    .word ft_inst_1 

; Instruments 
ft_inst_0: 
    .byte 16 
    .word ft_seq_2a03_4 

ft_inst_1: 
    .byte 17 
    .word ft_seq_2a03_10 
    .word ft_seq_2a03_9 

; Sequences 
ft_seq_2a03_4: 
    .byte $05, $FF, $00, $00, $02, $01, $02, $03, $02 
ft_seq_2a03_9: 
    .byte $04, $FF, $00, $00, $03, $03, $03, $03 
ft_seq_2a03_10: 
    .byte $05, $FF, $00, $00, $0C, $0A, $08, $07, $06 

; 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 128 ; pattern length 
    .byte 6 ; speed 
    .byte 60 ; tempo 
    .byte 0 ; initial bank 


; 
; Pattern and frame data for all songs below 
; 

; Bank 0 
ft_s0_frames: 
    .word ft_s0f0 
ft_s0f0: 
    .word ft_s0p0c0, ft_s0p0c1, ft_s0p1c2, ft_s0p0c1, ft_s0p0c1 
; Bank 0 
ft_s0p0c0: 
    .byte $82, $00, $E1, $31, $29, $2C, $31, $33, $2A, $2E, $33, $35, $2E, $31, $35, $84, $36, $03, $82, $00 
    .byte $35, $31, $2C, $35, $33, $2C, $2A, $33, $2C, $29, $25, $2C, $84, $31, $03, $7F, $5F 

; Bank 0 
ft_s0p0c1: 
    .byte $00, $7F 

; Bank 0 
ft_s0p1c2: 
    .byte $82, $03, $E1, $31, $E0, $30, $2E, $2C, $2A, $29, $2C, $25, $84, $7F, $5F 


; DPCM samples (located at DPCM segment) 

을 실제로 내 게임에 음악을 삽입 할 수있는 방법을 찾고 있습니다. 따라야 할 절차가 확실하지 않습니다. 이 답변을 최신으로 유지해야합니다.