Previous 199869 Revisions Next

r19100 Thursday 22nd November, 2012 at 04:00:57 UTC by R. Belmont
esq5505 updates [Christian Brunschen, R. Belmont]
- Fixed up clocks for 21 vs. 32-voice models
- Added ROMs for the 12-bit sample region on the SD-1 and SD-1 32-voice
- Minor cleanups
[src/mess/drivers]esq1.c esq5505.c

trunk/src/mess/drivers/esq1.c
r19099r19100
238238#if KEYBOARD_HACK
239239INPUT_CHANGED_MEMBER(esq1_state::key_stroke)
240240{
241   esq1_state *state = device.machine().driver_data<esq1_state>();
242
243241    if (oldval == 0 && newval == 1)
244242    {
245243        printf("key on %02x\n", (int)(FPTR)param);
trunk/src/mess/drivers/esq5505.c
r19099r19100
3535    O2: "AN2" (disk side select on EPS/EPS-16)
3636    O6: To ESPHALT pin on ES5510
3737    O7: "SACK"
38
39
38 
4039***************************************************************************/
4140
4241#include "emu.h"
r19099r19100
5655#define EPS     (1)
5756#define SQ1     (2)
5857
59#define KEYBOARD_HACK (0)   // turn on to play the SQ-1: Z and X are program up/down, A/S/D/F/G/H/J/K/L and Q/W/E/R/T/Y/U play notes
58#define KEYBOARD_HACK (0)   // turn on to play the SQ-1, SD-1, and SD-1 32-voice: Z and X are program up/down, A/S/D/F/G/H/J/K/L and Q/W/E/R/T/Y/U play notes
6059
6160#if KEYBOARD_HACK
6261static int program = 0;
r19099r19100
110109   DECLARE_DRIVER_INIT(eps);
111110   DECLARE_DRIVER_INIT(common);
112111   DECLARE_DRIVER_INIT(sq1);
112   DECLARE_DRIVER_INIT(sd1);
113113   DECLARE_INPUT_CHANGED_MEMBER(key_stroke);
114114};
115115
r19099r19100
398398#if KEYBOARD_HACK
399399INPUT_CHANGED_MEMBER(esq5505_state::key_stroke)
400400{
401    esq5505_state *state = device.machine().driver_data<esq5505_state>();
402
403401    // send a MIDI Note On
404402    if (oldval == 0 && newval == 1)
405403    {
r19099r19100
468466};
469467
470468static MACHINE_CONFIG_START( vfx, esq5505_state )
471   MCFG_CPU_ADD("maincpu", M68000, 10000000)
469   MCFG_CPU_ADD("maincpu", M68000, XTAL_10MHz)
472470   MCFG_CPU_PROGRAM_MAP(vfx_map)
473471
474472    MCFG_ESQ2x40_ADD("vfd")
r19099r19100
476474   MCFG_DUART68681_ADD("duart", 4000000, duart_config)
477475
478476   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
479   MCFG_SOUND_ADD("ensoniq", ES5505, 30476100/2)
477   MCFG_SOUND_ADD("ensoniq", ES5505, XTAL_10MHz)
480478   MCFG_SOUND_CONFIG(es5505_config)
481479   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
482480   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
483481MACHINE_CONFIG_END
484482
485static MACHINE_CONFIG_DERIVED(sq1, vfx)
486    MCFG_ESQ2x40_REMOVE("vfd")
487    MCFG_ESQ2x40_SQ1_ADD("sq1vfd")
488MACHINE_CONFIG_END
489
490483static MACHINE_CONFIG_DERIVED(eps, vfx)
491484   MCFG_CPU_MODIFY( "maincpu" )
492485   MCFG_CPU_PROGRAM_MAP(eps_map)
r19099r19100
508501   MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", 0, esq5505_state::floppy_formats)
509502MACHINE_CONFIG_END
510503
504// 32-voice machines with the VFX-SD type config
505static MACHINE_CONFIG_START(vfx32, esq5505_state)
506   MCFG_CPU_ADD("maincpu", M68000, XTAL_30_4761MHz / 2)
507   MCFG_CPU_PROGRAM_MAP(vfxsd_map)
508
509    MCFG_ESQ2x40_ADD("vfd")
510
511   MCFG_DUART68681_ADD("duart", 4000000, duart_config)
512
513   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
514   MCFG_SOUND_ADD("ensoniq", ES5505, XTAL_30_4761MHz / 2)
515   MCFG_SOUND_CONFIG(es5505_config)
516   MCFG_SOUND_ROUTE(0, "lspeaker", 1.0)
517   MCFG_SOUND_ROUTE(1, "rspeaker", 1.0)
518
519    MCFG_WD1772x_ADD("wd1772", 8000000)
520   MCFG_FLOPPY_DRIVE_ADD("wd1772:0", ensoniq_floppies, "35dd", 0, esq5505_state::floppy_formats)
521MACHINE_CONFIG_END
522
523static MACHINE_CONFIG_DERIVED(sq1, vfx32)
524    MCFG_ESQ2x40_REMOVE("vfd")
525    MCFG_ESQ2x40_SQ1_ADD("sq1vfd")
526MACHINE_CONFIG_END
527
511528static INPUT_PORTS_START( vfx )
512529#if KEYBOARD_HACK
513530    PORT_START("KEY0")
r19099r19100
567584    ROM_LOAD16_BYTE( "sd1_410_lo.bin", 0x000000, 0x020000, CRC(faa613a6) SHA1(60066765cddfa9d3b5d09057d8f83fb120f4e65e) )
568585    ROM_LOAD16_BYTE( "sd1_410_hi.bin", 0x000001, 0x010000, CRC(618c0aa8) SHA1(74acf458aa1d04a0a7a0cd5855c49e6855dbd301) )
569586
570    ROM_REGION(0x200000, "waverom", ROMREGION_ERASE00)
571    ROM_LOAD( "sd1-waves-1.bin",  0x000000, 0x080000, NO_DUMP )
572    ROM_LOAD( "sd1-waves-2.bin",  0x100000, 0x080000, NO_DUMP )
587    ROM_REGION(0x200000, "waverom", ROMREGION_ERASE00)  // BS=0 region (12-bit)
588    ROM_LOAD16_BYTE( "u34.bin", 0x000001, 0x080000, CRC(85592299) SHA1(1aa7cf612f91972baeba15991d9686ccde01599c) )
589    ROM_LOAD16_BYTE( "u35.bin", 0x100001, 0x080000, CRC(c0055975) SHA1(5a22f1d5e437c6277eb0cfb1ff1b3f8dcdea1cc6) )
590
591    ROM_REGION(0x200000, "waverom2", ROMREGION_ERASE00) // BS=1 region (16-bit)
592
593    ROM_REGION(0x80000, "nibbles", 0)
594    ROM_LOAD( "u36.bin",      0x000000, 0x080000, CRC(c3ddaf95) SHA1(44a7bd89cd7e82952cc5100479e110c385246559) )
573595ROM_END
574596
575597ROM_START( sd132 )
r19099r19100
577599    ROM_LOAD16_BYTE( "sd1_32_402_lo.bin", 0x000000, 0x020000, CRC(5da2572b) SHA1(cb6ddd637ed13bfeb40a99df56000479e63fc8ec) )
578600    ROM_LOAD16_BYTE( "sd1_32_402_hi.bin", 0x000001, 0x010000, CRC(fc45c210) SHA1(23b81ebd9176112e6eae0c7c75b39fcb1656c953) )
579601
580    ROM_REGION(0x200000, "waverom", ROMREGION_ERASE00)
581    ROM_LOAD( "sd1-waves-1.bin",  0x000000, 0x080000, NO_DUMP )
582    ROM_LOAD( "sd1-waves-2.bin",  0x100000, 0x080000, NO_DUMP )
602    ROM_REGION(0x200000, "waverom", ROMREGION_ERASE00)  // BS=0 region (12-bit)
603    ROM_LOAD16_BYTE( "u34.bin", 0x000001, 0x080000, CRC(85592299) SHA1(1aa7cf612f91972baeba15991d9686ccde01599c) )
604    ROM_LOAD16_BYTE( "u35.bin", 0x100001, 0x080000, CRC(c0055975) SHA1(5a22f1d5e437c6277eb0cfb1ff1b3f8dcdea1cc6) )
605
606    ROM_REGION(0x200000, "waverom2", ROMREGION_ERASE00) // BS=1 region (16-bit)
607
608    ROM_REGION(0x80000, "nibbles", ROMREGION_ERASE00)
609    ROM_LOAD( "u36.bin",      0x000000, 0x080000, CRC(c3ddaf95) SHA1(44a7bd89cd7e82952cc5100479e110c385246559) )
583610ROM_END
584611
612
585613ROM_START( sq1 )
586    ROM_REGION(0x20000, "osrom", 0)
614    ROM_REGION(0x40000, "osrom", 0)
587615    ROM_LOAD16_BYTE( "esq5505lo.bin",    0x000000, 0x010000, CRC(b004cf05) SHA1(567b0dae2e35b06e39da108f9c041fd9bc38fa35) )
588616    ROM_LOAD16_BYTE( "esq5505up.bin",    0x000001, 0x010000, CRC(2e927873) SHA1(06a948cb71fa254b23f4b9236f29035d10778da1) )
589617
r19099r19100
629657    m_system_type = SQ1;
630658}
631659
660DRIVER_INIT_MEMBER(esq5505_state,sd1)
661{
662    UINT8 *pNibbles = (UINT8 *)machine().root_device().memregion("nibbles")->base();
663    UINT8 *pBS0 = (UINT8 *)machine().root_device().memregion("waverom")->base();
664
665    DRIVER_INIT_CALL(common);
666
667    // create the 12 bit samples by patching in the nibbles from the nibble ROM
668   for (int i = 0; i < 0x80000; i++)
669   {
670        *pBS0 = *pNibbles & 0xf0;
671        pBS0 += 2;
672        *pBS0 = (*pNibbles & 0x0f) << 4;
673        pBS0 += 2;
674        pNibbles++;
675   }
676}
677
632678CONS( 1988, eps,   0, 0, eps,   vfx, esq5505_state, eps,    "Ensoniq", "EPS", GAME_NOT_WORKING )   // custom VFD: one alphanumeric 22-char row, one graphics-capable row (alpha row can also do bar graphs)
633679CONS( 1989, vfx,   0, 0, vfx,   vfx, esq5505_state, common, "Ensoniq", "VFX", GAME_NOT_WORKING )       // 2x40 VFD
634680CONS( 1989, vfxsd, 0, 0, vfxsd, vfx, esq5505_state, common, "Ensoniq", "VFX-SD", GAME_NOT_WORKING )    // 2x40 VFD
635CONS( 1990, sd1,   0, 0, vfxsd, vfx, esq5505_state, common, "Ensoniq", "SD-1", GAME_NOT_WORKING )      // 2x40 VFD
636CONS( 1990, sd132, 0, 0, vfxsd, vfx, esq5505_state, common, "Ensoniq", "SD-1 32", GAME_NOT_WORKING )   // 2x40 VFD
681CONS( 1990, sd1,   0, 0, vfxsd, vfx, esq5505_state, sd1,    "Ensoniq", "SD-1", GAME_NOT_WORKING )      // 2x40 VFD
682CONS( 1990, sd132, sd1, 0, vfx32, vfx, esq5505_state, sd1,    "Ensoniq", "SD-1 32", GAME_NOT_WORKING )   // 2x40 VFD
637683CONS( 1990, sq1,   0, 0, sq1,   vfx, esq5505_state, sq1,    "Ensoniq", "SQ-1", GAME_NOT_WORKING )      // LCD of some sort
638684

Previous 199869 Revisions Next


© 1997-2024 The MAME Team