src/mess/drivers/super80.c
| r6742 | r6743 | |
| 337 | 337 | INPUT_PORTS_END |
| 338 | 338 | |
| 339 | 339 | |
| 340 | /**************************** F4 CHARACTER DISPLAYER ***********************************************************/ |
| 341 | |
| 342 | static const gfx_layout super80_charlayout = |
| 343 | { |
| 344 | 8,10, /* 8 x 10 characters */ |
| 345 | 64, /* 64 characters */ |
| 346 | 1, /* 1 bits per pixel */ |
| 347 | { 0 }, /* no bitplanes */ |
| 348 | /* x offsets */ |
| 349 | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 350 | /* y offsets */ |
| 351 | { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8, 1*8, 3*8, 5*8, 7*8, 9*8, 11*8, 13*8, 15*8 }, |
| 352 | 8*16 /* every char takes 16 bytes */ |
| 353 | }; |
| 354 | |
| 355 | static const gfx_layout super80d_charlayout = |
| 356 | { |
| 357 | 8,10, /* 8 x 10 characters */ |
| 358 | 128, /* 256 characters */ |
| 359 | 1, /* 1 bits per pixel */ |
| 360 | { 0 }, /* no bitplanes */ |
| 361 | /* x offsets */ |
| 362 | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 363 | /* y offsets */ |
| 364 | { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8, 1*8, 3*8, 5*8, 7*8, 9*8, 11*8, 13*8, 15*8 }, |
| 365 | 8*16 /* every char takes 16 bytes */ |
| 366 | }; |
| 367 | |
| 368 | static const gfx_layout super80e_charlayout = |
| 369 | { |
| 370 | 8,10, /* 8 x 10 characters */ |
| 371 | 256, /* 256 characters */ |
| 372 | 1, /* 1 bits per pixel */ |
| 373 | { 0 }, /* no bitplanes */ |
| 374 | /* x offsets */ |
| 375 | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 376 | /* y offsets */ |
| 377 | { 0*8, 2*8, 4*8, 6*8, 8*8, 10*8, 12*8, 14*8, 1*8, 3*8, 5*8, 7*8, 9*8, 11*8, 13*8, 15*8 }, |
| 378 | 8*16 /* every char takes 16 bytes */ |
| 379 | }; |
| 380 | |
| 381 | static const gfx_layout super80v_charlayout = |
| 382 | { |
| 383 | 8,16, /* 8 x 16 characters */ |
| 384 | 256, /* 256 characters */ |
| 385 | 1, /* 1 bits per pixel */ |
| 386 | { 0 }, /* no bitplanes */ |
| 387 | /* x offsets */ |
| 388 | { 0, 1, 2, 3, 4, 5, 6, 7 }, |
| 389 | /* y offsets */ |
| 390 | { 0*8, 1*8, 2*8, 3*8, 4*8, 5*8, 6*8, 7*8, 8*8, 9*8, 10*8, 11*8, 12*8, 13*8, 14*8, 15*8 }, |
| 391 | 8*16 /* every char takes 16 bytes */ |
| 392 | }; |
| 393 | |
| 394 | static GFXDECODE_START( super80 ) |
| 395 | GFXDECODE_ENTRY( "gfx1", 0x0000, super80_charlayout, 0, 1 ) |
| 396 | GFXDECODE_END |
| 397 | |
| 398 | static GFXDECODE_START( super80d ) |
| 399 | GFXDECODE_ENTRY( "gfx1", 0x0000, super80d_charlayout, 0, 1 ) |
| 400 | GFXDECODE_END |
| 401 | |
| 402 | static GFXDECODE_START( super80e ) |
| 403 | GFXDECODE_ENTRY( "gfx1", 0x0000, super80e_charlayout, 0, 1 ) |
| 404 | GFXDECODE_END |
| 405 | |
| 406 | static GFXDECODE_START( super80m ) |
| 407 | GFXDECODE_ENTRY( "gfx1", 0x0000, super80e_charlayout, 0, 8 ) |
| 408 | GFXDECODE_ENTRY( "gfx1", 0x1000, super80d_charlayout, 0, 8 ) |
| 409 | GFXDECODE_END |
| 410 | |
| 411 | /* This will show the 128 characters in the ROM + whatever happens to be in the PCG */ |
| 412 | static GFXDECODE_START( super80v ) |
| 413 | GFXDECODE_ENTRY( "maincpu", 0xf000, super80v_charlayout, 0, 8 ) |
| 414 | GFXDECODE_END |
| 415 | |
| 416 | |
| 417 | |
| 340 | 418 | /**************************** BASIC MACHINE CONSTRUCTION ***********************************************************/ |
| 341 | 419 | |
| 342 | 420 | |
| r6742 | r6743 | |
| 399 | 477 | MDRV_PALETTE_LENGTH(2) |
| 400 | 478 | MDRV_PALETTE_INIT(black_and_white) |
| 401 | 479 | |
| 480 | MDRV_GFXDECODE(super80) |
| 402 | 481 | MDRV_DEFAULT_LAYOUT( layout_super80 ) |
| 403 | 482 | MDRV_VIDEO_START(super80) |
| 404 | 483 | MDRV_VIDEO_UPDATE(super80) |
| r6742 | r6743 | |
| 425 | 504 | |
| 426 | 505 | static MACHINE_DRIVER_START( super80d ) |
| 427 | 506 | MDRV_IMPORT_FROM(super80) |
| 507 | MDRV_GFXDECODE(super80d) |
| 428 | 508 | MDRV_VIDEO_UPDATE(super80d) |
| 429 | 509 | MACHINE_DRIVER_END |
| 430 | 510 | |
| 431 | 511 | static MACHINE_DRIVER_START( super80e ) |
| 432 | 512 | MDRV_IMPORT_FROM(super80) |
| 513 | MDRV_GFXDECODE(super80e) |
| 433 | 514 | MDRV_VIDEO_UPDATE(super80e) |
| 434 | 515 | MACHINE_DRIVER_END |
| 435 | 516 | |
| r6742 | r6743 | |
| 438 | 519 | MDRV_CPU_MODIFY("maincpu") |
| 439 | 520 | MDRV_CPU_PROGRAM_MAP(super80m_map) |
| 440 | 521 | |
| 522 | MDRV_GFXDECODE(super80m) |
| 441 | 523 | MDRV_PALETTE_LENGTH(16) |
| 442 | 524 | MDRV_PALETTE_INIT(super80m) |
| 443 | 525 | MDRV_VIDEO_EOF(super80m) |
| r6742 | r6743 | |
| 465 | 547 | |
| 466 | 548 | MDRV_MC6845_ADD("crtc", MC6845, MASTER_CLOCK / SUPER80V_DOTS, super80v_crtc) |
| 467 | 549 | |
| 550 | MDRV_GFXDECODE(super80v) |
| 468 | 551 | MDRV_DEFAULT_LAYOUT( layout_super80 ) |
| 469 | 552 | MDRV_VIDEO_START(super80v) |
| 470 | 553 | MDRV_VIDEO_EOF(super80m) |