libElysianVMU 1.6.0
Full-featured, accurate, cross-platform library emulating the Dreamcast's Visual Memory Unit
Loading...
Searching...
No Matches
EvmuRam Struct Reference

#include <evmu_ram.h>

Inheritance diagram for EvmuRam:
EvmuPeripheral EvmuIMemory EvmuIBehavior

Data Fields

union { 
 
   EvmuRamClass *   pClass 
 
   EvmuPeripheral   base 
 
};  
 
GblBool dataChanged
 
- Data Fields inherited from EvmuPeripheral
union { 
 
   EvmuPeripheralClass *   pClass 
 
   GblObject   base 
 
};  
 
GblFlags logLevel
 

Related Symbols

(Note that these are not member symbols.)

Address Modes

Method(s) for working with address modes

EvmuAddress EvmuRam_indirectAddress (const EvmuRam *pSelf, size_t mode)
 
Data Memory

Methods for managing the data address space

EvmuWord EvmuRam_readData (const EvmuRam *pSelf, EvmuAddress addr)
 
EvmuWord EvmuRam_readDataLatch (const EvmuRam *pSelf, EvmuAddress addr)
 
EvmuWord EvmuRam_viewData (const EvmuRam *pSelf, EvmuAddress addr)
 
EVMU_RESULT EvmuRam_writeData (EvmuRam *pSelf, EvmuAddress addr, EvmuWord val)
 
EVMU_RESULT EvmuRam_writeDataLatch (EvmuRam *pSelf, EvmuAddress addr, EvmuWord val)
 
Program Memory

Methods for managing the program address space

EVMU_PROGRAM_SRC EvmuRam_programSrc (const EvmuRam *pSelf)
 
EVMU_RESULT EvmuRam_setProgramSrc (EvmuRam *pSelf, EVMU_PROGRAM_SRC src)
 
EvmuWord EvmuRam_readProgram (const EvmuRam *pSelf, EvmuAddress addr)
 
EVMU_RESULT EvmuRam_writeProgram (EvmuRam *pSelf, EvmuAddress addr, EvmuWord val)
 
Stack

Methods for managing the program stack

int EvmuRam_stackDepth (const EvmuRam *pSelf)
 
EvmuWord EvmuRam_viewStack (const EvmuRam *pSelf, size_t depth)
 
EvmuWord EvmuRam_popStack (EvmuRam *pSelf)
 
EVMU_RESULT EvmuRam_pushStack (EvmuRam *pSelf, EvmuWord value)
 

Detailed Description

GblInstance structure for EvmuPeripheral.

Actual instantiable object for a "memory" peripheral. Public members are user r/w toggles which are used for the back-end to notify the client that a particular region of memory has changed. The client is then to reset the toggle of interest, in acknolwedgement, so it can be set again later.

See also
EvmuRamClass

Definition at line 71 of file evmu_ram.h.

Friends And Related Symbol Documentation

◆ EvmuRam_indirectAddress()

EvmuAddress EvmuRam_indirectAddress ( const EvmuRam * pSelf,
size_t mode )
related

Returns the memory address pointed to by the given register indirect mode.

◆ EvmuRam_popStack()

EvmuWord EvmuRam_popStack ( EvmuRam * pSelf)
related

Pops the value from the top of the stack, returning it and updating the stack pointer.

◆ EvmuRam_programSrc()

EVMU_PROGRAM_SRC EvmuRam_programSrc ( const EvmuRam * pSelf)
related

Returns the current source memory chip for program data (ROM or Flash)

◆ EvmuRam_pushStack()

EVMU_RESULT EvmuRam_pushStack ( EvmuRam * pSelf,
EvmuWord value )
related

Pushes value onto the top of the stack, updating the stack pointer.

◆ EvmuRam_readData()

EvmuWord EvmuRam_readData ( const EvmuRam * pSelf,
EvmuAddress addr )
related

Returns the register or port value located in data memory at the address given by addr.

◆ EvmuRam_readDataLatch()

EvmuWord EvmuRam_readDataLatch ( const EvmuRam * pSelf,
EvmuAddress addr )
related

Returns the latch value located in data memory at the address given by addr.

◆ EvmuRam_readProgram()

EvmuWord EvmuRam_readProgram ( const EvmuRam * pSelf,
EvmuAddress addr )
related

Returns the value located in program memory at the address given by addr.

◆ EvmuRam_setProgramSrc()

EVMU_RESULT EvmuRam_setProgramSrc ( EvmuRam * pSelf,
EVMU_PROGRAM_SRC src )
related

Sets the current source memory chip for program data to src (ROM or Flash)

◆ EvmuRam_stackDepth()

int EvmuRam_stackDepth ( const EvmuRam * pSelf)
related

Returns the current depth of the program stack.

◆ EvmuRam_viewData()

EvmuWord EvmuRam_viewData ( const EvmuRam * pSelf,
EvmuAddress addr )
related

Returns the register or port value located in data memory at the given address WITHOUT triggering read side-effects.

◆ EvmuRam_viewStack()

EvmuWord EvmuRam_viewStack ( const EvmuRam * pSelf,
size_t depth )
related

Returns the value at the given stack depth (0 is current stack location)

◆ EvmuRam_writeData()

EVMU_RESULT EvmuRam_writeData ( EvmuRam * pSelf,
EvmuAddress addr,
EvmuWord val )
related

Writes val to the register or port at the addr address in data memory.

◆ EvmuRam_writeDataLatch()

EVMU_RESULT EvmuRam_writeDataLatch ( EvmuRam * pSelf,
EvmuAddress addr,
EvmuWord val )
related

Writes val to the latch located at the addr address in data memory.

◆ EvmuRam_writeProgram()

EVMU_RESULT EvmuRam_writeProgram ( EvmuRam * pSelf,
EvmuAddress addr,
EvmuWord val )
related

Writes the val value to the location given by addr to program memory.

Field Documentation

◆ base

EvmuPeripheral EvmuRam::base

Inherited base instance structure.

Definition at line 71 of file evmu_ram.h.

◆ dataChanged

GblBool EvmuRam::dataChanged

Definition at line 72 of file evmu_ram.h.

◆ pClass

EvmuRamClass* EvmuRam::pClass

Pointer to class/vtable structure.

Definition at line 71 of file evmu_ram.h.


The documentation for this struct was generated from the following file: