Previous 199869 Revisions Next

r18665 Monday 22nd October, 2012 at 17:02:58 UTC by hap
update gorgon memmap, text layer offset isn't needed anymore
[src/mame/drivers]namcos23.c

trunk/src/mame/drivers/namcos23.c
r18664r18665
13201320{
13211321public:
13221322   namcos23_state(const machine_config &mconfig, device_type type, const char *tag)
1323      : driver_device(mconfig, type, tag) ,
1323      : driver_device(mconfig, type, tag),
13241324        m_rtc(*this, "rtc"),
13251325      m_shared_ram(*this, "shared_ram"),
13261326      m_charram(*this, "charram"),
13271327      m_textram(*this, "textram"),
1328      m_gmen_sh2_shared(*this, "gmen_sh2_shared"){ }
1328      m_czattr(*this, "czattr"),
1329      m_gmen_sh2_shared(*this, "gmen_sh2_shared")
1330   { }
13291331
1332    required_device<rtc4543_device> m_rtc;
1333   required_shared_ptr<UINT32> m_shared_ram;
1334   required_shared_ptr<UINT32> m_charram;
1335   required_shared_ptr<UINT32> m_textram;
1336   optional_shared_ptr<UINT32> m_czattr;
1337   optional_shared_ptr<UINT32> m_gmen_sh2_shared;
1338
13301339   c361_t m_c361;
13311340   c417_t m_c417;
13321341   c412_t m_c412;
r18664r18665
13351344   render_t m_render;
13361345
13371346   tilemap_t *m_bgtilemap;
1338    required_device<rtc4543_device> m_rtc;
1339   required_shared_ptr<UINT32> m_shared_ram;
1340   required_shared_ptr<UINT32> m_charram;
1341   required_shared_ptr<UINT32> m_textram;
1342   optional_shared_ptr<UINT32> m_gmen_sh2_shared;
13431347   UINT8 m_jvssense;
13441348   INT32 m_has_jvsio;
13451349   bool m_ctl_vbl_active;
r18664r18665
24082412   machine().gfx[0]->set_source(reinterpret_cast<UINT8 *>(m_charram.target()));
24092413   m_bgtilemap = &machine().tilemap().create(tilemap_get_info_delegate(FUNC(namcos23_state::TextTilemapGetInfo),this), TILEMAP_SCAN_ROWS, 16, 16, 64, 64);
24102414   m_bgtilemap->set_transparent_pen(0xf);
2411
2412   // Gorgon's tilemap offset is 0, S23/SS23's is 860
2413   if ((!strcmp(machine().system().name, "rapidrvr")) ||
2414       (!strcmp(machine().system().name, "rapidrvr2")) ||
2415       (!strcmp(machine().system().name, "rapidrvrp")) ||
2416       (!strcmp(machine().system().name, "finlflng")))
2417   {
2418      m_bgtilemap->set_scrolldx(0, 0);
2419   }
2420   else
2421   {
2422      m_bgtilemap->set_scrolldx(860, 860);
2423   }
2415   m_bgtilemap->set_scrolldx(860, 860);
24242416   m_render.polymgr = poly_alloc(machine(), 10000, sizeof(namcos23_render_data), 0);
24252417}
24262418
r18664r18665
24622454   AM_RANGE(0x00000000, 0x003fffff) AM_RAM
24632455   AM_RANGE(0x01000000, 0x010000ff) AM_READWRITE(p3d_r, p3d_w )
24642456   AM_RANGE(0x02000000, 0x0200000f) AM_READWRITE16(s23_c417_r, s23_c417_w, 0xffffffff )
2465   AM_RANGE(0x04400000, 0x0440ffff) AM_READWRITE(gorgon_sharedram_r, gorgon_sharedram_w ) AM_SHARE("shared_ram")
2457   AM_RANGE(0x04400000, 0x0440ffff) AM_READWRITE(gorgon_sharedram_r, gorgon_sharedram_w ) AM_SHARE("shared_ram") // Communication RAM (C416)
24662458
24672459   AM_RANGE(0x04c3ff08, 0x04c3ff0b) AM_WRITE(s23_mcuen_w )
24682460   AM_RANGE(0x04c3ff0c, 0x04c3ff0f) AM_RAM
24692461
2470   AM_RANGE(0x06080000, 0x06081fff) AM_RAM
2462   AM_RANGE(0x06080000, 0x0608000f) AM_RAM AM_SHARE("czattr")
2463   AM_RANGE(0x06080200, 0x060803ff) AM_RAM // PCZ Convert RAM (C406) (should be banked)
24712464
2472   AM_RANGE(0x06108000, 0x061087ff) AM_RAM      // GAMMA (C404-3S)
2473   AM_RANGE(0x06110000, 0x0613ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_SHARE("paletteram")
2474   AM_RANGE(0x06400000, 0x06403fff) AM_RAM_WRITE(s23_txtchar_w ) AM_SHARE("charram")   // text layer characters
2475   AM_RANGE(0x06404000, 0x0641dfff) AM_RAM
2476   AM_RANGE(0x0641e000, 0x0641ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_SHARE("textram")
2465   AM_RANGE(0x06108000, 0x061087ff) AM_RAM      // Gamma RAM (C404)
2466   AM_RANGE(0x06110000, 0x0613ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_SHARE("paletteram") // Palette RAM (C404)
2467   AM_RANGE(0x06400000, 0x0641dfff) AM_RAM_WRITE(s23_txtchar_w ) AM_SHARE("charram")   // Text CGRAM (C361)
2468   AM_RANGE(0x0641e000, 0x0641ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_SHARE("textram") // Text VRAM (C361)
2469   AM_RANGE(0x06420000, 0x0642000f) AM_READWRITE16(s23_c361_r, s23_c361_w, 0xffffffff ) // C361
24772470
24782471   AM_RANGE(0x08000000, 0x087fffff) AM_ROM AM_REGION("data", 0)   // data ROMs
24792472
2480   AM_RANGE(0x0c000000, 0x0c00ffff) AM_RAM   AM_SHARE("nvram") // BACKUP
2473   AM_RANGE(0x0c000000, 0x0c00ffff) AM_RAM   AM_SHARE("nvram") // Backup RAM
24812474
24822475   AM_RANGE(0x0d000000, 0x0d00000f) AM_READWRITE16(s23_ctl_r, s23_ctl_w, 0xffffffff ) // write for LEDs at d000000, watchdog at d000004
24832476
2477   AM_RANGE(0x0e000000, 0x0e007fff) AM_RAM // C405 RAM
2478
24842479   AM_RANGE(0x0f000000, 0x0f000003) AM_READ(s23_unk_status_r )
24852480
2486   AM_RANGE(0x0f200000, 0x0f201fff) AM_RAM
2481   AM_RANGE(0x0f200000, 0x0f203fff) AM_RAM // C422 RAM
24872482
24882483   AM_RANGE(0x0fc00000, 0x0fffffff) AM_WRITENOP AM_ROM AM_REGION("user1", 0)
24892484ADDRESS_MAP_END
r18664r18665
24962491   AM_RANGE(0x04400000, 0x0440ffff) AM_RAM AM_SHARE("shared_ram")
24972492   AM_RANGE(0x04c3ff08, 0x04c3ff0b) AM_WRITE(s23_mcuen_w )
24982493   AM_RANGE(0x04c3ff0c, 0x04c3ff0f) AM_RAM
2499   AM_RANGE(0x06000000, 0x0600ffff) AM_RAM AM_SHARE("nvram") // Backup
2500   AM_RANGE(0x06200000, 0x06203fff) AM_RAM                             // C422
2494   AM_RANGE(0x06000000, 0x0600ffff) AM_RAM AM_SHARE("nvram") // Backup RAM
2495   AM_RANGE(0x06200000, 0x06203fff) AM_RAM                             // C422 RAM
25012496   AM_RANGE(0x06400000, 0x0640000f) AM_READWRITE16(s23_c422_r, s23_c422_w, 0xffffffff ) // C422 registers
2502   AM_RANGE(0x06800000, 0x06807fff) AM_RAM_WRITE(s23_txtchar_w ) AM_SHARE("charram") // text layer characters (shown as CGRAM in POST)
2503   AM_RANGE(0x06804000, 0x0681dfff) AM_RAM
2504   AM_RANGE(0x0681e000, 0x0681ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_SHARE("textram")
2497   AM_RANGE(0x06800000, 0x0681dfff) AM_RAM_WRITE(s23_txtchar_w ) AM_SHARE("charram")   // Text CGRAM (C361)
2498   AM_RANGE(0x0681e000, 0x0681ffff) AM_RAM_WRITE(namcos23_textram_w ) AM_SHARE("textram") // Text VRAM (C361)
25052499   AM_RANGE(0x06820000, 0x0682000f) AM_READWRITE16(s23_c361_r, s23_c361_w, 0xffffffff ) // C361
25062500   AM_RANGE(0x06a08000, 0x06a087ff) AM_RAM // Blending control & GAMMA (C404)
25072501   AM_RANGE(0x06a10000, 0x06a3ffff) AM_RAM_WRITE(namcos23_paletteram_w ) AM_SHARE("paletteram")

Previous 199869 Revisions Next


© 1997-2024 The MAME Team