<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://wiki.specnext.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Howprice</id>
	<title>SpecNext Wiki - User contributions [en-gb]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.specnext.dev/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Howprice"/>
	<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/Special:Contributions/Howprice"/>
	<updated>2026-04-16T16:11:09Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=ULA_Palette_Control_Register&amp;diff=11630</id>
		<title>ULA Palette Control Register</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=ULA_Palette_Control_Register&amp;diff=11630"/>
		<updated>2020-12-31T19:13:22Z</updated>

		<summary type="html">&lt;p&gt;Howprice: Clarified the difference between bits 6:4 and 3:1.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{NextRegister&lt;br /&gt;
|Number=$43&lt;br /&gt;
|Readable=Yes&lt;br /&gt;
|Writable=Yes&lt;br /&gt;
|ShortDesc=Enables or disables Enhanced ULA interpretation of attribute values and toggles active palette.&lt;br /&gt;
}}&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit !! Function&lt;br /&gt;
|-&lt;br /&gt;
| 7 || 1 to disable palette index write auto-increment&lt;br /&gt;
|-&lt;br /&gt;
| 6-4 || Select palette for reading or writing&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Select Sprites palette (0 = first palette, 1 = second palette)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Select Layer 2 palette (0 = first palette, 1 = second palette)&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Select ULA palette (0 = first palette, 1 = second palette)&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Enable ULANext mode if 1. (0 after a reset)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
n.b. Bits 6-4 select palette for reading or writing whereas bits 3-1 select the palette for the display signal generator.&lt;br /&gt;
&lt;br /&gt;
Possible bits 6-4 for palette select (bit 6 selects first/second, 5-4 select type):&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bits 6-4 !! selects&lt;br /&gt;
|-&lt;br /&gt;
| %000 || ULA first palette&lt;br /&gt;
|-&lt;br /&gt;
| %100 || ULA second palette&lt;br /&gt;
|-&lt;br /&gt;
| %001 || Layer 2 first palette&lt;br /&gt;
|-&lt;br /&gt;
| %101 || Layer 2 second palette&lt;br /&gt;
|-&lt;br /&gt;
| %010 || Sprites first palette&lt;br /&gt;
|-&lt;br /&gt;
| %110 || Sprites second palette&lt;br /&gt;
|-&lt;br /&gt;
| %011 || Tilemap first palette&lt;br /&gt;
|-&lt;br /&gt;
| %111 || Tilemap second palette&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Write will also reset the index of {{NextRegNo|$44}}, so the next write there will be considered as first byte of colour.&lt;/div&gt;</summary>
		<author><name>Howprice</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Turbo_Sound_Next&amp;diff=11624</id>
		<title>Turbo Sound Next</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Turbo_Sound_Next&amp;diff=11624"/>
		<updated>2020-12-16T20:15:27Z</updated>

		<summary type="html">&lt;p&gt;Howprice: Added link to NextReg $06&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Turbo Sound Next is the audio system integrated on the Spectrum Next. It features 3 AY-3-8912 sound chips as used in the Spectrum.&lt;br /&gt;
