| 
				   | 
				
| (5 intermediate revisions by the same user not shown) | 
| Line 17: | 
Line 17: | 
|   | ==Component Source Code==  |   | ==Component Source Code==  | 
|   |  |   |  | 
| − | Please click here to download the component source project: [https://www.flowcode.co.uk/wikicopy/componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx]  | + | Please click here to download the component source project: [https://www.flowcode.co.uk/wiki/componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx]  | 
|   |  |   |  | 
|   | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx]  |   | Please click here to view the component source code (Beta): [https://www.flowcode.co.uk/FlowchartView/?wfile=componentsource/FC_Comp_Source_FTDI-FT800.fcfx FC_Comp_Source_FTDI-FT800.fcfx]  | 
|   |  |   |  | 
|   | ==Detailed description==  |   | ==Detailed description==  | 
|   | + |  | 
|   | + |  | 
|   | + |  | 
|   | + |  | 
|   |  |   |  | 
|   |  |   |  | 
| Line 63: | 
Line 67: | 
|   |  |   |  | 
|   |  |   |  | 
| − | ''<span style="color:red;">No additional examples</span>''
  |   | 
|   |  |   |  | 
| − | ==Macro reference==
  |   | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IncrementCommandOffset'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Adds commandSize to the currentOffset. Checks for 4K ring-buffer offset roll-over   
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" | currentOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | graphics processor command list pointer 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" | commandSize
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | number of bytes to increment the offset 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  | + | ''<span style="color:red;">No additional examples</span>''  | 
| − | |-
  | + |    | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  | + |    | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead16'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single unsigned int from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead8'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single data byte from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead32'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single unsigned long from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite16'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Writes a unsigned int value to the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite8'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Writes a byte value to the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
|   |  |   |  | 
|   | + | ==Macro reference==  | 
|   |  |   |  | 
|   | + | ===CommandWrite===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
| Line 208: | 
Line 104: | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  | + | ===IncrementCommandOffset===  | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite32'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Writes a unsigned long value to the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | System initialization routines.  Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − |    |   | 
| − |    |   | 
| − | ==Property reference==
  |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | SPI Properties
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | Channel
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Channel selector 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | Prescale
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Prescale option selector 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | MOSI
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | MISO
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | CLK
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Pin Connections
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | Power Pin
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | CS Pin
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Display Properties
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Width
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Active width of LCD display 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Height
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Active height of LCD display 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HCycle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Total number of clocks per line 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of active line 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HSync0
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of horizontal sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HSync1
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | End of horizontal sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VCycle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Total number of lines per screen 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of active screen 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VSync0
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of vertical sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VSync1
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | End of vertical sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | PixelClock
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Pixel Clock  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Swizzle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  Define RGB output pins 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Clock Polarity
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Define active edge of PCLK  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
  |   | 
| − | | width="90%" | Scope Traces
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Selects if the scope traces are automatically generated or not 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
  |   | 
| − | | width="90%" | Console Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Selects if the console data is automatically generated or not 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | API
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |}==Macro reference==
  |   | 
| − |    |   | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
| Line 409: | 
Line 128: | 
|   |  |   |  | 
|   |  |   |  | 
|   | + | ===Initialise===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
|   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  |   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead16'''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''  | 
|   | |-  |   | |-  | 
| − | | colspan="2" | Reads a single unsigned int from the FT800 internal address space   | + | | colspan="2" | System initialization routines.  Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised.   | 
|   | |-  |   | |-  | 
|   | |-  |   | |-  | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT  |   | 
|   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  |   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | 
|   | |}  |   | |}  | 
|   |  |   |  | 
|   |  |   |  | 
|   | + | ===MemRead16===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
|   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  |   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead8'''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead16'''  | 
|   | |-  |   | |-  | 
| − | | colspan="2" | Reads a single data byte from the FT800 internal address space   | + | | colspan="2" | Reads a single unsigned int from the FT800 internal address space   | 
|   | |-  |   | |-  | 
|   | |-  |   | |-  | 
| Line 440: | 
Line 156: | 
|   | | colspan="2" |    |   | | colspan="2" |    | 
|   | |-  |   | |-  | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT  | 
|   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  |   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | 
|   | |}  |   | |}  | 
|   |  |   |  | 
|   |  |   |  | 
|   | + | ===MemRead32===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
| Line 463: | 
Line 180: | 
|   |  |   |  | 
|   |  |   |  | 
|   | + | ===MemRead8===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
|   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  |   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite16'''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead8'''  | 
|   | |-  |   | |-  | 
| − | | colspan="2" | Writes a unsigned int value to the FT800 internal address space   | + | | colspan="2" | Reads a single data byte from the FT800 internal address space   | 
|   | |-  |   | |-  | 
|   | |-  |   | |-  | 
| Line 476: | 
Line 194: | 
|   | | colspan="2" |    |   | | colspan="2" |    | 
|   | |-  |   | |-  | 
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
  | + | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE  | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID  |   | 
|   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  |   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | 
|   | |}  |   | |}  | 
|   |  |   |  | 
|   |  |   |  | 
|   | + | ===MemWrite16===  | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
|   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  |   | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]  | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite8'''  | + | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite16'''  | 
|   | |-  |   | |-  | 
| − | | colspan="2" | Writes a byte value to the FT800 internal address space   | + | | colspan="2" | Writes a unsigned int value to the FT800 internal address space   | 
|   | |-  |   | |-  | 
|   | |-  |   | |-  | 
| Line 499: | 
Line 213: | 
|   | | colspan="2" |    |   | | colspan="2" |    | 
|   | |-  |   | |-  | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE  | + | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT  | 
|   | | width="90%" | Data  |   | | width="90%" | Data  | 
|   | |-  |   | |-  | 
| Line 509: | 
Line 223: | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  | + | ===MemWrite32===  | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommandWrite'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Sends FT800 command 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" | Command
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
| Line 550: | 
Line 247: | 
|   |  |   |  | 
|   |  |   |  | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  | + | ===MemWrite8===  | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | System initialization routines.  Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − |    |   | 
| − |    |   | 
| − | ==Property reference==
  |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" | [[File:Fc9-prop-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Properties''' 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | SPI Properties
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | Channel
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Channel selector 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | Prescale
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Prescale option selector 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | MOSI
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Data Out Pin SDO - Also Known as Master Out Slave In (MOSI) when used in Master mode. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | MISO
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Data In Pin SDI - Also Known as Master In Slave Out (MISO) when used in Master mode. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | CLK
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | SPI Clock Pin CLK - The Clock signal is driven by the SPI master. 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Pin Connections
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | Power Pin
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-5-icon.png]]
  |   | 
