SASC
DVBSoftCAM

cN2Emu Class Reference

#include <nagra2.h>

Inheritance diagram for cN2Emu:

List of all members.

Public Member Functions

 cN2Emu (void)
virtual ~cN2Emu ()
 cN2Emu (void)
virtual ~cN2Emu ()

Protected Member Functions

bool Init (int id, int romv)
virtual bool RomInit (void)
virtual void Stepper (void)
bool Init (int id, int romv)
virtual bool RomInit (void)
virtual void Stepper (void)

Detailed Description

Definition at line 268 of file nagra2.h.


Constructor & Destructor Documentation

cN2Emu::cN2Emu ( void  )

Definition at line 322 of file nagra2.c.

{
  initDone=false;
}
virtual cN2Emu::~cN2Emu ( ) [inline, virtual]

Definition at line 277 of file nagra2.h.

{}
cN2Emu::cN2Emu ( void  )
virtual cN2Emu::~cN2Emu ( ) [inline, virtual]

Definition at line 277 of file nagra2.h.

{}

Member Function Documentation

bool cN2Emu::Init ( int  id,
int  romv 
) [protected]

Definition at line 327 of file nagra2.c.

References c6805::AddMapper(), c6805::ResetMapper(), and RomInit().

Referenced by cN2Prov0101::Algo(), cN2Prov4101::ProcessBx(), cN2Prov0501::ProcessBx(), cN2Prov0101::ProcessBx(), cN2Prov0101::ProcessEx(), cN2Prov0501::RunEmu(), and cN2Prov0101::RunEmu().

{
  if(!initDone) {
    ResetMapper();
    char buff[256];
    snprintf(buff,sizeof(buff),"ROM%d.bin",romv);
    // UROM  0x00:0x4000-0x7fff
    if(!AddMapper(new cMapRom(0x4000,buff,0x00000),0x4000,0x4000,0x00)) return false;
    // ROM00 0x00:0x8000-0xffff
    if(!AddMapper(new cMapRom(0x8000,buff,0x04000),0x8000,0x8000,0x00)) return false;
    // ROM01 0x01:0x8000-0xffff
    if(!AddMapper(new cMapRom(0x8000,buff,0x0C000),0x8000,0x8000,0x01)) return false;
    // ROM02 0x02:0x8000-0xbfff
    if(!AddMapper(new cMapRom(0x8000,buff,0x14000),0x8000,romv>=110?0x8000:0x4000,0x02)) return false;

    snprintf(buff,sizeof(buff),"EEP%02X_%d.bin",((id>>8)&0xFF)|0x01,romv);
    // Eeprom00 0x00:0x3000-0x37ff OTP 0x80
    //XXX if(!AddMapper(new cMapRom(0x3000,buff,0x0000),0x3000,0x0800,0x00)) return false;
    if(!AddMapper(new cMapEeprom(0x3000,buff,128,0x0000),0x3000,0x0800,0x00)) return false;
    // Eeprom80 0x80:0x8000-0xbfff
    //XXX if(!AddMapper(new cMapRom(0x8000,buff,0x0800),0x8000,0x4000,0x80)) return false;
    if(!AddMapper(new cMapEeprom(0x8000,buff,  0,0x0800),0x8000,0x4000,0x80)) return false;
    initDone=RomInit();
    }
  return initDone;
}
bool cN2Emu::Init ( int  id,
int  romv 
) [protected]
virtual bool cN2Emu::RomInit ( void  ) [inline, protected, virtual]

Reimplemented in cN2Prov0101, cN2Prov0501, cN2Prov0101, and cN2Prov0501.

Definition at line 273 of file nagra2.h.

{ return true; }
virtual bool cN2Emu::RomInit ( void  ) [inline, protected, virtual]

Reimplemented in cN2Prov0101, cN2Prov0501, cN2Prov0101, and cN2Prov0501.

Definition at line 273 of file nagra2.h.

Referenced by Init().

{ return true; }
virtual void cN2Emu::Stepper ( void  ) [inline, protected, virtual]

Implements c6805.

Reimplemented in cN2Prov0101, and cN2Prov0101.

Definition at line 274 of file nagra2.h.

{}
virtual void cN2Emu::Stepper ( void  ) [inline, protected, virtual]

Implements c6805.

Reimplemented in cN2Prov0101, and cN2Prov0101.

Definition at line 274 of file nagra2.h.

{}

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