trunk/src/mame/machine/seicop.c
| r32326 | r32327 | |
| 2138 | 2138 | |
| 2139 | 2139 | WRITE16_MEMBER( seibu_cop_legacy_device::generic_cop_w ) |
| 2140 | 2140 | { |
| 2141 | COMBINE_DATA(&m_cop_mcu_ram[offset]); |
| 2141 | 2142 | |
| 2142 | 2143 | switch (offset) |
| 2143 | 2144 | { |
| r32326 | r32327 | |
| 2853 | 2854 | } |
| 2854 | 2855 | } |
| 2855 | 2856 | } |
| 2856 | | |
| 2857 | | /********************************************************************************************** |
| 2858 | | Heated Barrel |
| 2859 | | **********************************************************************************************/ |
| 2860 | | |
| 2861 | | READ16_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 | | |
| 2873 | | WRITE16_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 | | |
| 2898 | | READ16_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 | | |
| 2915 | | WRITE16_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 | | |
| 2925 | | READ16_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 | | |
| 2943 | | WRITE16_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 | | |
| 2958 | | READ16_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 | | |
| 2971 | | WRITE16_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 | | |
| 2992 | | READ16_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 | | |
| 3010 | | WRITE16_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 | | |
| 3031 | | READ16_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 | | |
| 3049 | | WRITE16_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 | | |
| 3065 | | READ16_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 | | |
| 3078 | | WRITE16_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/drivers/legionna.c
| r32326 | r32327 | |
| 140 | 140 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 141 | 141 | AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 142 | 142 | 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 */ |
| 144 | 148 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 145 | 149 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| 146 | 150 | AM_RANGE(0x102000, 0x1027ff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data") |
| r32326 | r32327 | |
| 156 | 160 | AM_IMPORT_FROM( legionna_cop_mem ) |
| 157 | 161 | AM_RANGE(0x000000, 0x07ffff) AM_ROM |
| 158 | 162 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 163 | AM_RANGE(0x100470, 0x100471) AM_WRITE(heatbrl_setgfxbank) |
| 159 | 164 | 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") |
| 160 | 169 | 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 */ |
| 162 | 171 | AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 163 | 172 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| 164 | 173 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data") |
| r32326 | r32327 | |
| 172 | 181 | AM_IMPORT_FROM( legionna_cop_mem ) |
| 173 | 182 | AM_RANGE(0x000000, 0x07ffff) AM_ROM |
| 174 | 183 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 184 | AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank) |
| 175 | 185 | AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 176 | 186 | 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 */ |
| 178 | 192 | AM_RANGE(0x100800, 0x100fff) AM_RAM |
| 179 | 193 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 180 | 194 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| r32326 | r32327 | |
| 202 | 216 | AM_IMPORT_FROM( legionna_cop_mem ) |
| 203 | 217 | AM_RANGE(0x000000, 0x0fffff) AM_ROM |
| 204 | 218 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 219 | AM_RANGE(0x100470, 0x100471) AM_WRITE(denjinmk_setgfxbank) |
| 205 | 220 | AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 206 | 221 | 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 */ |
| 208 | 228 | AM_RANGE(0x100800, 0x100fff) AM_RAM |
| 209 | 229 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 210 | 230 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| r32326 | r32327 | |
| 224 | 244 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 225 | 245 | AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 226 | 246 | 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 */ |
| 228 | 253 | AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 229 | 254 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| 230 | 255 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data") |
| r32326 | r32327 | |
| 243 | 268 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 244 | 269 | AM_RANGE(0x100600, 0x10063f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write) |
| 245 | 270 | 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") |
| 247 | 277 | AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 248 | 278 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| 249 | 279 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data") |
| r32326 | r32327 | |
| 265 | 295 | AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 266 | 296 | AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//? |
| 267 | 297 | 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") |
| 268 | 303 | 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") |
| 270 | 305 | AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 271 | 306 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| 272 | 307 | AM_RANGE(0x101800, 0x101fff) AM_RAM // _WRITE(legionna_midground_w) AM_SHARE("mid_data") |
| r32326 | r32327 | |
| 288 | 323 | //AM_RANGE(0x100000, 0x1003ff) AM_RAM |
| 289 | 324 | AM_RANGE(0x100600, 0x10060f) AM_DEVREADWRITE("crtc", seibu_crtc_device, read, write)//? |
| 290 | 325 | 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") |
| 291 | 330 | AM_RANGE(0x100000, 0x1007ff) AM_DEVREADWRITE("seibucop", seibu_cop_legacy_device, copdxbl_0_r,copdxbl_0_w) AM_SHARE("cop_mcu_ram") |
| 292 | 331 | AM_RANGE(0x100800, 0x100fff) AM_RAM // _WRITE(legionna_background_w) AM_SHARE("back_data") |
| 293 | 332 | AM_RANGE(0x101000, 0x1017ff) AM_RAM // _WRITE(legionna_foreground_w) AM_SHARE("fore_data") |
| r32326 | r32327 | |
| 410 | 449 | PORT_DIPSETTING( 0x0000, DEF_STR( Off ) ) |
| 411 | 450 | PORT_DIPSETTING( 0x8000, DEF_STR( On ) ) |
| 412 | 451 | |
| 413 | | PORT_START("UNK") |
| 452 | PORT_START("PLAYERS34") |
| 414 | 453 | PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 415 | 454 | INPUT_PORTS_END |
| 416 | 455 | |
| r32326 | r32327 | |
| 600 | 639 | PORT_DIPNAME( 0x8000, 0x8000, DEF_STR( Free_Play ) ) |
| 601 | 640 | PORT_DIPSETTING( 0x8000, DEF_STR( Off ) ) |
| 602 | 641 | PORT_DIPSETTING( 0x0000, DEF_STR( On ) ) |
| 642 | |
| 643 | PORT_START("PLAYERS34") |
| 644 | PORT_BIT( 0xffff, IP_ACTIVE_LOW, IPT_UNKNOWN ) |
| 603 | 645 | INPUT_PORTS_END |
| 604 | 646 | |
| 605 | 647 | static INPUT_PORTS_START( grainbow ) |