src/mess/drivers/dolphin.c
| r15223 | r15224 | |
| 1 | | /*************************************************************************** |
| 2 | | |
| 3 | | dolphin |
| 4 | | |
| 5 | | 08/04/2010 Skeleton driver. |
| 6 | | |
| 7 | | Minimal Setup: |
| 8 | | 0000-00FF ROM "MO" (74S471) |
| 9 | | 0100-01FF ROM "MONI" (74S471) |
| 10 | | 0200-02FF RAM (2x 2112) |
| 11 | | 18 pushbuttons for programming (0-F, ADR, NXT). |
| 12 | | 4-digit LED display. |
| 13 | | |
| 14 | | Other options: |
| 15 | | 0400-07FF Expansion RAM (8x 2112) |
| 16 | | 0800-08FF Pulse for operation of an optional EPROM programmer |
| 17 | | 0C00-0FFF ROM "MONA" (2708) |
| 18 | | LEDs connected to all Address and Data Lines |
| 19 | | LEDs connected to WAIT and FLAG lines. |
| 20 | | Speaker with a LED wired across it. |
| 21 | | PAUSE switch. |
| 22 | | RUN/STOP switch. |
| 23 | | STEP switch. |
| 24 | | CLOCK switch. |
| 25 | | |
| 26 | | Cassette player connected to SENSE and FLAG lines. |
| 27 | | |
| 28 | | Keyboard encoder: AY-5-2376 (57 keys) |
| 29 | | |
| 30 | | CRT interface: (512 characters on a separate bus) |
| 31 | | 2114 video ram (one half holds the lower 4 data bits, other half the upper bits) |
| 32 | | 74LS175 holds the upper bits for the 74LS472 |
| 33 | | 74LS472 Character Generator |
| 34 | | |
| 35 | | NOTE: a rom is missing, when the ADR button (- key) is pressed, |
| 36 | | it causes a freeze in nodebug mode, and a crash in debug mode. |
| 37 | | To see it, start in debug mode. g 6c. In the emulation, press the |
| 38 | | minus key. The debugger will stop and you can see an instruction |
| 39 | | referencing location 0100, which is in the missing rom. |
| 40 | | |
| 41 | | TODO: |
| 42 | | - Proper artwork |
| 43 | | - Find missing roms |
| 44 | | - Add speaker/beeper |
| 45 | | - Add optional hardware listed above |
| 46 | | - Find out how to use it; the keys seem to give nonsense outputs |
| 47 | | |
| 48 | | |
| 49 | | Thanks to Amigan site for various documents. |
| 50 | | |
| 51 | | |
| 52 | | ****************************************************************************/ |
| 53 | | |
| 54 | | #include "emu.h" |
| 55 | | #include "cpu/s2650/s2650.h" |
| 56 | | #include "dolphin.lh" |
| 57 | | |
| 58 | | |
| 59 | | class dolphin_state : public driver_device |
| 60 | | { |
| 61 | | public: |
| 62 | | dolphin_state(const machine_config &mconfig, device_type type, const char *tag) |
| 63 | | : driver_device(mconfig, type, tag), |
| 64 | | m_maincpu(*this, "maincpu") |
| 65 | | { } |
| 66 | | required_device<cpu_device> m_maincpu; |
| 67 | | DECLARE_READ8_MEMBER( dolphin_07_r ); |
| 68 | | DECLARE_WRITE8_MEMBER( dolphin_00_w ); |
| 69 | | }; |
| 70 | | |
| 71 | | WRITE8_MEMBER( dolphin_state::dolphin_00_w ) |
| 72 | | { |
| 73 | | // don't know which offset does which digit |
| 74 | | |
| 75 | | output_set_digit_value(offset, data); |
| 76 | | } |
| 77 | | |
| 78 | | READ8_MEMBER( dolphin_state::dolphin_07_r ) |
| 79 | | { |
| 80 | | UINT8 keyin, i, data = 0xff; |
| 81 | | |
| 82 | | keyin = ioport("X0")->read(); |
| 83 | | if (keyin != 0xff) |
| 84 | | for (i = 0; i < 8; i++) |
| 85 | | if BIT(~keyin, i) |
| 86 | | { |
| 87 | | data = i | 0x70; |
| 88 | | break; |
| 89 | | } |
| 90 | | |
| 91 | | keyin = ioport("X1")->read(); |
| 92 | | if (keyin != 0xff) |
| 93 | | for (i = 0; i < 8; i++) |
| 94 | | if BIT(~keyin, i) |
| 95 | | { |
| 96 | | data = i | 0x78; |
| 97 | | break; |
| 98 | | } |
| 99 | | |
| 100 | | data &= ioport("X2")->read(); |
| 101 | | |
| 102 | | return data; |
| 103 | | } |
| 104 | | |
| 105 | | static ADDRESS_MAP_START(dolphin_mem, AS_PROGRAM, 8, dolphin_state) |
| 106 | | ADDRESS_MAP_UNMAP_HIGH |
| 107 | | AM_RANGE( 0x0000, 0x01ff) AM_ROM |
| 108 | | AM_RANGE( 0x0200, 0x02ff) AM_RAM |
| 109 | | ADDRESS_MAP_END |
| 110 | | |
| 111 | | static ADDRESS_MAP_START( dolphin_io , AS_IO, 8, dolphin_state) |
| 112 | | ADDRESS_MAP_UNMAP_HIGH |
| 113 | | AM_RANGE(0x00, 0x03) AM_WRITE(dolphin_00_w) // 4-led display |
| 114 | | //AM_RANGE(0x06, 0x06) AM_WRITE(dolphin_06_w) // speaker (NOT a keyclick) |
| 115 | | AM_RANGE(0x07, 0x07) AM_READ(dolphin_07_r) // pushbuttons |
| 116 | | //AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(dolphin_cass_in,dolphin_cass_out) |
| 117 | | ADDRESS_MAP_END |
| 118 | | |
| 119 | | /* Input ports */ |
| 120 | | static INPUT_PORTS_START( dolphin ) |
| 121 | | PORT_START("X0") |
| 122 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') |
| 123 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') |
| 124 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') |
| 125 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') |
| 126 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') |
| 127 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') |
| 128 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') |
| 129 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') |
| 130 | | |
| 131 | | PORT_START("X1") |
| 132 | | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') |
| 133 | | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') |
| 134 | | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("A") PORT_CODE(KEYCODE_A) |
| 135 | | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("B") PORT_CODE(KEYCODE_B) |
| 136 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("C") PORT_CODE(KEYCODE_C) |
| 137 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D") PORT_CODE(KEYCODE_D) |
| 138 | | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("E") PORT_CODE(KEYCODE_E) |
| 139 | | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F") PORT_CODE(KEYCODE_F) |
| 140 | | |
| 141 | | PORT_START("X2") |
| 142 | | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("NXT") PORT_CODE(KEYCODE_MINUS) |
| 143 | | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("ADR") PORT_CODE(KEYCODE_EQUALS) |
| 144 | | PORT_BIT( 0xcf, IP_ACTIVE_LOW, IPT_UNUSED ) |
| 145 | | INPUT_PORTS_END |
| 146 | | |
| 147 | | |
| 148 | | static MACHINE_RESET(dolphin) |
| 149 | | { |
| 150 | | } |
| 151 | | |
| 152 | | static MACHINE_CONFIG_START( dolphin, dolphin_state ) |
| 153 | | /* basic machine hardware */ |
| 154 | | MCFG_CPU_ADD("maincpu",S2650, XTAL_1MHz) |
| 155 | | MCFG_CPU_PROGRAM_MAP(dolphin_mem) |
| 156 | | MCFG_CPU_IO_MAP(dolphin_io) |
| 157 | | |
| 158 | | MCFG_MACHINE_RESET(dolphin) |
| 159 | | |
| 160 | | /* video hardware */ |
| 161 | | MCFG_DEFAULT_LAYOUT(layout_dolphin) |
| 162 | | |
| 163 | | /* sound hardware */ |
| 164 | | //MCFG_SPEAKER_STANDARD_MONO("mono") |
| 165 | | //MCFG_SOUND_ADD(BEEPER_TAG, BEEP, 0) |
| 166 | | //MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 167 | | MACHINE_CONFIG_END |
| 168 | | |
| 169 | | /* ROM definition */ |
| 170 | | ROM_START( dolphunk ) |
| 171 | | ROM_REGION( 0x8000, "maincpu", 0 ) |
| 172 | | ROM_LOAD( "dolphin_mo.rom", 0x0000, 0x0100, CRC(1ac4ac18) SHA1(62a63de6fcd6cd5fcee930d31c73fe603647f06c)) |
| 173 | | ROM_LOAD( "dolphin_moni.rom", 0x0100, 0x0100, NO_DUMP ) |
| 174 | | ROM_LOAD_OPTIONAL( "dolphin_mona.rom", 0x0c00, 0x0400, NO_DUMP ) |
| 175 | | ROM_END |
| 176 | | |
| 177 | | /* Driver */ |
| 178 | | |
| 179 | | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 180 | | COMP( 1979, dolphunk, 0, 0, dolphin, dolphin, 0, "<unknown>", "Dolphin", GAME_NOT_WORKING | GAME_NO_SOUND ) |
| 181 | | |
src/mess/drivers/dolphunk.c
| r0 | r15224 | |
| 1 | /*************************************************************************** |
| 2 | |
| 3 | Dolphin |
| 4 | |
| 5 | 08/04/2010 Skeleton driver. |
| 6 | 20/05/2012 Fixed keyboard, added notes & speaker [Robbbert] |
| 7 | |
| 8 | Minimal Setup: |
| 9 | 0000-00FF ROM "MO" (74S471) |
| 10 | 0100-01FF ROM "MONI" (74S471) |
| 11 | 0200-02FF RAM (2x 2112) |
| 12 | 18 pushbuttons for programming (0-F, ADR, NXT). |
| 13 | 4-digit LED display. |
| 14 | |
| 15 | Other options: |
| 16 | 0400-07FF Expansion RAM (8x 2112) |
| 17 | 0800-08FF Pulse for operation of an optional EPROM programmer |
| 18 | 0C00-0FFF ROM "MONA" (2708) |
| 19 | LEDs connected to all Address and Data Lines |
| 20 | LEDs connected to WAIT and FLAG lines. |
| 21 | Speaker with a LED wired across it. |
| 22 | PAUSE switch. |
| 23 | RUN/STOP switch. |
| 24 | STEP switch. |
| 25 | CLOCK switch. |
| 26 | |
| 27 | Cassette player connected to SENSE and FLAG lines. |
| 28 | |
| 29 | Keyboard encoder: AY-5-2376 (57 keys) |
| 30 | |
| 31 | CRT interface: (512 characters on a separate bus) |
| 32 | 2114 video ram (one half holds the lower 4 data bits, other half the upper bits) |
| 33 | 74LS175 holds the upper bits for the 74LS472 |
| 34 | 74LS472 Character Generator |
| 35 | |
| 36 | NOTE: a rom is missing, when the ADR button (- key) is pressed, |
| 37 | it causes a freeze in nodebug mode, and a crash in debug mode. |
| 38 | To see it, start in debug mode. g 6c. In the emulation, press the |
| 39 | minus key. The debugger will stop and you can see an instruction |
| 40 | referencing location 0100, which is in the missing rom. |
| 41 | |
| 42 | Keys: |
| 43 | 0-9,A-F hexadecimal numbers |
| 44 | UP - (NXT) to enter data and advance to the next address |
| 45 | MINUS - (ADR) to change the address to what is shown in the data side |
| 46 | Special keys: |
| 47 | Hold UP, hold 0, release UP, release 0 - execute program at the current address (i.e. 2xx) |
| 48 | Hold UP, hold 1, release UP, release 1 - execute program at address 0C00 (rom MONA) |
| 49 | Hold UP, hold 2, release UP, release 2 - play a tune with the keys |
| 50 | Hold UP, hold 3, release UP, release 3 - decrement the address by 2 |
| 51 | Hold MINUS, hold any hex key, release MINUS, release other key - execute program |
| 52 | at the current address-0x100 (i.e. 1xx). |
| 53 | |
| 54 | If you want to scan through other areas of memory (e.g. the roms), alter the |
| 55 | data at address 2F9 (high byte) and 2FA (low byte). |
| 56 | |
| 57 | How to Use: |
| 58 | The red digits are the address, and the orange digits are the data. |
| 59 | The address range is 200-2FF (the 2 isn't displayed). To select an address, |
| 60 | either press the UP key until you get there, or type the address and press |
| 61 | minus. The ornage digits show the current data at that address. To alter |
| 62 | data, just type it in and press UP. |
| 63 | |
| 64 | TODO: |
| 65 | - Find missing roms |
| 66 | - Add optional hardware listed above |
| 67 | |
| 68 | Thanks to Amigan site for various documents. |
| 69 | |
| 70 | |
| 71 | ****************************************************************************/ |
| 72 | |
| 73 | #include "emu.h" |
| 74 | #include "cpu/s2650/s2650.h" |
| 75 | #include "sound/speaker.h" |
| 76 | #include "dolphunk.lh" |
| 77 | |
| 78 | |
| 79 | class dolphunk_state : public driver_device |
| 80 | { |
| 81 | public: |
| 82 | dolphunk_state(const machine_config &mconfig, device_type type, const char *tag) |
| 83 | : driver_device(mconfig, type, tag), |
| 84 | m_maincpu(*this, "maincpu"), |
| 85 | m_speaker(*this, SPEAKER_TAG) |
| 86 | { } |
| 87 | |
| 88 | DECLARE_READ8_MEMBER(port07_r); |
| 89 | DECLARE_WRITE8_MEMBER(port00_w); |
| 90 | DECLARE_WRITE8_MEMBER(port06_w); |
| 91 | UINT8 m_last_key; |
| 92 | bool m_speaker_state; |
| 93 | required_device<cpu_device> m_maincpu; |
| 94 | required_device<device_t> m_speaker; |
| 95 | }; |
| 96 | |
| 97 | WRITE8_MEMBER( dolphunk_state::port00_w ) |
| 98 | { |
| 99 | output_set_digit_value(offset, data); |
| 100 | } |
| 101 | |
| 102 | WRITE8_MEMBER( dolphunk_state::port06_w ) |
| 103 | { |
| 104 | m_speaker_state ^=1; |
| 105 | speaker_level_w(m_speaker, m_speaker_state); |
| 106 | } |
| 107 | |
| 108 | READ8_MEMBER( dolphunk_state::port07_r ) |
| 109 | { |
| 110 | UINT8 keyin, i, data = 0x40; |
| 111 | |
| 112 | keyin = ioport("X0")->read(); |
| 113 | if (keyin != 0xff) |
| 114 | for (i = 0; i < 8; i++) |
| 115 | if BIT(~keyin, i) |
| 116 | data = i | 0xc0; |
| 117 | |
| 118 | keyin = ioport("X1")->read(); |
| 119 | if (keyin != 0xff) |
| 120 | for (i = 0; i < 8; i++) |
| 121 | if BIT(~keyin, i) |
| 122 | data = i | 0xc8; |
| 123 | |
| 124 | if (data == m_last_key) |
| 125 | data &= 0x7f; |
| 126 | else |
| 127 | m_last_key = data; |
| 128 | |
| 129 | data |= ioport("X2")->read(); |
| 130 | |
| 131 | return data; |
| 132 | } |
| 133 | |
| 134 | static ADDRESS_MAP_START( dolphunk_mem, AS_PROGRAM, 8, dolphunk_state ) |
| 135 | ADDRESS_MAP_UNMAP_HIGH |
| 136 | AM_RANGE( 0x0000, 0x01ff) AM_ROM |
| 137 | AM_RANGE( 0x0200, 0x02ff) AM_RAM |
| 138 | ADDRESS_MAP_END |
| 139 | |
| 140 | static ADDRESS_MAP_START( dolphunk_io, AS_IO, 8, dolphunk_state ) |
| 141 | ADDRESS_MAP_UNMAP_HIGH |
| 142 | AM_RANGE(0x00, 0x03) AM_WRITE(port00_w) // 4-led display |
| 143 | AM_RANGE(0x06, 0x06) AM_WRITE(port06_w) // speaker (NOT a keyclick) |
| 144 | AM_RANGE(0x07, 0x07) AM_READ(port07_r) // pushbuttons |
| 145 | //AM_RANGE(S2650_SENSE_PORT, S2650_FO_PORT) AM_READWRITE(dolphunk_cass_in,dolphunk_cass_out) |
| 146 | AM_RANGE(0x102, 0x103) AM_NOP // stops error log filling up while using debug |
| 147 | ADDRESS_MAP_END |
| 148 | |
| 149 | /* Input ports */ |
| 150 | static INPUT_PORTS_START( dolphunk ) |
| 151 | PORT_START("X0") |
| 152 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("0") PORT_CODE(KEYCODE_0) PORT_CHAR('0') |
| 153 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("1") PORT_CODE(KEYCODE_1) PORT_CHAR('1') |
| 154 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("2") PORT_CODE(KEYCODE_2) PORT_CHAR('2') |
| 155 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("3") PORT_CODE(KEYCODE_3) PORT_CHAR('3') |
| 156 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("4") PORT_CODE(KEYCODE_4) PORT_CHAR('4') |
| 157 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("5") PORT_CODE(KEYCODE_5) PORT_CHAR('5') |
| 158 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("6") PORT_CODE(KEYCODE_6) PORT_CHAR('6') |
| 159 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("7") PORT_CODE(KEYCODE_7) PORT_CHAR('7') |
| 160 | |
| 161 | PORT_START("X1") |
| 162 | PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("8") PORT_CODE(KEYCODE_8) PORT_CHAR('8') |
| 163 | PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("9") PORT_CODE(KEYCODE_9) PORT_CHAR('9') |
| 164 | PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("A") PORT_CODE(KEYCODE_A) PORT_CHAR('A') |
| 165 | PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("B") PORT_CODE(KEYCODE_B) PORT_CHAR('B') |
| 166 | PORT_BIT( 0x10, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("C") PORT_CODE(KEYCODE_C) PORT_CHAR('C') |
| 167 | PORT_BIT( 0x20, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("D") PORT_CODE(KEYCODE_D) PORT_CHAR('D') |
| 168 | PORT_BIT( 0x40, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("E") PORT_CODE(KEYCODE_E) PORT_CHAR('E') |
| 169 | PORT_BIT( 0x80, IP_ACTIVE_LOW, IPT_KEYBOARD ) PORT_NAME("F") PORT_CODE(KEYCODE_F) PORT_CHAR('F') |
| 170 | |
| 171 | PORT_START("X2") |
| 172 | PORT_BIT( 0x10, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("NXT") PORT_CODE(KEYCODE_UP) PORT_CHAR('^') |
| 173 | PORT_BIT( 0x20, IP_ACTIVE_HIGH, IPT_KEYBOARD ) PORT_NAME("ADR") PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') |
| 174 | INPUT_PORTS_END |
| 175 | |
| 176 | |
| 177 | static MACHINE_RESET(dolphunk) |
| 178 | { |
| 179 | } |
| 180 | |
| 181 | static MACHINE_CONFIG_START( dolphunk, dolphunk_state ) |
| 182 | /* basic machine hardware */ |
| 183 | MCFG_CPU_ADD("maincpu",S2650, XTAL_1MHz) |
| 184 | MCFG_CPU_PROGRAM_MAP(dolphunk_mem) |
| 185 | MCFG_CPU_IO_MAP(dolphunk_io) |
| 186 | |
| 187 | MCFG_MACHINE_RESET(dolphunk) |
| 188 | |
| 189 | /* video hardware */ |
| 190 | MCFG_DEFAULT_LAYOUT(layout_dolphunk) |
| 191 | |
| 192 | /* sound hardware */ |
| 193 | MCFG_SPEAKER_STANDARD_MONO("mono") |
| 194 | MCFG_SOUND_ADD(SPEAKER_TAG, SPEAKER_SOUND, 0) |
| 195 | MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 1.00) |
| 196 | MACHINE_CONFIG_END |
| 197 | |
| 198 | /* ROM definition */ |
| 199 | ROM_START( dolphunk ) |
| 200 | ROM_REGION( 0x8000, "maincpu", 0 ) |
| 201 | ROM_LOAD( "dolphin_mo.rom", 0x0000, 0x0100, CRC(a8811f48) SHA1(233c629dc20fac286c8c1559e461bb0b742a675e) ) |
| 202 | ROM_LOAD( "dolphin_moni.rom", 0x0100, 0x0100, NO_DUMP ) |
| 203 | ROM_LOAD_OPTIONAL( "dolphin_mona.rom", 0x0c00, 0x0400, NO_DUMP ) |
| 204 | ROM_END |
| 205 | |
| 206 | /* Driver */ |
| 207 | |
| 208 | /* YEAR NAME PARENT COMPAT MACHINE INPUT INIT COMPANY FULLNAME FLAGS */ |
| 209 | COMP( 1979, dolphunk, 0, 0, dolphunk, dolphunk, 0, "<unknown>", "Dolphin", 0 ) |