| − | | width="90%" | CS Pin
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Display Properties
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Width
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Active width of LCD display 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Height
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Active height of LCD display 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HCycle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Total number of clocks per line 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of active line 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HSync0
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of horizontal sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | HSync1
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | End of horizontal sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VCycle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Total number of lines per screen 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of active screen 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VSync0
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Start of vertical sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | VSync1
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | End of vertical sync pulse 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | PixelClock
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Pixel Clock  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Swizzle
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  Define RGB output pins 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-21-icon.png]]
  |   | 
| − | | width="90%" | Clock Polarity
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Define active edge of PCLK  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#EAE1EA;" | [[File:Fc9-conn-icon.png]]
  |   | 
| − | | width="90%" style="background-color:#EAE1EA; color:#4B008D;" | Simulation
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
  |   | 
| − | | width="90%" | Scope Traces
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Selects if the scope traces are automatically generated or not 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-7-icon.png]]
  |   | 
| − | | width="90%" | Console Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Selects if the console data is automatically generated or not 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-type-16-icon.png]]
  |   | 
| − | | width="90%" | API
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |}==Macro reference==
  |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''IncrementCommandOffset'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Adds commandSize to the currentOffset. Checks for 4K ring-buffer offset roll-over   
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" | currentOffset
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | graphics processor command list pointer 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" | commandSize
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | number of bytes to increment the offset 
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead16'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single unsigned int from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead8'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single data byte from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemRead32'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Reads a single unsigned long from the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite16'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Writes a unsigned int value to the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u16-icon.png]] - UINT
  |   | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − |    |   | 
| − |    |   | 
|   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  |   | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"  | 
|   | |-  |   | |-  | 
| Line 826: | 
Line 269: | 
|   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  |   | | width="90%" style="border-top: 2px solid #000;" | ''Return''  | 
|   | |}  |   | |}  | 
| − | 
  |   | 
| − | 
  |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''CommandWrite'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Sends FT800 command 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" | Command
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − | 
  |   | 
| − | 
  |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''MemWrite32'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | Writes a unsigned long value to the FT800 internal address space 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Address
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" | [[File:Fc9-u32-icon.png]] - ULONG
  |   | 
| − | | width="90%" | Data
  |   | 
| − | |-
  |   | 
| − | | colspan="2" |  
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-void-icon.png]] - VOID
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − | 
  |   | 
| − | 
  |   | 
| − | {| class="wikitable" style="width:60%; background-color:#FFFFFF;"
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="background-color:#D8C9D8;" align="center" | [[File:Fc9-comp-macro.png]]
  |   | 
| − | | width="90%" style="background-color:#D8C9D8; color:#4B008D;" | '''Initialise'''
  |   | 
| − | |-
  |   | 
| − | | colspan="2" | System initialization routines.  Executed once on reset. Returns 0 if device not detected or 1 if device is correctly initialised. 
  |   | 
| − | |-
  |   | 
| − | |-
  |   | 
| − | | width="10%" align="center" style="border-top: 2px solid #000;" | [[File:Fc9-u8-icon.png]] - BYTE
  |   | 
| − | | width="90%" style="border-top: 2px solid #000;" | ''Return''
  |   | 
| − | |}
  |   | 
| − | 
  |   | 
| − | 
  |   | 
|   |  |   |  | 
|   |  |   |  |