<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://wiki.nerdconsole.com:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NerdOfEpic</id>
	<title>NerdConsole - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.nerdconsole.com:80/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=NerdOfEpic"/>
	<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/wiki/Special:Contributions/NerdOfEpic"/>
	<updated>2026-04-08T01:45:14Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=788</id>
		<title>Project Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=788"/>
		<updated>2025-08-03T19:32:45Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* NerdSembler */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole project is a monstrously large hobby project being done entirely by one person.  That means a lot to do, a lot to learn, and a lot of things to make work together.  It also means that at any given time I may be working on any number of different parts of the project.  To help make it as straightforward as possible to figure out what&#039;s going on, this page presents a high level list of activities.&lt;br /&gt;
&lt;br /&gt;
== PPU Software ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;(In Progress)&#039;&#039;&#039; Rewriting the PPU software from scratch.  Previously the PPU was written in Java, but I kept running into issues caused by the language design.  Specifically the extra work caused by the lack of unsigned data types.  I&#039;m rewriting it in C++, but not just for access to unsigned integer types.  It was also the most straightforward way to get access to proper libraries for graphics (SDL3 - Simple DirectMedia Layer 3.0) and GPIO (libgpiod).&lt;br /&gt;
** I tried creating unions to allow for bytewise setting of complex register and table types with useful access to sub-values.  This ended up not working because the level of control available when creating unions and the ways the compiler does automatic bit packing caused impossible data arrangements.  &lt;br /&gt;
** Instead I made a collection of POCOs that do this job, but I won&#039;t deny I was hoping to not have to.&lt;br /&gt;
&lt;br /&gt;
== PCB Work ==&lt;br /&gt;
* Need to redesign the Video Logic Level board to put the pins in a new order.  This was the realization that GPIO pins are not logically ordered in a sane way that lines up with the physical layout.  As it turns out, the way I was doing this was going to result in massively inefficient value loading that required a ton of bit shifting and masking and simply putting things in a different order improved this situation a ton.&lt;br /&gt;
* Need to come up with a solution for YM-3812 FM Synthesizer chips being either expensive or fake (or both).  My current theory is a software based approach that runs on a RP2040 (Raspberry Pi Pico) and emulates the YM-3812, or some other audio solution built into the PPU program.  The hope is that the emulated audio solution is as close to a drop in replacement for the YM-3812 as possible, but I&#039;m not guessing the standard YM-2014 DAC will work so another solution will probably be required.  This change requires spatial changes due to differences in DAC, amplification, and chip size difference between Pi Pico and YM-3812.  A PPU emulated approach would require remapping the PPU pins again, which I would like to avoid.&lt;br /&gt;
* Need to redesign the Main Board since so many things have changed in the plan since the last time I ordered boards.  Prototype 2 is an almost complete redesign. &lt;br /&gt;
** The Raspberry Pi was changed to be a full sized Raspberry Pi 4 instead of the smaller Raspberry Pi 3A+.&lt;br /&gt;
** The cartridge connector was changed for one with a smaller pin pitch (2.54mm instead of 3.96mm) to make inserting and removing cartridges easier.  This obviously changed the entire middle of the board.&lt;br /&gt;
** The User Port support was removed entirely.  This means the removal of the VIA chip and several supporting chips for interrupt control, as well as expansion headers on the main board and the external DB-25 connector.&lt;br /&gt;
** Optional extra controller ports are now supported (to better use the bus lanes available on the joystick buffer).  This means additional connectors need to be available to support that.&lt;br /&gt;
&lt;br /&gt;
== 3D Modelling ==&lt;br /&gt;
* Need to design several case parts.  These are fairly self explanatory but also depend on how various PCBs end up looking.&lt;br /&gt;
** Main Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
*** Cartridge Guide&lt;br /&gt;
*** Switch and Button Adapters&lt;br /&gt;
*** Video Board Supports&lt;br /&gt;
** Cartridge Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
** Extra Controllers Breakout&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
&lt;br /&gt;
== Other Software ==&lt;br /&gt;
=== NerdSembler ===&lt;br /&gt;
* I hope to one day be able to get my brain around making an assembler for the 65xx family of CPUs.  I&#039;d already written the lexer and part of the parser when I ran into difficulties with parsing complex expressions that would be very handy to support.&lt;br /&gt;
* I started coding NerdSembler in Java, but similar to the PPU project I was running into problems with Java and started over from scratch in C++.  I&#039;ve gotten the lexer and several parts of the abstract syntax tree and parser working.  Next is the emitter.&lt;br /&gt;
&lt;br /&gt;
=== Graphics Tiles ===&lt;br /&gt;
* I have written a tool that uses standard .png files to produce binary graphical tile data.  This tool will need to be revisited to support other binary representations and to have better documentation.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=787</id>
		<title>Project Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=787"/>
		<updated>2025-08-03T19:29:26Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* PCB Work */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole project is a monstrously large hobby project being done entirely by one person.  That means a lot to do, a lot to learn, and a lot of things to make work together.  It also means that at any given time I may be working on any number of different parts of the project.  To help make it as straightforward as possible to figure out what&#039;s going on, this page presents a high level list of activities.&lt;br /&gt;
&lt;br /&gt;
== PPU Software ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;(In Progress)&#039;&#039;&#039; Rewriting the PPU software from scratch.  Previously the PPU was written in Java, but I kept running into issues caused by the language design.  Specifically the extra work caused by the lack of unsigned data types.  I&#039;m rewriting it in C++, but not just for access to unsigned integer types.  It was also the most straightforward way to get access to proper libraries for graphics (SDL3 - Simple DirectMedia Layer 3.0) and GPIO (libgpiod).&lt;br /&gt;
** I tried creating unions to allow for bytewise setting of complex register and table types with useful access to sub-values.  This ended up not working because the level of control available when creating unions and the ways the compiler does automatic bit packing caused impossible data arrangements.  &lt;br /&gt;
** Instead I made a collection of POCOs that do this job, but I won&#039;t deny I was hoping to not have to.&lt;br /&gt;
&lt;br /&gt;
== PCB Work ==&lt;br /&gt;
* Need to redesign the Video Logic Level board to put the pins in a new order.  This was the realization that GPIO pins are not logically ordered in a sane way that lines up with the physical layout.  As it turns out, the way I was doing this was going to result in massively inefficient value loading that required a ton of bit shifting and masking and simply putting things in a different order improved this situation a ton.&lt;br /&gt;
* Need to come up with a solution for YM-3812 FM Synthesizer chips being either expensive or fake (or both).  My current theory is a software based approach that runs on a RP2040 (Raspberry Pi Pico) and emulates the YM-3812, or some other audio solution built into the PPU program.  The hope is that the emulated audio solution is as close to a drop in replacement for the YM-3812 as possible, but I&#039;m not guessing the standard YM-2014 DAC will work so another solution will probably be required.  This change requires spatial changes due to differences in DAC, amplification, and chip size difference between Pi Pico and YM-3812.  A PPU emulated approach would require remapping the PPU pins again, which I would like to avoid.&lt;br /&gt;
* Need to redesign the Main Board since so many things have changed in the plan since the last time I ordered boards.  Prototype 2 is an almost complete redesign. &lt;br /&gt;
** The Raspberry Pi was changed to be a full sized Raspberry Pi 4 instead of the smaller Raspberry Pi 3A+.&lt;br /&gt;
** The cartridge connector was changed for one with a smaller pin pitch (2.54mm instead of 3.96mm) to make inserting and removing cartridges easier.  This obviously changed the entire middle of the board.&lt;br /&gt;
** The User Port support was removed entirely.  This means the removal of the VIA chip and several supporting chips for interrupt control, as well as expansion headers on the main board and the external DB-25 connector.&lt;br /&gt;
** Optional extra controller ports are now supported (to better use the bus lanes available on the joystick buffer).  This means additional connectors need to be available to support that.&lt;br /&gt;
&lt;br /&gt;
== 3D Modelling ==&lt;br /&gt;
* Need to design several case parts.  These are fairly self explanatory but also depend on how various PCBs end up looking.&lt;br /&gt;
** Main Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
*** Cartridge Guide&lt;br /&gt;
*** Switch and Button Adapters&lt;br /&gt;
*** Video Board Supports&lt;br /&gt;
** Cartridge Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
** Extra Controllers Breakout&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
&lt;br /&gt;
== Other Software ==&lt;br /&gt;
=== NerdSembler ===&lt;br /&gt;
* I hope to one day be able to get my brain around making an assembler for the 65xx family of CPUs.  I&#039;d already written the lexer and part of the parser when I ran into difficulties with parsing complex expressions that would be very handy to support.&lt;br /&gt;
=== Graphics Tiles ===&lt;br /&gt;
* I have written a tool that uses standard .png files to produce binary graphical tile data.  This tool will need to be revisited to support other binary representations and to have better documentation.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=786</id>
		<title>Project Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=786"/>
		<updated>2025-08-03T19:23:55Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* PPU Software */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole project is a monstrously large hobby project being done entirely by one person.  That means a lot to do, a lot to learn, and a lot of things to make work together.  It also means that at any given time I may be working on any number of different parts of the project.  To help make it as straightforward as possible to figure out what&#039;s going on, this page presents a high level list of activities.&lt;br /&gt;
&lt;br /&gt;
== PPU Software ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;(In Progress)&#039;&#039;&#039; Rewriting the PPU software from scratch.  Previously the PPU was written in Java, but I kept running into issues caused by the language design.  Specifically the extra work caused by the lack of unsigned data types.  I&#039;m rewriting it in C++, but not just for access to unsigned integer types.  It was also the most straightforward way to get access to proper libraries for graphics (SDL3 - Simple DirectMedia Layer 3.0) and GPIO (libgpiod).&lt;br /&gt;
** I tried creating unions to allow for bytewise setting of complex register and table types with useful access to sub-values.  This ended up not working because the level of control available when creating unions and the ways the compiler does automatic bit packing caused impossible data arrangements.  &lt;br /&gt;
** Instead I made a collection of POCOs that do this job, but I won&#039;t deny I was hoping to not have to.&lt;br /&gt;
&lt;br /&gt;
== PCB Work ==&lt;br /&gt;
* Need to redesign the Video Logic Level board to put the pins in the new order.  This was the realization that GPIO pins are not logically ordered in a sane way that lines up with the physical layout and the way I was doing this was going to result in massively inefficient value loading that required a ton of bit shifting and masking.&lt;br /&gt;
* Need to come up with a solution for YM-3812 FM Synthesizer chips being either expensive or fake (or both).  My current theory is a software based approach that runs on a RP2040 (Raspberry Pi Pico) and emulates the YM-3812.  The hope is that the emulated audio solution is as close to a drop in replacement as possible, but I&#039;m not guessing the standard YM-2014 DAC will work so another solution will probably be required.  This change requires spatial changes due to differences in DAC, amplification, and chip size difference between Pi Pico and YM-3812.&lt;br /&gt;
* Need to redesign the Main Board since so many things have changed in the plan since the last time I ordered boards.  Prototype 2 is an almost complete redesign. &lt;br /&gt;
** The Raspberry Pi was changed to be a full sized Raspberry Pi 4 instead of the smaller Raspberry Pi 3A+.&lt;br /&gt;
** The cartridge connector was changed for one with a smaller pin pitch (2.54mm instead of 3.96mm) to make inserting and removing cartridges easier.  This obviously changed the entire middle of the board.&lt;br /&gt;
** User Port support was removed entirely.  This means the removal of the VIA chip and several supporting chips as well as expansion headers and the DB-25 connector.&lt;br /&gt;
** Optional extra controller ports are now supported (to better use the bus lanes available on the controller buffer).  This means additional connectors need to be available to support that.&lt;br /&gt;
&lt;br /&gt;
== 3D Modelling ==&lt;br /&gt;
* Need to design several case parts.  These are fairly self explanatory but also depend on how various PCBs end up looking.&lt;br /&gt;
** Main Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
*** Cartridge Guide&lt;br /&gt;
*** Switch and Button Adapters&lt;br /&gt;
*** Video Board Supports&lt;br /&gt;
** Cartridge Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
** Extra Controllers Breakout&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
&lt;br /&gt;
== Other Software ==&lt;br /&gt;
=== NerdSembler ===&lt;br /&gt;
* I hope to one day be able to get my brain around making an assembler for the 65xx family of CPUs.  I&#039;d already written the lexer and part of the parser when I ran into difficulties with parsing complex expressions that would be very handy to support.&lt;br /&gt;
=== Graphics Tiles ===&lt;br /&gt;
* I have written a tool that uses standard .png files to produce binary graphical tile data.  This tool will need to be revisited to support other binary representations and to have better documentation.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=785</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=785"/>
		<updated>2024-11-30T00:29:29Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org with direct links to the licenses that are used found below.&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-nc-nd/4.0/ CC-BY-NC-ND]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by/4.0/ CC-BY]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
[https://creativecommons.org/publicdomain/zero/1.0/ Creative Commons - Public Domain]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=784</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=784"/>
		<updated>2024-11-30T00:26:11Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Code Samples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-nc-nd/4.0/ CC-BY-NC-ND]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by/4.0/ CC-BY]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
[https://creativecommons.org/publicdomain/zero/1.0/ Creative Commons - Public Domain]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=783</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=783"/>
		<updated>2024-11-30T00:21:42Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* 3D Printable Models */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-nc-nd/4.0/ CC-BY-NC-ND]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by/4.0/ CC-BY]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-sa/4.0/ CC-BY-SA]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
Creative Commons - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=782</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=782"/>
		<updated>2024-11-30T00:20:31Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Secondary System PCBs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-nc-nd/4.0/ CC-BY-NC-ND]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by/4.0/ CC-BY]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
CC-BY-SA&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
Creative Commons - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=781</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=781"/>
		<updated>2024-11-30T00:19:58Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Main System PCBs */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
