trunk/src/mame/drivers/calchase.c
| r31757 | r31758 | |
| 3 | 3 | /************************************************************************************ |
| 4 | 4 | |
| 5 | 5 | California Chase (c) 1999 The Game Room |
| 6 | | |
| 6 | Host Invaders (c) 1998 The Game Room |
| 7 | |
| 7 | 8 | driver by Angelo Salese & Grull Osgo |
| 8 | 9 | |
| 9 | 10 | TODO: |
| r31757 | r31758 | |
| 49 | 50 | connectors for COM1, COM2, LPT1, IDE0, IDE1, floppy etc |
| 50 | 51 | uses standard AT PSU |
| 51 | 52 | |
| 52 | | Video card is Trident TGUI9680 with 512k on-board VRAM |
| 53 | Video card is Trident TGUI9680 with 512k on-board VRAM |
| 54 | Card is branded "Union UTD73" - these are all over eBay, for instance |
| 53 | 55 | RAM is AS4C256K16EO-50JC (x2) |
| 54 | 56 | Trident BIOS V5.5 (DIP28). Actual size unknown, dumped as 64k, 128k, 256k and 512k (can only be one of these sizes) |
| 55 | 57 | 6.5536MHz xtal |
| r31757 | r31758 | |
| 76 | 78 | The HDD is DOS-readable and in fact the OS is just Windows 98 DOS and can |
| 77 | 79 | be easily copied. Tested with another HDD.... formatted with DOS, copied |
| 78 | 80 | all files across to new HDD, boots up fine. |
| 79 | | |
| 81 | |
| 82 | |
| 83 | Host Invaders is the same motherboard and video card as above, but instead of an HDD, |
| 84 | there is a CD-ROM drive. |
| 85 | |
| 80 | 86 | ************************************************************************************/ |
| 81 | 87 | /* |
| 82 | 88 | Grull Osgo - Improvements |
| r31757 | r31758 | |
| 151 | 157 | DECLARE_WRITE16_MEMBER(calchase_dac_l_w); |
| 152 | 158 | DECLARE_WRITE16_MEMBER(calchase_dac_r_w); |
| 153 | 159 | DECLARE_DRIVER_INIT(calchase); |
| 160 | DECLARE_DRIVER_INIT(hostinv); |
| 154 | 161 | virtual void machine_start(); |
| 155 | 162 | virtual void machine_reset(); |
| 156 | 163 | void intel82439tx_init(); |
| r31757 | r31758 | |
| 663 | 670 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) |
| 664 | 671 | MACHINE_CONFIG_END |
| 665 | 672 | |
| 673 | static MACHINE_CONFIG_START( hostinv, calchase_state ) |
| 674 | MCFG_CPU_ADD("maincpu", PENTIUM, 133000000) // Cyrix 686MX-PR200 CPU |
| 675 | MCFG_CPU_PROGRAM_MAP(calchase_map) |
| 676 | MCFG_CPU_IO_MAP(calchase_io) |
| 677 | MCFG_CPU_IRQ_ACKNOWLEDGE_DEVICE("pic8259_1", pic8259_device, inta_cb) |
| 666 | 678 | |
| 679 | MCFG_FRAGMENT_ADD( pcat_common ) |
| 680 | |
| 681 | MCFG_IDE_CONTROLLER_32_ADD("ide", ata_devices, "cdrom", NULL, true) |
| 682 | MCFG_ATA_INTERFACE_IRQ_HANDLER(DEVWRITELINE("pic8259_2", pic8259_device, ir6_w)) |
| 683 | |
| 684 | MCFG_PCI_BUS_LEGACY_ADD("pcibus", 0) |
| 685 | MCFG_PCI_BUS_LEGACY_DEVICE(0, NULL, intel82439tx_pci_r, intel82439tx_pci_w) |
| 686 | MCFG_PCI_BUS_LEGACY_DEVICE(7, NULL, intel82371ab_pci_r, intel82371ab_pci_w) |
| 687 | |
| 688 | /* video hardware */ |
| 689 | MCFG_FRAGMENT_ADD( pcvideo_trident_vga ) |
| 690 | |
| 691 | /* sound hardware */ |
| 692 | MCFG_SPEAKER_STANDARD_STEREO("lspeaker","rspeaker") |
| 693 | MCFG_DAC_ADD("dac_l") |
| 694 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.5) |
| 695 | MCFG_DAC_ADD("dac_r") |
| 696 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.5) |
| 697 | MACHINE_CONFIG_END |
| 698 | |
| 699 | |
| 667 | 700 | READ32_MEMBER(calchase_state::calchase_idle_skip_r) |
| 668 | 701 | { |
| 669 | 702 | if(space.device().safe_pc()==0x1406f48) |
| r31757 | r31758 | |
| 686 | 719 | m_maincpu->space(AS_PROGRAM).install_readwrite_handler(0x3f0b160, 0x3f0b163, read32_delegate(FUNC(calchase_state::calchase_idle_skip_r),this), write32_delegate(FUNC(calchase_state::calchase_idle_skip_w),this)); |
| 687 | 720 | } |
| 688 | 721 | |
| 722 | DRIVER_INIT_MEMBER(calchase_state, hostinv) |
| 723 | { |
| 724 | m_bios_ram = auto_alloc_array(machine(), UINT32, 0x20000/4); |
| 725 | |
| 726 | intel82439tx_init(); |
| 727 | } |
| 728 | |
| 689 | 729 | ROM_START( calchase ) |
| 690 | 730 | ROM_REGION( 0x40000, "bios", 0 ) |
| 691 | 731 | ROM_LOAD( "mb_bios.bin", 0x00000, 0x20000, CRC(dea7a51b) SHA1(e2028c00bfa6d12959fc88866baca8b06a1eab68) ) |
| r31757 | r31758 | |
| 701 | 741 | DISK_IMAGE_READONLY( "calchase", 0,BAD_DUMP SHA1(6ae51a9b3f31cf4166322328a98c0235b0874eb3) ) |
| 702 | 742 | ROM_END |
| 703 | 743 | |
| 744 | ROM_START( hostinv ) |
| 745 | ROM_REGION( 0x40000, "bios", 0 ) |
| 746 | ROM_LOAD( "hostinv_bios.bin", 0x000000, 0x020000, CRC(5111e4b8) SHA1(20ab93150b61fd068f269368450734bba5dcb284) ) |
| 747 | |
| 748 | ROM_REGION( 0x8000, "video_bios", 0 ) |
| 749 | ROM_LOAD16_BYTE( "trident_tgui9680_bios.bin", 0x0000, 0x4000, CRC(1eebde64) SHA1(67896a854d43a575037613b3506aea6dae5d6a19) ) |
| 750 | ROM_CONTINUE( 0x0001, 0x4000 ) |
| 751 | |
| 752 | ROM_REGION( 0x800, "nvram", ROMREGION_ERASEFF ) |
| 753 | ROM_LOAD( "ds1220y_hostinv.bin", 0x000, 0x800, NO_DUMP ) |
| 754 | |
| 755 | DISK_REGION( "ide:0:cdrom:image" ) |
| 756 | DISK_IMAGE_READONLY( "hostinv", 0, SHA1(3cb86c62e80be98a717172b717f7276a0e5f6830) ) |
| 757 | ROM_END |
| 758 | |
| 759 | GAME( 1998, hostinv, 0, hostinv, calchase, calchase_state, hostinv, ROT0, "The Game Room", "Host Invaders", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |
| 704 | 760 | GAME( 1999, calchase, 0, calchase, calchase, calchase_state, calchase, ROT0, "The Game Room", "California Chase", GAME_NOT_WORKING|GAME_IMPERFECT_GRAPHICS ) |