Page 1 of 29

Version 0.5 preview

Posted: Sat May 23, 2015 3:59 pm
by jsr
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)

Re: Version 0.5 preview

Posted: Sat May 23, 2015 4:53 pm
by jrlepage
Awesome! I've been toying around with this for a few minutes. My only gripe is that I'd like it if there were a way to select between entering Hz values or NSF playback speed. Some people might prefer the old way of doing things!

Also changing VRC7 pitch without retriggering the instrument doesn't seem to work, unless I'm doing something wrong? I tried both default and custom patches and the instrument always seems to retrigger.

Re: Version 0.5 preview

Posted: Sat May 23, 2015 4:55 pm
by MovieMovies1
Period table retuning doesn't automatically reset when loading new FTMs. You have to manually go into the retuning menu, which will make it reset itself.
Retuning also doesn't seem to work with the VRC7.
By the way, would it be possible to have different tuning information per song in a FTM file?

Re: Version 0.5 preview

Posted: Sat May 23, 2015 4:56 pm
by Shywolf
Some bugs with this:
jsr wrote:* Added support for changing pitch without retriggering the instrument. Use the note cut key in the instrument column to insert commands for doing that.

  • Doesn't seem to work for VRC7 instruments. They retrigger like normal.
  • For 2A03/MMC5/VRC6/5B instruments, the command sets the channel volume to max unless there's a release command present in the volume macro.
  • For FDS/N163 instruments, the command sets the channel volume to max unless there's a release command present in the volume macro and the volume macro size is larger than 2.
Otherwise, great work jsr!

Re: Version 0.5 preview

Posted: Sat May 23, 2015 5:06 pm
by jsr
jrlepage wrote:Awesome! I've been toying around with this for a few minutes. My only gripe is that I'd like it if there were a way to select between entering Hz values or NSF playback speed. Some people might prefer the old way of doing things!

Thanks! There will be buttons for scrolling between Hz and BPM values too in the stable version.

MovieMovies1 wrote:Period table retuning doesn't automatically reset when loading new FTMs. You have to manually go into the retuning menu, which will make it reset itself.
Retuning also doesn't seem to work with the VRC7.
By the way, would it be possible to have different tuning information per song in a FTM file?

I'll fix that. Unfortunately different tunings/song is impractical since the period table is shared among songs, and that table is large. I guess it would be possible to store only one octave of pitches and then keep several tables, but that's something for a future update.

Shywolf wrote:
  • Doesn't seem to work for VRC7 instruments. They retrigger like normal.
  • For 2A03/MMC5/VRC6/5B instruments, the command sets the channel volume to max unless there's a release command present in the volume macro.
  • For FDS/N163 instruments, the command sets the channel volume to max unless there's a release command present in the volume macro and the volume macro size is larger than 2.
Otherwise, great work jsr!

Thanks, I'll fix these issues!

Re: Version 0.5 preview

Posted: Sat May 23, 2015 5:11 pm
by Shywolf
Also, regarding this:
jsr wrote:* Added display of active effects and average BPM tempo, accessible from the tracker menu.

effectdisp.png
effectdisp.png (5.41 KiB) Viewed 23292 times
^Since each channel is expandable with up to four effect rows, perhaps allowing the active effects display to show up to at least four effects would be appropriate? Here you can see the "Portamento" text is cut off by the bottom of the window.

Re: Version 0.5 preview

Posted: Sat May 23, 2015 5:14 pm
by Alexander283
All of my yes!!
5B Support is great (finally more than one noise channel), the active effects really help fixing stuck effects on loops or forgotten detunes.
Full 64 Saw volume is a nice touch and the automatic Namco wave is just glorious.

Thank you very much for this :D

Re: Version 0.5 preview

Posted: Sat May 23, 2015 5:19 pm
by jrlepage
Some issues with active effects display:

  1. VRC7 volume is inverted in the active effects display (15 in the tracker is shown as 0, 14 in the tracker is shown as 1, etc.).
  2. Gxx is erroneously shown as being 1 value below actual value (G01 is shown as "Row delay: 0"). This might be confusing.
  3. FDS effects Hxx, Ixx and Jxx don't show up.
  4. 2A03 effects Hxy and Ixy don't show up.
  5. Effect Sxx is inconsistently displayed (sometimes it's the value of xx, sometimes one less).
  6. Qxy and Rxy are inverted for N163 (Qxy is displayed as "slide down", Rxy as "slide up").

This is what I've been able to spot so far. Some of these might be intentional..?

Re: Version 0.5 preview

Posted: Sat May 23, 2015 5:22 pm
by ImATrackMan
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.

[AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA]

HEAVY TESTING INCOMING

Re: Version 0.5 preview

Posted: Sat May 23, 2015 6:32 pm
by HertzDevil
Storing a detune table for one expansion chip takes less space than one pattern full of Fxx effects, and as integer tables they are still fairly small in NSFs (compared to some other contemporary NSF driver formats). I don't see how that would constitute too large a portion of FTM files.

Also the first row of the effect display is redundant for only the 2A03 channels which show the sane information near the register display anyway. Don't you think it is more practical to add similar information for the expansion chips?