Previous 199869 Revisions Next

r32327 Tuesday 23rd September, 2014 at 19:49:19 UTC by David Haywood
more legionna function movement (nw)
[src/mame/drivers]legionna.c
[src/mame/includes]legionna.h
[src/mame/machine]seicop.c seicop.h
[src/mame/video]legionna.c

trunk/src/mame/machine/seicop.c
r32326r32327
21382138
21392139WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w )
21402140{
2141   COMBINE_DATA(&m_cop_mcu_ram[offset]);
21412142
21422143   switch (offset)
21432144   {
r32326r32327
28532854      }
28542855   }
28552856}
2856
2857/**********************************************************************************************
2858  Heated Barrel
2859**********************************************************************************************/
2860
2861READ16_MEMBER( seibu_cop_legacy_device::heatbrl_mcu_r )
2862{
2863   if(offset >= 0x340/2 && offset <= 0x34f/2)
2864   {
2865      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
2866
2867      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
2868   }
2869
2870   return generic_cop_r(space, offset, mem_mask);
2871}
2872
2873WRITE16_MEMBER( seibu_cop_legacy_device::heatbrl_mcu_w )
2874{
2875   COMBINE_DATA(&m_cop_mcu_ram[offset]);
2876
2877   /* external pin register, used for banking */
2878   if(offset == 0x070/2)
2879   {
2880      heatbrl_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
2881      return;
2882   }
2883
2884   if(offset == 0x200/2) //irq ack / sprite buffering?
2885      return;
2886
2887
2888
2889   generic_cop_w(space, offset, data, mem_mask);
2890
2891}
2892
2893
2894/**********************************************************************************************
2895  Seibu Cup Soccer
2896**********************************************************************************************/
2897
2898READ16_MEMBER( seibu_cop_legacy_device::cupsoc_mcu_r )
2899{
2900   if(offset >= 0x340/2 && offset <= 0x34f/2)
2901   {
2902      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
2903
2904      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
2905   }
2906
2907   if(offset == 0x35c/2)
2908   {
2909      return space.machine().root_device().ioport("DSW2")->read();
2910   }
2911
2912   return generic_cop_r(space, offset, mem_mask);
2913}
2914
2915WRITE16_MEMBER( seibu_cop_legacy_device::cupsoc_mcu_w )
2916{
2917   COMBINE_DATA(&m_cop_mcu_ram[offset]);
2918
2919   if(offset == 0x280/2) //irq ack / sprite buffering?
2920      return;
2921
2922   generic_cop_w(space, offset, data, mem_mask);
2923}
2924
2925READ16_MEMBER( seibu_cop_legacy_device::cupsocs_mcu_r )
2926{
2927
2928   if(offset >= 0x300/2 && offset <= 0x30f/2)
2929   {
2930      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
2931
2932      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
2933   }
2934
2935   if(offset == 0x31c/2)
2936   {
2937      return space.machine().root_device().ioport("DSW2")->read();
2938   }
2939
2940   return generic_cop_r(space, offset, mem_mask);
2941}
2942
2943WRITE16_MEMBER( seibu_cop_legacy_device::cupsocs_mcu_w )
2944{
2945   COMBINE_DATA(&m_cop_mcu_ram[offset]);
2946
2947   if(offset == 0x280/2) //irq ack / sprite buffering?
2948      return;
2949
2950
2951   generic_cop_w(space, offset, data, mem_mask);
2952}
2953
2954/**********************************************************************************************
2955  Godzilla
2956**********************************************************************************************/
2957
2958READ16_MEMBER( seibu_cop_legacy_device::godzilla_mcu_r )
2959{
2960
2961   if(offset >= 0x340/2 && offset <= 0x34f/2)
2962   {
2963      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
2964
2965      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
2966   }
2967
2968   return generic_cop_r(space, offset, mem_mask);
2969}
2970
2971WRITE16_MEMBER( seibu_cop_legacy_device::godzilla_mcu_w )
2972{
2973   COMBINE_DATA(&m_cop_mcu_ram[offset]);
2974
2975   if(offset == 0x070/2)
2976   {
2977      denjinmk_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
2978      return;
2979   }
2980
2981   if(offset == 0x280/2) //irq ack / sprite buffering?
2982      return;
2983
2984
2985   generic_cop_w(space, offset, data, mem_mask);
2986}
2987
2988/**********************************************************************************************
2989  Denjin Makai
2990**********************************************************************************************/
2991
2992READ16_MEMBER( seibu_cop_legacy_device::denjinmk_mcu_r )
2993{
2994
2995   if(offset >= 0x340/2 && offset <= 0x34f/2)
2996   {
2997      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
2998
2999      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
3000   }
3001
3002   if(offset == 0x35c/2)
3003   {
3004      return space.machine().root_device().ioport("DSW2")->read();
3005   }
3006
3007   return generic_cop_r(space, offset, mem_mask);
3008}
3009
3010WRITE16_MEMBER( seibu_cop_legacy_device::denjinmk_mcu_w )
3011{
3012   COMBINE_DATA(&m_cop_mcu_ram[offset]);
3013
3014   if(offset == 0x280/2) //irq ack / sprite buffering?
3015      return;
3016
3017   if(offset == 0x070/2)
3018   {
3019      denjinmk_setgfxbank(space.machine(), m_cop_mcu_ram[offset]);
3020      return;
3021   }
3022
3023
3024   generic_cop_w(space, offset, data, mem_mask);
3025}
3026
3027/**********************************************************************************************
3028  SD Gundam Sangokushi Rainbow Tairiku Senki
3029**********************************************************************************************/
3030
3031READ16_MEMBER( seibu_cop_legacy_device::grainbow_mcu_r )
3032{
3033   if(offset >= 0x340/2 && offset <= 0x34f/2)
3034   {
3035      static const char *const portnames[] = { "DSW1", "PLAYERS12", "PLAYERS34", "SYSTEM" };
3036
3037      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
3038   }
3039
3040   if(offset == 0x35c/2)
3041   {
3042      return space.machine().root_device().ioport("DSW2")->read();
3043   }
3044
3045   return generic_cop_r(space, offset, mem_mask);
3046}
3047
3048
3049WRITE16_MEMBER( seibu_cop_legacy_device::grainbow_mcu_w )
3050{
3051   COMBINE_DATA(&m_cop_mcu_ram[offset]);
3052
3053   if(offset == 0x280/2) //irq ack / sprite buffering?
3054      return;
3055
3056
3057   generic_cop_w(space, offset, data, mem_mask);
3058}
3059
3060/**********************************************************************************************
3061  Legionnaire
3062**********************************************************************************************/
3063
3064
3065READ16_MEMBER( seibu_cop_legacy_device::legionna_mcu_r )
3066{
3067
3068   if(offset >= 0x340/2 && offset <= 0x34f/2)
3069   {
3070      static const char *const portnames[] = { "DSW1", "PLAYERS12", "UNK", "SYSTEM" };
3071
3072      return space.machine().root_device().ioport(portnames[(offset >> 1) & 3])->read();
3073   }
3074
3075   return generic_cop_r(space, offset, mem_mask);
3076}
3077
3078WRITE16_MEMBER( seibu_cop_legacy_device::legionna_mcu_w )
3079{
3080   COMBINE_DATA(&m_cop_mcu_ram[offset]);
3081
3082   if(offset == 0x070/2) //external pin: puts bit 13 high, delay, reads 0x748, writes bit 13 low
3083      return;
3084
3085   if(offset == 0x280/2) //irq ack / sprite buffering?
3086      return;
3087
3088   generic_cop_w(space, offset, data, mem_mask);
3089}
trunk/src/mame/machine/seicop.h
r32326r32327
2929   DECLARE_READ16_MEMBER( copdxbl_0_r );
3030   DECLARE_WRITE16_MEMBER( copdxbl_0_w );
3131
32   DECLARE_READ16_MEMBER( heatbrl_mcu_r );
33   DECLARE_WRITE16_MEMBER( heatbrl_mcu_w );
34   DECLARE_READ16_MEMBER( cupsoc_mcu_r );
35   DECLARE_WRITE16_MEMBER( cupsoc_mcu_w );
36   DECLARE_READ16_MEMBER( cupsocs_mcu_r );
37   DECLARE_WRITE16_MEMBER( cupsocs_mcu_w );
38   DECLARE_READ16_MEMBER( godzilla_mcu_r );
39   DECLARE_WRITE16_MEMBER( godzilla_mcu_w );
40   DECLARE_READ16_MEMBER( denjinmk_mcu_r );
41   DECLARE_WRITE16_MEMBER( denjinmk_mcu_w );
42   DECLARE_READ16_MEMBER( grainbow_mcu_r );
43   DECLARE_WRITE16_MEMBER( grainbow_mcu_w );
44   DECLARE_READ16_MEMBER( legionna_mcu_r );
45   DECLARE_WRITE16_MEMBER( legionna_mcu_w );
46
32   DECLARE_READ16_MEMBER( generic_cop_r );
33   DECLARE_WRITE16_MEMBER( generic_cop_w );
4734protected:
4835   // device-level overrides
4936   virtual void device_config_complete();
r32326r32327
7663   void copd2_set_tabledata(UINT16 data);
7764   void cop_take_hit_box_params(UINT8 offs);
7865   UINT8 cop_calculate_collsion_detection();
79   DECLARE_READ16_MEMBER( generic_cop_r );
80   DECLARE_WRITE16_MEMBER( generic_cop_w );
8166
67
8268   required_device<raiden2cop_device> m_raiden2cop;
8369
8470};
trunk/src/mame/includes/legionna.h
r32326r32327
5454   DECLARE_WRITE8_MEMBER(okim_rombank_w);
5555   DECLARE_READ16_MEMBER(sound_comms_r);
5656   DECLARE_WRITE16_MEMBER(sound_comms_w);
57   DECLARE_WRITE16_MEMBER(denjinmk_setgfxbank);
58   DECLARE_WRITE16_MEMBER(heatbrl_setgfxbank);
59
5760   DECLARE_DRIVER_INIT(legiongfx);
5861   DECLARE_DRIVER_INIT(cupsoc_debug);
5962   DECLARE_DRIVER_INIT(cupsoc);
r32326r32327
8790
8891};
8992
90/*----------- defined in video/legionna.c -----------*/
91void heatbrl_setgfxbank(running_machine &machine, UINT16 data);
92void denjinmk_setgfxbank(running_machine &machine, UINT16 data);
93
trunk/src/mame/video/legionna.c
r32326r32327
4343      tm->set_scrollx(0, data);
4444}
4545
46void heatbrl_setgfxbank(running_machine &machine, UINT16 data)
46WRITE16_MEMBER(legionna_state::heatbrl_setgfxbank)
4747{
48   legionna_state *state = machine.driver_data<legionna_state>();
49   state->m_back_gfx_bank = (data &0x4000) >> 2;
48   m_back_gfx_bank = (data &0x4000) >> 2;
5049}
5150
5251/*xxx- --- ---- ---- banking*/
53void denjinmk_setgfxbank(running_machine &machine, UINT16 data)
52WRITE16_MEMBER(legionna_state::denjinmk_setgfxbank)
5453{
55   legionna_state *state = machine.driver_data<legionna_state>();
56   state->m_fore_gfx_bank = (data &0x2000) >> 1;//???
57   state->m_back_gfx_bank = (data &0x4000) >> 2;
58   state->m_mid_gfx_bank  = (data &0x8000) >> 3;//???
54   m_fore_gfx_bank = (data &0x2000) >> 1;//???
55   m_back_gfx_bank = (data &0x4000) >> 2;
56   m_mid_gfx_bank  = (data &0x8000) >> 3;//???
5957
60   state->m_background_layer->mark_all_dirty();
61   state->m_foreground_layer->mark_all_dirty();
62   state->m_midground_layer->mark_all_dirty();
63   state->m_text_layer->mark_all_dirty();
58   m_background_layer->mark_all_dirty();
59   m_foreground_layer->mark_all_dirty();
60   m_midground_layer->mark_all_dirty();
61   m_text_layer->mark_all_dirty();
6462}
6563
6664WRITE16_MEMBER(legionna_state::videowrite_cb_w)
trunk/src/mame/drivers/legionna.c
r32326r32327
140140   AM_RANGE(0x100000, 0x1003ff) AM_RAM
141141   AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
142142   AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
143   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, legionna_mcu_r, legionna_mcu_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
143   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
144   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
145   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
146   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
147   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
144148   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
145149   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
146150   AM_RANGE(0x102000, 0x1027ff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
r32326r32327
156160   AM_IMPORT_FROM( legionna_cop_mem )
157161   AM_RANGE(0x000000, 0x07ffff) AM_ROM
158162   AM_RANGE(0x100000, 0x1003ff) AM_RAM
163   AM_RANGE(0x100470, 0x100471) AM_WRITE(heatbrl_setgfxbank)
159164   AM_RANGE(0x100640, 0x10068f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
165   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
166   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
167   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
168   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
160169   AM_RANGE(0x1007c0, 0x1007df) AM_READWRITE(sound_comms_r,sound_comms_w)
161   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, heatbrl_mcu_r, heatbrl_mcu_w) AM_SHARE("cop_mcu_ram")  /* COP mcu */
170   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram")  /* COP mcu */
162171   AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
163172   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
164173   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
r32326r32327
172181   AM_IMPORT_FROM( legionna_cop_mem )
173182   AM_RANGE(0x000000, 0x07ffff) AM_ROM
174183   AM_RANGE(0x100000, 0x1003ff) AM_RAM
184   AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
175185   AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
176186   AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
177   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, godzilla_mcu_r, godzilla_mcu_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
187   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
188   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
189   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
190   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
191   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
178192   AM_RANGE(0x100800, 0x100fff) AM_RAM
179193   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
180194   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
r32326r32327
202216   AM_IMPORT_FROM( legionna_cop_mem )
203217   AM_RANGE(0x000000, 0x0fffff) AM_ROM
204218   AM_RANGE(0x100000, 0x1003ff) AM_RAM
219   AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank)
205220   AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
206221   AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
207   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, denjinmk_mcu_r, denjinmk_mcu_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
222   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
223   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
224   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
225   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
226   AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
227   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
208228   AM_RANGE(0x100800, 0x100fff) AM_RAM
209229   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
210230   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
r32326r32327
224244   AM_RANGE(0x100000, 0x1003ff) AM_RAM
225245   AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
226246   AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
227   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, grainbow_mcu_r, grainbow_mcu_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
247   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
248   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
249   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
250   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
251   AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
252   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r, generic_cop_w) AM_SHARE("cop_mcu_ram")    /* COP mcu */
228253   AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
229254   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
230255   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
r32326r32327
243268   AM_RANGE(0x100000, 0x1003ff) AM_RAM
244269   AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
245270   AM_RANGE(0x100700, 0x10071f) AM_READWRITE(sound_comms_r,sound_comms_w)
246   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, cupsoc_mcu_r,cupsoc_mcu_w) AM_SHARE("cop_mcu_ram")
271   AM_RANGE(0x100740, 0x100741) AM_READ_PORT("DSW1")
272   AM_RANGE(0x100744, 0x100745) AM_READ_PORT("PLAYERS12")
273   AM_RANGE(0x100748, 0x100749) AM_READ_PORT("PLAYERS34")
274   AM_RANGE(0x10074c, 0x10074d) AM_READ_PORT("SYSTEM")
275   AM_RANGE(0x10075c, 0x10075d) AM_READ_PORT("DSW2")
276   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r,generic_cop_w) AM_SHARE("cop_mcu_ram")
247277   AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
248278   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
249279   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
r32326r32327
265295   AM_RANGE(0x100000, 0x1003ff) AM_RAM
266296   AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
267297   AM_RANGE(0x100640, 0x10067f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
298   AM_RANGE(0x100700, 0x100701) AM_READ_PORT("DSW1")
299   AM_RANGE(0x100704, 0x100705) AM_READ_PORT("PLAYERS12")
300   AM_RANGE(0x100708, 0x100709) AM_READ_PORT("PLAYERS34")
301   AM_RANGE(0x10070c, 0x10070d) AM_READ_PORT("SYSTEM")
302   AM_RANGE(0x10071c, 0x10071d) AM_READ_PORT("DSW2")
268303   AM_RANGE(0x100740, 0x10075f) AM_READWRITE(sound_comms_r,sound_comms_w)
269   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, cupsocs_mcu_r,cupsocs_mcu_w) AM_SHARE("cop_mcu_ram")
304   AM_RANGE(0x100400, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, generic_cop_r,generic_cop_w) AM_SHARE("cop_mcu_ram")
270305   AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
271306   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
272307   AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data")
r32326r32327
288323   //AM_RANGE(0x100000, 0x1003ff) AM_RAM
289324   AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//?
290325   AM_RANGE(0x100640, 0x10067f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)
326   AM_RANGE(0x100700, 0x100701) AM_READ_PORT("DSW1")
327   AM_RANGE(0x100704, 0x100705) AM_READ_PORT("PLAYERS12")
328   AM_RANGE(0x100708, 0x100709) AM_READ_PORT("PLAYERS34")
329   AM_RANGE(0x10070c, 0x10070d) AM_READ_PORT("SYSTEM")
291330   AM_RANGE(0x100000, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, copdxbl_0_r,copdxbl_0_w) AM_SHARE("cop_mcu_ram")
292331   AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data")
293332   AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data")
r32326r32327
410449   PORT_DIPSETTING(      0x0000, DEF_STR( Off ) )
411450   PORT_DIPSETTING(      0x8000, DEF_STR( On ) )
412451
413   PORT_START("UNK")
452   PORT_START("PLAYERS34")
414453   PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
415454INPUT_PORTS_END
416455
r32326r32327
600639   PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Free_Play ) )
601640   PORT_DIPSETTING(      0x8000, DEF_STR( Off ) )
602641   PORT_DIPSETTING(      0x0000, DEF_STR( On ) )
642
643   PORT_START("PLAYERS34")
644   PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN )
603645INPUT_PORTS_END
604646
605647static INPUT_PORTS_START( grainbow )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team