&lt;br /&gt;
A MOS 6581 (SID), as used on the Commodore 64, was experimentally added to the FPGA during development but it was later removed due to the large amount of space it takes up (it is 4 times as big as an AY). &lt;br /&gt;
&lt;br /&gt;
= Chip Selection =&lt;br /&gt;
{{PortNo|$FFFD}} controls the selected chip and enables and disables stereo channels per chip. {{NextRegNo|$08}} controls the mapping of chip channels to stereo channels and {{NextRegNo|$09}} can be used to enable &amp;quot;mono&amp;quot; output per chip.&lt;br /&gt;
&lt;br /&gt;
Once a sound chip is selected, {{PortNo|$FFFD}} also selects the active register on that chip. {{PortNo|$BFFD}} then allows it to be read or written.&lt;br /&gt;
&lt;br /&gt;
{{NextRegNo|$06}} controls audio chip mode. &lt;br /&gt;
&lt;br /&gt;
= AY-3-8912 layout =&lt;br /&gt;
The 3 AY-3-8912 chips have the following register layout:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Register !! Function&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Channel A Fine Tune&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Channel A Coarse Tune (4 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Channel B Fine Tune&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Channel B Coarse Tune (4 bits)&lt;br /&gt;
|- &lt;br /&gt;
| 4 || Channel C Fine Tune&lt;br /&gt;
|- &lt;br /&gt;
| 5 || Channel C Coarse Tune (4 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Noise Period (5 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Tone enable flags. Bits 0-2 enable tone on channels A, B, C respectively, but are inverted - 0 is enabled. Bits 3-5 enable noise on A, B, C are are likewise inverted.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Channel A amplitude. Bits 0-3 set the fixed amplitude which is used if bit 4 is 0. If bit 4 is 1, the envelope generator is used instead, and bits 0-3 are ignored.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Channel B amplitude, same as above.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Channel C amplitude, same as above.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Envelope period fine.&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Envelope period coarse.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Envelope shape. Bits 0-3 alter the behavior of the envelope generator:&lt;br /&gt;
Bit 0: &amp;quot;Hold&amp;quot;; If 1 the envelope generator performs one cycle then holds at the end value. If 0, it cycles continuously.&lt;br /&gt;
&lt;br /&gt;
Bit 1: &amp;quot;Alternate&amp;quot;; If 1 the envelope generator alters direction after each cycle. If 0, it resets after each cycle. If Hold is set, this instead chooses if the value held is the final value (0) or the initial value (1).&lt;br /&gt;
&lt;br /&gt;
Bit 2: &amp;quot;Attack&amp;quot;; if 1 the generator counts up. If 0 the generator counts down.&lt;br /&gt;
&lt;br /&gt;
Bit 3: &amp;quot;Continue&amp;quot;; if 0, the envelope generator performs one cycle then drops amplitude to 0 and stays there, overriding Hold. If 1, Hold is followed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
AY I/O registers 14 and 15 are not implemented on the Next, so bit-banged software written to use RS-232 and AUX ports on the Amstrad Spectrum models is not supported. The Next has a separate high-speed hardware [[UART]], which can be connected to the [[ESP8266-01]] wifi module or a wired RS-232 cable. The UART is interfaced through the {{PortNo|$133B}} and {{PortNo|$143B}} ports.&lt;/div&gt;</summary>
		<author><name>Howprice</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Turbo_Sound_Next&amp;diff=11623</id>
		<title>Turbo Sound Next</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Turbo_Sound_Next&amp;diff=11623"/>
		<updated>2020-12-16T20:11:12Z</updated>

		<summary type="html">&lt;p&gt;Howprice: Added link to NextReg $09&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Turbo Sound Next is the audio system integrated on the Spectrum Next. It features 3 AY-3-8912 sound chips as used in the Spectrum.&lt;br /&gt;
&lt;br /&gt;
A MOS 6581 (SID), as used on the Commodore 64, was experimentally added to the FPGA during development but it was later removed due to the large amount of space it takes up (it is 4 times as big as an AY). &lt;br /&gt;
&lt;br /&gt;
= Chip Selection =&lt;br /&gt;
{{PortNo|$FFFD}} controls the selected chip and enables and disables stereo channels per chip. {{NextRegNo|$08}} controls the mapping of chip channels to stereo channels and {{NextRegNo|$09}} can be used to enable &amp;quot;mono&amp;quot; output per chip.&lt;br /&gt;
&lt;br /&gt;
Once a sound chip is selected, {{PortNo|$FFFD}} also selects the active register on that chip. {{PortNo|$BFFD}} then allows it to be read or written.&lt;br /&gt;
&lt;br /&gt;
= AY-3-8912 layout =&lt;br /&gt;
The 3 AY-3-8912 chips have the following register layout:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Register !! Function&lt;br /&gt;
|-&lt;br /&gt;
| 0 || Channel A Fine Tune&lt;br /&gt;
|-&lt;br /&gt;
| 1 || Channel A Coarse Tune (4 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 2 || Channel B Fine Tune&lt;br /&gt;
|-&lt;br /&gt;
| 3 || Channel B Coarse Tune (4 bits)&lt;br /&gt;
|- &lt;br /&gt;
| 4 || Channel C Fine Tune&lt;br /&gt;
|- &lt;br /&gt;
| 5 || Channel C Coarse Tune (4 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 6 || Noise Period (5 bits)&lt;br /&gt;
|-&lt;br /&gt;
| 7 || Tone enable flags. Bits 0-2 enable tone on channels A, B, C respectively, but are inverted - 0 is enabled. Bits 3-5 enable noise on A, B, C are are likewise inverted.&lt;br /&gt;
|-&lt;br /&gt;
| 8 || Channel A amplitude. Bits 0-3 set the fixed amplitude which is used if bit 4 is 0. If bit 4 is 1, the envelope generator is used instead, and bits 0-3 are ignored.&lt;br /&gt;
|-&lt;br /&gt;
| 9 || Channel B amplitude, same as above.&lt;br /&gt;
|-&lt;br /&gt;
| 10 || Channel C amplitude, same as above.&lt;br /&gt;
|-&lt;br /&gt;
| 11 || Envelope period fine.&lt;br /&gt;
|-&lt;br /&gt;
| 12 || Envelope period coarse.&lt;br /&gt;
|-&lt;br /&gt;
| 13 || Envelope shape. Bits 0-3 alter the behavior of the envelope generator:&lt;br /&gt;
Bit 0: &amp;quot;Hold&amp;quot;; If 1 the envelope generator performs one cycle then holds at the end value. If 0, it cycles continuously.&lt;br /&gt;
&lt;br /&gt;
Bit 1: &amp;quot;Alternate&amp;quot;; If 1 the envelope generator alters direction after each cycle. If 0, it resets after each cycle. If Hold is set, this instead chooses if the value held is the final value (0) or the initial value (1).&lt;br /&gt;
&lt;br /&gt;
Bit 2: &amp;quot;Attack&amp;quot;; if 1 the generator counts up. If 0 the generator counts down.&lt;br /&gt;
&lt;br /&gt;
Bit 3: &amp;quot;Continue&amp;quot;; if 0, the envelope generator performs one cycle then drops amplitude to 0 and stays there, overriding Hold. If 1, Hold is followed.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
AY I/O registers 14 and 15 are not implemented on the Next, so bit-banged software written to use RS-232 and AUX ports on the Amstrad Spectrum models is not supported. The Next has a separate high-speed hardware [[UART]], which can be connected to the [[ESP8266-01]] wifi module or a wired RS-232 cable. The UART is interfaced through the {{PortNo|$133B}} and {{PortNo|$143B}} ports.&lt;/div&gt;</summary>
		<author><name>Howprice</name></author>
	</entry>
</feed>