src/mess/drivers/msbc1.c
| r9796 | r9797 | |
| 1 | | /*************************************************************************** |
| 1 | /* |
| 2 | 2 | |
| 3 | | Onmibyte MSBC-1 |
| 3 | Omnibyte MSBC-1 |
| 4 | 4 | |
| 5 | | 11/12/2009 Skeleton driver. |
| 5 | PCB Layout |
| 6 | ---------- |
| 6 | 7 | |
| 7 | | ****************************************************************************/ |
| 8 | REV B |
| 8 | 9 | |
| 9 | | #include "emu.h" |
| 10 | | #include "cpu/m68000/m68000.h" |
| 10 | |-----------------------------------------------------------| |
| 11 | | CN1 CN2 CN3 CN4 SW1 CN5 | |
| 12 | | | |
| 13 | | 3.6864MHz 3.6864MHz ROM1 | |
| 14 | | ROM0 | |
| 15 | | SIO SIO SW3 SW2 | |
| 16 | | PIT | |
| 17 | | 12.5MHz 41256 41256 41256 | |
| 18 | | 41256 41256 41256 | |
| 19 | | 8MHz CPU 41245 41256 | |
| 20 | | | |
| 21 | | 8419 | |
| 22 | | SW4 | |
| 23 | |-|-------------CN6----------------|----|-------CN7-------|-| |
| 24 | |--------------------------------| |-----------------| |
| 11 | 25 | |
| 26 | Notes: |
| 27 | Relevant IC's shown. |
| 12 | 28 | |
| 13 | | class msbc1_state : public driver_device |
| 14 | | { |
| 15 | | public: |
| 16 | | msbc1_state(running_machine &machine, const driver_device_config_base &config) |
| 17 | | : driver_device(machine, config) { } |
| 29 | CPU - Motorola MC68000R12 |
| 30 | SIO - Mostek MK68564N-5A Serial Input/Output |
| 31 | PIT - Motorola MC68230L10 Parallel Interface/Timer |
| 32 | 8419 - National Semiconductor DP8419N DRAM Controller |
| 33 | 41256 - Fujitsu MB81256-12 256Kx1 RAM |
| 34 | ROM0 - AMD AM27128ADC 16Kx8 ROM "47-2818-36G1" |
| 35 | ROM1 - AMD AM27128ADC 16Kx8 ROM "47-2818-36G2" |
| 36 | SW1 - push button |
| 37 | SW2 - rotary hex DIP |
| 38 | SW3 - rotary hex DIP |
| 39 | SW4 - DIP8 |
| 40 | CN1 - |
| 41 | CN2 - |
| 42 | CN3 - |
| 43 | CN4 - |
| 44 | CN5 - |
| 45 | CN6 - |
| 46 | CN7 - |
| 18 | 47 | |
| 19 | | }; |
| 48 | */ |
| 20 | 49 | |
| 50 | #define ADDRESS_MAP_MODERN |
| 21 | 51 | |
| 22 | | static ADDRESS_MAP_START(msbc1_mem, ADDRESS_SPACE_PROGRAM, 16) |
| 52 | #include "emu.h" |
| 53 | #include "cpu/m68000/m68000.h" |
| 54 | #include "machine/terminal.h" |
| 55 | #include "includes/msbc1.h" |
| 56 | |
| 57 | static ADDRESS_MAP_START( msbc1_mem, ADDRESS_SPACE_PROGRAM, 16, msbc1_state ) |
| 23 | 58 | ADDRESS_MAP_UNMAP_HIGH |
| 24 | | AM_RANGE(0x00000000, 0x00007fff) AM_ROM AM_REGION("user1",0) |
| 25 | | AM_RANGE(0x00f80000, 0x00f87fff) AM_ROM AM_REGION("user1",0) |
| 59 | AM_RANGE(0x000000, 0x03ffff) AM_RAM |
| 60 | AM_RANGE(0xf80000, 0xf87fff) AM_ROM AM_REGION(MC68000R12_TAG, 0) |
| 26 | 61 | ADDRESS_MAP_END |
| 27 | 62 | |
| 28 | 63 | /* Input ports */ |
| 29 | 64 | static INPUT_PORTS_START( msbc1 ) |
| 65 | PORT_INCLUDE(generic_terminal) |
| 30 | 66 | INPUT_PORTS_END |
| 31 | 67 | |
| 32 | | |
| 33 | | static MACHINE_RESET(msbc1) |
| 68 | void msbc1_state::machine_reset() |
| 34 | 69 | { |
| 35 | | } |
| 70 | void *ram = cpu_get_address_space(machine->firstcpu, ADDRESS_SPACE_PROGRAM)->get_write_ptr(0); |
| 71 | UINT8 *rom = memory_region(machine, MC68000R12_TAG); |
| 36 | 72 | |
| 37 | | static VIDEO_START( msbc1 ) |
| 38 | | { |
| 73 | memcpy(ram, rom, 8); |
| 74 | |
| 75 | machine->firstcpu->reset(); |
| 39 | 76 | } |
| 40 | 77 | |
| 41 | | static VIDEO_UPDATE( msbc1 ) |
| 78 | static GENERIC_TERMINAL_INTERFACE( terminal_intf ) |
| 42 | 79 | { |
| 43 | | return 0; |
| 44 | | } |
| 80 | DEVCB_NULL |
| 81 | }; |
| 45 | 82 | |
| 46 | 83 | static MACHINE_CONFIG_START( msbc1, msbc1_state ) |
| 47 | 84 | /* basic machine hardware */ |
| 48 | | MDRV_CPU_ADD("maincpu",M68000, XTAL_8MHz) |
| 85 | MDRV_CPU_ADD(MC68000R12_TAG, M68000, XTAL_12_5MHz) |
| 49 | 86 | MDRV_CPU_PROGRAM_MAP(msbc1_mem) |
| 50 | 87 | |
| 51 | | MDRV_MACHINE_RESET(msbc1) |
| 52 | | |
| 53 | 88 | /* video hardware */ |
| 54 | | MDRV_SCREEN_ADD("screen", RASTER) |
| 55 | | MDRV_SCREEN_REFRESH_RATE(50) |
| 56 | | MDRV_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */ |
| 57 | | MDRV_SCREEN_FORMAT(BITMAP_FORMAT_INDEXED16) |
| 58 | | MDRV_SCREEN_SIZE(640, 480) |
| 59 | | MDRV_SCREEN_VISIBLE_AREA(0, 640-1, 0, 480-1) |
| 60 | | MDRV_PALETTE_LENGTH(2) |
| 61 | | MDRV_PALETTE_INIT(black_and_white) |
| 89 | MDRV_FRAGMENT_ADD( generic_terminal ) |
| 62 | 90 | |
| 63 | | MDRV_VIDEO_START(msbc1) |
| 64 | | MDRV_VIDEO_UPDATE(msbc1) |
| 91 | // devices |
| 92 | MDRV_GENERIC_TERMINAL_ADD(TERMINAL_TAG, terminal_intf) |
| 65 | 93 | MACHINE_CONFIG_END |
| 66 | 94 | |
| 67 | 95 | /* ROM definition */ |
| 68 | 96 | ROM_START( msbc1 ) |
| 69 | | ROM_REGION( 0x8000, "user1", ROMREGION_ERASEFF ) |
| 70 | | ROM_LOAD16_BYTE( "msbc1.u19", 0x0000, 0x4000, CRC(4814b9e1) SHA1(d96cf75084c6588cb33513830c6beeeffc2de853)) |
| 71 | | ROM_LOAD16_BYTE( "msbc1.u18", 0x0001, 0x4000, CRC(14f25d47) SHA1(964bc49c1dd9e9680c0d3d89ff3794c5044bea62)) |
| 97 | ROM_REGION16_BE( 0x8000, MC68000R12_TAG, 0 ) |
| 98 | ROM_LOAD16_BYTE( "47-2818-36g1.u18", 0x0000, 0x4000, CRC(14f25d47) SHA1(964bc49c1dd9e9680c0d3d89ff3794c5044bea62) ) |
| 99 | ROM_LOAD16_BYTE( "47-2818-36g2.u19", 0x0001, 0x4000, CRC(4814b9e1) SHA1(d96cf75084c6588cb33513830c6beeeffc2de853) ) |
| 100 | |
| 101 | ROM_REGION( 0x100, "plds", 0 ) |
| 102 | ROM_LOAD( "p21.1.u22", 0x000, 0x100, NO_DUMP ) |
| 103 | ROM_LOAD( "p22.0.u37", 0x000, 0x100, NO_DUMP ) |
| 104 | ROM_LOAD( "p23.0.u38", 0x000, 0x100, NO_DUMP ) |
| 105 | ROM_LOAD( "p24.0.u43", 0x000, 0x100, NO_DUMP ) |
| 106 | ROM_LOAD( "p25.0.u44", 0x000, 0x100, NO_DUMP ) |
| 107 | ROM_LOAD( "p26.0.u45", 0x000, 0x100, NO_DUMP ) |
| 108 | ROM_LOAD( "p27.0.u46", 0x000, 0x100, NO_DUMP ) |
| 109 | ROM_LOAD( "p28.1.u49", 0x000, 0x100, NO_DUMP ) |
| 110 | ROM_LOAD( "p29.0.u58", 0x000, 0x100, NO_DUMP ) |
| 111 | ROM_LOAD( "p30.0.u60", 0x000, 0x100, NO_DUMP ) |
| 112 | ROM_LOAD( "p31.0.u61", 0x000, 0x100, NO_DUMP ) |
| 113 | ROM_LOAD( "p32.0.u76", 0x000, 0x100, NO_DUMP ) |
| 72 | 114 | ROM_END |
| 73 | 115 | |
| 74 | 116 | /* Driver */ |
| 75 | 117 | |
| 76 | 118 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 77 | | COMP( 19??, msbc1, 0, 0, msbc1, msbc1, 0, "Omnibyte", "MSBC-1", GAME_NOT_WORKING | GAME_NO_SOUND) |
| 119 | COMP( 1985, msbc1, 0, 0, msbc1, msbc1, 0, "Omnibyte", "MSBC-1", GAME_NOT_WORKING | GAME_NO_SOUND) |