trunk/src/mess/machine/md_svp.c
r22023 | r22024 | |
314 | 314 | //------------------------------------------------- |
315 | 315 | |
316 | 316 | ADDRESS_MAP_START( md_svp_ssp_map, AS_PROGRAM, 16, md_rom_svp_device ) |
317 | | AM_RANGE(0x0000, 0x03ff) AM_READ(rom_read1) |
318 | | AM_RANGE(0x0400, 0xffff) AM_READ(rom_read2) |
319 | | // AM_RANGE(0x0000, 0x03ff) AM_ROMBANK("bank3") |
320 | | // AM_RANGE(0x0400, 0xffff) AM_ROMBANK("bank4") |
| 317 | // AM_RANGE(0x0000, 0x03ff) AM_READ(rom_read1) |
| 318 | // AM_RANGE(0x0400, 0xffff) AM_READ(rom_read2) |
| 319 | AM_RANGE(0x0000, 0x03ff) AM_ROMBANK("iram_svp") |
| 320 | AM_RANGE(0x0400, 0xffff) AM_ROMBANK("cart_svp") |
321 | 321 | ADDRESS_MAP_END |
322 | 322 | |
323 | 323 | //------------------------------------------------- |
r22023 | r22024 | |
361 | 361 | } |
362 | 362 | |
363 | 363 | |
| 364 | void md_rom_svp_device::set_bank_to_rom(const char *banktag, UINT32 offset) |
| 365 | { |
| 366 | if (membank(banktag)) |
| 367 | membank(banktag)->set_base(m_rom + offset); |
| 368 | } |
| 369 | |
| 370 | |
364 | 371 | void md_rom_svp_device::device_start() |
365 | 372 | { |
366 | 373 | memset(m_pmac_read, 0, ARRAY_LENGTH(m_pmac_read)); |
r22023 | r22024 | |
373 | 380 | m_xst2 = 0; |
374 | 381 | |
375 | 382 | /* SVP stuff */ |
| 383 | // DRAM |
376 | 384 | m_dram = auto_alloc_array(machine(), UINT8, 0x20000); |
| 385 | // IRAM |
377 | 386 | m_iram = auto_alloc_array(machine(), UINT8, 0x800); |
| 387 | this->membank("iram_svp")->set_base(m_iram); |
| 388 | // the other bank, "cart_svp", is setup at call_load |
378 | 389 | } |
379 | 390 | |
380 | 391 | READ16_MEMBER(md_rom_svp_device::read) |