In memory of Ben “bushing” Byer, who passed away on Monday, February 8th, 2016.

Changes

Jump to navigation Jump to search
2,939 bytes added ,  13:29, 17 August 2024
Created page with "'''LVC''' is the firmware running on the DRC-WUP. It uses the eForce uC3/Standard operating system, which follows the μITRON4.0 Specification. = Firmware = T..."
'''LVC''' is the firmware running on the [[GamePad/DRC|DRC-WUP]]. It uses the eForce uC3/Standard operating system, which follows the μITRON4.0 Specification.

= Firmware =
The firmware is split up into several drivers, services and managers.

== Application ==
After starting uC3 the APLMAIN task is created, which sets up the different drivers, services and managers.

== Drivers ==

*[[GamePad/LVC/drvaamp|drvaamp]] - Audio amplifier
*[[GamePad/LVC/drvacapt|drvacapt]] - Audio capture
*[[GamePad/LVC/drvaout|drvaout]] - Audio output
*[[GamePad/LVC/drvblit|drvblit]] - Screen surface blit
*[[GamePad/LVC/drvcmos|drvcmos]] - Video camera
*[[GamePad/LVC/drvdma|drvdma]] - DMA handling
*[[GamePad/LVC/drvevt|drvevt]] - Events and callbacks
*[[GamePad/LVC/drvfifo|drvfifo]]
*[[GamePad/LVC/drvflash|drvflash]] - SPI flash
*[[GamePad/LVC/drvgpio|drvgpio]] - GPIO management
*[[GamePad/LVC/drvi2c|drvi2c]] - I²C
*[[GamePad/LVC/drvir|drvir]] - InfraRed
*[[GamePad/LVC/drvldc|drvldc]] - LCD
*[[GamePad/LVC/drvmem|drvmem]] - Memory allocation and stats
*[[GamePad/LVC/drvspi|drvspi]] - SPI
*[[GamePad/LVC/drvuic|drvuic]] - Communication with the UIC
*[[GamePad/LVC/drvvcapt|drvvcapt]] - Video capture
*[[GamePad/LVC/drvvout|drvvout]] - Video output
*[[GamePad/LVC/drvwifi|drvwifi]] - Wi-Fi networking

== Services ==
*[[GamePad/LVC/sc_astrm|sc_astrm]] - Audio streaming protocol
*[[GamePad/LVC/sc_cmd|sc_cmd]] - Command protocol
*[[GamePad/LVC/sc_hiddat|sc_hiddat]] - Input protocol
*[[GamePad/LVC/sc_msg|sc_msg]]
*[[GamePad/LVC/sc_vstrm|sc_vstrm]] - Video streaming protocol
*[[GamePad/LVC/sc_wii|sc_wii]]

== Managers ==
*[[GamePad/LVC/mc_cmd|mc_cmd]] - Handles commands from [[sc_cmd]]
*[[GamePad/LVC/mc_con|mc_con]] - Low level networking
*[[GamePad/LVC/mc_devif|mc_devif]]
*[[GamePad/LVC/mc_draw|mc_draw]] - Screen drawing routines
*[[GamePad/LVC/mc_gamectrl|mc_gamectrl]]
*[[GamePad/LVC/mc_ictag|mc_ictag]] - NFC
*[[GamePad/LVC/mc_ir|mc_ir]] - InfraRed
*[[GamePad/LVC/mc_msg|mc_msg]]
*[[GamePad/LVC/mc_nvram|mc_nvram]] - Flash and firmware management
*[[GamePad/LVC/mc_nwk|mc_nwk]] - Networking
*[[GamePad/LVC/mc_resource|mc_resource]] - Flash resource loading
*[[GamePad/LVC/mc_sound|mc_sound]]
*[[GamePad/LVC/mc_state|mc_state]] - GamePad state management
*[[GamePad/LVC/mc_sync|mc_sync]]
*[[GamePad/LVC/mc_time|mc_time]]
*[[GamePad/LVC/mc_userif|mc_userif]] - Input data parsing for on-GamePad applications
*[[GamePad/LVC/mc_video|mc_video]] - Video stream decoding and playback

= Memory Map =
This is the memory map setup for the MMU. All virtual and physical addresses are the same, so there is no address translation being used.
{| class="wikitable"
|-
! Start Address
! End Address
! Size
! Description
|-
| 0x00000000
| 0x00157FFF
| 0x158000
| Cached memory
|-
| 0x00158000
| 0x003F7FFF
| 0x2A0000
| Uncached memory
|-
| 0x003F8000
| 0x003FFFFF
| 0x8000
| MMU translation table
|-
| 0xE0000000
| 0xFFFFFFFF
| 0x20000000
| MMIO
|}

Navigation menu