Previous 199869 Revisions Next

r44647 Wednesday 3rd February, 2016 at 15:07:41 UTC by Vasantha Crabb
Merge pull request #602 from vasilvv/master

Allow load/save state slots to be bound to joystick buttons
[src/mame]arcade.lst mess.lst
[src/mame/drivers]fidelz80.cpp nwk-tr.cpp r9751.cpp stv.cpp tispeak.cpp

trunk/src/mame/arcade.lst
r253158r253159
51435143vmahjong        // 1997.02 Virtual Mahjong (Micronet)
51445144pclub2kc        // 1997.02 Print Club Kome Kome Club
51455145pclub2fc        // 1997.04 Print Club 2 Felix The Cat
5146pclub2pe      //
51465147pclub2pf      //
5148pclub26w      //
51475149pclub27s      //
51485150pclubyo2      //
51495151groovef         // 1997.05 Groove on Fight (Atlus)
51505152nclubv3         // 1997.07 Name Club Ver. 3
5151nclubv2
5153nclubv2         //
5154nameclub      //
51525155pclb2elk        // 1997.07 Print Club Custom
51535156pclub2          // 1997.09 Print Club 2
51545157thunt           // 1997.09 Puzzle & Action Treasure Hunt (Sega (Deniam License))
trunk/src/mame/drivers/fidelz80.cpp
r253158r253159
15371537    Machine Drivers
15381538******************************************************************************/
15391539
1540static MACHINE_CONFIG_START( cc7, fidelz80_state )
1541
1542   /* basic machine hardware */
1543   MCFG_CPU_ADD("maincpu", Z80, XTAL_3_579545MHz)
1544   MCFG_CPU_PROGRAM_MAP(cc10_map)
1545   //MCFG_CPU_IO_MAP(vcc_io)
1546
1547   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", fidelz80base_state, display_decay_tick, attotime::from_msec(1))
1548   MCFG_DEFAULT_LAYOUT(layout_fidel_cc)
1549
1550   /* sound hardware */
1551   MCFG_SPEAKER_STANDARD_MONO("mono")
1552   MCFG_SOUND_ADD("beeper", BEEP, 0)
1553   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1554MACHINE_CONFIG_END
1555
15401556static MACHINE_CONFIG_START( cc10, fidelz80_state )
15411557
15421558   /* basic machine hardware */
r253158r253159
16411657    ROM Definitions
16421658******************************************************************************/
16431659
1660ROM_START( cc7 )
1661   ROM_REGION( 0x10000, "maincpu", 0 )
1662   ROM_LOAD( "cn19103n_bcc-revb", 0x0000, 0x1000, CRC(a397d471) SHA1(9b12bc442fccee40f4d8500c792bc9d886c5e1a5) ) // 2332
1663ROM_END
1664
16441665ROM_START( cc10 )
16451666   ROM_REGION( 0x10000, "maincpu", 0 )
16461667   ROM_LOAD( "cc10b", 0x0000, 0x1000, CRC(afd3ca99) SHA1(870d09b2b52ccb8572d69642c59b5215d5fb26ab) ) // 2332
r253158r253159
18041825******************************************************************************/
18051826
18061827/*    YEAR  NAME      PARENT  COMPAT  MACHINE  INPUT   INIT              COMPANY, FULLNAME, FLAGS */
1807COMP( 1978, cc10,     0,      0,      cc10,    cc10,   driver_device, 0, "Fidelity Electronics", "Chess Challenger 10 (version B)", MACHINE_SUPPORTS_SAVE )
1828COMP( 1978, cc10,     0,      0,      cc10,    cc10,   driver_device, 0, "Fidelity Electronics", "Chess Challenger 10 (rev. B)", MACHINE_SUPPORTS_SAVE )
1829COMP( 1979, cc7,     0,      0,      cc7,    cc10,   driver_device, 0, "Fidelity Electronics", "Chess Challenger 7 (rev. B)", MACHINE_SUPPORTS_SAVE | MACHINE_NOT_WORKING )
18081830
18091831COMP( 1979, vcc,      0,      0,      vcc,     vcc,    driver_device, 0, "Fidelity Electronics", "Voice Chess Challenger (English)", MACHINE_SUPPORTS_SAVE )
18101832COMP( 1979, vccsp,    vcc,    0,      vcc,     vccsp,  driver_device, 0, "Fidelity Electronics", "Voice Chess Challenger (Spanish)", MACHINE_SUPPORTS_SAVE )
trunk/src/mame/drivers/nwk-tr.cpp
r253158r253159
304304   int m_fpga_uploaded;
305305   int m_lanc2_ram_r;
306306   int m_lanc2_ram_w;
307   UINT8 m_lanc2_reg[3];
307308   std::unique_ptr<UINT8[]> m_lanc2_ram;
308309   std::unique_ptr<UINT32[]> m_sharc_dataram;
309310   DECLARE_WRITE32_MEMBER(paletteram32_w);
r253158r253159
521522               ((value << 7) & 0x80);
522523
523524         m_fpga_uploaded = 1;
525         m_lanc2_reg[0] = (UINT8)(data >> 24);
524526
525527         //printf("lanc2_fpga_w: %02X at %08X\n", value, space.device().safe_pc());
526528      }
r253158r253159
528530      {
529531         m_lanc2_ram_r = 0;
530532         m_lanc2_ram_w = 0;
533         m_lanc2_reg[1] = (UINT8)(data >> 8);
531534      }
532535      else if (ACCESSING_BITS_16_23)
533536      {
534         m_lanc2_ram[2] = (data >> 20) & 0xf;
535         m_lanc2_ram[3] = 0;
537         if (m_lanc2_reg[0] != 0)
538         {
539            m_lanc2_ram[2] = (data >> 20) & 0xf;
540            m_lanc2_ram[3] = 0;
541         }
542         m_lanc2_reg[2] = (UINT8)(data >> 16);
536543      }
537544      else if (ACCESSING_BITS_0_7)
538545      {
trunk/src/mame/drivers/r9751.cpp
r253158r253159
6767
6868   DECLARE_READ32_MEMBER(r9751_mmio_5ff_r);
6969   DECLARE_WRITE32_MEMBER(r9751_mmio_5ff_w);
70   DECLARE_READ32_MEMBER(r9751_mmio_ff01_r);
71   DECLARE_WRITE32_MEMBER(r9751_mmio_ff01_w);
7072   DECLARE_READ32_MEMBER(r9751_mmio_ff05_r);
7173   DECLARE_WRITE32_MEMBER(r9751_mmio_ff05_w);
7274   DECLARE_READ32_MEMBER(r9751_mmio_fff8_r);
r253158r253159
9092   UINT32 fdd_dest_address; // 5FF080B0
9193   UINT32 fdd_cmd_complete;
9294   UINT32 smioc_out_addr;
95   UINT32 smioc_dma_bank;
96   UINT32 fdd_dma_bank;
9397   attotime timer_32khz_last;
9498   // End registers
9599
r253158r253159
110114
111115READ8_MEMBER(r9751_state::pdc_dma_r)
112116{
113   return m_maincpu->space(AS_PROGRAM).read_byte(offset);
117   /* This callback function takes the value written to 0xFF01000C as the bank offset */
118   UINT32 address = (fdd_dma_bank & 0x7FFFF800) + (offset&0xFFFF);
119   return m_maincpu->space(AS_PROGRAM).read_byte(address);
114120}
115121
116122WRITE8_MEMBER(r9751_state::pdc_dma_w)
117123{
118   m_maincpu->space(AS_PROGRAM).write_byte(m_pdc->fdd_68k_dma_address,data);
124   /* This callback function takes the value written to 0xFF01000C as the bank offset */
125   UINT32 address = (fdd_dma_bank & 0x7FFFF800) + (data&0xFFFF);
126   m_maincpu->space(AS_PROGRAM).write_byte(m_pdc->fdd_68k_dma_address,address);
119127}
120128
121129DRIVER_INIT_MEMBER(r9751_state,r9751)
r253158r253159
123131   reg_ff050004 = 0;
124132   reg_fff80040 = 0;
125133   fdd_dest_address = 0;
126//  fdd_scsi_command = 0;
127134   fdd_cmd_complete = 0;
135   fdd_dma_bank = 0;
128136   smioc_out_addr = 0;
137   smioc_dma_bank = 0;
129138   m_mem = &m_maincpu->space(AS_PROGRAM);
130139
131140}
r253158r253159
147156READ32_MEMBER( r9751_state::r9751_mmio_5ff_r )
148157{
149158   UINT32 data;
150   UINT32 address = offset * 4 + 0x5FF00000;
151159
152   switch(address)
160   switch(offset << 2)
153161   {
154162      /* PDC HDD region (0x24, device 9) */
155      case 0x5FF00824: /* HDD Command result code */
163      case 0x0824: /* HDD Command result code */
156164         return 0x10;
157      case 0x5FF03024: /* HDD SCSI command completed successfully */
165      case 0x3024: /* HDD SCSI command completed successfully */
158166         data = 0x1;
159         if(TRACE_HDC) logerror("SCSI HDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
167         if(TRACE_HDC) logerror("SCSI HDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
160168         return data;
161169      /* SMIOC region (0x98, device 26) */
162      case 0x5FF00898: /* Serial status or DMA status */
170      case 0x0898: /* Serial status or DMA status */
163171         return 0x40;
164172      /* PDC FDD region (0xB0, device 44 */
165      case 0x5FF008B0: /* FDD Command result code */
173      case 0x08B0: /* FDD Command result code */
166174         return 0x10;
167      case 0x5FF010B0: /* Clear 5FF030B0 ?? */
175      case 0x10B0: /* Clear 5FF030B0 ?? */
168176         if(TRACE_FDC) logerror("--- FDD 0x5FF010B0 READ (0)\n");
169177         return 0;
170      case 0x5FF030B0: /* FDD command completion status */
178      case 0x30B0: /* FDD command completion status */
171179         data = (m_pdc->reg_p5 << 8) + m_pdc->reg_p4;
172         if(TRACE_FDC) logerror("--- SCSI FDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
180         if(TRACE_FDC) logerror("--- SCSI FDD command completion status - Read: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
173181         return data;
174182      default:
175         if(TRACE_FDC || TRACE_HDC || TRACE_SMIOC) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, 0, mem_mask);
183         if(TRACE_FDC || TRACE_HDC || TRACE_SMIOC) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000, 0, mem_mask);
176184         return 0;
177185   }
178186}
r253158r253159
180188WRITE32_MEMBER( r9751_state::r9751_mmio_5ff_w )
181189{
182190   UINT8 data_b0, data_b1;
183   UINT32 address = offset * 4 + 0x5FF00000;
191   /* Unknown mask */
192   if (mem_mask != 0xFFFFFFFF)
193      logerror("Mask found: %08X Register: %08X PC: %08X\n", mem_mask, offset << 2 | 0x5FF00000, space.machine().firstcpu->pc());
184194
185   switch(address)
195   switch(offset << 2)
186196   {
187197      /* PDC HDD region (0x24, device 9 */
188      case 0x5FF00224: /* HDD SCSI read command */
189         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
198      case 0x0224: /* HDD SCSI read command */
199         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
190200         break;
191      case 0x5FF08024: /* HDD SCSI read command */
192         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
201      case 0x8024: /* HDD SCSI read command */
202         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
193203         break;
194      case 0x5FF0C024: /* HDD SCSI read command */
195         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
204      case 0xC024: /* HDD SCSI read command */
205         if(TRACE_HDC) logerror("@@@ HDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
196206         break;
197207      /* SMIOC region (0x98, device 26) */
198      case 0x5FF04098: /* Serial DMA Command */
208      case 0x4098: /* Serial DMA Command */
199209         switch(data)
200210         {
201211            case 0x4100: /* Send byte to serial */
202               if(TRACE_SMIOC) logerror("Serial byte: %02X\n", m_mem->read_dword(smioc_out_addr));
212               if(TRACE_SMIOC) logerror("Serial byte: %02X PC: %08X\n", m_mem->read_dword(smioc_out_addr), space.machine().firstcpu->pc());
203213               m_terminal->write(space,0,m_mem->read_dword(smioc_out_addr));
204214               break;
205215            default:
206216               if(TRACE_SMIOC) logerror("Uknown serial DMA command: %X\n", data);
207217         }
208218         break;
209      case 0x5FF0C098: /* Serial DMA output address */
210         smioc_out_addr = data * 2;
219      case 0xC098: /* Serial DMA output address */
220         //smioc_out_addr = data * 2;
221         smioc_out_addr = (smioc_dma_bank & 0x7FFFF800) | ((data&0x3FF)<<1);
222         if(TRACE_SMIOC) logerror("Serial output address: %08X PC: %08X\n", smioc_out_addr, space.machine().firstcpu->pc());
211223         break;
212224      /* PDC FDD region (0xB0, device 44 */
213      case 0x5FF001B0: /* FDD SCSI read command */
214         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
225      case 0x01B0: /* FDD SCSI read command */
226         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
215227         break;
216      case 0x5FF002B0: /* FDD SCSI read command */
217         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
228      case 0x02B0: /* FDD SCSI read command */
229         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
218230         break;
219      case 0x5FF008B0: /* FDD SCSI read command */
220         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
231      case 0x04B0: /* FDD RESET PDC */
232         if(TRACE_FDC) logerror("PDC RESET, PC: %08X\n", space.machine().firstcpu->pc());
233         m_pdc->reset();
221234         break;
222      case 0x5FF041B0: /* Unknown - Probably old style commands */
223         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), address);
235      case 0x08B0: /* FDD SCSI read command */
236         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
237         break;
238      case 0x41B0: /* Unknown - Probably old style commands */
239         if(TRACE_FDC) logerror("--- FDD Command: %08X, From: %08X, Register: %08X\n", data, space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000);
224240
225         /* Clear FDD Command completion status 0x5FF030B0 (PDC 0x4, 0x5)*/
241         /* Clear FDD Command completion status 0x5FF030B0 (PDC 0x4, 0x5) */
226242         m_pdc->reg_p4 = 0;
227243         m_pdc->reg_p5 = 0;
228244
r253158r253159
233249         m_pdc->reg_p38 |= 0x2; /* Set bit 1 on port 38 register, PDC polls this port looking for a command */
234250         if(TRACE_FDC) logerror("--- FDD Old Command: %02X and %02X\n", data_b0, data_b1);
235251         break;
236      case 0x5FF080B0: /* fdd_dest_address register */
252      case 0x80B0: /* fdd_dest_address register */
237253         fdd_dest_address = data << 1;
238254         if(TRACE_FDC) logerror("--- FDD destination address: %08X\n", fdd_dest_address);
239255         data_b0 = data & 0xFF;
r253158r253159
241257         m_pdc->reg_p6 = data_b0;
242258         m_pdc->reg_p7 = data_b1;
243259         break;
244      case 0x5FF0C0B0:
245      case 0x5FF0C1B0: /* FDD command address register */
260      case 0xC0B0:
261      case 0xC1B0: /* FDD command address register */
246262         UINT32 fdd_scsi_command;
247263         UINT32 fdd_scsi_command2;
248264         unsigned char c_fdd_scsi_command[8]; // Array for SCSI command
249265         int scsi_lba; // FDD LBA location here, extracted from command
250266
251         /* Clear FDD Command completion status 0x5FF030B0 (PDC 0x4, 0x5)*/
267         /* Clear FDD Command completion status 0x5FF030B0 (PDC 0x4, 0x5) */
252268         m_pdc->reg_p4 = 0;
253269         m_pdc->reg_p5 = 0;
254270
r253158r253159
281297         break;
282298
283299      default:
284         if(TRACE_FDC || TRACE_HDC || TRACE_SMIOC) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
300         if(TRACE_FDC || TRACE_HDC || TRACE_SMIOC) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0x5FF00000, data, mem_mask);
285301   }
286302}
287303
288304/******************************************************************************
289 CPU board registers [0xFF050000 - 0xFF06FFFF]
305 CPU board registers [0xFF010000 - 0xFF06FFFF]
290306******************************************************************************/
307READ32_MEMBER( r9751_state::r9751_mmio_ff01_r )
308{
309   //UINT32 data;
310
311   switch(offset << 2)
312   {
313      default:
314         //return data;
315         return 0;
316   }
317}
318
319WRITE32_MEMBER( r9751_state::r9751_mmio_ff01_w )
320{
321   /* Unknown mask */
322   if (mem_mask != 0xFFFFFFFF)
323      logerror("Mask found: %08X Register: %08X PC: %08X\n", mem_mask, offset << 2 | 0xFF010000, space.machine().firstcpu->pc());
324
325   switch(offset << 2)
326   {
327      case 0x000C: /* FDD DMA Offset */
328         fdd_dma_bank = data;
329         return;
330      case 0x0010: /* SMIOC DMA Offset */
331         smioc_dma_bank = data;
332         return;
333      default:
334         return;
335   }
336}
337
291338READ32_MEMBER( r9751_state::r9751_mmio_ff05_r )
292339{
293340   UINT32 data;
294      UINT32 address = offset * 4 + 0xFF050000;
295341
296   switch(address)
342   switch(offset << 2)
297343   {
298      case 0xFF050004:
344      case 0x0004:
299345         return reg_ff050004;
300      case 0xFF050300:
346      case 0x0300:
301347         return 0x1B | (1<<0x14);
302      case 0xFF050320: /* Some type of counter */
348      case 0x0320: /* Some type of counter */
303349         return (machine().time() - timer_32khz_last).as_ticks(32768) & 0xFFFF;
304      case 0xFF050584:
350      case 0x0584:
305351         return 0;
306      case 0xFF050610:
352      case 0x0610:
307353         return 0xabacabac;
308      case 0xFF060014:
354      case 0x0014:
309355         return 0x80;
310356      default:
311357         data = 0;
312         if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
358         if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0xFF050000, data, mem_mask);
313359         return data;
314360   }
315361}
316362
317363WRITE32_MEMBER( r9751_state::r9751_mmio_ff05_w )
318364{
319   UINT32 address = offset * 4 + 0xFF050000;
365   /* Unknown mask */
366   if (mem_mask != 0xFFFFFFFF)
367      logerror("Mask found: %08X Register: %08X PC: %08X\n", mem_mask, offset << 2 | 0xFF050000, space.machine().firstcpu->pc());
320368
321   switch(address)
369   switch(offset << 2)
322370   {
323      case 0xFF050004:
371      case 0x0004:
324372         reg_ff050004 = data;
325373         return;
326      case 0xFF05000C: /* CPU LED hex display indicator */
374      case 0x000C: /* CPU LED hex display indicator */
327375         if(TRACE_LED) logerror("\n*** LED: %02x, Instruction: %08x ***\n\n", data, space.machine().firstcpu->pc());
328376         return;
329      case 0xFF050320:
377      case 0x0320:
330378         timer_32khz_last = machine().time();
331379      default:
332         if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
380         if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0xFF050000, data, mem_mask);
333381         return;
334382   }
335383}
336384
337385READ32_MEMBER( r9751_state::r9751_mmio_fff8_r )
338386{
339      UINT32 data;
340      UINT32 address = offset * 4 + 0xFFF80000;
387   UINT32 data;
341388
342   switch(address)
389   switch(offset << 2)
343390   {
344      case 0xFFF80040:
391      case 0x0040:
345392         return reg_fff80040;
346393      default:
347394         data = 0;
348         if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
395         if(TRACE_CPU_REG) logerror("Instruction: %08x READ MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0xFFF80000, data, mem_mask);
349396         return data;
350397   }
351398}
352399
353400WRITE32_MEMBER( r9751_state::r9751_mmio_fff8_w )
354401{
355      UINT32 address = offset * 4 + 0xFFF80000;
402   /* Unknown mask */
403   if (mem_mask != 0xFFFFFFFF)
404      logerror("Mask found: %08X Register: %08X PC: %08X\n", mem_mask, offset << 2 | 0xFFF80000, space.machine().firstcpu->pc());
356405
357   switch(address)
406   switch(offset << 2)
358407   {
359      case 0xFFF80040:
408      case 0x0040:
360409         reg_fff80040 = data;
361410         return;
362411      default:
363         if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), address, data, mem_mask);
412         if(TRACE_CPU_REG) logerror("Instruction: %08x WRITE MMIO(%08x): %08x & %08x\n", space.machine().firstcpu->pc(), offset << 2 | 0xFFF80000, data, mem_mask);
364413   }
365414}
366415
r253158r253159
373422   AM_RANGE(0x00000000,0x00ffffff) AM_RAM AM_SHARE("main_ram") // 16MB
374423   AM_RANGE(0x08000000,0x0800ffff) AM_ROM AM_REGION("prom", 0)
375424   AM_RANGE(0x5FF00000,0x5FFFFFFF) AM_READWRITE(r9751_mmio_5ff_r, r9751_mmio_5ff_w)
425   AM_RANGE(0xFF010000,0xFF01FFFF) AM_READWRITE(r9751_mmio_ff01_r, r9751_mmio_ff01_w)
376426   AM_RANGE(0xFF050000,0xFF06FFFF) AM_READWRITE(r9751_mmio_ff05_r, r9751_mmio_ff05_w)
377427   AM_RANGE(0xFFF80000,0xFFF8FFFF) AM_READWRITE(r9751_mmio_fff8_r, r9751_mmio_fff8_w)
378428   //AM_RANGE(0xffffff00,0xffffffff) AM_RAM // Unknown area
trunk/src/mame/drivers/stv.cpp
r253158r253159
29552955   ROM_LOAD( "pclub298.nv", 0x0000, 0x0080, CRC(a23dd0f2) SHA1(457282b5d40a17477b95330bba91e05c603f951e) )
29562956ROM_END
29572957
2958
2959ROM_START( pclub26w ) // set to 1p
2960   STV_BIOS
2961
2962   ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASE00 ) /* SH2 code */
2963
2964   ROM_LOAD16_WORD_SWAP( "pclbvol6w_IC22",    0x0200000, 0x0200000, CRC(72aa320c) SHA1(09bc30e8cb00a5a4014c44e468cc64f6c3425d92) )
2965   ROM_LOAD16_WORD_SWAP( "pclbvol6w_IC24",    0x0400000, 0x0200000, CRC(d98371e2) SHA1(813ac5f3c5b57d07cc319c73560bc0719ddcfe6b) )
2966   ROM_LOAD16_WORD_SWAP( "pclbvol6w_IC26",    0x0600000, 0x0200000, CRC(e6bbe3a5) SHA1(b2f642b8ca0779ad66cfbbadece40f4e3dc41fd1) )
2967   ROM_LOAD16_WORD_SWAP( "pclbvol6w_IC28",    0x0800000, 0x0200000, CRC(3c330c9b) SHA1(92f8e8d4f43db7c4ce431d17501492a7f8d8a867) )
2968   ROM_LOAD16_WORD_SWAP( "pclbvol6w_IC30",    0x0a00000, 0x0200000, CRC(67646090) SHA1(ed6402a22acafa0203c587b871edc547f0ec5277) )
2969
2970   ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
2971   ROM_LOAD( "pclub26w.nv", 0x0000, 0x0080, CRC(448f770d) SHA1(5f966c511c4c8e9d5b2d257c41c2c88a453b4944) )
2972ROM_END
2973
29582974ROM_START( pclub27s ) // set to 1p
29592975   STV_BIOS
29602976
r253158r253159
29702986   ROM_LOAD( "pclub27s.nv", 0x0000, 0x0080, CRC(e58c7167) SHA1(d88b1648c5d86a90615a8c6a1bf87bc9e75dc320) )
29712987ROM_END
29722988
2989ROM_START( pclub2pe ) // set to 1p
2990   STV_BIOS
2991
2992   ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASE00 ) /* SH2 code */
2993
2994   ROM_LOAD16_WORD_SWAP( "pclb2psi_IC22",    0x0200000, 0x0200000, CRC(caadc660) SHA1(f2e84bee96266bb03d8f9009249c17c27935f82e) )
2995   ROM_LOAD16_WORD_SWAP( "pclb2psi_IC24",    0x0400000, 0x0200000, CRC(ece82698) SHA1(b17b1ea8adc13c3722067c9854d1b7fdf3917090) )
2996   ROM_LOAD16_WORD_SWAP( "pclb2psi_IC26",    0x0600000, 0x0200000, CRC(c8a1e335) SHA1(a95ddfc41fdd9f720c11208f45ef5db4bee6cb97) )
2997   ROM_LOAD16_WORD_SWAP( "pclb2psi_IC28",    0x0800000, 0x0200000, CRC(52f09627) SHA1(e2ffc321bb0f2a650d0c0b39c3ec68226e1ca7f4) )
2998   ROM_LOAD16_WORD_SWAP( "pclb2psi_IC30",    0x0a00000, 0x0200000, CRC(03b9eacf) SHA1(d69c10f7613d9f52042dd6cce64e74e2b1ecc2d8) )
2999
3000   ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
3001   ROM_LOAD( "pclub2pe.nv", 0x0000, 0x0080, CRC(447bb3bd) SHA1(9fefec09849bfa0c14b49e73ff13e2a538dff511))
3002ROM_END
3003
3004
29733005ROM_START( pclubyo2 ) // set to 1p
29743006   STV_BIOS
29753007
r253158r253159
31233155   ROM_LOAD( "pclove.nv", 0x0000, 0x0080, CRC(3c78e3bd) SHA1(6d5fe8545f434b4cc1e8229549adb0a49ac45bd1) )
31243156ROM_END
31253157
3158// Name Club / Name Club vol.2
3159// have an unusual rom mapping compared to other games, the cartridge is a little different too, with a large PALCE16V8H-10 marked 315-6026
3160// For Name Club vol. 2, the protection device (317-0229 on both) is checked in the 'each game test' menu as 'RCDD2'
3161// For the service mode test the game just passes a large block of compressed data and checksums the result, it doesn't even look like it's
3162// passing 100% valid data, just an entire section of ROM, checking the result against a pre-calculated checksum.
3163
3164// The device is accessed by the game when you choose to print, it looks like it's decompressing the full-size graphics for the printer rather
3165// than anything you see onscreen.  It makes quite extensive use of the device, with lots of different dictionaries, unlike Decathlete where
3166// there are only 2 that cover all the data.
3167
3168ROM_START( nameclub )
3169   STV_BIOS
3170
3171   ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASEFF ) /* SH2 code */
3172   ROM_LOAD16_WORD_SWAP( "ic22",    0x0200000, 0x0200000, CRC(ac23c648) SHA1(4dd099a92ff162082eb24a61a277ca907b3f9892) ) // OK
3173   ROM_LOAD16_WORD_SWAP( "ic24",    0x0600000, 0x0200000, CRC(a16902e3) SHA1(85c582cb0d02ef028a8ae32688c20a5b5aeeaae8) ) // OK
3174   ROM_LOAD16_WORD_SWAP( "ic26",    0x0a00000, 0x0200000, CRC(a5eab3f3) SHA1(1b7263639bb8f4aa644cc46133988ef4d2b6c9de) ) // OK
3175   ROM_LOAD16_WORD_SWAP( "ic28",    0x0e00000, 0x0200000, CRC(34ed677a) SHA1(ff2c4dd8fae33ac618f6e3e28ba71c4ecb4ca88f) ) // OK
3176
3177   ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
3178   ROM_LOAD( "nameclub.nv", 0x0000, 0x0080, CRC(680a64bc) SHA1(45194bbe4a7e67f0e44f858589881967884f63a6) )
3179ROM_END
3180
31263181ROM_START( nclubv2 )
31273182   STV_BIOS
31283183
31293184   ROM_REGION32_BE( 0x3000000, "cart", ROMREGION_ERASEFF ) /* SH2 code */
3130   // unusual rom mapping compared to other games, the cartridge is a little different too, with a large PALCE16V8H-10 marked 315-6026
31313185   ROM_LOAD16_WORD_SWAP( "nclubv2.ic22",    0x0200000, 0x0200000, CRC(7e81676d) SHA1(fc0f0dcdb4aaf71218d7c1dd0e4ddc5381e8b13b) ) // OK
31323186   ROM_LOAD16_WORD_SWAP( "nclubv2.ic24",    0x0600000, 0x0200000, CRC(1b7637de) SHA1(43c3094f60a6582298a45bad923fef57e98c5b2b) ) // OK
31333187   ROM_LOAD16_WORD_SWAP( "nclubv2.ic26",    0x0a00000, 0x0200000, CRC(630be99d) SHA1(ac7fbaae98b126fad5228b0ebffa91a0f0a94516) ) // OK
31343188   ROM_LOAD16_WORD_SWAP( "nclubv2.ic28",    0x0e00000, 0x0200000, CRC(1a3ca5e2) SHA1(4d3aed51d29c54e71175d828f648c9feb813ac04) ) // OK
31353189     
3136
3137   // the protection device is checked in the 'each game test' menu as 'RCDD2' might be worth investigating what the game passes to the device for it.
3138   // I think the device is used to decompress the full size image data for the printer.
3139
31403190   ROM_REGION16_BE( 0x80, "eeprom", 0 ) // preconfigured to 1 player
31413191   ROM_LOAD( "nclubv2.nv", 0x0000, 0x0080, CRC(96d55fa9) SHA1(b3c821d6cd4ed52d0e20565e12a06d8f81a08dbc) )
31423192ROM_END
r253158r253159
32003250/* Unemulated printer / camera devices */
32013251// USA sets
32023252GAME( 1997, pclub2,    stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 (U 970921 V1.000)", MACHINE_NOT_WORKING )
3203GAME( 1999, pclub2v3,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Vol. 3 (U 990310 V1.000)", MACHINE_NOT_WORKING )
3253GAME( 1999, pclub2v3,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Vol. 3 (U 990310 V1.000)", MACHINE_NOT_WORKING ) // Hello Kitty themed
32043254GAME( 1999, pclubpok,  stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club Pokemon B (U 991126 V1.000)", MACHINE_NOT_WORKING )
32053255// Japan sets
32063256GAME( 1999, pclub2fc,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Felix The Cat (Rev. A) (J 970415 V1.100)", MACHINE_NOT_WORKING )
32073257GAME( 1998, pclub2pf,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Puffy (Japan)", MACHINE_NOT_WORKING ) // version info is blank
3208GAME( 1997, pclb297w,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '97 Winter Ver (J 971017 V1.100)", MACHINE_NOT_WORKING )
3209GAME( 1997, pclub298,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '98 Spring Ver (J 971017 V1.100)", MACHINE_NOT_WORKING )
3210GAME( 1998, pclb298a,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", MACHINE_NOT_WORKING )
32113258GAME( 1997, pclb2elk,  stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Earth Limited Kobe (Print Club Custom) (J 970808 V1.000)", MACHINE_NOT_WORKING )
3212GAME( 1997, pclub27s,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Vol. 7 Spring (J 970313 V1.100)", MACHINE_NOT_WORKING ) // aka Print Club 2 '97 Spring Ver  ?
3259GAME( 1997, pclub2pe,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Pepsiman (J 970618 V1.100)", MACHINE_NOT_WORKING )
32133260
3261GAME( 1997, pclub26w,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Vol. 6 Winter (J 961210 V1.000)", MACHINE_NOT_WORKING ) // internal string is 'PURIKURA2 97FUYU' (but in reality it seems to be an end of 96 Winter version)
3262GAME( 1997, pclub27s,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 Vol. 7 Spring (J 970313 V1.100)", MACHINE_NOT_WORKING )
3263// Summer 97?
3264// Autumn 97?
3265GAME( 1997, pclb297w,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '97 Winter Ver (J 971017 V1.100)", MACHINE_NOT_WORKING ) // internal string is '97WINTER' (3 roms bad / missing tho, need new dump)
3266GAME( 1997, pclub298,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '98 Spring Ver (J 971017 V1.100)", MACHINE_NOT_WORKING ) // date is the same as previous version, surely incorrect / not updated when the game was
3267// Summer 98?
3268GAME( 1998, pclb298a,  pclub2,  stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club 2 '98 Autumn Ver (J 980827 V1.000)", MACHINE_NOT_WORKING )
3269
3270
32143271GAME( 1999, pclubor,   stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club Goukakenran (J 991104 V1.000)", MACHINE_NOT_WORKING )
32153272GAME( 1999, pclubol,   stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club Olive (J 980717 V1.000)", MACHINE_NOT_WORKING )
32163273GAME( 1997, pclub2kc,  stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club Kome Kome Club (J 970203 V1.000)", MACHINE_NOT_WORKING )
r253158r253159
32183275GAME( 1997, pclubyo2,  stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Atlus",                        "Print Club Yoshimoto V2 (J 970422 V1.100)", MACHINE_NOT_WORKING )
32193276
32203277GAME( 1998, stress,    stvbios, stv,      stv, stv_state,       stv,        ROT0,   "Sega",                         "Stress Busters (J 981020 V1.000)", MACHINE_NOT_WORKING | MACHINE_IMPERFECT_GRAPHICS | MACHINE_IMPERFECT_SOUND )
3221GAME( 1996, nclubv2,   stvbios, stv_5838, stv, stv_state,       decathlt,   ROT0,   "Sega",                         "Name Club Ver.2 (J 960315 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
3222GAME( 1997, nclubv3,   stvbios, stv,      stv, stv_state,       nameclv3,   ROT0,   "Sega",                         "Name Club Ver.3 (J 970723 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
32233278
3279GAME( 1996, nameclub,  stvbios, stv_5838, stv, stv_state,       decathlt,   ROT0,   "Sega",                         "Name Club (J 960315 V1.000)", MACHINE_NOT_WORKING ) // uses the same type of protection as decathlete!!
3280GAME( 1996, nclubv2,   stvbios, stv_5838, stv, stv_state,       decathlt,   ROT0,   "Sega",                         "Name Club Ver.2 (J 960315 V1.000)", MACHINE_NOT_WORKING ) // ^  (has the same datecode as nameclub, probably incorrect unless both were released today)
3281GAME( 1997, nclubv3,   stvbios, stv,      stv, stv_state,       nameclv3,   ROT0,   "Sega",                         "Name Club Ver.3 (J 970723 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING ) // no protection
32243282
32253283
3284
32263285/* Doing something.. but not enough yet */
32273286GAME( 1995, vfremix,   stvbios, stv,      stv, stv_state,        vfremix,    ROT0,   "Sega",                         "Virtua Fighter Remix (JUETBKAL 950428 V1.000)", MACHINE_IMPERFECT_SOUND | MACHINE_IMPERFECT_GRAPHICS | MACHINE_NOT_WORKING )
32283287GAME( 1996, decathlt,  stvbios, stv_5838, stv, stv_state,        decathlt,   ROT0,   "Sega",                         "Decathlete (JUET 960709 V1.001)", MACHINE_NO_SOUND | MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION )
trunk/src/mame/drivers/tispeak.cpp
r253158r253159
8080    - notes: this one has a dedicated voice actor
8181
8282    Speak & Spell (France) "La Dictee Magique", 1980
83    - MCU: CD2702*
83    - MCU: CD2702, labeled CD2702AN2L (die labeled TMC0270F 2702A)
8484    - TMS51xx: CD2801
8585    - VSM: 16KB CD2352
8686
r253158r253159
143143Speak & Math:
144144
145145    Speak & Math (US), 1980 (renamed to "Speak & Maths" in UK, but is the same product)
146    - MCU: CD2704*
146    - MCU: CD2704, labeled CD2704B-N2L (die labeled TMC0270F 2704B) - 2nd revision?(mid-1982)
147147    - TMS51xx: CD2801
148148    - VSM(1/2): 16KB CD2392
149149    - VSM(2/2): 16KB CD2393
r253158r253159
170170Speak & Read:
171171
172172    Speak & Read (US), 1980
173    - MCU: CD2705, labeled CD2705B-N2L (die labeled TMC0270E 2705B) - 2nd revision?
173    - MCU: CD2705, labeled CD2705B-N2L (die labeled TMC0270E 2705B) - 2nd revision?(late-1981)
174174    - TMS51xx: CD2801
175175    - VSM(1/2): 16KB CD2394(rev.A)
176176    - VSM(2/2): 16KB CD2395(rev.A)
r253158r253159
12421242   ROM_REGION( 2127, "maincpu:mpla", 0 )
12431243   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
12441244   ROM_REGION( 1246, "maincpu:opla", 0 )
1245   ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // using the one from 1978 version
1245   ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // using the one from 1st version
12461246
12471247   ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
1248   ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) // using the one from 1978 version
1248   ROM_LOAD( "tmc0351nl.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) // using the one from 1st version
12491249   ROM_LOAD( "tmc0352nl.vsm", 0x4000, 0x4000, CRC(d51f0587) SHA1(ddaa484be1bba5fef46b481cafae517e4acaa8ed) ) // "
12501250ROM_END
12511251
r253158r253159
12561256   ROM_REGION( 1246, "maincpu:ipla", 0 )
12571257   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
12581258   ROM_REGION( 2127, "maincpu:mpla", 0 )
1259   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, BAD_DUMP CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) // not verified
1259   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
12601260   ROM_REGION( 1246, "maincpu:opla", 0 )
12611261   ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
12621262
r253158r253159
12871287   ROM_REGION( 1246, "maincpu:ipla", 0 )
12881288   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
12891289   ROM_REGION( 2127, "maincpu:mpla", 0 )
1290   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, BAD_DUMP CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) // not verified
1290   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) )
12911291   ROM_REGION( 1246, "maincpu:opla", 0 )
12921292   ROM_LOAD( "tms0270_tmc0271_output.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
12931293
r253158r253159
13291329
13301330ROM_START( snspellfr )
13311331   ROM_REGION( 0x1000, "maincpu", 0 )
1332   ROM_LOAD( "tmc0271h-n2l", 0x0000, 0x1000, BAD_DUMP CRC(f83b5d2d) SHA1(10155b0b7f7f1583c7def8a693553cd35944ea6f) ) // placeholder, use the one we have
1332   ROM_LOAD( "cd2702an2l", 0x0000, 0x1000, CRC(895d6a4e) SHA1(a8bc118c83a84260033734191dcaa71a93dfa52b) )
13331333
13341334   ROM_REGION( 1246, "maincpu:ipla", 0 )
13351335   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
13361336   ROM_REGION( 2127, "maincpu:mpla", 0 )
1337   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, BAD_DUMP CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) // not verified
1337   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
13381338   ROM_REGION( 1246, "maincpu:opla", 0 )
1339   ROM_LOAD( "tms0270_tmc0271h_output.pla", 0, 1246, BAD_DUMP CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) // placeholder, use the one we have
1339   ROM_LOAD( "tms0270_cd2702_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
13401340
13411341   ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
13421342   ROM_LOAD( "cd2352.vsm", 0x0000, 0x4000, CRC(181a239e) SHA1(e16043766c385e152b7005c1c010be4c5fccdd9b) )
r253158r253159
13441344
13451345ROM_START( snspellit )
13461346   ROM_REGION( 0x1000, "maincpu", 0 )
1347   ROM_LOAD( "tmc0271h-n2l", 0x0000, 0x1000, BAD_DUMP CRC(f83b5d2d) SHA1(10155b0b7f7f1583c7def8a693553cd35944ea6f) ) // placeholder, use the one we have
1347   ROM_LOAD( "cd2702an2l", 0x0000, 0x1000, CRC(895d6a4e) SHA1(a8bc118c83a84260033734191dcaa71a93dfa52b) )
13481348
13491349   ROM_REGION( 1246, "maincpu:ipla", 0 )
13501350   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
13511351   ROM_REGION( 2127, "maincpu:mpla", 0 )
1352   ROM_LOAD( "tms0270_common2_micro.pla", 0, 2127, BAD_DUMP CRC(86737ac1) SHA1(4aa0444f3ddf88738ea74aec404c684bf54eddba) ) // not verified
1352   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
13531353   ROM_REGION( 1246, "maincpu:opla", 0 )
1354   ROM_LOAD( "tms0270_tmc0271h_output.pla", 0, 1246, BAD_DUMP CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) ) // placeholder, use the one we have
1354   ROM_LOAD( "tms0270_cd2702_output.pla", 0, 1246, CRC(2478c595) SHA1(9a8ac690902731e1e01533279a1c9223011e1537) )
13551355
13561356   ROM_REGION( 0x10000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
13571357   ROM_LOAD( "cd62190.vsm", 0x0000, 0x4000, CRC(63832002) SHA1(ea8124b2bf0f5908c5f1a56d60063f2468a10143) )
r253158r253159
14001400
14011401ROM_START( snmath )
14021402   ROM_REGION( 0x1000, "maincpu", 0 )
1403   ROM_LOAD( "cd2708n2l", 0x0000, 0x1000, CRC(35937360) SHA1(69c362c75bb459056c09c7fab37c91040485474b) )
1403   ROM_LOAD( "cd2704b-n2l", 0x0000, 0x1000, CRC(7e06c7c5) SHA1(d60a35a8163ab593c31afc840a0d8a9b3a762f29) )
14041404
14051405   ROM_REGION( 1246, "maincpu:ipla", 0 )
14061406   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
14071407   ROM_REGION( 2127, "maincpu:mpla", 0 )
14081408   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
14091409   ROM_REGION( 1246, "maincpu:opla", 0 )
1410   ROM_LOAD( "tms0270_cd2704_output.pla", 0, 1246, CRC(5a2eb949) SHA1(8bb161d4884f229af65f8d155e59b9d8966fe3d1) )
1411
1412   ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF )
1413   ROM_LOAD( "cd2392.vsm", 0x0000, 0x4000, CRC(4ed2e920) SHA1(8896f29e25126c1e4d9a47c9a325b35dddecc61f) )
1414   ROM_LOAD( "cd2393.vsm", 0x4000, 0x4000, CRC(571d5b5a) SHA1(83284755d9b77267d320b5b87fdc39f352433715) )
1415ROM_END
1416
1417ROM_START( snmatha )
1418   ROM_REGION( 0x1000, "maincpu", 0 )
1419   ROM_LOAD( "cd2708-n2l", 0x0000, 0x1000, CRC(35937360) SHA1(69c362c75bb459056c09c7fab37c91040485474b) )
1420
1421   ROM_REGION( 1246, "maincpu:ipla", 0 )
1422   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
1423   ROM_REGION( 2127, "maincpu:mpla", 0 )
1424   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
1425   ROM_REGION( 1246, "maincpu:opla", 0 )
14101426   ROM_LOAD( "tms0270_cd2708_output.pla", 0, 1246, CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) )
14111427
14121428   ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF )
r253158r253159
14261442   ROM_REGION( 1246, "maincpu:ipla", 0 )
14271443   ROM_LOAD( "tms0980_common1_instr.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
14281444   ROM_REGION( 2127, "maincpu:mpla", 0 )
1429   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // not verified
1445   ROM_LOAD( "tms0270_common1_micro.pla", 0, 2127, CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) )
14301446   ROM_REGION( 1246, "maincpu:opla", 0 )
1431   ROM_LOAD( "tms0270_cd2708_output.pla", 0, 1246, BAD_DUMP CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) ) // taken from cd2708, need to verify if it's same as cd2704
1447   ROM_LOAD( "tms0270_cd2704_output.pla", 0, 1246, CRC(5a2eb949) SHA1(8bb161d4884f229af65f8d155e59b9d8966fe3d1) ) // using the one from 1st version
14321448
14331449   ROM_REGION( 0x8000, "tms6100", ROMREGION_ERASEFF )
1434   ROM_LOAD( "cd2392.vsm", 0x0000, 0x4000, CRC(4ed2e920) SHA1(8896f29e25126c1e4d9a47c9a325b35dddecc61f) )
1435   ROM_LOAD( "cd2393.vsm", 0x4000, 0x4000, CRC(571d5b5a) SHA1(83284755d9b77267d320b5b87fdc39f352433715) )
1450   ROM_LOAD( "cd2392.vsm", 0x0000, 0x4000, CRC(4ed2e920) SHA1(8896f29e25126c1e4d9a47c9a325b35dddecc61f) ) // using the one from 1st version
1451   ROM_LOAD( "cd2393.vsm", 0x4000, 0x4000, CRC(571d5b5a) SHA1(83284755d9b77267d320b5b87fdc39f352433715) ) // "
14361452ROM_END
14371453
14381454
r253158r253159
15371553
15381554
15391555/*    YEAR  NAME        PARENT COMPAT MACHINE      INPUT       INIT                     COMPANY, FULLNAME, FLAGS */
1540COMP( 1978, snspell,    0,        0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1556COMP( 1979, snspell,    0,        0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, 1979 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15411557COMP( 1978, snspellp,   snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15421558COMP( 1980, snspellub,  snspell,  0, sns_tmc0281d, snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1543COMP( 1979, snspellua,  snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // incomplete dump, using 1979 MCU ROM instead
1544COMP( 1978, snspelluk,  snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // "
1559COMP( 1978, snspellua,  snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (US, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // incomplete dump, using 1979 MCU ROM instead
1560COMP( 1978, snspelluk,  snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (UK, 1978 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND ) // "
15451561COMP( 1981, snspelluka, snspell,  0, sns_cd2801,   snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (UK, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15461562COMP( 1979, snspelljp,  snspell,  0, sns_tmc0281,  snspell,    tispeak_state, snspell,  "Texas Instruments", "Speak & Spell (Japan)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1547COMP( 1980, snspellfr,  snspell,  0, sns_cd2801,   snspellfr,  tispeak_state, snspell,  "Texas Instruments", "La Dictee Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // doesn't work due to missing CD2702 MCU dump, German/Italian version has CD2702 too
1548COMP( 1982, snspellit,  snspell,  0, sns_cd2801_m, snspellit,  tispeak_state, snspell,  "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING ) // "
1563COMP( 1980, snspellfr,  snspell,  0, sns_cd2801,   snspellfr,  tispeak_state, snspell,  "Texas Instruments", "La Dictee Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1564COMP( 1982, snspellit,  snspell,  0, sns_cd2801_m, snspellit,  tispeak_state, snspell,  "Texas Instruments", "Grillo Parlante (Italy)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15491565
15501566COMP( 1981, snspellc,   0,        0, snspellc,     snspellc,   tispeak_state, snspell,  "Texas Instruments", "Speak & Spell Compact (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15511567COMP( 1982, snspellca,  snspellc, 0, snspellc,     snspellc,   tispeak_state, snspell,  "Texas Instruments", "Speak & Spell Compact (US, 1982 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15521568COMP( 1982, snspellcuk, snspellc, 0, snspellcuk,   snspellcuk, tispeak_state, snspell,  "Texas Instruments", "Speak & Write (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15531569
1554COMP( 1986, snmath,     0,        0, snmath,       snmath,     driver_device, 0,        "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1555COMP( 1980, snmathp,    snmath,   0, snmath,       snmath,     driver_device, 0,        "Texas Instruments", "Speak & Math (US, 1980 version/patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
1570COMP( 1980, snmath,     0,        0, snmath,       snmath,     driver_device, 0,        "Texas Instruments", "Speak & Math (US, 1980 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1571COMP( 1986, snmatha,    snmath,   0, snmath,       snmath,     driver_device, 0,        "Texas Instruments", "Speak & Math (US, 1986 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
1572COMP( 1980, snmathp,    snmath,   0, snmath,       snmath,     driver_device, 0,        "Texas Instruments", "Speak & Math (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_IS_INCOMPLETE )
15561573
15571574COMP( 1980, snread,     0,        0, snread,       snread,     tispeak_state, snspell,  "Texas Instruments", "Speak & Read (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND )
15581575
15591576COMP( 1979, lantutor,   0,        0, lantutor,     lantutor,   tispeak_state, lantutor, "Texas Instruments", "Language Tutor (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_NOT_WORKING )
15601577
1561COMP( 1981, tntell,     0,        0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (US, 1981 version)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK ) // assume there is an older version too, with CD8010 MCU
1562COMP( 1980, tntellp,    tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )
1578COMP( 1981, tntell,     0,        0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (US)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
1579COMP( 1980, tntellp,    tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (US, patent)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK | MACHINE_NOT_WORKING )
15631580COMP( 1981, tntelluk,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Touch & Tell (UK)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
15641581COMP( 1981, tntellfr,   tntell,   0, tntell,       tntell,     tispeak_state, tntell,   "Texas Instruments", "Le Livre Magique (France)", MACHINE_SUPPORTS_SAVE | MACHINE_IMPERFECT_SOUND | MACHINE_CLICKABLE_ARTWORK | MACHINE_REQUIRES_ARTWORK )
15651582
trunk/src/mame/mess.lst
r253158r253159
21422142
21432143// Fidelity
21442144cc10
2145cc7
21452146vcc      // VCC: Voice Chess Challenger (English)
21462147vccg     // * Spanish
21472148vccfr    // * German
r253158r253159
23442345snspellca
23452346snspellcuk
23462347snmath
2348snmatha
23472349snmathp
23482350snread
23492351lantutor


Previous 199869 Revisions Next


© 1997-2024 The MAME Team