<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<title><![CDATA[The 1-Bit Forum — new engine: PhaserF]]></title>
		<link>http://randomflux.info/1bit/viewtopic.php?id=358</link>
		<atom:link href="https://randomflux.info/1bit/extern.php?action=feed&amp;tid=358&amp;type=rss" rel="self" type="application/rss+xml" />
		<description><![CDATA[The most recent posts in new engine: PhaserF.]]></description>
		<lastBuildDate>Sun, 18 Feb 2024 15:22:32 +0000</lastBuildDate>
		<generator>PunBB</generator>
		<item>
			<title><![CDATA[Re: new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3022#p3022</link>
			<description><![CDATA[<p>I could also pre-generate the tables, if that helps.</p>]]></description>
			<author><![CDATA[null@example.com (utz)]]></author>
			<pubDate>Sun, 18 Feb 2024 15:22:32 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3022#p3022</guid>
		</item>
		<item>
			<title><![CDATA[Re: new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3019#p3019</link>
			<description><![CDATA[<p>I expected the challenge to be the flexible channel layouts and PWM drums, but in fact yeah, I forgot I already handled such configurations. However, there is a less expected issue, both ulasyn and phaserF use a macro to calculate their filter tables. My assembler is certainly not up to parse that, so I guess, I&#039;ll have to offload table generation into the engine script. Anyways, seems to be doable.</p>]]></description>
			<author><![CDATA[null@example.com (Shiru)]]></author>
			<pubDate>Sat, 17 Feb 2024 14:12:50 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3019#p3019</guid>
		</item>
		<item>
			<title><![CDATA[Re: new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3011#p3011</link>
			<description><![CDATA[<p>Another great new engine. Very cool sound</p>]]></description>
			<author><![CDATA[null@example.com (AtariTufty)]]></author>
			<pubDate>Tue, 06 Feb 2024 19:59:58 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3011#p3011</guid>
		</item>
		<item>
			<title><![CDATA[Re: new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3010#p3010</link>
			<description><![CDATA[<p>What would be the challenge for adding it to 1tracker? The data format is quite similar to ulasyn&#039;s. In terms of interface, it could be shown as 4 channels, perhaps calling them 1A, 1B, 2A, 2B.</p><p>Btw forgot to mention in the readme that row length is 6-bit only, due to using the I register for counting.</p>]]></description>
			<author><![CDATA[null@example.com (utz)]]></author>
			<pubDate>Tue, 06 Feb 2024 19:15:07 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3010#p3010</guid>
		</item>
		<item>
			<title><![CDATA[Re: new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3009#p3009</link>
			<description><![CDATA[<p>Still, it is very impressive. I wouldn&#039;t say the sound quality is any bad, we&#039;ve had worse, and it is certainly on a new level.</p><p>This one feels to be tough to make into 1tracker, but anyways, I&#039;ll try.</p>]]></description>
			<author><![CDATA[null@example.com (Shiru)]]></author>
			<pubDate>Tue, 06 Feb 2024 03:52:04 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3009#p3009</guid>
		</item>
		<item>
			<title><![CDATA[new engine: PhaserF]]></title>
			<link>http://randomflux.info/1bit/viewtopic.php?pid=3008#p3008</link>
			<description><![CDATA[<p>As promised, here it is, Phaser with filters.</p><div class="codebox"><pre><code>- 2 Phaser channels, XOR/OR/AND mixing
- variable duty for both oscillators (channel 2 only)
- volume control (up to 6 levels)
- filters with variable cutoff (6 levels for lo-pass, 5 levels for hi-pass)
- sample rate 9114 Hz
- interrupting PWM sampled drums at 27343 Hz with 7 pitch and 3 volume levels
- player size 3333 bytes (when assembled at a 256b border)

Channel 2 can be split into two independent pulse wave channels that are mixed
Squeeker-style (OR mixing). Beware that changing channel 2&#039;s mixing mode is slow
(~200t), so avoid doing so if you are concerned about transition noise.</code></pre></div><p><a href="https://github.com/utz82/ZX-Spectrum-1-Bit-Routines/tree/master/phaserF">source code</a></p><p>This one was quite a challenge, and I&#039;m not entirely sure if it was worth the effort. Somehow it sounds muddier than ulasyn. Part of it is because length counter updates are slower, but there might also be a bug lurking in one of the volume cores. I&#039;ve checked them all multiple times in various ways though, and can&#039;t spot any obvious culprits.</p><p>PWM drums are slightly different from ulasyn - higher sample rate, but less volume resolution. There&#039;s no noise mode in this engine, so the samples need to make up for it.</p>]]></description>
			<author><![CDATA[null@example.com (utz)]]></author>
			<pubDate>Tue, 06 Feb 2024 00:05:45 +0000</pubDate>
			<guid>http://randomflux.info/1bit/viewtopic.php?pid=3008#p3008</guid>
		</item>
	</channel>
</rss>
