src/mess/drivers/astrocde.c
| r8146 | r8147 | |
| 143 | 143 | * |
| 144 | 144 | *************************************/ |
| 145 | 145 | |
| 146 | static DEVICE_IMAGE_LOAD( astrocde_cart ) |
| 147 | { |
| 148 | UINT32 size; |
| 149 | |
| 150 | if (image_software_entry(image) == NULL) |
| 151 | { |
| 152 | size = image_length(image); |
| 153 | |
| 154 | if (image_fread(image, memory_region(image->machine, "maincpu") + 0x2000, size) != size) |
| 155 | { |
| 156 | image_seterror(image, IMAGE_ERROR_UNSPECIFIED, "Unable to fully read from file"); |
| 157 | return INIT_FAIL; |
| 158 | } |
| 159 | |
| 160 | } |
| 161 | else |
| 162 | { |
| 163 | size = image_get_software_region_length(image, "rom"); |
| 164 | memcpy(memory_region(image->machine, "maincpu") + 0x2000, image_get_software_region(image, "rom"), size); |
| 165 | } |
| 166 | |
| 167 | return INIT_PASS; |
| 168 | } |
| 169 | |
| 146 | 170 | static MACHINE_DRIVER_START( astrocde ) |
| 147 | 171 | /* basic machine hardware */ |
| 148 | 172 | MDRV_CPU_ADD("maincpu", Z80, ASTROCADE_CLOCK/4) /* 1.789 MHz */ |
| r8146 | r8147 | |
| 165 | 189 | MDRV_SOUND_ADD("astrocade1", ASTROCADE, ASTROCADE_CLOCK/4) |
| 166 | 190 | MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 167 | 191 | |
| 192 | /* cartridge */ |
| 168 | 193 | MDRV_CARTSLOT_ADD("cart") |
| 194 | MDRV_CARTSLOT_EXTENSION_LIST("bin") |
| 195 | MDRV_CARTSLOT_INTERFACE("astrocde_cart") |
| 196 | MDRV_CARTSLOT_LOAD(astrocde_cart) |
| 197 | |
| 198 | /* Software lists */ |
| 199 | MDRV_SOFTWARE_LIST_ADD("astrocde") |
| 169 | 200 | MACHINE_DRIVER_END |
| 170 | 201 | |
| 171 | 202 | |
| r8146 | r8147 | |
| 178 | 209 | ROM_START( astrocde ) |
| 179 | 210 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 180 | 211 | ROM_LOAD( "astro.bin", 0x0000, 0x2000, CRC(ebc77f3a) SHA1(b902c941997c9d150a560435bf517c6a28137ecc)) |
| 181 | | ROM_CART_LOAD("cart", 0x2000, 0x2000, ROM_OPTIONAL) |
| 182 | 212 | ROM_END |
| 183 | 213 | |
| 184 | 214 | ROM_START( astrocdw ) |
| 185 | 215 | ROM_REGION( 0x10000, "maincpu", 0 ) |
| 186 | 216 | ROM_LOAD( "bioswhit.bin", 0x0000, 0x2000, CRC(6eb53e79) SHA1(d84341feec1a0a0e8aa6151b649bc3cf6ef69fbf)) |
| 187 | | ROM_CART_LOAD("cart", 0x2000, 0x2000, ROM_OPTIONAL) |
| 188 | 217 | ROM_END |
| 189 | 218 | |
| 190 | 219 | /************************************* |
src/mess/drivers/channelf.c
| r8146 | r8147 | |
| 230 | 230 | PORT_BIT ( 0x20, IP_ACTIVE_HIGH, IPT_BUTTON3) /* CLOCKWISE */ PORT_PLAYER(2) |
| 231 | 231 | PORT_BIT ( 0x40, IP_ACTIVE_HIGH, IPT_BUTTON2) /* PULL UP */ PORT_PLAYER(2) |
| 232 | 232 | PORT_BIT ( 0x80, IP_ACTIVE_HIGH, IPT_BUTTON1) /* PUSH DOWN */ PORT_PLAYER(2) |
| 233 | | |
| 234 | 233 | INPUT_PORTS_END |
| 235 | 234 | |
| 236 | 235 | |
| 236 | |
| 237 | static DEVICE_IMAGE_LOAD( channelf_cart ) |
| 238 | { |
| 239 | UINT32 size; |
| 240 | |
| 241 | if (image_software_entry(image) == NULL) |
| 242 | { |
| 243 | size = image_length(image); |
| 244 | |
| 245 | if (size > 0xf800) |
| 246 | { |
| 247 | image_seterror(image, IMAGE_ERROR_UNSPECIFIED, "Unsupported cartridge size"); |
| 248 | return INIT_FAIL; |
| 249 | } |
| 250 | |
| 251 | if (image_fread(image, memory_region(image->machine, "maincpu") + 0x0800, size) != size) |
| 252 | { |
| 253 | image_seterror(image, IMAGE_ERROR_UNSPECIFIED, "Unable to fully read from file"); |
| 254 | return INIT_FAIL; |
| 255 | } |
| 256 | |
| 257 | } |
| 258 | else |
| 259 | { |
| 260 | size = image_get_software_region_length(image, "rom"); |
| 261 | memcpy(memory_region(image->machine, "maincpu") + 0x0800, image_get_software_region(image, "rom"), size); |
| 262 | } |
| 263 | |
| 264 | return INIT_PASS; |
| 265 | } |
| 266 | |
| 267 | static MACHINE_DRIVER_START( channelf_cart ) |
| 268 | /* cartridge */ |
| 269 | MDRV_CARTSLOT_ADD("cart") |
| 270 | MDRV_CARTSLOT_EXTENSION_LIST("bin,chf") |
| 271 | MDRV_CARTSLOT_INTERFACE("channelf_cart") |
| 272 | MDRV_CARTSLOT_LOAD(channelf_cart) |
| 273 | |
| 274 | /* Software lists */ |
| 275 | MDRV_SOFTWARE_LIST_ADD("channelf") |
| 276 | MACHINE_DRIVER_END |
| 277 | |
| 237 | 278 | static MACHINE_DRIVER_START( channelf ) |
| 238 | 279 | /* basic machine hardware */ |
| 239 | 280 | MDRV_CPU_ADD("maincpu", F8, 3579545/2) /* Colorburst/2 */ |
| r8146 | r8147 | |
| 259 | 300 | MDRV_SOUND_ADD("custom", CHANNELF, 0) |
| 260 | 301 | MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 261 | 302 | |
| 262 | | MDRV_CARTSLOT_ADD("cart") |
| 263 | | MDRV_CARTSLOT_EXTENSION_LIST("bin,chf") |
| 303 | MDRV_IMPORT_FROM( channelf_cart ) |
| 264 | 304 | MACHINE_DRIVER_END |
| 265 | 305 | |
| 266 | 306 | static MACHINE_DRIVER_START( sabavdpl ) |
| r8146 | r8147 | |
| 288 | 328 | MDRV_SOUND_ADD("custom", CHANNELF, 0) |
| 289 | 329 | MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 290 | 330 | |
| 291 | | MDRV_CARTSLOT_ADD("cart") |
| 292 | | MDRV_CARTSLOT_EXTENSION_LIST("bin,chf") |
| 331 | MDRV_IMPORT_FROM( channelf_cart ) |
| 293 | 332 | MACHINE_DRIVER_END |
| 294 | 333 | |
| 295 | 334 | |
| r8146 | r8147 | |
| 318 | 357 | MDRV_SOUND_ADD("custom", CHANNELF, 0) |
| 319 | 358 | MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 320 | 359 | |
| 321 | | MDRV_CARTSLOT_ADD("cart") |
| 322 | | MDRV_CARTSLOT_EXTENSION_LIST("bin,chf") |
| 360 | MDRV_IMPORT_FROM( channelf_cart ) |
| 323 | 361 | MACHINE_DRIVER_END |
| 324 | 362 | |
| 325 | 363 | |
| r8146 | r8147 | |
| 348 | 386 | MDRV_SOUND_ADD("custom", CHANNELF, 0) |
| 349 | 387 | MDRV_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 350 | 388 | |
| 351 | | MDRV_CARTSLOT_ADD("cart") |
| 352 | | MDRV_CARTSLOT_EXTENSION_LIST("bin,chf") |
| 389 | MDRV_IMPORT_FROM( channelf_cart ) |
| 353 | 390 | MACHINE_DRIVER_END |
| 354 | 391 | |
| 355 | 392 | ROM_START( channelf ) |
| r8146 | r8147 | |
| 378 | 415 | ***************************************************************************/ |
| 379 | 416 | |
| 380 | 417 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 381 | | CONS( 1976, channelf, 0, 0, channelf, channelf, 0, "Fairchild", "Channel F", 0) |
| 382 | | CONS( 1977, sabavdpl, channelf, 0, sabavdpl, channelf, 0, "SABA", "SABA Videoplay", 0) |
| 383 | | CONS( 197?, luxorves, channelf, 0, sabavdpl, channelf, 0, "Luxor", "Luxor Video Entertainment System", 0) |
| 384 | | CONS( 1978, channlf2, 0, channelf, channlf2, channelf, 0, "Fairchild", "Channel F II", 0) |
| 385 | | CONS( 1978, sabavpl2, channlf2, 0, sabavpl2, channelf, 0, "SABA", "SABA Videoplay 2", 0) |
| 386 | | CONS( 197?, luxorvec, channlf2, 0, sabavpl2, channelf, 0, "Luxor", "Luxor Video Entertainment Computer", 0) |
| 387 | | CONS( 197?, itttelma, channlf2, 0, sabavpl2, channelf, 0, "ITT", "ITT Tele-Match Processor", 0) |
| 388 | | CONS( 1978, ingtelma, channlf2, 0, sabavpl2, channelf, 0, "Ingelen", "Ingelen Tele-Match Processor", 0) |
| 418 | CONS( 1976, channelf, 0, 0, channelf, channelf, 0, "Fairchild", "Channel F", 0 ) |
| 419 | CONS( 1977, sabavdpl, channelf, 0, sabavdpl, channelf, 0, "SABA", "SABA Videoplay", 0 ) |
| 420 | CONS( 197?, luxorves, channelf, 0, sabavdpl, channelf, 0, "Luxor", "Luxor Video Entertainment System", 0 ) |
| 421 | CONS( 1978, channlf2, 0, channelf, channlf2, channelf, 0, "Fairchild", "Channel F II", 0 ) |
| 422 | CONS( 1978, sabavpl2, channlf2, 0, sabavpl2, channelf, 0, "SABA", "SABA Videoplay 2", 0 ) |
| 423 | CONS( 197?, luxorvec, channlf2, 0, sabavpl2, channelf, 0, "Luxor", "Luxor Video Entertainment Computer", 0 ) |
| 424 | CONS( 197?, itttelma, channlf2, 0, sabavpl2, channelf, 0, "ITT", "ITT Tele-Match Processor", 0 ) |
| 425 | CONS( 1978, ingtelma, channlf2, 0, sabavpl2, channelf, 0, "Ingelen", "Ingelen Tele-Match Processor", 0 ) |