Famitone2 problems

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Famitone2 problems
by on (#165887)
So, I've got some of the issues on this page (viewtopic.php?f=6&t=10888&start=15) regarding famitone2. Mainly, the "pattern not found" error (Which I fixed the last time I tried using text2data by tinkering with the outputted text file) and the fact that the triangle wave is completely silent during gameplay. Anyone knows why both glitches actually happen and how to fix them?
Re: Famitone2 problems
by on (#165902)
2 dumb questions.

Did you assign a volume pattern sequence (envelope) to the triangle channel instrument?

Are you sure that Triangle sound is on in the emulator? I sometimes turn them on and off to isolate different sounds.

It probably would be easier to identify the problem of you posted the FTM or the txt2data file or the ROM.

Or, even just cut and paste the top of the data file, where it describes the instruments...might help... if you don't want to share the song for some reason.
Re: Famitone2 problems
by on (#165935)
I did a bit more tinkering and I believe the triangle problem lies within the envelopes. I modified the outputted asm file to have this, where I simply changed instrument $00's envelope to 20, since .env0 doesn't work for some unknown reason.
The other problem is fixed though :)
Also, It may be hard to believe but since everything I compose is crappy, I don't know anything about the APU, just the basic stuff.
Here is the problematic part

Code:
.instruments:                          ;.asm file
   .db $30 ;instrument $00
   .dw .env20,.env0,.env0
   .db $00
   .db $30 ;instrument $01
   .dw .env1,.env0,.env0
   .db $00
   .db $30 ;instrument $02
   .dw .env1,.env0,.env0
   .db $00
   .db $30 ;instrument $03
   .dw .env2,.env0,.env19
   .db $00
   .db $70 ;instrument $04
   .dw .env3,.env0,.env0
   .db $00
   .db $b0 ;instrument $05
   .dw .env4,.env0,.env0
   .db $00
   .db $30 ;instrument $06
   .dw .env5,.env0,.env19
   .db $00
   .db $f0 ;instrument $07
   .dw .env6,.env0,.env0
   .db $00
   .db $70 ;instrument $08
   .dw .env8,.env0,.env0
   .db $00
   .db $b0 ;instrument $09
   .dw .env7,.env0,.env0
   .db $00
   .db $70 ;instrument $0a
   .dw .env9,.env0,.env0
   .db $00
   .db $b0 ;instrument $0b
   .dw .env10,.env0,.env0
   .db $00
   .db $70 ;instrument $0c
   .dw .env11,.env0,.env0
   .db $00
   .db $b0 ;instrument $0d
   .dw .env13,.env0,.env0
   .db $00
   .db $b0 ;instrument $0e
   .dw .env12,.env0,.env0
   .db $00
   .db $30 ;instrument $0f
   .dw .env14,.env0,.env0
   .db $00
   .db $f0 ;instrument $10
   .dw .env15,.env0,.env0
   .db $00
   .db $70 ;instrument $11
   .dw .env16,.env0,.env0
   .db $00
   .db $b0 ;instrument $12
   .dw .env18,.env0,.env0
   .db $00
   .db $b0 ;instrument $13
   .dw .env17,.env0,.env0
   .db $00

.samples:
.env0:
   .db $c0,$00,$00
.env1:
   .db $cf,$ca,$c2,$c1,$c0,$00,$04
.env2:
   .db $cf,$cc,$ca,$c9,$c8,$c7,$c6,$c6,$c5,$c4,$c3,$c2,$c1,$c0,$00,$0d
.env3:
   .db $ce,$cf,$ce,$cd,$cc,$ca,$c3,$c7,$cc,$cd,$cc,$ca,$c9,$c8,$c8,$c7
   .db $c6,$c6,$c5,$c3,$c3,$c2,$c1,$00,$16
.env4:
   .db $c8,$c7,$c6,$c5,$c4,$c3,$c2,$c1,$c2,$c4,$c6,$c5,$c4,$c4,$c2,$c1
   .db $c1,$00,$10
.env5:
   .db $ca,$c9,$c8,$c7,$c6,$c5,$c4,$c3,$c3,$c2,$c1,$00,$0a
.env6:
   .db $c2,$c4,$c6,$c7,$ca,$cd,$cb,$ca,$c8,$c5,$c3,$c2,$c1,$00,$0c
.env7:
   .db $cf,$ce,$cd,$cc,$cc,$cb,$ca,$c9,$c8,$c7,$c6,$c5,$c5,$c4,$c3,$c3
   .db $c2,$c2,$c3,$c4,$c4,$c5,$c6,$c8,$c8,$ca,$cb,$cc,$cb,$ca,$c9,$c8
   .db $c7,$c6,$c5,$c4,$c3,$c3,$c2,$c2,$c1,$05,$c1,$00,$0f
.env8:
   .db $ca,$c9,$c7,$c5,$c4,$c1,$c7,$c5,$c3,$c2,$02,$c5,$c3,$c2,$c1,$c1
   .db $00,$0f
.env9:
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c9,$03,$ca,$07,$c9,$0e,$c6,$c0,$c5,$c8,$c8,$c6,$c8,$c7,$c0,$c7
   .db $c7,$c1,$c7,$c7,$c6,$c0,$c6,$c3,$c3,$c6,$c5,$c5,$c0,$c5,$c2,$c2
   .db $c4,$02,$c0,$c4,$c4,$c1,$c1,$c3,$c4,$c3,$c3,$c1,$c3,$c0,$c3,$c0
   .db $c3,$02,$c0,$c3,$c3,$c0,$c2,$c0,$c2,$03,$c1,$00,$4a
.env10:
   .db $cf,$cf,$ce,$ce,$cd,$cb,$ca,$c8,$c7,$c6,$c4,$c2,$c1,$c1,$cb,$ca
   .db $c9,$c6,$c5,$c5,$c4,$c3,$c2,$c2,$c1,$c5,$c4,$c4,$c3,$c2,$c1,$c1
   .db $c2,$ca,$c9,$c7,$c6,$c5,$c4,$c3,$c3,$c2,$c1,$c1,$c1,$00,$2c
.env11:
   .db $c7,$c8,$c7,$c6,$c5,$c4,$c2,$c1,$c6,$c5,$c4,$c4,$c3,$c2,$c2,$c1
   .db $c1,$c0,$00,$11
.env12:
   .db $c6,$c5,$c4,$c3,$c2,$c1,$c5,$c3,$c2,$c1,$c1,$c4,$c3,$c2,$c1,$c1
   .db $c3,$c2,$c1,$02,$c2,$c1,$04,$c2,$c1,$c1,$c1,$00,$1a
.env13:
   .db $cd,$cb,$c9,$c7,$c5,$c1,$cb,$c9,$c6,$c3,$c1,$c9,$c7,$c5,$c1,$c1
   .db $c7,$c5,$c3,$c1,$c1,$c5,$c4,$c3,$c2,$c1,$c1,$c3,$c2,$c1,$c1,$00
   .db $1e
.env14:
   .db $cf,$ca,$c9,$c6,$c5,$00,$04
.env15:
   .db $c7,$c9,$cd,$cf,$cc,$c9,$c7,$c5,$c2,$c7,$00,$09
.env16:
   .db $c7,$02,$c0,$02,$c7,$02,$c0,$c0,$c7,$02,$c0,$00,$0a
.env17:
   .db $c1,$c2,$c5,$c9,$cc,$cd,$cf,$02,$ce,$cd,$cb,$ca,$c9,$c7,$c6,$c4
   .db $c3,$ca,$c9,$c8,$c6,$c4,$c3,$c2,$c1,$c5,$c3,$c2,$c2,$c1,$00,$1d
.env18:
   .db $c1,$c2,$c2,$c4,$c5,$c6,$c6,$c7,$c7,$c8,$c8,$c9,$02,$ca,$ca,$cb
   .db $cc,$cc,$cd,$cd,$ce,$ce,$cf,$00,$16
.env19:
   .db $bb,$c5,$c3,$c1,$bf,$c1,$c0,$00,$06
.env20:
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c1,$03,$c2,$03,$c3,$04,$c4,$04,$c5,$04,$c6,$02,$c7,$c7,$c8,$03
   .db $c0,$00,$6a


Code:
# FamiTracker text export 0.4.2

# Song information
TITLE           ""
AUTHOR          ""
COPYRIGHT       ""

# Song comment
COMMENT ""

# Global settings
MACHINE         0
FRAMERATE       0
EXPANSION       0
VIBRATO         1
SPLIT           32

# Macros
MACRO       0   0  -1  -1   0 : 15 10 2 1 0
MACRO       0   1  -1  -1   0 : 15 10 2 1 0
MACRO       0   2  -1  -1   0 : 15 12 10 9 8 7 6 6 5 4 3 2 1 0
MACRO       0   3  -1  -1   0 : 14 15 14 13 12 10 3 7 12 13 12 10 9 8 8 7 6 6 5 3 3 2 1
MACRO       0   4  -1  -1   0 : 8 7 6 5 4 3 2 1 2 4 6 5 4 4 2 1 1
MACRO       0   5  -1  -1   0 : 10 9 8 7 6 5 4 3 3 2 1
MACRO       0   6  -1  -1   0 : 2 4 6 7 10 13 11 10 8 5 3 2 1
MACRO       0   7  16  -1   0 : 15 14 13 12 12 11 10 9 8 7 6 5 5 4 3 3 2 2 3 4 4 5 6 8 8 10 11 12 11 10 9 8 7 6 5 4 3 3 2 2 1 1 1 1 1 1 1
MACRO       0   8  -1  -1   0 : 10 9 7 5 4 1 7 5 3 2 2 2 5 3 2 1 1
MACRO       0   9  -1  -1   0 : 0 0 0 0 0 0 0 0 0 0 0 0 0
MACRO       0  10  -1  -1   0 : 1 1 1 1 2 2 2 2 3 3 3 3 3 4 4 4 4 4 5 5 5 5 5 6 6 6 7 7 8 8 8 8 9 9 9 9 10 10 10 10 10 10 10 10 9 9 9 9 9 9 9 9 9 9 9 9 9 9 9 6 0 5 8 8 6 8 7 0 7 7 1 7 7 6 0 6 3 3 6 5 5 0 5 2 2 4 4 4 0 4 4 1 1 3 4 3 3 1 3 0 3 0 3 3 3 0 3 3 0 2 0 2 2 2 2 1
MACRO       0  11  -1  -1   0 : 15 15 14 14 13 11 10 8 7 6 4 2 1 1 11 10 9 6 5 5 4 3 2 2 1 5 4 4 3 2 1 1 2 10 9 7 6 5 4 3 3 2 1 1 1
MACRO       0  12  -1  -1   0 : 7 8 7 6 5 4 2 1 6 5 4 4 3 2 2 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
MACRO       0  13  -1  -1   0 : 6 5 4 3 2 1 5 3 2 1 1 4 3 2 1 1 3 2 1 1 1 2 1 1 1 1 1 2 1 1 1
MACRO       0  14  -1  -1   0 : 13 11 9 7 5 1 11 9 6 3 1 9 7 5 1 1 7 5 3 1 1 5 4 3 2 1 1 3 2 1 1
MACRO       0  15  -1  -1   0 : 15 10 9 6 5
MACRO       0  16  -1  -1   0 : 7 9 13 15 12 9 7 5 2 7
MACRO       0  17  -1  -1   0 : 7 7 7 0 0 0 7 7 7 0 0 7 7 7 0
MACRO       0  18  -1  -1   0 : 1 2 5 9 12 13 15 15 15 14 13 11 10 9 7 6 4 3 10 9 8 6 4 3 2 1 5 3 2 2 1
MACRO       0  19  -1  -1   0 : 1 2 2 4 5 6 6 7 7 8 8 9 9 9 10 10 11 12 12 13 13 14 14 15
MACRO       2   0  -1  -1   0 : -5 5 3 1 -1 1 0
MACRO       4   0  -1  -1   0 : 1
MACRO       4   1  -1  -1   0 : 2 2 2 2 2 2 2 2 2 1
MACRO       4   2  -1  -1   0 : 3
MACRO       4   3  -1  -1   0 : 1
MACRO       4   4  -1  -1   0 : 2
MACRO       4   5  -1  -1   0 : 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0
MACRO       4   6  -1  -1   0 : 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3
MACRO       4   7  -1  -1   0 : 2
MACRO       4   8  -1  -1   0 : 3
MACRO       4   9  -1  -1   0 : 2

# DPCM samples

# Instruments
INST2A03   0    -1  -1  -1  -1  -1 "bass"
INST2A03   1     0  -1  -1  -1  -1 "bass drum"
INST2A03   2     1  -1  -1  -1  -1 "highhat"
INST2A03   3     2  -1   0  -1  -1 "snare drum"
INST2A03   4     3  -1  -1  -1   0 "intro lead"
INST2A03   5     4  -1  -1  -1   1 "intro secondary"
INST2A03   6     5  -1   0  -1  -1 "snare drum lite"
INST2A03   7     6  -1  -1  -1   2 "high whistle"
INST2A03   8     8  -1  -1  -1   3 "ice"
INST2A03   9     7  -1  -1  -1   4 "drops"
INST2A03  10    10  -1  -1  -1   5 "dark echos"
INST2A03  11    11  -1  -1  -1   6 "dark lead"
INST2A03  12    12  -1  -1  -1   0 "intro lead"
INST2A03  13    14  -1  -1  -1   7 "dark alt pings"
INST2A03  14    13  -1  -1  -1   7 "dark alt pings soft"
INST2A03  15    15  -1  -1  -1  -1 "highhat open"
INST2A03  16    16  -1  -1  -1   8 "finished"
INST2A03  17    17  -1  -1  -1   0 "bass triplet"
INST2A03  18    19  -1  -1  -1   9 "sand"
INST2A03  19    18  -1  -1  -1   9 "sand shorter"
Re: Famitone2 problems
by on (#165936)
Well, for one thing. env0 is silence. The second nibble is the volume. x0 = volume zero. Maybe why it didn't work.

Do you know which envelope the triangle channel uses?

And, env19 looks weird. That's on instruments 3 and 6.


Edit: compared to a working Famitone2 file, it doesn't look so weird. I don't spot the error.


And, going back to the original FT text output, volume sequence 9 is all zeros, which Famitone seems to be trying to skip as invalid. Maybe that caused an issue.