diff options
author | couriersud <couriersud@arcor.de> | 2015-02-14 20:36:33 +0100 |
---|---|---|
committer | couriersud <couriersud@arcor.de> | 2015-02-14 20:36:33 +0100 |
commit | a51ee3e00f2751a2d37c0d264b68f24511a54056 (patch) | |
tree | dc243153b26dce644f9df69575ca284a6aaeea4d | |
parent | 78afab6f5a93de760dce292cdc5fa4abc9432ec8 (diff) | |
parent | bc330b6bfb42162fae852dde435e69eed5bb36e0 (diff) |
Merge branch 'master' of https://github.com/mamedev/mame.git
-rw-r--r-- | src/mame/drivers/naomi.c | 84 | ||||
-rw-r--r-- | src/mame/mame.lst | 48 | ||||
-rw-r--r-- | src/mess/drivers/cnsector.c | 58 | ||||
-rw-r--r-- | src/mess/drivers/comp4.c | 48 | ||||
-rw-r--r-- | src/mess/drivers/elecdet.c | 58 | ||||
-rw-r--r-- | src/mess/drivers/splitsec.c | 62 | ||||
-rw-r--r-- | src/mess/drivers/starwbc.c | 58 | ||||
-rw-r--r-- | src/mess/drivers/stopthie.c | 58 | ||||
-rw-r--r-- | src/mess/drivers/ticalc1x.c | 84 | ||||
-rw-r--r-- | src/mess/drivers/tispeak.c | 62 | ||||
-rw-r--r-- | src/mess/drivers/wildfire.c | 60 |
11 files changed, 340 insertions, 340 deletions
diff --git a/src/mame/drivers/naomi.c b/src/mame/drivers/naomi.c index 40d148b2bee..65f60e903e3 100644 --- a/src/mame/drivers/naomi.c +++ b/src/mame/drivers/naomi.c @@ -260,11 +260,11 @@ Ferrari F355 Challenge (twin, prototype) no cart 22848P* 21 (64Mb) pre Ferrari F355 Challenge 2 (twin) no cart 23399 21 (64Mb) present 315-6206 317-0287-COM content is the same as regular 171-7919A cart House of the Dead 2 (prototype) no cart A1E2 21 (64Mb) present 315-6206 present no label on IC42 Inu No Osanpo / Dog Walking (Rev A) 840-0073C 22294A 16 (64Mb) present 315-6206 317-0316-JPN requires 837-13844 JVS IO with DIPSW 1 ON -Maze of the Kings The (prototype) no cart * 21 (64Mb) present 315-6206 FRI * flash-PCB, not dumped but known to exist Samba de Amigo (prototype) no cart * 21 (64Mb) present 315-6206 317-0270-COM * instead of EPROM have tiny PCB with 2 flashroms on it Soul Surfer (Rev A) 840-0095C 23838C 21 (64Mb) present 315-6206 not present Star Horse (server) 840-0055C 23626 17 (64Mb) present 315-6206 not present requires 837-13785 ARCNET&IO BD The King of Route 66 (Rev A) 840-0087C 23819A 20 (64Mb) present 315-6206 not present content is the same as regular 171-8132A cart +The Maze of the Kings (prototype) no cart * 21 (64Mb) present 315-6206 FRI * flash-PCB, not dumped but known to exist Virtua NBA (prototype) no cart * 21 (64Mb) present 315-6206 317-0271-COM * instead of EPROM have tiny PCB with 2 flashroms on it Virtua Tennis / Power Smash (prototype) no cart * 21 (64Mb) present 315-6206 317-0263-COM * flash-PCB, title screen have label "SOFT R&D Dept.#3", not dumped but known to exist @@ -446,24 +446,24 @@ IC17S-IC38S - MaskROM (SOP44), either 32Mb or 64Mb. Not all positions are popula CN1/2/3 - connectors joining to main board Games known to use this PCB include.... - Sticker EPROM MASKROMs 25LC040 A54SX32 -Game on cart IC11# # of SOP44 IC13S# IC1# Notes -------------------------------------------------------------------------------------------------------------------------------- -Club Kart European Session (2003, Rev A) 840-0139C 24173A 18 (64Mb) present 317-0382-COM -Club Kart Prize (Rev A) 840-0129C 24082A 16 (64Mb) present 317-0368-COM requires Naomi-based hopper controller (Naomi bd + 840-0130 cart + 837-14381 "G2 EXPANSION BD") -Club Kart Prize Ver. B 840-0137C 24149 16 (64Mb) present 317-0368-COM requires 837-14438 "SH I/O BD" hopper controller (not dumped) -Giant Gram 2000 840-0039C 23377 20 (64Mb) present 317-0296-COM -Kick '4' Cash 840-0140C 24212 16 (64Mb) present 317-0397-COM requires 837-14438 "SH I/O BD" hopper controller (not dumped) -Marvel Vs. Capcom 2 New Age of Heroes (Rev A) 841-0007C-02 23085A 14 (64Mb)* present 317-5058-COM *(+2x 32Mb) -MushiKing The King of Beetles 2K3 2ND 840-0150C 24217 6 (64Mb) present 317-0394-COM requires 610-0669 barcode reader, 838-14245-92 "MAPLE/232C CONVERT BD" (MIE-based), 838-14243 "RFID CHIP R/W BD" and RFID chip -Quiz Ah Megamisama 840-0030C 23227 16 (64Mb) present 317-0280-JPN -Shootout Pool 840-0098C 23844 4 (64Mb) present 317-0336-COM requires regular 837-13551 and 837-13938 rotary JVS boards -Shootout Pool Prize / The Medal (Rev A) 840-0128C 24065A 4 (64Mb) present 317-0367-COM requires Naomi-based hopper controller -Shootout Pool Prize / The Medal Ver. B 840-0136C 24148 4 (64Mb) present 317-0367-COM requires Naomi-based or 837-14438 hopper controller -SWP Hopper Board 840-0130C 24083 20 (64Mb) present 317-0339-COM Maskroms are not really used, they are recycled from other games; there is an additional 837-14381 IO board -Touch de UNO! 2 840-0022C 23071 6 (64Mb) present 317-0276-JPN requires 837-13844 JVS IO with DIPSW 5 On, ELO AccuTouch-compatible touch screen controller and special printer. -Virtua Fighter 4 Evolution 840-0106B 23934 20 (64Mb) present 317-0339-COM -Virtua Tennis 2 / Power Smash 2 (Rev A) 840-0084C 22327A 18 (64Mb) present 317-0320-COM + Sticker EPROM MASKROMs 25LC040 A54SX32 +Game on cart IC11# # of SOP44 IC13S# IC1# Notes +----------------------------------------------------------------------------------------------------------------------------------------------- +Club Kart: European Session (2003, Rev A) 840-0139C 24173A 18 (64Mb) present 317-0382-COM +Club Kart Prize (Rev A) 840-0129C 24082A 16 (64Mb) present 317-0368-COM requires Naomi-based hopper controller (Naomi bd + 840-0130 cart + 837-14381 "G2 EXPANSION BD") +Club Kart Prize Ver. B 840-0137C 24149 16 (64Mb) present 317-0368-COM requires 837-14438 "SH I/O BD" hopper controller (not dumped) +Giant Gram 2000 840-0039C 23377 20 (64Mb) present 317-0296-COM +Kick '4' Cash 840-0140C 24212 16 (64Mb) present 317-0397-COM requires 837-14438 "SH I/O BD" hopper controller (not dumped) +Marvel Vs. Capcom 2 New Age of Heroes (Rev A) 841-0007C-02 23085A 14 (64Mb)* present 317-5058-COM *(+2x 32Mb) +MushiKing The King of Beetles 2K3 2ND 840-0150C 24217 6 (64Mb) present 317-0394-COM requires 610-0669 barcode reader, 838-14245-92 "MAPLE/232C CONVERT BD" (MIE-based), 838-14243 "RFID CHIP R/W BD" and RFID chip +Quiz Ah Megamisama 840-0030C 23227 16 (64Mb) present 317-0280-JPN +Shootout Pool 840-0098C 23844 4 (64Mb) present 317-0336-COM requires regular 837-13551 and 837-13938 rotary JVS boards +Shootout Pool Prize / Shootout Pool The Medal (Rev A) 840-0128C 24065A 4 (64Mb) present 317-0367-COM requires Naomi-based hopper controller +Shootout Pool Prize Ver. B / Shootout Pool The Medal Ver. B 840-0136C 24148 4 (64Mb) present 317-0367-COM requires Naomi-based or 837-14438 hopper controller +SWP Hopper Board 840-0130C 24083 20 (64Mb) present 317-0339-COM Maskroms are not really used, they are recycled from other games; there is an additional 837-14381 IO board +Touch de UNO! 2 840-0022C 23071 6 (64Mb) present 317-0276-JPN requires 837-13844 JVS IO with DIPSW 5 On, ELO AccuTouch-compatible touch screen controller and special printer. +Virtua Fighter 4 Evolution 840-0106B 23934 20 (64Mb) present 317-0339-COM +Virtua Tennis 2 / Power Smash 2 (Rev A) 840-0084C 22327A 18 (64Mb) present 317-0320-COM @@ -514,7 +514,7 @@ Derby Owners Club World Edition (Rev C) 840-0088C 22336C 7 (128Mb) 3 Derby Owners Club World Edition (Rev D) 840-0088C 22336D 7 (128Mb) 315-6319A 315-6213 not present 2 MaskROM are different from Rev C Giga Wing 2 841-0014C 22270 5 (128Mb) 315-6319A 315-6213 317-5064-COM Mobile Suit Gundam: Federation Vs. Zeon 841-0017C 23638 10 (128Mb) 315-6319A 315-6213 317-5070-COM -Moero Justice Gakuen / Project Justice (Rev A) 841-0015C 23548A 11 (128Mb) 315-6319A 315-6213 317-5065-COM +Moero! Justice Gakuen / Project Justice (Rev A) 841-0015C 23548A 11 (128Mb) 315-6319A 315-6213 317-5065-COM MushiKing - The King Of Beetle 2K5 1ST 840-0158C 24286 7 (128Mb) 315-6319A 315-6213 not present requires 610-0669 barcode reader Oinori-daimyoujin Matsuri 840-0126B 24053 5 (128Mb) 315-6319A 315-6213 not present requires 837-14274 "G2 EXPANSION BD" (similar to hopper 837-14381 but with ARC NET chip) Samba de Amigo Ver. 2000 840-0047C 23600 11 (128Mb) 315-6319A 315-6213 317-0295-COM @@ -575,7 +575,7 @@ Illmatic Envelope 841-0059C not present 4 (5 Mamoru-kun wa Norowarete Shimatta 841-0060C not present 4 (512Mb) present 317-5132-JPN present IC2# is labeled "VER.2" Manic Panic Ghost! 840-0170C not present 5 (512Mb) present 317-0461-COM present requires 837-14672 sensor board (SH4 based) Melty Blood Actress Again 841-0061C not present 6 (512Mb) present 317-5133-JPN present IC2# is labeled "REV.A" - IC4# is marked "5A" -Melty Blood Actress Again (Rev A) 841-0061C 24455 6 (512Mb) present 317-5133-JPN present IC2# is labeled "REV.A" - IC4# is marked "5A" +Melty Blood Actress Again Version A (Rev A) 841-0061C 24455 6 (512Mb) present 317-5133-JPN present IC2# is labeled "REV.A" - IC4# is marked "5A" Mushiking - The King Of Beetles II ENG (Ver. 1.001) 840-0164C not present 2 (512Mb) present 317-0437-COM present requires 610-0669 barcode reader, 838-14245-92 "MAPLE/232C CONVERT BD" (MIE-based), 838-14243 "RFID CHIP R/W BD" and RFID chip Mushiking - The King Of Beetles II ENG (Ver. 2.001) 840-0164C 24357 2 (512Mb) present 317-0437-COM present IC4# is marked "18" Poka Suka Ghost 840-0170C not present 5 (512Mb) present 317-0461-COM present requires 837-14672 sensor board (SH4 based) @@ -632,12 +632,12 @@ Notes: Game Type on cart FLASHROM # of SOP48 IC @ 1F IC @ 1H IC @ 2K IC @ 1M code (1) Notes ------------------------------------------------------------------------------------------------------------------------------------------------------ /Gun Survivor 2 Biohazard -\Code: Veronica F1X 25709801 1 (64Mb) 14 (128Mb) not present NAODEC2A NAODEC1B 317-5075-COM BHF1 uses Namco FCA JVS I/O, will crash if COMM.BOARD not present +\Code: Veronica F1X 25709801 1 (64Mb) 14 (128Mb) not present NAODEC2A NAODEC1B 317-5075-COM BHF1 uses Namco FCA JVS I/O (not dumped), will crash if COMM.BOARD not present /Gun Survivor 2 Biohazard \Code: Veronica (Ver. E) F1X 25709801 1 (64Mb) 14 (128Mb) not present NAODEC2A NAODEC1B 317-5075-COM BHF2 /Shin Nihon Prowrestling Toukon /FL0 & FL1 have pin55 raised from PCB. \Retsuden 4 Arcade Edition (Ver. A) F2X 25349801 2 (64Mb) 15 (128Mb) not present NAODEC2A NAODEC1B 317-5040-COM TRF1 \They are connected togheter and go to pin89 on 2K. -World Kicks PCB (WKC1 Ver. A) F2 25509801 2 (64Mb) 9 (128Mb) not present NAODEC2A NAODEC1B 317-5040-COM WKC1 uses Namco V226 JVS I/O +World Kicks PCB (WKC1 Ver. A) F2 25509801 2 (64Mb) 9 (128Mb) not present NAODEC2A NAODEC1B 317-5040-COM WKC1 uses Namco V226 JVS I/O (not dumped) World Kicks (WK2 Ver. A) F2 25209801 2 (64Mb) 9 (128Mb) not present NAODEC2A NAODEC1A 317-5040-COM WK2 World Kicks (WK3 Ver. A) F2 25209801 2 (64Mb) 9 (128Mb) not present NAODEC2A NAODEC1A 317-5040-COM WK3 @@ -685,7 +685,7 @@ Notes: Cart Sticker FL0-FL3 FLASHROMs X76F100 CY37128 315-5881 Known Game Game Type on cart FLASHROM # of SOP48 IC @ 1F IC @ 2J IC @ 1M code (1) Notes -------------------------------------------------------------------------------------------------------------------------------- -Mazan: Flash of the Blade (Ver. A) F1X 25869812 1 (64Mb) 8 (128Mb) present NAODEC3 317-0266-COM MAZ2 uses 2x Namco FCB JVS I/O +Mazan: Flash of the Blade (Ver. A) F1X 25869812 1 (64Mb) 8 (128Mb) present NAODEC3 317-0266-COM MAZ2 uses 2x Namco FCB JVS I/O (not dumped) Mazan: Flash of the Blade (Ver. A) F1X 25869812 1 (64Mb) 8 (128Mb) present NAODEC3 317-0266-COM MAZ3 Ninja Assault (Ver. A) F3 25469801 3 (64Mb) 9 (128Mb) present NAODEC3 317-5068-COM NJA1 uses Namco JYU JVS I/O Ninja Assault (Ver. A) F3 25469801 3 (64Mb) 9 (128Mb) present NAODEC3 317-5068-COM NJA2 @@ -9052,8 +9052,8 @@ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", " /* 840-xxxxx (Sega Naomi 2 cart games) */ /* 0046 */ GAME( 2001, wldrider, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Wild Riders (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) -/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart)", GAME_FLAGS ) -/* 0061 */ GAME( 2001, vstrik3cb,vstrik3c,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Cart, Rev B)", GAME_FLAGS ) +/* 0061 */ GAME( 2001, vstrik3c, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS)", GAME_FLAGS ) +/* 0061 */ GAME( 2001, vstrik3cb,vstrik3c,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Striker 3 (USA, EXP, KOR, AUS) (Rev B)", GAME_FLAGS ) /* 0062 */ GAME( 2001, clubkrte, naomi2, naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session", GAME_FLAGS ) /* 0062 */ GAME( 2001, clubkrtd, clubkrte,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev D)", GAME_FLAGS ) /* 0062 */ GAME( 2001, clubkrtc, clubkrte,naomi2m2, naomi, naomi_state, naomi2, ROT0, "Sega", "Club Kart: European Session (Rev C)", GAME_FLAGS ) @@ -9073,9 +9073,9 @@ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", " /* 0003 */ GAME( 1999, doa2, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) /* 0003 */ GAME( 2000, doa2m, doa2, naomim2, naomi, naomi_state, naomi, ROT0, "Tecmo", "Dead or Alive 2 Millennium (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) /* 0004 */ GAME( 1999, shangril, naomi, naomim2, naomi_mp,naomi_state,naomi_mp,ROT0, "Marvelous Ent.", "Dengen Tenshi Taisen Janshi Shangri-la (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) -/* 0005 */ GAME( 1999, spawn, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Spawn In the Demon's Hand (JPN, USA, EUR, ASI, AUS) (Rev B)", GAME_FLAGS ) +/* 0005 */ GAME( 1999, spawn, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Todd Mc Farlane / Capcom","Spawn In the Demon's Hand (JPN, USA, EUR, ASI, AUS) (Rev B)", GAME_FLAGS ) /* 0006 */ GAME( 1999, puyoda, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Compile", "Puyo Puyo Da!", GAME_FLAGS ) -/* 0007-02 */ GAME( 2000,mvsc2, naomi, naomim1, naomi, naomi_state, mvsc2, ROT0, "Capcom", "Marvel Vs. Capcom 2 New Age of Heroes (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_FLAGS ) +/* 0007-02 */ GAME( 2000,mvsc2, naomi, naomim1, naomi, naomi_state, mvsc2, ROT0, "Marvel / Capcom", "Marvel Vs. Capcom 2 New Age of Heroes (JPN, USA, EUR, ASI, AUS) (Rev A)", GAME_FLAGS ) /* 0008 */ GAME( 2000, pstone2, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Power Stone 2 (JPN, USA, EUR, ASI, AUS)", GAME_FLAGS ) /* 0011 */ GAME( 2000, capsnk, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev C)", GAME_FLAGS ) /* 0011 */ GAME( 2000, capsnka, capsnk,naomim2, naomi, naomi_state, naomi, ROT0, "Capcom / SNK", "Capcom Vs. SNK Millennium Fight 2000 (JPN, USA, EXP, KOR, AUS) (Rev A)", GAME_FLAGS ) @@ -9083,9 +9083,9 @@ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", " /* 0012 */ GAME( 2000, cspike, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Psikyo / Capcom", "Gun Spike (JPN) / Cannon Spike (USA, EXP, KOR, AUS)", GAME_FLAGS ) /* 0013 */ GAME( 2000, ggx, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Arc System Works","Guilty Gear X (JPN)", GAME_FLAGS ) /* 0014 */ GAME( 2000, gwing2, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Takumi / Capcom", "Giga Wing 2 (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) -/* 0015 */ GAME( 2000, pjustic, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Moero Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) (Rev A)", GAME_FLAGS ) +/* 0015 */ GAME( 2000, pjustic, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Moero! Justice Gakuen (JPN) / Project Justice (USA, EXP, KOR, AUS) (Rev A)", GAME_FLAGS ) /* 0016 */ GAME( 2000, deathcox, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Ecole Software", "Death Crimson OX (JPN, USA, EXP, KOR, AUS)", GAME_FLAGS ) -/* 0017 */ GAME( 2001, gundmct, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Banpresto", "Mobile Suit Gundam: Federation Vs. Zeon (2001-02-08)", GAME_FLAGS ) +/* 0017 */ GAME( 2001, gundmct, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Banpresto / Capcom","Mobile Suit Gundam: Federation Vs. Zeon", GAME_FLAGS ) /* 0020 */ GAME( 2001, zerogu2, naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Psikyo", "Zero Gunner 2", GAME_FLAGS ) /* 0057 */ GAME( 2007, sl2007, naomi, naomim4, naomi, naomi_state, naomi, ROT270,"Triangle Service","Shooting Love 2007", GAME_FLAGS ) /* 0058 */ GAME( 2008, ausfache, naomi, naomim4, naomi, naomi_state, naomi, ROT0, "Subtle Style", "Akatsuki Blitzkampf Ausf Achse", GAME_FLAGS ) @@ -9097,19 +9097,19 @@ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", " /* HMG016007 */ GAME( 2001,hmgeo,naomi, naomim2, naomi, naomi_state, naomi, ROT0, "Capcom", "Heavy Metal Geomatrix (JPN, USA, EUR, ASI, AUS) (Rev B)", GAME_FLAGS ) /* Cart games on Namco custom ROM board */ -/* 25209801 */ GAME( 2000, wldkicks, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "World Kicks (WK2 Ver. A)", GAME_FLAGS ) -/* 25209801 */ GAME( 2000, wldkicksa,wldkicks,naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "World Kicks (WK3 Ver. A)", GAME_FLAGS ) -/* 25349801 */ GAME( 2000, toukon4, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A)", GAME_FLAGS ) -/* 25469801 */ GAME( 2000, ninjaslt1,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA1 Ver. A)", GAME_FLAGS ) -/* 25469801 */ GAME( 2000, ninjaslt2,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA2 Ver. A)", GAME_FLAGS ) -/* 25469801 */ GAME( 2000, ninjaslt, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA3 Ver. A)", GAME_FLAGS ) -/* 25469801 */ GAME( 2000, ninjaslt4,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Ninja Assault (NJA4 Ver. A)", GAME_FLAGS ) +/* 25209801 */ GAME( 2000, wldkicks, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "World Kicks (WK2 Ver. A)", GAME_FLAGS ) +/* 25209801 */ GAME( 2000, wldkicksa,wldkicks,naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "World Kicks (WK3 Ver. A)", GAME_FLAGS ) +/* 25349801 */ GAME( 2000, toukon4, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A)", GAME_FLAGS ) +/* 25469801 */ GAME( 2000, ninjaslt1,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Ninja Assault (NJA1 Ver. A)", GAME_FLAGS ) +/* 25469801 */ GAME( 2000, ninjaslt2,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Ninja Assault (NJA2 Ver. A)", GAME_FLAGS ) +/* 25469801 */ GAME( 2000, ninjaslt, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Ninja Assault (NJA3 Ver. A)", GAME_FLAGS ) +/* 25469801 */ GAME( 2000, ninjaslt4,ninjaslt,naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Ninja Assault (NJA4 Ver. A)", GAME_FLAGS ) /* Note: the game's full name is exactly "World Kicks PCB", have different s/n as well */ -/* 25509801 */ GAME( 2000, wldkicksb,wldkicks,naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "World Kicks PCB (WKC1 Ver. A)", GAME_FLAGS ) +/* 25509801 */ GAME( 2000, wldkicksb,wldkicks,naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "World Kicks PCB (WKC1 Ver. A)", GAME_FLAGS ) /* 25709801 */ GAME( 2001, gunsur2, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Gun Survivor 2 Biohazard Code: Veronica (BHF1 Ver. E)", GAME_FLAGS ) /* 25709801 */ GAME( 2001, gunsur2e, gunsur2, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Gun Survivor 2 Biohazard Code: Veronica (BHF2 Ver. E)", GAME_FLAGS ) -/* 25869812 */ GAME( 2002, mazan, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Mazan: Flash of the Blade (MAZ2 Ver. A)", GAME_FLAGS ) -/* 25869812 */ GAME( 2002, mazana, mazan, naomim2,naomi, naomi_state, naomi, ROT0, "Capcom / Namco", "Mazan: Flash of the Blade (MAZ3 Ver. A)", GAME_FLAGS ) +/* 25869812 */ GAME( 2002, mazan, naomi, naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Mazan: Flash of the Blade (MAZ2 Ver. A)", GAME_FLAGS ) +/* 25869812 */ GAME( 2002, mazana, mazan, naomim2,naomi, naomi_state, naomi, ROT0, "Namco", "Mazan: Flash of the Blade (MAZ3 Ver. A)", GAME_FLAGS ) /* GDS-xxxx (Sega GD-ROM games) */ /* 0001 */ GAME( 2000, confmiss, naomigd, naomigd, hotd2, naomi_state, naomigd, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_FLAGS ) @@ -9180,8 +9180,8 @@ GAME( 2003, puyofevp, naomi, naomim1, naomi, naomi_state, naomi, ROT0, "Sega", " /* 0036F */ GAME( 2004, vf4tuned, naomi2, naomi2gd, naomi, naomi_state, naomi2, ROT0, "Sega", "Virtua Fighter 4 Final Tuned (Rev F) (GDS-0036F)", GAME_FLAGS ) // 0037? Puyo Puyo Fever (Export) // 0038 -// 0039 Initial D: Arcade Stage Ver. 3 Cycraft Edition -// 0039A Initial D: Arcade Stage Ver. 3 Cycraft Edition (Rev A) +// 0039 Initial D Arcade Stage Ver. 3 Cycraft Edition +// 0039A Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev A) /* 0039B */ GAME( 2006, inidv3cy, naomi2, naomigd, naomi, naomi_state, naomi2, ROT0, "Sega", "Initial D Arcade Stage Ver. 3 Cycraft Edition (Rev. B) (GDS-0039B)", GAME_FLAGS ) // 0040 // 0041 Dragon Treasure 3 diff --git a/src/mame/mame.lst b/src/mame/mame.lst index bf936d1a583..7732b8d4d40 100644 --- a/src/mame/mame.lst +++ b/src/mame/mame.lst @@ -5313,10 +5313,10 @@ ggram2 // 1999.04 Giant Gram: All Japan Pro Wrestling 2 // 1999.05 Taisen Puzzle Kurutto Stone ringout // 1999.06 Ring Out 4x4 f355dlx // 1999.07 F355 Challenge Deluxe (BIOS) -f355bios // 1999.08 F355 Challenge Twin (BIOS) f355 // 1999.07 F355 Challenge Deluxe f355twin // 1999.07 F355 Challenge Twin shangril // 1999.08 Dengen Tenshi Taisen Janshi Shangri-la +f355bios // 1999.08 F355 Challenge Twin (BIOS) tduno // 1999.08 Touch de UNO! / Unou Nouryoku Check Machine vs2_2k // 1999.08 Virtua Striker 2 version 2000 (Rev C) suchie3 // 1999.09 Idol Janshi Su-Chi-Pi 3 @@ -5332,13 +5332,13 @@ marstv // 1999.12 Mars TV puyoda // 1999.12 Puyo Puyo Da! samba // 1999.12 Samba de Amigo (Rev B) vtennis // 1999.12 Virtua Tennis / Power Smash (cartridge) -sambap // 1999.?? Samba de Amigo (prototype) -vtennisg // 1999.?? Virtua Tennis / Power Smash (GD-ROM) alpiltdx // 1999.?? Airline Pilots Deluxe (Rev B) // 1999.?? Charge'N'Blast // 1999.?? Mayjinsen (Formation Battle in May) (prototype) // 1999.?? Pocket Shooting +sambap // 1999.?? Samba de Amigo (prototype) spawn // 1999.?? Spawn In the Demon's Hand +vtennisg // 1999.?? Virtua Tennis / Power Smash (GD-ROM) 18wheelr // 2000.01 18 Wheeler Deluxe (Rev A) 18wheels // 2000.01 18 Wheeler (Standard) 18wheelu // 2000.01 18 Wheeler (Upright) @@ -5357,9 +5357,6 @@ pstone2 // 2000.04 Power Stone 2 toukon4 // 2000.04 Shin Nihon Prowrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A) qmegamis // 2000.05 Quiz Ah Megamisama derbyo2k // 2000.06 Derby Owners Club 2000 Ver.2 (Rev A) -starhrse // 2000.?? Star Horse (big screens) -starhrct // 2000.12 Star Horse (server) -starhrcl // 2000.11.28 Star Horse (satellite) vonot // 2000.06 Virtual-on Oratorio Tangram M.S.B.S. Ver.5.66 2000 Edition ggx // 2000.07 Guilty Gear X slasho // 2000.07 Slashout @@ -5381,7 +5378,10 @@ ninjaslt // 2000.11 Ninja Assault (NJA3 Ver. A) ninjaslt4 // 2000.11 Ninja Assault (NJA4 Ver. A) wwfroyal // 2000.11 WWF Royal Rumble sprtjam // 2000.11.13 Sports Jam -pjustic // 2000.12 Moero Justice Gakuen / Project Justice +starhrcl // 2000.11.28 Star Horse (satellite) +starhrct // 2000.12 Star Horse (server) +starhrse // 2000.?? Star Horse (big screens) +pjustic // 2000.12 Moero! Justice Gakuen / Project Justice samba2k // 2000.12 Samba de Amigo Ver.2000 shaktam // 2000.12.28 Shakatto Tambourine (Rev B) // 2000.?? Boat Race Ocean Heats @@ -5413,7 +5413,7 @@ alienfnta // 2001.09 Alien Front (Rev A) gundmxgd // 2001.09 Mobile Suit Gundam: Federation Vs. Zeon DX derbyoc2 // 2001.10 Derby Owners Club II (Rev B) inunoos // 2001.10 Inu No Osanpo / Dog Walking (Rev A) -vtenis2c // 2001.10 Virtua Tennis 2 / Power Smash 2 (cartridge) +vtenis2c // 2001.10 Virtua Tennis 2 / Power Smash 2 (Rev A) (cart) shaktamb // 2001.10.17 Shakatto Tambourine Cho Powerup Chu (2K1 AUT) keyboard // 2001.11 La Keyboard ikaruga // 2001.12 Ikaruga @@ -5421,7 +5421,6 @@ lupinsho // 2001.12 Lupin the Third: the Shooting drbyocwc // 2001.?? Derby Owners Club World Edition (Rev. C) derbyocw // 2001.?? Derby Owners Club World Edition (Rev. D) // 2001.?? Star Horse 2001 -hopper // 2002.?? SWP Hopper Board vathlete // 2002.03 Virtua Athletics / Virtua Athlete mok // 2002.03.06 The Maze of the Kings luptype // 2002.04 Lupin The Third - The Typing (Rev A) @@ -5436,27 +5435,28 @@ moeru // 2002.12 Moeru Casinyo // 2002.?? Pochinya quizqgd // 2002.?? Quiz Keitai Q mode shootopl // 2002.?? Shootout Pool -shootpl // 2003.?? Shootout Pool The Medal / Shootout Pool Prize (Rev A) +hopper // 2002.?? SWP Hopper Board mtkob2 // 2003.02 MushiKing The King Of Beetle - // 2003.03 Sega Network Taisen Mahjong MJ ggxxrlo // 2003.02 Guilty Gear XX # Reload ggxxrl // 2003.03 Guilty Gear XX # Reload (Rev A) -shikgam2 // 2003.04 Shikigami No Shiro II / The Castle of Shikigami II + // 2003.03 Sega Network Taisen Mahjong MJ bdrdown // 2003.04 Border Down (Rev A) +shikgam2 // 2003.04 Shikigami No Shiro II / The Castle of Shikigami II usagiym // 2003.06 Usagi Yamashiro Mahjong Hen // 2003.07 Sega Network Taisen Mahjong MJ (Rev A) oinori // 2003.08 Oinori-daimyoujin Matsuri psyvar2 // 2003.11 Psyvariar 2 - The Will To Fabricate puyofev // 2003.11 Puyo Puyo Fever starhrsp // 2003.12.01 Star Horse Progress (satellite) (Rev A) -puyofevp // 2003.?? Puyo Puyo Fever (prototype) // 2003.?? Dragon Treasure +puyofevp // 2003.?? Puyo Puyo Fever (prototype) +shootpl // 2003.?? Shootout Pool The Medal / Shootout Pool Prize (Rev A) cfield // 2004.06 Chaos Field tetkiwam // 2004.06 Tetris Kiwamemichi (Arcade TV Game List - P.88, Right, 11 from bottom) trizeal // 2004.09 Trizeal // 2004.?? Dragon Treasure 2 -shootplm // 2004.?? Shootout Pool The Medal Ver. B / Shootout Pool Prize Ver. B kick4csh // 2004.?? Kick '4' Cash +shootplm // 2004.?? Shootout Pool The Medal Ver. B / Shootout Pool Prize Ver. B // 2004.?? The Quiz Show meltyblo // 2005.03 Melty Blood Act Cadenza ss2005 // 2005.03 Super Shanghai 2005 @@ -5522,12 +5522,12 @@ vstrik3cb // 2001.04 Virtua Striker 3 (Rev B) (cartridge) vstrik3 // 2001.04.06 Virtua Striker 3 Ver. 2002 wldrider // 2001.05 Wild Riders clubkrte // 2001.06 Club Kart: European Session -clubkrtc // 2001.?? Club Kart: European Session (Rev C) clubkrtd // 2001.06 Club Kart: European Session (Rev D) beachspi // 2001.07 Beach Spikers vf4cart // 2001.08.02 Virtua Fighter 4 (cartridge) vf4 // 2001.08.02 Virtua Fighter 4 (GD-ROM) vf4b // 2001.08.20 Virtua Fighter 4 (Rev B) (cartridge) +clubkrtc // 2001.?? Club Kart: European Session (Rev C) vf4c // 2002.01.31 Virtua Fighter 4 (Rev C) (cartridge) kingrt66 // 2002.02 The King of Route 66 (Rev A) // 2002.02.14 Initial D Arcade Stage (Japan) @@ -5542,8 +5542,6 @@ vf4evoa // 2002.08 Virtua Fighter 4 Evolution initdv2jo // 2002.12 Initial D Arcade Stage Ver. 2 (Japan) initdv2e // 2002.12 Initial D Arcade Stage Ver. 2 (export) vf4evo // 2002.12 Virtua Fighter 4 Evolution Ver.B -clubk2k3 // 2003.?? Club Kart: European Session (2003, Rev A) -clubk2kp // 2003.?? Club Kart: European Session (2003, prototype) initdexpo // 2002.?? Initial D Arcade Stage (Export) // 2002.?? Sega Driving Simulator // 2003.03 World Club Champion Football Serie A 2001-2002 Ver.2 @@ -5551,10 +5549,12 @@ initdexpo // 2002.?? Initial D Arcade Stage (Export) initdv2j // 2003.05.27 Initial D Arcade Stage Ver. 2 (Japan) (Rev B) // 2003.09 World Club Champion Football Serie A 2002-2003 // 2003.?? Club Kart Cycraft Edition +clubk2k3 // 2003.?? Club Kart: European Session (2003, Rev A) +clubk2kp // 2003.?? Club Kart: European Session (2003, prototype) clubkprz // 2003.?? Club Kart Prize +clubkpzb // 2004.01.23 Club Kart Prize Ver. B (strings in the EPROM indicate a build date of Jan. 23, 2004 for the game's program) initdv3j // 2004.01.30 Initial D Arcade Stage Ver. 3 (Japan) (Rev C) initdv3jb // 2004.01 Initial D Arcade Stage Ver. 3 (Japan) (Rev B) -clubkpzb // 2004.01 Club Kart Prize Ver. B (strings in the EPROM indicate a build date of Jan. 23, 2004 for the game's program) initdv3e // 2004.05.18 Initial D Arcade Stage Ver. 3 (Export) // 2004.06 World Club Champion Football Serie A 2002-2003 Ver.2 // 2004.07 Virtua Fighter 4 Final Tuned @@ -5626,8 +5626,8 @@ vs2002ex // 2002.07.30 Virtua Striker 2002 (Export) vs2002j // 2002.10 Virtua Striker 2002 (Japan) fzeroaxc // 2003.06.11 F-Zero AX (Rev. C) avalons // 2003.07 The Key Of Avalon: The Wizard Master (server) (Rev C) - // 2003.10 The Key Of Avalon 1.01 gekpurya // 2003.10 Gekitou Pro Yakyuu Mizushima Shinji All Stars vs. Pro Yakyuu (Rev C) + // 2003.10 The Key Of Avalon 1.01 fzeroax // 2003.12 F-Zero AX (Rev. E) // 2003.12 The Key Of Avalon 1.10 // 2004.04 The Key Of Avalon 1.20 - Summon The New Monsters @@ -5638,21 +5638,21 @@ vs4 // 2004.12.02 Virtua Striker 4 (export) // 2004.?? F-Zero AX - Monster Ride Cycraft Edition tfupdate // 2004.?? Triforce GDROM Boot Update // 2005.08 Avalon no Kagi Ver.2.5 Kagi Seisen -mkartagp // 2005.12 Mario Kart Arcade Grand Prix +mkartagp // 2005.12 Mario Kart Arcade GP (MKA2 Ver.B) // 2005.?? Donkey Kong Jungle Fever // 2006.01.31 Virtua Striker 4 Ver.2006 (export) vs42006 // 2006.05 Virtua Striker 4 Ver.2006 (Japan) (Rev D) // 2006.?? Firmware Update For Compact Flash Box (Rev A) -mkartag2 // 2007.03 Mario Kart Arcade Grand Prix 2 -mkartag2a // 2007.03 Mario Kart Arcade Grand Prix 2 +mkartag2 // 2007.03 Mario Kart Arcade GP 2 (MK21 Ver.A) +mkartag2a // 2007.03 Mario Kart Arcade GP 2 (MK21 Ver.A, alt dump) // Chihiro (X-Box based) chihiro // 2002.?? Chihiro BIOS hotd3 // 2002.10.29 The House of the Dead III // 2003.02 Crazy Taxi High Roller // 2003.02 Crazy Taxi High Roller (Rev A) -crtaxihr // 2003.02.24 Crazy Taxi High Roller (Rev B) // 2003.02 Virtua Cop 3 +crtaxihr // 2003.02.24 Crazy Taxi High Roller (Rev B) vcop3 // 2003.02.26 Virtua Cop 3 (Rev A) // 2003.12 Outrun 2 Prototype (Rev P) // 2003.12 Outrun 2 @@ -5670,7 +5670,6 @@ wangmid // 2004.07 Wangan Midnight Maximum Tune (export) (Rev B) // 2004.09 Quest of D // 2004.11 Sega Golf Club Network Pro Tour // 2004.12 Ghost Squad -ghostsqu // 2004.12.09 Ghost Squad (Rev A) // 2004.12 Quest of D Ver.1.01C // 2004.12 Quest of D Ver.1.02 // 2004.12 Quest of D Ver.1.10 @@ -5680,6 +5679,7 @@ ghostsqu // 2004.12.09 Ghost Squad (Rev A) outr2st // 2004.12 Outrun 2 Special Tours (Rev A) mj2c // 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev C) // 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev D) +ghostsqu // 2004.12.09 Ghost Squad (Rev A) // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev E) // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F) mj2 // 2005.02.02 Sega Network Taisen Mahjong MJ 2 (Rev G) diff --git a/src/mess/drivers/cnsector.c b/src/mess/drivers/cnsector.c index 3c6f3c6a31f..9153b3a3718 100644 --- a/src/mess/drivers/cnsector.c +++ b/src/mess/drivers/cnsector.c @@ -38,16 +38,16 @@ public: UINT16 m_o; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_start(); }; @@ -56,17 +56,17 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 -void cnsector_state::leds_update() +void cnsector_state::display_update() { UINT16 active_state[0x10]; @@ -78,32 +78,32 @@ void cnsector_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) output_set_digit_value(i, active_state[i]); - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(cnsector_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(cnsector_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -130,8 +130,8 @@ WRITE16_MEMBER(cnsector_state::write_r) { // R0-R5: select digit (right-to-left) for (int i = 0; i < 6; i++) - m_leds_state[i] = (data >> i & 1) ? m_o : 0; - leds_update(); + m_display_state[i] = (data >> i & 1) ? m_o : 0; + display_update(); // R6-R9: direction leds for (int i = 6; i < 10; i++) @@ -196,16 +196,16 @@ INPUT_PORTS_END void cnsector_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_o = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_o)); } @@ -219,7 +219,7 @@ static MACHINE_CONFIG_START( cnsector, cnsector_state ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(cnsector_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(cnsector_state, write_r)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", cnsector_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", cnsector_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_cnsector) diff --git a/src/mess/drivers/comp4.c b/src/mess/drivers/comp4.c index 3394fc17a86..de9bbc53a6d 100644 --- a/src/mess/drivers/comp4.c +++ b/src/mess/drivers/comp4.c @@ -41,15 +41,15 @@ public: UINT16 m_o; - UINT16 m_leds_state; - UINT8 m_leds_decay[0x10]; + UINT16 m_display_state; + UINT8 m_display_decay[0x10]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_start(); }; @@ -57,37 +57,37 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 2 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 25 -void comp4_state::leds_update() +void comp4_state::display_update() { for (int i = 0; i < 0x10; i++) { - // turn on powered leds - if (m_leds_state >> i & 1) - m_leds_decay[i] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_display_state >> i & 1) + m_display_decay[i] = DISPLAY_DECAY_TIME; // send to output - output_set_lamp_value(i, (m_leds_decay[i] != 0) ? 1 : 0); + output_set_lamp_value(i, (m_display_decay[i] != 0) ? 1 : 0); } } -TIMER_DEVICE_CALLBACK_MEMBER(comp4_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(comp4_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x10; i++) - if (!(m_leds_state >> i & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state >> i & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -118,8 +118,8 @@ WRITE16_MEMBER(comp4_state::write_r) // R2 R7 // R1 R6 // R0 R5 - m_leds_state = data; - leds_update(); + m_display_state = data; + display_update(); } WRITE16_MEMBER(comp4_state::write_o) @@ -169,14 +169,14 @@ INPUT_PORTS_END void comp4_state::machine_start() { // zerofill - m_leds_state = 0; - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + m_display_state = 0; + memset(m_display_decay, 0, sizeof(m_display_decay)); m_o = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_decay)); save_item(NAME(m_o)); } @@ -190,7 +190,7 @@ static MACHINE_CONFIG_START( comp4, comp4_state ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(comp4_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(comp4_state, write_r)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", comp4_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", comp4_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_comp4) diff --git a/src/mess/drivers/elecdet.c b/src/mess/drivers/elecdet.c index b50dec209bc..aab66ebc80e 100644 --- a/src/mess/drivers/elecdet.c +++ b/src/mess/drivers/elecdet.c @@ -44,9 +44,9 @@ public: UINT16 m_o; bool m_power_on; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); @@ -55,8 +55,8 @@ public: DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_WRITE_LINE_MEMBER(auto_power_off); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_reset(); virtual void machine_start(); @@ -66,17 +66,17 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 -void elecdet_state::leds_update() +void elecdet_state::display_update() { UINT16 active_state[0x10]; @@ -88,32 +88,32 @@ void elecdet_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_power_on && m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_power_on && m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) output_set_digit_value(i, active_state[i]); - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(elecdet_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(elecdet_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -145,9 +145,9 @@ WRITE16_MEMBER(elecdet_state::write_r) // R0-R6: select digit UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3) & 0x7f; for (int i = 0; i < 7; i++) - m_leds_state[i] = (data >> i & 1) ? o : 0; + m_display_state[i] = (data >> i & 1) ? o : 0; - leds_update(); + display_update(); // R7,R8: speaker on m_speaker->level_w((data & 0x180 && m_o & 0x80) ? 1 : 0); @@ -249,17 +249,17 @@ void elecdet_state::machine_reset() void elecdet_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_o = 0; m_power_on = false; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_o)); save_item(NAME(m_power_on)); @@ -275,7 +275,7 @@ static MACHINE_CONFIG_START( elecdet, elecdet_state ) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(elecdet_state, write_r)) MCFG_TMS1XXX_POWER_OFF_CB(WRITELINE(elecdet_state, auto_power_off)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", elecdet_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", elecdet_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_elecdet) diff --git a/src/mess/drivers/splitsec.c b/src/mess/drivers/splitsec.c index aa7ae498962..28f906dc41c 100644 --- a/src/mess/drivers/splitsec.c +++ b/src/mess/drivers/splitsec.c @@ -72,17 +72,17 @@ public: UINT16 m_r; UINT16 m_o; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(splitsec_write_r); DECLARE_WRITE16_MEMBER(bankshot_write_r); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_start(); }; @@ -91,15 +91,15 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 /* display layout, where number xy is lamp R(x),O(y) @@ -122,14 +122,14 @@ public: */ -void splitsec_state::leds_update() +void splitsec_state::display_update() { UINT16 active_state[0x10]; for (int i = 0; i < 0x10; i++) { // update current state - m_leds_state[i] = (m_r >> i & 1) ? m_o : 0; + m_display_state[i] = (m_r >> i & 1) ? m_o : 0; active_state[i] = 0; @@ -137,35 +137,35 @@ void splitsec_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) { for (int j = 0; j < 8; j++) output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(splitsec_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(splitsec_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -193,7 +193,7 @@ WRITE16_MEMBER(splitsec_state::write_o) // O0-O6: led rows // O7: N/C m_o = data; - leds_update(); + display_update(); } WRITE16_MEMBER(splitsec_state::splitsec_write_r) @@ -206,7 +206,7 @@ WRITE16_MEMBER(splitsec_state::splitsec_write_r) // R0-R7: led columns m_r = data & 0xff; - leds_update(); + display_update(); } WRITE16_MEMBER(splitsec_state::bankshot_write_r) @@ -219,7 +219,7 @@ WRITE16_MEMBER(splitsec_state::bankshot_write_r) // R2-R10: led columns m_r = data & ~3; - leds_update(); + display_update(); } @@ -281,18 +281,18 @@ INPUT_PORTS_END void splitsec_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_input_mux = 0; m_r = 0; m_o = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_input_mux)); save_item(NAME(m_r)); @@ -308,7 +308,7 @@ static MACHINE_CONFIG_START( splitsec, splitsec_state ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(splitsec_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(splitsec_state, splitsec_write_r)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", splitsec_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", splitsec_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_splitsec) diff --git a/src/mess/drivers/starwbc.c b/src/mess/drivers/starwbc.c index 6c465c9ac86..2235a73f9b4 100644 --- a/src/mess/drivers/starwbc.c +++ b/src/mess/drivers/starwbc.c @@ -39,16 +39,16 @@ public: UINT16 m_r; UINT16 m_o; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_r); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); void prepare_and_update(); virtual void machine_start(); @@ -58,17 +58,17 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 -void starwbc_state::leds_update() +void starwbc_state::display_update() { UINT16 active_state[0x10]; @@ -80,19 +80,19 @@ void starwbc_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) { output_set_digit_value(i, active_state[i]); @@ -100,17 +100,17 @@ void starwbc_state::leds_update() output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(starwbc_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(starwbc_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } void starwbc_state::prepare_and_update() @@ -120,9 +120,9 @@ void starwbc_state::prepare_and_update() // R0,R2,R4,R6,R8 for (int i = 0; i < 5; i++) - m_leds_state[i*2] = (m_r >> (i*2) & 1) ? (o & mask[i]) : 0; + m_display_state[i*2] = (m_r >> (i*2) & 1) ? (o & mask[i]) : 0; - leds_update(); + display_update(); } @@ -227,17 +227,17 @@ INPUT_PORTS_END void starwbc_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_r = 0; m_o = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_r)); save_item(NAME(m_o)); @@ -252,7 +252,7 @@ static MACHINE_CONFIG_START( starwbc, starwbc_state ) MCFG_TMS1XXX_WRITE_O_CB(WRITE16(starwbc_state, write_o)) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", starwbc_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", starwbc_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_starwbc) diff --git a/src/mess/drivers/stopthie.c b/src/mess/drivers/stopthie.c index 249046286f3..f07dd1457f3 100644 --- a/src/mess/drivers/stopthie.c +++ b/src/mess/drivers/stopthie.c @@ -43,9 +43,9 @@ public: UINT16 m_o; bool m_power_on; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE16_MEMBER(write_o); @@ -54,8 +54,8 @@ public: DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_WRITE_LINE_MEMBER(auto_power_off); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_reset(); virtual void machine_start(); @@ -65,17 +65,17 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 -void stopthief_state::leds_update() +void stopthief_state::display_update() { UINT16 active_state[0x10]; @@ -87,32 +87,32 @@ void stopthief_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_power_on && m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_power_on && m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) output_set_digit_value(i, active_state[i]); - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(stopthief_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(stopthief_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -144,9 +144,9 @@ WRITE16_MEMBER(stopthief_state::write_r) // R0-R2: select digit UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f; for (int i = 0; i < 3; i++) - m_leds_state[i] = (data >> i & 1) ? o : 0; + m_display_state[i] = (data >> i & 1) ? o : 0; - leds_update(); + display_update(); // R3-R8: speaker on m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0); @@ -234,17 +234,17 @@ void stopthief_state::machine_reset() void stopthief_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_o = 0; m_power_on = false; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_o)); save_item(NAME(m_power_on)); @@ -260,7 +260,7 @@ static MACHINE_CONFIG_START( stopthief, stopthief_state ) MCFG_TMS1XXX_WRITE_R_CB(WRITE16(stopthief_state, write_r)) MCFG_TMS1XXX_POWER_OFF_CB(WRITELINE(stopthief_state, auto_power_off)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", stopthief_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", stopthief_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_stopthie) diff --git a/src/mess/drivers/ticalc1x.c b/src/mess/drivers/ticalc1x.c index 5c3e32a78c4..24bba4d7776 100644 --- a/src/mess/drivers/ticalc1x.c +++ b/src/mess/drivers/ticalc1x.c @@ -37,14 +37,14 @@ public: UINT16 m_o; bool m_power_on; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(tisr16_read_k); DECLARE_WRITE16_MEMBER(tisr16_write_o); DECLARE_WRITE16_MEMBER(tisr16_write_r); - void tisr16_leds_update(); + void tisr16_display_update(); DECLARE_READ8_MEMBER(ti1270_read_k); DECLARE_WRITE16_MEMBER(ti1270_write_o); @@ -61,8 +61,8 @@ public: DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_WRITE_LINE_MEMBER(auto_power_off); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); virtual void machine_reset(); virtual void machine_start(); @@ -72,17 +72,17 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // Devices with TMS09x0 strobe the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 5 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 50 -void ticalc1x_state::leds_update() +void ticalc1x_state::display_update() { UINT16 active_state[0x10]; @@ -94,19 +94,19 @@ void ticalc1x_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_power_on && m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_power_on && m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) { output_set_digit_value(i, active_state[i]); @@ -114,17 +114,17 @@ void ticalc1x_state::leds_update() output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(ticalc1x_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(ticalc1x_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -137,19 +137,19 @@ TIMER_DEVICE_CALLBACK_MEMBER(ticalc1x_state::leds_decay_tick) // SR-16: TMS1000 MCU labeled TMS1001NL. die labeled 1001A -void ticalc1x_state::tisr16_leds_update() +void ticalc1x_state::tisr16_display_update() { // update leds state for (int i = 0; i < 11; i++) if (m_r >> i & 1) - m_leds_state[i] = m_o; + m_display_state[i] = m_o; // exponent sign (not 100% sure this is correct) - m_leds_state[11] = (m_leds_state[0] | m_leds_state[1]) ? 0x40 : 0; + m_display_state[11] = (m_display_state[0] | m_display_state[1]) ? 0x40 : 0; // send to output for (int i = 0; i < 12; i++) - output_set_digit_value(i, m_leds_state[i]); + output_set_digit_value(i, m_display_state[i]); } READ8_MEMBER(ticalc1x_state::tisr16_read_k) @@ -170,7 +170,7 @@ WRITE16_MEMBER(ticalc1x_state::tisr16_write_r) // R0-R10: select digit (right-to-left) m_r = data; - tisr16_leds_update(); + tisr16_display_update(); } WRITE16_MEMBER(ticalc1x_state::tisr16_write_o) @@ -178,7 +178,7 @@ WRITE16_MEMBER(ticalc1x_state::tisr16_write_o) // O0-O7: digit segments m_o = data; - tisr16_leds_update(); + tisr16_display_update(); } @@ -200,9 +200,9 @@ WRITE16_MEMBER(ticalc1x_state::ti1270_write_r) { // R0-R7: select digit (right-to-left) for (int i = 0; i < 8; i++) - m_leds_state[i] = (data >> i & 1) ? m_o : 0; + m_display_state[i] = (data >> i & 1) ? m_o : 0; - leds_update(); + display_update(); } WRITE16_MEMBER(ticalc1x_state::ti1270_write_o) @@ -232,12 +232,12 @@ WRITE16_MEMBER(ticalc1x_state::wizatron_write_r) // R0-R8: select digit (right-to-left) // note: 3rd digit is custom(not 7seg), for math symbols for (int i = 0; i < 9; i++) - m_leds_state[i] = (data >> i & 1) ? m_o : 0; + m_display_state[i] = (data >> i & 1) ? m_o : 0; // 6th digit only has A and G for = - m_leds_state[3] &= 0x41; + m_display_state[3] &= 0x41; - leds_update(); + display_update(); } WRITE16_MEMBER(ticalc1x_state::wizatron_write_o) @@ -271,12 +271,12 @@ WRITE16_MEMBER(ticalc1x_state::ti30_write_r) // R0-R8: select digit UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3); for (int i = 0; i < 9; i++) - m_leds_state[i] = (data >> i & 1) ? o : 0; + m_display_state[i] = (data >> i & 1) ? o : 0; // 1st digit only has segments B,F,G,DP - m_leds_state[0] &= 0xe2; + m_display_state[0] &= 0xe2; - leds_update(); + display_update(); } WRITE16_MEMBER(ticalc1x_state::ti30_write_o) @@ -654,18 +654,18 @@ void ticalc1x_state::machine_reset() void ticalc1x_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_r = 0; m_o = 0; m_power_on = false; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_r)); save_item(NAME(m_o)); @@ -688,7 +688,7 @@ MACHINE_CONFIG_END static MACHINE_CONFIG_START( t9base, ticalc1x_state ) /* basic machine hardware */ - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", ticalc1x_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", ticalc1x_state, display_decay_tick, attotime::from_msec(1)) /* no video! */ diff --git a/src/mess/drivers/tispeak.c b/src/mess/drivers/tispeak.c index 0481f230c0d..4c0550f952f 100644 --- a/src/mess/drivers/tispeak.c +++ b/src/mess/drivers/tispeak.c @@ -54,11 +54,11 @@ public: UINT16 m_o; int m_power_on; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; - void leds_update(); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; + void display_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); UINT32 m_cart_max_size; UINT8* m_cart_base; @@ -127,10 +127,10 @@ DRIVER_INIT_MEMBER(tispeak_state, lantutor) // The device strobes the filament-enable very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 -void tispeak_state::leds_update() +void tispeak_state::display_update() { int filament_on = (m_r & 0x8000) ? 1 : 0; UINT16 active_state[0x10]; @@ -138,7 +138,7 @@ void tispeak_state::leds_update() for (int i = 0; i < 0x10; i++) { // update current state - m_leds_state[i] = (m_r >> i & 1) ? m_o : 0; + m_display_state[i] = (m_r >> i & 1) ? m_o : 0; active_state[i] = 0; @@ -146,19 +146,19 @@ void tispeak_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_power_on && filament_on && m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_power_on && filament_on && m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) { output_set_digit_value(i, active_state[i] & 0x3fff); @@ -166,17 +166,17 @@ void tispeak_state::leds_update() output_set_lamp_value(i*0x10 + j, active_state[i] >> j & 1); } - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(tispeak_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -212,7 +212,7 @@ WRITE16_MEMBER(tispeak_state::snspell_write_r) // other bits: MCU internal use m_r = data; - leds_update(); + display_update(); } WRITE16_MEMBER(tispeak_state::snspell_write_o) @@ -221,7 +221,7 @@ WRITE16_MEMBER(tispeak_state::snspell_write_o) // E,D,C,G,B,A,I,M,L,K,N,J,[AP],H,F,[DP] (sidenote: TI KLMN = MAME MLNK) m_o = BITSWAP16(data,12,15,10,7,8,9,11,6,13,3,14,0,1,2,4,5); - leds_update(); + display_update(); } @@ -243,7 +243,7 @@ WRITE16_MEMBER(tispeak_state::snmath_write_o) // [DP],D,C,H,F,B,I,M,L,K,N,J,[AP],E,G,A (sidenote: TI KLMN = MAME MLNK) m_o = BITSWAP16(data,12,0,10,7,8,9,11,6,3,14,4,13,1,2,5,15); - leds_update(); + display_update(); } @@ -253,7 +253,7 @@ WRITE16_MEMBER(tispeak_state::lantutor_write_r) { // same as default, except R13 is used for an extra digit m_r = data; - leds_update(); + display_update(); } @@ -442,18 +442,18 @@ void tispeak_state::machine_reset() void tispeak_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_r = 0; m_o = 0; m_power_on = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_r)); save_item(NAME(m_o)); @@ -482,7 +482,7 @@ static MACHINE_CONFIG_START( snmath, tispeak_state ) MCFG_TMS0270_WRITE_CTL_CB(DEVWRITE8("tms5100", tms5100_device, ctl_w)) MCFG_TMS0270_WRITE_PDC_CB(DEVWRITELINE("tms5100", tms5100_device, pdc_w)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", tispeak_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", tispeak_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_snspell) // max 9 digits /* no video! */ diff --git a/src/mess/drivers/wildfire.c b/src/mess/drivers/wildfire.c index 93e66e5d31d..853f464bded 100644 --- a/src/mess/drivers/wildfire.c +++ b/src/mess/drivers/wildfire.c @@ -46,16 +46,16 @@ public: UINT8 m_d; UINT16 m_a; - UINT16 m_leds_state[0x10]; - UINT16 m_leds_cache[0x10]; - UINT8 m_leds_decay[0x100]; + UINT16 m_display_state[0x10]; + UINT16 m_display_cache[0x10]; + UINT8 m_display_decay[0x100]; DECLARE_READ8_MEMBER(read_k); DECLARE_WRITE8_MEMBER(write_d); DECLARE_WRITE16_MEMBER(write_a); - TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); - void leds_update(); + TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick); + void display_update(); bool index_is_7segled(int index); virtual void machine_start(); @@ -65,15 +65,15 @@ public: /*************************************************************************** - LEDs + LED Display ***************************************************************************/ // The device strobes the outputs very fast, it is unnoticeable to the user. // To prevent flickering here, we need to simulate a decay. -// decay time, in steps of 10ms -#define LEDS_DECAY_TIME 4 +// decay time, in steps of 1ms +#define DISPLAY_DECAY_TIME 40 inline bool wildfire_state::index_is_7segled(int index) { @@ -81,14 +81,14 @@ inline bool wildfire_state::index_is_7segled(int index) return (index < 3); } -void wildfire_state::leds_update() +void wildfire_state::display_update() { UINT16 active_state[0x10]; for (int i = 0; i < 0x10; i++) { // update current state - m_leds_state[i] = (~m_a >> i & 1) ? m_d : 0; + m_display_state[i] = (~m_a >> i & 1) ? m_d : 0; active_state[i] = 0; @@ -96,19 +96,19 @@ void wildfire_state::leds_update() { int di = j << 4 | i; - // turn on powered leds - if (m_leds_state[i] >> j & 1) - m_leds_decay[di] = LEDS_DECAY_TIME; + // turn on powered segments + if (m_display_state[i] >> j & 1) + m_display_decay[di] = DISPLAY_DECAY_TIME; // determine active state - int ds = (m_leds_decay[di] != 0) ? 1 : 0; + int ds = (m_display_decay[di] != 0) ? 1 : 0; active_state[i] |= (ds << j); } } // on difference, send to output for (int i = 0; i < 0x10; i++) - if (m_leds_cache[i] != active_state[i]) + if (m_display_cache[i] != active_state[i]) { if (index_is_7segled(i)) output_set_digit_value(i, BITSWAP8(active_state[i],7,0,1,2,3,4,5,6) & 0x7f); @@ -117,17 +117,17 @@ void wildfire_state::leds_update() output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); } - memcpy(m_leds_cache, active_state, sizeof(m_leds_cache)); + memcpy(m_display_cache, active_state, sizeof(m_display_cache)); } -TIMER_DEVICE_CALLBACK_MEMBER(wildfire_state::leds_decay_tick) +TIMER_DEVICE_CALLBACK_MEMBER(wildfire_state::display_decay_tick) { - // slowly turn off unpowered leds + // slowly turn off unpowered segments for (int i = 0; i < 0x100; i++) - if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) - m_leds_decay[i]--; + if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i]) + m_display_decay[i]--; - leds_update(); + display_update(); } @@ -147,13 +147,13 @@ READ8_MEMBER(wildfire_state::read_k) WRITE8_MEMBER(wildfire_state::write_d) { m_d = data; - leds_update(); + display_update(); } WRITE16_MEMBER(wildfire_state::write_a) { m_a = data; - leds_update(); + display_update(); } @@ -183,17 +183,17 @@ INPUT_PORTS_END void wildfire_state::machine_start() { // zerofill - memset(m_leds_state, 0, sizeof(m_leds_state)); - memset(m_leds_cache, 0, sizeof(m_leds_cache)); - memset(m_leds_decay, 0, sizeof(m_leds_decay)); + memset(m_display_state, 0, sizeof(m_display_state)); + memset(m_display_cache, 0, sizeof(m_display_cache)); + memset(m_display_decay, 0, sizeof(m_display_decay)); m_d = 0; m_a = 0; // register for savestates - save_item(NAME(m_leds_state)); - save_item(NAME(m_leds_cache)); - save_item(NAME(m_leds_decay)); + save_item(NAME(m_display_state)); + save_item(NAME(m_display_cache)); + save_item(NAME(m_display_decay)); save_item(NAME(m_d)); save_item(NAME(m_a)); @@ -209,7 +209,7 @@ static MACHINE_CONFIG_START( wildfire, wildfire_state ) MCFG_AMI_S2000_WRITE_D_CB(WRITE8(wildfire_state, write_d)) MCFG_AMI_S2000_WRITE_A_CB(WRITE16(wildfire_state, write_a)) - MCFG_TIMER_DRIVER_ADD_PERIODIC("leds_decay", wildfire_state, leds_decay_tick, attotime::from_msec(10)) + MCFG_TIMER_DRIVER_ADD_PERIODIC("display_decay", wildfire_state, display_decay_tick, attotime::from_msec(1)) MCFG_DEFAULT_LAYOUT(layout_wildfire) |