src/mess/drivers/horizon.c
| r0 | r6571 | |
| 1 | /*************************************************************************** |
| 2 | |
| 3 | NorthStar Horizon |
| 4 | |
| 5 | 07/12/2009 Skeleton driver. |
| 6 | |
| 7 | ****************************************************************************/ |
| 8 | |
| 9 | #include "driver.h" |
| 10 | #include "cpu/z80/z80.h" |
| 11 | #include "machine/terminal.h" |
| 12 | |
| 13 | static ADDRESS_MAP_START(horizon_mem, ADDRESS_SPACE_PROGRAM, 8) |
| 14 | ADDRESS_MAP_UNMAP_HIGH |
| 15 | AM_RANGE(0x0000, 0xe7ff) AM_RAM |
| 16 | AM_RANGE(0xe800, 0xe8ff) AM_ROM |
| 17 | AM_RANGE(0xec00, 0xffff) AM_RAM |
| 18 | ADDRESS_MAP_END |
| 19 | |
| 20 | static ADDRESS_MAP_START( horizon_io , ADDRESS_SPACE_IO, 8) |
| 21 | ADDRESS_MAP_UNMAP_HIGH |
| 22 | ADDRESS_MAP_END |
| 23 | |
| 24 | static ADDRESS_MAP_START(horizon_sd_mem, ADDRESS_SPACE_PROGRAM, 8) |
| 25 | ADDRESS_MAP_UNMAP_HIGH |
| 26 | AM_RANGE(0x0000, 0xe8ff) AM_RAM |
| 27 | AM_RANGE(0xe900, 0xe9ff) AM_ROM |
| 28 | AM_RANGE(0xec00, 0xffff) AM_RAM |
| 29 | ADDRESS_MAP_END |
| 30 | |
| 31 | static ADDRESS_MAP_START( horizon_sd_io , ADDRESS_SPACE_IO, 8) |
| 32 | ADDRESS_MAP_UNMAP_HIGH |
| 33 | ADDRESS_MAP_END |
| 34 | |
| 35 | /* Input ports */ |
| 36 | INPUT_PORTS_START( horizon ) |
| 37 | PORT_INCLUDE(generic_terminal) |
| 38 | INPUT_PORTS_END |
| 39 | |
| 40 | |
| 41 | static MACHINE_RESET(horizon) |
| 42 | { |
| 43 | cpu_set_reg(cputag_get_cpu(machine, "maincpu"), Z80_PC, 0xe800); |
| 44 | } |
| 45 | |
| 46 | static MACHINE_RESET(horizon_sd) |
| 47 | { |
| 48 | cpu_set_reg(cputag_get_cpu(machine, "maincpu"), Z80_PC, 0xe900); |
| 49 | } |
| 50 | |
| 51 | static WRITE8_DEVICE_HANDLER( horizon_kbd_put ) |
| 52 | { |
| 53 | } |
| 54 | |
| 55 | static GENERIC_TERMINAL_INTERFACE( horizon_terminal_intf ) |
| 56 | { |
| 57 | DEVCB_HANDLER(horizon_kbd_put) |
| 58 | }; |
| 59 | |
| 60 | static MACHINE_DRIVER_START( horizon ) |
| 61 | /* basic machine hardware */ |
| 62 | MDRV_CPU_ADD("maincpu",Z80, XTAL_4MHz) |
| 63 | MDRV_CPU_PROGRAM_MAP(horizon_mem) |
| 64 | MDRV_CPU_IO_MAP(horizon_io) |
| 65 | |
| 66 | MDRV_MACHINE_RESET(horizon) |
| 67 | |
| 68 | /* video hardware */ |
| 69 | MDRV_IMPORT_FROM( generic_terminal ) |
| 70 | MDRV_GENERIC_TERMINAL_ADD(TERMINAL_TAG,horizon_terminal_intf) |
| 71 | MACHINE_DRIVER_END |
| 72 | |
| 73 | static MACHINE_DRIVER_START( horizsd ) |
| 74 | MDRV_IMPORT_FROM( horizon ) |
| 75 | MDRV_CPU_MODIFY( "maincpu" ) |
| 76 | MDRV_CPU_PROGRAM_MAP( horizon_sd_mem) |
| 77 | MDRV_CPU_IO_MAP(horizon_sd_io) |
| 78 | |
| 79 | MDRV_MACHINE_RESET(horizon_sd) |
| 80 | MACHINE_DRIVER_END |
| 81 | |
| 82 | /* ROM definition */ |
| 83 | ROM_START( horizon ) |
| 84 | ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) |
| 85 | ROM_LOAD( "horizon.bin", 0xe800, 0x0100, CRC(7aafa134) SHA1(bf1552c4818f30473798af4f54e65e1957e0db48)) |
| 86 | ROM_END |
| 87 | |
| 88 | ROM_START( horizsd ) |
| 89 | ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) |
| 90 | ROM_LOAD( "horizon-sd.bin", 0xe900, 0x0100, CRC(754e53e5) SHA1(875e42942d639b972252b87d86c3dc2133304967)) |
| 91 | ROM_END |
| 92 | |
| 93 | ROM_START( vector1 ) // This one have different I/O |
| 94 | ROM_REGION( 0x10000, "maincpu", ROMREGION_ERASEFF ) |
| 95 | ROM_LOAD( "horizon.bin", 0xe800, 0x0100, CRC(7aafa134) SHA1(bf1552c4818f30473798af4f54e65e1957e0db48)) |
| 96 | ROM_END |
| 97 | /* Driver */ |
| 98 | |
| 99 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT CONFIG COMPANY FULLNAME FLAGS */ |
| 100 | COMP( 1979, horizon, 0, 0, horizon, horizon, 0, 0, "NorthStar", "Horizon (DD drive)", GAME_NOT_WORKING) |
| 101 | COMP( 1979, horizsd, horizon, 0, horizsd, horizon, 0, 0, "NorthStar", "Horizon (SD drive)", GAME_NOT_WORKING) |
| 102 | COMP( 1979, vector1, horizon, 0, horizon, horizon, 0, 0, "Vector Graphic", "Vector 1+ (DD drive)", GAME_NOT_WORKING) |
| 103 | |