SASC
DVBSoftCAM

cEmuRom3Core Class Reference

Inheritance diagram for cEmuRom3Core:

List of all members.

Public Member Functions

 cEmuRom3Core (void)
 cEmuRom3Core (void)

Protected Member Functions

virtual void Stepper (void)
virtual void WriteHandler (unsigned char seg, unsigned short ea, unsigned char &op)
virtual void ReadHandler (unsigned char seg, unsigned short ea, unsigned char &op)
bool CoreInitSetup (void)
bool DoMaps (bool hasExt)
virtual void Stepper (void)
virtual void WriteHandler (unsigned char seg, unsigned short ea, unsigned char &op)
virtual void ReadHandler (unsigned char seg, unsigned short ea, unsigned char &op)
bool CoreInitSetup (void)
bool DoMaps (bool hasExt)

Detailed Description

Definition at line 188 of file nagra1.c.


Constructor & Destructor Documentation

cEmuRom3Core::cEmuRom3Core ( void  )

Definition at line 201 of file nagra1.c.

References c6805::hasReadHandler, and c6805::hasWriteHandler.

{
  hasReadHandler=hasWriteHandler=true;
  special05=false;
}
cEmuRom3Core::cEmuRom3Core ( void  )

Member Function Documentation

bool cEmuRom3Core::CoreInitSetup ( void  ) [protected]

Definition at line 234 of file nagra1.c.

References c6805::ForceSet(), and c6805::Set().

Referenced by cEmuRom7::InitSetup(), cEmuRom3::InitSetup(), and cEmuRom3::UpdateSetup().

{
  ForceSet(0x0001,1<<3,true);
  Set(0x0002,0x03);
  Set(0x004e,0x4B);
  return true;
}
bool cEmuRom3Core::CoreInitSetup ( void  ) [protected]
bool cEmuRom3Core::DoMaps ( bool  hasExt) [protected]

Definition at line 242 of file nagra1.c.

References cEmu::AddEeprom(), cEmu::AddRom(), cEmu::eepromName, cEmu::romExtName, and cEmu::romName.

Referenced by cEmuRom7::InitSetup(), and cEmuRom3::InitSetup().

{
  // Eeprom & ROMext are non-fatal also they are required for some providers
  if(hasExt) AddRom(0x2000,0x2000,romExtName);
  AddEeprom(0xE000,0x1000,0x20,eepromName);
  return AddRom(0x4000,0x4000,romName);
}
bool cEmuRom3Core::DoMaps ( bool  hasExt) [protected]
void cEmuRom3Core::ReadHandler ( unsigned char  seg,
unsigned short  ea,
unsigned char &  op 
) [protected, virtual]

Reimplemented from c6805.

Definition at line 212 of file nagra1.c.

References c6805::Get(), and start().

{
  if(special05) {
    special05=false; // prevent loop
    unsigned short start=Get(0x30C0);
    unsigned short end=Get(0x30C1);
    if(((ea>>8)>=start) && ((ea>>8)<=end)) op=0x00; // dataspace
    else op=0x01;                                   // codespace
    special05=true;
    }
  else
    switch(ea) {
      case 0x06:
      case 0x07:
        if(!(Get(0x04)&4)) op=random()&0xFF;
        break;
      }
}
virtual void cEmuRom3Core::ReadHandler ( unsigned char  seg,
unsigned short  ea,
unsigned char &  op 
) [protected, virtual]

Reimplemented from c6805.

virtual void cEmuRom3Core::Stepper ( void  ) [protected, virtual]

Implements c6805.

void cEmuRom3Core::Stepper ( void  ) [protected, virtual]

Implements c6805.

Definition at line 231 of file nagra1.c.

{}
void cEmuRom3Core::WriteHandler ( unsigned char  seg,
unsigned short  ea,
unsigned char &  op 
) [protected, virtual]

Reimplemented from c6805.

Definition at line 207 of file nagra1.c.

{
  if(ea==0x05) special05=(op&0x40)!=0;
}
virtual void cEmuRom3Core::WriteHandler ( unsigned char  seg,
unsigned short  ea,
unsigned char &  op 
) [protected, virtual]

Reimplemented from c6805.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines