Previous 199869 Revisions Next

r19302 Tuesday 4th December, 2012 at 02:37:14 UTC by Jonathan Gevaryahu
(MESS) New system marked as NOT WORKING: Yeno/Vtech Professor Weiss-Alles [Team Europe]
[src/mess]mess.lst
[src/mess/drivers]socrates.c

trunk/src/mess/mess.lst
r19301r19302
11291129laser350  // 1984? Laser 350
11301130laser500  // 1984? Laser 500
11311131laser700  // 1984? Laser 700
1132socrates  // 1988 Socrates Educational Video System
1133socratfc  // 1988 Socrates SAITOUT
1132socrates  // 1988 Socrates Educational Video System (USA)
1133socratfc  // 1988 Socrates SAITOUT (French Canada)
1134profweis  // 1988 (Yeno) Proffesor Weiss-Alles (Germany)
11341135gl8008cx
11351136iq128_fr // 1997 Genius PC (France) / Genius IQ 128 (Germany)
11361137iq128
trunk/src/mess/drivers/socrates.c
r19301r19302
953953   MCFG_SOFTWARE_LIST_ADD("cart_list", "socrates")
954954MACHINE_CONFIG_END
955955
956static MACHINE_CONFIG_START( socrates_pal, socrates_state )
957    /* basic machine hardware */
958    MCFG_CPU_ADD("maincpu", Z80, XTAL_26_601712MHz/6)  /* Toshiba TMPZ84C00AP @ 4.433 MHz? /6 or 7 or 8? TODO: verify divider!*/
959    MCFG_CPU_PROGRAM_MAP(z80_mem)
960    MCFG_CPU_IO_MAP(z80_io)
961    MCFG_QUANTUM_TIME(attotime::from_hz(50))
962   MCFG_CPU_VBLANK_INT_DRIVER("screen", socrates_state,  assert_irq)
963    //MCFG_MACHINE_START_OVERRIDE(socrates_state,socrates)
956964
965    /* video hardware */
966   MCFG_SCREEN_ADD("screen", RASTER)
967   MCFG_SCREEN_REFRESH_RATE(50)
968   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500)) /* not accurate */
969   MCFG_SCREEN_SIZE(264, 238) // technically the screen size is 256x228 but super painter abuses what I suspect is a hardware bug to display repeated pixels of the very last pixel beyond this horizontal space, well into hblank
970   MCFG_SCREEN_VISIBLE_AREA(0, 263, 0, 229) // the last few rows are usually cut off by the screen bottom but are indeed displayed if you mess with v-hold
971   MCFG_SCREEN_UPDATE_DRIVER(socrates_state, screen_update_socrates)
957972
973   MCFG_PALETTE_LENGTH(256)
974
975
976    /* sound hardware */
977   MCFG_SPEAKER_STANDARD_MONO("mono")
978   MCFG_SOUND_ADD("soc_snd", SOCRATES, XTAL_26_601712MHz/(512+256)) // TODO: verify divider for pal mode
979   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
980
981   MCFG_CARTSLOT_ADD("cart")
982   MCFG_CARTSLOT_EXTENSION_LIST("bin")
983   MCFG_CARTSLOT_NOT_MANDATORY
984   MCFG_CARTSLOT_INTERFACE("socrates_cart")
985
986   /* Software lists */
987   MCFG_SOFTWARE_LIST_ADD("cart_list", "socrates")
988MACHINE_CONFIG_END
989
990/* This doesn't work for some reason.
991static MACHINE_CONFIG_DERIVED( socrates_pal, socrates )
992   MCFG_CPU_REPLACE("maincpu", Z80, XTAL_26_601712MHz/8)
993   MCFG_SCREEN_REPLACE("screen", RASTER)
994   MCFG_SCREEN_REFRESH_RATE(50)
995   MCFG_SCREEN_VBLANK_TIME(ATTOSECONDS_IN_USEC(2500))
996   MCFG_SCREEN_SIZE(264, 256) // technically the screen size is 256x228 but super painter abuses what I suspect is a hardware bug to display repeated pixels of the very last pixel beyond this horizontal space, well into hblank
997   MCFG_SCREEN_VISIBLE_AREA(0, 263, 0, 256) // the last few rows are usually cut off by the screen bottom but are indeed displayed if you mess with v-hold
998   MCFG_SCREEN_UPDATE_DRIVER(socrates_state, screen_update_socrates)
999   MCFG_SOUND_REPLACE("soc_snd", SOCRATES, XTAL_26_601712MHz/(512+256)) // this is correct, as strange as it sounds.
1000   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "mono", 0.25)
1001MACHINE_CONFIG_END
1002*/
9581003/******************************************************************************
9591004 ROM Definitions
9601005******************************************************************************/
r19301r19302
10001045    ROM_REGION(0x10000, "vram", ROMREGION_ERASEFF) /* fill with ff, driver_init changes this to the 'correct' startup pattern */
10011046
10021047    ROM_REGION(0x800, "kbmcu", ROMREGION_ERASEFF)
1003    ROM_LOAD("tmp42c40p1844.bin", 0x000, 0x200, NO_DUMP) /* keyboard IR decoder MCU */
1048    ROM_LOAD("tmp42c40p1844.u2", 0x000, 0x200, NO_DUMP) /* keyboard IR decoder MCU */
10041049
10051050    /* english speech cart has a green QC sticker */
10061051    ROM_REGION(0x2000, "speechint", ROMREGION_ERASE00) // speech data inside of the speech chip; fill with 00, if no speech cart is present socrates will see this
r19301r19302
10221067    ROM_REGION(0x10000, "vram", ROMREGION_ERASEFF) /* fill with ff, driver_init changes this to the 'correct' startup pattern */
10231068
10241069    ROM_REGION(0x800, "kbmcu", ROMREGION_ERASEFF)
1025    ROM_LOAD("tmp42c40p1844.bin", 0x000, 0x200, NO_DUMP) /* keyboard IR decoder MCU */
1070    ROM_LOAD("tmp42c40p1844.u2", 0x000, 0x200, NO_DUMP) /* keyboard IR decoder MCU */
10261071
10271072    ROM_REGION(0x2000, "speechint", ROMREGION_ERASE00) // speech data inside of the speech chip; fill with 00, if no speech cart is present socrates will see this
10281073    ROM_LOAD_OPTIONAL("speech_fra_internal.bin", 0x0000, 0x2000, BAD_DUMP CRC(edc1fb3f) SHA1(78b4631fc3b1c038e14911047f9edd6c4e8bae58)) // probably same on french and english speech carts
r19301r19302
10341079    ROM_FILL(0xC000, 0x4000, 0xff) // last vsm isn't present, FF fill
10351080ROM_END
10361081
1082ROM_START(profweis)
1083    ROM_REGION(0x80000, "maincpu", ROMREGION_ERASEVAL(0xF3))
1084    /* Yeno Professor Weiss-Alles (German PAL) */
1085    ROM_LOAD("27-00885-001-000.u1", 0x00000, 0x40000, CRC(fcaf8850) SHA1(a99011ee6a1ef63461c00d062278951252f117db)) // Label: "(Vtech) 27-00884-001-000 // (C)1988 VIDEO TECHNOLOGY // 8911 D"
1086    ROM_CART_LOAD( "cart", 0x40000, 0x20000, 0 )
10371087
1088    ROM_REGION(0x10000, "vram", ROMREGION_ERASEFF) /* fill with ff, driver_init changes this to the 'correct' startup pattern */
10381089
1090    ROM_REGION(0x800, "kbmcu", ROMREGION_ERASEFF)
1091    ROM_LOAD("tmp42c40p1844.u2", 0x000, 0x200, NO_DUMP) /* keyboard IR decoder MCU */
1092
1093    ROM_REGION(0x2000, "speechint", ROMREGION_ERASE00) // speech data inside of the speech chip; fill with 00, if no speech cart is present socrates will see this
1094    ROM_LOAD_OPTIONAL("speech_ger_internal.bin", 0x0000, 0x2000, BAD_DUMP CRC(edc1fb3f) SHA1(78b4631fc3b1c038e14911047f9edd6c4e8bae58)) // probably same on french and english speech carts
1095
1096    ROM_REGION(0x10000, "speechext", ROMREGION_ERASE00) // speech serial modules outside of the speech chip but still on speech cart
1097    ROM_LOAD_OPTIONAL("speech_ger_vsm1.bin", 0x0000, 0x4000, NO_DUMP) // 16k in serial rom
1098    ROM_LOAD_OPTIONAL("speech_ger_vsm2.bin", 0x4000, 0x4000, NO_DUMP) // 16k in serial rom
1099    ROM_LOAD_OPTIONAL("speech_ger_vsm3.bin", 0x8000, 0x4000, NO_DUMP) // 16k in serial rom
1100    ROM_FILL(0xC000, 0x4000, 0xff) // last vsm isn't present, FF fill
1101ROM_END
1102
1103
1104
10391105/******************************************************************************
10401106 Drivers
10411107******************************************************************************/
r19301r19302
10431109/*    YEAR  NAME        PARENT      COMPAT  MACHINE     INPUT   INIT       COMPANY                     FULLNAME                            FLAGS */
10441110COMP( 1988, socrates,   0,          0,      socrates,   socrates, socrates_state, socrates, "Video Technology",        "Socrates Educational Video System", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // English NTSC
10451111COMP( 1988, socratfc,   socrates,   0,      socrates,   socrates, socrates_state, socrates, "Video Technology",        "Socrates SAITOUT", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // French Canandian NTSC
1046// Yeno Professor Weiss-Alles goes here (german PAL)
1112COMP( 1988, profweis,   socrates,   0,      socrates_pal,   socrates, socrates_state, socrates, "Video Technology/Yeno",        "Professor Weiss-Alles", GAME_NOT_WORKING | GAME_IMPERFECT_SOUND ) // German PAL
10471113// Yeno Professeur Saitout goes here (french SECAM)
10481114// ? goes here (spanish PAL)

Previous 199869 Revisions Next


© 1997-2024 The MAME Team