[https://creativecommons.org/licenses/by-nc-nd/4.0/ CC-BY-NC-ND]&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
CC-BY&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
CC-BY-SA&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
Creative Commons - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=780</id>
		<title>NerdSembler</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=780"/>
		<updated>2024-11-30T00:14:32Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* How does NerdSembler work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is an assembler? ==&lt;br /&gt;
An assembler is a tool that produces machine code from source code files that are written in assembly language.  Assembly language is pretty similar to machine code since assembly instructions map essentially one to one to machine instructions.  &lt;br /&gt;
&lt;br /&gt;
== Why use an assembler? ==&lt;br /&gt;
Assemblers offer conveniences to programmers by providing features like labels for branch and jump instructions.  The use of dynamic labels prevents the need for hard coded jump targets that can move if an extra instruction is inserted into the code.&lt;br /&gt;
&lt;br /&gt;
== How does NerdSembler work? ==&lt;br /&gt;
NerdSembler uses a phased approach to assembling code.  Each phase takes data in some form and passes it through an algorithm that converts it into another form.  After several phases, the source code written by the developer is finally converted all the way to machine code.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Assembly Language (source code written by the developer)&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Lexer&lt;br /&gt;
#* Make up of a collection of Tokenizers that convert the characters in the source code into tokens.&lt;br /&gt;
#* Also handles the .include directive to bring in additional source code files for lexing.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Token Stream (a collection of tokens identified in the code)&lt;br /&gt;
#* Represents the source code as a collection of tokens (often involving several characters each).&lt;br /&gt;
#* Can be used to generate syntax highlighted output of the source code as seen by the Lexer.&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Parser&lt;br /&gt;
#* Walks through the tokens in the token stream and tries to validate the syntax of the code using a recursive descent approach.&lt;br /&gt;
#* Creates an abstract syntax tree and keeps track of syntax errors.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Abstract Syntax Tree (AST)&lt;br /&gt;
#* Represents the structure of the entire program in an abstract way. &lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Emitter&lt;br /&gt;
#* Uses the AST to generate name tables for labels, constants, and variables.&lt;br /&gt;
#* Calculates mathematical values, performs indexing, identifies label addresses.&lt;br /&gt;
#* Combines the AST with Names and Values to produce machine code.&lt;br /&gt;
#* Aligns the code onto chips and the overlapping banks they represent.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Machine Code&lt;br /&gt;
#* Made up of multiple binary output files that represent the data that is put on the ROM chips that go into the cartridge.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=779</id>
		<title>NerdSembler</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=779"/>
		<updated>2024-11-30T00:08:23Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* How does NerdSembler work? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is an assembler? ==&lt;br /&gt;
An assembler is a tool that produces machine code from source code files that are written in assembly language.  Assembly language is pretty similar to machine code since assembly instructions map essentially one to one to machine instructions.  &lt;br /&gt;
&lt;br /&gt;
== Why use an assembler? ==&lt;br /&gt;
Assemblers offer conveniences to programmers by providing features like labels for branch and jump instructions.  The use of dynamic labels prevents the need for hard coded jump targets that can move if an extra instruction is inserted into the code.&lt;br /&gt;
&lt;br /&gt;
== How does NerdSembler work? ==&lt;br /&gt;
NerdSembler uses a phased approach to assembling code.  Each phase takes data in some form and passes it through an algorithm that converts it into another form.  After several phases, the source code written by the developer is finally converted all the way to machine code.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Assembly Language (source code written by the developer)&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Lexer&lt;br /&gt;
#* Make up of a collection of Tokenizers that convert the characters in the source code into tokens.&lt;br /&gt;
#* Also handles the .include directive to bring in additional source code files for lexing.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Token Stream (a collection of tokens identified in the code)&lt;br /&gt;
#* Represents the source code as a collection of tokens (often involving several characters each).&lt;br /&gt;
#* Can be used to generate syntax highlighted output of the source code as seen by the Lexer.&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Parser&lt;br /&gt;
#* Walks through the tokens in the token stream and tries to validate the syntax of the code using a recursive descent approach.&lt;br /&gt;
#* Creates an abstract syntax tree and keeps track of syntax errors.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Abstract Syntax Tree (AST)&lt;br /&gt;
#* Represents the structure of the entire program in an abstract way. &lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Emitter&lt;br /&gt;
#* Uses the AST to generate name tables for labels, constants, and variables.&lt;br /&gt;
#* Combines the AST and Name Tables to produce machine code.&lt;br /&gt;
#* Aligns the code onto chips and the overlapping banks they represent.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Machine Code&lt;br /&gt;
#* Made up of multiple binary output files that represent the data that is put on the ROM chips that go into the cartridge.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=778</id>
		<title>NerdSembler</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=NerdSembler&amp;diff=778"/>
		<updated>2024-11-30T00:03:35Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;== What is an assembler? == An assembler is a tool that produces machine code from source code files that are written in assembly language.  Assembly language is pretty similar to machine code since assembly instructions map essentially one to one to machine instructions.    == Why use an assembler? == Assemblers offer conveniences to programmers by providing features like labels for branch and jump instructions.  The use of dynamic labels prevents the need for hard code...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== What is an assembler? ==&lt;br /&gt;
An assembler is a tool that produces machine code from source code files that are written in assembly language.  Assembly language is pretty similar to machine code since assembly instructions map essentially one to one to machine instructions.  &lt;br /&gt;
&lt;br /&gt;
== Why use an assembler? ==&lt;br /&gt;
Assemblers offer conveniences to programmers by providing features like labels for branch and jump instructions.  The use of dynamic labels prevents the need for hard coded jump targets that can move if an extra instruction is inserted into the code.&lt;br /&gt;
&lt;br /&gt;
== How does NerdSembler work? ==&lt;br /&gt;
NerdSembler uses a phased approach to assembling code.  Each phase takes data in some form and passes it through an algorithm that converts it into another form.  After several phases, the source code written by the developer is finally converted all the way to machine code.&lt;br /&gt;
&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Assembly Language (source code written by the developer)&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Lexer&lt;br /&gt;
## Make up of a collection of Tokenizers that convert the characters in the source code into tokens.&lt;br /&gt;
## Also handles the .include directive to bring in additional source code files for lexing.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Token Stream (a collection of tokens identified in the code)&lt;br /&gt;
## Represents the source code as a collection of tokens (often involving several characters each).&lt;br /&gt;
## Can be used to generate syntax highlighted output of the source code as seen by the Lexer.&lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Parser&lt;br /&gt;
## Walks through the tokens in the token stream and tries to validate the syntax of the code using a recursive descent approach.&lt;br /&gt;
## Creates an abstract syntax tree and keeps track of syntax errors.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Abstract Syntax Tree (AST)&lt;br /&gt;
## Represents the structure of the entire program in an abstract way. &lt;br /&gt;
# &#039;&#039;&#039;[Algorithm]&#039;&#039;&#039; Emitter&lt;br /&gt;
## Uses the AST to generate name tables for labels, constants, and variables.&lt;br /&gt;
## Combines the AST and Name Tables to produce machine code.&lt;br /&gt;
## Aligns the code onto chips and the overlapping banks they represent.&lt;br /&gt;
# &#039;&#039;&#039;[Data]&#039;&#039;&#039; Machine Code&lt;br /&gt;
## Made up of multiple binary output files that represent the data that is put on the ROM chips that go into the cartridge.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Other_Tools&amp;diff=777</id>
		<title>Other Tools</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Other_Tools&amp;diff=777"/>
		<updated>2024-11-29T22:31:59Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;== NerdSembler ==  NerdSembler is an assembler for the 6502 family of CPUs.  It&amp;#039;s capable of generating machine code for the 65C02 CPU that is used in NerdConsole.  For additional information please head over to the NerdSembler page.&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== NerdSembler == &lt;br /&gt;
NerdSembler is an assembler for the 6502 family of CPUs.  It&#039;s capable of generating machine code for the 65C02 CPU that is used in NerdConsole.  For additional information please head over to the [[NerdSembler]] page.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=776</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=776"/>
		<updated>2024-11-29T21:58:36Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Code Samples */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
CC-BY-NC-ND&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
CC-BY&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
CC-BY-SA&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
Creative Commons - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=775</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=775"/>
		<updated>2024-11-29T21:58:15Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-nc-nd.png]] &lt;br /&gt;
CC-BY-NC-ND&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by.png]] &lt;br /&gt;
CC-BY&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-by-sa.png]] &lt;br /&gt;
CC-BY-SA&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Closed-free.png]] &lt;br /&gt;
Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| [[File:Cc-zero.png]] &lt;br /&gt;
CC - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=File:Cc-zero.png&amp;diff=774</id>
		<title>File:Cc-zero.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=File:Cc-zero.png&amp;diff=774"/>
		<updated>2024-11-29T21:57:22Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Creative Commons - Public Domain&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Creative Commons - Public Domain&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=File:Closed-free.png&amp;diff=773</id>
		<title>File:Closed-free.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=File:Closed-free.png&amp;diff=773"/>
		<updated>2024-11-29T21:55:53Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Closed Source Free Software&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Closed Source Free Software&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by-sa.png&amp;diff=772</id>
		<title>File:Cc-by-sa.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by-sa.png&amp;diff=772"/>
		<updated>2024-11-29T21:54:46Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Creative Commons - Attribution, Share Alike&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Creative Commons - Attribution, Share Alike&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by.png&amp;diff=771</id>
		<title>File:Cc-by.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by.png&amp;diff=771"/>
		<updated>2024-11-29T21:52:18Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Creative Commons - Attribution&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Creative Commons - Attribution&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by-nc-nd.png&amp;diff=770</id>
		<title>File:Cc-by-nc-nd.png</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=File:Cc-by-nc-nd.png&amp;diff=770"/>
		<updated>2024-11-29T21:49:15Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Summary ==&lt;br /&gt;
Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=769</id>
		<title>Licenses</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Licenses&amp;diff=769"/>
		<updated>2024-11-29T21:38:42Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org  == Hardware Licenses ==  === Main System PCBs...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;NerdConsole has several parts and thus several licenses that cover those parts differently.  Most of the purpose of these licenses is to maintain a cohesive ecosystem for NerdConsole development.  There cannot be lots of slightly different versions of NerdConsole or no one will be able to reliably produce games for the system.  Additional information about Creative Commons licenses can be found at https://creativecommons.org&lt;br /&gt;
&lt;br /&gt;
== Hardware Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== Main System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Main Board &lt;br /&gt;
* Video Logic Level Board.&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| CC-BY-NC-ND&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Non-Commercial, No Derivative Works&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole main system PCBs should feel free to produce their own PCBs using the available designs for themselves or to give to family and friends, but cannot modify the design or sell the PCBs.  If displaying the hardware in a public setting, attribution to the original designer must be clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Secondary System PCBs ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PCBs including:&lt;br /&gt;
* Cartridge Boards&lt;br /&gt;
* Extra Controller Boards&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| CC-BY&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Users of the NerdConsole secondary system PCBs should feel free to produce their own PCBs using the available designs, create alternate designs based on the original designs, and sell their own designs of these boards.  Derived works must include attribution to the original designer that is clearly visible.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== 3D Printable Models ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole 3D Printed Parts including:&lt;br /&gt;
* System Case Parts&lt;br /&gt;
* Cartridge Case Parts&lt;br /&gt;
* Various Spacers and Adapters&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| CC-BY-SA&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| Creative Commons - Attribution, Share Alike&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Printable parts can be freely printed and remix culture is allowed.  Derived works do not require attribution as a direct part of a new 3D model, but must include attribution to the original designer that is clearly visible in places where the parts are described (such as on web pages) and must carry this same license.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Software Licenses ==&lt;br /&gt;
&lt;br /&gt;
=== NerdConsole PPU System ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole PPU Software&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| Closed Source Free Software&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| This system is closed source for control over the system, but if distributed by anyone that is not the original author it must be distributed free of charge regardless of medium.  (This is not a Creative Commons license.)&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| There can only be one version of the PPU software and it must be free to acquire.  This is to support a stable game development ecosystem that is available to the largest possible number of game makers and players.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Code Samples ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Covers &lt;br /&gt;
| NerdConsole Sample Code including:&lt;br /&gt;
* Assembly Code Samples&lt;br /&gt;
* Other Tool Configurations&lt;br /&gt;
|-&lt;br /&gt;
! License&lt;br /&gt;
| CC - Public Domain&lt;br /&gt;
|-&lt;br /&gt;
! Description&lt;br /&gt;
| All sample code is in the public domain without restrictions.&lt;br /&gt;
|-&lt;br /&gt;
! Intent&lt;br /&gt;
| Any sample code can be used by anyone for any purpose without limitation.  It can be used as is, modified freely, or redistributed.  Use of the code samples isn’t limited to NerdConsole development.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=768</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=768"/>
		<updated>2024-11-29T21:05:58Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Want other Information? */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
Head over to the [[Project Status]] page for more details about what is going on right now.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;br /&gt;
* [[Development Language]] for details about why the NerdConsole PPU is being rewritten.&lt;br /&gt;
* [[Licenses]] for information about how things are allowed to be used.&lt;br /&gt;
* [[Other Tools]] for helpful other programs that might be useful when making games.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Register_-_Active_Features&amp;diff=767</id>
		<title>Register - Active Features</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Register_-_Active_Features&amp;diff=767"/>
		<updated>2024-08-29T19:28:33Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Debug Display */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The active features register controls which parts of the PPU program are enabled.&lt;br /&gt;
