KallistiOS git master
Independent SDK for the Sega Dreamcast
Loading...
Searching...
No Matches
Elan

VideoLogic Elan T&L coprocessor (NAOMI 2) More...

Topics

 IFCTL bits
 Fields of ELAN_REG_IFCTL
 
 Register offsets
 Offsets from ELAN_BASE
 

Files

file  elan.h
 VideoLogic Elan T&L coprocessor (NAOMI 2).
 

Macros

#define ELAN_BASE   0xa8800000
 Elan register block, P2.
 
#define ELAN_MAGIC   0xe1ad0000
 Value of ELAN_REG_ID on a present Elan.
 
#define ELAN_RAM_BASE_P0   0x0a000000
 Elan local RAM, P0.
 
#define ELAN_RAM_BASE   (MEM_AREA_P2_BASE | ELAN_RAM_BASE_P0)
 Elan local RAM, P2.
 
#define ELAN_RAM_SIZE   (32 * 1024 * 1024)
 Elan local RAM size in bytes.
 
#define ELAN_GET(reg)
 Read an Elan register.
 
#define ELAN_SET(reg, value)
 Write an Elan register.
 

Functions

bool elan_present (void)
 True when Elan is present (NAOMI 2).
 
uint32_t elan_revision (void)
 Elan revision register, or 0 if absent.
 
uint32_t elan_ifctl_get (void)
 Current IFCTL value, or 0 if Elan is absent.
 
void elan_ifctl_set (uint32_t value)
 Write IFCTL.
 
void elan_pvr2_enable (void)
 Enable CLXB address windows (IFCTL bit 2, never bit 0).
 
void elan_pvr2_disable (void)
 Disable CLXB address windows (IFCTL = 0).
 
bool elan_pvr2_enabled (void)
 True if IFCTL bit 2 is set.
 

Detailed Description

VideoLogic Elan T&L coprocessor (NAOMI 2)

Macro Definition Documentation

◆ ELAN_BASE

#define ELAN_BASE   0xa8800000

Elan register block, P2.

◆ ELAN_GET

#define ELAN_GET ( reg)
Value:
(*(volatile uint32_t *)(ELAN_BASE + (reg)))
#define ELAN_BASE
Elan register block, P2.
Definition elan.h:42

Read an Elan register.

◆ ELAN_MAGIC

#define ELAN_MAGIC   0xe1ad0000

Value of ELAN_REG_ID on a present Elan.

◆ ELAN_RAM_BASE

#define ELAN_RAM_BASE   (MEM_AREA_P2_BASE | ELAN_RAM_BASE_P0)

Elan local RAM, P2.

◆ ELAN_RAM_BASE_P0

#define ELAN_RAM_BASE_P0   0x0a000000

Elan local RAM, P0.

◆ ELAN_RAM_SIZE

#define ELAN_RAM_SIZE   (32 * 1024 * 1024)

Elan local RAM size in bytes.

◆ ELAN_SET

#define ELAN_SET ( reg,
value )
Value:
(ELAN_GET(reg) = (value))
#define ELAN_GET(reg)
Read an Elan register.
Definition elan.h:83

Write an Elan register.

Function Documentation

◆ elan_ifctl_get()

uint32_t elan_ifctl_get ( void )

Current IFCTL value, or 0 if Elan is absent.

◆ elan_ifctl_set()

void elan_ifctl_set ( uint32_t value)

Write IFCTL.

Warning
Bit 0 (ELAN_IFCTL_CS1_BCAST) broadcasts CS1 to both GPUs. Leave it clear unless you are duplicating textures on purpose.

◆ elan_present()

bool elan_present ( void )

True when Elan is present (NAOMI 2).

◆ elan_pvr2_disable()

void elan_pvr2_disable ( void )

Disable CLXB address windows (IFCTL = 0).

◆ elan_pvr2_enable()

void elan_pvr2_enable ( void )

Enable CLXB address windows (IFCTL bit 2, never bit 0).

◆ elan_pvr2_enabled()

bool elan_pvr2_enabled ( void )

True if IFCTL bit 2 is set.

◆ elan_revision()

uint32_t elan_revision ( void )

Elan revision register, or 0 if absent.