Previous 199869 Revisions Next

r34024 Tuesday 23rd December, 2014 at 00:53:59 UTC by hap
tispeak: crafted many clones from the VSM roms dumped by Lord Nightmare (for now, they all share the same MCU rom)
[src/mess]mess.lst
[src/mess/drivers]tispeak.c

trunk/src/mess/drivers/tispeak.c
r242535r242536
1717
1818// The master clock is a single stage RC oscillator into TMS5100 RCOSC:
1919// C is 68pf, R is a 50kohm trimpot wich is set to 33.6kohm. CPUCLK is this/2, ROMCLK is this/4.
20// The osc freq curve is unknown. Let's assume it is set to the default frequency,
20// The typical osc freq curve for TMS5100 is unknown. Let's assume it is set to the default frequency,
2121// which is 640kHz according to the TMS5100 documentation.
2222
2323#define MASTER_CLOCK (640000)
r242535r242536
384384   save_item(NAME(m_power_on));
385385   
386386   // init cartridge
387   astring region_tag;
388   memory_region *src = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG));
389   if (src)
387   if (m_cart != NULL && m_cart->exists())
390388   {
391      UINT8 *dest_ptr = memregion("tms6100")->base() + 0x8000;
392      memcpy(dest_ptr, src->base(), src->bytes());
389      astring region_tag;
390      memory_region *src = memregion(region_tag.cpy(m_cart->tag()).cat(GENERIC_ROM_REGION_TAG));
391      if (src)
392      {
393         UINT8 *dest_ptr = memregion("tms6100")->base() + 0x8000;
394         memcpy(dest_ptr, src->base(), src->bytes());
395      }
393396   }
394397}
395398
r242535r242536
449452
450453ROM_START( snspell )
451454   ROM_REGION( 0x1000, "maincpu", 0 )
455   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
456
457   ROM_REGION( 1246, "maincpu:ipla", 0 )
458   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
459   ROM_REGION( 2127, "maincpu:mpla", 0 )
460   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // taken from cd2708, need to verify if it's same as tmc0271
461   ROM_REGION( 1246, "maincpu:opla", 0 )
462   ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
463
464   ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
465   ROM_LOAD( "tmc0351.vsm", 0x0000, 0x4000, CRC(beea3373) SHA1(8b0f7586d2f12c3d4a885fdb528cf23feffa1a3b) ) // cd2300
466   ROM_LOAD( "tmc0352.vsm", 0x4000, 0x4000, CRC(d51f0587) SHA1(ddaa484be1bba5fef46b481cafae517e4acaa8ed) ) // cd2301
467ROM_END
468
469ROM_START( snspella )
470   ROM_REGION( 0x1000, "maincpu", 0 )
471   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
472
473   ROM_REGION( 1246, "maincpu:ipla", 0 )
474   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
475   ROM_REGION( 2127, "maincpu:mpla", 0 )
476   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // placeholder, use the one we have
477   ROM_REGION( 1246, "maincpu:opla", 0 )
478   ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
479
480   ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
481   ROM_LOAD( "cd2350a.vsm", 0x0000, 0x4000, CRC(2adda742) SHA1(3f868ed8284b723c815a30343057e03467c043b5) )
482ROM_END
483
484ROM_START( snspellp )
485   ROM_REGION( 0x1000, "maincpu", 0 )
452486   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // typed in from patent 4189779, may have errors
453487
454488   ROM_REGION( 1246, "maincpu:ipla", 0 )
r242535r242536
463497   ROM_LOAD( "tmc0352.vsm", 0x4000, 0x4000, CRC(d51f0587) SHA1(ddaa484be1bba5fef46b481cafae517e4acaa8ed) )
464498ROM_END
465499
500ROM_START( snspelluk )
501   ROM_REGION( 0x1000, "maincpu", 0 )
502   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
503
504   ROM_REGION( 1246, "maincpu:ipla", 0 )
505   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
506   ROM_REGION( 2127, "maincpu:mpla", 0 )
507   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // taken from cd2708, need to verify if it's same as tmc0271
508   ROM_REGION( 1246, "maincpu:opla", 0 )
509   ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
510
511   ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // 8000-bfff = space reserved for cartridge
512   ROM_LOAD( "cd2303.vsm", 0x0000, 0x4000, CRC(0fae755c) SHA1(b68c3120a63a61db474feb5d71a6e5dd67910d80) )
513   ROM_LOAD( "cd2304.vsm", 0x4000, 0x4000, CRC(e2a270eb) SHA1(c13c95ad15f1923a4841f66504e0f22646e71d99) )
514ROM_END
515
516ROM_START( snspelluka )
517   ROM_REGION( 0x1000, "maincpu", 0 )
518   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
519
520   ROM_REGION( 1246, "maincpu:ipla", 0 )
521   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
522   ROM_REGION( 2127, "maincpu:mpla", 0 )
523   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // placeholder, use the one we have
524   ROM_REGION( 1246, "maincpu:opla", 0 )
525   ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) )
526
527   ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
528   ROM_LOAD( "cd62175.vsm", 0x0000, 0x4000, CRC(6e1063d4) SHA1(b5c66c51148c5921ecb8ffccd7a460ae639cdb68) )
529ROM_END
530
531ROM_START( ladictee )
532   ROM_REGION( 0x1000, "maincpu", 0 )
533   ROM_LOAD( "us4189779_tmc0271", 0x0000, 0x1000, BAD_DUMP CRC(d3f5a37d) SHA1(f75ab617a6067d4d3a954a9f86126d2089554df8) ) // placeholder, use the one we have
534
535   ROM_REGION( 1246, "maincpu:ipla", 0 )
536   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
537   ROM_REGION( 2127, "maincpu:mpla", 0 )
538   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // placeholder, use the one we have
539   ROM_REGION( 1246, "maincpu:opla", 0 )
540   ROM_LOAD( "tms0270_tmc0271_opla.pla", 0, 1246, BAD_DUMP CRC(9ebe12ab) SHA1(acb4e07ba26f2daca5f1c234885ac0371c7ce87f) ) // placeholder, use the one we have
541
542   ROM_REGION( 0xc000, "tms6100", ROMREGION_ERASEFF ) // uses only 1 rom, 8000-bfff = space reserved for cartridge
543   ROM_LOAD( "cd2352.vsm", 0x0000, 0x4000, CRC(181a239e) SHA1(e16043766c385e152b7005c1c010be4c5fccdd9b) )
544ROM_END
545
546
547
466548ROM_START( snmath )
467549   ROM_REGION( 0x1000, "maincpu", 0 )
550   ROM_LOAD( "us4946391_t2074", 0x0000, 0x1000, BAD_DUMP CRC(011f0c2d) SHA1(d2e14d72e03ca864abd51da78ffb71a9da82f624) ) // placeholder, use the one we have
551
552   ROM_REGION( 1246, "maincpu:ipla", 0 )
553   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
554   ROM_REGION( 2127, "maincpu:mpla", 0 )
555   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // placeholder, use the one we have
556   ROM_REGION( 1246, "maincpu:opla", 0 )
557   ROM_LOAD( "tms0270_cd2708_opla.pla", 0, 1246, BAD_DUMP CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) ) // placeholder, use the one we have
558
559   ROM_REGION( 0x8000, "tms6100", 0 )
560   ROM_LOAD( "cd2392.vsm", 0x0000, 0x4000, CRC(4ed2e920) SHA1(8896f29e25126c1e4d9a47c9a325b35dddecc61f) )
561   ROM_LOAD( "cd2393.vsm", 0x4000, 0x4000, CRC(571d5b5a) SHA1(83284755d9b77267d320b5b87fdc39f352433715) )
562ROM_END
563
564ROM_START( snmatha )
565   ROM_REGION( 0x1000, "maincpu", 0 )
566   ROM_LOAD( "us4946391_t2074", 0x0000, 0x1000, BAD_DUMP CRC(011f0c2d) SHA1(d2e14d72e03ca864abd51da78ffb71a9da82f624) ) // placeholder, use the one we have
567
568   ROM_REGION( 1246, "maincpu:ipla", 0 )
569   ROM_LOAD( "tms0980_default_ipla.pla", 0, 1246, CRC(42db9a38) SHA1(2d127d98028ec8ec6ea10c179c25e447b14ba4d0) )
570   ROM_REGION( 2127, "maincpu:mpla", 0 )
571   ROM_LOAD( "tms0270_cd2708_mpla.pla", 0, 2127, BAD_DUMP CRC(504b96bb) SHA1(67b691e7c0b97239410587e50e5182bf46475b43) ) // placeholder, use the one we have
572   ROM_REGION( 1246, "maincpu:opla", 0 )
573   ROM_LOAD( "tms0270_cd2708_opla.pla", 0, 1246, BAD_DUMP CRC(1abad753) SHA1(53d20b519ed73ce248368047a056836afbe3cd46) ) // placeholder, use the one we have
574
575   ROM_REGION( 0x8000, "tms6100", 0 )
576   ROM_LOAD( "cd2381.vsm", 0x0000, 0x4000, CRC(f048dc81) SHA1(e97667d1002de40ab3d702c63b82311480032e0f) )
577   ROM_LOAD( "cd2614.vsm", 0x4000, 0x1000, CRC(11989074) SHA1(0e9cf906de9bcdf4acb425535dc442846fc48fa2) )
578   ROM_RELOAD(             0x5000, 0x1000 )
579   ROM_RELOAD(             0x6000, 0x1000 )
580   ROM_RELOAD(             0x7000, 0x1000 )
581ROM_END
582
583ROM_START( snmathp )
584   ROM_REGION( 0x1000, "maincpu", 0 )
468585   // typed in from patent 4946391, verified with source code (mark BAD_DUMP just to be unsure)
469586   // BTANB note: Mix It does not work at all, this is an original bug in the prototype. There are probably other minor bugs too.
470587   ROM_LOAD( "us4946391_t2074", 0x0000, 0x1000, BAD_DUMP CRC(011f0c2d) SHA1(d2e14d72e03ca864abd51da78ffb71a9da82f624) )
r242535r242536
482599ROM_END
483600
484601
485COMP( 1978, snspell, 0, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (US, prototype)", GAME_NOT_WORKING )
486COMP( 1980, snmath,  0, 0, snmath,  snmath,  driver_device, 0, "Texas Instruments", "Speak & Math (US, prototype)", GAME_NOT_WORKING )
602
603COMP( 1978, snspell,    0,       0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (US set 1)", GAME_NOT_WORKING )
604COMP( 1980, snspella,   snspell, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (US set 2)", GAME_NOT_WORKING )
605COMP( 1978, snspellp,   snspell, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (US prototype)", GAME_NOT_WORKING )
606COMP( 1978, snspelluk,  snspell, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (UK set 1)", GAME_NOT_WORKING )
607COMP( 1981, snspelluka, snspell, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "Speak & Spell (UK set 2)", GAME_NOT_WORKING ) // different voice actor
608COMP( 1980, ladictee,   snspell, 0, snspell, snspell, driver_device, 0, "Texas Instruments", "La Dictee Magnifique (France)", GAME_NOT_WORKING ) // doesn't work, custom MCU ROM?
609
610COMP( 1980, snmath,     0,       0, snmath,  snmath,  driver_device, 0, "Texas Instruments", "Speak & Math (US set 1)", GAME_NOT_WORKING )
611COMP( 1986, snmatha,    snmath,  0, snmath,  snmath,  driver_device, 0, "Texas Instruments", "Speak & Math (US set 2)", GAME_NOT_WORKING )
612COMP( 1980, snmathp,    snmath,  0, snmath,  snmath,  driver_device, 0, "Texas Instruments", "Speak & Math (US prototype)", GAME_NOT_WORKING )
trunk/src/mess/mess.lst
r242535r242536
10641064
10651065// TI Speak & Spell
10661066snspell
1067snspellp
1068snspella
1069snspelluk
1070snspelluka
1071ladictee
10671072snmath
1073snmatha
1074snmathp
10681075
10691076// Texas Instruments Calculators
10701077tisr16    // 1974 SR-16


Previous 199869 Revisions Next


© 1997-2024 The MAME Team