Previous 199869 Revisions Next

r29381 Sunday 6th April, 2014 at 20:41:49 UTC by R. Belmont
(MESS) kt76 updates: [R. Belmont, Guru]
- Dumped and added the wave ROMs
- Driver is now working; effects DSP isn't hooked up yet
[src/emu/sound]es5506.c
[src/mess/drivers]esqkt.c

trunk/src/emu/sound/es5506.c
r29380r29381
230230   m_irqv = 0x80;
231231   m_channels = channels;
232232
233   /* KT-76 assumes all voices are active on an ES5506 without setting them! */
234   m_active_voices = 31;
235   m_sample_rate = m_master_clock / (16 * (m_active_voices + 1));
236   m_stream->set_sample_rate(m_sample_rate);
237
233238   /* compute the tables */
234239   compute_tables();
235240
trunk/src/mess/drivers/esqkt.c
r29380r29381
1818    0x280000-0x2801FF   ES5510
1919    0x300000-0x30000F   68681 DUART
2020    0xFF0000-0xFFFFFF   OS RAM
21 
22    Ensoniq KT-76
23   Ensoniq 1994
2124
25   This is a wavetable-based synth keyboard made by Ensoniq in 1994
26
27   PCB Layout
28   ----------
29
30   KT-76
31   |---------------------------------------------|
32   |J12 J3      J11                         J10  |
33   |                                  LM393 LM358|
34   |                                     74HC4051|
35   |ADM691                                       |
36   |              62256                          |
37   |                                             |
38   |3V_BATTERY  KT76_0590_LO.U5          ROM0    |
39   |                                             |
40   |   68EC020    62256       OTTOR2     ROM1    |
41   |                                             |
42   |            KT76_690B_HI.U6          ROM2    |
43   | PAL1                                        |
44   |       HP_6N138                              |
45   | PAL2                     OTTOR2           J6|
46   |      7407                                   |
47   |                                             |
48   |          D41464 D41464                      |
49   |                                             |
50   | SCN2681  D41464 D41464                      |
51   |                         137000402           |
52   |                                             |
53   |                                18.432MHz    |
54   |       ESPR6                    16MHz        |
55   |    POT                                      |
56   |                                  R1136-11   |
57   |                                             |
58   |                                LM339 LM339  |
59   |    J13             J5  J1            J2  J4 |
60   |---------------------------------------------|
61   Notes:
62        J1         - connector for digital jacks
63        J2         - connector for keyboard
64        J3         - connector for LCD display
65        J4         - connector for keyboard
66        J5         - connector for power input
67        J6         - connector for wave expansion
68        J10        - connector for wheels/pressure
69        J11        - connector for memory card
70        J12        - connector for headphones
71        J13        - connector for analog jacks
72        68EC020    - Motorola MC68EC020FG16 CPU. Clock input 16MHz
73        1370000402 - Unknown PLCC44 IC stamped with the Ensoniq logo. Likely CPLD or gate array.
74        ESPR6      - Ensoniq ESPR6 (ES5510) sound chip
75        OTTOR2     - Ensoniq OTTOR2 (ES5506) sound chip
76        POT        - ESP adjustment pot
77        KT76*      - 27C2048/27C210 EPROM
78        ROM*       - 2M x8-bit SOP44 mask ROM
79        R1136-11   - DIP40 IC manufactured by Rockwell - believed to be some type of MCU.
80        D41464     - NEC D41464 64k x4-bit DRAM
81        62256      - 32k x8-bit SRAM
82        SCN2681    - Philips SCN2681 Dual Universal Asynchronous Receiver/Transmitter (DUART)
83        HP_6N138   - HP/Agilent HP 6N138 Low Input Current High Gain Optocoupler
84        PAL1       - MMI PAL20L8ACN stamped 'KT-76 MMU 6A0A'. Printing is faint so 0 could be a B or a D.
85        PAL2       - MMI PAL20L8ACN stamped 'KT-76 BCU 73D6'
86
2287***************************************************************************/
2388
2489#include "bus/midi/midi.h"
r29380r29381
48113
49114   virtual void machine_reset();
50115
51   DECLARE_READ32_MEMBER(lower_r);
52   DECLARE_WRITE32_MEMBER(lower_w);
53
54116   DECLARE_WRITE_LINE_MEMBER(duart_irq_handler);
55117   DECLARE_WRITE_LINE_MEMBER(duart_tx_a);
56118   DECLARE_WRITE_LINE_MEMBER(duart_tx_b);
r29380r29381
74136   m_bCalibSecondByte = false;
75137}
76138
77READ32_MEMBER(esqkt_state::lower_r)
78{
79   offset &= 0x3fff;
80
81   // get pointers when 68k resets
82   if (!m_rom)
83   {
84      m_rom = (UINT32 *)memregion("osrom")->base();
85      m_ram = (UINT32 *)memshare("osram")->ptr();
86   }
87
88   if (offset < 0x2000)
89   {
90      if (m68k_get_fc(m_maincpu) == 0x6)  // supervisor mode = ROM
91      {
92         return m_rom[offset];
93      }
94      else
95      {
96         return m_ram[offset];
97      }
98   }
99   else
100   {
101      return m_ram[offset];
102   }
103}
104
105WRITE32_MEMBER(esqkt_state::lower_w)
106{
107   offset &= 0x3fff;
108
109   if (offset < 0x2000)
110   {
111      if (m68k_get_fc(m_maincpu) != 0x6)  // if not supervisor mode, RAM
112      {
113         COMBINE_DATA(&m_ram[offset]);
114      }
115      else
116      {
117         logerror("Write to ROM: %x @ %x (fc=%x)\n", data, offset, m68k_get_fc(m_maincpu));
118      }
119   }
120   else
121   {
122      COMBINE_DATA(&m_ram[offset]);
123   }
124}
125
126139static ADDRESS_MAP_START( kt_map, AS_PROGRAM, 32, esqkt_state )
127140   AM_RANGE(0x000000, 0x07ffff) AM_ROM AM_REGION("osrom", 0)
128141   AM_RANGE(0x200000, 0x20003f) AM_DEVREADWRITE8("ensoniq", es5506_device, read, write, 0xffffffff)
r29380r29381
233246   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
234247   MCFG_SOUND_ADD("ensoniq", ES5506, XTAL_16MHz)
235248   MCFG_SOUND_CONFIG(es5506_config)
236   MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
237   MCFG_SOUND_ROUTE(1, "rspeaker", 2.0)
249   MCFG_SOUND_ROUTE(0, "lspeaker", 0.5)
250   MCFG_SOUND_ROUTE(1, "rspeaker", 0.5)
238251   MCFG_SOUND_ADD("ensoniq2", ES5506, XTAL_16MHz)
239252   MCFG_SOUND_CONFIG(es5506_2_config)
240   MCFG_SOUND_ROUTE(0, "lspeaker", 2.0)
241   MCFG_SOUND_ROUTE(1, "rspeaker", 2.0)
253   MCFG_SOUND_ROUTE(0, "lspeaker", 0.5)
254   MCFG_SOUND_ROUTE(1, "rspeaker", 0.5)
242255MACHINE_CONFIG_END
243256
244257static INPUT_PORTS_START( kt )
r29380r29381
249262   ROM_LOAD32_WORD( "kt76_162_lo.bin", 0x000000, 0x020000, CRC(1a1ab910) SHA1(dcc80db2297fd25993e090c2e5bb7f947319a8bf) )
250263   ROM_LOAD32_WORD( "kt76_162_hi.bin", 0x000002, 0x040000, CRC(de16d236) SHA1(c55fca86453e90e8c34a048bed45817063237370) )
251264
252   ROM_REGION(0x200000, "waverom", ROMREGION_ERASE00)
253   ROM_REGION(0x200000, "waverom2", ROMREGION_ERASE00)
254   ROM_REGION(0x200000, "waverom3", ROMREGION_ERASE00)
265   ROM_REGION(0x400000, "waverom", ROMREGION_ERASE00)
266   ROM_LOAD16_BYTE( "1351000401_rom0.u103", 0x000001, 0x200000, CRC(425047af) SHA1(9680d1fc222b29ba24f0fbf6136982bee87a60ef) )
267
268   ROM_REGION(0x400000, "waverom2", ROMREGION_ERASE00)
269   ROM_LOAD16_BYTE( "1351000402_rom1.u102", 0x000001, 0x200000, CRC(64459185) SHA1(0fa20b16847fc02a384057fc3d385226eb3e7527) )
270
271   ROM_REGION(0x400000, "waverom3", ROMREGION_ERASE00)
272   ROM_LOAD16_BYTE( "1351000403_rom2.u104", 0x000001, 0x200000, CRC(c2aacc5d) SHA1(7fab518ba92ddb23cdc4dcb04751b26d25c298c0) )
273
255274   ROM_REGION(0x200000, "waverom4", ROMREGION_ERASE00)
256275ROM_END
257276
r29380r29381
260279   m_duart_io = 0;
261280}
262281
263CONS( 1996, kt76, 0, 0, kt, kt, esqkt_state, kt, "Ensoniq", "KT-76", GAME_NOT_WORKING )
282CONS( 1996, kt76, 0, 0, kt, kt, esqkt_state, kt, "Ensoniq", "KT-76", GAME_IMPERFECT_SOUND )

Previous 199869 Revisions Next


© 1997-2024 The MAME Team