Previous 199869 Revisions Next

r36214 Monday 2nd March, 2015 at 18:28:31 UTC by Reed
Update file2str.py

On line 43, wouldn't "ord(b)" simply be "b" since each iteration through a "bytes" type already returns an "int"? In Python 3.x, the "ord" function expects type "str" so passing an "int" causes a "TypeError" exception.
[src/build]file2str.py
[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/build/file2str.py
r244725r244726
4040            chunk = src.read(16)
4141            if chunk:
4242                for b in chunk:
43                    dst.write('0x%02x' % ord(b))
43                    dst.write('0x%02x' % b)
4444                    offs = offs + 1
4545                    if offs != bytes:
4646                        dst.write(',')
trunk/src/mame/drivers/cubo.c
r244725r244726
1111   Title                | rev. | year
1212   ----------------------------------------------
1313   Candy Puzzle         |  1.0 | 1995
14   Double Strixx        |      | 1995
1514   Harem Challenge      |      | 1995
1615   Laser Quiz           |      | 1995
1716   Laser Quiz 2 "Italy" |  1.0 | 1995
r244725r244726
1918   Laser Strixx 2       |      | 1995
2019   Magic Premium        |  1.1 | 1996
2120   Laser Quiz France    |  1.0 | 1995
22   Laser Quiz Greece?   |      | 1995 *may exist
2321   Odeon Twister        |      | 199x
2422   Odeon Twister 2      |202.19| 1999
2523
trunk/src/mame/drivers/megasys1.c
r244725r244726
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---------------------------------------------------------------------
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 !
4244
43NOTE: Chimera Beast is the game game missing a dump of it's priority PROM
4445
4546
4647Hardware    Main CPU    Sound CPU   Sound Chips
trunk/src/mame/drivers/peplus.c
r244725r244726
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) - 04/16/94   @ IGT  L94-1044 */
2494ROM_START( pepp0158b ) /* Normal board : 4 of a Kind Bonus Poker (PP0158) */
24952495/*
24962496                                       5-K 2-4
24972497PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
r244725r244726
25012501     Programs Available: PP0158, X000158P
25022502*/
25032503   ROM_REGION( 0x10000, "maincpu", 0 )
2504   ROM_LOAD( "pp0158_a0n-a23.u68",   0x00000, 0x10000, CRC(f3f9b6da) SHA1(1aedcb5257890c52c633357f8b96e72fe51158f8) ) /* Game Version: A0N, Library Version: A23, Video Lib ver A0Y */
2504   ROM_LOAD( "pp0158_813-a75.u68",   0x00000, 0x10000, CRC(b82cec15) SHA1(6ff8867e88d57cd1874388c9e6f5e0e6d96029e9) ) /* Game Version: A46, Library Version: A75 */
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  */
r244725r244726
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 )
25502526   ROM_LOAD( "pp0158_631-607.u68",   0x00000, 0x8000, CRC(5fe3498c) SHA1(f1405bf016d46904228cda88d8d94e2a956b2347) ) /* Game Version: 631, Library Version: 607, Video Lib Ver: 607 */
25512527   ROM_RELOAD(                       0x08000, 0x8000) /* 32K version built using earlier gaming libraries */
25522528
r244725r244726
26922668   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
26932669ROM_END
26942670
2695ROM_START( pepp0190 ) /* Normal board : Deuces Wild Poker (No Double-up) (PP0190) - 11/13/95   @ IGT  L99-0100 */
2671ROM_START( pepp0190 ) /* Normal board : Deuces Wild Poker (No Double-up) (PP0190) */
26962672/*
26972673                                        w/D     w/oD
26982674PayTable   3K   STR  FL  FH  4K  SF  5K  RF  4D  RF  (Bonus)
r244725r244726
27002676  P57A      1    2    3   4   4   8  10  20 200 250    800
27012677  % Range: 92.0-94.0%  Optimum: 96.0%  Hit Frequency: 44.5%
27022678     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
27052679*/
27062680   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 )
27292681   ROM_LOAD( "pp0190_642-623.u68",   0x00000, 0x10000, CRC(3b8a3203) SHA1(33bd285def754df34f4815cd713e2ff599c74f11) ) /* Game Version: 642, Library Version: 623 */
27302682
27312683   ROM_REGION( 0x020000, "gfx1", 0 )
r244725r244726
27382690   ROM_LOAD( "cap773.u50", 0x0000, 0x0100, CRC(294b7b10) SHA1(a405a4b8547b713c5c02dacb19e7354095a7b584) )
27392691ROM_END
27402692
2741ROM_START( pepp0190b ) /* Normal board : Deuces Wild Poker  (PP0190) - Multi Regional / Multi Currency - Tournament Mode capable */
2693ROM_START( pepp0190a ) /* Normal board : Deuces Wild Poker  (PP0190) - Multi Regional / Multi Currency - Tournament Mode capable */
27422694/*
27432695                                        w/D     w/oD
27442696PayTable   3K   STR  FL  FH  4K  SF  5K  RF  4D  RF  (Bonus)
r244725r244726
28262778   ROM_LOAD( "cap740.u50", 0x0000, 0x0100, CRC(6fe619c4) SHA1(49e43dafd010ce0fe9b2a63b96a4ddedcb933c6d) ) /* BPROM type DM74LS471 (compatible with N82S135N) verified */
28272779ROM_END
28282780
2829ROM_START( pepp0203 ) /* Normal board : 4 of a Kind Bonus Poker (PP0203) - 10/23/95   @ IGT  L95-2446 */
2781ROM_START( pepp0203 ) /* Normal board : 4 of a Kind Bonus Poker (PP0203) */
28302782/*
28312783                                       5-K 2-4
28322784PayTable   Js+  2PR  3K   STR  FL  FH  4K  4K  4A  SF  RF  (Bonus)
r244725r244726
29162868   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
29172869ROM_END
29182870
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
29442871ROM_START( pepp0219 ) /* Normal board : Standard Draw Poker - Auto Hold in Options (PP0219) */
29452872/*
29462873PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r244725r244726
38103737   ROM_LOAD( "cap904.u50", 0x0000, 0x0100, CRC(0eec8336) SHA1(a6585c978dbc2f4f3818e3a5b92f8c28be23c4c0) ) /* BPROM type N82S135N verified */
38113738ROM_END
38123739
3813ROM_START( pepp0510 ) /* Normal board : Standard Draw Poker (PP0510) - 11-24-92   @ IGT  L92-1614 */
3740ROM_START( pepp0510 ) /* Normal board : Standard Draw Poker (PP0510) */
38143741/*
38153742PayTable   Js+  TP  3K  STR  FL  FH  4K  SF  RF  (Bonus)
38163743--------------------------------------------------------
r244725r244726
39073834     Programs Available: PP0515, X000515P & PP0539 - Non Double-up Only
39083835*/
39093836   ROM_REGION( 0x10000, "maincpu", 0 )
3910   ROM_LOAD( "pp0515_a0n-a23.u68",   0x00000, 0x10000, CRC(76389889) SHA1(992fb7d3f296d1cecab75ab4cf13fff1b7a5cc11) ) /* Game Version: A0N, Library Version: A23, Video Lib ver: A0Y */
3837   ROM_LOAD( "pp0515_989-974.u68",   0x00000, 0x10000, CRC(bc9654ab) SHA1(ecf2401bfbfcfa22354cde517cf425a8db8ea961) ) /* Game Version: 989, Library Version: 974 */
39113838
39123839   ROM_REGION( 0x020000, "gfx1", 0 )
39133840   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
r244725r244726
39293856     Programs Available: PP0515, X000515P & PP0539 - Non Double-up Only
39303857*/
39313858   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 )
39543859   ROM_LOAD( "pp0515_813-824.u68",   0x00000, 0x10000, CRC(6c06b0ea) SHA1(7907d10d7290080c33e46c9644f24d1d2fc6b3ff) ) /* Game Version: 813, Library Version: 824 */
39553860
39563861   ROM_REGION( 0x020000, "gfx1", 0 )
r244725r244726
39953900     Programs Available: PP0516, X000516P & PP0540 - Non Double-up Only
39963901*/
39973902   ROM_REGION( 0x10000, "maincpu", 0 )
3998   ROM_LOAD( "pp0516_989-974.u68",   0x00000, 0x10000, CRC(d9da6e13) SHA1(421678d9cb42daaf5b21074cc3900db914dd26cf) ) /* Game Version: 989, Library Version: 974 , Video Lib ver: A0Y*/
3903   ROM_LOAD( "pp0516_974-a0y.u68",   0x00000, 0x10000, CRC(d9da6e13) SHA1(421678d9cb42daaf5b21074cc3900db914dd26cf) ) /* Game Version: 974, Library Version: A0Y */
39993904
40003905   ROM_REGION( 0x020000, "gfx1", 0 )
40013906   ROM_LOAD( "mro-cg2003.u72",  0x00000, 0x8000, CRC(0d425f48) SHA1(b60aaf3f4bd76f75f72f6e8dda724bdf795cb521) ) /*  08/30/94   @ IGT  L95-0145  */
r244725r244726
74397344   ROM_LOAD( "capx1321.u43", 0x0000, 0x0200, CRC(4b57569f) SHA1(fa29c0f627e7ce79951ec6dadec114864144f37d) )
74407345ROM_END
74417346
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
74697347ROM_START( pex2121p ) /* Superboard : Standard Draw Poker (X002121P+XP000038) */
74707348/*
74717349PayTable   Js+  2PR  3K   STR  FL  FH  4K  SF  RF  (Bonus)
r244725r244726
92109088   ROM_LOAD( "x002066p.u66",   0x00000, 0x10000, CRC(01236011) SHA1(3edfee014705b3540386c5e42026ab93628b2597) ) /* Double Double Bonus Poker */
92119089
92129090   ROM_REGION( 0x10000, "user2", 0 )
9213   ROM_LOAD( "x002111p.u66",   0x00000, 0x10000, CRC(f19dd63e) SHA1(0fe16cd0c75a9759e34bf95ce428e5b2da236215) ) /* 4 of a Kind Bonus Poker with Seq. Royal Flush */
9091   ROM_LOAD( "x000002p.u66",   0x00000, 0x10000, CRC(17cee391) SHA1(173e5775c3e887e16b4f0330d21873331dfb7c33) ) /* Standard Draw Poker */
92149092
92159093   ROM_REGION( 0x10000, "user3", 0 )
92169094   ROM_LOAD( "x000536p.u66",   0x00000, 0x10000, CRC(0b18dc1b) SHA1(07350fe258441f8565bfd875342823149b7757f1) ) /* Joker Poker */
r244725r244726
92969174GAMEL(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 )
92979175GAMEL(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 )
92989176GAMEL(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 )
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 )
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 )
93019178GAMEL(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 )
93029179GAMEL(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 )
93039180GAMEL(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 )
93049181GAMEL(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 )
93059182GAMEL(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 )
93069183GAMEL(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 )
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 )
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 )
93109186GAMEL(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 )
93119187GAMEL(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 )
93129188GAMEL(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 )
r244725r244726
93149190GAMEL(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 )
93159191GAMEL(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 )
93169192GAMEL(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 )
93189193GAMEL(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 )
93199194GAMEL(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 )
93209195GAMEL(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 )
r244725r244726
93619236GAMEL(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 )
93629237GAMEL(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 )
93639238GAMEL(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 )
93659239GAMEL(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 )
93669240GAMEL(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 )
93679241GAMEL(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 )
r244725r244726
95269400GAMEL(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 )
95279401GAMEL(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 )
95289402GAMEL(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 )
95309403GAMEL(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 )
95319404GAMEL(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 )
95329405GAMEL(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
r244725r244726
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 / 4)   /* Z0840006PSC - 6MHz (measured) */
1958   MCFG_CPU_ADD("audiocpu", Z80, SUNA8_MASTER_CLOCK / 8)   /* Z0840006PSC - 3MHz better matches the tempo in the video */
19591959   MCFG_CPU_PROGRAM_MAP(brickzn_sound_map)
19601960
1961   MCFG_CPU_ADD("pcm", Z80, SUNA8_MASTER_CLOCK / 4)    /* Z0840006PSC - 6MHz (measured) */
1961   MCFG_CPU_ADD("pcm", Z80, SUNA8_MASTER_CLOCK / 4)    /* Z0840006PSC */
19621962   MCFG_CPU_PROGRAM_MAP(brickzn_pcm_map)
19631963   MCFG_CPU_IO_MAP(brickzn_pcm_io_map)
19641964
r244725r244726
19831983   /* sound hardware */
19841984   MCFG_SPEAKER_STANDARD_STEREO("lspeaker", "rspeaker")
19851985
1986   MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 8)      // 3MHz (measured)
1986   MCFG_SOUND_ADD("ymsnd", YM3812, SUNA8_MASTER_CLOCK / 6)
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)   // 1.5MHz (measured)
1991   MCFG_SOUND_ADD("aysnd", AY8910, SUNA8_MASTER_CLOCK / 16)
19921992   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "lspeaker", 0.33)
19931993   MCFG_SOUND_ROUTE(ALL_OUTPUTS, "rspeaker", 0.33)
19941994
trunk/src/mame/mame.lst
r244725r244726
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
1112811127pepp0159        // (c) 1987 IGT - International Game Technology
1112911128pepp0171        // (c) 1987 IGT - International Game Technology
1113011129pepp0171a       // (c) 1987 IGT - International Game Technology
r244725r244726
1113311132pepp0188a       // (c) 1987 IGT - International Game Technology
1113411133pepp0190        // (c) 1987 IGT - International Game Technology
1113511134pepp0190a       // (c) 1987 IGT - International Game Technology
11136pepp0190b       // (c) 1987 IGT - International Game Technology
1113711135pepp0197        // (c) 1987 IGT - International Game Technology
1113811136pepp0197a       // (c) 1987 IGT - International Game Technology
1113911137pepp0197b       // (c) 1987 IGT - International Game Technology
r244725r244726
1114111139pepp0203a       // (c) 1987 IGT - International Game Technology
1114211140pepp0203b       // (c) 1987 IGT - International Game Technology
1114311141pepp0203c       // (c) 1987 IGT - International Game Technology
11144pepp0203d       // (c) 1987 IGT - International Game Technology
1114511142pepp0219        // (c) 1987 IGT - International Game Technology
1114611143pepp0221        // (c) 1987 IGT - International Game Technology
1114711144pepp0221a       // (c) 1987 IGT - International Game Technology
r244725r244726
1118811185pepp0514b       // (c) 1987 IGT - International Game Technology
1118911186pepp0515        // (c) 1987 IGT - International Game Technology
1119011187pepp0515a       // (c) 1987 IGT - International Game Technology
11191pepp0515b       // (c) 1987 IGT - International Game Technology
1119211188pepp0516        // (c) 1987 IGT - International Game Technology
1119311189pepp0516a       // (c) 1987 IGT - International Game Technology
1119411190pepp0516b       // (c) 1987 IGT - International Game Technology
r244725r244726
1134111337pex2068p        // (c) 1995 IGT - International Game Technology
1134211338pex2069p        // (c) 1995 IGT - International Game Technology
1134311339pex2070p        // (c) 1995 IGT - International Game Technology
11344pex2111p        // (c) 1995 IGT - International Game Technology
1134511340pex2121p        // (c) 1995 IGT - International Game Technology
1134611341pex2121pa       // (c) 1995 IGT - International Game Technology
1134711342pex2150p        // (c) 1995 IGT - International Game Technology
trunk/src/mess/drivers/hh_pic16.c
r244725r244726
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
128***************************************************************************/
139
1410#include "emu.h"
r244725r244726
2420   hh_pic16_state(const machine_config &mconfig, device_type type, const char *tag)
2521      : driver_device(mconfig, type, tag),
2622      m_maincpu(*this, "maincpu"),
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)
23//      m_inp_matrix(*this, "IN"),
24      m_speaker(*this, "speaker")
3225   { }
3326
3427   // devices
3528   required_device<cpu_device> m_maincpu;
36   optional_ioport_array<2> m_inp_matrix; // max 2
29//   optional_ioport_array<3> m_inp_matrix; // max 3
3730   optional_device<speaker_sound_device> m_speaker;
3831
39   // misc common
40   UINT8 m_b;
41   UINT8 m_c;
42
4332   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);
6133};
6234
6335
6436void hh_pic16_state::machine_start()
6537{
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));
8738}
8839
8940
9041
91/***************************************************************************
9242
93  Helper Functions
9443
95***************************************************************************/
9644
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
16145/***************************************************************************
16246
16347  Minidrivers (I/O, Inputs, Machine Config)
r244725r244726
16751/***************************************************************************
16852
16953  Ideal Maniac, by Ralph Baer
170  * PIC1655A-036
54  * PIC1655-036
17155
17256
17357***************************************************************************/
17458
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);
18659
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
19760static 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
20361INPUT_PORTS_END
20462
20563
20664static MACHINE_CONFIG_START( maniac, hh_pic16_state )
20765
20866   /* basic machine hardware */
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) // ?
67   MCFG_CPU_ADD("maincpu", PIC16C55, 500000)
21468
215   MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", hh_pic16_state, display_decay_tick, attotime::from_msec(1))
21669   MCFG_DEFAULT_LAYOUT(layout_maniac)
21770
21871   /* no video! */
r244725r244726
22578
22679
22780
228
229
230/***************************************************************************
231
232  Game driver(s)
233
234***************************************************************************/
235
23681ROM_START( maniac )
23782   ROM_REGION( 0x0800, "maincpu", 0 )
238   ROM_LOAD( "pic1655a-036", 0x0000, 0x0400, CRC(a96f7011) SHA1(e97ae44d3c1e74c7e1024bb0bdab03eecdc9f827) )
83   ROM_LOAD( "1655-036", 0x0000, 0x0400, CRC(a96f7011) SHA1(e97ae44d3c1e74c7e1024bb0bdab03eecdc9f827) )
23984ROM_END
24085
24186
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 )
87CONS( 1979, maniac, 0, 0, maniac, maniac, driver_device, 0, "Ideal", "Maniac", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
trunk/src/mess/drivers/hh_tms1k.c
r244725r244726
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: TMS1000 and TMS1100 RC curve is documented in
54    the data manual, but for TMS1400 it's unknown. TMS0970/0980 osc. is on-die.
53  - unknown MCU clocks for some
5554  - some of the games rely on the fact that faster(longer) strobed leds appear
5655    brighter: tc4(offensive players), bankshot(cue ball)
5756  - add softwarelist for tc4 cartridges?
r244725r244726
251250   lDP = 0x80
252251};
253252
254// The device may strobe the outputs very fast, it is unnoticeable to the user.
253// The device strobes the outputs very fast, it is unnoticeable to the user.
255254// To prevent flickering here, we need to simulate a decay.
256255
257256void hh_tms1k_state::display_update()
r244725r244726
22622261
22632262
22642263
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 )
2264CONS( 1980, mathmagi, 0, 0, mathmagi, mathmagi, driver_device, 0, "APF Electronics Inc.", "Mathemagician", GAME_SUPPORTS_SAVE | GAME_NO_SOUND_HW )
22672265
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 )
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 )
22702268
2271CONS( 1978, ebball,    0,        0, ebball,    ebball,    driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE ) // or 1979?
2269CONS( 1978, ebball, 0, 0, ebball, ebball, driver_device, 0, "Entex", "Electronic Baseball (Entex)", GAME_SUPPORTS_SAVE )
22722270
2273CONS( 1979, elecdet,   0,        0, elecdet,   elecdet,   driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE ) // unplayable without game cards
2271CONS( 1979, elecdet, 0, 0, elecdet, elecdet, driver_device, 0, "Ideal", "Electronic Detective", GAME_SUPPORTS_SAVE )
22742272
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 )
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 )
22772275
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 )
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 )
22802278
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
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 )
22842282CONS( 1979, stopthiep, stopthie, 0, stopthief, stopthief, driver_device, 0, "Parker Brothers", "Stop Thief (Electronic Crime Scanner) (prototype)", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
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 )
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 )
22872285
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/..
2286CONS( 1981, tandy12, 0, 0, tandy12, tandy12, driver_device, 0, "Tandy Radio Shack", "Tandy-12: Computerized Arcade", GAME_SUPPORTS_SAVE )
22892287
2290CONS( 1978, unk3403,   0,        0, unk3403,   unk3403,  driver_device, 0, "<unknown>", "unknown TMS1100 electronic game", GAME_SUPPORTS_SAVE | GAME_NOT_WORKING )
2288CONS( 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
r244725r244726
134134
135135***************************************************************************/
136136
137// The device may strobe the outputs very fast, it is unnoticeable to the user.
137// The device strobes 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()
r244725r244726
231231
232232  NOTE!: MESS external artwork is recommended
233233
234
234235***************************************************************************/
235236
236237WRITE8_MEMBER(hh_ucom4_state::edracula_grid_w)
r244725r244726
455456  - USA: Pac Man
456457  - UK: Puckman (Tomy), and also published by Grandstand as Munchman
457458  - 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.
461459
462460  NOTE!: MESS external artwork is recommended
463461
r244725r244726
696694
697695
698696
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 )
697CONS( 1982, edracula, 0, 0, edracula, edracula, driver_device, 0, "Epoch", "Dracula (Epoch)", GAME_SUPPORTS_SAVE | GAME_REQUIRES_ARTWORK )
701698
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 )
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 )
trunk/src/mess/drivers/pasogo.c
r244725r244726
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
468476PALETTE_INIT_MEMBER(pasogo_state, pasogo)
469477{
470   palette.set_pen_color(0, rgb_t(160, 190, 170));
471   palette.set_pen_color(1, rgb_t(40, 50, 70));
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   }
472484}
473485
474486
475487UINT32 pasogo_state::screen_update_pasogo(screen_device &screen, bitmap_ind16 &bitmap, const rectangle &cliprect)
476488{
477   UINT8 *vram = (UINT8 *)m_vram.target();
478   int x, y;
479   for (y=0; y<240; y++)
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)
480497   {
481      for (x=0; x<(320/8); x++)
498      w = 320;
499      h = 240;
500      for (y=0; y<h; y++)
482501      {
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);
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         }
494512      }
495513   }
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
496542   return 0;
497543}
498544
r244725r244726
536582   // The carts use vg230 specific registers and mostly ignore the mc6845.
537583   MCFG_SCREEN_ADD("screen", LCD)
538584   MCFG_SCREEN_REFRESH_RATE(60)
539   MCFG_SCREEN_SIZE(320, 240)
540   MCFG_SCREEN_VISIBLE_AREA(0, 320-1, 0, 240-1)
585   MCFG_SCREEN_SIZE(640, 400)
586   MCFG_SCREEN_VISIBLE_AREA(0, 640-1, 0, 400-1)
541587   MCFG_SCREEN_UPDATE_DRIVER(pasogo_state, screen_update_pasogo)
542588   MCFG_SCREEN_PALETTE("palette")
543   MCFG_PALETTE_ADD("palette", 2)
589   MCFG_PALETTE_ADD("palette", ARRAY_LENGTH(pasogo_palette))
544590   MCFG_PALETTE_INIT_OWNER(pasogo_state, pasogo)
545591
546592   MCFG_GENERIC_CARTSLOT_ADD("cartslot", generic_plain_slot, "pasogo_cart")
trunk/src/mess/layout/maniac.lay
r244725r244726
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>
118
12
13
149<!-- build screen -->
1510
1611   <view name="Internal Layout">
17      <bounds left="0" right="25" top="0" bottom="25" />
12      <bounds left="0" right="64" top="0" bottom="64" />
1813      <bezel element="static_black">
19         <bounds left="0" right="25" top="0" bottom="25" />
14         <bounds left="0" right="64" top="0" bottom="64" />
2015      </bezel>
2116
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>
2417
25
2618   </view>
2719</mamelayout>
trunk/src/osd/modules/opengl/SDL1211_opengl.h
r244725r244726
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
r244725r244726
1616    * #include <GL/glext.h>
1717    */
1818   #ifdef OSD_WINDOWS
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
19   #include "GL/gl.h"
20   #include "GL/glext.h"
2921   #else
3022   #if (SDLMAME_SDL2)
3123   #include <SDL2/SDL_version.h>
trunk/src/osd/modules/render/draw13.c
r244725r244726
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
156139#include "blit13.h"
157140
158141/* sdl_info is the information about SDL for the current screen */
159142class sdl_info13 : public osd_renderer
160143{
161144public:
162   sdl_info13(osd_window *w, int extra_flags)
163   : osd_renderer(w, extra_flags), m_sdl_renderer(NULL), m_blittimer(0),
145   sdl_info13(osd_window *w)
146   : osd_renderer(w, FLAG_NONE), m_sdl_renderer(NULL), m_blittimer(0),
164147      m_last_hofs(0), m_last_vofs(0),
165148      m_width(0), m_height(0),
166149      m_blit_dim(0,0),
r244725r244726
259242//  STATIC VARIABLES
260243//============================================================
261244
245#define SDL_TEXFORMAT_LAST SDL_TEXFORMAT_PALETTE16A
262246#define BM_ALL (-1)
263247//( SDL_BLENDMODE_MASK | SDL_BLENDMODE_BLEND | SDL_BLENDMODE_ADD | SDL_BLENDMODE_MOD)
264248
r244725r244726
345329{ -1 },
346330};
347331
348static copy_info_t *blit_info[SDL_TEXFORMAT_LAST+1] = { NULL };
349static bool blit_info_initialized = false;
332static copy_info_t *blit_info[SDL_TEXFORMAT_LAST+1];
350333
351334//============================================================
352335//  INLINES
r244725r244726
529512
530513static osd_renderer *drawsdl2_create(osd_window *window)
531514{
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));
515   return global_alloc(sdl_info13(window));
543516}
544517
545518// FIXME: machine only used to access options.
546519int drawsdl2_init(running_machine &machine, osd_draw_callbacks *callbacks)
547520{
521   const char *stemp;
522
548523   // fill in the callbacks
549524   callbacks->exit = drawsdl2_exit;
550525   callbacks->create = drawsdl2_create;
551526
552527   osd_printf_verbose("Using SDL native texturing driver (SDL 2.0+)\n");
553528
529   expand_copy_info(blit_info_default);
530
554531#if USE_OPENGL
555532   // Load the GL library now - else MT will fail
556   const char *stemp = downcast<sdl_options &>(machine.options()).gl_lib();
533   stemp = downcast<sdl_options &>(machine.options()).gl_lib();
557534#else
558   const char *stemp = NULL;
535   stemp = NULL;
559536#endif
560537   if (stemp != NULL && strcmp(stemp, OSDOPTVAL_AUTO) == 0)
561538      stemp = NULL;
r244725r244726
578555{
579556   int i;
580557   copy_info_t *bi, *freeme;
581   if (blit_info_initialized)
558   for (i = 0; i <= SDL_TEXFORMAT_LAST; i++)
582559   {
583      for (i = 0; i <= SDL_TEXFORMAT_LAST; i++)
560      for (bi = blit_info[i]; bi != NULL; )
584561      {
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;
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);
596569      }
597      blit_info_initialized = false;
570      blit_info[i] = NULL;
598571   }
599572}
600573
r244725r244726
628601// a
629602//============================================================
630603
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
661604int sdl_info13::create()
662605{
663606#if (SDLMAME_SDL2)
r244725r244726
690633
691634   m_blittimer = 3;
692635
693   //SDL_RenderPresent(m_sdl_renderer);
636   SDL_RenderPresent(m_sdl_renderer);
694637   osd_printf_verbose("Leave sdl_info13::create\n");
695638
696   struct SDL_RendererInfo render_info;
697
698   SDL_GetRendererInfo(m_sdl_renderer, &render_info);
699   drawsdl_show_info(&render_info);
700
701639#else
702640
703641#endif
r244725r244726
713651{
714652   destroy_all_textures();
715653   SDL_DestroyRenderer(m_sdl_renderer);
716   m_sdl_renderer = NULL;
717654}
718655
719656
r244725r244726
11711108      texture = global_alloc(texture_info(this, prim.texture, setup, prim.flags));
11721109      /* add us to the texture list */
11731110      m_texlist.prepend(*texture);
1111
11741112   }
11751113
11761114   if (texture != NULL)
trunk/src/osd/modules/render/drawogl.c
r244725r244726
2929#include "sdlinc.h"
3030#endif
3131
32#include "modules/lib/osdlib.h"
33#include "modules/lib/osdobj_common.h"
32// OpenGL headers
33#include "modules/opengl/osd_opengl.h"
3434
3535#ifdef OSD_WINDOWS
3636#define SDLMAME_SDL2 1
37#ifndef USE_DISPATCH_GL
38#include "GL/wglext.h"
3739#endif
40#endif
3841
39// OpenGL headers
40#include "modules/opengl/osd_opengl.h"
42#include "modules/lib/osdlib.h"
43#include "modules/lib/osdobj_common.h"
4144
45
4246#include "modules/opengl/gl_shader_tool.h"
4347#include "modules/opengl/gl_shader_mgr.h"
4448
r244725r244726
162166//  MACROS
163167//============================================================
164168
169#ifdef OSD_WINDOWS
165170// texture formats
166171// This used to be an enum, but these are now defines so we can use them as
167172// preprocessor conditionals
r244725r244726
174179#define SDL_TEXFORMAT_RGB15             (6)
175180#define SDL_TEXFORMAT_RGB15_PALETTED    (7)
176181#define SDL_TEXFORMAT_PALETTE16A        (8)
177#if 0
178182// special texture formats for 16bpp texture destination support, do not use
179183// to address the tex properties / tex functions arrays!
180184#define SDL_TEXFORMAT_PALETTE16_ARGB1555    (16)
r244725r244726
199203   {
200204      m_error[0] = 0;
201205
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");
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");
206210
207211      m_hdc = GetDC(window);
208212      if (!setupPixelFormat(m_hdc))
209213      {
210         m_context = this->pfn_wglCreateContext(m_hdc);
214         m_context = wglCreateContext(m_hdc);
211215         if  (!m_context)
212216         {
213217            FormatMessageA(FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, m_error, 255, NULL);
214218            return;
215219         }
216         this->pfn_wglMakeCurrent(m_hdc, m_context);
220         wglMakeCurrent(m_hdc, m_context);
217221      }
218222   }
219223
220224   virtual ~win_gl_context()
221225   {
222      this->pfn_wglDeleteContext(m_context);
226      wglDeleteContext(m_context);
223227      ReleaseDC(m_window, m_hdc);
224228   }
225229
226230   virtual void MakeCurrent()
227231   {
228      this->pfn_wglMakeCurrent(m_hdc, m_context);
232      wglMakeCurrent(m_hdc, m_context);
229233   }
230234
231235   virtual const char *LastErrorMsg()
r244725r244726
240244   {
241245      void *ret = (void *) GetProcAddress(m_module, proc);
242246      if (ret == NULL)
243         ret = (void *) this->pfn_wglGetProcAddress(proc);
247         ret = (void *) wglGetProcAddress(proc);
244248      return ret;
245249   }
246250
r244725r244726
306310   HDC m_hdc;
307311   char m_error[256];
308312
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);
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);
313317
314318   static HMODULE m_module;
315319};
trunk/src/osd/modules/render/drawsdl.c
r244725r244726
508508      global_free_array(m_yuv_bitmap);
509509      m_yuv_bitmap = NULL;
510510   }
511   SDL_DestroyRenderer(m_sdl_renderer);
512511}
513512
514513//============================================================
trunk/src/osd/sdl/video.h
r244725r244726
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
3250#define GLSL_SHADER_MAX 10
3351
3452//============================================================
trunk/src/osd/windows/video.c
r244725r244726
133133   assert(result);
134134   char *temp = utf8_from_tstring(m_info.szDevice);
135135
136   if (temp) strncpy(m_name, temp, sizeof(m_name));
136   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