rem: pd->m_UserException  = NULL; pd->m_SuperException = NULL;
add: pd->m_ROM                  = rom_start; pd->m_ROMShadowBuffer      = rom_shadow; pd->m_CustomShadowBuffer   = location;
context: AllocPUH( void ){  struct PUHData* pd = NULL;  if( MMUBase == NULL )  {    printf( "MMUBase not initialized!\n" );  }  if( GetMMUType() == MUTYPE_NONE )  {    printf( "This program requires an MMU.\n" );  }  else  {    struct MMUContext* uctx;    struct MMUContext* sctx;    struct MMUContext* ctxs[ 3 ];    void*              location;    ULONG              page_size;    ULONG              size;    // Get default and supervisor contexts    uctx = DefaultContext();    sctx = SuperContext( uctx );    ctxs[ 0 ] = uctx;    ctxs[ 1 ] = sctx;    ctxs[ 2 ] = NULL;    page_size = max( GetPageSize( uctx ), GetPageSize( sctx ) );    // Allocate memory for the re-mapped registers    size = ( ( 0x200 - 1 ) / page_size + 1 ) * page_size;    location = AllocAligned( size,                              MEMF_PUBLIC | MEMF_CLEAR,                             page_size );    if( location == NULL )    {      printf( "Out of memory!\n" );    }    else    {      pd = (struct PUHData*) AllocVec( sizeof( struct PUHData ),                                       MEMF_PUBLIC | MEMF_CLEAR );      if( pd == NULL )      {        FreeMem( location, size );        printf( "Out of memory!\n" );      }      else      {#ifdef TEST_MODE        pd->m_Intercepted    = location;        pd->m_Custom         = (void*) 0xdff000;#else        pd->m_Intercepted    = (void*) 0xdff000;        pd->m_Custom         = location;#endif        pd->m_ShadowBuffer   = location;        pd->m_ShadowSize     = size;        pd->m_Active         = FALSE;        pd->m_UserContext    = uctx;                pd->m_SuperContext   = sctx;        pd->m_UserException  = NULL;                pd->m_SuperException = NULL;        pd->m_UserRAMProperties     = NULL;        pd->m_UserCustomProperties  = NULL;        pd->m_SuperRAMProperties    = NULL;        pd->m_SuperCustomProperties = NULL;      }    }  }  return pd;}