Previous 15994 Revisions Next

r15366 Thursday 31st May, 2012 at 13:28:39 UTC by R. Belmont
Ensoniq: EPS-16 ROMs turned out to be plain EPS. [R. Belmont]
[src/mess]mess.lst
[src/mess/drivers]esq5505.c

src/mess/mess.lst
r15365r15366
174174enmirage    // 1985 Mirage Digital Multi-Sampler
175175esq1        // 1986 ESQ-1 Digital Wave Synthesizer
176176sq80        // 1988 SQ-80 Digital Wave Synthesizer
177eps         // 1988 EPS
177178vfx         // 1989 VFX
178179vfxsd       // 1989 VFX-SD
179180sd1         // 1990 SD-1
180181sd132       // 1991 SD-1 32
181eps16       // 1990 EPS-16 Plus
182182sq1         // 1990 SQ-1
183183
184184// Fairchild
src/mess/drivers/esq5505.c
r15365r15366
4141#include "machine/esqvfd.h"
4242
4343#define GENERIC (0)
44#define EPS16   (1)
44#define EPS     (1)
4545#define SQ1     (2)
4646
4747class esq5505_state : public driver_device
r15365r15366
209209    AM_RANGE(0x2c0000, 0x2c0007) AM_DEVREADWRITE8("wd1772", wd1772_t, read, write, 0x00ff)
210210    AM_RANGE(0x340000, 0x3bffff) AM_RAM // sequencer memory?
211211    AM_RANGE(0xc00000, 0xc3ffff) AM_ROM AM_REGION("osrom", 0)
212    AM_RANGE(0xff0000, 0xffffff) AM_RAM
212    AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
213213ADDRESS_MAP_END
214214
215static ADDRESS_MAP_START( eps16_map, AS_PROGRAM, 16, esq5505_state )
216   AM_RANGE(0x000000, 0x03ffff) AM_RAM AM_SHARE("osram")
215static ADDRESS_MAP_START( eps_map, AS_PROGRAM, 16, esq5505_state )
216   AM_RANGE(0x000000, 0x00ffff) AM_RAM AM_MIRROR(0x30000) AM_SHARE("osram")
217217   AM_RANGE(0x200000, 0x20001f) AM_DEVREADWRITE_LEGACY("ensoniq", es5505_r, es5505_w)
218218    AM_RANGE(0x280000, 0x28001f) AM_DEVREADWRITE8_LEGACY("duart", duart68681_r, duart68681_w, 0x00ff)
219219    AM_RANGE(0x2c0000, 0x2c0007) AM_DEVREADWRITE8("wd1772", wd1772_t, read, write, 0x00ff)
220220    AM_RANGE(0x580000, 0x77ffff) AM_RAM         // sample RAM?
221221    AM_RANGE(0xc00000, 0xc0ffff) AM_ROM AM_REGION("osrom", 0)
222    AM_RANGE(0xff0000, 0xffffff) AM_RAM AM_SHARE("osram")
222223ADDRESS_MAP_END
223224
224225static UINT16 esq5505_read_adc(device_t *device)
r15365r15366
281282                state->m_vfd->write_char(data);
282283                break;
283284
284            case EPS16:
285            case EPS:
285286                state->m_epsvfd->write_char(data);
286287                break;
287288
r15365r15366
307308        {
308309            // EPS-16+ wants a throwaway reply byte for each byte sent to the KPC
309310            // VFX-SD and SD-1 definitely don't :)
310            if (state->m_system_type == EPS16)
311            if (state->m_system_type == EPS)
311312            {
312313                // 0xe7 must respond with any byte that isn't 0xc8 or the ROM dies.
313314                // 0x71 must respond with anything (return not checked)
r15365r15366
356357    MCFG_ESQ2x40_SQ1_ADD("sq1vfd")
357358MACHINE_CONFIG_END
358359
359static MACHINE_CONFIG_DERIVED(eps16, vfx)
360static MACHINE_CONFIG_DERIVED(eps, vfx)
360361   MCFG_CPU_MODIFY( "maincpu" )
361   MCFG_CPU_PROGRAM_MAP(eps16_map)
362   MCFG_CPU_PROGRAM_MAP(eps_map)
362363
363364    MCFG_ESQ2x40_REMOVE("vfd")
364365    MCFG_ESQ1x22_ADD("epsvfd")
r15365r15366
428429    ROM_LOAD16_BYTE( "sq1-u26.bin",  0x100001, 0x080000, CRC(2edaa9dc) SHA1(72fead505c4f44e5736ff7d545d72dfa37d613e2) )
429430ROM_END
430431
431ROM_START( eps16 )
432ROM_START( eps )
432433    ROM_REGION(0x10000, "osrom", 0)
433434    ROM_LOAD16_BYTE( "eps-l.bin",    0x000000, 0x008000, CRC(382beac1) SHA1(110e31edb03fcf7bbde3e17423b21929e5b32db2) )
434435    ROM_LOAD16_BYTE( "eps-h.bin",    0x000001, 0x008000, CRC(d8747420) SHA1(460597751386eb5f08465699b61381c4acd78065) )
r15365r15366
452453    }
453454}
454455
455static DRIVER_INIT(eps16)
456static DRIVER_INIT(eps)
456457{
457458    esq5505_state *state = machine.driver_data<esq5505_state>();
458459
459460    DRIVER_INIT_CALL(common);
460    state->m_system_type = EPS16;
461    state->m_system_type = EPS;
461462}
462463
463464static DRIVER_INIT(sq1)
r15365r15366
468469    state->m_system_type = SQ1;
469470}
470471
472CONS( 1988, eps,   0, 0, eps,   vfx, eps,    "Ensoniq", "EPS", GAME_NOT_WORKING )   // custom VFD: one alphanumeric 22-char row, one graphics-capable row (alpha row can also do bar graphs)
471473CONS( 1989, vfx,   0, 0, vfx,   vfx, common, "Ensoniq", "VFX", GAME_NOT_WORKING )       // 2x40 VFD
472474CONS( 1989, vfxsd, 0, 0, vfxsd, vfx, common, "Ensoniq", "VFX-SD", GAME_NOT_WORKING )    // 2x40 VFD
473475CONS( 1990, sd1,   0, 0, vfxsd, vfx, common, "Ensoniq", "SD-1", GAME_NOT_WORKING )      // 2x40 VFD
474476CONS( 1990, sd132, 0, 0, vfxsd, vfx, common, "Ensoniq", "SD-1 32", GAME_NOT_WORKING )   // 2x40 VFD
475477CONS( 1990, sq1,   0, 0, sq1,   vfx, sq1,    "Ensoniq", "SQ-1", GAME_NOT_WORKING )      // LCD of some sort
476CONS( 1990, eps16, 0, 0, eps16, vfx, eps16,  "Ensoniq", "EPS-16 Plus", GAME_NOT_WORKING )   // custom VFD: one alphanumeric 22-char row, one graphics-capable row (alpha row can also do bar graphs)
477478

Previous 15994 Revisions Next


© 1998-2018 The MESS Team