<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en-GB">
	<id>http://wiki.specnext.dev/index.php?action=history&amp;feed=atom&amp;title=Boot_Sequence</id>
	<title>Boot Sequence - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.specnext.dev/index.php?action=history&amp;feed=atom&amp;title=Boot_Sequence"/>
	<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;action=history"/>
	<updated>2026-04-30T19:07:05Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.5</generator>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=11810&amp;oldid=prev</id>
		<title>SevenFFF: Update boot sequence referencing latest info in gitlab</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=11810&amp;oldid=prev"/>
		<updated>2022-10-24T21:25:46Z</updated>

		<summary type="html">&lt;p&gt;Update boot sequence referencing latest info in gitlab&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:25, 24 October 2022&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If this is not the case, the main core is reloaded into the FPGA from flash memory, which includes the IPL (Initial Program Loader) in RAM. The IPL displays the message &amp;quot;Loading...&amp;quot; (which appears only very briefly) and loads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE.FW&amp;#039;&amp;#039;&amp;#039; from the root of the SD card. If this fails, an error message is displayed (&amp;quot;Error initializing SD card!&amp;quot;), the border turns red, and the code loops.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If this is not the case, the main core is reloaded into the FPGA from flash memory, which includes the IPL (Initial Program Loader) in RAM. The IPL displays the message &amp;quot;Loading...&amp;quot; (which appears only very briefly) and loads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE.FW&amp;#039;&amp;#039;&amp;#039; from the root of the SD card. If this fails, an error message is displayed (&amp;quot;Error initializing SD card!&amp;quot;), the border turns red, and the code loops.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded.  It reads the &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;file &lt;/del&gt;&#039;&#039;&#039;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;TBBLUE&lt;/del&gt;\CONFIG.INI&#039;&#039;&#039; from the SD card and uses &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;it &lt;/del&gt;to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;The DivMMC ROM seems to always be loaded from &#039;&#039;&#039;TBBLUE\ESXMMC.ROM&#039;&#039;&#039;; the Multiface ROM is loaded from one of four potential files in the &#039;&#039;&#039;TBBLUE&#039;&#039;&#039; directory and it is not clear &lt;/del&gt;how &lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG&lt;/del&gt;.&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;INI file&lt;/del&gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded.  It reads the &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;files &lt;/ins&gt;&#039;&#039;&#039;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;Machines\Next&lt;/ins&gt;\CONFIG.INI&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;, &#039;&#039;&#039;Machines\Next\MENU.INI&#039;&#039;&#039; and &#039;&#039;&#039;Machines\Next\MENU.DEF&lt;/ins&gt;&#039;&#039;&#039; from the SD card&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;, &lt;/ins&gt;and uses &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;them &lt;/ins&gt;to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;For more information on &lt;/ins&gt;how &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;this works, see https://gitlab&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;com/thesmog358/tbblue/-/blob/master/docs/config/config&lt;/ins&gt;.&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;txt&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The TBBLUE loader then write-protects the areas of ROM, maps the addressable memory to the standard Spectrum layout, and resets the CPU.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The TBBLUE loader then write-protects the areas of ROM, maps the addressable memory to the standard Spectrum layout, and resets the CPU.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key specnext_wiki:diff:1.41:old-11224:rev-11810:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>SevenFFF</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=11224&amp;oldid=prev</id>
		<title>Xalior at 16:09, 4 April 2020</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=11224&amp;oldid=prev"/>
		<updated>2020-04-04T16:09:08Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:09, 4 April 2020&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l5&quot;&gt;Line 5:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 5:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If this is not the case, the main core is reloaded into the FPGA from flash memory, which includes the IPL (Initial Program Loader) in RAM. The IPL displays the message &amp;quot;Loading...&amp;quot; (which appears only very briefly) and loads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE.FW&amp;#039;&amp;#039;&amp;#039; from the root of the SD card. If this fails, an error message is displayed (&amp;quot;Error initializing SD card!&amp;quot;), the border turns red, and the code loops.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* If this is not the case, the main core is reloaded into the FPGA from flash memory, which includes the IPL (Initial Program Loader) in RAM. The IPL displays the message &amp;quot;Loading...&amp;quot; (which appears only very briefly) and loads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE.FW&amp;#039;&amp;#039;&amp;#039; from the root of the SD card. If this fails, an error message is displayed (&amp;quot;Error initializing SD card!&amp;quot;), the border turns red, and the code loops.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded. It reads the file &#039;&#039;&#039;TBBLUE\CONFIG.INI&#039;&#039;&#039; from the SD card and uses it to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. The DivMMC ROM seems to always be loaded from &#039;&#039;&#039;TBBLUE\ESXMMC.ROM&#039;&#039;&#039;; the Multiface ROM is loaded from one of four potential files in the &#039;&#039;&#039;TBBLUE&#039;&#039;&#039; directory and it is not clear how they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG.INI file.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded. &lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt; &lt;/ins&gt;It reads the file &#039;&#039;&#039;TBBLUE\CONFIG.INI&#039;&#039;&#039; from the SD card and uses it to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. The DivMMC ROM seems to always be loaded from &#039;&#039;&#039;TBBLUE\ESXMMC.ROM&#039;&#039;&#039;; the Multiface ROM is loaded from one of four potential files in the &#039;&#039;&#039;TBBLUE&#039;&#039;&#039; directory and it is not clear how they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG.INI file.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The TBBLUE loader then write-protects the areas of ROM, maps the addressable memory to the standard Spectrum layout, and resets the CPU.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* The TBBLUE loader then write-protects the areas of ROM, maps the addressable memory to the standard Spectrum layout, and resets the CPU.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key specnext_wiki:diff:1.41:old-49:rev-11224:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Xalior</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=49&amp;oldid=prev</id>
		<title>Specnext: 2 revisions imported</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=49&amp;oldid=prev"/>
		<updated>2019-04-14T09:59:50Z</updated>

		<summary type="html">&lt;p&gt;2 revisions imported&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 10:59, 14 April 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en-GB&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Specnext</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=48&amp;oldid=prev</id>
		<title>wiki&gt;Hyphz at 21:50, 22 August 2017</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=48&amp;oldid=prev"/>
		<updated>2017-08-22T21:50:57Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en-GB&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 22:50, 22 August 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l6&quot;&gt;Line 6:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 6:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded. It reads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE\CONFIG.INI&amp;#039;&amp;#039;&amp;#039; from the SD card and uses it to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. The DivMMC ROM seems to always be loaded from &amp;#039;&amp;#039;&amp;#039;TBBLUE\ESXMMC.ROM&amp;#039;&amp;#039;&amp;#039;; the Multiface ROM is loaded from one of four potential files in the &amp;#039;&amp;#039;&amp;#039;TBBLUE&amp;#039;&amp;#039;&amp;#039; directory and it is not clear how they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG.INI file.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* TBBLUE.FW contains 3 modules; by default the boot module is loaded. It reads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE\CONFIG.INI&amp;#039;&amp;#039;&amp;#039; from the SD card and uses it to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. The DivMMC ROM seems to always be loaded from &amp;#039;&amp;#039;&amp;#039;TBBLUE\ESXMMC.ROM&amp;#039;&amp;#039;&amp;#039;; the Multiface ROM is loaded from one of four potential files in the &amp;#039;&amp;#039;&amp;#039;TBBLUE&amp;#039;&amp;#039;&amp;#039; directory and it is not clear how they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG.INI file.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* The TBBLUE loader then write-protects the areas of ROM, maps the addressable memory to the standard Spectrum layout, and resets the CPU.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* The standard ROM setup is interrupted by DivMMC (how?) which runs the ESXDOS setup. This loads four files: &#039;&#039;&#039;SYS\ESXDOS.SYS&#039;&#039;&#039;, &#039;&#039;&#039;SYS\NMI.SYS&#039;&#039;&#039;, &#039;&#039;&#039;SYS\RTC.SYS&#039;&#039;&#039; and &#039;&#039;&#039;SYS\BETADISK.SYS&#039;&#039;&#039;. These are the user-layer software for ESXDOS, the NMI (non-maskable interrupt) driver for the DivMMC button, a real-time clock driver (?) and a TRDos Emulator layer for ESXDos.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;* The remaining Spectrum ROM setup runs, clearing the ULA screen and producing the Sinclair copyright message.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key specnext_wiki:diff:1.41:old-47:rev-48:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>wiki&gt;Hyphz</name></author>
	</entry>
	<entry>
		<id>http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=47&amp;oldid=prev</id>
		<title>wiki&gt;Hyphz: &#039;&#039;</title>
		<link rel="alternate" type="text/html" href="http://wiki.specnext.dev/index.php?title=Boot_Sequence&amp;diff=47&amp;oldid=prev"/>
		<updated>2017-08-22T21:30:43Z</updated>

		<summary type="html">&lt;p&gt;&amp;#039;&amp;#039;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;The following is the assembled information about the startup sequence of the Spectrum Next.&lt;br /&gt;
