Previous 199869 Revisions Next

r36215 Tuesday 3rd March, 2015 at 09:16:22 UTC by Andrew Gardner
Merge pull request #144 from reedlove/patch-1

Fix TypeError exception in file2str (reedlove)
[src/mame]mame.lst
[src/mame/drivers]cubo.c megasys1.c peplus.c suna8.c
[src/mess/drivers]hh_pic16.c hh_tms1k.c hh_ucom4.c pasogo.c
[src/mess/layout]maniac.lay
[src/osd/modules/opengl]SDL1211_opengl.h osd_opengl.h
[src/osd/modules/render]draw13.c drawogl.c drawsdl.c
[src/osd/sdl]video.h
[src/osd/windows]video.c

trunk/src/mame/drivers/cubo.c
r244726r244727
1111   Title                | rev. | year
1212   ----------------------------------------------
1313   Candy Puzzle         |  1.0 | 1995
14   Double Strixx        |      | 1995
1415   Harem Challenge      |      | 1995
1516   Laser Quiz           |      | 1995
1617   Laser Quiz 2 "Italy" |  1.0 | 1995
r244726r244727
1819   Laser Strixx 2       |      | 1995
1920   Magic Premium        |  1.1 | 1996
2021   Laser Quiz France    |  1.0 | 1995
22   Laser Quiz Greece?   |      | 1995 *may exist
2123   Odeon Twister        |      | 199x
2224   Odeon Twister 2      |202.19| 1999
2325
trunk/src/mame/drivers/megasys1.c
r244726r244727
88To enter service mode in some games press service1+F3.
99
1010
11Year + Game                         System      Protection
12----------------------------------------------------------------------------
11Year + Game                       System    Protection
12---------------------------------------------------------------------
131388  Legend of Makai (World) /       Z
1414    Makai Densetsu  (Japan)         Z
1515    P-47  (World) /                 A
1616    P-47  (Japan) /                 A
1717    P-47  (Japan, Export)           A
1818    Kick Off (Japan)                A
19    Takeda Shingen (Japan)          A                 Encryption (key 1)
20    Ninja Kazan (World) /           A           Yes + Encryption (key 1)
21    Iga Ninjyutsuden (Japan)        A           Yes + Encryption (key 1)
2289  Astyanax          (World) /     A           Yes + Encryption (key 2)
23    The Lord of King  (Japan)       A           Yes + Encryption (key 2)
24    Hachoo!                         A           Yes + Encryption (key 2)
25    Jitsuryoku!! Pro Yakyuu (Japan) A           Yes + Encryption (key 2)
26    Plus Alpha                      A           Yes + Encryption (key 2)
27    Saint Dragon                    A           Yes + Encryption (key 1)
2890  RodLand  (World) /              A                 Encryption (key 3)
29    RodLand  (Japan)                A                 Encryption (key 2)
30    Phantasm        (Japan) /       A                 Encryption (key 1)
3191  Avenging Spirit (World)         B           Inputs
32    Earth Defense Force             B           Inputs
33    64th Street  (World) /          C       *   Inputs
34    64th Street  (Japan)            C       *   Inputs
3592  Soldam (Japan)                  A                 Encryption (key 2)
36    Big Striker                     C           Inputs
3793  Chimera Beast                   C       *   Inputs
38    Cybattler                       C           Inputs
39    Hayaoshi Quiz Ouza Ketteisen    B           Inputs
40    Peek-a-Boo!                     D           Inputs
41--------------------------------------------^-------------------------------
42                                            |
43                            The Priority Prom is missing for these games !
19    Takeda Shingen (Japan)          A             Encryption (key 1)
20    Ninja Kazan (World) /           A       Yes + Encryption (key 1)
21    Iga Ninjyutsuden (Japan)        A       Yes + Encryption (key 1)
2289  Astyanax          (World) /     A       Yes + Encryption (key 2)
23    The Lord of King  (Japan)       A       Yes + Encryption (key 2)
24    Hachoo!                         A       Yes + Encryption (key 2)
25    Jitsuryoku!! Pro Yakyuu (Japan) A       Yes + Encryption (key 2)
26    Plus Alpha                      A       Yes + Encryption (key 2)
27    Saint Dragon                    A       Yes + Encryption (key 1)
2890  RodLand  (World) /              A             Encryption (key 3)
29    RodLand  (Japan)                A             Encryption (key 2)
30    Phantasm        (Japan) /       A             Encryption (key 1)
3191  Avenging Spirit (World)         B       Inputs
32    Earth Defense Force             B       Inputs
33    64th Street  (World) /          C       Inputs
34    64th Street  (Japan)            C       Inputs
3592  Soldam (Japan)                  A             Encryption (key 2)
36    Big Striker                     C       Inputs
3793  Chimera Beast                   C       Inputs
38    Cybattler                       C       Inputs
39    Hayaoshi Quiz Ouza Ketteisen    B       Inputs
40    Peek-a-Boo!                     D       Inputs
41---------------------------------------------------------------------
4442
43NOTE: Chimera Beast is the game game missing a dump of it's priority PROM
4544
4645
4746Hardware    Main CPU    Sound CPU   Sound Chips
trunk/src/mame/drivers/peplus.c
r244726r244727
24912491   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
24922492ROM_END
24932493
2494ROM_START( pepp0158b ) /* Normal board : 4 of a Kind Bonus Poker (PP0158) */
2494ROM_START( pepp0158b ) /* Normal board : 4 of a Kind Bonus Poker (PP0158) - 04/16/94   @ IGT  L94-1044 */
24952495/*
24962496                                       5-K 2-4
24972497PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
r244726r244727
25012501     Programs Available: PP0158, X000158P
25022502*/
25032503   ROM_REGION( 0x10000, "maincpu", 0 )
2504   ROM_LOAD( "pp0158_813-a75.u68",   0x00000, 0x10000, CRC(b82cec15) SHA1(6ff8867e88d57cd1874388c9e6f5e0e6d96029e9) ) /* Game Version: A46, Library Version: A75 */
2504   ROM_LOAD( "pp0158_a0n-a23.u68",   0x00000, 0x10000, CRC(f3f9b6da) SHA1(1aedcb5257890c52c633357f8b96e72fe51158f8) ) /* Game Version: A0N, Library Version: A23, Video Lib ver A0Y */
25052505
25062506   ROM_REGION( 0x020000, "gfx1", 0 )
25072507   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
r244726r244727
25232523     Programs Available: PP0158, X000158P
25242524*/
25252525   ROM_REGION( 0x10000, "maincpu", 0 )
2526   ROM_LOAD( "pp0158_813-824.u68",   0x00000, 0x10000, CRC(b82cec15) SHA1(6ff8867e88d57cd1874388c9e6f5e0e6d96029e9) ) /* Game Version: 813, Library Version: 824 */
2527
2528   ROM_REGION( 0x020000, "gfx1", 0 )
2529   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
2530   ROM_LOAD( "mgo-cg2003.u73",  0x08000, 0x8000, CRC(add0afc4) SHA1(0519bf2f36cb67140933b2c533e625544f27d16b) )
2531   ROM_LOAD( "mbo-cg2003.u74",  0x10000, 0x8000, CRC(8649dec0) SHA1(0024d3a8fd85279552910b14b69b225bda93957f) )
2532   ROM_LOAD( "mxo-cg2003.u75",  0x18000, 0x8000, CRC(904631cd) SHA1(d280a2f16b51a04b3f601db3535980a765c60e6f) )
2533
2534   ROM_REGION( 0x100, "proms", 0 )
2535   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
2536ROM_END
2537
2538ROM_START( pepp0158d ) /* Normal board : 4 of a Kind Bonus Poker (PP0158) */
2539/*
2540                                       5-K 2-4
2541PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
2542------------------------------------------------------------------
2543  P77A      1    2    3    4    5   8  25  40  80  50 250    800
2544  % Range: 95.2-97.2%  Optimum: 99.2%  Hit Frequency: 45.5%
2545     Programs Available: PP0158, X000158P
2546
2547NOTE: While this is a 32K version, it does require DOOR OPEN cycling and isn't compatible with earlier non-plus boards
2548*/
2549   ROM_REGION( 0x10000, "maincpu", 0 )
25262550   ROM_LOAD( "pp0158_631-607.u68",   0x00000, 0x8000, CRC(5fe3498c) SHA1(f1405bf016d46904228cda88d8d94e2a956b2347) ) /* Game Version: 631, Library Version: 607, Video Lib Ver: 607 */
25272551   ROM_RELOAD(                       0x08000, 0x8000) /* 32K version built using earlier gaming libraries */
25282552
r244726r244727
26682692   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
26692693ROM_END
26702694
2671ROM_START( pepp0190 ) /* Normal board : Deuces Wild Poker (No Double-up) (PP0190) */
2695ROM_START( pepp0190 ) /* Normal board : Deuces Wild Poker (No Double-up) (PP0190) - 11/13/95   @ IGT  L99-0100 */
26722696/*
26732697                                        w/D     w/oD
26742698PayTable   3K   STR  FL  FH  4K  SF  5K  RF  4D  RF  (Bonus)
r244726r244727
26762700  P57A      1    2    3   4   4   8  10  20 200 250    800
26772701  % Range: 92.0-94.0%  Optimum: 96.0%  Hit Frequency: 44.5%
26782702     Programs Available: PP0417, X000417P, X000190P & PP0190 - Non Double-up Only
2703
2704NOTE: This later build works with CG1215 (and later Deuces Wild) graphics roms and is NOT compatible with CG773
26792705*/
26802706   ROM_REGION( 0x10000, "maincpu", 0 )
2707   ROM_LOAD( "pp0190_a47-a76.u68",   0x00000, 0x10000, CRC(974f9d7a) SHA1(8fe65c568246fbf97b20cd2b05cccb23022dff65) ) /* Game Version: A47, Library Version: A76 */
2708
2709   ROM_REGION( 0x020000, "gfx1", 0 )
2710   ROM_LOAD( "mro-cg1215.u72",   0x00000, 0x8000, CRC(425f57be) SHA1(6d53ae86bec7189a35671a7f691e101a2ed4d8c4) ) /*  06/09/93   @ IGT  L93-1585  */
2711   ROM_LOAD( "mgo-cg1215.u73",   0x08000, 0x8000, CRC(0f66cd94) SHA1(9ac0cd01aca87e045c4fd6045ed907a092d6b2ee) )
2712   ROM_LOAD( "mbo-cg1215.u74",   0x10000, 0x8000, CRC(10f89e44) SHA1(cdc34970b0325a24cfd5c187a4b4dbf42be8fc93) )
2713   ROM_LOAD( "mxo-cg1215.u75",   0x18000, 0x8000, CRC(73c24e43) SHA1(f09beaf374ad371db2701767ce6ac5bdb13c445a) )
2714
2715   ROM_REGION( 0x100, "proms", 0 )
2716   ROM_LOAD( "cap1215.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) )
2717ROM_END
2718
2719ROM_START( pepp0190a ) /* Normal board : Deuces Wild Poker (No Double-up) (PP0190) */
2720/*
2721                                        w/D     w/oD
2722PayTable   3K   STR  FL  FH  4K  SF  5K  RF  4D  RF  (Bonus)
2723------------------------------------------------------------
2724  P57A      1    2    3   4   4   8  10  20 200 250    800
2725  % Range: 92.0-94.0%  Optimum: 96.0%  Hit Frequency: 44.5%
2726     Programs Available: PP0417, X000417P, X000190P & PP0190 - Non Double-up Only
2727*/
2728   ROM_REGION( 0x10000, "maincpu", 0 )
26812729   ROM_LOAD( "pp0190_642-623.u68",   0x00000, 0x10000, CRC(3b8a3203) SHA1(33bd285def754df34f4815cd713e2ff599c74f11) ) /* Game Version: 642, Library Version: 623 */
26822730
26832731   ROM_REGION( 0x020000, "gfx1", 0 )
r244726r244727
26902738   ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) )
26912739ROM_END
26922740
2693ROM_START( pepp0190a ) /* Normal board : Deuces Wild Poker  (PP0190) - Multi Regional / Multi Currency - Tournament Mode capable */
2741ROM_START( pepp0190b ) /* Normal board : Deuces Wild Poker  (PP0190) - Multi Regional / Multi Currency - Tournament Mode capable */
26942742/*
26952743                                        w/D     w/oD
26962744PayTable   3K   STR  FL  FH  4K  SF  5K  RF  4D  RF  (Bonus)
r244726r244727
27782826   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
27792827ROM_END
27802828
2781ROM_START( pepp0203 ) /* Normal board : 4 of a Kind Bonus Poker (PP0203) */
2829ROM_START( pepp0203 ) /* Normal board : 4 of a Kind Bonus Poker (PP0203) - 10/23/95   @ IGT  L95-2446 */
27822830/*
27832831                                       5-K 2-4
27842832PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
r244726r244727
28682916   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
28692917ROM_END
28702918
2919ROM_START( pepp0203d ) /* Normal board : 4 of a Kind Bonus Poker (PP0203) */
2920/*
2921                                       5-K 2-4
2922PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
2923------------------------------------------------------------------
2924  P90A      1    2    3    4    5   7  25  40  80  50 250    800
2925  % Range: 94.0-96.0%  Optimum: 98.0%  Hit Frequency: 45.5%
2926     Programs Available: PP0203, X000203P, PP0590 & PP0409 - Non Double-up Only
2927
2928NOTE: While this is a 32K version, it does require DOOR OPEN cycling and isn't compatible with earlier non-plus boards
2929*/
2930   ROM_REGION( 0x10000, "maincpu", 0 )
2931   ROM_LOAD( "pp0203_631-607.u68",   0x00000, 0x8000, CRC(ad61ee10) SHA1(477d1b17c368ea194a460e839d7de4c2a9a256a4) ) /* Game Version: 631, Library Version: 607, Video Lib Ver: 607 */
2932   ROM_RELOAD(                       0x08000, 0x8000) /* 32K version built using earlier gaming libraries */
2933
2934   ROM_REGION( 0x020000, "gfx1", 0 )
2935   ROM_LOAD( "mro-cg740.u72",   0x00000, 0x8000, CRC(72667f6c) SHA1(89843f472cc0329317cfc643c63bdfd11234b194) )
2936   ROM_LOAD( "mgo-cg740.u73",   0x08000, 0x8000, CRC(7437254a) SHA1(bba166dece8af58da217796f81117d0b05752b87) )
2937   ROM_LOAD( "mbo-cg740.u74",   0x10000, 0x8000, CRC(92e8c33e) SHA1(05344664d6fdd3f4205c50fa4ca76fc46c18cf8f) )
2938   ROM_LOAD( "mxo-cg740.u75",   0x18000, 0x8000, CRC(ce4cbe0b) SHA1(4bafcd68be94a5deaae9661584fa0fc940b834bb) )
2939
2940   ROM_REGION( 0x100, "proms", 0 )
2941   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
2942ROM_END
2943
28712944ROM_START( pepp0219 ) /* Normal board : Standard Draw Poker - Auto Hold in Options (PP0219) */
28722945/*
28732946PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r244726r244727
37373810   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
37383811ROM_END
37393812
3740ROM_START( pepp0510 ) /* Normal board : Standard Draw Poker (PP0510) */
3813ROM_START( pepp0510 ) /* Normal board : Standard Draw Poker (PP0510) - 11-24-92   @ IGT  L92-1614 */
37413814/*
37423815PayTable   Js+  TP  3K  STR  FL  FH  4K  SF  RF  (Bonus)
37433816--------------------------------------------------------
r244726r244727
38343907     Programs Available: PP0515, X000515P & PP0539 - Non Double-up Only
38353908*/
38363909   ROM_REGION( 0x10000, "maincpu", 0 )
3837   ROM_LOAD( "pp0515_989-974.u68",   0x00000, 0x10000, CRC(bc9654ab) SHA1(ecf2401bfbfcfa22354cde517cf425a8db8ea961) ) /* Game Version: 989, Library Version: 974 */
3910   ROM_LOAD( "pp0515_a0n-a23.u68",   0x00000, 0x10000, CRC(76389889) SHA1(992fb7d3f296d1cecab75ab4cf13fff1b7a5cc11) ) /* Game Version: A0N, Library Version: A23, Video Lib ver: A0Y */
38383911
38393912   ROM_REGION( 0x020000, "gfx1", 0 )
38403913   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
r244726r244727
38563929     Programs Available: PP0515, X000515P & PP0539 - Non Double-up Only
38573930*/
38583931   ROM_REGION( 0x10000, "maincpu", 0 )
3932   ROM_LOAD( "pp0515_989-974.u68",   0x00000, 0x10000, CRC(bc9654ab) SHA1(ecf2401bfbfcfa22354cde517cf425a8db8ea961) ) /* Game Version: 989, Library Version: 974, Video Lib ver: A0Y */
3933
3934   ROM_REGION( 0x020000, "gfx1", 0 )
3935   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
3936   ROM_LOAD( "mgo-cg2003.u73",  0x08000, 0x8000, CRC(add0afc4) SHA1(0519bf2f36cb67140933b2c533e625544f27d16b) )
3937   ROM_LOAD( "mbo-cg2003.u74",  0x10000, 0x8000, CRC(8649dec0) SHA1(0024d3a8fd85279552910b14b69b225bda93957f) )
3938   ROM_LOAD( "mxo-cg2003.u75",  0x18000, 0x8000, CRC(904631cd) SHA1(d280a2f16b51a04b3f601db3535980a765c60e6f) )
3939
3940   ROM_REGION( 0x100, "proms", 0 )
3941   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
3942ROM_END
3943
3944ROM_START( pepp0515b ) /* Normal board : Double Bonus Poker (PP0515) */
3945/*
3946                                      5-K 2-4
3947PayTable   Js+  2PR  3K  STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
3948-----------------------------------------------------------------
3949  P324A     1    1    3   5    7  10  50  80 160  50 250    800
3950  % Range: 96.2-98.2%  Optimum: 100.2%  Hit Frequency: 43.3%
3951     Programs Available: PP0515, X000515P & PP0539 - Non Double-up Only
3952*/
3953   ROM_REGION( 0x10000, "maincpu", 0 )
38593954   ROM_LOAD( "pp0515_813-824.u68",   0x00000, 0x10000, CRC(6c06b0ea) SHA1(7907d10d7290080c33e46c9644f24d1d2fc6b3ff) ) /* Game Version: 813, Library Version: 824 */
38603955
38613956   ROM_REGION( 0x020000, "gfx1", 0 )
r244726r244727
39003995     Programs Available: PP0516, X000516P & PP0540 - Non Double-up Only
39013996*/
39023997   ROM_REGION( 0x10000, "maincpu", 0 )
3903   ROM_LOAD( "pp0516_974-a0y.u68",   0x00000, 0x10000, CRC(d9da6e13) SHA1(421678d9cb42daaf5b21074cc3900db914dd26cf) ) /* Game Version: 974, Library Version: A0Y */
3998   ROM_LOAD( "pp0516_989-974.u68",   0x00000, 0x10000, CRC(d9da6e13) SHA1(421678d9cb42daaf5b21074cc3900db914dd26cf) ) /* Game Version: 989, Library Version: 974 , Video Lib ver: A0Y*/
39043999
39054000   ROM_REGION( 0x020000, "gfx1", 0 )
39064001   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
r244726r244727
73447439   ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) )
73457440ROM_END
73467441
7442ROM_START( pex2111p ) /* Superboard : 4 of a Kind Bonus Poker (X002111P+XP000038) */
7443/*
7444                                     5-K  2-4            Seq
7445PayTable   Js+  2PR  3K  STR  FL  FH  4K  4K  4A  SF  RF  RF      (Bonus)
7446-------------------------------------------------------------------------
7447  ????     1     2    3   4    5   7  25  40  80  50 250 250  800 / 10000
7448  % Range: 92.6-94.6%  Optimum: 98.6%  Hit Frequency: 45.0%
7449     Programs Available: X002111P
7450
7451NOTE: Royal Flush bonus is 800 times max bet, Sequential Royal Flush is 10000 times max bet
7452*/
7453   ROM_REGION( 0x10000, "maincpu", 0 )
7454   ROM_LOAD( "xp000038.u67",   0x00000, 0x10000, CRC(8707ab9e) SHA1(3e00a2ad8017e1495c6d6fe900d0efa68a1772b8) ) /* 09/05/95   @ IGT  L95-2452 */
7455
7456   ROM_REGION( 0x10000, "user1", 0 )
7457   ROM_LOAD( "x002111p.u66",   0x00000, 0x10000, CRC(f19dd63e) SHA1(0fe16cd0c75a9759e34bf95ce428e5b2da236215) ) /* 4 of a Kind Bonus Poker with Seq. Royal Flush - 01/17/96   @ IGT  L96-0184 */
7458
7459   ROM_REGION( 0x020000, "gfx1", 0 )
7460   ROM_LOAD( "mro-cg2185.u77",  0x00000, 0x8000, CRC(7e64bd1a) SHA1(e988a380ee58078bf5bdc7747e83aed1393cfad8) ) /*  07/10/95   @ IGT  L95-1506  */
7461   ROM_LOAD( "mgo-cg2185.u78",  0x08000, 0x8000, CRC(d4127893) SHA1(75039c45ba6fd171a66876c91abc3191c7feddfc) )
7462   ROM_LOAD( "mbo-cg2185.u79",  0x10000, 0x8000, CRC(17dba955) SHA1(5f77379c88839b3a04e235e4fb0120c77e17b60e) )
7463   ROM_LOAD( "mxo-cg2185.u80",  0x18000, 0x8000, CRC(583eb3b1) SHA1(4a2952424969917fb1594698a779fe5a1e99bff5) )
7464
7465   ROM_REGION( 0x200, "proms", 0 )
7466   ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) )
7467ROM_END
7468
73477469ROM_START( pex2121p ) /* Superboard : Standard Draw Poker (X002121P+XP000038) */
73487470/*
73497471PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r244726r244727
90889210   ROM_LOAD( "x002066p.u66",   0x00000, 0x10000, CRC(01236011) SHA1(3edfee014705b3540386c5e42026ab93628b2597) ) /* Double Double Bonus Poker */
90899211
90909212   ROM_REGION( 0x10000, "user2", 0 )
9091   ROM_LOAD( "x000002p.u66",   0x00000, 0x10000, CRC(17cee391) SHA1(173e5775c3e887e16b4f0330d21873331dfb7c33) ) /* Standard Draw Poker */
9213   ROM_LOAD( "x002111p.u66",   0x00000, 0x10000, CRC(f19dd63e) SHA1(0fe16cd0c75a9759e34bf95ce428e5b2da236215) ) /* 4 of a Kind Bonus Poker with Seq. Royal Flush */
90929214
90939215   ROM_REGION( 0x10000, "user3", 0 )
90949216   ROM_LOAD( "x000536p.u66",   0x00000, 0x10000, CRC(0b18dc1b) SHA1(07350fe258441f8565bfd875342823149b7757f1) ) /* Joker Poker */
r244726r244727
91749296GAMEL(1987, pepp0158,  0,        peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 1)", 0, layout_pe_poker )
91759297GAMEL(1987, pepp0158a, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 2)", 0, layout_pe_poker )
91769298GAMEL(1987, pepp0158b, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 3)", 0, layout_pe_poker )
9177GAMEL(1987, pepp0158c, pepp0158, peplus,  peplus_poker, peplus_state, nonplus,  ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 4)", 0, layout_pe_poker )
9299GAMEL(1987, pepp0158c, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 4)", 0, layout_pe_poker )
9300GAMEL(1987, pepp0158d, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0158) 4 of a Kind Bonus Poker (set 5)", 0, layout_pe_poker )
91789301GAMEL(1987, pepp0159,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0159) Standard Draw Poker (International)", 0, layout_pe_poker )
91799302GAMEL(1987, pepp0171,  pepp0053, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0171) Joker Poker",                   0, layout_pe_poker )
91809303GAMEL(1987, pepp0171a, pepp0053, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0171) Joker Poker (International)",   0, layout_pe_poker )
91819304GAMEL(1987, pepp0178,  pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0178) 4 of a Kind Bonus Poker (Operator selectable special 4 of a Kind)", 0, layout_pe_poker )
91829305GAMEL(1987, pepp0188,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0188) Standard Draw Poker (set 1)",   0, layout_pe_poker )
91839306GAMEL(1987, pepp0188a, pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0188) Standard Draw Poker (set 2)",   0, layout_pe_poker )
9184GAMEL(1987, pepp0190,  pepp0055, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0190) Deuces Wild Poker",             0, layout_pe_poker )
9185GAMEL(1987, pepp0190a, pepp0055, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0190) Deuces Wild Poker (International)", 0, layout_pe_poker )
9307GAMEL(1987, pepp0190,  pepp0055, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0190) Deuces Wild Poker (set 1)",     0, layout_pe_poker )
9308GAMEL(1987, pepp0190a, pepp0055, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0190) Deuces Wild Poker (set 2)",     0, layout_pe_poker )
9309GAMEL(1987, pepp0190b, pepp0055, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0190) Deuces Wild Poker (International)", 0, layout_pe_poker )
91869310GAMEL(1987, pepp0197,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (set 1)",   0, layout_pe_poker )
91879311GAMEL(1987, pepp0197a, pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (set 2)",   0, layout_pe_poker )
91889312GAMEL(1987, pepp0197b, pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0197) Standard Draw Poker (set 3)",   0, layout_pe_poker )
r244726r244727
91909314GAMEL(1987, pepp0203a, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 2)", 0, layout_pe_poker )
91919315GAMEL(1987, pepp0203b, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 3)", 0, layout_pe_poker )
91929316GAMEL(1987, pepp0203c, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (International)", 0, layout_pe_poker )
9317GAMEL(1987, pepp0203d, pepp0158, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0203) 4 of a Kind Bonus Poker (set 4)", 0, layout_pe_poker )
91939318GAMEL(1987, pepp0219,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0219) Standard Draw Poker",           0, layout_pe_poker )
91949319GAMEL(1987, pepp0221,  pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0221) Standard Draw Poker (set 1)",   0, layout_pe_poker )
91959320GAMEL(1987, pepp0221a, pepp0002, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0221) Standard Draw Poker (set 2)",   0, layout_pe_poker )
r244726r244727
92369361GAMEL(1987, pepp0514b, pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0514) Double Bonus Poker (set 3)",    0, layout_pe_poker )
92379362GAMEL(1987, pepp0515,  pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0515) Double Bonus Poker (set 1)",    0, layout_pe_poker )
92389363GAMEL(1987, pepp0515a, pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0515) Double Bonus Poker (set 2)",    0, layout_pe_poker )
9364GAMEL(1987, pepp0515b, pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0515) Double Bonus Poker (set 3)",    0, layout_pe_poker )
92399365GAMEL(1987, pepp0516,  pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0516) Double Bonus Poker (set 1)",    0, layout_pe_poker )
92409366GAMEL(1987, pepp0516a, pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0516) Double Bonus Poker (set 2)",    0, layout_pe_poker )
92419367GAMEL(1987, pepp0516b, pepp0514, peplus,  peplus_poker, peplus_state, peplus,   ROT0,  "IGT - International Game Technology", "Player's Edge Plus (PP0516) Double Bonus Poker (International)", 0, layout_pe_poker )
r244726r244727
94009526GAMEL(1995, pex2068p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002068P+XP000038) Double Double Bonus Poker", 0, layout_pe_poker )
94019527GAMEL(1995, pex2069p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002069P+XP000038) Double Double Bonus Poker", 0, layout_pe_poker )
94029528GAMEL(1995, pex2070p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002070P+XP000038) Double Double Bonus Poker", 0, layout_pe_poker )
9529GAMEL(1995, pex2111p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002111P+XP000038) 4 of a Kind Bonus Poker (with Seq Royal Flush)", 0,layout_pe_poker )
94039530GAMEL(1995, pex2121p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002121P+XP000038) Standard Draw Poker", 0,layout_pe_poker )
94049531GAMEL(1995, pex2121pa, pex2121p,  peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002121P+XP000037) Standard Draw Poker", 0,layout_pe_poker )
94059532GAMEL(1995, pex2150p,  0,         peplus,  peplus_poker, peplus_state, peplussb, ROT0,  "IGT - International Game Technology", "Player's Edge Plus (X002150P+XP000038) 4 of a Kind Bonus Poker", 0,layout_pe_poker )
trunk/src/mame/drivers/suna8.c
r244726r244727
19551955   MCFG_CPU_IO_MAP(brickzn_io_map)
19561956   MCFG_CPU_VBLANK_INT_DRIVER("screen", suna8_state,  irq0_line_hold)  // nmi breaks ramtest but is needed!
19571957
1958   MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8)   /* Z0840006PSC - 3MHz better matches the tempo in the video */
1958   MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 4)   /* Z0840006PSC - 6MHz (measured) */
19591959   MCFG_CPU_PROGRAM_MAP(brickzn_sound_map)
19601960
1961   MCFG_CPU_ADD("pcm", Z80, SUNA8_MASTER_CLOCK / 4)    /* Z0840006PSC */
1961   MCFG_CPU_ADD("pcm", Z80, SUNA8_MASTER_CLOCK / 4)    /* Z0840006PSC - 6MHz (measured) */
19621962   MCFG_CPU_PROGRAM_MAP(brickzn_pcm_map)
19631963   MCFG_CPU_IO_MAP(brickzn_pcm_io_map)
19641964
r244726r244727
19831983   /* sound hardware */
19841984   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
19851985
1986   MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 6)
1986   MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 8)      // 3MHz (measured)
19871987   MCFG_YM3812_IRQ_HANDLER(INPUTLINE("audiocpu", 0))
19881988   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 1.0)
19891989   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 1.0)
19901990
1991   MCFG_SOUND_ADD("aysnd", AY8910, SUNA8_MASTER_CLOCK / 16)
1991   MCFG_SOUND_ADD("aysnd", AY8910, SUNA8_MASTER_CLOCK / 16)   // 1.5MHz (measured)
19921992   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.33)
19931993   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
19941994
trunk/src/mame/mame.lst
r244726r244727
1112411124pepp0158a       // (c) 1987 IGT - International Game Technology
1112511125pepp0158b       // (c) 1987 IGT - International Game Technology
1112611126pepp0158c       // (c) 1987 IGT - International Game Technology
11127pepp0158d       // (c) 1987 IGT - International Game Technology
1112711128pepp0159        // (c) 1987 IGT - International Game Technology
1112811129pepp0171        // (c) 1987 IGT - International Game Technology
1112911130pepp0171a       // (c) 1987 IGT - International Game Technology
r244726r244727
1113211133pepp0188a       // (c) 1987 IGT - International Game Technology
1113311134pepp0190        // (c) 1987 IGT - International Game Technology
1113411135pepp0190a       // (c) 1987 IGT - International Game Technology
11136pepp0190b       // (c) 1987 IGT - International Game Technology
1113511137pepp0197        // (c) 1987 IGT - International Game Technology
1113611138pepp0197a       // (c) 1987 IGT - International Game Technology
1113711139pepp0197b       // (c) 1987 IGT - International Game Technology
r244726r244727
1113911141pepp0203a       // (c) 1987 IGT - International Game Technology
1114011142pepp0203b       // (c) 1987 IGT - International Game Technology
1114111143pepp0203c       // (c) 1987 IGT - International Game Technology
11144pepp0203d       // (c) 1987 IGT - International Game Technology
1114211145pepp0219        // (c) 1987 IGT - International Game Technology
1114311146pepp0221        // (c) 1987 IGT - International Game Technology
1114411147pepp0221a       // (c) 1987 IGT - International Game Technology
r244726r244727
1118511188pepp0514b       // (c) 1987 IGT - International Game Technology
1118611189pepp0515        // (c) 1987 IGT - International Game Technology
1118711190pepp0515a       // (c) 1987 IGT - International Game Technology
11191pepp0515b       // (c) 1987 IGT - International Game Technology
1118811192pepp0516        // (c) 1987 IGT - International Game Technology
1118911193pepp0516a       // (c) 1987 IGT - International Game Technology
1119011194pepp0516b       // (c) 1987 IGT - International Game Technology
r244726r244727
1133711341pex2068p        // (c) 1995 IGT - International Game Technology
1133811342pex2069p        // (c) 1995 IGT - International Game Technology
1133911343pex2070p        // (c) 1995 IGT - International Game Technology
11344pex2111p        // (c) 1995 IGT - International Game Technology
1134011345pex2121p        // (c) 1995 IGT - International Game Technology
1134111346pex2121pa       // (c) 1995 IGT - International Game Technology
1134211347pex2150p        // (c) 1995 IGT - International Game Technology
trunk/src/mess/drivers/hh_pic16.c
r244726r244727
55  Collection of PIC16xx/16Cxx-driven dedicated handhelds or other simple devices
66
77
8  TODO:
9  - it doesn't work, emu/cpu/pic16c5x needs some love (dev note: hack to make it
10    playable: remove the TRIS masks)
11
812***************************************************************************/
913
1014#include "emu.h"
r244726r244727
2024   hh_pic16_state(const machine_config &mconfig, device_type type, const char *tag)
2125      : driver_device(mconfig, type, tag),
2226      m_maincpu(*this, "maincpu"),
23//      m_inp_matrix(*this, "IN"),
24      m_speaker(*this, "speaker")
27      m_inp_matrix(*this, "IN"),
28      m_speaker(*this, "speaker"),
29      m_display_wait(33),
30      m_display_maxy(1),
31      m_display_maxx(0)
2532   { }
2633
2734   // devices
2835   required_device<cpu_device> m_maincpu;
29//   optional_ioport_array<3> m_inp_matrix; // max 3
36   optional_ioport_array<2> m_inp_matrix; // max 2
3037   optional_device<speaker_sound_device> m_speaker;
3138
39   // misc common
40   UINT8 m_b;
41   UINT8 m_c;
42
3243   virtual void machine_start();
44
45   // display common
46   int m_display_wait;
47   int m_display_maxy;
48   int m_display_maxx;
49   
50   UINT32 m_display_state[0x20];
51   UINT32 m_display_cache[0x20];
52   UINT8 m_display_decay[0x20][0x20];
53   UINT16 m_7seg_mask[0x20];
54
55   TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
56   void display_update();
57   void display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety);
58
59   // game-specific handlers
60   DECLARE_WRITE8_MEMBER(maniac_output_w);
3361};
3462
3563
3664void hh_pic16_state::machine_start()
3765{
66   // zerofill
67   memset(m_display_state, 0, sizeof(m_display_state));
68   memset(m_display_cache, 0, sizeof(m_display_cache));
69   memset(m_display_decay, 0, sizeof(m_display_decay));
70   memset(m_7seg_mask, 0, sizeof(m_7seg_mask));
71   
72   m_b = 0;
73   m_c = 0;
74
75   // register for savestates
76   save_item(NAME(m_display_maxy));
77   save_item(NAME(m_display_maxx));
78   save_item(NAME(m_display_wait));
79
80   save_item(NAME(m_display_state));
81   save_item(NAME(m_display_cache));
82   save_item(NAME(m_display_decay));
83   save_item(NAME(m_7seg_mask));
84
85   save_item(NAME(m_b));
86   save_item(NAME(m_c));
3887}
3988
4089
4190
91/***************************************************************************
4292
93  Helper Functions
4394
95***************************************************************************/
4496
97// The device may strobe the outputs very fast, it is unnoticeable to the user.
98// To prevent flickering here, we need to simulate a decay.
99
100void hh_pic16_state::display_update()
101{
102   UINT32 active_state[0x20];
103
104   for (int y = 0; y < m_display_maxy; y++)
105   {
106      active_state[y] = 0;
107
108      for (int x = 0; x < m_display_maxx; x++)
109      {
110         // turn on powered segments
111         if (m_display_state[y] >> x & 1)
112            m_display_decay[y][x] = m_display_wait;
113
114         // determine active state
115         int ds = (m_display_decay[y][x] != 0) ? 1 : 0;
116         active_state[y] |= (ds << x);
117      }
118   }
119
120   // on difference, send to output
121   for (int y = 0; y < m_display_maxy; y++)
122      if (m_display_cache[y] != active_state[y])
123      {
124         if (m_7seg_mask[y] != 0)
125            output_set_digit_value(y, active_state[y] & m_7seg_mask[y]);
126
127         const int mul = (m_display_maxx <= 10) ? 10 : 100;
128         for (int x = 0; x < m_display_maxx; x++)
129            output_set_lamp_value(y * mul + x, active_state[y] >> x & 1);
130      }
131
132   memcpy(m_display_cache, active_state, sizeof(m_display_cache));
133}
134
135TIMER_DEVICE_CALLBACK_MEMBER(hh_pic16_state::display_decay_tick)
136{
137   // slowly turn off unpowered segments
138   for (int y = 0; y < m_display_maxy; y++)
139      for (int x = 0; x < m_display_maxx; x++)
140         if (!(m_display_state[y] >> x & 1) && m_display_decay[y][x] != 0)
141            m_display_decay[y][x]--;
142   
143   display_update();
144}
145
146void hh_pic16_state::display_matrix(int maxx, int maxy, UINT32 setx, UINT32 sety)
147{
148   m_display_maxx = maxx;
149   m_display_maxy = maxy;
150
151   // update current state
152   UINT32 mask = (1 << maxx) - 1;
153   for (int y = 0; y < maxy; y++)
154      m_display_state[y] = (sety >> y & 1) ? (setx & mask) : 0;
155   
156   display_update();
157}
158
159
160
45161/***************************************************************************
46162
47163  Minidrivers (I/O, Inputs, Machine Config)
r244726r244727
51167/***************************************************************************
52168
53169  Ideal Maniac, by Ralph Baer
54  * PIC1655-036
170  * PIC1655A-036
55171
56172
57173***************************************************************************/
58174
175WRITE8_MEMBER(hh_pic16_state::maniac_output_w)
176{
177   // B,C: outputs
178   offset -= PIC16C5x_PORTB;
179   if (offset)
180      m_c = data;
181   else
182      m_b = data;
183   
184   // d7: speaker out/enable
185   m_speaker->level_w((m_b & m_c) >> 7 & 1);
59186
187   // d0-d6: 7seg
188   m_display_maxx = 7;
189   m_display_maxy = 2;
190   
191   m_7seg_mask[offset] = 0x7f;
192   m_display_state[offset] = ~data & 0x7f;
193   display_update();
194}
195
196
60197static INPUT_PORTS_START( maniac )
198   PORT_START("IN.0") // port A
199   PORT_BIT( 0x01, IP_ACTIVE_LOW, IPT_BUTTON1 ) // bottom-right
200   PORT_BIT( 0x02, IP_ACTIVE_LOW, IPT_BUTTON2 ) // upper-right
201   PORT_BIT( 0x04, IP_ACTIVE_LOW, IPT_BUTTON3 ) // bottom-left
202   PORT_BIT( 0x08, IP_ACTIVE_LOW, IPT_BUTTON4 ) // upper-left
61203INPUT_PORTS_END
62204
63205
64206static MACHINE_CONFIG_START( maniac, hh_pic16_state )
65207
66208   /* basic machine hardware */
67   MCFG_CPU_ADD("maincpu", PIC16C55, 500000)
209   MCFG_CPU_ADD("maincpu", PIC16C55, 850000) // RC osc. R=13.4K, C=470pf, but unknown RC curve - measured 800-890kHz
210   MCFG_PIC16C5x_READ_A_CB(IOPORT("IN.0"))
211   MCFG_PIC16C5x_WRITE_B_CB(WRITE8(hh_pic16_state, maniac_output_w))
212   MCFG_PIC16C5x_WRITE_C_CB(WRITE8(hh_pic16_state, maniac_output_w))
213   MCFG_PIC16C5x_SET_CONFIG(0) // ?
68214
215   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1))
69216   MCFG_DEFAULT_LAYOUT(layout_maniac)
70217
71218   /* no video! */
r244726r244727
78225
79226
80227
228
229
230/***************************************************************************
231
232  Game driver(s)
233
234***************************************************************************/
235
81236ROM_START( maniac )
82237   ROM_REGION( 0x0800, "maincpu", 0 )
83   ROM_LOAD( "1655-036", 0x0000, 0x0400, CRC(a96f7011) SHA1(e97ae44d3c1e74c7e1024bb0bdab03eecdc9f827) )
238   ROM_LOAD( "pic1655a-036", 0x0000, 0x0400, CRC(a96f7011) SHA1(e97ae44d3c1e74c7e1024bb0bdab03eecdc9f827) )
84239ROM_END
85240
86241
87CONS( 1979, maniac, 0, 0, maniac, maniac, driver_device, 0, "Ideal", "Maniac", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
242
243/*    YEAR  NAME       PARENT COMPAT MACHINE INPUT   INIT              COMPANY, FULLNAME, FLAGS */
244CONS( 1979, maniac,    0,        0, maniac,  maniac, driver_device, 0, "Ideal", "Maniac", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
trunk/src/mess/drivers/hh_tms1k.c
r244726r244727
5050  TODO:
5151  - verify output PLA and microinstructions PLA for MCUs that have been dumped
5252    electronically (mpla is usually the default, opla is often custom)
53  - unknown MCU clocks for some
53  - unknown MCU clocks for some: TMS1000 and TMS1100 RC curve is documented in
54    the data manual, but for TMS1400 it's unknown. TMS0970/0980 osc. is on-die.
5455  - some of the games rely on the fact that faster(longer) strobed leds appear
5556    brighter: tc4(offensive players), bankshot(cue ball)
5657  - add softwarelist for tc4 cartridges?
r244726r244727
250251   lDP = 0x80
251252};
252253
253// The device strobes the outputs very fast, it is unnoticeable to the user.
254// The device may strobe the outputs very fast, it is unnoticeable to the user.
254255// To prevent flickering here, we need to simulate a decay.
255256
256257void hh_tms1k_state::display_update()
r244726r244727
22612262
22622263
22632264
2264CONS( 1980, mathmagi, 0, 0, mathmagi, mathmagi, driver_device, 0, "APF Electronics Inc.", "Mathemagician", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
2265/*    YEAR  NAME       PARENT COMPAT MACHINE   INPUT      INIT              COMPANY, FULLNAME, FLAGS */
2266CONS( 1980, mathmagi,  0,        0, mathmagi,  mathmagi,  driver_device, 0, "APF Electronics Inc.", "Mathemagician", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
22652267
2266CONS( 1979, amaztron, 0, 0, amaztron, amaztron, driver_device, 0, "Coleco", "Amaze-A-Tron", GAME_SUPPORTS_SAVE )
2267CONS( 1981, tc4, 0, 0, tc4, tc4, driver_device, 0, "Coleco", "Total Control 4", GAME_SUPPORTS_SAVE )
2268CONS( 1979, amaztron,  0,        0, amaztron,  amaztron,  driver_device, 0, "Coleco", "Amaze-A-Tron", GAME_SUPPORTS_SAVE )
2269CONS( 1981, tc4,       0,        0, tc4,       tc4,       driver_device, 0, "Coleco", "Total Control 4", GAME_SUPPORTS_SAVE )
22682270
2269CONS( 1978, ebball, 0, 0, ebball, ebball, driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE )
2271CONS( 1978, ebball,    0,        0, ebball,    ebball,    driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE ) // or 1979?
22702272
2271CONS( 1979, elecdet, 0, 0, elecdet, elecdet, driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE )
2273CONS( 1979, elecdet,   0,        0, elecdet,   elecdet,   driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE ) // unplayable without game cards
22722274
2273CONS( 1979, starwbc,  0,       0, starwbc, starwbc, driver_device, 0, "Kenner", "Star Wars - Electronic Battle Command", GAME_SUPPORTS_SAVE )
2274CONS( 1979, starwbcp, starwbc, 0, starwbc, starwbc, driver_device, 0, "Kenner", "Star Wars - Electronic Battle Command (prototype)", GAME_SUPPORTS_SAVE )
2275CONS( 1979, starwbc,   0,        0, starwbc,   starwbc,   driver_device, 0, "Kenner", "Star Wars - Electronic Battle Command", GAME_SUPPORTS_SAVE )
2276CONS( 1979, starwbcp,  starwbc,  0, starwbc,   starwbc,   driver_device, 0, "Kenner", "Star Wars - Electronic Battle Command (prototype)", GAME_SUPPORTS_SAVE )
22752277
2276CONS( 1977, comp4, 0, 0, comp4, comp4, driver_device, 0, "Milton Bradley", "Comp IV", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
2277CONS( 1978, simon, 0, 0, simon, simon, driver_device, 0, "Milton Bradley", "Simon (Rev. A)", GAME_SUPPORTS_SAVE )
2278CONS( 1977, comp4,     0,        0, comp4,     comp4,     driver_device, 0, "Milton Bradley", "Comp IV", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
2279CONS( 1978, simon,     0,        0, simon,     simon,     driver_device, 0, "Milton Bradley", "Simon (Rev. A)", GAME_SUPPORTS_SAVE )
22782280
2279CONS( 1977, cnsector, 0, 0, cnsector, cnsector, driver_device, 0, "Parker Brothers", "Code Name: Sector", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
2280CONS( 1978, merlin, 0, 0, merlin, merlin, driver_device, 0, "Parker Brothers", "Merlin", GAME_SUPPORTS_SAVE )
2281CONS( 1979, stopthie,  0,        0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", GAME_SUPPORTS_SAVE )
2281CONS( 1977, cnsector,  0,        0, cnsector,  cnsector,  driver_device, 0, "Parker Brothers", "Code Name: Sector", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW ) // unplayable without writing board
2282CONS( 1978, merlin,    0,        0, merlin,    merlin,    driver_device, 0, "Parker Brothers", "Merlin", GAME_SUPPORTS_SAVE )
2283CONS( 1979, stopthie,  0,        0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner)", GAME_SUPPORTS_SAVE ) // unplayable without game board
22822284CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (prototype)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
2283CONS( 1980, bankshot, 0, 0, bankshot, bankshot, driver_device, 0, "Parker Brothers", "Bank Shot - Electronic Pool", GAME_SUPPORTS_SAVE )
2284CONS( 1980, splitsec, 0, 0, splitsec, splitsec, driver_device, 0, "Parker Brothers", "Split Second", GAME_SUPPORTS_SAVE )
2285CONS( 1980, bankshot,  0,        0, bankshot,  bankshot,  driver_device, 0, "Parker Brothers", "Bank Shot - Electronic Pool", GAME_SUPPORTS_SAVE )
2286CONS( 1980, splitsec,  0,        0, splitsec,  splitsec,  driver_device, 0, "Parker Brothers", "Split Second", GAME_SUPPORTS_SAVE )
22852287
2286CONS( 1981, tandy12, 0, 0, tandy12, tandy12, driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", GAME_SUPPORTS_SAVE )
2288CONS( 1981, tandy12,   0,        0, tandy12,   tandy12,   driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", GAME_SUPPORTS_SAVE ) // partially unplayable without cards/dice/..
22872289
2288CONS( 1978, unk3403, 0, 0, unk3403, unk3403, driver_device, 0, "<unknown>", "unknown TMS1100 electronic game", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
2290CONS( 1978, unk3403,   0,        0, unk3403,   unk3403,  driver_device, 0, "<unknown>", "unknown TMS1100 electronic game", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
trunk/src/mess/drivers/hh_ucom4.c
r244726r244727
134134
135135***************************************************************************/
136136
137// The device strobes the outputs very fast, it is unnoticeable to the user.
137// The device may strobe the outputs very fast, it is unnoticeable to the user.
138138// To prevent flickering here, we need to simulate a decay.
139139
140140void hh_ucom4_state::display_update()
r244726r244727
231231
232232  NOTE!: MESS external artwork is recommended
233233
234
235234***************************************************************************/
236235
237236WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
r244726r244727
456455  - USA: Pac Man
457456  - UK: Puckman (Tomy), and also published by Grandstand as Munchman
458457  - Australia: Pac Man-1, published by Futuretronics
458 
459  The game will start automatically after turning it on. This Pac Man refuses
460  to eat dots with his butt, you can only eat them going right-to-left.
459461
460462  NOTE!: MESS external artwork is recommended
461463
r244726r244727
694696
695697
696698
697CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
699/*    YEAR  NAME       PARENT COMPAT MACHINE  INPUT     INIT              COMPANY, FULLNAME, FLAGS */
700CONS( 1982, edracula,  0,        0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
698701
699CONS( 1980, tmtennis, 0, 0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
700CONS( 1982, tmpacman, 0, 0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
701CONS( 1984, alnchase, 0, 0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
702CONS( 1980, tmtennis,  0,        0, tmtennis, tmtennis, driver_device, 0, "Tomy", "Tennis (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
703CONS( 1982, tmpacman,  0,        0, tmpacman, tmpacman, driver_device, 0, "Tomy", "Pac Man (Tomy)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
704CONS( 1984, alnchase,  0,        0, alnchase, alnchase, driver_device, 0, "Tomy", "Alien Chase", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
trunk/src/mess/drivers/pasogo.c
r244726r244727
465465   PORT_BIT(0x80, IP_ACTIVE_LOW, IPT_OTHER) PORT_NAME("b") PORT_CODE(KEYCODE_B)
466466INPUT_PORTS_END
467467
468static const unsigned char pasogo_palette[][3] =
469{
470   { 0, 0, 0 },
471   { 45,45,43 },
472   { 130, 159, 166 },
473   { 255,255,255 }
474};
475
476468PALETTE_INIT_MEMBER(pasogo_state, pasogo)
477469{
478   int i;
479
480   for ( i = 0; i < ARRAY_LENGTH(pasogo_palette); i++ )
481   {
482      palette.set_pen_color(i, pasogo_palette[i][0], pasogo_palette[i][1], pasogo_palette[i][2]);
483   }
470   palette.set_pen_color(0, rgb_t(160, 190, 170));
471   palette.set_pen_color(1, rgb_t(40, 50, 70));
484472}
485473
486474
487475UINT32 pasogo_state::screen_update_pasogo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
488476{
489   //static int width = -1, height = -1;
490   UINT8 *rom = (UINT8 *)m_vram.target();
491   static const UINT16 c[] = { 3, 0 };
492   int x,y;
493//  plot_box(bitmap, 0, 0, 64/*bitmap.width*/, bitmap.height, 0);
494   int w = 640;
495   int h = 240;
496   if (0)
477   UINT8 *vram = (UINT8 *)m_vram.target();
478   int x, y;
479   for (y=0; y<240; y++)
497480   {
498      w = 320;
499      h = 240;
500      for (y=0; y<h; y++)
481      for (x=0; x<(320/8); x++)
501482      {
502         for (x=0; x<w; x+=4)
503         {
504            int a = (y & 1) * 0x2000;
505            UINT8 d = rom[a + (y & ~1) * 80/2 + x/4];
506            UINT16 *line = &bitmap.pix16(y, x);
507            *line++ = (d >> 6) & 3;
508            *line++ = (d >> 4) & 3;
509            *line++ = (d >> 2) & 3;
510            *line++ = (d >> 0) & 3;
511         }
483         int a = (y & 3) * 0x2000;
484         UINT8 d1 = vram[a + (y >> 2) * 80 + x];
485         UINT16 *line = &bitmap.pix16(y, x << 3);
486         *line++ = ((d1 >> 7) & 1);
487         *line++ = ((d1 >> 6) & 1);
488         *line++ = ((d1 >> 5) & 1);
489         *line++ = ((d1 >> 4) & 1);
490         *line++ = ((d1 >> 3) & 1);
491         *line++ = ((d1 >> 2) & 1);
492         *line++ = ((d1 >> 1) & 1);
493         *line++ = ((d1 >> 0) & 1);
512494      }
513495   }
514   else
515   {
516      for (y=0; y<h; y++)
517      {
518         for (x=0; x<w; x+=8)
519         {
520            int a = (y & 3) * 0x2000;
521            UINT8 d = rom[a + (y & ~3) * 80/4 + x/8];
522            UINT16 *line = &bitmap.pix16(y, x);
523            *line++ = c[(d >> 7) & 1];
524            *line++ = c[(d >> 6) & 1];
525            *line++ = c[(d >> 5) & 1];
526            *line++ = c[(d >> 4) & 1];
527            *line++ = c[(d >> 3) & 1];
528            *line++ = c[(d >> 2) & 1];
529            *line++ = c[(d >> 1) & 1];
530            *line++ = c[(d >> 0) & 1];
531         }
532      }
533   }
534#if 0
535   if (w!=width || h!=height)
536   {
537      width = w; height = h;
538//      machine().first_screen()->set_visible_area(0, width - 1, 0, height - 1);
539      screen.set_visible_area(0, width - 1, 0, height - 1);
540   }
541#endif
542496   return 0;
543497}
544498
r244726r244727
582536   // The carts use vg230 specific registers and mostly ignore the mc6845.
583537   MCFG_SCREEN_ADD("screen", LCD)
584538   MCFG_SCREEN_REFRESH_RATE(60)
585   MCFG_SCREEN_SIZE(640, 400)
586   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
539   MCFG_SCREEN_SIZE(320, 240)
540   MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
587541   MCFG_SCREEN_UPDATE_DRIVER(pasogo_state, screen_update_pasogo)
588542   MCFG_SCREEN_PALETTE("palette")
589   MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(pasogo_palette))
543   MCFG_PALETTE_ADD("palette", 2)
590544   MCFG_PALETTE_INIT_OWNER(pasogo_state, pasogo)
591545
592546   MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pasogo_cart")
trunk/src/mess/layout/maniac.lay
r244726r244727
55
66   <element name="static_black"><rect><color red="0.0" green="0.0" blue="0.0" /></rect></element>
77
8   <element name="digit" defstate="0">
9      <led7seg><color red="1.0" green="0.2" blue="0.2" /></led7seg>
10   </element>
811
12
13
914<!-- build screen -->
1015
1116   <view name="Internal Layout">
12      <bounds left="0" right="64" top="0" bottom="64" />
17      <bounds left="0" right="25" top="0" bottom="25" />
1318      <bezel element="static_black">
14         <bounds left="0" right="64" top="0" bottom="64" />
19         <bounds left="0" right="25" top="0" bottom="25" />
1520      </bezel>
1621
22      <bezel name="digit0" element="digit"><bounds x="2.5" y="5" width="10" height="15" /></bezel>
23      <bezel name="digit1" element="digit"><bounds x="12.5" y="5" width="10" height="15" /></bezel>
1724
25
1826   </view>
1927</mamelayout>
trunk/src/osd/modules/opengl/SDL1211_opengl.h
r244726r244727
2222
2323/* This is a simple file to encapsulate the OpenGL API headers */
2424
25#include <SDL/SDL_config.h>
25//#include <SDL/SDL_config.h>
2626
2727#ifdef __WIN32__
2828#define WIN32_LEAN_AND_MEAN
trunk/src/osd/modules/opengl/osd_opengl.h
r244726r244727
1616    * #include <GL/glext.h>
1717    */
1818   #ifdef OSD_WINDOWS
19   #include "GL/gl.h"
20   #include "GL/glext.h"
19      #ifdef _MSC_VER
20         #include <windows.h>
21         #include "SDL1211_opengl.h"
22      #else
23         #include "GL/gl.h"
24         #include "GL/glext.h"
25      #endif
26      #ifndef USE_DISPATCH_GL
27      #include "GL/wglext.h"
28      #endif
2129   #else
2230   #if (SDLMAME_SDL2)
2331   #include <SDL2/SDL_version.h>
trunk/src/osd/modules/render/draw13.c
r244726r244727
136136//  TEXCOPY FUNCS
137137//============================================================
138138
139enum SDL_TEXFORMAT_E
140{
141   SDL_TEXFORMAT_ARGB32 = 0,
142   SDL_TEXFORMAT_RGB32,
143   SDL_TEXFORMAT_RGB32_PALETTED,
144   SDL_TEXFORMAT_YUY16,
145   SDL_TEXFORMAT_YUY16_PALETTED,
146   SDL_TEXFORMAT_PALETTE16,
147   SDL_TEXFORMAT_RGB15,
148   SDL_TEXFORMAT_RGB15_PALETTED,
149   SDL_TEXFORMAT_PALETTE16A,
150   SDL_TEXFORMAT_PALETTE16_ARGB1555,
151   SDL_TEXFORMAT_RGB15_ARGB1555,
152   SDL_TEXFORMAT_RGB15_PALETTED_ARGB1555,
153   SDL_TEXFORMAT_LAST = SDL_TEXFORMAT_RGB15_PALETTED_ARGB1555
154};
155
139156#include "blit13.h"
140157
141158/* sdl_info is the information about SDL for the current screen */
142159class sdl_info13 : public osd_renderer
143160{
144161public:
145   sdl_info13(osd_window *w)
146   : osd_renderer(w, FLAG_NONE), m_sdl_renderer(NULL), m_blittimer(0),
162   sdl_info13(osd_window *w, int extra_flags)
163   : osd_renderer(w, extra_flags), m_sdl_renderer(NULL), m_blittimer(0),
147164      m_last_hofs(0), m_last_vofs(0),
148165      m_width(0), m_height(0),
149166      m_blit_dim(0,0),
r244726r244727
242259//  STATIC VARIABLES
243260//============================================================
244261
245#define SDL_TEXFORMAT_LAST SDL_TEXFORMAT_PALETTE16A
246262#define BM_ALL (-1)
247263//( SDL_BLENDMODE_MASK | SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD)
248264
r244726r244727
329345{ -1 },
330346};
331347
332static copy_info_t *blit_info[SDL_TEXFORMAT_LAST+1];
348static copy_info_t *blit_info[SDL_TEXFORMAT_LAST+1] = { NULL };
349static bool blit_info_initialized = false;
333350
334351//============================================================
335352//  INLINES
r244726r244727
512529
513530static osd_renderer *drawsdl2_create(osd_window *window)
514531{
515   return global_alloc(sdl_info13(window));
532   if (!blit_info_initialized)
533   {
534      /* On OSX, calling this from drawsdl2_init will
535       * prohibit fullscreen toggling. It is than not possible
536       * to toggle from fullscreen to window mode.
537       */
538      expand_copy_info(blit_info_default);
539      blit_info_initialized = true;
540
541   }
542   return global_alloc(sdl_info13(window, osd_renderer::FLAG_NONE));
516543}
517544
518545// FIXME: machine only used to access options.
519546int drawsdl2_init(running_machine &machine, osd_draw_callbacks *callbacks)
520547{
521   const char *stemp;
522
523548   // fill in the callbacks
524549   callbacks->exit = drawsdl2_exit;
525550   callbacks->create = drawsdl2_create;
526551
527552   osd_printf_verbose("Using SDL native texturing driver (SDL 2.0+)\n");
528553
529   expand_copy_info(blit_info_default);
530
531554#if USE_OPENGL
532555   // Load the GL library now - else MT will fail
533   stemp = downcast<sdl_options &>(machine.options()).gl_lib();
556   const char *stemp = downcast<sdl_options &>(machine.options()).gl_lib();
534557#else
535   stemp = NULL;
558   const char *stemp = NULL;
536559#endif
537560   if (stemp != NULL && strcmp(stemp, OSDOPTVAL_AUTO) == 0)
538561      stemp = NULL;
r244726r244727
555578{
556579   int i;
557580   copy_info_t *bi, *freeme;
558   for (i = 0; i <= SDL_TEXFORMAT_LAST; i++)
581   if (blit_info_initialized)
559582   {
560      for (bi = blit_info[i]; bi != NULL; )
583      for (i = 0; i <= SDL_TEXFORMAT_LAST; i++)
561584      {
562         if (bi->pixel_count)
563            osd_printf_verbose("%s -> %s %s blendmode 0x%02x, %d samples: %d KPixel/sec\n", bi->srcname, bi->dstname,
564                  bi->blitter->m_is_rot ? "rot" : "norot", bi->bm_mask, bi->samples,
565                  (int) bi->perf);
566         freeme = bi;
567         bi = bi->next;
568         global_free(freeme);
585         for (bi = blit_info[i]; bi != NULL; )
586         {
587            if (bi->pixel_count)
588               osd_printf_verbose("%s -> %s %s blendmode 0x%02x, %d samples: %d KPixel/sec\n", bi->srcname, bi->dstname,
589                     bi->blitter->m_is_rot ? "rot" : "norot", bi->bm_mask, bi->samples,
590                     (int) bi->perf);
591            freeme = bi;
592            bi = bi->next;
593            global_free(freeme);
594         }
595         blit_info[i] = NULL;
569596      }
570      blit_info[i] = NULL;
597      blit_info_initialized = false;
571598   }
572599}
573600
r244726r244727
601628// a
602629//============================================================
603630
631static void drawsdl_show_info(struct SDL_RendererInfo *render_info)
632{
633#define RF_ENTRY(x) {x, #x }
634   static struct {
635      int flag;
636      const char *name;
637   } rflist[] =
638      {
639#if 0
640         RF_ENTRY(SDL_RENDERER_SINGLEBUFFER),
641         RF_ENTRY(SDL_RENDERER_PRESENTCOPY),
642         RF_ENTRY(SDL_RENDERER_PRESENTFLIP2),
643         RF_ENTRY(SDL_RENDERER_PRESENTFLIP3),
644         RF_ENTRY(SDL_RENDERER_PRESENTDISCARD),
645#endif
646         RF_ENTRY(SDL_RENDERER_SOFTWARE),
647         RF_ENTRY(SDL_RENDERER_PRESENTVSYNC),
648         RF_ENTRY(SDL_RENDERER_ACCELERATED),
649         RF_ENTRY(SDL_RENDERER_TARGETTEXTURE),
650         {-1, NULL}
651      };
652   int i;
653
654   osd_printf_verbose("window: using renderer %s\n", render_info->name ? render_info->name : "<unknown>");
655   for (i = 0; rflist[i].name != NULL; i++)
656      if (render_info->flags & rflist[i].flag)
657         osd_printf_verbose("renderer: flag %s\n", rflist[i].name);
658}
659
660
604661int sdl_info13::create()
605662{
606663#if (SDLMAME_SDL2)
r244726r244727
633690
634691   m_blittimer = 3;
635692
636   SDL_RenderPresent(m_sdl_renderer);
693   //SDL_RenderPresent(m_sdl_renderer);
637694   osd_printf_verbose("Leave sdl_info13::create\n");
638695
696   struct SDL_RendererInfo render_info;
697
698   SDL_GetRendererInfo(m_sdl_renderer, &render_info);
699   drawsdl_show_info(&render_info);
700
639701#else
640702
641703#endif
r244726r244727
651713{
652714   destroy_all_textures();
653715   SDL_DestroyRenderer(m_sdl_renderer);
716   m_sdl_renderer = NULL;
654717}
655718
656719
r244726r244727
11081171      texture = global_alloc(texture_info(this, prim.texture, setup, prim.flags));
11091172      /* add us to the texture list */
11101173      m_texlist.prepend(*texture);
1111
11121174   }
11131175
11141176   if (texture != NULL)
trunk/src/osd/modules/render/drawogl.c
r244726r244727
2929#include "sdlinc.h"
3030#endif
3131
32// OpenGL headers
33#include "modules/opengl/osd_opengl.h"
32#include "modules/lib/osdlib.h"
33#include "modules/lib/osdobj_common.h"
3434
3535#ifdef OSD_WINDOWS
3636#define SDLMAME_SDL2 1
37#ifndef USE_DISPATCH_GL
38#include "GL/wglext.h"
3937#endif
40#endif
4138
42#include "modules/lib/osdlib.h"
43#include "modules/lib/osdobj_common.h"
39// OpenGL headers
40#include "modules/opengl/osd_opengl.h"
4441
45
4642#include "modules/opengl/gl_shader_tool.h"
4743#include "modules/opengl/gl_shader_mgr.h"
4844
r244726r244727
166162//  MACROS
167163//============================================================
168164
169#ifdef OSD_WINDOWS
170165// texture formats
171166// This used to be an enum, but these are now defines so we can use them as
172167// preprocessor conditionals
r244726r244727
179174#define SDL_TEXFORMAT_RGB15             (6)
180175#define SDL_TEXFORMAT_RGB15_PALETTED    (7)
181176#define SDL_TEXFORMAT_PALETTE16A        (8)
177#if 0
182178// special texture formats for 16bpp texture destination support, do not use
183179// to address the tex properties / tex functions arrays!
184180#define SDL_TEXFORMAT_PALETTE16_ARGB1555    (16)
r244726r244727
203199   {
204200      m_error[0] = 0;
205201
206      this->wglGetProcAddress = (PROC WINAPI (*)(LPCSTR lpszProc)) GetProcAddress(m_module, "wglGetProcAddress");
207      this->wglCreateContext = (HGLRC WINAPI (*)(HDC hdc)) GetProcAddress(m_module, "wglCreateContext");
208      this->wglDeleteContext = (BOOL WINAPI (*)(HGLRC hglrc)) GetProcAddress(m_module, "wglDeleteContext");
209      this->wglMakeCurrent = (BOOL WINAPI (*)(HDC hdc, HGLRC hglrc)) GetProcAddress(m_module, "wglMakeCurrent");
202      this->pfn_wglGetProcAddress = (PROC (WINAPI *)(LPCSTR lpszProc)) GetProcAddress(m_module, "wglGetProcAddress");
203      this->pfn_wglCreateContext = (HGLRC (WINAPI *)(HDC hdc)) GetProcAddress(m_module, "wglCreateContext");
204      this->pfn_wglDeleteContext = (BOOL (WINAPI *)(HGLRC hglrc)) GetProcAddress(m_module, "wglDeleteContext");
205      this->pfn_wglMakeCurrent = (BOOL (WINAPI *)(HDC hdc, HGLRC hglrc)) GetProcAddress(m_module, "wglMakeCurrent");
210206
211207      m_hdc = GetDC(window);
212208      if (!setupPixelFormat(m_hdc))
213209      {
214         m_context = wglCreateContext(m_hdc);
210         m_context = this->pfn_wglCreateContext(m_hdc);
215211         if  (!m_context)
216212         {
217213            FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, m_error, 255, NULL);
218214            return;
219215         }
220         wglMakeCurrent(m_hdc, m_context);
216         this->pfn_wglMakeCurrent(m_hdc, m_context);
221217      }
222218   }
223219
224220   virtual ~win_gl_context()
225221   {
226      wglDeleteContext(m_context);
222      this->pfn_wglDeleteContext(m_context);
227223      ReleaseDC(m_window, m_hdc);
228224   }
229225
230226   virtual void MakeCurrent()
231227   {
232      wglMakeCurrent(m_hdc, m_context);
228      this->pfn_wglMakeCurrent(m_hdc, m_context);
233229   }
234230
235231   virtual const char *LastErrorMsg()
r244726r244727
244240   {
245241      void *ret = (void *) GetProcAddress(m_module, proc);
246242      if (ret == NULL)
247         ret = (void *) wglGetProcAddress(proc);
243         ret = (void *) this->pfn_wglGetProcAddress(proc);
248244      return ret;
249245   }
250246
r244726r244727
310306   HDC m_hdc;
311307   char m_error[256];
312308
313   PROC WINAPI (*wglGetProcAddress)(LPCSTR lpszProc);
314   HGLRC WINAPI (*wglCreateContext)(HDC hdc);
315   BOOL WINAPI (*wglDeleteContext)(HGLRC hglrc);
316   BOOL WINAPI (*wglMakeCurrent)(HDC hdc, HGLRC hglrc);
309   PROC (WINAPI *pfn_wglGetProcAddress)(LPCSTR lpszProc);
310   HGLRC (WINAPI *pfn_wglCreateContext)(HDC hdc);
311   BOOL (WINAPI *pfn_wglDeleteContext)(HGLRC hglrc);
312   BOOL (WINAPI *pfn_wglMakeCurrent)(HDC hdc, HGLRC hglrc);
317313
318314   static HMODULE m_module;
319315};
trunk/src/osd/modules/render/drawsdl.c
r244726r244727
508508      global_free_array(m_yuv_bitmap);
509509      m_yuv_bitmap = NULL;
510510   }
511   SDL_DestroyRenderer(m_sdl_renderer);
511512}
512513
513514//============================================================
trunk/src/osd/sdl/video.h
r244726r244727
2929
3030#define VIDEO_SCALE_MODE_NONE       (0)
3131
32// texture formats
33// This used to be an enum, but these are now defines so we can use them as
34// preprocessor conditionals
35#define SDL_TEXFORMAT_ARGB32            (0) // non-16-bit textures or specials
36#define SDL_TEXFORMAT_RGB32             (1)
37#define SDL_TEXFORMAT_RGB32_PALETTED    (2)
38#define SDL_TEXFORMAT_YUY16             (3)
39#define SDL_TEXFORMAT_YUY16_PALETTED    (4)
40#define SDL_TEXFORMAT_PALETTE16         (5)
41#define SDL_TEXFORMAT_RGB15             (6)
42#define SDL_TEXFORMAT_RGB15_PALETTED    (7)
43#define SDL_TEXFORMAT_PALETTE16A        (8)
44// special texture formats for 16bpp texture destination support, do not use
45// to address the tex properties / tex functions arrays!
46#define SDL_TEXFORMAT_PALETTE16_ARGB1555    (16)
47#define SDL_TEXFORMAT_RGB15_ARGB1555        (17)
48#define SDL_TEXFORMAT_RGB15_PALETTED_ARGB1555   (18)
49
5032#define GLSL_SHADER_MAX 10
5133
5234//============================================================
trunk/src/osd/windows/video.c
r244726r244727
133133   assert(result);
134134   char *temp = utf8_from_tstring(m_info.szDevice);
135135
136   strncpy(m_name, temp, sizeof(m_name));
136   if (temp) strncpy(m_name, temp, sizeof(m_name));
137137
138138   m_pos_size = RECT_to_osd_rect(m_info.rcMonitor);
139139   m_usuable_pos_size = RECT_to_osd_rect(m_info.rcWork);


Previous 199869 Revisions Next


© 1997-2024 The MAME Team