mirror of
https://github.com/holub/mame
synced 2025-04-24 01:11:11 +03:00
cv1k.cpp: some work towards save state support. Should work but it would be better not to save the bitmap, so for the time being it is disabled by default (nw)
This commit is contained in:
parent
daadbc5fd5
commit
bfbcdac2a6
@ -4115,7 +4115,7 @@ void sh34_base_device::device_start()
|
||||
m_test_irq = 0;
|
||||
|
||||
save_item(NAME(m_pc));
|
||||
save_item(NAME(m_r[15]));
|
||||
save_item(NAME(m_r));
|
||||
save_item(NAME(m_sr));
|
||||
save_item(NAME(m_pr));
|
||||
save_item(NAME(m_gbr));
|
||||
@ -4126,59 +4126,20 @@ void sh34_base_device::device_start()
|
||||
save_item(NAME(m_ssr));
|
||||
save_item(NAME(m_sgr));
|
||||
save_item(NAME(m_fpscr));
|
||||
save_item(NAME(m_r[ 0]));
|
||||
save_item(NAME(m_r[ 1]));
|
||||
save_item(NAME(m_r[ 2]));
|
||||
save_item(NAME(m_r[ 3]));
|
||||
save_item(NAME(m_r[ 4]));
|
||||
save_item(NAME(m_r[ 5]));
|
||||
save_item(NAME(m_r[ 6]));
|
||||
save_item(NAME(m_r[ 7]));
|
||||
save_item(NAME(m_r[ 8]));
|
||||
save_item(NAME(m_r[ 9]));
|
||||
save_item(NAME(m_r[10]));
|
||||
save_item(NAME(m_r[11]));
|
||||
save_item(NAME(m_r[12]));
|
||||
save_item(NAME(m_r[13]));
|
||||
save_item(NAME(m_r[14]));
|
||||
save_item(NAME(m_fr[ 0]));
|
||||
save_item(NAME(m_fr[ 1]));
|
||||
save_item(NAME(m_fr[ 2]));
|
||||
save_item(NAME(m_fr[ 3]));
|
||||
save_item(NAME(m_fr[ 4]));
|
||||
save_item(NAME(m_fr[ 5]));
|
||||
save_item(NAME(m_fr[ 6]));
|
||||
save_item(NAME(m_fr[ 7]));
|
||||
save_item(NAME(m_fr[ 8]));
|
||||
save_item(NAME(m_fr[ 9]));
|
||||
save_item(NAME(m_fr[10]));
|
||||
save_item(NAME(m_fr[11]));
|
||||
save_item(NAME(m_fr[12]));
|
||||
save_item(NAME(m_fr[13]));
|
||||
save_item(NAME(m_fr[14]));
|
||||
save_item(NAME(m_fr[15]));
|
||||
save_item(NAME(m_xf[ 0]));
|
||||
save_item(NAME(m_xf[ 1]));
|
||||
save_item(NAME(m_xf[ 2]));
|
||||
save_item(NAME(m_xf[ 3]));
|
||||
save_item(NAME(m_xf[ 4]));
|
||||
save_item(NAME(m_xf[ 5]));
|
||||
save_item(NAME(m_xf[ 6]));
|
||||
save_item(NAME(m_xf[ 7]));
|
||||
save_item(NAME(m_xf[ 8]));
|
||||
save_item(NAME(m_xf[ 9]));
|
||||
save_item(NAME(m_xf[10]));
|
||||
save_item(NAME(m_xf[11]));
|
||||
save_item(NAME(m_xf[12]));
|
||||
save_item(NAME(m_xf[13]));
|
||||
save_item(NAME(m_xf[14]));
|
||||
save_item(NAME(m_xf[15]));
|
||||
save_item(NAME(m_rbnk));
|
||||
save_item(NAME(m_fr));
|
||||
save_item(NAME(m_xf));
|
||||
save_item(NAME(m_ea));
|
||||
save_item(NAME(m_delay));
|
||||
save_item(NAME(m_cpu_off));
|
||||
save_item(NAME(m_pending_irq));
|
||||
save_item(NAME(m_test_irq));
|
||||
save_item(NAME(m_fpul));
|
||||
save_item(NAME(m_dbr));
|
||||
save_item(NAME(m_exception_priority));
|
||||
save_item(NAME(m_exception_requesting));
|
||||
|
||||
save_item(NAME(m_irq_line_state));
|
||||
save_item(NAME(m_m));
|
||||
save_item(NAME(m_SH4_TSTR));
|
||||
save_item(NAME(m_SH4_TCNT0));
|
||||
save_item(NAME(m_SH4_TCNT1));
|
||||
@ -4191,10 +4152,48 @@ void sh34_base_device::device_start()
|
||||
save_item(NAME(m_SH4_TCOR2));
|
||||
save_item(NAME(m_SH4_TOCR));
|
||||
save_item(NAME(m_SH4_TCPR2));
|
||||
|
||||
save_item(NAME(m_SH4_IPRA));
|
||||
|
||||
save_item(NAME(m_SH4_IPRC));
|
||||
save_item(NAME(m_SH4_DAR0));
|
||||
save_item(NAME(m_SH4_DAR1));
|
||||
save_item(NAME(m_SH4_DAR2));
|
||||
save_item(NAME(m_SH4_DAR3));
|
||||
save_item(NAME(m_SH4_CHCR0));
|
||||
save_item(NAME(m_SH4_CHCR1));
|
||||
save_item(NAME(m_SH4_CHCR2));
|
||||
save_item(NAME(m_SH4_CHCR3));
|
||||
save_item(NAME(m_SH4_DMATCR0));
|
||||
save_item(NAME(m_SH4_DMATCR1));
|
||||
save_item(NAME(m_SH4_DMATCR2));
|
||||
save_item(NAME(m_SH4_DMATCR3));
|
||||
save_item(NAME(m_SH4_DMAOR));
|
||||
save_item(NAME(m_nmi_line_state));
|
||||
save_item(NAME(m_sleep_mode));
|
||||
save_item(NAME(m_frt_input));
|
||||
save_item(NAME(m_irln));
|
||||
save_item(NAME(m_internal_irq_level));
|
||||
save_item(NAME(m_internal_irq_vector));
|
||||
save_item(NAME(m_refresh_timer_base));
|
||||
save_item(NAME(m_dma_timer_active));
|
||||
save_item(NAME(m_dma_source));
|
||||
save_item(NAME(m_dma_destination));
|
||||
save_item(NAME(m_dma_count));
|
||||
save_item(NAME(m_dma_wordsize));
|
||||
save_item(NAME(m_dma_source_increment));
|
||||
save_item(NAME(m_dma_destination_increment));
|
||||
save_item(NAME(m_dma_mode));
|
||||
save_item(NAME(m_sh4_icount));
|
||||
save_item(NAME(m_fpu_sz));
|
||||
save_item(NAME(m_fpu_pr));
|
||||
save_item(NAME(m_ioport16_pullup));
|
||||
save_item(NAME( m_ioport16_direction));
|
||||
save_item(NAME(m_ioport4_pullup));
|
||||
save_item(NAME(m_ioport4_direction));
|
||||
save_item(NAME(m_sh4_tlb_address));
|
||||
save_item(NAME(m_sh4_tlb_data));
|
||||
save_item(NAME(m_sh4_mmu_enabled));
|
||||
save_item(NAME(m_sh3internal_upper));
|
||||
save_item(NAME(m_sh3internal_lower));
|
||||
|
||||
// Debugger state
|
||||
|
||||
|
@ -15,6 +15,8 @@
|
||||
#include "machine/rtc9701.h"
|
||||
|
||||
|
||||
ALLOW_SAVE_TYPE(rtc9701_state_t);
|
||||
|
||||
|
||||
//**************************************************************************
|
||||
// GLOBAL VARIABLES
|
||||
@ -104,6 +106,25 @@ void rtc9701_device::device_start()
|
||||
rtc_state = RTC9701_CMD_WAIT;
|
||||
cmd_stream_pos = 0;
|
||||
current_cmd = 0;
|
||||
|
||||
save_item(NAME(m_latch));
|
||||
save_item(NAME(m_reset_line));
|
||||
save_item(NAME(m_clock_line));
|
||||
save_item(NAME(rtc_state));
|
||||
save_item(NAME(cmd_stream_pos));
|
||||
save_item(NAME(current_cmd));
|
||||
save_item(NAME(rtc9701_address_pos));
|
||||
save_item(NAME(rtc9701_current_address));
|
||||
save_item(NAME(rtc9701_current_data));
|
||||
save_item(NAME(rtc9701_data_pos));
|
||||
save_item(NAME(rtc9701_data));
|
||||
save_item(NAME(m_rtc.sec));
|
||||
save_item(NAME(m_rtc.min));
|
||||
save_item(NAME(m_rtc.hour));
|
||||
save_item(NAME(m_rtc.day));
|
||||
save_item(NAME(m_rtc.wday));
|
||||
save_item(NAME(m_rtc.month));
|
||||
save_item(NAME(m_rtc.year));
|
||||
}
|
||||
|
||||
|
||||
|
@ -9,6 +9,7 @@
|
||||
#include "machine/serflash.h"
|
||||
|
||||
|
||||
ALLOW_SAVE_TYPE(flash_state_t);
|
||||
|
||||
//**************************************************************************
|
||||
// LIVE DEVICE
|
||||
@ -42,12 +43,27 @@ void serflash_device::device_start()
|
||||
|
||||
m_flashwritemap.resize(m_length / FLASH_PAGE_SIZE);
|
||||
memset(&m_flashwritemap[0], 0, m_length / FLASH_PAGE_SIZE);
|
||||
|
||||
save_item(NAME(m_flash_state));
|
||||
save_item(NAME(m_flash_enab));
|
||||
save_item(NAME(m_flash_cmd_seq));
|
||||
save_item(NAME(m_flash_cmd_prev));
|
||||
save_item(NAME(m_flash_addr_seq));
|
||||
save_item(NAME(m_flash_read_seq));
|
||||
save_item(NAME(m_flash_row));
|
||||
save_item(NAME(m_flash_col));
|
||||
save_item(NAME(m_flash_page_addr));
|
||||
save_item(NAME(m_flash_page_index));
|
||||
save_item(NAME(m_flashwritemap));
|
||||
save_item(NAME(m_last_flash_cmd));
|
||||
save_item(NAME(m_flash_addr));
|
||||
save_item(NAME(m_flash_page_data));
|
||||
}
|
||||
|
||||
void serflash_device::device_reset()
|
||||
{
|
||||
m_flash_enab = 0;
|
||||
flash_hard_reset(machine());
|
||||
flash_hard_reset();
|
||||
|
||||
m_last_flash_cmd = 0x00;
|
||||
m_flash_addr_seq = 0;
|
||||
@ -115,7 +131,7 @@ void serflash_device::nvram_write(emu_file &file)
|
||||
file.write(&page, 4);
|
||||
}
|
||||
|
||||
void serflash_device::flash_hard_reset(running_machine &machine)
|
||||
void serflash_device::flash_hard_reset()
|
||||
{
|
||||
// logerror("%08x FLASH: RESET\n", cpuexec_describe_context(machine));
|
||||
|
||||
@ -141,7 +157,7 @@ WRITE8_MEMBER( serflash_device::flash_enab_w )
|
||||
m_flash_enab = data;
|
||||
}
|
||||
|
||||
void serflash_device::flash_change_state(running_machine &machine, flash_state_t state)
|
||||
void serflash_device::flash_change_state(flash_state_t state)
|
||||
{
|
||||
m_flash_state = state;
|
||||
|
||||
@ -176,7 +192,7 @@ WRITE8_MEMBER( serflash_device::flash_cmd_w )
|
||||
break;
|
||||
|
||||
case 0x70: // READ STATUS
|
||||
flash_change_state( space.machine(), STATE_READ_STATUS );
|
||||
flash_change_state( STATE_READ_STATUS );
|
||||
break;
|
||||
|
||||
case 0x80: // PAGE / CACHE PROGRAM
|
||||
@ -186,11 +202,11 @@ WRITE8_MEMBER( serflash_device::flash_cmd_w )
|
||||
break;
|
||||
|
||||
case 0x90: // READ ID
|
||||
flash_change_state( space.machine(), STATE_READ_ID );
|
||||
flash_change_state( STATE_READ_ID );
|
||||
break;
|
||||
|
||||
case 0xff: // RESET
|
||||
flash_change_state( space.machine(), STATE_IDLE );
|
||||
flash_change_state( STATE_IDLE );
|
||||
break;
|
||||
|
||||
default:
|
||||
@ -210,7 +226,7 @@ WRITE8_MEMBER( serflash_device::flash_cmd_w )
|
||||
m_flash_page_addr = m_flash_col;
|
||||
m_flash_page_index = m_flash_row;
|
||||
|
||||
flash_change_state( space.machine(), STATE_READ );
|
||||
flash_change_state( STATE_READ );
|
||||
|
||||
//logerror("%08x FLASH: caching page = %04X\n", m_maincpu->pc(), m_flash_row);
|
||||
}
|
||||
@ -219,7 +235,7 @@ WRITE8_MEMBER( serflash_device::flash_cmd_w )
|
||||
case 0x60: // BLOCK ERASE
|
||||
if (data==0xd0)
|
||||
{
|
||||
flash_change_state( space.machine(), STATE_BLOCK_ERASE );
|
||||
flash_change_state( STATE_BLOCK_ERASE );
|
||||
m_flashwritemap[m_flash_col] |= 1;
|
||||
memset(m_region + m_flash_col * FLASH_PAGE_SIZE, 0xff, FLASH_PAGE_SIZE);
|
||||
//logerror("erased block %04x (%08x - %08x)\n", m_flash_col, m_flash_col * FLASH_PAGE_SIZE, ((m_flash_col+1) * FLASH_PAGE_SIZE)-1);
|
||||
@ -232,7 +248,7 @@ WRITE8_MEMBER( serflash_device::flash_cmd_w )
|
||||
case 0x80:
|
||||
if (data==0x10)
|
||||
{
|
||||
flash_change_state( space.machine(), STATE_PAGE_PROGRAM );
|
||||
flash_change_state( STATE_PAGE_PROGRAM );
|
||||
m_flashwritemap[m_flash_row] |= (memcmp(m_region + m_flash_row * FLASH_PAGE_SIZE, m_flash_page_data, FLASH_PAGE_SIZE) != 0);
|
||||
memcpy(m_region + m_flash_row * FLASH_PAGE_SIZE, m_flash_page_data, FLASH_PAGE_SIZE);
|
||||
//logerror("re-written block %04x (%08x - %08x)\n", m_flash_row, m_flash_row * FLASH_PAGE_SIZE, ((m_flash_row+1) * FLASH_PAGE_SIZE)-1);
|
||||
|
@ -50,7 +50,7 @@ public:
|
||||
DECLARE_WRITE8_MEMBER( flash_data_w );
|
||||
DECLARE_WRITE8_MEMBER( flash_cmd_w );
|
||||
DECLARE_WRITE8_MEMBER( flash_enab_w );
|
||||
void flash_hard_reset(running_machine &machine);
|
||||
void flash_hard_reset();
|
||||
|
||||
DECLARE_READ8_MEMBER(n3d_flash_r);
|
||||
DECLARE_WRITE8_MEMBER(n3d_flash_cmd_w);
|
||||
@ -66,7 +66,7 @@ protected:
|
||||
virtual void nvram_read(emu_file &file) override;
|
||||
virtual void nvram_write(emu_file &file) override;
|
||||
|
||||
void flash_change_state(running_machine &machine, flash_state_t state);
|
||||
void flash_change_state(flash_state_t state);
|
||||
|
||||
// runtime state
|
||||
size_t m_length;
|
||||
|
@ -49,6 +49,20 @@ void epic12_device::device_start()
|
||||
|
||||
m_blitter_delay_timer = machine().scheduler().timer_alloc(timer_expired_delegate(FUNC(epic12_device::blitter_delay_callback),this));
|
||||
m_blitter_delay_timer->adjust(attotime::never);
|
||||
|
||||
save_item(NAME(m_gfx_addr));
|
||||
save_item(NAME(m_gfx_scroll_0_x));
|
||||
save_item(NAME(m_gfx_scroll_0_y));
|
||||
save_item(NAME(m_gfx_scroll_1_x));
|
||||
save_item(NAME(m_gfx_scroll_1_y));
|
||||
save_item(NAME(m_delay_scale));
|
||||
save_item(NAME(m_gfx_addr_shadowcopy));
|
||||
save_item(NAME(m_gfx_scroll_0_x_shadowcopy));
|
||||
save_item(NAME(m_gfx_scroll_0_y_shadowcopy));
|
||||
save_item(NAME(m_gfx_scroll_1_x_shadowcopy));
|
||||
save_item(NAME(m_gfx_scroll_1_y_shadowcopy));
|
||||
save_pointer(NAME(m_ram16_copy.get()), m_main_ramsize/2);
|
||||
save_item(NAME(*m_bitmaps));
|
||||
}
|
||||
|
||||
void epic12_device::device_reset()
|
||||
|
@ -207,18 +207,18 @@ public:
|
||||
required_shared_ptr<UINT64> m_ram;
|
||||
required_shared_ptr<UINT64> m_rombase;
|
||||
|
||||
DECLARE_READ8_MEMBER(cv1k_flash_io_r);
|
||||
DECLARE_WRITE8_MEMBER(cv1k_flash_io_w);
|
||||
DECLARE_READ8_MEMBER(flash_io_r);
|
||||
DECLARE_WRITE8_MEMBER(flash_io_w);
|
||||
DECLARE_READ8_MEMBER(serial_rtc_eeprom_r);
|
||||
DECLARE_WRITE8_MEMBER(serial_rtc_eeprom_w);
|
||||
DECLARE_READ64_MEMBER(cv1k_flash_port_e_r);
|
||||
DECLARE_READ64_MEMBER(flash_port_e_r);
|
||||
|
||||
UINT32 screen_update_cv1k(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
UINT32 screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect);
|
||||
|
||||
virtual void machine_reset() override;
|
||||
|
||||
/* game specific */
|
||||
DECLARE_READ64_MEMBER(cv1k_speedup_r);
|
||||
DECLARE_READ64_MEMBER(speedup_r);
|
||||
DECLARE_DRIVER_INIT(mushisam);
|
||||
DECLARE_DRIVER_INIT(ibara);
|
||||
DECLARE_DRIVER_INIT(espgal2);
|
||||
@ -232,13 +232,13 @@ public:
|
||||
|
||||
UINT32 m_idleramoffs;
|
||||
UINT32 m_idlepc;
|
||||
void install_cv1k_speedups(UINT32 idleramoff, UINT32 idlepc, bool is_typed);
|
||||
void install_speedups(UINT32 idleramoff, UINT32 idlepc, bool is_typed);
|
||||
};
|
||||
|
||||
|
||||
/**************************************************************************/
|
||||
|
||||
UINT32 cv1k_state::screen_update_cv1k(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
UINT32 cv1k_state::screen_update(screen_device &screen, bitmap_rgb32 &bitmap, const rectangle &cliprect)
|
||||
{
|
||||
m_blitter->set_delay_scale(m_blitrate->read());
|
||||
|
||||
@ -249,13 +249,13 @@ UINT32 cv1k_state::screen_update_cv1k(screen_device &screen, bitmap_rgb32 &bitma
|
||||
|
||||
// FLASH interface
|
||||
|
||||
READ64_MEMBER( cv1k_state::cv1k_flash_port_e_r )
|
||||
READ64_MEMBER( cv1k_state::flash_port_e_r )
|
||||
{
|
||||
return ((m_serflash->flash_ready_r(space, offset) ? 0x20 : 0x00)) | 0xdf;
|
||||
}
|
||||
|
||||
|
||||
READ8_MEMBER( cv1k_state::cv1k_flash_io_r )
|
||||
READ8_MEMBER( cv1k_state::flash_io_r )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
@ -268,7 +268,7 @@ READ8_MEMBER( cv1k_state::cv1k_flash_io_r )
|
||||
case 0x06:
|
||||
case 0x07:
|
||||
|
||||
// logerror("cv1k_flash_io_r offset %04x\n", offset);
|
||||
// logerror("flash_io_r offset %04x\n", offset);
|
||||
return 0xff;
|
||||
|
||||
case 0x00:
|
||||
@ -276,13 +276,13 @@ READ8_MEMBER( cv1k_state::cv1k_flash_io_r )
|
||||
}
|
||||
}
|
||||
|
||||
WRITE8_MEMBER( cv1k_state::cv1k_flash_io_w )
|
||||
WRITE8_MEMBER( cv1k_state::flash_io_w )
|
||||
{
|
||||
switch (offset)
|
||||
{
|
||||
default:
|
||||
case 0x03:
|
||||
logerror("unknown cv1k_flash_io_w offset %04x data %02x\n", offset, data); // 03 enable/disable fgpa access?
|
||||
logerror("unknown flash_io_w offset %04x data %02x\n", offset, data); // 03 enable/disable fgpa access?
|
||||
break;
|
||||
|
||||
case 0x00:
|
||||
@ -336,7 +336,7 @@ WRITE8_MEMBER( cv1k_state::serial_rtc_eeprom_w )
|
||||
static ADDRESS_MAP_START( cv1k_map, AS_PROGRAM, 64, cv1k_state )
|
||||
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP AM_SHARE("rombase") // mmmbanc writes here on startup for some reason..
|
||||
AM_RANGE(0x0c000000, 0x0c7fffff) AM_RAM AM_SHARE("mainram") AM_MIRROR(0x800000) // work RAM
|
||||
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(cv1k_flash_io_r, cv1k_flash_io_w, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(flash_io_r, flash_io_w, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10400000, 0x10400007) AM_DEVWRITE8("ymz770", ymz770_device, write, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10C00000, 0x10C00007) AM_READWRITE8(serial_rtc_eeprom_r, serial_rtc_eeprom_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0x18000000, 0x18000057) // blitter, installed on reset
|
||||
@ -346,7 +346,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( cv1k_d_map, AS_PROGRAM, 64, cv1k_state )
|
||||
AM_RANGE(0x00000000, 0x003fffff) AM_ROM AM_REGION("maincpu", 0) AM_WRITENOP AM_SHARE("rombase") // mmmbanc writes here on startup for some reason..
|
||||
AM_RANGE(0x0c000000, 0x0cffffff) AM_RAM AM_SHARE("mainram") // work RAM
|
||||
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(cv1k_flash_io_r, cv1k_flash_io_w, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10000000, 0x10000007) AM_READWRITE8(flash_io_r, flash_io_w, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10400000, 0x10400007) AM_DEVWRITE8("ymz770", ymz770_device, write, U64(0xffffffffffffffff))
|
||||
AM_RANGE(0x10C00000, 0x10C00007) AM_READWRITE8(serial_rtc_eeprom_r, serial_rtc_eeprom_w, U64(0xffffffffffffffff))
|
||||
// AM_RANGE(0x18000000, 0x18000057) // blitter, installed on reset
|
||||
@ -356,7 +356,7 @@ ADDRESS_MAP_END
|
||||
static ADDRESS_MAP_START( cv1k_port, AS_IO, 64, cv1k_state )
|
||||
AM_RANGE(SH3_PORT_C, SH3_PORT_C+7) AM_READ_PORT("PORT_C")
|
||||
AM_RANGE(SH3_PORT_D, SH3_PORT_D+7) AM_READ_PORT("PORT_D")
|
||||
AM_RANGE(SH3_PORT_E, SH3_PORT_E+7) AM_READ( cv1k_flash_port_e_r )
|
||||
AM_RANGE(SH3_PORT_E, SH3_PORT_E+7) AM_READ( flash_port_e_r )
|
||||
AM_RANGE(SH3_PORT_F, SH3_PORT_F+7) AM_READ_PORT("PORT_F")
|
||||
AM_RANGE(SH3_PORT_L, SH3_PORT_L+7) AM_READ_PORT("PORT_L")
|
||||
AM_RANGE(SH3_PORT_J, SH3_PORT_J+7) AM_DEVREADWRITE( "blitter", epic12_device, fpga_r, fpga_w )
|
||||
@ -455,7 +455,7 @@ static MACHINE_CONFIG_START( cv1k, cv1k_state )
|
||||
MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(0))
|
||||
MCFG_SCREEN_SIZE(0x200, 0x200)
|
||||
MCFG_SCREEN_VISIBLE_AREA(0, 0x140-1, 0, 0xf0-1)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cv1k_state, screen_update_cv1k)
|
||||
MCFG_SCREEN_UPDATE_DRIVER(cv1k_state, screen_update)
|
||||
|
||||
MCFG_PALETTE_ADD("palette", 0x10000)
|
||||
|
||||
@ -828,18 +828,18 @@ ROM_START( dfkbl )
|
||||
ROM_LOAD16_WORD_SWAP( "u24", 0x400000, 0x400000, CRC(31f9eb0a) SHA1(322158779e969bb321241065dd49c1167b91ff6c) )
|
||||
ROM_END
|
||||
|
||||
READ64_MEMBER( cv1k_state::cv1k_speedup_r )
|
||||
READ64_MEMBER( cv1k_state::speedup_r )
|
||||
{
|
||||
if (m_maincpu->pc()== m_idlepc ) m_maincpu->spin_until_time( attotime::from_usec(10));
|
||||
return m_ram[m_idleramoffs/8];
|
||||
}
|
||||
|
||||
void cv1k_state::install_cv1k_speedups(UINT32 idleramoff, UINT32 idlepc, bool is_typed)
|
||||
void cv1k_state::install_speedups(UINT32 idleramoff, UINT32 idlepc, bool is_typed)
|
||||
{
|
||||
m_idleramoffs = idleramoff;
|
||||
m_idlepc = idlepc;
|
||||
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc000000+m_idleramoffs, 0xc000000+m_idleramoffs+7, read64_delegate(FUNC(cv1k_state::cv1k_speedup_r),this));
|
||||
m_maincpu->space(AS_PROGRAM).install_read_handler(0xc000000+m_idleramoffs, 0xc000000+m_idleramoffs+7, read64_delegate(FUNC(cv1k_state::speedup_r),this));
|
||||
|
||||
m_maincpu->add_fastram(0x00000000, 0x003fffff, TRUE, m_rombase);
|
||||
|
||||
@ -850,37 +850,37 @@ void cv1k_state::install_cv1k_speedups(UINT32 idleramoff, UINT32 idlepc, bool is
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,mushisam)
|
||||
{
|
||||
install_cv1k_speedups(0x024d8, 0xc04a2aa, false);
|
||||
install_speedups(0x024d8, 0xc04a2aa, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,ibara)
|
||||
{
|
||||
install_cv1k_speedups(0x022f0, 0xc04a0aa, false);
|
||||
install_speedups(0x022f0, 0xc04a0aa, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,espgal2)
|
||||
{
|
||||
install_cv1k_speedups(0x02310, 0xc05177a, false);
|
||||
install_speedups(0x02310, 0xc05177a, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,mushitam)
|
||||
{
|
||||
install_cv1k_speedups(0x0022f0, 0xc04a0da, false);
|
||||
install_speedups(0x0022f0, 0xc04a0da, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,pinkswts)
|
||||
{
|
||||
install_cv1k_speedups(0x02310, 0xc05176a, false);
|
||||
install_speedups(0x02310, 0xc05176a, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,deathsml)
|
||||
{
|
||||
install_cv1k_speedups(0x02310, 0xc0519a2, false);
|
||||
install_speedups(0x02310, 0xc0519a2, false);
|
||||
}
|
||||
|
||||
DRIVER_INIT_MEMBER(cv1k_state,dpddfk)
|
||||
{
|
||||
install_cv1k_speedups(0x02310, 0xc1d1346, true);
|
||||
install_speedups(0x02310, 0xc1d1346, true);
|
||||
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user