&lt;br /&gt;
=== Active Features ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0&lt;br /&gt;
|-&lt;br /&gt;
! $02F8&lt;br /&gt;
| D || GBG || SD0 || SD1 || BG0 || BG1 || BG2 || BG3&lt;br /&gt;
|-&lt;br /&gt;
! $02F9 &lt;br /&gt;
| BCC || SCC || BTC || STC || BTS || STS || FR || SC&lt;br /&gt;
|-&lt;br /&gt;
! $02FA&lt;br /&gt;
| SX0 || SY0 || SX1 || SY1 || SX2 || SY2 || SX3 || SY3&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
* D - Debug Output&lt;br /&gt;
** 0 = Disable Debug Display&lt;br /&gt;
** 1 = Enable Debug Display (FPS, Timings, Memory, etc.)&lt;br /&gt;
* GBG - Global Background Color &lt;br /&gt;
** 0 = Disable Global Background, always uses black.&lt;br /&gt;
** 1 = Enable Global Background&lt;br /&gt;
* SD0 - Normal Sprites (when Sprite Depth flag is 0) &lt;br /&gt;
** 0 = Disable Normal Sprites&lt;br /&gt;
** 1 = Enable Normal Sprites&lt;br /&gt;
* SD1 - Background Sprites (when Sprite Depth flag is 1)&lt;br /&gt;
** 0 = Disable Background Sprites&lt;br /&gt;
** 1 = Enable Background Sprites&lt;br /&gt;
* BG0 - Main Background&lt;br /&gt;
** 0 = Disable Background, not rendered.&lt;br /&gt;
** 1 = Enable Background&lt;br /&gt;
* BG1 - Background 2&lt;br /&gt;
** 0 = Disable Background, not rendered.&lt;br /&gt;
** 1 = Enable Background&lt;br /&gt;
* BG2 - Background 3&lt;br /&gt;
** 0 = Disable Background, not rendered.&lt;br /&gt;
** 1 = Enable Background&lt;br /&gt;
* BG3 - Background 4&lt;br /&gt;
** 0 = Disable Background, not rendered.&lt;br /&gt;
** 1 = Enable Background&lt;br /&gt;
* BCC - Background Color Cycling&lt;br /&gt;
** 0 = Disable Background Color Cycling, ignores background parts of color cycle registers.&lt;br /&gt;
** 1 = Enable Background Color Cycling&lt;br /&gt;
* SCC - Sprite Color Cycling&lt;br /&gt;
** 0 = Disable Sprite Color Cycling, ignores sprite parts of color cycle registers.&lt;br /&gt;
** 1 = Enable Sprite Color Cycling&lt;br /&gt;
* BTC - Background Tileset Cycling&lt;br /&gt;
** 0 = Disable Background Tileset Cycling, ignores background cycle range and speed registers.&lt;br /&gt;
** 1 = Enable Background Tileset Cycling&lt;br /&gt;
* STC - Sprite Tileset Cycling&lt;br /&gt;
** 0 = Disable Sprite Tileset Cycling, ignores sprite cycle range and speed registers.&lt;br /&gt;
** 1 = Enable Sprite Tileset Cycling&lt;br /&gt;
* BTS - Background Tileset Select&lt;br /&gt;
** 0 = Disable Background Tileset Select always uses 0 for the main background.&lt;br /&gt;
** 1 = Enable Background Tileset Select.&lt;br /&gt;
* STS - Sprite Tileset Select&lt;br /&gt;
** 0 = Disable Sprite Tileset Select, ignores tileset select registers, always uses set 0.&lt;br /&gt;
** 1 = Enable Sprite Tileset Select.&lt;br /&gt;
* FR - Fixed Regions (Main Background)&lt;br /&gt;
** 0 = Disable Fixed Regions for the Main Background, fixed region name table is ignored.&lt;br /&gt;
** 1 = Enable Fixed Regions for the Main Background&lt;br /&gt;
* SC - Special Commands&lt;br /&gt;
** 0 = Disable Special Commands&lt;br /&gt;
** 1 = Enable Special Commands&lt;br /&gt;
* SX0 - Scrolling X-Axis&lt;br /&gt;
** 0 = Disable Horizontal Scrolling on the Main Background, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on the Main Background X-Axis&lt;br /&gt;
* SY0 - Scrolling Y-Axis&lt;br /&gt;
** 0 = Disable Vertical Scrolling on the Main Background, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on the Main Background Y-Axis&lt;br /&gt;
* SX1 - Scrolling X-Axis&lt;br /&gt;
** 0 = Disable Horizontal Scrolling on Extra Background 1, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 1 X-Axis&lt;br /&gt;
* SY1 - Scrolling Y-Axis&lt;br /&gt;
** 0 = Disable Vertical Scrolling on Extra Background 1, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 1 Y-Axis&lt;br /&gt;
* SX2 - Scrolling X-Axis&lt;br /&gt;
** 0 = Disable Horizontal Scrolling on Extra Background 2, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 2 X-Axis&lt;br /&gt;
* SY2 - Scrolling Y-Axis&lt;br /&gt;
** 0 = Disable Vertical Scrolling on Extra Background 2, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 2 Y-Axis&lt;br /&gt;
* SX3 - Scrolling X-Axis&lt;br /&gt;
** 0 = Disable Horizontal Scrolling on Extra Background 3, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 3 X-Axis&lt;br /&gt;
* SY3 - Scrolling Y-Axis&lt;br /&gt;
** 0 = Disable Vertical Scrolling on Extra Background 3, always scroll position 0.&lt;br /&gt;
** 1 = Enable Scrolling on Extra Background 3 Y-Axis&lt;br /&gt;
&lt;br /&gt;
This register is a part of the [[Control Page]].&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=766</id>
		<title>Control Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=766"/>
		<updated>2024-08-29T00:00:55Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Control Page is a page of memory that is devoted to connecting to other parts of NerdConsole. All of the other systems that can be addressed are collected in the Control Page to ensure the maximum amount of contiguous available memory. The Control Page gives access to the controllers, audio, RAM and ROM banking, and the graphics system.&lt;br /&gt;
