trunk/src/emu/video/pc_vga.c
| r18211 | r18212 | |
| 2058 | 2058 | |
| 2059 | 2059 | } |
| 2060 | 2060 | |
| 2061 | | void pc_vga_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset) |
| 2062 | | { |
| 2063 | | int buswidth; |
| 2064 | | UINT64 mask = 0; |
| 2065 | | |
| 2066 | | buswidth = machine.firstcpu->space_config(AS_PROGRAM)->m_databus_width; |
| 2067 | | switch(buswidth) |
| 2068 | | { |
| 2069 | | case 8: |
| 2070 | | mask = 0; |
| 2071 | | break; |
| 2072 | | |
| 2073 | | case 16: |
| 2074 | | mask = 0xffff; |
| 2075 | | break; |
| 2076 | | |
| 2077 | | case 32: |
| 2078 | | mask = 0xffffffff; |
| 2079 | | break; |
| 2080 | | |
| 2081 | | case 64: |
| 2082 | | mask = -1; |
| 2083 | | break; |
| 2084 | | |
| 2085 | | default: |
| 2086 | | fatalerror("VGA: Bus width %d not supported\n", buswidth); |
| 2087 | | break; |
| 2088 | | } |
| 2089 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3b0, port_offset + 0x3bf, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w), mask); |
| 2090 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3c0, port_offset + 0x3cf, FUNC(vga_port_03c0_r), FUNC(vga_port_03c0_w), mask); |
| 2091 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3d0, port_offset + 0x3df, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w), mask); |
| 2092 | | |
| 2093 | | mem_space.install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(vga_mem_r), FUNC(vga_mem_w), mask); |
| 2094 | | } |
| 2095 | | |
| 2096 | 2061 | VIDEO_START( vga ) |
| 2097 | 2062 | { |
| 2098 | 2063 | int i; |
| r18211 | r18212 | |
| 2106 | 2071 | pc_vga_reset(machine); |
| 2107 | 2072 | } |
| 2108 | 2073 | |
| 2109 | | |
| 2110 | | |
| 2111 | | void *pc_vga_memory(void) |
| 2074 | READ8_HANDLER(vga_mem_linear_r) |
| 2112 | 2075 | { |
| 2113 | | return vga.memory; |
| 2076 | return vga.memory[offset]; |
| 2114 | 2077 | } |
| 2115 | 2078 | |
| 2116 | | size_t pc_vga_memory_size(void) |
| 2079 | WRITE8_HANDLER(vga_mem_linear_w) |
| 2117 | 2080 | { |
| 2118 | | return vga.svga_intf.vram_size; |
| 2081 | vga.memory[offset] = data; |
| 2119 | 2082 | } |
| 2120 | 2083 | |
| 2084 | |
| 2121 | 2085 | static struct eeprom_interface ati_eeprom_interface = |
| 2122 | 2086 | { |
| 2123 | 2087 | 6, /* address bits */ |
| r18211 | r18212 | |
| 2503 | 2467 | Trident implementation |
| 2504 | 2468 | |
| 2505 | 2469 | ******************************************/ |
| 2506 | | |
| 2507 | | void pc_svga_trident_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset) |
| 2508 | | { |
| 2509 | | int buswidth; |
| 2510 | | UINT64 mask = 0; |
| 2511 | | |
| 2512 | | buswidth = machine.firstcpu->space_config(AS_PROGRAM)->m_databus_width; |
| 2513 | | switch(buswidth) |
| 2514 | | { |
| 2515 | | case 8: |
| 2516 | | mask = 0; |
| 2517 | | break; |
| 2518 | | |
| 2519 | | case 16: |
| 2520 | | mask = 0xffff; |
| 2521 | | break; |
| 2522 | | |
| 2523 | | case 32: |
| 2524 | | mask = 0xffffffff; |
| 2525 | | break; |
| 2526 | | |
| 2527 | | case 64: |
| 2528 | | mask = -1; |
| 2529 | | break; |
| 2530 | | |
| 2531 | | default: |
| 2532 | | fatalerror("VGA: Bus width %d not supported\n", buswidth); |
| 2533 | | break; |
| 2534 | | } |
| 2535 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3b0, port_offset + 0x3bf, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w), mask); |
| 2536 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3c0, port_offset + 0x3cf, FUNC(trident_03c0_r), FUNC(trident_03c0_w), mask); |
| 2537 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3d0, port_offset + 0x3df, FUNC(trident_03d0_r), FUNC(trident_03d0_w), mask); |
| 2538 | | |
| 2539 | | mem_space.install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(trident_mem_r), FUNC(trident_mem_w), mask); |
| 2540 | | |
| 2541 | | // D3h = TGUI9660XGi |
| 2542 | | svga.id = 0xd3; // TODO: hardcoded for California Chase |
| 2543 | | } |
| 2544 | | |
| 2545 | 2470 | static UINT8 trident_seq_reg_read(running_machine &machine, UINT8 index) |
| 2546 | 2471 | { |
| 2547 | 2472 | UINT8 res; |
| r18211 | r18212 | |
| 4863 | 4788 | } |
| 4864 | 4789 | } |
| 4865 | 4790 | |
| 4866 | | void pc_vga_gamtor_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset) |
| 4867 | | { |
| 4868 | | int buswidth; |
| 4869 | | UINT64 mask = 0; |
| 4870 | 4791 | |
| 4871 | | buswidth = machine.firstcpu->space_config(AS_PROGRAM)->m_databus_width; |
| 4872 | | switch(buswidth) |
| 4873 | | { |
| 4874 | | case 8: |
| 4875 | | mask = 0; |
| 4876 | | break; |
| 4877 | | |
| 4878 | | case 16: |
| 4879 | | mask = 0xffff; |
| 4880 | | break; |
| 4881 | | |
| 4882 | | case 32: |
| 4883 | | mask = 0xffffffff; |
| 4884 | | break; |
| 4885 | | |
| 4886 | | case 64: |
| 4887 | | mask = -1; |
| 4888 | | break; |
| 4889 | | |
| 4890 | | default: |
| 4891 | | fatalerror("VGA: Bus width %d not supported\n", buswidth); |
| 4892 | | break; |
| 4893 | | } |
| 4894 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3b0, port_offset + 0x3bf, FUNC(vga_port_gamtor_03b0_r), FUNC(vga_port_gamtor_03b0_w), mask); |
| 4895 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3c0, port_offset + 0x3cf, FUNC(vga_port_gamtor_03c0_r), FUNC(vga_port_gamtor_03c0_w), mask); |
| 4896 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3d0, port_offset + 0x3df, FUNC(vga_port_gamtor_03d0_r), FUNC(vga_port_gamtor_03d0_w), mask); |
| 4897 | | |
| 4898 | | mem_space.install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(vga_gamtor_mem_r), FUNC(vga_gamtor_mem_w), mask); |
| 4899 | | } |
| 4900 | | |
| 4901 | 4792 | static void ati_define_video_mode(running_machine &machine) |
| 4902 | 4793 | { |
| 4903 | 4794 | int clock; |
| r18211 | r18212 | |
| 5464 | 5355 | } |
| 5465 | 5356 | cirrus_define_video_mode(space.machine()); |
| 5466 | 5357 | } |
| 5467 | | |
| 5468 | | void pc_svga_cirrus_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset) |
| 5469 | | { |
| 5470 | | int buswidth; |
| 5471 | | UINT64 mask = 0; |
| 5472 | | |
| 5473 | | buswidth = machine.firstcpu->space_config(AS_PROGRAM)->m_databus_width; |
| 5474 | | switch(buswidth) |
| 5475 | | { |
| 5476 | | case 8: |
| 5477 | | mask = 0; |
| 5478 | | break; |
| 5479 | | |
| 5480 | | case 16: |
| 5481 | | mask = 0xffff; |
| 5482 | | break; |
| 5483 | | |
| 5484 | | case 32: |
| 5485 | | mask = 0xffffffff; |
| 5486 | | break; |
| 5487 | | |
| 5488 | | case 64: |
| 5489 | | mask = -1; |
| 5490 | | break; |
| 5491 | | |
| 5492 | | default: |
| 5493 | | fatalerror("VGA: Bus width %d not supported\n", buswidth); |
| 5494 | | break; |
| 5495 | | } |
| 5496 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3b0, port_offset + 0x3bf, FUNC(vga_port_03b0_r), FUNC(vga_port_03b0_w), mask); |
| 5497 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3c0, port_offset + 0x3cf, FUNC(cirrus_03c0_r), FUNC(cirrus_03c0_w), mask); |
| 5498 | | io_space.install_legacy_readwrite_handler(port_offset + 0x3d0, port_offset + 0x3df, FUNC(vga_port_03d0_r), FUNC(vga_port_03d0_w), mask); |
| 5499 | | |
| 5500 | | mem_space.install_legacy_readwrite_handler(mem_offset + 0x00000, mem_offset + 0x1ffff, FUNC(vga_mem_r), FUNC(vga_mem_w), mask); |
| 5501 | | } |
trunk/src/emu/video/pc_vga.h
| r18211 | r18212 | |
| 17 | 17 | VIDEO_START( vga ); |
| 18 | 18 | void pc_vga_init(running_machine &machine, read8_delegate read_dipswitch); |
| 19 | 19 | void pc_vga_cirrus_init(running_machine &machine, read8_delegate read_dipswitch); |
| 20 | | void pc_vga_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset); |
| 21 | | void pc_vga_gamtor_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset); |
| 22 | | void pc_svga_trident_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset); |
| 23 | | void pc_svga_cirrus_io_init(running_machine &machine, address_space &mem_space, offs_t mem_offset, address_space &io_space, offs_t port_offset); |
| 24 | 20 | void pc_vga_reset(running_machine &machine); |
| 25 | | void *pc_vga_memory(void); |
| 26 | | size_t pc_vga_memory_size(void); |
| 27 | 21 | void pc_video_start(running_machine &machine); |
| 28 | 22 | void s3_video_start(running_machine &machine); |
| 29 | 23 | |
| r18211 | r18212 | |
| 31 | 25 | DECLARE_READ8_HANDLER(vga_port_03c0_r); |
| 32 | 26 | DECLARE_READ8_HANDLER(vga_port_03d0_r); |
| 33 | 27 | DECLARE_READ8_HANDLER(vga_mem_r); |
| 28 | DECLARE_READ8_HANDLER(vga_mem_linear_r); |
| 34 | 29 | DECLARE_WRITE8_HANDLER(vga_port_03b0_w); |
| 35 | 30 | DECLARE_WRITE8_HANDLER(vga_port_03c0_w); |
| 36 | 31 | DECLARE_WRITE8_HANDLER(vga_port_03d0_w); |
| 37 | 32 | DECLARE_WRITE8_HANDLER(vga_mem_w); |
| 33 | DECLARE_WRITE8_HANDLER(vga_mem_linear_w); |
| 38 | 34 | |
| 39 | 35 | /* per-device implementations */ |
| 40 | 36 | DECLARE_READ8_HANDLER(tseng_et4k_03b0_r); |
| r18211 | r18212 | |
| 129 | 125 | DECLARE_READ8_HANDLER(ati_mem_r); |
| 130 | 126 | DECLARE_WRITE8_HANDLER(ati_mem_w); |
| 131 | 127 | |
| 128 | DECLARE_READ8_HANDLER(cirrus_03c0_r); |
| 129 | DECLARE_WRITE8_HANDLER(cirrus_03c0_w); |
| 132 | 130 | |
| 131 | DECLARE_READ8_HANDLER(vga_gamtor_mem_r); |
| 132 | DECLARE_WRITE8_HANDLER(vga_gamtor_mem_w); |
| 133 | DECLARE_READ8_HANDLER(vga_port_gamtor_03b0_r); |
| 134 | DECLARE_WRITE8_HANDLER(vga_port_gamtor_03b0_w); |
| 135 | DECLARE_READ8_HANDLER(vga_port_gamtor_03c0_r); |
| 136 | DECLARE_WRITE8_HANDLER(vga_port_gamtor_03c0_w); |
| 137 | DECLARE_READ8_HANDLER(vga_port_gamtor_03d0_r); |
| 138 | DECLARE_WRITE8_HANDLER(vga_port_gamtor_03d0_w); |
| 133 | 139 | /* |
| 134 | 140 | pega notes (paradise) |
| 135 | 141 | build in amstrad pc1640 |
trunk/src/mess/drivers/bebox.c
| r18211 | r18212 | |
| 59 | 59 | AM_RANGE(0x800002F8, 0x800002FF) AM_DEVREADWRITE8( "ns16550_1", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) |
| 60 | 60 | AM_RANGE(0x80000380, 0x80000387) AM_DEVREADWRITE8( "ns16550_2", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) |
| 61 | 61 | AM_RANGE(0x80000388, 0x8000038F) AM_DEVREADWRITE8( "ns16550_3", ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) |
| 62 | AM_RANGE(0x800003b0, 0x800003bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, U64(0xffffffffffffffff)) |
| 63 | AM_RANGE(0x800003c0, 0x800003cf) AM_READWRITE8_LEGACY(cirrus_03c0_r, cirrus_03c0_w, U64(0xffffffffffffffff)) |
| 64 | AM_RANGE(0x800003d0, 0x800003df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, U64(0xffffffffffffffff)) |
| 62 | 65 | AM_RANGE(0x800003F0, 0x800003F7) AM_READWRITE_LEGACY(bebox_800003F0_r, bebox_800003F0_w ) |
| 63 | 66 | AM_RANGE(0x800003F8, 0x800003FF) AM_DEVREADWRITE8( "ns16550_0",ns16550_device, ins8250_r, ins8250_w, U64(0xffffffffffffffff) ) |
| 64 | 67 | AM_RANGE(0x80000480, 0x8000048F) AM_READWRITE8_LEGACY(bebox_80000480_r, bebox_80000480_w, U64(0xffffffffffffffff) ) |
| r18211 | r18212 | |
| 66 | 69 | //AM_RANGE(0x800042E8, 0x800042EF) AM_DEVWRITE8_LEGACY("cirrus", cirrus_42E8_w, U64(0xffffffffffffffff) ) |
| 67 | 70 | |
| 68 | 71 | AM_RANGE(0xBFFFFFF0, 0xBFFFFFFF) AM_READ_LEGACY(bebox_interrupt_ack_r ) |
| 69 | | |
| 72 | AM_RANGE(0xC00A0000, 0XC00BFFFF) AM_READWRITE8_LEGACY(vga_mem_r, vga_mem_w, U64(0xffffffffffffffff) ) |
| 73 | AM_RANGE(0xC1000000, 0XC11FFFFF) AM_READWRITE8_LEGACY(vga_mem_linear_r, vga_mem_linear_w, U64(0xffffffffffffffff) ) |
| 70 | 74 | AM_RANGE(0xFFF00000, 0xFFF03FFF) AM_ROMBANK("bank2") |
| 71 | 75 | AM_RANGE(0xFFF04000, 0xFFFFFFFF) AM_READWRITE8_LEGACY(bebox_flash_r, bebox_flash_w, U64(0xffffffffffffffff) ) |
| 72 | 76 | ADDRESS_MAP_END |
trunk/src/mess/drivers/indiana.c
| r18211 | r18212 | |
| 35 | 35 | AM_RANGE(0x00500000, 0x005fffff) AM_MIRROR(0x7f800000) AM_RAM // 16 bit PC MEM |
| 36 | 36 | AM_RANGE(0x00600000, 0x006fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC IO |
| 37 | 37 | AM_RANGE(0x00700000, 0x007fffff) AM_MIRROR(0x7f800000) AM_RAM // 8 bit PC MEM |
| 38 | | AM_RANGE(0x80000000, 0x803fffff) AM_MIRROR(0x7fc00000) AM_RAM // 4 MB RAM |
| 38 | AM_RANGE(0x7f6003b0, 0x7f6003bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 39 | AM_RANGE(0x7f6003c0, 0x7f6003cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 40 | AM_RANGE(0x7f6003d0, 0x7f6003df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 41 | AM_RANGE(0x7f7a0000, 0x7f7bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 42 | AM_RANGE(0x80000000, 0x803fffff) AM_MIRROR(0x7fc00000) AM_RAM // 4 MB RAM |
| 39 | 43 | ADDRESS_MAP_END |
| 40 | 44 | |
| 41 | 45 | |
| r18211 | r18212 | |
| 85 | 89 | DRIVER_INIT_MEMBER(indiana_state,indiana) |
| 86 | 90 | { |
| 87 | 91 | pc_vga_init(machine(), read8_delegate(FUNC(indiana_state::indiana_vga_setting),this)); |
| 88 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0x7f7a0000, machine().device("maincpu")->memory().space(AS_PROGRAM), 0x7f600000); |
| 89 | 92 | } |
| 90 | 93 | |
| 91 | 94 | /* ROM definition */ |
trunk/src/mess/machine/pc.c
| r18211 | r18212 | |
| 1406 | 1406 | mess_init_pc_common(machine(), 0, NULL, pc_set_irq_line); |
| 1407 | 1407 | } |
| 1408 | 1408 | |
| 1409 | | READ8_MEMBER(pc_state::input_port_0_r ) { return machine().root_device().ioport("IN0")->read(); } |
| 1410 | | |
| 1411 | 1409 | DRIVER_INIT_MEMBER(pc_state,pc1640) |
| 1412 | 1410 | { |
| 1413 | 1411 | address_space &io_space = machine().firstcpu->space( AS_IO ); |
| r18211 | r18212 | |
| 1418 | 1416 | mess_init_pc_common(machine(), PCCOMMON_KEYBOARD_PC, pc_set_keyb_int, pc_set_irq_line); |
| 1419 | 1417 | } |
| 1420 | 1418 | |
| 1421 | | DRIVER_INIT_MEMBER(pc_state,pc_vga) |
| 1422 | | { |
| 1423 | | mess_init_pc_common(machine(), PCCOMMON_KEYBOARD_PC, pc_set_keyb_int, pc_set_irq_line); |
| 1424 | | |
| 1425 | | pc_vga_init(machine(), read8_delegate(FUNC(pc_state::input_port_0_r),this)); |
| 1426 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 1427 | | } |
| 1428 | | |
| 1429 | 1419 | static IRQ_CALLBACK(pc_irq_callback) |
| 1430 | 1420 | { |
| 1431 | 1421 | pc_state *st = device->machine().driver_data<pc_state>(); |
trunk/src/mess/machine/bebox.c
| r18211 | r18212 | |
| 617 | 617 | * Video card (Cirrus Logic CL-GD5430) |
| 618 | 618 | * |
| 619 | 619 | *************************************/ |
| 620 | | |
| 620 | /* |
| 621 | 621 | static READ64_HANDLER( bebox_video_r ) |
| 622 | 622 | { |
| 623 | | const UINT64 *mem = (const UINT64 *) pc_vga_memory(); |
| 624 | | return BIG_ENDIANIZE_INT64(mem[offset]); |
| 623 | UINT64 result = 0; |
| 624 | mem_mask = FLIPENDIAN_INT64(mem_mask); |
| 625 | if (ACCESSING_BITS_0_7) |
| 626 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 0, mem_mask >> 0) << 0; |
| 627 | if (ACCESSING_BITS_8_15) |
| 628 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 1, mem_mask >> 8) << 8; |
| 629 | if (ACCESSING_BITS_16_23) |
| 630 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 2, mem_mask >> 16) << 16; |
| 631 | if (ACCESSING_BITS_24_31) |
| 632 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 3, mem_mask >> 24) << 24; |
| 633 | if (ACCESSING_BITS_32_39) |
| 634 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 4, mem_mask >> 32) << 32; |
| 635 | if (ACCESSING_BITS_40_47) |
| 636 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 5, mem_mask >> 40) << 40; |
| 637 | if (ACCESSING_BITS_48_55) |
| 638 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 6, mem_mask >> 48) << 48; |
| 639 | if (ACCESSING_BITS_56_63) |
| 640 | result |= (UINT64)vga_mem_linear_r(space, offset * 8 + 7, mem_mask >> 56) << 56; |
| 641 | return FLIPENDIAN_INT64(result); |
| 625 | 642 | } |
| 626 | 643 | |
| 627 | 644 | |
| 628 | 645 | static WRITE64_HANDLER( bebox_video_w ) |
| 629 | 646 | { |
| 630 | | UINT64 *mem = (UINT64 *) pc_vga_memory(); |
| 631 | | data = BIG_ENDIANIZE_INT64(data); |
| 632 | | mem_mask = BIG_ENDIANIZE_INT64(mem_mask); |
| 633 | | COMBINE_DATA(&mem[offset]); |
| 647 | data = FLIPENDIAN_INT64(data); |
| 648 | mem_mask = FLIPENDIAN_INT64(mem_mask); |
| 649 | if (ACCESSING_BITS_0_7) |
| 650 | vga_mem_linear_w(space, offset * 8 + 0, data >> 0 , mem_mask >> 0); |
| 651 | if (ACCESSING_BITS_8_15) |
| 652 | vga_mem_linear_w(space, offset * 8 + 1, data >> 8 , mem_mask >> 8); |
| 653 | if (ACCESSING_BITS_16_23) |
| 654 | vga_mem_linear_w(space, offset * 8 + 2, data >> 16, mem_mask >> 16); |
| 655 | if (ACCESSING_BITS_24_31) |
| 656 | vga_mem_linear_w(space, offset * 8 + 3, data >> 24, mem_mask >> 24); |
| 657 | if (ACCESSING_BITS_32_39) |
| 658 | vga_mem_linear_w(space, offset * 8 + 4, data >> 32, mem_mask >> 32); |
| 659 | if (ACCESSING_BITS_40_47) |
| 660 | vga_mem_linear_w(space, offset * 8 + 5, data >> 40, mem_mask >> 40); |
| 661 | if (ACCESSING_BITS_48_55) |
| 662 | vga_mem_linear_w(space, offset * 8 + 6, data >> 48, mem_mask >> 48); |
| 663 | if (ACCESSING_BITS_56_63) |
| 664 | vga_mem_linear_w(space, offset * 8 + 7, data >> 56, mem_mask >> 56); |
| 634 | 665 | } |
| 635 | | |
| 666 | */ |
| 636 | 667 | /************************************* |
| 637 | 668 | * |
| 638 | 669 | * 8237 DMA |
| r18211 | r18212 | |
| 1060 | 1091 | { |
| 1061 | 1092 | address_space &space_0 = machine().device("ppc1")->memory().space(AS_PROGRAM); |
| 1062 | 1093 | address_space &space_1 = machine().device("ppc2")->memory().space(AS_PROGRAM); |
| 1063 | | offs_t vram_begin; |
| 1064 | | offs_t vram_end; |
| 1065 | 1094 | |
| 1066 | 1095 | /* set up boot and flash ROM */ |
| 1067 | 1096 | membank("bank2")->set_base(machine().root_device().memregion("user2")->base()); |
| r18211 | r18212 | |
| 1073 | 1102 | |
| 1074 | 1103 | kbdc8042_init(machine(), &bebox_8042_interface); |
| 1075 | 1104 | |
| 1076 | | /* install VGA memory */ |
| 1077 | | vram_begin = 0xC1000000; |
| 1078 | | vram_end = vram_begin + pc_vga_memory_size() - 1; |
| 1079 | | space_0.install_legacy_readwrite_handler(vram_begin, vram_end, FUNC(bebox_video_r), FUNC(bebox_video_w)); |
| 1080 | | space_1.install_legacy_readwrite_handler(vram_begin, vram_end, FUNC(bebox_video_r), FUNC(bebox_video_w)); |
| 1081 | | |
| 1082 | 1105 | /* The following is a verrrry ugly hack put in to support NetBSD for |
| 1083 | 1106 | * NetBSD. When NetBSD/bebox it does most of its work on CPU #0 and then |
| 1084 | 1107 | * lets CPU #1 go. However, it seems that CPU #1 jumps into never-never |
trunk/src/mame/drivers/pangofun.c
| r18211 | r18212 | |
| 113 | 113 | |
| 114 | 114 | static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pangofun_state ) |
| 115 | 115 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 116 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 116 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 117 | 117 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) |
| 118 | 118 | AM_RANGE(0x000f0000, 0x000fffff) AM_ROM AM_REGION("bios", 0 ) |
| 119 | 119 | AM_RANGE(0x00100000, 0x00ffffff) AM_NOP |
| r18211 | r18212 | |
| 124 | 124 | static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pangofun_state ) |
| 125 | 125 | AM_IMPORT_FROM(pcat32_io_common) |
| 126 | 126 | AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) |
| 127 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 128 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 129 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 127 | 130 | ADDRESS_MAP_END |
| 128 | 131 | |
| 129 | 132 | #define AT_KEYB_HELPER(bit, text, key1) \ |
| r18211 | r18212 | |
| 245 | 248 | DRIVER_INIT_MEMBER(pangofun_state,pangofun) |
| 246 | 249 | { |
| 247 | 250 | pc_vga_init(machine(), read8_delegate(FUNC(pangofun_state::vga_setting),this)); |
| 248 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 249 | 251 | } |
| 250 | 252 | |
| 251 | 253 | GAME( 1995, pangofun, 0, pangofun, pangofun, pangofun_state, pangofun, ROT0, "InfoCube", "Pango Fun (Italy)", GAME_NOT_WORKING|GAME_NO_SOUND ) |
trunk/src/mame/drivers/taitowlf.c
| r18211 | r18212 | |
| 456 | 456 | |
| 457 | 457 | static ADDRESS_MAP_START( taitowlf_map, AS_PROGRAM, 32, taitowlf_state ) |
| 458 | 458 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 459 | #if ENABLE_VGA |
| 460 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 461 | #else |
| 459 | 462 | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 463 | #endif |
| 460 | 464 | #if ENABLE_VGA |
| 461 | 465 | AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) |
| 462 | 466 | #else |
| r18211 | r18212 | |
| 483 | 487 | AM_RANGE(0x0300, 0x03af) AM_NOP |
| 484 | 488 | AM_RANGE(0x03b0, 0x03df) AM_NOP |
| 485 | 489 | AM_RANGE(0x0278, 0x027b) AM_WRITE(pnp_config_w) |
| 490 | #if ENABLE_VGA |
| 491 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 492 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 493 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 494 | #endif |
| 486 | 495 | AM_RANGE(0x03f0, 0x03ff) AM_READWRITE(fdc_r, fdc_w) |
| 487 | 496 | AM_RANGE(0x0a78, 0x0a7b) AM_WRITE(pnp_data_w) |
| 488 | 497 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) |
| r18211 | r18212 | |
| 711 | 720 | kbdc8042_init(machine(), &at8042); |
| 712 | 721 | #if ENABLE_VGA |
| 713 | 722 | pc_vga_init(machine(), read8_delegate(FUNC(taitowlf_state::vga_setting),this)); |
| 714 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 715 | 723 | #endif |
| 716 | 724 | } |
| 717 | 725 | |
trunk/src/mame/drivers/pntnpuzl.c
| r18211 | r18212 | |
| 312 | 312 | AM_RANGE(0x28001a, 0x28001b) AM_WRITENOP |
| 313 | 313 | |
| 314 | 314 | /* standard VGA */ |
| 315 | | AM_RANGE(0x3a0000, 0x3bffff) AM_RAM // RAM |
| 316 | | // AM_RANGE(0x3c0000, 0x3c0fff) AM_RAM // regs |
| 315 | AM_RANGE(0x3a0000, 0x3bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffff) |
| 316 | AM_RANGE(0x3c03b0, 0x3c03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffff) |
| 317 | AM_RANGE(0x3c03c0, 0x3c03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffff) |
| 318 | AM_RANGE(0x3c03d0, 0x3c03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffff) |
| 317 | 319 | |
| 318 | 320 | AM_RANGE(0x400000, 0x407fff) AM_RAM |
| 319 | 321 | ADDRESS_MAP_END |
| r18211 | r18212 | |
| 386 | 388 | // rom[0x2696/2] = 0x4e71; |
| 387 | 389 | // rom[0x26a0/2] = 0x4e71; |
| 388 | 390 | pc_vga_init(machine(), read8_delegate(FUNC(pntnpuzl_state::vga_setting),this)); |
| 389 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0x3a0000, machine().device("maincpu")->memory().space(AS_PROGRAM), 0x3c0000); |
| 390 | 391 | |
| 391 | 392 | } |
| 392 | 393 | |
trunk/src/mame/drivers/su2000.c
| r18211 | r18212 | |
| 93 | 93 | |
| 94 | 94 | static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, su2000_state ) |
| 95 | 95 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAMBANK("mem_bank") |
| 96 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 96 | 97 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM |
| 97 | 98 | AM_RANGE(0x000f0000, 0x000fffff) AM_ROM |
| 98 | 99 | AM_RANGE(0xffff0000, 0xffffffff) AM_ROM AM_REGION("maincpu", 0x0f0000) |
| r18211 | r18212 | |
| 100 | 101 | |
| 101 | 102 | static ADDRESS_MAP_START( pcat_io, AS_IO, 32, su2000_state ) |
| 102 | 103 | AM_IMPORT_FROM(pcat32_io_common) |
| 104 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 105 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 106 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 103 | 107 | ADDRESS_MAP_END |
| 104 | 108 | |
| 105 | 109 | |
| r18211 | r18212 | |
| 288 | 292 | kbdc8042_init(machine(), &at8042); |
| 289 | 293 | |
| 290 | 294 | pc_vga_init(machine(), read8_delegate(FUNC(su2000_state::vga_setting),this)); |
| 291 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 292 | 295 | } |
| 293 | 296 | |
| 294 | 297 | void su2000_state::machine_reset() |
trunk/src/mame/drivers/gammagic.c
| r18211 | r18212 | |
| 545 | 545 | // Memory is mostly handled by the chipset |
| 546 | 546 | static ADDRESS_MAP_START( gammagic_map, AS_PROGRAM, 32, gammagic_state ) |
| 547 | 547 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 548 | | AM_RANGE(0x000a0000, 0x000bffff) AM_NOP |
| 548 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 549 | 549 | AM_RANGE(0x00100000, 0x07ffffff) AM_RAM |
| 550 | 550 | AM_RANGE(0x08000000, 0xfffdffff) AM_NOP |
| 551 | 551 | AM_RANGE(0xfffe0000, 0xffffffff) AM_ROM AM_REGION("user", 0x20000)/* System BIOS */ |
| r18211 | r18212 | |
| 564 | 564 | AM_RANGE(0x00f0, 0x01ef) AM_NOP |
| 565 | 565 | //AM_RANGE(0x01f0, 0x01f7) AM_READWRITE_LEGACY(atapi_r, atapi_w) |
| 566 | 566 | AM_RANGE(0x01f8, 0x03ef) AM_NOP |
| 567 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 568 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 569 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 567 | 570 | AM_RANGE(0x03f0, 0x0cf7) AM_NOP |
| 568 | 571 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_device, read, write) |
| 569 | 572 | AM_RANGE(0x0400, 0xffff) AM_NOP |
| r18211 | r18212 | |
| 796 | 799 | DRIVER_INIT_MEMBER(gammagic_state,gammagic) |
| 797 | 800 | { |
| 798 | 801 | pc_vga_init(machine(), read8_delegate(FUNC(gammagic_state::vga_setting),this)); |
| 799 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 800 | 802 | init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, gammagic_set_keyb_int); |
| 801 | 803 | kbdc8042_init(machine(), &at8042); |
| 802 | 804 | atapi_init(machine()); |
trunk/src/mame/drivers/queen.c
| r18211 | r18212 | |
| 518 | 518 | |
| 519 | 519 | static ADDRESS_MAP_START( queen_map, AS_PROGRAM, 32, queen_state ) |
| 520 | 520 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 521 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 521 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 522 | 522 | AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) |
| 523 | 523 | AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) |
| 524 | 524 | AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) |
| r18211 | r18212 | |
| 542 | 542 | AM_RANGE(0x00e8, 0x00ef) AM_NOP |
| 543 | 543 | |
| 544 | 544 | AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) |
| 545 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 546 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 547 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 545 | 548 | AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) |
| 546 | 549 | |
| 547 | 550 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) |
| r18211 | r18212 | |
| 656 | 659 | |
| 657 | 660 | kbdc8042_init(machine(), &at8042); |
| 658 | 661 | pc_vga_init(machine(), read8_delegate(FUNC(queen_state::vga_setting),this)); |
| 659 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 660 | 662 | } |
| 661 | 663 | |
| 662 | 664 | void queen_state::machine_reset() |
trunk/src/mame/drivers/gamtor.c
| r18211 | r18212 | |
| 53 | 53 | AM_RANGE(0x20000000, 0x2003ffff) AM_RAM |
| 54 | 54 | |
| 55 | 55 | /* standard VGA */ |
| 56 | | // AM_RANGE(0x40000000, 0x40000fff) AM_RAM // regs |
| 57 | | AM_RANGE(0x44000000, 0x4401ffff) AM_RAM // VRAM |
| 56 | //AM_RANGE(0x40000000, 0x40000fff) AM_RAM // regs |
| 57 | AM_RANGE(0x400003b0, 0x400003bf) AM_READWRITE8_LEGACY(vga_port_gamtor_03b0_r, vga_port_gamtor_03b0_w, 0xffffffff) |
| 58 | AM_RANGE(0x400003c0, 0x400003cf) AM_READWRITE8_LEGACY(vga_port_gamtor_03c0_r, vga_port_gamtor_03c0_w, 0xffffffff) |
| 59 | AM_RANGE(0x400003d0, 0x400003df) AM_READWRITE8_LEGACY(vga_port_gamtor_03d0_r, vga_port_gamtor_03d0_w, 0xffffffff) |
| 60 | |
| 61 | AM_RANGE(0x44000000, 0x4401ffff) AM_READWRITE8_LEGACY(vga_gamtor_mem_r,vga_gamtor_mem_w, 0xffffffff) // VRAM |
| 58 | 62 | // AM_RANGE(0x44000000, 0x44007fff) AM_RAM AM_SHARE("tmapram1") // puts strings here, looks almost like a tilemap, but where are the tiles? |
| 59 | 63 | // AM_RANGE(0x440a0000, 0x440a1fff) AM_RAM AM_SHARE("tmapram2") // beetlem (like above, mirror?) |
| 60 | 64 | |
| r18211 | r18212 | |
| 1255 | 1259 | DRIVER_INIT_MEMBER(gaminator_state,gaminator) |
| 1256 | 1260 | { |
| 1257 | 1261 | pc_vga_init(machine(), read8_delegate(FUNC(gaminator_state::vga_setting),this)); |
| 1258 | | pc_vga_gamtor_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0x44000000, machine().device("maincpu")->memory().space(AS_PROGRAM), 0x40000000); |
| 1259 | 1262 | } |
| 1260 | 1263 | |
| 1261 | 1264 | |
trunk/src/mame/drivers/xtom3d.c
| r18211 | r18212 | |
| 526 | 526 | |
| 527 | 527 | static ADDRESS_MAP_START(xtom3d_map, AS_PROGRAM, 32, xtom3d_state) |
| 528 | 528 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 529 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 529 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 530 | 530 | AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) |
| 531 | 531 | AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) |
| 532 | 532 | AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) |
| r18211 | r18212 | |
| 550 | 550 | AM_RANGE(0x00e8, 0x00ef) AM_NOP |
| 551 | 551 | |
| 552 | 552 | AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) |
| 553 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 554 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 555 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 553 | 556 | AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) |
| 554 | 557 | |
| 555 | 558 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) |
| r18211 | r18212 | |
| 665 | 668 | |
| 666 | 669 | kbdc8042_init(machine(), &at8042); |
| 667 | 670 | pc_vga_init(machine(), read8_delegate(FUNC(xtom3d_state::vga_setting),this)); |
| 668 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 669 | 671 | } |
| 670 | 672 | |
| 671 | 673 | void xtom3d_state::machine_reset() |
trunk/src/mame/drivers/voyager.c
| r18211 | r18212 | |
| 396 | 396 | |
| 397 | 397 | static ADDRESS_MAP_START( voyager_map, AS_PROGRAM, 32, voyager_state ) |
| 398 | 398 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 399 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM // VGA VRAM |
| 399 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(trident_mem_r, trident_mem_w, 0xffffffff) // VGA VRAM |
| 400 | 400 | AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) |
| 401 | 401 | AM_RANGE(0x000c8000, 0x000cffff) AM_NOP |
| 402 | 402 | //AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication |
| r18211 | r18212 | |
| 446 | 446 | AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug |
| 447 | 447 | AM_RANGE(0x0320, 0x038f) AM_NOP //To debug |
| 448 | 448 | AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug |
| 449 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 450 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(trident_03c0_r, trident_03c0_w, 0xffffffff) |
| 451 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(trident_03d0_r, trident_03d0_w, 0xffffffff) |
| 449 | 452 | AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug |
| 450 | 453 | AM_RANGE(0x0378, 0x037f) AM_NOP //To debug |
| 451 | 454 | // AM_RANGE(0x0300, 0x03af) AM_NOP |
| r18211 | r18212 | |
| 802 | 805 | m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); |
| 803 | 806 | |
| 804 | 807 | pc_vga_init(machine(), read8_delegate(FUNC(voyager_state::vga_setting),this)); |
| 805 | | pc_svga_trident_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 806 | 808 | init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, voyager_set_keyb_int); |
| 807 | 809 | |
| 808 | 810 | intel82439tx_init(machine()); |
trunk/src/mame/drivers/savquest.c
| r18211 | r18212 | |
| 397 | 397 | |
| 398 | 398 | static ADDRESS_MAP_START(savquest_map, AS_PROGRAM, 32, savquest_state) |
| 399 | 399 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 400 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 400 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 401 | 401 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) |
| 402 | 402 | AM_RANGE(0x000e0000, 0x000fffff) AM_ROMBANK("bank1") |
| 403 | 403 | AM_RANGE(0x000e0000, 0x000fffff) AM_WRITE(bios_ram_w) |
| r18211 | r18212 | |
| 418 | 418 | AM_RANGE(0x00e8, 0x00ef) AM_NOP |
| 419 | 419 | |
| 420 | 420 | AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) |
| 421 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 422 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 423 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 421 | 424 | AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) |
| 422 | 425 | |
| 423 | 426 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) |
| r18211 | r18212 | |
| 530 | 533 | |
| 531 | 534 | kbdc8042_init(machine(), &at8042); |
| 532 | 535 | pc_vga_init(machine(), read8_delegate(FUNC(savquest_state::vga_setting),this)); |
| 533 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 534 | 536 | } |
| 535 | 537 | |
| 536 | 538 | void savquest_state::machine_reset() |
trunk/src/mame/drivers/photoply.c
| r18211 | r18212 | |
| 240 | 240 | |
| 241 | 241 | static ADDRESS_MAP_START( photoply_map, AS_PROGRAM, 32, photoply_state ) |
| 242 | 242 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 243 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM // VGA RAM |
| 243 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) // VGA RAM |
| 244 | 244 | AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) //??? |
| 245 | 245 | AM_RANGE(0x000c8000, 0x000cffff) AM_RAM AM_REGION("video_bios", 0) |
| 246 | 246 | AM_RANGE(0x000d0000, 0x000dffff) AM_RAM AM_REGION("ex_bios", 0) |
| r18211 | r18212 | |
| 262 | 262 | AM_RANGE(0x00e8, 0x00eb) AM_NOP |
| 263 | 263 | AM_RANGE(0x0278, 0x027f) AM_RAM //parallel port 2 |
| 264 | 264 | AM_RANGE(0x0378, 0x037f) AM_RAM //parallel port |
| 265 | | AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3 |
| 265 | //AM_RANGE(0x03bc, 0x03bf) AM_RAM //parallel port 3 |
| 266 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 267 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 268 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 266 | 269 | // AM_RANGE(0x03f4, 0x03f7) AM_READ_LEGACY(kludge_r) // fdc |
| 267 | 270 | ADDRESS_MAP_END |
| 268 | 271 | |
| r18211 | r18212 | |
| 379 | 382 | DRIVER_INIT_MEMBER(photoply_state,photoply) |
| 380 | 383 | { |
| 381 | 384 | pc_vga_init(machine(), read8_delegate(FUNC(photoply_state::vga_setting),this)); |
| 382 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 383 | 385 | } |
| 384 | 386 | |
| 385 | 387 | GAME( 199?, photoply, 0, photoply, photoply, photoply_state, photoply, ROT0, "Funworld", "Photo Play 2000 (v2.01)", GAME_NOT_WORKING|GAME_NO_SOUND ) |
trunk/src/mame/drivers/midqslvr.c
| r18211 | r18212 | |
| 535 | 535 | |
| 536 | 536 | static ADDRESS_MAP_START(midqslvr_map, AS_PROGRAM, 32, midqslvr_state) |
| 537 | 537 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 538 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 538 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 539 | 539 | AM_RANGE(0x000c0000, 0x000c3fff) AM_ROMBANK("video_bank1") AM_WRITE(isa_ram1_w) |
| 540 | 540 | AM_RANGE(0x000c4000, 0x000c7fff) AM_ROMBANK("video_bank2") AM_WRITE(isa_ram2_w) |
| 541 | 541 | AM_RANGE(0x000e0000, 0x000e3fff) AM_ROMBANK("bios_ext1") AM_WRITE(bios_ext1_ram_w) |
| r18211 | r18212 | |
| 559 | 559 | AM_RANGE(0x00e8, 0x00ef) AM_NOP |
| 560 | 560 | |
| 561 | 561 | AM_RANGE(0x01f0, 0x01f7) AM_READWRITE(ide_r, ide_w) |
| 562 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 563 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 564 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 562 | 565 | AM_RANGE(0x03f0, 0x03f7) AM_READWRITE(fdc_r, fdc_w) |
| 563 | 566 | |
| 564 | 567 | AM_RANGE(0x0cf8, 0x0cff) AM_DEVREADWRITE("pcibus", pci_bus_legacy_device, read, write) |
| r18211 | r18212 | |
| 673 | 676 | |
| 674 | 677 | kbdc8042_init(machine(), &at8042); |
| 675 | 678 | pc_vga_init(machine(), read8_delegate(FUNC(midqslvr_state::vga_setting),this)); |
| 676 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 677 | 679 | } |
| 678 | 680 | |
| 679 | 681 | void midqslvr_state::machine_reset() |
trunk/src/mame/drivers/calchase.c
| r18211 | r18212 | |
| 543 | 543 | |
| 544 | 544 | static ADDRESS_MAP_START( calchase_map, AS_PROGRAM, 32, calchase_state ) |
| 545 | 545 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 546 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM // VGA VRAM |
| 546 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(trident_mem_r, trident_mem_w, 0xffffffff) // VGA VRAM |
| 547 | 547 | AM_RANGE(0x000c0000, 0x000c7fff) AM_RAM AM_REGION("video_bios", 0) |
| 548 | 548 | AM_RANGE(0x000c8000, 0x000cffff) AM_NOP |
| 549 | 549 | //AM_RANGE(0x000d0000, 0x000d0003) AM_RAM // XYLINX - Sincronus serial communication |
| r18211 | r18212 | |
| 600 | 600 | AM_RANGE(0x02f8, 0x02ff) AM_NOP //To debug |
| 601 | 601 | AM_RANGE(0x0320, 0x038f) AM_NOP //To debug |
| 602 | 602 | AM_RANGE(0x03a0, 0x03a7) AM_NOP //To debug |
| 603 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 604 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(trident_03c0_r, trident_03c0_w, 0xffffffff) |
| 605 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(trident_03d0_r, trident_03d0_w, 0xffffffff) |
| 603 | 606 | AM_RANGE(0x03e0, 0x03ef) AM_NOP //To debug |
| 604 | 607 | AM_RANGE(0x0378, 0x037f) AM_NOP //To debug |
| 605 | 608 | // AM_RANGE(0x0300, 0x03af) AM_NOP |
| r18211 | r18212 | |
| 978 | 981 | m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); |
| 979 | 982 | |
| 980 | 983 | pc_vga_init(machine(), read8_delegate(FUNC(calchase_state::vga_setting),this)); |
| 981 | | pc_svga_trident_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 982 | 984 | init_pc_common(machine(), PCCOMMON_KEYBOARD_AT, calchase_set_keyb_int); |
| 983 | 985 | |
| 984 | 986 | intel82439tx_init(machine()); |
trunk/src/mame/drivers/pcat_dyn.c
| r18211 | r18212 | |
| 53 | 53 | /* TODO: understand the proper ROM loading.*/ |
| 54 | 54 | static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_dyn_state ) |
| 55 | 55 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 56 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 56 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 57 | 57 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) |
| 58 | 58 | AM_RANGE(0x000c8000, 0x000cffff) AM_RAM |
| 59 | 59 | // AM_RANGE(0x000d0000, 0x000d7fff) AM_RAM AM_REGION("disk_bios", 0) |
| r18211 | r18212 | |
| 69 | 69 | static ADDRESS_MAP_START( pcat_io, AS_IO, 32, pcat_dyn_state ) |
| 70 | 70 | AM_IMPORT_FROM(pcat32_io_common) |
| 71 | 71 | AM_RANGE(0x0070, 0x007f) AM_DEVREADWRITE8("rtc", mc146818_device, read, write, 0xffffffff) |
| 72 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 73 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 74 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 72 | 75 | ADDRESS_MAP_END |
| 73 | 76 | |
| 74 | 77 | #define AT_KEYB_HELPER(bit, text, key1) \ |
| r18211 | r18212 | |
| 198 | 201 | DRIVER_INIT_MEMBER(pcat_dyn_state,pcat_dyn) |
| 199 | 202 | { |
| 200 | 203 | pc_vga_init(machine(), read8_delegate(FUNC(pcat_dyn_state::vga_setting),this)); |
| 201 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 202 | 204 | } |
| 203 | 205 | |
| 204 | 206 | GAME( 1995, toursol, 0, pcat_dyn, pcat_dyn, pcat_dyn_state, pcat_dyn, ROT0, "Dynamo", "Tournament Solitaire (V1.06, 08/03/95)", GAME_NOT_WORKING|GAME_NO_SOUND ) |
trunk/src/mame/drivers/pcat_nit.c
| r18211 | r18212 | |
| 183 | 183 | |
| 184 | 184 | static ADDRESS_MAP_START( pcat_map, AS_PROGRAM, 32, pcat_nit_state ) |
| 185 | 185 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 186 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 186 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 187 | 187 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) AM_WRITENOP |
| 188 | 188 | AM_RANGE(0x000d0000, 0x000d3fff) AM_RAM AM_REGION("disk_bios", 0) |
| 189 | 189 | AM_RANGE(0x000d7000, 0x000d7003) AM_WRITE8(pcat_nit_rombank_w, 0xff) |
| r18211 | r18212 | |
| 211 | 211 | AM_IMPORT_FROM(pcat32_io_common) |
| 212 | 212 | AM_RANGE(0x0278, 0x027f) AM_READ8(pcat_nit_io_r, 0xffffffff) AM_WRITENOP |
| 213 | 213 | AM_RANGE(0x0280, 0x0283) AM_READNOP |
| 214 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 215 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 216 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 214 | 217 | AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff) |
| 215 | 218 | ADDRESS_MAP_END |
| 216 | 219 | |
| r18211 | r18212 | |
| 428 | 431 | machine().device<nvram_device>("nvram")->set_base(m_banked_nvram, 0x2000); |
| 429 | 432 | |
| 430 | 433 | pc_vga_init(machine(), read8_delegate(FUNC(pcat_nit_state::vga_setting),this)); |
| 431 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 432 | 434 | } |
| 433 | 435 | |
| 434 | 436 | GAME( 1993, bonanza, 0, pcat_nit, pcat_nit, pcat_nit_state, pcat_nit, ROT0, "New Image Technologies", "Bonanza (Revision 3)", GAME_NOT_WORKING|GAME_NO_SOUND ) |
trunk/src/mame/drivers/magtouch.c
| r18211 | r18212 | |
| 169 | 169 | |
| 170 | 170 | static ADDRESS_MAP_START( magtouch_map, AS_PROGRAM, 32, magtouch_state ) |
| 171 | 171 | AM_RANGE(0x00000000, 0x0009ffff) AM_RAM |
| 172 | | AM_RANGE(0x000a0000, 0x000bffff) AM_RAM |
| 172 | AM_RANGE(0x000a0000, 0x000bffff) AM_READWRITE8_LEGACY(vga_mem_r,vga_mem_w, 0xffffffff) |
| 173 | 173 | AM_RANGE(0x000c0000, 0x000c7fff) AM_ROM AM_REGION("video_bios", 0) |
| 174 | 174 | AM_RANGE(0x000d8000, 0x000dffff) AM_ROMBANK("rombank") |
| 175 | 175 | AM_RANGE(0x000f0000, 0x000fffff) AM_RAM AM_REGION("bios", 0 ) |
| r18211 | r18212 | |
| 180 | 180 | static ADDRESS_MAP_START( magtouch_io, AS_IO, 32, magtouch_state ) |
| 181 | 181 | AM_IMPORT_FROM(pcat32_io_common) |
| 182 | 182 | AM_RANGE(0x02e0, 0x02e7) AM_READWRITE8(magtouch_io_r, magtouch_io_w, 0xffffffff) |
| 183 | AM_RANGE(0x03b0, 0x03bf) AM_READWRITE8_LEGACY(vga_port_03b0_r, vga_port_03b0_w, 0xffffffff) |
| 184 | AM_RANGE(0x03c0, 0x03cf) AM_READWRITE8_LEGACY(vga_port_03c0_r, vga_port_03c0_w, 0xffffffff) |
| 185 | AM_RANGE(0x03d0, 0x03df) AM_READWRITE8_LEGACY(vga_port_03d0_r, vga_port_03d0_w, 0xffffffff) |
| 183 | 186 | AM_RANGE(0x03f8, 0x03ff) AM_DEVREADWRITE8("ns16450_0", ns16450_device, ins8250_r, ins8250_w, 0xffffffff) |
| 184 | 187 | ADDRESS_MAP_END |
| 185 | 188 | |
| r18211 | r18212 | |
| 250 | 253 | DRIVER_INIT_MEMBER(magtouch_state,magtouch) |
| 251 | 254 | { |
| 252 | 255 | pc_vga_init(machine(), read8_delegate(FUNC(magtouch_state::vga_setting),this)); |
| 253 | | pc_vga_io_init(machine(), machine().device("maincpu")->memory().space(AS_PROGRAM), 0xa0000, machine().device("maincpu")->memory().space(AS_IO), 0x0000); |
| 254 | 256 | } |
| 255 | 257 | |
| 256 | 258 | GAME( 1995, magtouch, 0, magtouch, magtouch, magtouch_state, magtouch, ROT0, "Micro Manufacturing", "Magical Touch", GAME_NOT_WORKING | GAME_NO_SOUND ) |