SASC
DVBSoftCAM

cEmuRom10Core Class Reference

Inheritance diagram for cEmuRom10Core:

List of all members.

Classes

struct  Map

Public Member Functions

 cEmuRom10Core (void)
 cEmuRom10Core (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 DoMaps (bool hasExt, int romSize)
bool CoreInitSetup (void)
bool CoreUpdateSetup (const unsigned char *emm)
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 DoMaps (bool hasExt, int romSize)
bool CoreInitSetup (void)
bool CoreUpdateSetup (const unsigned char *emm)

Protected Attributes

struct cEmuRom10Core::Map map

Detailed Description

Definition at line 331 of file nagra1.c.


Constructor & Destructor Documentation

cEmuRom10Core::cEmuRom10Core ( void  )

Definition at line 345 of file nagra1.c.

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

cEmuRom10Core::cEmuRom10Core ( void  )

Member Function Documentation

bool cEmuRom10Core::CoreInitSetup ( void  ) [protected]

Definition at line 382 of file nagra1.c.

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

Referenced by cEmuRom11::InitSetup(), and cEmuRom10::InitSetup().

{
  ForceSet(0x01,0x13,true);
  Set(0x02,0x82); Set(0x02,0x3); // beware of the WriteHandler!
  Set(0x07,0xFF);
  return true;
}
bool cEmuRom10Core::CoreInitSetup ( void  ) [protected]
bool cEmuRom10Core::CoreUpdateSetup ( const unsigned char *  emm) [protected]

Definition at line 390 of file nagra1.c.

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

Referenced by cEmuRom11::UpdateSetup(), and cEmuRom10::UpdateSetup().

{
  SetMem(0x01A2,&emm[1],2);
  SetMem(0x0307,&emm[1],2);
  Set(0x0300,emm[5]);
  Set(0x0301,emm[2]);
  return true;
}
bool cEmuRom10Core::CoreUpdateSetup ( const unsigned char *  emm) [protected]
bool cEmuRom10Core::DoMaps ( bool  hasExt,
int  romSize 
) [protected]

Definition at line 374 of file nagra1.c.

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

Referenced by cEmuRom11::InitSetup(), and cEmuRom10::InitSetup().

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

Reimplemented from c6805.

void cEmuRom10Core::ReadHandler ( unsigned char  seg,
unsigned short  ea,
unsigned char &  op 
) [protected, virtual]

Reimplemented from c6805.

Definition at line 361 of file nagra1.c.

References c6805::cc, c6805::Get(), and c6805::CC::i.

{
  switch(ea) {
    case 0x05:
    case 0x06:
      if(cc.i && (Get(0x07)&0x80)) op=random()&0xFF;
      break;
    case 0x07:
      if(cc.i) op&=0xFD; else op|=0x02;
      break;
    }
}
virtual void cEmuRom10Core::Stepper ( void  ) [protected, virtual]

Implements c6805.

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

Implements c6805.

Definition at line 350 of file nagra1.c.

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

Reimplemented from c6805.

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

Reimplemented from c6805.

Definition at line 353 of file nagra1.c.

References c6805::Get().

{
  if(ea==0x02) {
    unsigned char old=Get(0x02);
    if(!(old&0x80)) op=(op&0xFE) | (old&0x01);
    }
}

Member Data Documentation


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