SASC-NG
DVBSoftCAM

cN2Emu Class Reference

#include <nagra2.h>

Inheritance diagram for cN2Emu:

List of all members.

Public Member Functions

 cN2Emu (void)
virtual ~cN2Emu ()

Protected Member Functions

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.

{}

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;
}
virtual bool cN2Emu::RomInit ( void  ) [inline, protected, virtual]

Reimplemented in 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.

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