<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
	<title type="html"><![CDATA[The 1-Bit Forum — Ear Shaver questions and concerns]]></title>
	<link rel="self" href="https://randomflux.info/1bit/extern.php?action=feed&amp;tid=198&amp;type=atom" />
	<updated>2018-10-22T11:59:18Z</updated>
	<generator>PunBB</generator>
	<id>http://randomflux.info/1bit/viewtopic.php?id=198</id>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1901#p1901" />
			<content type="html"><![CDATA[<p>As much as I&#039;d advocate trying some of the newer beeper engines, the most convenient for you would be to use Tritone, as it&#039;s natively supported in z88dk.</p><p>Also, don&#039;t worry too much about size. Once you use compression (and only unpack into a buffer when you need it), data size doesn&#039;t really matter that much. I think z88dk has zx7 compressor build in, which works fairly well on music data.</p>]]></content>
			<author>
				<name><![CDATA[utz]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=2</uri>
			</author>
			<updated>2018-10-22T11:59:18Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1901#p1901</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1898#p1898" />
			<content type="html"><![CDATA[<p>I couldn&#039;t get it to ever work, but that&#039;s OK.&nbsp; I&#039;m just exploring each of the music engines to see what is appropriate for my game.&nbsp; There&#039;s quite a few choices, but I&#039;m starting to lean toward nanobeep2, which sounds pretty good with a good savings in memory.</p><p>BTW, I&#039;m writing the game in Z88dk compiling using SDCC.&nbsp; So there is a bit of code conversion to make it work proper in the build environment I&#039;m using.</p>]]></content>
			<author>
				<name><![CDATA[andydansby]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=142</uri>
			</author>
			<updated>2018-10-20T16:39:51Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1898#p1898</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1895#p1895" />
			<content type="html"><![CDATA[<p>Your music_data should simply contain the pattern pointers, the extra &quot;patterndata&quot; structure is not needed. So</p><div class="codebox"><pre><code>music_data:
   defw pattern1
   defw pattern2
   defw 0
...</code></pre></div><p>The 0-word at the end of the music_data block marks the end of that block, in the same way that the 0-byte at the end of a pattern marks the pattern end.</p><p>However, I don&#039;t know if Ear Shaver supports this kind of sequence/pattern structure out of the box, perhaps some adjustments to the data loader are needed.</p>]]></content>
			<author>
				<name><![CDATA[utz]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=2</uri>
			</author>
			<updated>2018-10-16T19:55:12Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1895#p1895</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1894#p1894" />
			<content type="html"><![CDATA[<p>I could generate a pattern in 1tracker and then manually paste the sound data into pattern1, pattern2, etc...</p><p>such as this 2 note pattern.</p><p>;compiled music data<br />music_data:<br />&nbsp; &nbsp; patterndata,0</p><p>patterndata:<br />&nbsp; &nbsp; defw pattern1&nbsp; &nbsp; <br />&nbsp; &nbsp; defw pattern2<br />&nbsp; &nbsp; defw music_data<br />&nbsp; &nbsp; <br />pattern1:<br />&nbsp; &nbsp; defb $14,$80,$49,$80,$49<br />&nbsp; &nbsp; defb $0a,$01,$01<br />&nbsp; &nbsp; defb $00;indicates end of pattern<br />&nbsp; &nbsp; <br />pattern2:&nbsp; &nbsp; <br />&nbsp; &nbsp; defb $14,$82,$49,$82,$49<br />&nbsp; &nbsp; defb $0a,$01,$01<br />&nbsp; &nbsp; defb $00</p><br /><p>Which plays the two notes and then crashes.</p><p>What I am thinking of for this is to create the pattern using 1 tracker and copy/paste the notes into a particular pattern and then set up the pattern in the pattern data section.&nbsp; </p><p>I&#039;m making a few assumptions, that the defb $00 indicates the end of the pattern and that the defb $0a,$01,$01 indicates a clearing of the pattern,&nbsp; I&#039;m certain that somehow I&#039;m wrong in this</p><p>Also in music_data:<br />&nbsp; &nbsp; patterndata,0</p><p>What does that ,0 mean</p><p>Forgive me for my naïvety</p><p>Thanks</p>]]></content>
			<author>
				<name><![CDATA[andydansby]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=142</uri>
			</author>
			<updated>2018-10-15T11:16:55Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1894#p1894</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1893#p1893" />
			<content type="html"><![CDATA[<p>1tracker follows pattern-less design. It is possible to add patterns support into engine, not too difficult, but you would have to prepare data manually somehow, as 1tracker won&#039;t split it into patterns automatically (engine script can do this potentially, but that&#039;s not an easy way).</p>]]></content>
			<author>
				<name><![CDATA[Shiru]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=11</uri>
			</author>
			<updated>2018-10-13T18:59:17Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1893#p1893</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1892#p1892" />
			<content type="html"><![CDATA[<p>Looping works great.</p><p>Code wise is there an easy way to introduce patterns into earshaver? I&#039;m looking to save some data as opposed to re-coding parts of the song as redundant data.</p>]]></content>
			<author>
				<name><![CDATA[andydansby]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=142</uri>
			</author>
			<updated>2018-10-13T15:13:25Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1892#p1892</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1891#p1891" />
			<content type="html"><![CDATA[<p>Yep, there is a ton of problems with laptops, as they has very shrinked down keyboards, and the lacking keys is different. I&#039;m trying to add alternative key combinations for laptops whenever issues discovered, but there is always more.</p>]]></content>
			<author>
				<name><![CDATA[Shiru]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=11</uri>
			</author>
			<updated>2018-10-11T10:40:38Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1891#p1891</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1890#p1890" />
			<content type="html"><![CDATA[<p>I don&#039;t know if it is my version or some goofy thing happening on my machine, but ctrl-end seems to perform a mute operation on channel 1.&nbsp; I&#039;m running 1tracker 0.29</p><p>EDIT&gt;&gt;</p><p>This seems to be a problems with my laptop keyboard, I attached a 104 key keyboard and the&nbsp; loop start and end works</p>]]></content>
			<author>
				<name><![CDATA[andydansby]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=142</uri>
			</author>
			<updated>2018-10-11T09:42:12Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1890#p1890</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Re: Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1889#p1889" />
			<content type="html"><![CDATA[<p>You don&#039;t need to edit assembly code in order to use loop (if it is supported by an engine). Use Ctrl+Home to mark loop start, Ctrl+End to mark loop end.</p><p>This piece of code<br /></p><div class="codebox"><pre><code>begin:
    ld hl,music_data
    rlca
    add a,b   
    call play
    ret</code></pre></div><p>is totally not correct, the other one is. Probably some bug, the engine is very fresh and wasn&#039;t tested much, if at all.</p>]]></content>
			<author>
				<name><![CDATA[Shiru]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=11</uri>
			</author>
			<updated>2018-10-10T12:36:28Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1889#p1889</id>
		</entry>
		<entry>
			<title type="html"><![CDATA[Ear Shaver questions and concerns]]></title>
			<link rel="alternate" href="http://randomflux.info/1bit/viewtopic.php?pid=1888#p1888" />
			<content type="html"><![CDATA[<p>I&#039;m not a person who knows assembly, but I have a question about the Ear Shaver engine.</p><p>How to you get the song to Loop?</p><p>At the end of the assembly version, I see</p><p>music_data:<br />&nbsp; &nbsp; defw song,0</p><p>followed later on by</p><p>loop:<br />&nbsp; &nbsp; defb $01,$01,$01<br />&nbsp; &nbsp; defb $00<br />&nbsp; &nbsp; defw loop</p><br /><p>But I don&#039;t know how to use the loop portion to make the song loop endlessly.</p><p>I also noticed another issue with the code produced by 1tracker.</p><p>In 1Tracker, I exported a song written with the Ear Shaver engine and was pretty happy with the results, but there seemed to be a large difference from the TAP vs the Assembly.&nbsp; The assembly language version seems the fail on multiple notes being played simultaneously, while the TAP version works exactly as the tracker had it arranged.</p><p>So when I compiled the defective version, I did a disassembly on it and I found a difference at the very start of the code.</p><p>The working Tap version (export - Tap via 1tracker), produced</p><p>begin:<br />&nbsp; &nbsp; ld hl,music_data<br />&nbsp; &nbsp; rlca<br />&nbsp; &nbsp; add a,b&nbsp; &nbsp; <br />&nbsp; &nbsp; call play<br />&nbsp; &nbsp; ret</p><br /><p>While the assembly version (export- assembly via 1 tracker) produced</p><p>begin:<br />&nbsp; &nbsp; ld hl,music_data<br />&nbsp; &nbsp; call play<br />&nbsp; &nbsp; ret</p><p>When I added those two lines in, I got good results, so I wanted to point out that the assembly version seems to drop those commands.</p><p>As a bonus question, I&#039;d like to ask to see if there was an easy way to get the border flashing with every note, which I found very attractive when playing a song.</p><p>Thanks</p><p>Andy</p>]]></content>
			<author>
				<name><![CDATA[andydansby]]></name>
				<uri>http://randomflux.info/1bit/profile.php?id=142</uri>
			</author>
			<updated>2018-10-08T20:38:47Z</updated>
			<id>http://randomflux.info/1bit/viewtopic.php?pid=1888#p1888</id>
		</entry>
</feed>