&lt;br /&gt;
* When the machine is first switched on, the [[Anti-brick system]] loads a fixed Spectrum 48k and checks to see if a particular combination of physical buttons is being held down. If it does, the updater module (see below) is loaded from the SD card and run on the anti-brick core.&lt;br /&gt;
&lt;br /&gt;
* If this is not the case, the main core is reloaded into the FPGA from flash memory, which includes the IPL (Initial Program Loader) in RAM. The IPL displays the message &amp;quot;Loading...&amp;quot; (which appears only very briefly) and loads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE.FW&amp;#039;&amp;#039;&amp;#039; from the root of the SD card. If this fails, an error message is displayed (&amp;quot;Error initializing SD card!&amp;quot;), the border turns red, and the code loops.&lt;br /&gt;
&lt;br /&gt;
* TBBLUE.FW contains 3 modules; by default the boot module is loaded. It reads the file &amp;#039;&amp;#039;&amp;#039;TBBLUE\CONFIG.INI&amp;#039;&amp;#039;&amp;#039; from the SD card and uses it to configure the default machine settings. It then loads 3 ROM images from the SD card: one for the DivMMC interface, one for the Multiface, and one for the Spectrum ROM itself. The DivMMC ROM seems to always be loaded from &amp;#039;&amp;#039;&amp;#039;TBBLUE\ESXMMC.ROM&amp;#039;&amp;#039;&amp;#039;; the Multiface ROM is loaded from one of four potential files in the &amp;#039;&amp;#039;&amp;#039;TBBLUE&amp;#039;&amp;#039;&amp;#039; directory and it is not clear how they are selected; and the Spectrum ROM is loaded from the file named for the given configuration in the CONFIG.INI file.&lt;/div&gt;</summary>
		<author><name>wiki&gt;Hyphz</name></author>
	</entry>
</feed>