Page 27 of 30

Re: Version 0.5 preview

Posted: Sun May 29, 2016 8:21 pm
by drdevil
Dr. Merio is still active on other sites (such as Battle of the Bits). I'm not sure why he vanished from here.

Re: Version 0.5 preview

Posted: Mon May 30, 2016 11:30 am
by HertzDevil
All FamiTracker 0.5.0 beta builds include an unannounced feature, which is basically a trimmed down implementation of rainwarrior's hardware sweep mod where Hxy and Ixy commands on 2A03 pulse channels do not reset the channel period if a feature flag is disabled.

The feature can only be enabled by using a hex editor, locating the integer before the Fxx split point in the PARAMS block, then replacing it with zero. This setting is realized as a member of CFamiTrackerDoc with only a getter but no setter, so the tracker itself has no means of changing this setting for modules that are already loaded. It defaults to the true boolean value, but can be read from the FTM if the version number for the PARAMS block is 9 or above, which is the case since 0.5.0 beta 1 (version 7 and 8 had changes but were not used during saving FTMs in any build).

Attached is an FTM demonstrating this feature; any 0.5.0 beta build will work. Exported NSFs will set bit 2 of the global settings flag if this feature flag is cleared, however the NSF driver does not handle this flag yet.

EDIT: A few more stuffs I found from disassembling beta 5:

  • The NTSC video refresh rate is exactly 60.0988 Hz, and for PAL it is 50.007 Hz;
  • Setting the sequence setting value to 0x00000002 for pitch sequences reveals a closer implementation of the hardware sweep mod than the aforementioned feature flag, where the original mod overrode the hi-pitch sequences for these sweep sequences; (actually using this in the beta will crash the instrument editor like 0CC-FamiTracker's arpeggio schemes do, because the sequence setting button cannot find a valid string to display)
  • The exact behaviour of the average BPM display has been identified: it uses a circular buffer of 24 entries to keep track of the BPM and elapsed ticks info at each row then calculates the weighted average, but with some caveats. See the attached text file for a complete description, and here for a graph of the BPM values presented in the text file's example (blue is for first play, red for subsequent plays);
  • This one does not really require the disassembly to discover, but the frame editor font is actually modifiable via the registry under the "General" subkey.

Another unannounced 0.5.0 beta feature

Posted: Tue Jul 05, 2016 6:48 am
by HertzDevil
XPMCK-like interpolated MML sequences

FamiTracker 0.5.0 beta provides a way to quickly populate instrument sequences, using colon separators to create linearly interpolated sections. This special handling for the colon character only applies to instrument sequences; waveform definitions and FDS modulation table definitions do not accept interpolated terms. If any MML term contains a colon character (":"), then the following rules apply: (any missing number defaults to 0, including the leading item)

  • "X:Y"
    Y copies of X are inserted into the sequence.
  • "X:Y:Z", beta 1 to 4
    Y values are inserted into the sequence, starting from X then adding Z to the current value for each new term.
  • "X:Y:Z", beta 5
    Y values are inserted into the sequence, starting from X and linearly interpolating terms towards Z but not reaching exactly Z. For 5B noise / mode sequences, the tone and noise flags must be specified in the X term, and apply to all items inserted.
The generated items are clipped within the current sequence type's limit values. 5B noise / mode sequences do not behave properly if the generated items overflow or underflow for the noise pitch range (0 - 31). Examples:

  • "2:5" - { 2 2 2 2 2 }
  • "8:7:1"- { 8 9 10 11 12 13 14 } for beta 1 - 4, { 8 7 6 5 4 3 2 } for beta 5
  • "2:9:5" - { 2 7 12 17 22 27 32 37 42 } for beta 1 - 4, { 2 2 2 2 3 3 3 4 4 } for beta 5 (not linear because of floating-point errors)
  • "11:7:" - { 11 11 11 11 11 11 11 } for beta 1 - 4, { 11 9 7 6 4 3 1 } for beta 5
  • ":6:-3" - { 0 -3 -6 -9 -12 -15 } for beta 1 - 4, { 0 0 -1 -1 -2 -2 } for beta 5
The interpolation functionality is provided in the new CSequenceStringConversion class in the beta build, and is not the same as interpolating existing items directly on the graph editor with the right mouse button. It might have been announced in previous versions, but since jsr does not attach change logs in 0.5.0 beta builds and the forum does not allow viewing of edit histories, I cannot check whether that is the case. The changed behaviour in beta 5, which is not listed on the current change log in the first post, warrants a mention anyway.

Re: Version 0.5 preview

Posted: Tue Jul 05, 2016 7:07 pm
by CaptainSwag101
This has probably been answered somewhere in this thread, but do we have any idea when v0.5 (or at least a new beta) is going to be released? It's been almost an entire year since v0.5 Beta 5 was released, and I'm starting to wonder when/if it's ever going to be done.

Re: Version 0.5 preview

Posted: Wed Jul 06, 2016 4:54 am
by womo
CaptainSwag101 wrote:This has probably been answered somewhere in this thread, but do we have any idea when v0.5 (or at least a new beta) is going to be released? It's been almost an entire year since v0.5 Beta 5 was released, and I'm starting to wonder when/if it's ever going to be done.
I have read the posts above, it seems that the authors had some conflict with each other or busy on reality life. But I don't get the answer since they don't come out and send a post to explain.
As the development of original FamiTracker has been shelved for a long period, I decided to localize the 0CC-FamiTracker instead not too long ago. However the original one would be localized either, just like the past, if someday its 0.5 comes to a stable release and I am still active.
Time flies like a vehicle, countless people faded away from the world of Internet and no one knows where they went, for all that I don't want to see this excellent tracker just stopped there. Fortunately the open source project cannot easily end due to the absent of the original author, there are still somebody keeping.

Re: Version 0.5 preview

Posted: Fri Jul 08, 2016 10:02 pm
by TheMMLC2003
Can someone please explain to me how to get it. every time I click download, doesn't work. -_-

Re: Version 0.5 preview

Posted: Fri Jul 08, 2016 10:07 pm
by TheMMLC2003
jsr wrote:Here is a build of the upcoming version 0.5. I'll make a complete list later, but some of the news are:

* Sunsoft 5B (YM2149) support, this is a chip with three square wave channels + a shared noise & envelope generator. Support should be complete but there might still be some bugs or room for improvements. This was a well used chip so I recommend reading some of the existing documentation if you're unfamiliar with it.

The instrument editor supports combined macros for noise pitch (32 levels) & wave type (T = square tone, N = noise). A few new effects has been assigned for this chip:
  • HXY - Envelope setting, where X = Speed (0 for manual speed, >0 for auto speed), Y = Envelope shape (0 to disable). (Check YM2149 documentation for envelope shapes)
  • IXX - Manual envelope speed, high part of the 16-bit envelope speed register.
  • JXX - Manual envelope speed, low part of the 16-bit envelope speed register.
  • VXX - Channel wave mode: 00 = silent, 01 = tone mode, 02 = noise mode, 03 tone + noise.
  • WXX - Noise pitch, range: 00 - 1F.
* Added pattern effects for writing to the VRC7 custom patch registers. See VRC7 documentation for explanation of the registers. You can also get these values from the instrument editor, use the copy button to get a text string with the patch register settings for each slot.
  • HXX - Select register (Slot 0 - 7)
  • IXX - Write value to register
* Added display of active effects and average BPM tempo, accessible from the tracker menu.

* Added support for changing pitch without retriggering the instrument. Use the note cut key in the instrument column to insert commands for doing that.

* NSF playback speed control in NSF (1 MHz) ticks instead of integer Hz rate, this allows a larger range of stable tempos. There's a also a setting for using the NES native video rate.

* Support for full 64 steps VRC6 sawtooth volume macros.

* Added option for automatic wave position in Namco instruments. This will limit the size of the wave depending on the number of channels used.

* Added period table retuning support.

There's still a couple of more things (features & bug fixes, a few VRC7 bugs are remaining for example) I'd want to get done before the stable release, but I think the features up to now should be usable. Let me know if you find any bugs.


Changelog beta 5

  • Fixed 2a03 period table when exporting sunsoft NSFs
  • Rewrote the YM2149 emulator to utilize blip_buffer.
  • Fixed YM2149 period table being off by one.
  • Fixed the FDS wave not being updated properly when changing instruments.
  • Changed N163 instrument editor and increased the max allowed wave size.
  • Fixed a few pattern editor cursor bugs.
  • Prevented DPCM editor crash.
  • Fixed volume meter fast decay mode for Sunsoft and VRC7 channels.
  • Re-enabled VRC7 patch effect (Vxx) & fixed a couple of H/I bugs
  • Added load/save theme buttons to appearance window
  • Fixed a few NSF export issues (relative arpeggio, Namco wave command)

Please explain to me how to download it. It will not work for me.

Re: Version 0.5 preview

Posted: Sat Jul 09, 2016 12:56 am
by Doc2211
there should be a download as a .rar on the first page. You need to use WinRAR to extract the files. Here is the install for WinRar

mod edit: deleted attachment

Re: Version 0.5 preview

Posted: Sat Jul 09, 2016 1:03 am
by Doc2211
TheMMLC2003 wrote:Please explain to me how to download it. It will not work for me.

See above

Re: Version 0.5 preview

Posted: Sat Jul 09, 2016 3:26 am
by rainwarrior
Doc2211: Do not attach software to your posts. There's also no reason to use the proprietary Winrar instead of ZIP, which is open and well supported.