<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>NTRQ: NES Tracker</title>
	<atom:link href="http://blog.ntrq.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.ntrq.net</link>
	<description>The world&#039;s first native NES music tracker by Neil Baldwin</description>
	<lastBuildDate>Thu, 26 Aug 2010 21:35:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Pulsar Progress</title>
		<link>http://blog.ntrq.net/?p=350</link>
		<comments>http://blog.ntrq.net/?p=350#comments</comments>
		<pubDate>Thu, 26 Aug 2010 21:35:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[pulsar]]></category>

		<guid isPermaLink="false">http://blog.ntrq.net/?p=350</guid>
		<description><![CDATA[<p>I got a bit carried away this time but there is so much to show you now.</p>
<p>Major things to watch out for in these two (I had to split the video in half it was so long!);</p>
<p>[1] almost all commands are implemented now
[2] got a really nice command hint system, you&#8217;ll see the little box [...]]]></description>
			<content:encoded><![CDATA[<p>I got a bit carried away this time but there is so much to show you now.</p>
<p>Major things to watch out for in these two (I had to split the video in half it was so long!);</p>
<p>[1] almost all commands are implemented now<br />
[2] got a really nice command hint system, you&#8217;ll see the little box pop up when I&#8217;m editing commands<br />
[3] the Ixx command (for &#8220;intensity&#8221;) controls the refresh rate (1x, 2x or 4x), on the fly with a pattern command and independently for each voice<br />
[4] the Nxx command which now gives more control over the modulation-from-phase-resetting exploit<br />
[5] quite a nice bit in the middle showing how you can combine pitch slide, arpeggios and vibrato&#8230;.and they all work together as you&#8217;d imagine <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
[6] new VU meters <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, here&#8217;s the rough transcript (I&#8217;m supposed to be watching a film so it&#8217;s a bit rushed) and the videos are below. Oh, because the video is split in two, the transcript starts again at 00:00.</p>
<p>Song is setup with a drum beat on D and E with a single note playing on A</p>
<p>Part A</p>
<p>00:00 &#8211; 01:40 Messing about with DPCM stuff. Shows Drumkits and the ability to map samples to different keys etc.<br />
01:55 &#8211; change gate time of the pulse channel note to be &#8220;infinite&#8221; so that I can demo the next bit. Sorry it&#8217;s a bit torturous <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
02:00 &#8211; add some Nxx commands to the pattern. Nxx turns on the hard forcing of the high frequency register (the two pulse channels). You can set it to a few &#8220;levels&#8221;. The value 0F is fully on. The value 01 only hard-forces the frequency on one of the 4 times Pulsar is refreshed per frame. You can set other various numbers in between to modify the effect.<br />
03:00 &#8211;  05:30 add a few other effects and stuff then break the pattern down again<br />
05:40 &#8211; add some octave notes to demo the next bit<br />
06:30 &#8211; tweaking the pitch sweep<br />
07:00 &#8211; back to pattern, adding some Nxx commands, more messing with the sweep<br />
08:15 add some Rxx (retrigger) commands, increasing and decreasing in speed<br />
08:15 &#8211; 10:20 messing with various instrument parameters<br />
10:30 &#8211; break the pattern down again<br />
11:40 &#8211; back to single plain note for next demo</p>
<p>Part B</p>
<p>(00:00) 12:00 &#8211; showing pitch slide, arpeggios, vibrato both by themselves and in combination with each other! <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
(02:00) 14:00 &#8211; tweaking some parameters<br />
(03:00) 15:00 &#8211; showing new feature &#8211; the ability to change the refresh rate on the fly in a pattern. This is the Ixx command. 0F sets maximum (4x refresh rate), 01 sets 1x refresh rate (00 is off!). A bit like the Nxx command, various values in between 01 and 0F will affect the refresh. It works independently on each voice/track though if you specify 11 to 1F, this will set all voices to the same refresh rate.<br />
(04:00) 16:00 &#8211; you can hear how switching the refresh rate only affects the sound synthesis &#8211; the notes still plays at the same tempo.<br />
(05:00) 17:00 set up a similar demo (of the Ixx command) but this time with a pitch sweep sound so you can hear how the Ixx command changes the sound.<br />
(04:55) 18:55 and also how it affects effects like Axx (run table)<br />
(08:15) 20:15 a I00 inserted shows how the synthesis is halted momentarily<br />
(09:00) 21:00 bring a pattern in on Track C with that weird effect again, this time to show the Ixx command affecting this sound.</p>
<p>Part 1</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/FNcf-U77YfM&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/FNcf-U77YfM&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Part 2</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/uuVcYtVBwYQ&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/uuVcYtVBwYQ&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ntrq.net/?feed=rss2&amp;p=350</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Pulsar: exorcism required&#8230;</title>
		<link>http://blog.ntrq.net/?p=347</link>
		<comments>http://blog.ntrq.net/?p=347#comments</comments>
		<pubDate>Mon, 23 Aug 2010 08:18:13 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ntrq.net/?p=347</guid>
		<description><![CDATA[<p>I spent most of my spare time at the weekend trying to track down the cause of this really, really annoying bug. Every so often, a rogue value gets written to one of the Patterns, in the same place every time. It manifests itself as a &#8217;01&#8242; in an FX column that I didn&#8217;t put [...]]]></description>
			<content:encoded><![CDATA[<p>I spent most of my spare time at the weekend trying to track down the cause of this really, really annoying bug. Every so often, a rogue value gets written to one of the Patterns, in the same place every time. It manifests itself as a &#8217;01&#8242; in an FX column that I didn&#8217;t put there. Very odd.</p>
<p>I thought the best way to get to the bottom of it would be to work out exactly where in memory that the corruption happens.</p>
<p>It&#8217;s always in the 3rd column of the 7th step of Pattern 03. Based on the current memory layout, from the start of SRAM this works out to be&#8230;</p>
<p>$0666</p>
<p>Is it possible that Pulsar is too evil to release?</p>
<p> <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ntrq.net/?feed=rss2&amp;p=347</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pulsar&#8230;</title>
		<link>http://blog.ntrq.net/?p=344</link>
		<comments>http://blog.ntrq.net/?p=344#comments</comments>
		<pubDate>Thu, 19 Aug 2010 19:20:07 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ntrq.net/?p=344</guid>
		<description><![CDATA[<p>I don&#8217;t know how to describe this video  </p>
<p>I&#8217;ve been dabbling with a couple of experimental features, one of which instead of playing the specified note on a pattern step, will use that note as the root and pull a random note from a specified scale/mode. The command is &#8216;Sxx&#8217; where xx = a [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know how to describe this video <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ve been dabbling with a couple of experimental features, one of which instead of playing the specified note on a pattern step, will use that note as the root and pull a random note from a specified scale/mode. The command is &#8216;Sxx&#8217; where xx = a fixed internal scale represented by a series of offsets: 00 is the root, 02 = a whole tone, 4=two whole tones etc.</p>
<p>It&#8217;s not quite there yet. It works but it needs more work to massage the resulting notes into something more musical. As I said, it&#8217;s experimental at the moment.</p>
<p>However, I was messing around testing this (and another feature that jumps to a random point in a pitch table, and the ability to sync a pitch table to the pattern playback) and I though &#8220;I wonder what it would sound like if I made one simple pattern using the random-note-from-a-scale feature and then put that one pattern on all three voices?&#8221;</p>
<p>Mostly horrific actually but you do get a little glimmer sometimes of what this feature could turn into. Possibly&#8230;.</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/_7w9N6nBARU&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/_7w9N6nBARU&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>0:00 Start off silent, showing the one pattern with 3 notes and a couple of pitch slides (and a bit of vibrato). Same chain/pattern on Track A, B and C.</p>
<p>0:12 I start the song and you can hear all 3 voices in unison playing the up and down slides.</p>
<p>0:37 I jump to the table that is being used. You can see that there&#8217;s a J00 command about half-way down, this jumps back to step 00. In the FX2 column, the first line has Z00. Zxx sets the playback speed of the table but Z00 is a special command that makes the table sync with the pattern. The S00 commands are the command to pull a random note from a scale. So you can see that it&#8217;s a repeating 8 step table, and every other note (remember, each table step is in sync with the pattern) will pull a random note. Oh, in the Instrument that is being used, the table command is currently OFF &#8216;&#8211;&#8217;</p>
<p>0:50 I turn on the Table. There&#8217;s a slight bug where it doesn&#8217;t sync properly the first time it runs but I&#8217;ll sort that out.</p>
<p>1:10 in the Table view you can see the table cycling (there&#8217;s a but with the pointers at the moment)</p>
<p>1:38 I turn the Table off and on again so you can see the three simple notes are still running in the pattern</p>
<p>Then I just tweak around with a few things while Pulsar composes a little whimsical tune for you <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>3:10 I change the Scale (mode) that the notes are coming from. You can hear how it affects the &#8216;tune&#8217;</p>
<p>Apologies for the random fiddling about, I forgot I was recording the video!</p>
<p>About 4:20 I mess about with the setting &#8220;SWEEP Q&#8221;. This is in fact a multiple use setting, it sets the resolution for things like pitch slide, vibrato and the chord (Cxx) arpeggio command. You can hear that it start to sound out of whack because I cranked the resolution right down and then right up again.</p>
<p>5:20 I change the gate time&#8230;.for some reason.</p>
<p>5:45 Showing the transpose value for the chain affecting the auto sequence.</p>
<p>6:00 Start to get a bit mental.</p>
<p>At 7:00 the bad stuff comes <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  First I switch on the hard frequency setting. Then I mess the sound up even more by setting a ultra rapid duty modulation.</p>
<p>7:30 Track C gets turned off while I mess with the transpose for the chain on Track A &#038; B, which takes it into dog hearing frequencies. Then some other messing about.</p>
<p>8:26 shows more clearly how the SWEEP Q affect the slides</p>
<p>9:00 I start to remove all the noisy stuff to get back to the lovely &#8216;melody&#8217;</p>
<p>Normal service will be resumed soon.</p>
<p> <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ntrq.net/?feed=rss2&amp;p=344</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Pulsar: Audio</title>
		<link>http://blog.ntrq.net/?p=338</link>
		<comments>http://blog.ntrq.net/?p=338#comments</comments>
		<pubDate>Mon, 16 Aug 2010 20:50:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ntrq.net/?p=338</guid>
		<description><![CDATA[<p>Are you ready for this?  </p>
<p></p>
<p>Some notes about the video.</p>
<p>So far I&#8217;ve got the two square-wave voices, triangle and noise working. Most of the effects/commands are working apart from pitch slide (to note) and vibrato. I&#8217;ve not done any work so far on DPCM or stuff like auto-echo (which I&#8217;m still trying to figure [...]]]></description>
			<content:encoded><![CDATA[<p>Are you ready for this? <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/VGqoEPFS3Tc&#038;hl=en&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/VGqoEPFS3Tc&#038;hl=en&#038;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>Some notes about the video.</p>
<p>So far I&#8217;ve got the two square-wave voices, triangle and noise working. Most of the effects/commands are working apart from pitch slide (to note) and vibrato. I&#8217;ve not done any work so far on DPCM or stuff like auto-echo (which I&#8217;m still trying to figure out how to port from NTRQ so that it will work at 4x times the speed and data throughput!)</p>
<p>Basically I&#8217;m just stuck on the Song Screen changing one voice between several test chain/patterns.</p>
<p>The first pattern, 09 (on track B) has a simple square sound but I&#8217;m manipulating the pitch sweep in the pattern.</p>
<p>Then chain 00 is a drum beat, again using square wave but this time using a table to modify the pitch. The nice thing about the tables for this is that you have really fine control over the speed of the table at every step.</p>
<p>Then chain 01 shows an arpeggio chord which is severely pitch swept then also some fill-in notes that use the always-force-both-pitch-registers method to get that almost-FM sound/distortion.</p>
<p>Then I accidentally set track A to the same chain <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  And turn it off again (chain 0A is empty)</p>
<p>Then chain 03 is a funky little beat using a combination of table pitch to make the kick drum and modulating the pitch sweep to produce some interest in between. Oh, there&#8217;s a &#8216;groove&#8217; or &#8216;speed table&#8217; in operation which is why it&#8217;s got a bit of a swing feel <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Now I start chains in some of the other voices (about 1:30)</p>
<p>Chain 06 shows more of the hard frequency writing.</p>
<p>Chain 08 comes in on the noise channel to make some hihats.</p>
<p>About 2.30, I start a pattern on Track C (triangle). It&#8217;s a weird little pattern that, once again, modulates the pitch sweep up and down.</p>
<p>At 3.10, I jump through the chain->pattern->instrument->table editor and show a nice trick. Ultra fast turning the triangle on and off (the table alternates between 2 steps that set &#8216;volume&#8217; to 0F and 00). Then I try setting an octave pitch offset too which makes it sound even weirder! <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Then I turn off some of the other voices so you can hear just triangle (oh and the noise is still on). Then I move the loop point of the table (J&#8211;) and you can see how it affects the sound even further. This can also be done with any of the other voices. <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Then I bring some patterns back in, change them. Then about 6:00 I show changing the gate time of the instrument. This (along with all other instrument parameters) can be changed in the pattern or in the table.</p>
<p>Then I remove all the voices one by one until the triangle remains.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ntrq.net/?feed=rss2&amp;p=338</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Pulsar Progress</title>
		<link>http://blog.ntrq.net/?p=333</link>
		<comments>http://blog.ntrq.net/?p=333#comments</comments>
		<pubDate>Wed, 04 Aug 2010 13:50:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.ntrq.net/?p=333</guid>
		<description><![CDATA[<p>There&#8217;s no audio in this demo but I have pretty much coded the interface (though design/graphics are of little interest to me at this stage).</p>
<p>Many of you will be very familiar with the interface as it borrows very heavily from LSDJ. As I&#8217;ve said before, I had to totally rethink how NTRQ&#8217;s UI was designed [...]]]></description>
			<content:encoded><![CDATA[<p>There&#8217;s no audio in this demo but I have pretty much coded the interface (though design/graphics are of little interest to me at this stage).</p>
<p>Many of you will be very familiar with the interface as it borrows very heavily from LSDJ. As I&#8217;ve said before, I had to totally rethink how NTRQ&#8217;s UI was designed so that I could maximise the NES&#8217;s CPU time for audio processing because Pulsar is going to be refreshing at 4x per frame. The smaller text area and multi-screen approach of LSDJ lends itself to this much better than my multi-pane, single-screen information overload of NTRQ <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Something else about the difference between NTRQ and LSDJ : in NTRQ I have a total of 8KB SRAM to contain all the song data. In LSDJ, each song uses 32KB of SRAM. Again, this massive difference in resource led me to design NTRQ in the way that I did. Things like having variable length Patterns and Songs all complicated the data structure and handling, though the benefit (in terms of data size) was obvious.</p>
<p>With Pulsar, I can&#8217;t afford to be messing about with complicated data (I won&#8217;t have the CPU time to process it) so again I&#8217;ve opted for an approach similar to LSDJ. However, that in turn means an increase in data size for a Song and that&#8217;s where I currently have run into trouble.</p>
<p>The &#8220;normal&#8221; size of SRAM for NES is 8KB, which is what I based my memory map on for NTRQ. At the time, people did mention to me that some carts/mappers support SRAM sizes larger than this, up to 32KB! </p>
<p>Problem solved!?</p>
<p>Not quite. Currently there is only one configuration that supports 32KB and that is SXROM + MMC1 and, currently, this only seems to be supported by Nestopia. The main problem seems to be (as far as emulators are concerned anyway) is that specification of SRAM >8KB formed part of the iNES 2.0 update and it hasn&#8217;t been taken up by everyone yet.</p>
<p>Included in the list of platforms that don&#8217;t support it is, unfortunately, PowerPak, though I have been assured by it&#8217;s creator/author that support should be fairly straightforward in a future mapper release &#8211; PowerPak actually does have 32K RAM, it just doesn&#8217;t all get used. I&#8217;ve also been in touch with the authors of FCEUX as I could really do with it supporting 32KB SRAM &#8211; I use FCEUX a lot for debugging!</p>
<p>The current build of Pulsar therefore uses a memory map based on an 8KB .sav file but I&#8217;ve designed the code in a way that once support for 32KB is more widespread, I can scale up the memory map (OK, it&#8217;s not quite that simple but it&#8217;s not far off).</p>
<p>There is a point to this rambling. <img src='http://blog.ntrq.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I could do with some help with figuring out which emulators/platforms properly support SXROM+32KB SRAM (or NVRAM as it&#8217;s known). So, grab the ROM from the .ZIP file (below) and have a play around. Then could you email me and let me know if your emulator created an 8KB or a 32KB .sav file (note : if the .sav file is something like 4K, it&#8217;s compressed and will need unzipping to show the true size).</p>
<p>So, let me know:</p>
<p>- platform (OSX/Windows/etc)<br />
- emulator and version number<br />
- 8K or 32K .sav file?</p>
<p>Much appreciated, thanks.</p>
<p><a href="http://dl.dropbox.com/u/5493868/pulsar_rom.zip">Pulsar ROM</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.ntrq.net/?feed=rss2&amp;p=333</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
	</channel>
</rss>
