mirror of
https://github.com/holub/mame
synced 2025-04-25 17:56:43 +03:00
less trampolines (nw)
This commit is contained in:
parent
7b46df140d
commit
929c92b3da
@ -81,7 +81,53 @@ Preliminary COP MCU memory map
|
||||
/*****************************************************************************/
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( legionna_cop_mem, AS_PROGRAM, 16, legionna_state )
|
||||
// AM_RANGE(0x10041c, 0x10041d) AM_WRITE(cop_angle_target_w) // angle target (for 0x6200 COP macro)
|
||||
// AM_RANGE(0x10041e, 0x10041f) AM_WRITE(cop_angle_step_w) // angle step (for 0x6200 COP macro)
|
||||
// AM_RANGE(0x100420, 0x100421) AM_WRITE(cop_itoa_low_w)
|
||||
// AM_RANGE(0x100422, 0x100423) AM_WRITE(cop_itoa_high_w)
|
||||
// AM_RANGE(0x100424, 0x100425) AM_WRITE(cop_itoa_digit_count_w)
|
||||
AM_RANGE(0x100428, 0x100429) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_dma_v1_w)
|
||||
AM_RANGE(0x10042a, 0x10042b) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_dma_v2_w)
|
||||
AM_RANGE(0x100432, 0x100433) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pgm_data_w)
|
||||
AM_RANGE(0x100434, 0x100435) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pgm_addr_w)
|
||||
// AM_RANGE(0x100436, 0x100437) AM_WRITE(cop_hitbox_baseadr_w)
|
||||
AM_RANGE(0x100438, 0x100439) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pgm_value_w)
|
||||
AM_RANGE(0x10043a, 0x10043b) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pgm_mask_w)
|
||||
AM_RANGE(0x10043c, 0x10043d) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pgm_trigger_w)
|
||||
// AM_RANGE(0x100444, 0x100445) AM_WRITE(cop_scale_w)
|
||||
// AM_RANGE(0x100450, 0x100451) AM_WRITE(cop_sort_ram_addr_hi_w)
|
||||
// AM_RANGE(0x100452, 0x100453) AM_WRITE(cop_sort_ram_addr_lo_w)
|
||||
// AM_RANGE(0x100454, 0x100455) AM_WRITE(cop_sort_lookup_hi_w)
|
||||
// AM_RANGE(0x100456, 0x100457) AM_WRITE(cop_sort_lookup_lo_w)
|
||||
// AM_RANGE(0x100458, 0x100459) AM_WRITE(cop_sort_param_w)
|
||||
AM_RANGE(0x10045a, 0x10045b) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pal_brightness_val_w) //palette DMA brightness val, used by X Se Dae / Zero Team
|
||||
AM_RANGE(0x10045c, 0x10045d) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_pal_brightness_mode_w) //palette DMA brightness mode, used by X Se Dae / Zero Team (sets to 5)
|
||||
// AM_RANGE(0x100470, 0x100471) AM_READWRITE(cop_tile_bank_2_r,cop_tile_bank_2_w)
|
||||
|
||||
AM_RANGE(0x100476, 0x100477) AM_DEVWRITE("raiden2cop", raiden2cop_device, cop_dma_adr_rel_w)
|
||||
AM_RANGE(0x100478, 0x100479) AM_DEVWRITE("raiden2cop", raiden2cop_device,cop_dma_src_w)
|
||||
AM_RANGE(0x10047a, 0x10047b) AM_DEVWRITE("raiden2cop", raiden2cop_device,cop_dma_size_w)
|
||||
AM_RANGE(0x10047c, 0x10047d) AM_DEVWRITE("raiden2cop", raiden2cop_device,cop_dma_dst_w)
|
||||
AM_RANGE(0x10047e, 0x10047f) AM_DEVREADWRITE("raiden2cop", raiden2cop_device, cop_dma_mode_r, cop_dma_mode_w)
|
||||
// AM_RANGE(0x1004a0, 0x1004a9) AM_READWRITE(cop_reg_high_r, cop_reg_high_w)
|
||||
// AM_RANGE(0x1004c0, 0x1004c9) AM_READWRITE(cop_reg_low_r, cop_reg_low_w)
|
||||
// AM_RANGE(0x100500, 0x100505) AM_WRITE(cop_cmd_w)
|
||||
// AM_RANGE(0x100580, 0x100581) AM_READ(cop_collision_status_r)
|
||||
// AM_RANGE(0x100582, 0x100587) AM_READ(cop_collision_status_val_r)
|
||||
// AM_RANGE(0x100588, 0x100589) AM_READ(cop_collision_status_stat_r)
|
||||
// AM_RANGE(0x100590, 0x100599) AM_READ(cop_itoa_digits_r)
|
||||
// AM_RANGE(0x1005b0, 0x1005b1) AM_READ(cop_status_r)
|
||||
// AM_RANGE(0x1005b2, 0x1005b3) AM_READ(cop_dist_r)
|
||||
// AM_RANGE(0x1005b4, 0x1005b5) AM_READ(cop_angle_r)
|
||||
|
||||
AM_RANGE(0x1006fc, 0x1006fd) AM_DEVWRITE("raiden2cop", raiden2cop_device,cop_dma_trigger_w)
|
||||
// AM_RANGE(0x1006fe, 0x1006ff) AM_WRITE(cop_sort_dma_trig_w) // sort-DMA trigger
|
||||
ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( legionna_map, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -98,6 +144,7 @@ ADDRESS_MAP_END
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100640, 0x10068f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -112,6 +159,7 @@ static ADDRESS_MAP_START( heatbrl_map, AS_PROGRAM, 16, legionna_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( godzilla_map, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x07ffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -140,6 +188,7 @@ WRITE16_MEMBER(legionna_state::wordswapram_w)
|
||||
|
||||
|
||||
static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -158,6 +207,7 @@ static ADDRESS_MAP_START( denjinmk_map, AS_PROGRAM, 16, legionna_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -175,6 +225,7 @@ static ADDRESS_MAP_START( grainbow_map, AS_PROGRAM, 16, legionna_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
|
||||
@ -195,6 +246,7 @@ static ADDRESS_MAP_START( cupsoc_mem, AS_PROGRAM, 16, legionna_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
|
||||
@ -216,6 +268,7 @@ static ADDRESS_MAP_START( cupsocs_mem, AS_PROGRAM, 16, legionna_state )
|
||||
ADDRESS_MAP_END
|
||||
|
||||
static ADDRESS_MAP_START( cupsocbl_mem, AS_PROGRAM, 16, legionna_state )
|
||||
AM_IMPORT_FROM( legionna_cop_mem )
|
||||
AM_RANGE(0x000000, 0x0fffff) AM_ROM
|
||||
//AM_RANGE(0x100000, 0x1003ff) AM_RAM
|
||||
AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
|
||||
|
@ -2209,9 +2209,6 @@ WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
|
||||
*/
|
||||
break;
|
||||
|
||||
// ram fill
|
||||
case (0x028 / 2) : m_raiden2cop->cop_dma_v1_w(space, offset, data, mem_mask); break;
|
||||
case (0x02a / 2) : m_raiden2cop->cop_dma_v2_w(space, offset, data, mem_mask); break;
|
||||
|
||||
|
||||
|
||||
@ -2219,12 +2216,6 @@ WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
|
||||
/* max possible value returned by the RNG at 0x5a*, trusted */
|
||||
case (0x02c/2): m_cop_rng_max_value = m_cop_mcu_ram[0x2c/2] & 0xff; break;
|
||||
|
||||
/* Command tables for 0x500 / 0x502 commands */
|
||||
case (0x032/2): { m_raiden2cop->cop_pgm_data_w(space,0,data,mem_mask); break; }
|
||||
case (0x034/2): { m_raiden2cop->cop_pgm_addr_w(space,0,data,mem_mask); break; }
|
||||
case (0x038/2): { m_raiden2cop->cop_pgm_value_w(space,0,data,mem_mask); break; }
|
||||
case (0x03a/2): { m_raiden2cop->cop_pgm_mask_w(space,0,data,mem_mask); break; }
|
||||
case (0x03c/2): { m_raiden2cop->cop_pgm_trigger_w(space,0,data,mem_mask); break; }
|
||||
case (0x03e/2):
|
||||
/*
|
||||
0 in all 68k based games
|
||||
@ -2239,9 +2230,6 @@ WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
|
||||
case (0x048/2): { m_cop_rom_addr_lo = data & 0xffff; break; }
|
||||
case (0x04a/2): { m_cop_rom_addr_hi = data & 0xffff; break; }
|
||||
|
||||
/* brightness control */
|
||||
case (0x05a / 2) : m_raiden2cop->cop_pal_brightness_val_w(space, offset, data, mem_mask); break;
|
||||
case (0x05c / 2) : m_raiden2cop->cop_pal_brightness_mode_w(space, offset, data, mem_mask); break;
|
||||
|
||||
/* DMA / layer clearing section */
|
||||
case (0x074/2):
|
||||
@ -2257,11 +2245,6 @@ WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
|
||||
break;
|
||||
|
||||
|
||||
case (0x076 / 2) : m_raiden2cop->cop_dma_adr_rel_w(space, offset, data, mem_mask); break; /* used in palette DMAs, for fading effects */
|
||||
case (0x078 / 2) : m_raiden2cop->cop_dma_src_w(space, offset, data, mem_mask); break; /* DMA source address */
|
||||
case (0x07a / 2) : m_raiden2cop->cop_dma_size_w(space, offset, data, mem_mask); break;/* DMA length */
|
||||
case (0x07c/2): m_raiden2cop->cop_dma_dst_w(space, offset, data, mem_mask); break; /* DMA destination */
|
||||
case (0x07e/2): m_raiden2cop->cop_dma_mode_w(space, offset, data, mem_mask); break; /* DMA parameter */
|
||||
|
||||
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user