&lt;br /&gt;
== Control Page Map ($02xx) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! A !! B !! C !! D !! E !! F&lt;br /&gt;
|-&lt;br /&gt;
! 0x &lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; title=&amp;quot;$0200 - Input Latch/Clock&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; title=&amp;quot;$0201 - Input Data&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; title=&amp;quot;$0202 - Audio Address Flag&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; title=&amp;quot;$0203 - Audio Address Data&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; title=&amp;quot;$0204 - Main RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; title=&amp;quot;$0205 - Extended RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; title=&amp;quot;$0206 - Low ROM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; title=&amp;quot;$0207 - High ROM Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 1x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 2x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 3x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 4x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 5x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 6x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 7x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! 8x &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0280 - X Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0281 - X Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0282 - Y Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0283 - Y Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0284 - X Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0285 - X Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0286 - Y Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0287 - Y Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$0288 - X Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$0289 - X Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$028A - Y Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$028B - Y Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028C - X Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028D - X Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028E - Y Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028F - Y Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
|-&lt;br /&gt;
! 9x &lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; title=&amp;quot;$0290 - Fixed Regions Top/Bottom&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; title=&amp;quot;$0291 - Fixed Regions Left/Right&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; title=&amp;quot;$0298 - Name Table Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; title=&amp;quot;$0298E - Tileset Render Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; title=&amp;quot;$0298F - Tileset Write Select&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Ax &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; title=&amp;quot;$02A0 - Background Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; title=&amp;quot;$02A1 - Sprite Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; title=&amp;quot;$02A8 - Background Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; title=&amp;quot;$02A9 - Background Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; title=&amp;quot;$02AA - Sprite Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; title=&amp;quot;$02AB - Sprite Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
|| - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Bx &lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; title=&amp;quot;$02B0 - Last Sprite&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Cx &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C0 - Special Command Param 0&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C1 - Special Command Param 1&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C2 - Special Command Param 2&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C3 - Special Command Param 3&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C4 - Special Command Param 4&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C5 - Special Command Param 5&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C6 - Special Command Param 6&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C7 - Special Command Param 7&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C8 - Special Command Return 0&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C9 - Special Command Return 1&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CA - Special Command Return 2&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CB - Special Command Return 3&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CC - Special Command Return 4&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CD - Special Command Return 5&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CE - Special Command Return 6&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CF - Special Command Return 7&amp;quot; | R &lt;br /&gt;
|-&lt;br /&gt;
! Dx &lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; title=&amp;quot;$02D0 - Special Command&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; title=&amp;quot;$02D1 - Special Command Status&amp;quot; | R &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
! Ex &lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; title=&amp;quot;$02E0 - Bitmap Config&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; title=&amp;quot;$02E1 - Bitmap Control&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E8 - Bitmap Address [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E9 - Bitmap Address [Mid]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02EA - Bitmap Address [High]&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; title=&amp;quot;$02EF - Bitmap Data&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Fx &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F0 - Debug Display&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F1 - Debug Display&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F8 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F9 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02FA - Active Features&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; title=&amp;quot;$02FF - Graphics Mode&amp;quot; | W&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Color !! Address !! Description&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; | &lt;br /&gt;
| $0200 || [[Register - Input|Input Latch/Clock]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; | &lt;br /&gt;
| $0201 || [[Register - Input|Input Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; | &lt;br /&gt;
| $0202 || [[Register - Audio|Audio Address Flag]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; | &lt;br /&gt;
| $0203 || [[Register - Audio|Audio Address/Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; | &lt;br /&gt;
| $0204 || [[Register - Main RAM Select|Main RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; | &lt;br /&gt;
| $0205 || [[Register - Extended RAM Select|Extended RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; | &lt;br /&gt;
| $0206 || [[Register - Low ROM Select|Low ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; | &lt;br /&gt;
| $0207 || [[Register - High ROM Select|High ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; | &lt;br /&gt;
| $0280 - $0283 || [[Register - Scroll|Scroll Register]] (BG0)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; | &lt;br /&gt;
| $0284 - $0287 || [[Register - Scroll|Scroll Register]] (BG1)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; | &lt;br /&gt;
| $0288 - $028B || [[Register - Scroll|Scroll Register]] (BG2)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; | &lt;br /&gt;
| $028C - $028F || [[Register - Scroll|Scroll Register]] (BG3)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; | &lt;br /&gt;
| $0290 || [[Register - Fixed Regions|Fixed Regions Top/Bottom]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; | &lt;br /&gt;
| $0291 || [[Register - Fixed Regions|Fixed Regions Left/Right]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; | &lt;br /&gt;
| $0298 || [[Register - Name Table Select|Name Table Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; | &lt;br /&gt;
| $029E || [[Register - Tileset Select|Tileset Render Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; | &lt;br /&gt;
| $029F || [[Register - Tileset Select|Tileset Write Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A0 || [[Register - Color Cycle|Background Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02A1 || [[Register - Color Cycle|Sprite Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A8 || [[Register - Tileset Cycle|Background Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; | &lt;br /&gt;
| $02A9 || [[Register - Tileset Cycle|Background Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02AA || [[Register - Tileset Cycle|Sprite Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; | &lt;br /&gt;
| $02AB || [[Register - Tileset Cycle|Sprite Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; | &lt;br /&gt;
| $02B0 || [[Register - Last Sprite|Last Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; | &lt;br /&gt;
| $02C0 - $02C7 || [[Register - Special Command|Special Command Parameters]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; | &lt;br /&gt;
| $02C8- $02CF || [[Register - Special Command|Special Command Returns]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; | &lt;br /&gt;
| $02D0 || [[Register - Special Command|Special Command]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; | &lt;br /&gt;
| $02D1 || [[Register - Special Command|Special Command Status]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; | &lt;br /&gt;
| $02E0 || [[Register - Bitmap Config|Bitmap Config]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; | &lt;br /&gt;
| $02E1 || [[Register - Bitmap Control|Bitmap Control]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; | &lt;br /&gt;
| $02E8 - $02EA || [[Register - Bitmap Data|Bitmap Address]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; | &lt;br /&gt;
| $02EF || [[Register - Bitmap Data|Bitmap Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; | &lt;br /&gt;
| $02F0 - $02F1 || [[Register - Debug Display|Debug Display]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; | &lt;br /&gt;
| $02F8 - $02FA || [[Register - Active Features|Active Features]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; | &lt;br /&gt;
| $02FF || [[Register - Graphics Mode|Graphics Mode]]&lt;br /&gt;
|}&lt;br /&gt;
{{#css:User:NerdOfEpic/control-page.css}}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Register_-_Debug_Display&amp;diff=765</id>
		<title>Register - Debug Display</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Register_-_Debug_Display&amp;diff=765"/>
		<updated>2024-08-20T23:39:18Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;When the display of debug information is enabled, the values in this register control which values are shown.&lt;br /&gt;
&lt;br /&gt;
=== Debug Display ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0&lt;br /&gt;
|-&lt;br /&gt;
! $02F0&lt;br /&gt;
| FS || NTS || LS || - || FR || BGS || BCC || SCC&lt;br /&gt;
|-&lt;br /&gt;
! $02F1 &lt;br /&gt;
| TSS || BTC || STC || - || - || - || SC || GM&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
* FS - Frame Speed Details  [0-1]&lt;br /&gt;
* NTS - Name Table Select  [0-1]&lt;br /&gt;
* LS - Last Sprite  [0-1]&lt;br /&gt;
* FR - Fixed Region Sizes  [0-1]&lt;br /&gt;
* BGS - Scroll Details  [0-1]&lt;br /&gt;
* BCC - Background Color Cycle Details  [0-1]&lt;br /&gt;
* SCC - Sprite Color Cycle Details  [0-1]&lt;br /&gt;
* TSS - Tileset Select Details  [0-1]&lt;br /&gt;
* BTC - Background Tileset Cycle Details  [0-1]&lt;br /&gt;
* STC - Sprite Tileset Cycle Details  [0-1]		&lt;br /&gt;
* SC - Special Command Details  [0-1]&lt;br /&gt;
* GM - Graphics Mode Details  [0-1]&lt;br /&gt;
&lt;br /&gt;
This register is a part of the [[Control Page]].&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=764</id>
		<title>User:NerdOfEpic/control-page.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=764"/>
		<updated>2024-08-16T14:46:03Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.input_latch_clock { background-color: #6AA84F; }&lt;br /&gt;
.input_data { background-color: #6AA84F; }&lt;br /&gt;
.audio_address_flag { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.audio_address_data { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.select_main_ram { background-color: #FF6600; }&lt;br /&gt;
.select_extended_ram { background-color: #FF7700; }&lt;br /&gt;
.select_low_rom { background-color: #FF8800; }&lt;br /&gt;
.select_high_rom { background-color: #FF9900; }&lt;br /&gt;
.scroll0 { background-color: #D06666; color: #FFFFFF; }&lt;br /&gt;
.scroll1 { background-color: #D07777; color: #FFFFFF; }&lt;br /&gt;
.scroll2 { background-color: #D08888; color: #FFFFFF; }&lt;br /&gt;
.scroll3 { background-color: #D09999; color: #FFFFFF; }&lt;br /&gt;
.fixed_regions_top_bottom { background-color: #00FF00; }&lt;br /&gt;
.fixed_regions_left_right { background-color: #00FF00; }&lt;br /&gt;
.select_name_table { background-color: #674EA7; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_read { background-color: #1155CC; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_write { background-color: #1166DD; color: #FFFFFF; }&lt;br /&gt;
.color_cycle_speed_bg { background-color: #FFF2CC; }&lt;br /&gt;
.color_cycle_speed_sprite { background-color: #FFF2CC; }&lt;br /&gt;
.tileset_cycle_limit_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_limit_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.last_sprite { background-color: #CC0000; color: #FFFFFF; }&lt;br /&gt;
.special_command_param { background-color: #F1C232; }&lt;br /&gt;
.special_command_return { background-color: #B7B7B7; }&lt;br /&gt;
.special_command { background-color: #990000; color: #FFFFFF; }&lt;br /&gt;
.special_command_status { background-color: #509914; }&lt;br /&gt;
.bitmap_config { background-color: #A3C1DC; }&lt;br /&gt;
.bitmap_control { background-color: #F9CB9C; }&lt;br /&gt;
.bitmap_address { background-color: #A64D79; color: #FFFFFF; }&lt;br /&gt;
.bitmap_data { background-color: #1E5E00; color: #FFFFFF; }&lt;br /&gt;
.debug_display { background-color: #7F6000; color: #FFFFFF; }&lt;br /&gt;
.active_features { background-color: #EAD1DC; }&lt;br /&gt;
.graphics_mode { background-color: #00FFFF; }&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=763</id>
		<title>User:NerdOfEpic/control-page.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=763"/>
		<updated>2024-08-16T14:45:02Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.input_latch_clock { background-color: #6AA84F; }&lt;br /&gt;
.input_data { background-color: #6AA84F; }&lt;br /&gt;
.audio_address_flag { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.audio_address_data { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.select_main_ram { background-color: #FF6600; }&lt;br /&gt;
.select_extended_ram { background-color: #FF7700; }&lt;br /&gt;
.select_low_rom { background-color: #FF8800; }&lt;br /&gt;
.select_high_rom { background-color: #FF9900; }&lt;br /&gt;
.scroll0 { background-color: #D06666; color: #FFFFFF; }&lt;br /&gt;
.scroll1 { background-color: #D07777; color: #FFFFFF; }&lt;br /&gt;
.scroll2 { background-color: #D08888; color: #FFFFFF; }&lt;br /&gt;
.scroll3 { background-color: #D09999; color: #FFFFFF; }&lt;br /&gt;
.fixed_regions_top_bottom { background-color: #00FF00; }&lt;br /&gt;
.fixed_regions_left_right { background-color: #00FF00; }&lt;br /&gt;
.select_name_table { background-color: #674EA7; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_read { background-color: #1155CC; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_write { background-color: #1155CC; color: #FFFFFF; }&lt;br /&gt;
.color_cycle_speed_bg { background-color: #FFF2CC; }&lt;br /&gt;
.color_cycle_speed_sprite { background-color: #FFF2CC; }&lt;br /&gt;
.tileset_cycle_limit_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_limit_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.last_sprite { background-color: #CC0000; color: #FFFFFF; }&lt;br /&gt;
.special_command_param { background-color: #F1C232; }&lt;br /&gt;
.special_command_return { background-color: #B7B7B7; }&lt;br /&gt;
.special_command { background-color: #990000; color: #FFFFFF; }&lt;br /&gt;
.special_command_status { background-color: #509914; }&lt;br /&gt;
.bitmap_config { background-color: #A3C1DC; }&lt;br /&gt;
.bitmap_control { background-color: #F9CB9C; }&lt;br /&gt;
.bitmap_address { background-color: #A64D79; color: #FFFFFF; }&lt;br /&gt;
.bitmap_data { background-color: #1E5E00; color: #FFFFFF; }&lt;br /&gt;
.debug_display { background-color: #7F6000; color: #FFFFFF; }&lt;br /&gt;
.active_features { background-color: #EAD1DC; }&lt;br /&gt;
.graphics_mode { background-color: #00FFFF; }&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=762</id>
		<title>Control Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=762"/>
		<updated>2024-08-16T14:43:59Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Control Page is a page of memory that is devoted to connecting to other parts of NerdConsole. All of the other systems that can be addressed are collected in the Control Page to ensure the maximum amount of contiguous available memory. The Control Page gives access to the controllers, audio, RAM and ROM banking, and the graphics system.&lt;br /&gt;
&lt;br /&gt;
== Control Page Map ($02xx) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! A !! B !! C !! D !! E !! F&lt;br /&gt;
|-&lt;br /&gt;
! 0x &lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; title=&amp;quot;$0200 - Input Latch/Clock&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; title=&amp;quot;$0201 - Input Data&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; title=&amp;quot;$0202 - Audio Address Flag&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; title=&amp;quot;$0203 - Audio Address Data&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; title=&amp;quot;$0204 - Main RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; title=&amp;quot;$0205 - Extended RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; title=&amp;quot;$0206 - Low ROM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; title=&amp;quot;$0207 - High ROM Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 1x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 2x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 3x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 4x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 5x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 6x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 7x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! 8x &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0280 - X Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0281 - X Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0282 - Y Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; title=&amp;quot;$0283 - Y Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0284 - X Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0285 - X Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0286 - Y Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; title=&amp;quot;$0287 - Y Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$0288 - X Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$0289 - X Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$028A - Y Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; title=&amp;quot;$028B - Y Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028C - X Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028D - X Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028E - Y Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; title=&amp;quot;$028F - Y Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
|-&lt;br /&gt;
! 9x &lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; title=&amp;quot;$0290 - Fixed Regions Top/Bottom&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; title=&amp;quot;$0291 - Fixed Regions Left/Right&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; title=&amp;quot;$0298 - Name Table Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; title=&amp;quot;$0298E - Tileset Read Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; title=&amp;quot;$0298F - Tileset Write Select&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Ax &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; title=&amp;quot;$02A0 - Background Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; title=&amp;quot;$02A1 - Sprite Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; title=&amp;quot;$02A8 - Background Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; title=&amp;quot;$02A9 - Background Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; title=&amp;quot;$02AA - Sprite Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; title=&amp;quot;$02AB - Sprite Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
|| - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Bx &lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; title=&amp;quot;$02B0 - Last Sprite&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Cx &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C0 - Special Command Param 0&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C1 - Special Command Param 1&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C2 - Special Command Param 2&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C3 - Special Command Param 3&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C4 - Special Command Param 4&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C5 - Special Command Param 5&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C6 - Special Command Param 6&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C7 - Special Command Param 7&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C8 - Special Command Return 0&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C9 - Special Command Return 1&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CA - Special Command Return 2&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CB - Special Command Return 3&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CC - Special Command Return 4&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CD - Special Command Return 5&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CE - Special Command Return 6&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CF - Special Command Return 7&amp;quot; | R &lt;br /&gt;
|-&lt;br /&gt;
! Dx &lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; title=&amp;quot;$02D0 - Special Command&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; title=&amp;quot;$02D1 - Special Command Status&amp;quot; | R &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
! Ex &lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; title=&amp;quot;$02E0 - Bitmap Config&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; title=&amp;quot;$02E1 - Bitmap Control&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E8 - Bitmap Address [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E9 - Bitmap Address [Mid]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02EA - Bitmap Address [High]&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; title=&amp;quot;$02EF - Bitmap Data&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Fx &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F0 - Debug Display&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F1 - Debug Display&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F8 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F9 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02FA - Active Features&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; title=&amp;quot;$02FF - Graphics Mode&amp;quot; | W&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Color !! Address !! Description&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; | &lt;br /&gt;
| $0200 || [[Register - Input|Input Latch/Clock]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; | &lt;br /&gt;
| $0201 || [[Register - Input|Input Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; | &lt;br /&gt;
| $0202 || [[Register - Audio|Audio Address Flag]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; | &lt;br /&gt;
| $0203 || [[Register - Audio|Audio Address/Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; | &lt;br /&gt;
| $0204 || [[Register - Main RAM Select|Main RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; | &lt;br /&gt;
| $0205 || [[Register - Extended RAM Select|Extended RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; | &lt;br /&gt;
| $0206 || [[Register - Low ROM Select|Low ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; | &lt;br /&gt;
| $0207 || [[Register - High ROM Select|High ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; | &lt;br /&gt;
| $0280 - $0283 || [[Register - Scroll|Scroll Register]] (BG0)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; | &lt;br /&gt;
| $0284 - $0287 || [[Register - Scroll|Scroll Register]] (BG1)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; | &lt;br /&gt;
| $0288 - $028B || [[Register - Scroll|Scroll Register]] (BG2)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; | &lt;br /&gt;
| $028C - $028F || [[Register - Scroll|Scroll Register]] (BG3)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; | &lt;br /&gt;
| $0290 || [[Register - Fixed Regions|Fixed Regions Top/Bottom]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; | &lt;br /&gt;
| $0291 || [[Register - Fixed Regions|Fixed Regions Left/Right]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; | &lt;br /&gt;
| $0298 || [[Register - Name Table Select|Name Table Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; | &lt;br /&gt;
| $029E || [[Register - Tileset Select|Tileset Read Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; | &lt;br /&gt;
| $029F || [[Register - Tileset Select|Tileset Write Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A0 || [[Register - Color Cycle|Background Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02A1 || [[Register - Color Cycle|Sprite Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A8 || [[Register - Tileset Cycle|Background Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; | &lt;br /&gt;
| $02A9 || [[Register - Tileset Cycle|Background Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02AA || [[Register - Tileset Cycle|Sprite Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; | &lt;br /&gt;
| $02AB || [[Register - Tileset Cycle|Sprite Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; | &lt;br /&gt;
| $02B0 || [[Register - Last Sprite|Last Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; | &lt;br /&gt;
| $02C0 - $02C7 || [[Register - Special Command|Special Command Parameters]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; | &lt;br /&gt;
| $02C8- $02CF || [[Register - Special Command|Special Command Returns]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; | &lt;br /&gt;
| $02D0 || [[Register - Special Command|Special Command]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; | &lt;br /&gt;
| $02D1 || [[Register - Special Command|Special Command Status]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; | &lt;br /&gt;
| $02E0 || [[Register - Bitmap Config|Bitmap Config]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; | &lt;br /&gt;
| $02E1 || [[Register - Bitmap Control|Bitmap Control]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; | &lt;br /&gt;
| $02E8 - $02EA || [[Register - Bitmap Data|Bitmap Address]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; | &lt;br /&gt;
| $02EF || [[Register - Bitmap Data|Bitmap Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; | &lt;br /&gt;
| $02F0 - $02F1 || [[Register - Debug Display|Debug Display]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; | &lt;br /&gt;
| $02F8 - $02FA || [[Register - Active Features|Active Features]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; | &lt;br /&gt;
| $02FF || [[Register - Graphics Mode|Graphics Mode]]&lt;br /&gt;
|}&lt;br /&gt;
{{#css:User:NerdOfEpic/control-page.css}}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=761</id>
		<title>User:NerdOfEpic/control-page.css</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=User:NerdOfEpic/control-page.css&amp;diff=761"/>
		<updated>2024-08-16T14:43:01Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;.input_latch_clock { background-color: #6AA84F; }&lt;br /&gt;
.input_data { background-color: #6AA84F; }&lt;br /&gt;
.audio_address_flag { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.audio_address_data { background-color: #6FA8DC; color: #FFFFFF; }&lt;br /&gt;
.select_main_ram { background-color: #FF9900; }&lt;br /&gt;
.select_extended_ram { background-color: #FF9900; }&lt;br /&gt;
.select_low_rom { background-color: #FF9900; }&lt;br /&gt;
.select_high_rom { background-color: #FF9900; }&lt;br /&gt;
.scroll0 { background-color: #D06666; color: #FFFFFF; }&lt;br /&gt;
.scroll1 { background-color: #D07777; color: #FFFFFF; }&lt;br /&gt;
.scroll2 { background-color: #D08888; color: #FFFFFF; }&lt;br /&gt;
.scroll3 { background-color: #D09999; color: #FFFFFF; }&lt;br /&gt;
.fixed_regions_top_bottom { background-color: #00FF00; }&lt;br /&gt;
.fixed_regions_left_right { background-color: #00FF00; }&lt;br /&gt;
.select_name_table { background-color: #674EA7; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_read { background-color: #1155CC; color: #FFFFFF; }&lt;br /&gt;
.select_tileset_write { background-color: #1155CC; color: #FFFFFF; }&lt;br /&gt;
.color_cycle_speed_bg { background-color: #FFF2CC; }&lt;br /&gt;
.color_cycle_speed_sprite { background-color: #FFF2CC; }&lt;br /&gt;
.tileset_cycle_limit_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_bg { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_limit_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.tileset_cycle_speed_sprite { background-color: #45818E; color: #FFFFFF; }&lt;br /&gt;
.last_sprite { background-color: #CC0000; color: #FFFFFF; }&lt;br /&gt;
.special_command_param { background-color: #F1C232; }&lt;br /&gt;
.special_command_return { background-color: #B7B7B7; }&lt;br /&gt;
.special_command { background-color: #990000; color: #FFFFFF; }&lt;br /&gt;
.special_command_status { background-color: #509914; }&lt;br /&gt;
.bitmap_config { background-color: #A3C1DC; }&lt;br /&gt;
.bitmap_control { background-color: #F9CB9C; }&lt;br /&gt;
.bitmap_address { background-color: #A64D79; color: #FFFFFF; }&lt;br /&gt;
.bitmap_data { background-color: #1E5E00; color: #FFFFFF; }&lt;br /&gt;
.debug_display { background-color: #7F6000; color: #FFFFFF; }&lt;br /&gt;
.active_features { background-color: #EAD1DC; }&lt;br /&gt;
.graphics_mode { background-color: #00FFFF; }&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=760</id>
		<title>Control Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Control_Page&amp;diff=760"/>
		<updated>2024-08-16T14:41:36Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Control Page is a page of memory that is devoted to connecting to other parts of NerdConsole. All of the other systems that can be addressed are collected in the Control Page to ensure the maximum amount of contiguous available memory. The Control Page gives access to the controllers, audio, RAM and ROM banking, and the graphics system.&lt;br /&gt;
&lt;br /&gt;
== Control Page Map ($02xx) ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| &lt;br /&gt;
! 0 !! 1 !! 2 !! 3 !! 4 !! 5 !! 6 !! 7 !! 8 !! 9 !! A !! B !! C !! D !! E !! F&lt;br /&gt;
|-&lt;br /&gt;
! 0x &lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; title=&amp;quot;$0200 - Input Latch/Clock&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; title=&amp;quot;$0201 - Input Data&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; title=&amp;quot;$0202 - Audio Address Flag&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; title=&amp;quot;$0203 - Audio Address Data&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; title=&amp;quot;$0204 - Main RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; title=&amp;quot;$0205 - Extended RAM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; title=&amp;quot;$0206 - Low ROM Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; title=&amp;quot;$0207 - High ROM Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 1x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 2x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 3x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 4x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 5x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 6x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! 7x &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
! 8x &lt;br /&gt;
| class=&amp;quot;scroll_x0&amp;quot; title=&amp;quot;$0280 - X Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x0&amp;quot; title=&amp;quot;$0281 - X Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y0&amp;quot; title=&amp;quot;$0282 - Y Scroll (BG0) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y0&amp;quot; title=&amp;quot;$0283 - Y Scroll (BG0) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x1&amp;quot; title=&amp;quot;$0284 - X Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x1&amp;quot; title=&amp;quot;$0285 - X Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y1&amp;quot; title=&amp;quot;$0286 - Y Scroll (BG1) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y1&amp;quot; title=&amp;quot;$0287 - Y Scroll (BG1) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x2&amp;quot; title=&amp;quot;$0288 - X Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x2&amp;quot; title=&amp;quot;$0289 - X Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y2&amp;quot; title=&amp;quot;$028A - Y Scroll (BG2) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_y2&amp;quot; title=&amp;quot;$028B - Y Scroll (BG2) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x3&amp;quot; title=&amp;quot;$028C - X Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x3&amp;quot; title=&amp;quot;$028D - X Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x3&amp;quot; title=&amp;quot;$028E - Y Scroll (BG3) [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;scroll_x3&amp;quot; title=&amp;quot;$028F - Y Scroll (BG3) [High]&amp;quot; | W &lt;br /&gt;
|-&lt;br /&gt;
! 9x &lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; title=&amp;quot;$0290 - Fixed Regions Top/Bottom&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; title=&amp;quot;$0291 - Fixed Regions Left/Right&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; title=&amp;quot;$0298 - Name Table Select&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; title=&amp;quot;$0298E - Tileset Read Select&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; title=&amp;quot;$0298F - Tileset Write Select&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Ax &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; title=&amp;quot;$02A0 - Background Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; title=&amp;quot;$02A1 - Sprite Color Cycle Speed&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; title=&amp;quot;$02A8 - Background Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; title=&amp;quot;$02A9 - Background Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; title=&amp;quot;$02AA - Sprite Tileset Cycle Speed&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; title=&amp;quot;$02AB - Sprite Tileset Cycle Limit&amp;quot; | W &lt;br /&gt;
|| - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Bx &lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; title=&amp;quot;$02B0 - Last Sprite&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - || -&lt;br /&gt;
|-&lt;br /&gt;
! Cx &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C0 - Special Command Param 0&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C1 - Special Command Param 1&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C2 - Special Command Param 2&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C3 - Special Command Param 3&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C4 - Special Command Param 4&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C5 - Special Command Param 5&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C6 - Special Command Param 6&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; title=&amp;quot;$02C7 - Special Command Param 7&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C8 - Special Command Return 0&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02C9 - Special Command Return 1&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CA - Special Command Return 2&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CB - Special Command Return 3&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CC - Special Command Return 4&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CD - Special Command Return 5&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CE - Special Command Return 6&amp;quot; | R &lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; title=&amp;quot;$02CF - Special Command Return 7&amp;quot; | R &lt;br /&gt;
|-&lt;br /&gt;
! Dx &lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; title=&amp;quot;$02D0 - Special Command&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; title=&amp;quot;$02D1 - Special Command Status&amp;quot; | R &lt;br /&gt;
| - || - || - || - || - || - || - || - || - || - || - || - || - || - &lt;br /&gt;
|-&lt;br /&gt;
! Ex &lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; title=&amp;quot;$02E0 - Bitmap Config&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; title=&amp;quot;$02E1 - Bitmap Control&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E8 - Bitmap Address [Low]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02E9 - Bitmap Address [Mid]&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; title=&amp;quot;$02EA - Bitmap Address [High]&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; title=&amp;quot;$02EF - Bitmap Data&amp;quot; | W&lt;br /&gt;
|-&lt;br /&gt;
! Fx &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F0 - Debug Display&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; title=&amp;quot;$02F1 - Debug Display&amp;quot; | W &lt;br /&gt;
| - || - || - || - || - || - &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F8 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02F9 - Active Features&amp;quot; | W &lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; title=&amp;quot;$02FA - Active Features&amp;quot; | W &lt;br /&gt;
| - || - || - || - &lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; title=&amp;quot;$02FF - Graphics Mode&amp;quot; | W&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Color !! Address !! Description&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_latch_clock&amp;quot; | &lt;br /&gt;
| $0200 || [[Register - Input|Input Latch/Clock]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;input_data&amp;quot; | &lt;br /&gt;
| $0201 || [[Register - Input|Input Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_flag&amp;quot; | &lt;br /&gt;
| $0202 || [[Register - Audio|Audio Address Flag]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;audio_address_data&amp;quot; | &lt;br /&gt;
| $0203 || [[Register - Audio|Audio Address/Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_main_ram&amp;quot; | &lt;br /&gt;
| $0204 || [[Register - Main RAM Select|Main RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_extended_ram&amp;quot; | &lt;br /&gt;
| $0205 || [[Register - Extended RAM Select|Extended RAM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_low_rom&amp;quot; | &lt;br /&gt;
| $0206 || [[Register - Low ROM Select|Low ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_high_rom&amp;quot; | &lt;br /&gt;
| $0207 || [[Register - High ROM Select|High ROM Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll0&amp;quot; | &lt;br /&gt;
| $0280 - $0283 || [[Register - Scroll|Scroll Register]] (BG0)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll1&amp;quot; | &lt;br /&gt;
| $0284 - $0287 || [[Register - Scroll|Scroll Register]] (BG1)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll2&amp;quot; | &lt;br /&gt;
| $0288 - $028B || [[Register - Scroll|Scroll Register]] (BG2)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;scroll3&amp;quot; | &lt;br /&gt;
| $028C - $028F || [[Register - Scroll|Scroll Register]] (BG3)&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_top_bottom&amp;quot; | &lt;br /&gt;
| $0290 || [[Register - Fixed Regions|Fixed Regions Top/Bottom]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;fixed_regions_left_right&amp;quot; | &lt;br /&gt;
| $0291 || [[Register - Fixed Regions|Fixed Regions Left/Right]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_name_table&amp;quot; | &lt;br /&gt;
| $0298 || [[Register - Name Table Select|Name Table Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_read&amp;quot; | &lt;br /&gt;
| $029E || [[Register - Tileset Select|Tileset Read Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;select_tileset_write&amp;quot; | &lt;br /&gt;
| $029F || [[Register - Tileset Select|Tileset Write Select]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A0 || [[Register - Color Cycle|Background Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;color_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02A1 || [[Register - Color Cycle|Sprite Color Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_bg&amp;quot; | &lt;br /&gt;
| $02A8 || [[Register - Tileset Cycle|Background Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_bg&amp;quot; | &lt;br /&gt;
| $02A9 || [[Register - Tileset Cycle|Background Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_speed_sprite&amp;quot; | &lt;br /&gt;
| $02AA || [[Register - Tileset Cycle|Sprite Tileset Cycle Speed]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;tileset_cycle_limit_sprite&amp;quot; | &lt;br /&gt;
| $02AB || [[Register - Tileset Cycle|Sprite Tileset Cycle Limit]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;last_sprite&amp;quot; | &lt;br /&gt;
| $02B0 || [[Register - Last Sprite|Last Sprite]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_param&amp;quot; | &lt;br /&gt;
| $02C0 - $02C7 || [[Register - Special Command|Special Command Parameters]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_return&amp;quot; | &lt;br /&gt;
| $02C8- $02CF || [[Register - Special Command|Special Command Returns]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command&amp;quot; | &lt;br /&gt;
| $02D0 || [[Register - Special Command|Special Command]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;special_command_status&amp;quot; | &lt;br /&gt;
| $02D1 || [[Register - Special Command|Special Command Status]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_config&amp;quot; | &lt;br /&gt;
| $02E0 || [[Register - Bitmap Config|Bitmap Config]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_control&amp;quot; | &lt;br /&gt;
| $02E1 || [[Register - Bitmap Control|Bitmap Control]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_address&amp;quot; | &lt;br /&gt;
| $02E8 - $02EA || [[Register - Bitmap Data|Bitmap Address]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;bitmap_data&amp;quot; | &lt;br /&gt;
| $02EF || [[Register - Bitmap Data|Bitmap Data]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;debug_display&amp;quot; | &lt;br /&gt;
| $02F0 - $02F1 || [[Register - Debug Display|Debug Display]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;active_features&amp;quot; | &lt;br /&gt;
| $02F8 - $02FA || [[Register - Active Features|Active Features]]&lt;br /&gt;
|-&lt;br /&gt;
| class=&amp;quot;graphics_mode&amp;quot; | &lt;br /&gt;
| $02FF || [[Register - Graphics Mode|Graphics Mode]]&lt;br /&gt;
|}&lt;br /&gt;
{{#css:User:NerdOfEpic/control-page.css}}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=759</id>
		<title>Project Status</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Project_Status&amp;diff=759"/>
		<updated>2024-08-08T21:32:25Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;The NerdConsole project is a monstrously large hobby project being done entirely by one person.  That means a lot to do, a lot to learn, and a lot of things to make work together.  It also means that at any given time I may be working on any number of different parts of the project.  To help make it as straightforward as possible to figure out what&amp;#039;s going on, this page presents a high level list of activities.  == PPU Software ==  * &amp;#039;&amp;#039;&amp;#039;(In Progress)&amp;#039;&amp;#039;&amp;#039; Rewriting the PPU...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole project is a monstrously large hobby project being done entirely by one person.  That means a lot to do, a lot to learn, and a lot of things to make work together.  It also means that at any given time I may be working on any number of different parts of the project.  To help make it as straightforward as possible to figure out what&#039;s going on, this page presents a high level list of activities.&lt;br /&gt;
&lt;br /&gt;
== PPU Software ==&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;(In Progress)&#039;&#039;&#039; Rewriting the PPU software from scratch.  Previously the PPU was written in Java, but I kept running into issues caused by the language design.  I&#039;m rewriting it in C++ so I have access to unsigned integer types and proper libraries for graphics and GPIO.&lt;br /&gt;
** Creating unions to allow for bytewise setting of complex register and table types.&lt;br /&gt;
** Writing tests to make sure they work properly.&lt;br /&gt;
&lt;br /&gt;
== PCB Work ==&lt;br /&gt;
* Need to redesign the Video Logic Level board to put the pins in the new order.  This was the realization that GPIO pins are not logically ordered in a sane way that lines up with the physical layout and the way I was doing this was going to result in massively inefficient value loading that required a ton of bit shifting and masking.&lt;br /&gt;
* Need to come up with a solution for YM-3812 FM Synthesizer chips being either expensive or fake (or both).  My current theory is a software based approach that runs on a RP2040 (Raspberry Pi Pico) and emulates the YM-3812.  The hope is that the emulated audio solution is as close to a drop in replacement as possible, but I&#039;m not guessing the standard YM-2014 DAC will work so another solution will probably be required.  This change requires spatial changes due to differences in DAC, amplification, and chip size difference between Pi Pico and YM-3812.&lt;br /&gt;
* Need to redesign the Main Board since so many things have changed in the plan since the last time I ordered boards.  Prototype 2 is an almost complete redesign. &lt;br /&gt;
** The Raspberry Pi was changed to be a full sized Raspberry Pi 4 instead of the smaller Raspberry Pi 3A+.&lt;br /&gt;
** The cartridge connector was changed for one with a smaller pin pitch (2.54mm instead of 3.96mm) to make inserting and removing cartridges easier.  This obviously changed the entire middle of the board.&lt;br /&gt;
** User Port support was removed entirely.  This means the removal of the VIA chip and several supporting chips as well as expansion headers and the DB-25 connector.&lt;br /&gt;
** Optional extra controller ports are now supported (to better use the bus lanes available on the controller buffer).  This means additional connectors need to be available to support that.&lt;br /&gt;
&lt;br /&gt;
== 3D Modelling ==&lt;br /&gt;
* Need to design several case parts.  These are fairly self explanatory but also depend on how various PCBs end up looking.&lt;br /&gt;
** Main Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
*** Cartridge Guide&lt;br /&gt;
*** Switch and Button Adapters&lt;br /&gt;
*** Video Board Supports&lt;br /&gt;
** Cartridge Case&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
** Extra Controllers Breakout&lt;br /&gt;
*** Bottom&lt;br /&gt;
*** Top&lt;br /&gt;
&lt;br /&gt;
== Other Software ==&lt;br /&gt;
=== NerdSembler ===&lt;br /&gt;
* I hope to one day be able to get my brain around making an assembler for the 65xx family of CPUs.  I&#039;d already written the lexer and part of the parser when I ran into difficulties with parsing complex expressions that would be very handy to support.&lt;br /&gt;
=== Graphics Tiles ===&lt;br /&gt;
* I have written a tool that uses standard .png files to produce binary graphical tile data.  This tool will need to be revisited to support other binary representations and to have better documentation.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=758</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=758"/>
		<updated>2024-08-08T20:57:34Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
Head over to the [[Project Status]] page for more details about what is going on right now.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;br /&gt;
* [[Development Language]] for details about why the NerdConsole PPU is being rewritten.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=757</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=757"/>
		<updated>2024-08-08T04:14:35Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Welcome to the NerdConsole Wiki. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
=== Current Status ===&lt;br /&gt;
&#039;&#039;The status for a while is:&#039;&#039; Rewriting the PPU software from scratch.  Previously the PPU was written in Java, but I was running into issues caused by the language design.  Rewriting it in C++ so I have access to unsigned integer types and proper libraries for graphics and GPIO.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Actively working on:&#039;&#039;&#039;&lt;br /&gt;
* Creating unions to allow for bytewise setting of complex register and table types.&lt;br /&gt;
* Writing tests to make sure they work properly.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;br /&gt;
* [[Development Language]] for details about why the NerdConsole PPU is being rewritten.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Connectors&amp;diff=756</id>
		<title>Connectors</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Connectors&amp;diff=756"/>
		<updated>2024-08-07T14:35:58Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Video Board Port */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Joysticks =&lt;br /&gt;
== SNES Controller Ports ==&lt;br /&gt;
NerdConsole has 2 SNES-style joystick ports built into the front of the system for players 1 and 2.  These are always available.  All controller connections are SNES controller compatible and use this same arrangement of pins.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 1&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 2&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 3&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; |&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 4&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 5&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 6&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 7&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Ground&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | NC&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Latch&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Clock&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | VCC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extra Controller 6-Pin Port ==&lt;br /&gt;
Built onto the mainboard is a 6-pin connector that provides the power and signals for controllers 3 and 4.  Data3 and Data4 lines are specifically for those controllers.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 1&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 2&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 3&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 4&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 5&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 6&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Ground&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data3&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data4&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Latch&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Clock&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | VCC&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Extra Controller 4-Pin Port ==&lt;br /&gt;
Built onto the mainboard is a 4-pin connector that provides the data signals for controllers 5, 6, 7 and 8.  Data5, Data6, Data7, and Data8 lines are specifically for those controllers.  This connection is used in conjunction with the 6-Pin port connections.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 1&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 2&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 3&lt;br /&gt;
! width=&amp;quot;80&amp;quot; | Pin 4&lt;br /&gt;
|-&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data5&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data6&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data7&lt;br /&gt;
| align=&amp;quot;center&amp;quot; | Data8&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Cartridge =&lt;br /&gt;
The 44-pin cartridge connector provides the means to access the ROM chip (or chips) that contain the software to execute.  The pin order may seem scrambled up, but it is laid out in a way that closely aligns with the pin order of most ROM chips.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Top / Front / Label Side &lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; | Bottom / Back Side&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;180&amp;quot; | A12 &lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;30&amp;quot; | 1&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;30&amp;quot; | 44&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;180&amp;quot; | Ground&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A13&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 2&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 43&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Clock&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A7&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 3&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 42&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ~Read / Write&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A8&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 4&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 41&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ~Enable&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A6&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 5&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 40&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | VCC (+5V DC)&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A9&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 6&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 39&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | RRS&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A5&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 7&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 38&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A11&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 8&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 37&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A4&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 9&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 36&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A3&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 10&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 35&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS4&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A10&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 11&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 34&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A2&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 12&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 33&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A1&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 13&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 32&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D7&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 14&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 31&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | HRS0&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A0&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 15&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 30&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D6&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 16&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 29&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D0&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 17&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 28&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D5&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 18&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 27&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS4&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D1&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 19&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 26&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D4&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 20&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 25&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS2&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D2&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 21&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 24&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D3&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 22&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 23&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | LRS0&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
* ~ = Active Low Signal&lt;br /&gt;
* A = Address Pins (0-13)&lt;br /&gt;
* D = Data Pins (0-7)&lt;br /&gt;
* LRS = Low ROM Select (0-7)&lt;br /&gt;
* HRS = High ROM Select (0-7)&lt;br /&gt;
* RRS = ROM Region Select&lt;br /&gt;
** 0 = Low ROM ($8000 to $BFFF)&lt;br /&gt;
** 1 = High ROM ($C000 to $FFFF)&lt;br /&gt;
&lt;br /&gt;
= Video Board Port =&lt;br /&gt;
The connection between the NerdConsole mainboard and the Raspberry Pi that acts as the PPU is made through a 28-Channel logic level conversion board.  This is required because NerdConsole operates at 5V and the GPIO system on a Raspberry Pi operates at 3.3V.  According to the Raspberry Pi documentation, you absolutely &#039;&#039;CANNOT&#039;&#039; use 5V logic levels with GPIO without causing permanent damage. &lt;br /&gt;
&lt;br /&gt;
This pin layout is based on how the Raspberry Pi orders the GPIO pins.  My original pin layout was visually pleasing for a human because everything was in a nice order.  As I was learning more about reading from the GPIO pins, I realized that the way I had it would require nearly 100 operations to move bits around in code.  They have been changed so they align with the Raspberry Pi layout which reduces the number of operations to just 6 as a worst case with fast fails that use as few as 1.  This has the effect of making the pin order seem random but for with huge efficiency gains.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;180&amp;quot; | ---&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;30&amp;quot; | 1&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;30&amp;quot; | 2&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;180&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A0&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 3&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A1&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 5&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A2&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 7&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A12&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ---&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 9&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 10&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A13&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D0&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 11&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 12&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | D1&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ~Vsync&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 13&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 14&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D5&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 15&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 16&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | D6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ---&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 17&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 18&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | D7&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A8&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 19&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 20&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A7&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 21&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 22&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Front Power&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A9&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 23&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 24&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A6&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ---&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 25&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 26&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A5&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ~Enable&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 27&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 28&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Read / ~Write&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A3&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 29&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 30&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A4&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 31&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 32&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A10&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | A11&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 33&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 34&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | ---&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | D2&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 35&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 36&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | A14&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Safe Shut Down&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 37&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 38&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | D3&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | ---&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 39&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 40&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | D4&lt;br /&gt;
|}&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
* ~ = Active Low Signal&lt;br /&gt;
* --- = Not Connected&lt;br /&gt;
* A = Address Pins (0-14)&lt;br /&gt;
* D = Data Pins (0-7)&lt;br /&gt;
&lt;br /&gt;
= System Connections =&lt;br /&gt;
There are a few connections within the system.&lt;br /&gt;
&lt;br /&gt;
== Back Power ==&lt;br /&gt;
This connector accepts main power input and provides the switches and buttons to control it.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;180&amp;quot; | Power Input +5VDC&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;30&amp;quot; | 1&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;30&amp;quot; | 8&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;180&amp;quot; | Power Input Ground&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Power Switch&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 2&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 7&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Power Switch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | PPU Safe Shutdown Button&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 3&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | PPU Safe Shutdown Button&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Main Power LED +&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 4&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Main Power LED -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Front Power ==&lt;br /&gt;
This connector is for turning on and off the main board in NerdConsole without affecting the power state of the Raspberry Pi based PPU.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;180&amp;quot; | Front Power Switch&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;30&amp;quot; | 1&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;30&amp;quot; | 6&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;180&amp;quot; | Front Power Switch&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Reset Button&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 2&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 5&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Reset Button&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Front Power LED +&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 3&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Front Power LED -&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== PPU Power / Audio ==&lt;br /&gt;
This connector is for powering the PPU directly from the main board.  This power is intended to be provided though the MicroB-USB power plug on the Raspberry Pi.  It also provides the audio signal from the YM-3812 to be piped into the earphone jack on the Raspberry Pi.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;180&amp;quot; | PPU Power +&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;30&amp;quot; | 1&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; width=&amp;quot;30&amp;quot; | 4&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; width=&amp;quot;180&amp;quot; | PPU Power -&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;text-align:right&amp;quot; | Audio Signal +&lt;br /&gt;
! style=&amp;quot;text-align:left&amp;quot; | 2&lt;br /&gt;
! style=&amp;quot;text-align:right&amp;quot; | 3&lt;br /&gt;
| style=&amp;quot;text-align:left&amp;quot; | Audio Signal -&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=755</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=755"/>
		<updated>2024-08-07T14:17:20Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
=== Current Status ===&lt;br /&gt;
* In progress - Rewriting the PPU software from scratch.&lt;br /&gt;
** Previously written in Java, but was running into issues caused by the language.&lt;br /&gt;
** Now rewriting it in C++ with unsigned variables and proper libraries for graphics and GPIO.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;br /&gt;
* [[Development Language]] for details about why the NerdConsole PPU is being rewritten.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Development_Language&amp;diff=754</id>
		<title>Development Language</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Development_Language&amp;diff=754"/>
		<updated>2024-08-03T14:34:14Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;The NerdConsole PPU software is a complex piece of multi-threaded code that accepts information from the GPIO pins on a Raspberry Pi, manages the data that was received, and uses it to render graphics based on that information.    = Java =  Originally, it was written in Java because I&amp;#039;m very comfortable with Java and that seemed like a good reason to use it at the time.  Most values used in NerdConsole&amp;#039;s PPU registers are bytes that are used as multi-value bit fields.  T...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole PPU software is a complex piece of multi-threaded code that accepts information from the GPIO pins on a Raspberry Pi, manages the data that was received, and uses it to render graphics based on that information.  &lt;br /&gt;
&lt;br /&gt;
= Java =&lt;br /&gt;
&lt;br /&gt;
Originally, it was written in Java because I&#039;m very comfortable with Java and that seemed like a good reason to use it at the time.  Most values used in NerdConsole&#039;s PPU registers are bytes that are used as multi-value bit fields.  This in turn meant that as development continued I got deeper into the bit level manipulation of data.  On its own that wasn&#039;t a problem, but I kept running into things that weren&#039;t working the way I expected.  At its core, Java is a language that was designed to simply always used signed numeric values for everything (values that can be both positive and negative).  As part of that design choice, they made sign related decisions for bitwise operations that caused an almost unimaginable number of bugs.  &lt;br /&gt;
&lt;br /&gt;
Worse, to ensure the unsigned nature of my values within the code, I was forced to promote most data values to the next larger one.  For example, when I wanted an unsigned 8-bit value (0 to 255), but a byte in Java is signed (-128 to 127), so I instead used a signed 16-bit value (-32768 to 32767) so my desired range was covered.  This meant that I was using twice the amount of memory for every value, was forced to be very careful about the values I was using, and often had to waste CPU cycles masking the value to ensure it stayed in the range I wanted now that I had a much larger than desired range available.&lt;br /&gt;
&lt;br /&gt;
Back to the signed bitwise operations causing trouble, I remind you about how 2&#039;s compliment numbers are stored.  A simple way to think about it is that all of the negative numbers have loads of &amp;quot;1 bits&amp;quot; at the top of the value.  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;For example&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Value !! Bits&lt;br /&gt;
|-&lt;br /&gt;
| 5 || 00000101&lt;br /&gt;
|-&lt;br /&gt;
| -5 || 11111011&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
If you do common bit shift operations, those 1&#039;s on the left do things to your result that are often very difficult to figure out and require a lot of parenthesis groups and forced casts to work around.  Even with tons of test code, there were often problems that would slip through the cracks.  &lt;br /&gt;
&lt;br /&gt;
Eventually, I realized that despite how much I like using Java, I was constantly fighting the language itself as I tried to write a complex piece of code.  Over time, this became more work on dealing with Java than I was spending coding features into the NerdConsole PPU that weren&#039;t done yet.  I hit around 50,000 lines of code that mostly worked on the graphics side and didn&#039;t want to deal with the problems anymore.  Something had to be done.&lt;br /&gt;
&lt;br /&gt;
= C++20 =&lt;br /&gt;
A long time ago I was fluent in C++ and it has every type of integer value I could possibly hope for without the need to force signed values to behave in a way they don&#039;t like.  Unfortunately, the last time I used C++ was before they started naming it with the number at the end (before C++98).  Experience from back when it was more of an extension of C often stuck together as C/C++, and before it was truly its own language.  Since the last time I used it for hobby projects, it has changed dramatically and I&#039;d forgotten how to intelligently manage my own memory thanks to garbage-collected languages.&lt;br /&gt;
&lt;br /&gt;
With this new theory, I have officially arrived at the tricky point in this project...  Do I spent the time and effort relearning C++ almost from scratch and with that start the NerdConsole PPU development over again too, or do I keep fighting a language that was designed to make this type of low level programming harder than it should be?&lt;br /&gt;
&lt;br /&gt;
As it turns out, the decision wasn&#039;t as difficult as I&#039;m making it sound.  C++ is fast and will typically use far less memory than a JVM.  It has powerful graphics and GPIO libraries available, and won&#039;t constantly get in my way.  Relearning a language and rewriting a project is no small undertaking, and every time I want to so something that is simple and built-in to Java and isn&#039;t in C++, I spin off for a half an hour of research.  Daunting, yes.  Worth it, also yes.  &lt;br /&gt;
&lt;br /&gt;
So the code based PPU project has been started over, and since this is still a massive hobby project that only gets nights and weekends, progress is slow.  Please be patient.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=753</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=753"/>
		<updated>2024-08-03T13:35:19Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;br /&gt;
* [[Development Language]] for details about why the NerdConsole PPU is being rewritten.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=752</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Main_Page&amp;diff=752"/>
		<updated>2024-07-31T23:27:21Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Welcome to the NerdConsole Wiki. ==&lt;br /&gt;
&lt;br /&gt;
With any luck the information here will be able to answer all your questions.  It is recommended that you search for the information you are looking for with the search box to the left.  Good luck and have fun!&lt;br /&gt;
&lt;br /&gt;
NerdConsole is an 8-bit game console designed from scratch.  It was designed to provide powerful features and to make using them as easy as possible for game developers.  There are no licenses, security or regional lockouts so anyone that wants to make a game can jump in and do so.  &lt;br /&gt;
&lt;br /&gt;
It is a 65C02 CPU based game console that was inspired by some of the design decisions made by Nintendo for the NES but it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; an emulator and it is &amp;lt;em&amp;gt;NOT&amp;lt;/em&amp;gt; directly compatible with the NES.  It may be difficult, but it should be possible to port games from other 6502 based machines to NerdConsole if that is what you are interested in doing.&lt;br /&gt;
&lt;br /&gt;
This project is the multi-year hobby project of a single person, so please be gentle about how long it&#039;s taking me to finish it.  There are a lot of things to learn and to do, and I work a full-time job.&lt;br /&gt;
&lt;br /&gt;
=== Need Specifications? ===&lt;br /&gt;
* [[Memory Regions]] for where data lives within NerdConsole.&lt;br /&gt;
* [[Control Page]] for the available registers that control NerdConsole.&lt;br /&gt;
* [[Graphics Modes]] to see all the ways you can configure your graphics.&lt;br /&gt;
* [[Built-In Palette List]] for the collection of palettes that can be used if you don&#039;t want to make your own.&lt;br /&gt;
* [[Palette Formats]] to understand how the bits work when setting up colors.&lt;br /&gt;
* [[Tile Formats]] for how to arrange data into graphics.&lt;br /&gt;
* [[Name Tables]] for how to assemble graphics tiles into backgrounds.&lt;br /&gt;
* [[Sprite Table]] for how to use graphics tiles for moving foreground objects.&lt;br /&gt;
* [[Connectors]] for how various things connect within the system.&lt;br /&gt;
* [[Joysticks]] for how to deal with user input.&lt;br /&gt;
* [[Integrated Circuit Chips]] for how the various chips work.&lt;br /&gt;
&lt;br /&gt;
=== Want other Information? ===&lt;br /&gt;
* [[Glossary]] for terms and acronyms that you may not know. &lt;br /&gt;
* [[Downloads]] to get NerdConsole files.&lt;br /&gt;
* [[Assembly Language]] for a collection of helpful pieces of code you can use in your own projects.&lt;br /&gt;
* [[Specification Comparison]] between NES and NerdConsole.&lt;br /&gt;
* [[Console Versions]] to read about how there used to be both standard and development editions.&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Graphics_Modes&amp;diff=751</id>
		<title>Graphics Modes</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Graphics_Modes&amp;diff=751"/>
		<updated>2024-07-23T03:35:53Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The NerdConsole PPU is designed to support multiple graphics modes. These modes all provide some shared features with the primary difference being the number of colors supported. The number of colors available in a specific mode in turn drives the layout of tiles and palettes.&lt;br /&gt;
&lt;br /&gt;
=== Shared Features ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Feature !! Value&lt;br /&gt;
|-&lt;br /&gt;
| Pixel Resolution || 256x256 pixels&lt;br /&gt;
|-&lt;br /&gt;
| Screen Name Table || 32x32 tiles&lt;br /&gt;
|-&lt;br /&gt;
| Main Name Table || 64x64 tiles&lt;br /&gt;
|-&lt;br /&gt;
| Attribute Table* || 64x64 tiles&lt;br /&gt;
|-&lt;br /&gt;
| Max Sprites || 256&lt;br /&gt;
|-&lt;br /&gt;
| Refresh Rate || 60 Hz&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;nowiki&amp;gt;*&amp;lt;/nowiki&amp;gt; Attributes are integrated directly into the name tables.&lt;br /&gt;
&lt;br /&gt;
=== Tile Mode Comparison ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
! rowspan=&amp;quot;2&amp;quot; | Feature !! colspan=&amp;quot;2&amp;quot; | Mono !! colspan=&amp;quot;2&amp;quot; | Low !! colspan=&amp;quot;2&amp;quot; | Medium !! colspan=&amp;quot;2&amp;quot; | High !! colspan=&amp;quot;2&amp;quot; | Super !! colspan=&amp;quot;2&amp;quot; | Ultra !! colspan=&amp;quot;2&amp;quot; | Ultra565 !! colspan=&amp;quot;2&amp;quot; | Ultra444 !! colspan=&amp;quot;2&amp;quot; | Text&lt;br /&gt;
|-&lt;br /&gt;
! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR !! BG !! SPR&lt;br /&gt;
|- &lt;br /&gt;
| Mode Value &lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $00&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $01&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $02&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $03&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $04&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $05&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $06&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $07&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; | $10&lt;br /&gt;
|- &lt;br /&gt;
| Data Format&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| S || S&lt;br /&gt;
| T || S&lt;br /&gt;
|- &lt;br /&gt;
| Bytes/Tile&lt;br /&gt;
| 8 || 8&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 24 || 24&lt;br /&gt;
| 32 || 32&lt;br /&gt;
| 40 || 40&lt;br /&gt;
| 48 || 48&lt;br /&gt;
| 48 || 48&lt;br /&gt;
| 48 || 48&lt;br /&gt;
| 8 || 32&lt;br /&gt;
|- &lt;br /&gt;
| Bit Layers&lt;br /&gt;
| 1 || 1&lt;br /&gt;
| 2 || 2&lt;br /&gt;
| 3 || 3&lt;br /&gt;
| 4 || 4&lt;br /&gt;
| 5 || 5&lt;br /&gt;
| 6 || 6&lt;br /&gt;
| 6 || 6&lt;br /&gt;
| 6 || 6&lt;br /&gt;
| 1 || 4&lt;br /&gt;
|- &lt;br /&gt;
| Tile Entries&lt;br /&gt;
| 256 || 256&lt;br /&gt;
| 256 || 256&lt;br /&gt;
| 256 || 256&lt;br /&gt;
| 256 || 256&lt;br /&gt;
| 204 || 204&lt;br /&gt;
| 170 || 170&lt;br /&gt;
| 170 || 170&lt;br /&gt;
| 170 || 170&lt;br /&gt;
| 256 || 256&lt;br /&gt;
|- &lt;br /&gt;
| Tile Colors&lt;br /&gt;
| 2 || 2&lt;br /&gt;
| 4 || 4&lt;br /&gt;
| 8 || 8&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 32 || 32&lt;br /&gt;
| 64 || 64&lt;br /&gt;
| 64 || 64&lt;br /&gt;
| 64 || 64&lt;br /&gt;
| 2 || 16&lt;br /&gt;
|- &lt;br /&gt;
| RGB Format&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 888 || 888&lt;br /&gt;
| 565 || 565&lt;br /&gt;
| 444 || 444&lt;br /&gt;
| 888 || 888&lt;br /&gt;
|- &lt;br /&gt;
| Sub-Palettes&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 8 || 8&lt;br /&gt;
| 12 || 12&lt;br /&gt;
| 16 || 16&lt;br /&gt;
| 1 || 16&lt;br /&gt;
|}&lt;br /&gt;
BG = Background | SPR = Sprite | S = Standard | T = Text | 888=RGB888 | 565=RGB565 | 444=RGB444&lt;br /&gt;
&lt;br /&gt;
=== Bitmap Mode Comparison ===&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;text-align:center;&amp;quot;&lt;br /&gt;
! Mode !! Mode Value !! Pixels !! Palette !! BPP !! Colors !! Address Range !! Data&lt;br /&gt;
|-&lt;br /&gt;
| F1 || $20&lt;br /&gt;
| 256 || 888 || 1 || 2&lt;br /&gt;
| $000000 - $001FFF || 8K&lt;br /&gt;
|-&lt;br /&gt;
| F2 || $21&lt;br /&gt;
| 256 || 888 || 2 || 4&lt;br /&gt;
| $000000 - $003FFF || 16K&lt;br /&gt;
|-&lt;br /&gt;
| F4 || $22&lt;br /&gt;
| 256 || 888 || 4 || 16&lt;br /&gt;
| $000000 - $007FFF || 32K&lt;br /&gt;
|-&lt;br /&gt;
| F8 || $23&lt;br /&gt;
| 256 || 888 || 8 || 256&lt;br /&gt;
| $000000 - $00FFFF || 64K&lt;br /&gt;
|-&lt;br /&gt;
| F16 || $24&lt;br /&gt;
| 256 || 565 || 16 || 64K&lt;br /&gt;
| $000000 - $01FFFF || 128K&lt;br /&gt;
|-&lt;br /&gt;
| F24 || $25&lt;br /&gt;
| 256 || 888 || 24 || 16M&lt;br /&gt;
| $000000 - $02FFFF || 192K&lt;br /&gt;
|-&lt;br /&gt;
| H1 || $30&lt;br /&gt;
| 128 || 888 || 1 || 2&lt;br /&gt;
| $000000 - $0007FF || 2K&lt;br /&gt;
|-&lt;br /&gt;
| H2 || $31&lt;br /&gt;
| 128 || 888 || 2 || 4&lt;br /&gt;
| $000000 - $000FFF || 4K&lt;br /&gt;
|-&lt;br /&gt;
| H4 || $32&lt;br /&gt;
| 128 || 888 || 4 || 16&lt;br /&gt;
| $000000 - $001FFF || 8K&lt;br /&gt;
|-&lt;br /&gt;
| H8 || $33&lt;br /&gt;
| 128 || 888 || 8 || 256&lt;br /&gt;
| $000000 - $003FFF || 16K&lt;br /&gt;
|-&lt;br /&gt;
| H16 || $34&lt;br /&gt;
| 128 || 565 || 16 || 64K&lt;br /&gt;
| $000000 - $007FFF || 32K&lt;br /&gt;
|-&lt;br /&gt;
| H24 || $35&lt;br /&gt;
| 128 || 888 || 24 || 16M&lt;br /&gt;
| $000000 - $00BFFF || 48K&lt;br /&gt;
|-&lt;br /&gt;
| Q1 || $40&lt;br /&gt;
| 64 || 888 || 1 || 2&lt;br /&gt;
| $000000 - $0001FF || 512&lt;br /&gt;
|-&lt;br /&gt;
| Q2 || $41&lt;br /&gt;
| 64 || 888 || 2 || 4&lt;br /&gt;
| $000000 - $0003FF || 1K&lt;br /&gt;
|-&lt;br /&gt;
| Q4 || $42&lt;br /&gt;
| 64 || 888 || 4 || 16&lt;br /&gt;
| $000000 - $0007FF || 2K&lt;br /&gt;
|-&lt;br /&gt;
| Q8 || $43&lt;br /&gt;
| 64 || 888 || 8 || 256&lt;br /&gt;
| $000000 - $000FFF || 4K&lt;br /&gt;
|-&lt;br /&gt;
| Q16 || $44&lt;br /&gt;
| 64 || 565 || 16 || 64K&lt;br /&gt;
| $000000 - $001FFF || 8K&lt;br /&gt;
|-&lt;br /&gt;
| Q24 || $45&lt;br /&gt;
| 64 || 888 || 24 || 16M&lt;br /&gt;
| $000000 - $002FFF || 12K&lt;br /&gt;
|}&lt;br /&gt;
F=Full | H=Half | Q=Quarter | K=1024 | M=1,048,576 | 888=RGB888 | 565=RGB565&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Sprite_Table&amp;diff=750</id>
		<title>Sprite Table</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Sprite_Table&amp;diff=750"/>
		<updated>2024-05-08T20:53:26Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;The Sprite Table describes the foreground layer for a game. You can think of this as the objects that move around such as the player, enemies, and projectiles. NerdConsole has a single Sprite Table that supports up to 256 sprites.  The control point for the sprite is always the upper left pixel and this is not affected by graphically flipping or mirroring the tile. &lt;br /&gt;
&lt;br /&gt;
=== Sprite Table Format ===&lt;br /&gt;
Sprite Tables in NerdConsole use a 4-byte structure for each entry.&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Bit !! 7 !! 6 !! 5 !! 4 !! 3 !! 2 !! 1 !! 0 &lt;br /&gt;
|-&lt;br /&gt;
! Byte 0&lt;br /&gt;
| x || x || x || x || x || x || x || x&lt;br /&gt;
|-&lt;br /&gt;
! Byte 1&lt;br /&gt;
| y || y || y || y || y || y || y || y&lt;br /&gt;
|-&lt;br /&gt;
! Byte 2&lt;br /&gt;
| M || F || D || C || p || p || p || p&lt;br /&gt;
|-&lt;br /&gt;
! Byte 3&lt;br /&gt;
| i || i || i || i || i || i || i || i &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Key &#039;&#039;&#039;&lt;br /&gt;
* x - x-axis position of the upper left corner of the sprite on the screen&lt;br /&gt;
* y - y-axis position of the upper left corner of the sprite on the screen&lt;br /&gt;
* M - Mirror (Left/Right)&lt;br /&gt;
* F - Flip (Top/Bottom)&lt;br /&gt;
* D - Depth Flag (0 = Over BG, 1 = Under BG)&lt;br /&gt;
* C - Color Cycling&lt;br /&gt;
* p - Sub-Palette Index&lt;br /&gt;
* i - Tile Table Index&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_-_Virtual_Boy&amp;diff=749</id>
		<title>Built-In Palette - Virtual Boy</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_-_Virtual_Boy&amp;diff=749"/>
		<updated>2024-04-01T15:09:35Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ID: &amp;lt;span class=&#039;mono&#039;&amp;gt;$1D&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Colors&lt;br /&gt;
|-&lt;br /&gt;
| style=&#039;background-color:#ef0000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $EF / G: $00 / B: $00&#039; | $00&lt;br /&gt;
| style=&#039;background-color:#a40000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $A4 / G: $00 / B: $00&#039; | $01&lt;br /&gt;
| style=&#039;background-color:#550000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $55 / G: $00 / B: $00&#039; | $02&lt;br /&gt;
| style=&#039;background-color:#000000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $00 / G: $00 / B: $00&#039; | $03&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#css:User:NerdOfEpic/builtin-palette.css}}&lt;br /&gt;
Return to the [[Built-In Palette List]]&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_-_Virtual_Boy&amp;diff=748</id>
		<title>Built-In Palette - Virtual Boy</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_-_Virtual_Boy&amp;diff=748"/>
		<updated>2024-04-01T14:58:19Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: Created page with &amp;quot;&amp;#039;&amp;#039;&amp;#039;Nintendo Group&amp;#039;&amp;#039;&amp;#039;  ID: &amp;lt;span class=&amp;#039;mono&amp;#039;&amp;gt;$1D&amp;lt;/span&amp;gt;  {| |+ Colors |- | style=&amp;#039;background-color:#ef0000; color:#000000&amp;#039; class=&amp;#039;pal-td&amp;#039; title=&amp;#039;R: $EF / G: $00 / B: $00&amp;#039; | $00 | style=&amp;#039;background-color:#a40000; color:#000000&amp;#039; class=&amp;#039;pal-td&amp;#039; title=&amp;#039;R: $A4 / G: $00 / B: $00&amp;#039; | $01 | style=&amp;#039;background-color:#550000; color:#ffffff&amp;#039; class=&amp;#039;pal-td&amp;#039; title=&amp;#039;R: $55 / G: $00 / B: $00&amp;#039; | $02 | style=&amp;#039;background-color:#000000; color:#ffffff&amp;#039; class=&amp;#039;pal-td&amp;#039; title=&amp;#039;R: $00 / G: $00 /...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&#039;&#039;&#039;Nintendo Group&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
ID: &amp;lt;span class=&#039;mono&#039;&amp;gt;$1D&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{|&lt;br /&gt;
|+ Colors&lt;br /&gt;
|-&lt;br /&gt;
| style=&#039;background-color:#ef0000; color:#000000&#039; class=&#039;pal-td&#039; title=&#039;R: $EF / G: $00 / B: $00&#039; | $00&lt;br /&gt;
| style=&#039;background-color:#a40000; color:#000000&#039; class=&#039;pal-td&#039; title=&#039;R: $A4 / G: $00 / B: $00&#039; | $01&lt;br /&gt;
| style=&#039;background-color:#550000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $55 / G: $00 / B: $00&#039; | $02&lt;br /&gt;
| style=&#039;background-color:#000000; color:#ffffff&#039; class=&#039;pal-td&#039; title=&#039;R: $00 / G: $00 / B: $00&#039; | $03&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
{{#css:User:NerdOfEpic/builtin-palette.css}}&lt;br /&gt;
Return to the [[Built-In Palette List]]&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_List&amp;diff=747</id>
		<title>Built-In Palette List</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Built-In_Palette_List&amp;diff=747"/>
		<updated>2024-04-01T14:56:13Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Built-In Palettes ==&lt;br /&gt;
&lt;br /&gt;
Sometimes a developer will want to make a game that is visually&lt;br /&gt;
similar to one for some other system.  For that to work properly, a&lt;br /&gt;
part of that is that the colors are correct for the system being&lt;br /&gt;
imitated.&lt;br /&gt;
&lt;br /&gt;
To make this as easy as possible for game developers NerdConsole&lt;br /&gt;
supplies a vast collection of built-in palettes from other systems.&lt;br /&gt;
This saves the effort of researching the color palettes or putting&lt;br /&gt;
the data for them into your ROM.&lt;br /&gt;
&lt;br /&gt;
The palette ID to use when setting up a special command is included&lt;br /&gt;
in the list below.&lt;br /&gt;
&lt;br /&gt;
=== Available Palettes ===&lt;br /&gt;
* PC Group&lt;br /&gt;
** ($00) [[Built-In Palette - CGA Mode 4 Palette 0 Low Intensity|CGA Mode 4 Palette 0 Low Intensity]]&lt;br /&gt;
** ($01) [[Built-In Palette - CGA Mode 4 Palette 0 High Intensity|CGA Mode 4 Palette 0 High Intensity]]&lt;br /&gt;
** ($02) [[Built-In Palette - CGA Mode 4 Palette 1 Low Intensity|CGA Mode 4 Palette 1 Low Intensity]]&lt;br /&gt;
** ($03) [[Built-In Palette - CGA Mode 4 Palette 1 High Intensity|CGA Mode 4 Palette 1 High Intensity]]&lt;br /&gt;
** ($04) [[Built-In Palette - CGA Mode 5 Low Intensity|CGA Mode 5 Low Intensity]]&lt;br /&gt;
** ($05) [[Built-In Palette - CGA Mode 5 High Intensity|CGA Mode 5 High Intensity]]&lt;br /&gt;
** ($06) [[Built-In Palette - EGA Default Palette|EGA Default Palette]]&lt;br /&gt;
** ($07) [[Built-In Palette - EGA Full Palette|EGA Full Palette]]&lt;br /&gt;
** ($08) [[Built-In Palette - VGA Default Palette|VGA Default Palette]]&lt;br /&gt;
** ($09) [[Built-In Palette - MS Paint|MS Paint]]&lt;br /&gt;
** ($0A) [[Built-In Palette - Microsoft Windows or OS/2|Microsoft Windows or OS/2]]&lt;br /&gt;
** ($0B) [[Built-In Palette - Microsoft Windows 20-color Palette|Microsoft Windows 20-color Palette]]&lt;br /&gt;
* Nintendo Group&lt;br /&gt;
** ($10) [[Built-In Palette - NES 2C02 Chip|NES 2C02 Chip]]&lt;br /&gt;
** ($11) [[Built-In Palette - NES 2C03 Chip|NES 2C03 Chip]]&lt;br /&gt;
** ($12) [[Built-In Palette - NES 2C03B Chip|NES 2C03B Chip]]&lt;br /&gt;
** ($13) [[Built-In Palette - NES 2C04-001 Chip|NES 2C04-001 Chip]]&lt;br /&gt;
** ($14) [[Built-In Palette - NES 2C04-002 Chip|NES 2C04-002 Chip]]&lt;br /&gt;
** ($15) [[Built-In Palette - NES 2C04-003 Chip|NES 2C04-003 Chip]]&lt;br /&gt;
** ($16) [[Built-In Palette - NES 2C04-004 Chip|NES 2C04-004 Chip]]&lt;br /&gt;
** ($17) [[Built-In Palette - NES Blargg Emulation|NES Blargg Emulation]]&lt;br /&gt;
** ($18) [[Built-In Palette - NES Conte Emulation|NES Conte Emulation]]&lt;br /&gt;
** ($19) [[Built-In Palette - NES Diskin Emulation|NES Diskin Emulation]]&lt;br /&gt;
** ($1A) [[Built-In Palette - Game Boy Green LCD|Game Boy Green LCD]]&lt;br /&gt;
** ($1B) [[Built-In Palette - Game Boy Pocket LCD|Game Boy Pocket LCD]]&lt;br /&gt;
** ($1C) [[Built-In Palette - Super Game Boy|Super Game Boy]]&lt;br /&gt;
** ($1D) [[Built-In Palette - Virtual Boy|Virtual Boy]]&lt;br /&gt;
* Sega Group&lt;br /&gt;
** ($20) [[Built-In Palette - Sega Master System|Sega Master System]]&lt;br /&gt;
* Commodore Group&lt;br /&gt;
** ($30) [[Built-In Palette - VIC-20 with 5 Luminance|VIC-20 with 5 Luminance]]&lt;br /&gt;
** ($31) [[Built-In Palette - VIC-20 with 9 Luminance|VIC-20 with 9 Luminance]]&lt;br /&gt;
** ($32) [[Built-In Palette - Commodore 64|Commodore 64]]&lt;br /&gt;
** ($33) [[Built-In Palette - Commodore 16 or Plus/4|Commodore 16 or Plus/4]]&lt;br /&gt;
* Atari Group&lt;br /&gt;
** ($40) [[Built-In Palette - Atari 2600 NTSC|Atari 2600 NTSC]]&lt;br /&gt;
** ($41) [[Built-In Palette - Atari 2600 PAL|Atari 2600 PAL]]&lt;br /&gt;
** ($42) [[Built-In Palette - Atari GTIA Chip|Atari GTIA Chip]]&lt;br /&gt;
* Apple Group&lt;br /&gt;
** ($50) [[Built-In Palette - Apple II|Apple II]]&lt;br /&gt;
** ($51) [[Built-In Palette - Apple II High Resolution|Apple II High Resolution]]&lt;br /&gt;
** ($52) [[Built-In Palette - Apple Macintosh|Apple Macintosh]]&lt;br /&gt;
* Other Consoles Group&lt;br /&gt;
** ($60) [[Built-In Palette - Odyssey 2|Odyssey 2]]&lt;br /&gt;
** ($61) [[Built-In Palette - Fairchild Channel F|Fairchild Channel F]]&lt;br /&gt;
** ($62) [[Built-In Palette - Epoch Super Cassette Vision|Epoch Super Cassette Vision]]&lt;br /&gt;
** ($63) [[Built-In Palette - Sam Coupe|Sam Coupe]]&lt;br /&gt;
** ($64) [[Built-In Palette - Mattel Intellivision|Mattel Intellivision]]&lt;br /&gt;
** ($65) [[Built-In Palette - Mattel Aquarius|Mattel Aquarius]]&lt;br /&gt;
* Other Computers Group&lt;br /&gt;
** ($70) [[Built-In Palette - BBC Micro|BBC Micro]]&lt;br /&gt;
** ($71) [[Built-In Palette - ZX Spectrum|ZX Spectrum]]&lt;br /&gt;
** ($72) [[Built-In Palette - TRS-80|TRS-80]]&lt;br /&gt;
** ($73) [[Built-In Palette - TI-99 NTSC|TI-99 NTSC]]&lt;br /&gt;
** ($74) [[Built-In Palette - TI-99 MESS Emulation|TI-99 MESS Emulation]]&lt;br /&gt;
** ($75) [[Built-In Palette - Amstrad CPC Default Palette|Amstrad CPC Default Palette]]&lt;br /&gt;
** ($76) [[Built-In Palette - Amstrad CPC Full Palette|Amstrad CPC Full Palette]]&lt;br /&gt;
** ($77) [[Built-In Palette - MSX|MSX]]&lt;br /&gt;
** ($78) [[Built-In Palette - Sinclair QL|Sinclair QL]]&lt;br /&gt;
** ($79) [[Built-In Palette - Thomson Fixed Palette 1|Thomson Fixed Palette 1]]&lt;br /&gt;
** ($7A) [[Built-In Palette - Thomson Fixed Palette 2|Thomson Fixed Palette 2]]&lt;br /&gt;
** ($7B) [[Built-In Palette - Thomson Fixed Palette 3|Thomson Fixed Palette 3]]&lt;br /&gt;
* Other Chips and Operating Systems Group&lt;br /&gt;
** ($80) [[Built-In Palette - TMS-99 Chip|TMS-99 Chip]]&lt;br /&gt;
** ($81) [[Built-In Palette - Motorola 6847 Chip|Motorola 6847 Chip]]&lt;br /&gt;
** ($82) [[Built-In Palette - RISC OS|RISC OS]]&lt;br /&gt;
* Classic Games Group&lt;br /&gt;
** ($D0) [[Built-In Palette - Wolfenstein 3D|Wolfenstein 3D]]&lt;br /&gt;
** ($D1) [[Built-In Palette - DOOM|DOOM]]&lt;br /&gt;
** ($D2) [[Built-In Palette - Quake|Quake]]&lt;br /&gt;
* General RGB Group&lt;br /&gt;
** ($E0) [[Built-In Palette - General Purpose RGB Levels 666|General Purpose RGB Levels 666]]&lt;br /&gt;
** ($E1) [[Built-In Palette - General Purpose RGB Levels 676|General Purpose RGB Levels 676]]&lt;br /&gt;
** ($E2) [[Built-In Palette - General Purpose RGB Levels 685|General Purpose RGB Levels 685]]&lt;br /&gt;
** ($E3) [[Built-In Palette - General Purpose RGB Levels 884|General Purpose RGB Levels 884]]&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=746</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=746"/>
		<updated>2024-02-15T01:33:39Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Wiki */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-2|PPU-2]] || Task || To Do || Integrate Pi4J for GPIO support.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-3|PPU-3]] || Task || To Do || Write GPIO data handler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
For 65C02 assembly code routines that you can integrate into your games if you like.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-2|ASM-2]] || Task || To Do || Write a routine for a partial page of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has 3mm wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - BOOK-1|BOOK-1]] || Task || To Do || Finish writing the special command part.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - WIKI-1|WIKI-1]] || Task || To Do || Add special command pages.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=745</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=745"/>
		<updated>2024-02-15T01:29:59Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Assembly Routines */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-2|PPU-2]] || Task || To Do || Integrate Pi4J for GPIO support.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-3|PPU-3]] || Task || To Do || Write GPIO data handler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
For 65C02 assembly code routines that you can integrate into your games if you like.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-2|ASM-2]] || Task || To Do || Write a routine for a partial page of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has 3mm wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - BOOK-1|BOOK-1]] || Task || To Do || Finish writing the special command part.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=744</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=744"/>
		<updated>2024-02-15T01:28:32Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* PPU */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-2|PPU-2]] || Task || To Do || Integrate Pi4J for GPIO support.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-3|PPU-3]] || Task || To Do || Write GPIO data handler.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
65C02 assembly code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has 3mm wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - BOOK-1|BOOK-1]] || Task || To Do || Finish writing the special command part.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Task_-_PPU-1&amp;diff=743</id>
		<title>Task - PPU-1</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Task_-_PPU-1&amp;diff=743"/>
		<updated>2024-02-15T01:26:49Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&#039;wikitable&#039;&lt;br /&gt;
! Code&lt;br /&gt;
| width=&#039;90%&#039; | PPU-1&lt;br /&gt;
|-&lt;br /&gt;
! Summary&lt;br /&gt;
| Finish test coverage for com.nerdofepic.nerdconsole.data package&lt;br /&gt;
|-&lt;br /&gt;
! Type&lt;br /&gt;
| Task&lt;br /&gt;
|-&lt;br /&gt;
! Status&lt;br /&gt;
| In-Progress&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;2&#039; | Description&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&#039;2&#039; |&lt;br /&gt;
As a key package the sits under almost the entire PPU, complete test coverage is important for the com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|-&lt;br /&gt;
! colspan=&#039;2&#039; | Notes&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&#039;2&#039; |&lt;br /&gt;
* Note&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Return to the list of [[Tasks]].&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=742</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=742"/>
		<updated>2024-02-15T01:25:29Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Other Boards */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
65C02 assembly code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has 3mm wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - BOOK-1|BOOK-1]] || Task || To Do || Finish writing the special command part.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=741</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=741"/>
		<updated>2024-02-15T01:25:05Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Specification Book */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
65C02 assembly code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - BOOK-1|BOOK-1]] || Task || To Do || Finish writing the special command part.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=740</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=740"/>
		<updated>2024-02-15T01:24:04Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Other Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
65C02 assembly code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-1|CAD-1]] || Task || To Do || Design the cartridge enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - CAD-2|CAD-2]] || Task || To Do || Design shims to hold up logic level board.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| BOOK-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
	<entry>
		<id>http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=739</id>
		<title>Tasks</title>
		<link rel="alternate" type="text/html" href="http://wiki.nerdconsole.com:80/index.php?title=Tasks&amp;diff=739"/>
		<updated>2024-02-15T01:22:03Z</updated>

		<summary type="html">&lt;p&gt;NerdOfEpic: /* Enclosure Parts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Welcome to the page I use for keeping track of things that I&#039;m working on.  As it turns out, finding good and free project management software is harder than I thought it would be.  Thus, instead of keeping a spreadsheet somewhere, I decided to make this page.&lt;br /&gt;
&lt;br /&gt;
= Software =&lt;br /&gt;
This section is for keeping track of software related work.  Since the PPU is software based in NerdConsole, this is likely to be the largest section of the task list.&lt;br /&gt;
&lt;br /&gt;
== PPU ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PPU-1|PPU-1]] || Task || To Do || Finish test coverage for com.nerdofepic.nerdconsole.data package.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Assembly Routines ==&lt;br /&gt;
65C02 assembly code.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ASM-1|ASM-1]] || Task || To Do || Write a routine for copying 256 byte pages of data.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Electronics =&lt;br /&gt;
This section is for PCB work.  Tracking the design and planning of the circuit boards that make up the system.&lt;br /&gt;
&lt;br /&gt;
== Main Board ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-1|MB-1]] || Task || To Do || Redesign the power circuit to include a fuse for the Raspberry Pi.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-2|MB-2]] || Task || To Do || Ensure PPU power traces are 3mm.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - MB-3|MB-3]] || Task || To Do || Verify the sub-schematics based on the whole schematic image.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Boards ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - PCB-1|PCB-1]] || Task || To Do || Make sure the Logic Level board has wide power traces.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Modelling =&lt;br /&gt;
This is for 3D Modelling work such as designing the plastic parts that make up the enclosure for NerdConsole and its cartridges.&lt;br /&gt;
&lt;br /&gt;
== Enclosure Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-1|ENC-1]] || Task || To Do || Design the bottom enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-2|ENC-2]] || Task || To Do || Design the top enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-3|ENC-3]] || Task || To Do || Design the cartridge guide.&lt;br /&gt;
|-&lt;br /&gt;
| [[Task - ENC-4|ENC-4]] || Task || To Do || Design a power switch and reset button panel.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Other Parts ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| CAD-1 || Task || To Do || (Fake Task) Something I need to do to make the enclosure.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Documentation =&lt;br /&gt;
Here I track my plans and progress for the NerdConsole book I&#039;m writing.  A place to go to get all your specifications in one place and hopefully a source of revenue for the project.&lt;br /&gt;
&lt;br /&gt;
== Specification Book ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| BOOK-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Wiki ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Task !! Type !! Status !! Summary&lt;br /&gt;
|-&lt;br /&gt;
| WIKI-1 || Task || To Do || (Fake Task) Something I need to do to with the book.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Key =&lt;br /&gt;
A reference for all useful bits of information.&lt;br /&gt;
&lt;br /&gt;
== Projects ==&lt;br /&gt;
These are the prefixes for the task codes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Project !! Description&lt;br /&gt;
|-&lt;br /&gt;
| PPU || Development work for the PPU program that runs on a Raspberry Pi in NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ASM || Development work for the assembler program used to make games for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| MB || Electrical engineering work on the various NerdConsole Mainboard PCB.&lt;br /&gt;
|-&lt;br /&gt;
| PCB || Electrical engineering work on the various supplemental PCBs that are part of NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| ENC || 3D Modelling work for designing the printable parts for the NerdConsole enclosure.&lt;br /&gt;
|-&lt;br /&gt;
| CAD || 3D Modelling work for designing printable parts for NerdConsole.&lt;br /&gt;
|-&lt;br /&gt;
| BOOK || Documentation work on the NerdConsole specifications book.&lt;br /&gt;
|-&lt;br /&gt;
| WIKI || Documentation work on the NerdConsole wiki.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Types ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Type !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Task || Something I need to do to.&lt;br /&gt;
|-&lt;br /&gt;
| Bug || Something that was discovered to be working wrong and needs fixing.&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Statuses ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Status !! Description&lt;br /&gt;
|-&lt;br /&gt;
| Planning || Indicates that the task is brand new and has not been fleshed out enough yet to be useful.&lt;br /&gt;
|-&lt;br /&gt;
| To Do || Indicates that the task has not been started.  Typically, new tasks will advance this status once they have been sufficiently planned.&lt;br /&gt;
|-&lt;br /&gt;
| In Progress || Indicates that the task is currently being worked on.&lt;br /&gt;
|-&lt;br /&gt;
| Stalled || Indicates that the task is stalled.  This could mean I&#039;m waiting for parts, motivation, dependent tasks to be wrapped up, or for planning to catch up.&lt;br /&gt;
|-&lt;br /&gt;
| Done || Indicates that the task is complete.&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>NerdOfEpic</name></author>
	</entry>
</feed>