This commit is contained in:
couriersud 2015-02-14 20:36:33 +01:00
commit a51ee3e00f
11 changed files with 340 additions and 340 deletions

View File

@ -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 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 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 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 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 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 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 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 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 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 CN1/2/3 - connectors joining to main board
Games known to use this PCB include.... Games known to use this PCB include....
Sticker EPROM MASKROMs 25LC040 A54SX32 Sticker EPROM MASKROMs 25LC040 A54SX32
Game on cart IC11# # of SOP44 IC13S# IC1# Notes 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: 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 (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) 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 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) 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) 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 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 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 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 / Shootout Pool 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 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 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. 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 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 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 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 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 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 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) 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 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" 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) 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 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. 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" 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) 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 Game Type on cart FLASHROM # of SOP48 IC @ 1F IC @ 1H IC @ 2K IC @ 1M code (1) Notes
------------------------------------------------------------------------------------------------------------------------------------------------------ ------------------------------------------------------------------------------------------------------------------------------------------------------
/Gun Survivor 2 Biohazard /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 /Gun Survivor 2 Biohazard
\Code: Veronica (Ver. E) F1X 25709801 1 (64Mb) 14 (128Mb) not present NAODEC2A NAODEC1B 317-5075-COM BHF2 \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. /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. \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 (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 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 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 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 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 NJA1 uses Namco JYU JVS I/O
Ninja Assault (Ver. A) F3 25469801 3 (64Mb) 9 (128Mb) present NAODEC3 317-5068-COM NJA2 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) */ /* 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 ) /* 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, 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) (Cart, Rev B)", 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, 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, 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 ) /* 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( 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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, 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 ) /* 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 */ /* 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, 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, "Capcom / Namco", "World Kicks (WK3 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, "Capcom / Namco", "Shin Nihon Pro Wrestling Toukon Retsuden 4 Arcade Edition (TRF1 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, "Capcom / Namco", "Ninja Assault (NJA1 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, "Capcom / Namco", "Ninja Assault (NJA2 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, "Capcom / Namco", "Ninja Assault (NJA3 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, "Capcom / Namco", "Ninja Assault (NJA4 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 */ /* 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, 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 ) /* 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, 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, "Capcom / Namco", "Mazan: Flash of the Blade (MAZ3 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) */ /* GDS-xxxx (Sega GD-ROM games) */
/* 0001 */ GAME( 2000, confmiss, naomigd, naomigd, hotd2, naomi_state, naomigd, ROT0, "Sega", "Confidential Mission (GDS-0001)", GAME_FLAGS ) /* 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 ) /* 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) // 0037? Puyo Puyo Fever (Export)
// 0038 // 0038
// 0039 Initial D: Arcade Stage Ver. 3 Cycraft Edition // 0039 Initial D Arcade Stage Ver. 3 Cycraft Edition
// 0039A Initial D: Arcade Stage Ver. 3 Cycraft Edition (Rev A) // 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 ) /* 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 // 0040
// 0041 Dragon Treasure 3 // 0041 Dragon Treasure 3

View File

@ -5313,10 +5313,10 @@ ggram2 // 1999.04 Giant Gram: All Japan Pro Wrestling 2
// 1999.05 Taisen Puzzle Kurutto Stone // 1999.05 Taisen Puzzle Kurutto Stone
ringout // 1999.06 Ring Out 4x4 ringout // 1999.06 Ring Out 4x4
f355dlx // 1999.07 F355 Challenge Deluxe (BIOS) f355dlx // 1999.07 F355 Challenge Deluxe (BIOS)
f355bios // 1999.08 F355 Challenge Twin (BIOS)
f355 // 1999.07 F355 Challenge Deluxe f355 // 1999.07 F355 Challenge Deluxe
f355twin // 1999.07 F355 Challenge Twin f355twin // 1999.07 F355 Challenge Twin
shangril // 1999.08 Dengen Tenshi Taisen Janshi Shangri-la 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 tduno // 1999.08 Touch de UNO! / Unou Nouryoku Check Machine
vs2_2k // 1999.08 Virtua Striker 2 version 2000 (Rev C) vs2_2k // 1999.08 Virtua Striker 2 version 2000 (Rev C)
suchie3 // 1999.09 Idol Janshi Su-Chi-Pi 3 suchie3 // 1999.09 Idol Janshi Su-Chi-Pi 3
@ -5332,13 +5332,13 @@ marstv // 1999.12 Mars TV
puyoda // 1999.12 Puyo Puyo Da! puyoda // 1999.12 Puyo Puyo Da!
samba // 1999.12 Samba de Amigo (Rev B) samba // 1999.12 Samba de Amigo (Rev B)
vtennis // 1999.12 Virtua Tennis / Power Smash (cartridge) 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) alpiltdx // 1999.?? Airline Pilots Deluxe (Rev B)
// 1999.?? Charge'N'Blast // 1999.?? Charge'N'Blast
// 1999.?? Mayjinsen (Formation Battle in May) (prototype) // 1999.?? Mayjinsen (Formation Battle in May) (prototype)
// 1999.?? Pocket Shooting // 1999.?? Pocket Shooting
sambap // 1999.?? Samba de Amigo (prototype)
spawn // 1999.?? Spawn In the Demon's Hand spawn // 1999.?? Spawn In the Demon's Hand
vtennisg // 1999.?? Virtua Tennis / Power Smash (GD-ROM)
18wheelr // 2000.01 18 Wheeler Deluxe (Rev A) 18wheelr // 2000.01 18 Wheeler Deluxe (Rev A)
18wheels // 2000.01 18 Wheeler (Standard) 18wheels // 2000.01 18 Wheeler (Standard)
18wheelu // 2000.01 18 Wheeler (Upright) 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) toukon4 // 2000.04 Shin Nihon Prowrestling Toukon Retsuden 4 Arcade Edition (TRF1 Ver. A)
qmegamis // 2000.05 Quiz Ah Megamisama qmegamis // 2000.05 Quiz Ah Megamisama
derbyo2k // 2000.06 Derby Owners Club 2000 Ver.2 (Rev A) 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 vonot // 2000.06 Virtual-on Oratorio Tangram M.S.B.S. Ver.5.66 2000 Edition
ggx // 2000.07 Guilty Gear X ggx // 2000.07 Guilty Gear X
slasho // 2000.07 Slashout slasho // 2000.07 Slashout
@ -5381,7 +5378,10 @@ ninjaslt // 2000.11 Ninja Assault (NJA3 Ver. A)
ninjaslt4 // 2000.11 Ninja Assault (NJA4 Ver. A) ninjaslt4 // 2000.11 Ninja Assault (NJA4 Ver. A)
wwfroyal // 2000.11 WWF Royal Rumble wwfroyal // 2000.11 WWF Royal Rumble
sprtjam // 2000.11.13 Sports Jam 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 samba2k // 2000.12 Samba de Amigo Ver.2000
shaktam // 2000.12.28 Shakatto Tambourine (Rev B) shaktam // 2000.12.28 Shakatto Tambourine (Rev B)
// 2000.?? Boat Race Ocean Heats // 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 gundmxgd // 2001.09 Mobile Suit Gundam: Federation Vs. Zeon DX
derbyoc2 // 2001.10 Derby Owners Club II (Rev B) derbyoc2 // 2001.10 Derby Owners Club II (Rev B)
inunoos // 2001.10 Inu No Osanpo / Dog Walking (Rev A) 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) shaktamb // 2001.10.17 Shakatto Tambourine Cho Powerup Chu (2K1 AUT)
keyboard // 2001.11 La Keyboard keyboard // 2001.11 La Keyboard
ikaruga // 2001.12 Ikaruga 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) drbyocwc // 2001.?? Derby Owners Club World Edition (Rev. C)
derbyocw // 2001.?? Derby Owners Club World Edition (Rev. D) derbyocw // 2001.?? Derby Owners Club World Edition (Rev. D)
// 2001.?? Star Horse 2001 // 2001.?? Star Horse 2001
hopper // 2002.?? SWP Hopper Board
vathlete // 2002.03 Virtua Athletics / Virtua Athlete vathlete // 2002.03 Virtua Athletics / Virtua Athlete
mok // 2002.03.06 The Maze of the Kings mok // 2002.03.06 The Maze of the Kings
luptype // 2002.04 Lupin The Third - The Typing (Rev A) luptype // 2002.04 Lupin The Third - The Typing (Rev A)
@ -5436,27 +5435,28 @@ moeru // 2002.12 Moeru Casinyo
// 2002.?? Pochinya // 2002.?? Pochinya
quizqgd // 2002.?? Quiz Keitai Q mode quizqgd // 2002.?? Quiz Keitai Q mode
shootopl // 2002.?? Shootout Pool 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 mtkob2 // 2003.02 MushiKing The King Of Beetle
// 2003.03 Sega Network Taisen Mahjong MJ
ggxxrlo // 2003.02 Guilty Gear XX # Reload ggxxrlo // 2003.02 Guilty Gear XX # Reload
ggxxrl // 2003.03 Guilty Gear XX # Reload (Rev A) 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) 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 usagiym // 2003.06 Usagi Yamashiro Mahjong Hen
// 2003.07 Sega Network Taisen Mahjong MJ (Rev A) // 2003.07 Sega Network Taisen Mahjong MJ (Rev A)
oinori // 2003.08 Oinori-daimyoujin Matsuri oinori // 2003.08 Oinori-daimyoujin Matsuri
psyvar2 // 2003.11 Psyvariar 2 - The Will To Fabricate psyvar2 // 2003.11 Psyvariar 2 - The Will To Fabricate
puyofev // 2003.11 Puyo Puyo Fever puyofev // 2003.11 Puyo Puyo Fever
starhrsp // 2003.12.01 Star Horse Progress (satellite) (Rev A) starhrsp // 2003.12.01 Star Horse Progress (satellite) (Rev A)
puyofevp // 2003.?? Puyo Puyo Fever (prototype)
// 2003.?? Dragon Treasure // 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 cfield // 2004.06 Chaos Field
tetkiwam // 2004.06 Tetris Kiwamemichi (Arcade TV Game List - P.88, Right, 11 from bottom) tetkiwam // 2004.06 Tetris Kiwamemichi (Arcade TV Game List - P.88, Right, 11 from bottom)
trizeal // 2004.09 Trizeal trizeal // 2004.09 Trizeal
// 2004.?? Dragon Treasure 2 // 2004.?? Dragon Treasure 2
shootplm // 2004.?? Shootout Pool The Medal Ver. B / Shootout Pool Prize Ver. B
kick4csh // 2004.?? Kick '4' Cash kick4csh // 2004.?? Kick '4' Cash
shootplm // 2004.?? Shootout Pool The Medal Ver. B / Shootout Pool Prize Ver. B
// 2004.?? The Quiz Show // 2004.?? The Quiz Show
meltyblo // 2005.03 Melty Blood Act Cadenza meltyblo // 2005.03 Melty Blood Act Cadenza
ss2005 // 2005.03 Super Shanghai 2005 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 vstrik3 // 2001.04.06 Virtua Striker 3 Ver. 2002
wldrider // 2001.05 Wild Riders wldrider // 2001.05 Wild Riders
clubkrte // 2001.06 Club Kart: European Session clubkrte // 2001.06 Club Kart: European Session
clubkrtc // 2001.?? Club Kart: European Session (Rev C)
clubkrtd // 2001.06 Club Kart: European Session (Rev D) clubkrtd // 2001.06 Club Kart: European Session (Rev D)
beachspi // 2001.07 Beach Spikers beachspi // 2001.07 Beach Spikers
vf4cart // 2001.08.02 Virtua Fighter 4 (cartridge) vf4cart // 2001.08.02 Virtua Fighter 4 (cartridge)
vf4 // 2001.08.02 Virtua Fighter 4 (GD-ROM) vf4 // 2001.08.02 Virtua Fighter 4 (GD-ROM)
vf4b // 2001.08.20 Virtua Fighter 4 (Rev B) (cartridge) 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) vf4c // 2002.01.31 Virtua Fighter 4 (Rev C) (cartridge)
kingrt66 // 2002.02 The King of Route 66 (Rev A) kingrt66 // 2002.02 The King of Route 66 (Rev A)
// 2002.02.14 Initial D Arcade Stage (Japan) // 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) initdv2jo // 2002.12 Initial D Arcade Stage Ver. 2 (Japan)
initdv2e // 2002.12 Initial D Arcade Stage Ver. 2 (export) initdv2e // 2002.12 Initial D Arcade Stage Ver. 2 (export)
vf4evo // 2002.12 Virtua Fighter 4 Evolution Ver.B 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) initdexpo // 2002.?? Initial D Arcade Stage (Export)
// 2002.?? Sega Driving Simulator // 2002.?? Sega Driving Simulator
// 2003.03 World Club Champion Football Serie A 2001-2002 Ver.2 // 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) initdv2j // 2003.05.27 Initial D Arcade Stage Ver. 2 (Japan) (Rev B)
// 2003.09 World Club Champion Football Serie A 2002-2003 // 2003.09 World Club Champion Football Serie A 2002-2003
// 2003.?? Club Kart Cycraft Edition // 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 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) 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) 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) initdv3e // 2004.05.18 Initial D Arcade Stage Ver. 3 (Export)
// 2004.06 World Club Champion Football Serie A 2002-2003 Ver.2 // 2004.06 World Club Champion Football Serie A 2002-2003 Ver.2
// 2004.07 Virtua Fighter 4 Final Tuned // 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) vs2002j // 2002.10 Virtua Striker 2002 (Japan)
fzeroaxc // 2003.06.11 F-Zero AX (Rev. C) fzeroaxc // 2003.06.11 F-Zero AX (Rev. C)
avalons // 2003.07 The Key Of Avalon: The Wizard Master (server) (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) 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) fzeroax // 2003.12 F-Zero AX (Rev. E)
// 2003.12 The Key Of Avalon 1.10 // 2003.12 The Key Of Avalon 1.10
// 2004.04 The Key Of Avalon 1.20 - Summon The New Monsters // 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 // 2004.?? F-Zero AX - Monster Ride Cycraft Edition
tfupdate // 2004.?? Triforce GDROM Boot Update tfupdate // 2004.?? Triforce GDROM Boot Update
// 2005.08 Avalon no Kagi Ver.2.5 Kagi Seisen // 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 // 2005.?? Donkey Kong Jungle Fever
// 2006.01.31 Virtua Striker 4 Ver.2006 (export) // 2006.01.31 Virtua Striker 4 Ver.2006 (export)
vs42006 // 2006.05 Virtua Striker 4 Ver.2006 (Japan) (Rev D) vs42006 // 2006.05 Virtua Striker 4 Ver.2006 (Japan) (Rev D)
// 2006.?? Firmware Update For Compact Flash Box (Rev A) // 2006.?? Firmware Update For Compact Flash Box (Rev A)
mkartag2 // 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 Grand Prix 2 mkartag2a // 2007.03 Mario Kart Arcade GP 2 (MK21 Ver.A, alt dump)
// Chihiro (X-Box based) // Chihiro (X-Box based)
chihiro // 2002.?? Chihiro BIOS chihiro // 2002.?? Chihiro BIOS
hotd3 // 2002.10.29 The House of the Dead III hotd3 // 2002.10.29 The House of the Dead III
// 2003.02 Crazy Taxi High Roller // 2003.02 Crazy Taxi High Roller
// 2003.02 Crazy Taxi High Roller (Rev A) // 2003.02 Crazy Taxi High Roller (Rev A)
crtaxihr // 2003.02.24 Crazy Taxi High Roller (Rev B)
// 2003.02 Virtua Cop 3 // 2003.02 Virtua Cop 3
crtaxihr // 2003.02.24 Crazy Taxi High Roller (Rev B)
vcop3 // 2003.02.26 Virtua Cop 3 (Rev A) vcop3 // 2003.02.26 Virtua Cop 3 (Rev A)
// 2003.12 Outrun 2 Prototype (Rev P) // 2003.12 Outrun 2 Prototype (Rev P)
// 2003.12 Outrun 2 // 2003.12 Outrun 2
@ -5670,7 +5670,6 @@ wangmid // 2004.07 Wangan Midnight Maximum Tune (export) (Rev B)
// 2004.09 Quest of D // 2004.09 Quest of D
// 2004.11 Sega Golf Club Network Pro Tour // 2004.11 Sega Golf Club Network Pro Tour
// 2004.12 Ghost Squad // 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.01C
// 2004.12 Quest of D Ver.1.02 // 2004.12 Quest of D Ver.1.02
// 2004.12 Quest of D Ver.1.10 // 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) outr2st // 2004.12 Outrun 2 Special Tours (Rev A)
mj2c // 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev C) mj2c // 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev C)
// 2004.12 Sega Network Taisen Mahjong MJ 2 (Rev D) // 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 E)
// 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F) // 2005.02 Sega Network Taisen Mahjong MJ 2 (Rev F)
mj2 // 2005.02.02 Sega Network Taisen Mahjong MJ 2 (Rev G) mj2 // 2005.02.02 Sega Network Taisen Mahjong MJ 2 (Rev G)

View File

@ -38,16 +38,16 @@ public:
UINT16 m_o; UINT16 m_o;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
DECLARE_WRITE16_MEMBER(write_r); DECLARE_WRITE16_MEMBER(write_r);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
void cnsector_state::leds_update() void cnsector_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -78,32 +78,32 @@ void cnsector_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_leds_state[i] >> j & 1) if (m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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]); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_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) // R0-R5: select digit (right-to-left)
for (int i = 0; i < 6; i++) for (int i = 0; i < 6; 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();
// R6-R9: direction leds // R6-R9: direction leds
for (int i = 6; i < 10; i++) for (int i = 6; i < 10; i++)
@ -196,16 +196,16 @@ INPUT_PORTS_END
void cnsector_state::machine_start() void cnsector_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_o = 0; m_o = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_o)); 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_O_CB(WRITE16(cnsector_state, write_o))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(cnsector_state, write_r)) 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) MCFG_DEFAULT_LAYOUT(layout_cnsector)

View File

@ -41,15 +41,15 @@ public:
UINT16 m_o; UINT16 m_o;
UINT16 m_leds_state; UINT16 m_display_state;
UINT8 m_leds_decay[0x10]; UINT8 m_display_decay[0x10];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
DECLARE_WRITE16_MEMBER(write_r); DECLARE_WRITE16_MEMBER(write_r);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 2 #define DISPLAY_DECAY_TIME 25
void comp4_state::leds_update() void comp4_state::display_update()
{ {
for (int i = 0; i < 0x10; i++) for (int i = 0; i < 0x10; i++)
{ {
// turn on powered leds // turn on powered segments
if (m_leds_state >> i & 1) if (m_display_state >> i & 1)
m_leds_decay[i] = LEDS_DECAY_TIME; m_display_decay[i] = DISPLAY_DECAY_TIME;
// send to output // 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++) for (int i = 0; i < 0x10; i++)
if (!(m_leds_state >> i & 1) && m_leds_decay[i]) if (!(m_display_state >> i & 1) && m_display_decay[i])
m_leds_decay[i]--; m_display_decay[i]--;
leds_update(); display_update();
} }
@ -118,8 +118,8 @@ WRITE16_MEMBER(comp4_state::write_r)
// R2 R7 // R2 R7
// R1 R6 // R1 R6
// R0 R5 // R0 R5
m_leds_state = data; m_display_state = data;
leds_update(); display_update();
} }
WRITE16_MEMBER(comp4_state::write_o) WRITE16_MEMBER(comp4_state::write_o)
@ -169,14 +169,14 @@ INPUT_PORTS_END
void comp4_state::machine_start() void comp4_state::machine_start()
{ {
// zerofill // zerofill
m_leds_state = 0; m_display_state = 0;
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_o = 0; m_o = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_o)); 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_O_CB(WRITE16(comp4_state, write_o))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(comp4_state, write_r)) 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) MCFG_DEFAULT_LAYOUT(layout_comp4)

View File

@ -44,9 +44,9 @@ public:
UINT16 m_o; UINT16 m_o;
bool m_power_on; bool m_power_on;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
@ -55,8 +55,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_INPUT_CHANGED_MEMBER(power_button);
DECLARE_WRITE_LINE_MEMBER(auto_power_off); DECLARE_WRITE_LINE_MEMBER(auto_power_off);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_reset(); virtual void machine_reset();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
void elecdet_state::leds_update() void elecdet_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -88,32 +88,32 @@ void elecdet_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_power_on && m_leds_state[i] >> j & 1) if (m_power_on && m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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]); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_decay[i]--; m_display_decay[i]--;
leds_update(); display_update();
} }
@ -145,9 +145,9 @@ WRITE16_MEMBER(elecdet_state::write_r)
// R0-R6: select digit // R0-R6: select digit
UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3) & 0x7f; UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3) & 0x7f;
for (int i = 0; i < 7; i++) 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 // R7,R8: speaker on
m_speaker->level_w((data & 0x180 && m_o & 0x80) ? 1 : 0); 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() void elecdet_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_o = 0; m_o = 0;
m_power_on = false; m_power_on = false;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_o)); save_item(NAME(m_o));
save_item(NAME(m_power_on)); 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_WRITE_R_CB(WRITE16(elecdet_state, write_r))
MCFG_TMS1XXX_POWER_OFF_CB(WRITELINE(elecdet_state, auto_power_off)) 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) MCFG_DEFAULT_LAYOUT(layout_elecdet)

View File

@ -72,17 +72,17 @@ public:
UINT16 m_r; UINT16 m_r;
UINT16 m_o; UINT16 m_o;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
DECLARE_WRITE16_MEMBER(splitsec_write_r); DECLARE_WRITE16_MEMBER(splitsec_write_r);
DECLARE_WRITE16_MEMBER(bankshot_write_r); DECLARE_WRITE16_MEMBER(bankshot_write_r);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
/* display layout, where number xy is lamp R(x),O(y) /* 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]; UINT16 active_state[0x10];
for (int i = 0; i < 0x10; i++) for (int i = 0; i < 0x10; i++)
{ {
// update current state // 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; active_state[i] = 0;
@ -137,35 +137,35 @@ void splitsec_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_leds_state[i] >> j & 1) if (m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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++) for (int j = 0; j < 8; j++)
output_set_lamp_value(i*10 + j, active_state[i] >> j & 1); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_decay[i]--; m_display_decay[i]--;
leds_update(); display_update();
} }
@ -193,7 +193,7 @@ WRITE16_MEMBER(splitsec_state::write_o)
// O0-O6: led rows // O0-O6: led rows
// O7: N/C // O7: N/C
m_o = data; m_o = data;
leds_update(); display_update();
} }
WRITE16_MEMBER(splitsec_state::splitsec_write_r) WRITE16_MEMBER(splitsec_state::splitsec_write_r)
@ -206,7 +206,7 @@ WRITE16_MEMBER(splitsec_state::splitsec_write_r)
// R0-R7: led columns // R0-R7: led columns
m_r = data & 0xff; m_r = data & 0xff;
leds_update(); display_update();
} }
WRITE16_MEMBER(splitsec_state::bankshot_write_r) WRITE16_MEMBER(splitsec_state::bankshot_write_r)
@ -219,7 +219,7 @@ WRITE16_MEMBER(splitsec_state::bankshot_write_r)
// R2-R10: led columns // R2-R10: led columns
m_r = data & ~3; m_r = data & ~3;
leds_update(); display_update();
} }
@ -281,18 +281,18 @@ INPUT_PORTS_END
void splitsec_state::machine_start() void splitsec_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_input_mux = 0; m_input_mux = 0;
m_r = 0; m_r = 0;
m_o = 0; m_o = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_input_mux)); save_item(NAME(m_input_mux));
save_item(NAME(m_r)); 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_O_CB(WRITE16(splitsec_state, write_o))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(splitsec_state, splitsec_write_r)) 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) MCFG_DEFAULT_LAYOUT(layout_splitsec)

View File

@ -39,16 +39,16 @@ public:
UINT16 m_r; UINT16 m_r;
UINT16 m_o; UINT16 m_o;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
DECLARE_WRITE16_MEMBER(write_r); DECLARE_WRITE16_MEMBER(write_r);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
void prepare_and_update(); void prepare_and_update();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
void starwbc_state::leds_update() void starwbc_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -80,19 +80,19 @@ void starwbc_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_leds_state[i] >> j & 1) if (m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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]); 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); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_decay[i]--; m_display_decay[i]--;
leds_update(); display_update();
} }
void starwbc_state::prepare_and_update() void starwbc_state::prepare_and_update()
@ -120,9 +120,9 @@ void starwbc_state::prepare_and_update()
// R0,R2,R4,R6,R8 // R0,R2,R4,R6,R8
for (int i = 0; i < 5; i++) 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() void starwbc_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_r = 0; m_r = 0;
m_o = 0; m_o = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_r)); save_item(NAME(m_r));
save_item(NAME(m_o)); 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_O_CB(WRITE16(starwbc_state, write_o))
MCFG_TMS1XXX_WRITE_R_CB(WRITE16(starwbc_state, write_r)) 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) MCFG_DEFAULT_LAYOUT(layout_starwbc)

View File

@ -43,9 +43,9 @@ public:
UINT16 m_o; UINT16 m_o;
bool m_power_on; bool m_power_on;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE16_MEMBER(write_o); DECLARE_WRITE16_MEMBER(write_o);
@ -54,8 +54,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_INPUT_CHANGED_MEMBER(power_button);
DECLARE_WRITE_LINE_MEMBER(auto_power_off); DECLARE_WRITE_LINE_MEMBER(auto_power_off);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_reset(); virtual void machine_reset();
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
void stopthief_state::leds_update() void stopthief_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -87,32 +87,32 @@ void stopthief_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_power_on && m_leds_state[i] >> j & 1) if (m_power_on && m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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]); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_decay[i]--; m_display_decay[i]--;
leds_update(); display_update();
} }
@ -144,9 +144,9 @@ WRITE16_MEMBER(stopthief_state::write_r)
// R0-R2: select digit // R0-R2: select digit
UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f; UINT8 o = BITSWAP8(m_o,3,5,2,1,4,0,6,7) & 0x7f;
for (int i = 0; i < 3; i++) 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 // R3-R8: speaker on
m_speaker->level_w((data & 0x1f8 && m_o & 8) ? 1 : 0); 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() void stopthief_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_o = 0; m_o = 0;
m_power_on = false; m_power_on = false;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_o)); save_item(NAME(m_o));
save_item(NAME(m_power_on)); 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_WRITE_R_CB(WRITE16(stopthief_state, write_r))
MCFG_TMS1XXX_POWER_OFF_CB(WRITELINE(stopthief_state, auto_power_off)) 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) MCFG_DEFAULT_LAYOUT(layout_stopthie)

View File

@ -37,14 +37,14 @@ public:
UINT16 m_o; UINT16 m_o;
bool m_power_on; bool m_power_on;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(tisr16_read_k); DECLARE_READ8_MEMBER(tisr16_read_k);
DECLARE_WRITE16_MEMBER(tisr16_write_o); DECLARE_WRITE16_MEMBER(tisr16_write_o);
DECLARE_WRITE16_MEMBER(tisr16_write_r); DECLARE_WRITE16_MEMBER(tisr16_write_r);
void tisr16_leds_update(); void tisr16_display_update();
DECLARE_READ8_MEMBER(ti1270_read_k); DECLARE_READ8_MEMBER(ti1270_read_k);
DECLARE_WRITE16_MEMBER(ti1270_write_o); DECLARE_WRITE16_MEMBER(ti1270_write_o);
@ -61,8 +61,8 @@ public:
DECLARE_INPUT_CHANGED_MEMBER(power_button); DECLARE_INPUT_CHANGED_MEMBER(power_button);
DECLARE_WRITE_LINE_MEMBER(auto_power_off); DECLARE_WRITE_LINE_MEMBER(auto_power_off);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
virtual void machine_reset(); virtual void machine_reset();
virtual void machine_start(); 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. // Devices with TMS09x0 strobe the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 5 #define DISPLAY_DECAY_TIME 50
void ticalc1x_state::leds_update() void ticalc1x_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -94,19 +94,19 @@ void ticalc1x_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_power_on && m_leds_state[i] >> j & 1) if (m_power_on && m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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]); 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); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_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 // SR-16: TMS1000 MCU labeled TMS1001NL. die labeled 1001A
void ticalc1x_state::tisr16_leds_update() void ticalc1x_state::tisr16_display_update()
{ {
// update leds state // update leds state
for (int i = 0; i < 11; i++) for (int i = 0; i < 11; i++)
if (m_r >> i & 1) 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) // 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 // send to output
for (int i = 0; i < 12; i++) 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) 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) // R0-R10: select digit (right-to-left)
m_r = data; m_r = data;
tisr16_leds_update(); tisr16_display_update();
} }
WRITE16_MEMBER(ticalc1x_state::tisr16_write_o) WRITE16_MEMBER(ticalc1x_state::tisr16_write_o)
@ -178,7 +178,7 @@ WRITE16_MEMBER(ticalc1x_state::tisr16_write_o)
// O0-O7: digit segments // O0-O7: digit segments
m_o = data; 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) // R0-R7: select digit (right-to-left)
for (int i = 0; i < 8; i++) 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) 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) // R0-R8: select digit (right-to-left)
// note: 3rd digit is custom(not 7seg), for math symbols // note: 3rd digit is custom(not 7seg), for math symbols
for (int i = 0; i < 9; i++) 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 = // 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) WRITE16_MEMBER(ticalc1x_state::wizatron_write_o)
@ -271,12 +271,12 @@ WRITE16_MEMBER(ticalc1x_state::ti30_write_r)
// R0-R8: select digit // R0-R8: select digit
UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3); UINT8 o = BITSWAP8(m_o,7,5,2,1,4,0,6,3);
for (int i = 0; i < 9; i++) 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 // 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) WRITE16_MEMBER(ticalc1x_state::ti30_write_o)
@ -654,18 +654,18 @@ void ticalc1x_state::machine_reset()
void ticalc1x_state::machine_start() void ticalc1x_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_r = 0; m_r = 0;
m_o = 0; m_o = 0;
m_power_on = false; m_power_on = false;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_r)); save_item(NAME(m_r));
save_item(NAME(m_o)); save_item(NAME(m_o));
@ -688,7 +688,7 @@ MACHINE_CONFIG_END
static MACHINE_CONFIG_START( t9base, ticalc1x_state ) static MACHINE_CONFIG_START( t9base, ticalc1x_state )
/* basic machine hardware */ /* 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! */ /* no video! */

View File

@ -54,11 +54,11 @@ public:
UINT16 m_o; UINT16 m_o;
int m_power_on; int m_power_on;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
void leds_update(); void display_update();
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
UINT32 m_cart_max_size; UINT32 m_cart_max_size;
UINT8* m_cart_base; 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. // The device strobes the filament-enable very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
void tispeak_state::leds_update() void tispeak_state::display_update()
{ {
int filament_on = (m_r & 0x8000) ? 1 : 0; int filament_on = (m_r & 0x8000) ? 1 : 0;
UINT16 active_state[0x10]; UINT16 active_state[0x10];
@ -138,7 +138,7 @@ void tispeak_state::leds_update()
for (int i = 0; i < 0x10; i++) for (int i = 0; i < 0x10; i++)
{ {
// update current state // 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; active_state[i] = 0;
@ -146,19 +146,19 @@ void tispeak_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_power_on && filament_on && m_leds_state[i] >> j & 1) if (m_power_on && filament_on && m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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); 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); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_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 // other bits: MCU internal use
m_r = data; m_r = data;
leds_update(); display_update();
} }
WRITE16_MEMBER(tispeak_state::snspell_write_o) 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) // 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); 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) // [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); 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 // same as default, except R13 is used for an extra digit
m_r = data; m_r = data;
leds_update(); display_update();
} }
@ -442,18 +442,18 @@ void tispeak_state::machine_reset()
void tispeak_state::machine_start() void tispeak_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_r = 0; m_r = 0;
m_o = 0; m_o = 0;
m_power_on = 0; m_power_on = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_r)); save_item(NAME(m_r));
save_item(NAME(m_o)); 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_CTL_CB(DEVWRITE8("tms5100", tms5100_device, ctl_w))
MCFG_TMS0270_WRITE_PDC_CB(DEVWRITELINE("tms5100", tms5100_device, pdc_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 MCFG_DEFAULT_LAYOUT(layout_snspell) // max 9 digits
/* no video! */ /* no video! */

View File

@ -46,16 +46,16 @@ public:
UINT8 m_d; UINT8 m_d;
UINT16 m_a; UINT16 m_a;
UINT16 m_leds_state[0x10]; UINT16 m_display_state[0x10];
UINT16 m_leds_cache[0x10]; UINT16 m_display_cache[0x10];
UINT8 m_leds_decay[0x100]; UINT8 m_display_decay[0x100];
DECLARE_READ8_MEMBER(read_k); DECLARE_READ8_MEMBER(read_k);
DECLARE_WRITE8_MEMBER(write_d); DECLARE_WRITE8_MEMBER(write_d);
DECLARE_WRITE16_MEMBER(write_a); DECLARE_WRITE16_MEMBER(write_a);
TIMER_DEVICE_CALLBACK_MEMBER(leds_decay_tick); TIMER_DEVICE_CALLBACK_MEMBER(display_decay_tick);
void leds_update(); void display_update();
bool index_is_7segled(int index); bool index_is_7segled(int index);
virtual void machine_start(); 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. // The device strobes the outputs very fast, it is unnoticeable to the user.
// To prevent flickering here, we need to simulate a decay. // To prevent flickering here, we need to simulate a decay.
// decay time, in steps of 10ms // decay time, in steps of 1ms
#define LEDS_DECAY_TIME 4 #define DISPLAY_DECAY_TIME 40
inline bool wildfire_state::index_is_7segled(int index) 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); return (index < 3);
} }
void wildfire_state::leds_update() void wildfire_state::display_update()
{ {
UINT16 active_state[0x10]; UINT16 active_state[0x10];
for (int i = 0; i < 0x10; i++) for (int i = 0; i < 0x10; i++)
{ {
// update current state // 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; active_state[i] = 0;
@ -96,19 +96,19 @@ void wildfire_state::leds_update()
{ {
int di = j << 4 | i; int di = j << 4 | i;
// turn on powered leds // turn on powered segments
if (m_leds_state[i] >> j & 1) if (m_display_state[i] >> j & 1)
m_leds_decay[di] = LEDS_DECAY_TIME; m_display_decay[di] = DISPLAY_DECAY_TIME;
// determine active state // 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); active_state[i] |= (ds << j);
} }
} }
// on difference, send to output // on difference, send to output
for (int i = 0; i < 0x10; i++) 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)) if (index_is_7segled(i))
output_set_digit_value(i, BITSWAP8(active_state[i],7,0,1,2,3,4,5,6) & 0x7f); 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); 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++) for (int i = 0; i < 0x100; i++)
if (!(m_leds_state[i & 0xf] >> (i>>4) & 1) && m_leds_decay[i]) if (!(m_display_state[i & 0xf] >> (i>>4) & 1) && m_display_decay[i])
m_leds_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) WRITE8_MEMBER(wildfire_state::write_d)
{ {
m_d = data; m_d = data;
leds_update(); display_update();
} }
WRITE16_MEMBER(wildfire_state::write_a) WRITE16_MEMBER(wildfire_state::write_a)
{ {
m_a = data; m_a = data;
leds_update(); display_update();
} }
@ -183,17 +183,17 @@ INPUT_PORTS_END
void wildfire_state::machine_start() void wildfire_state::machine_start()
{ {
// zerofill // zerofill
memset(m_leds_state, 0, sizeof(m_leds_state)); memset(m_display_state, 0, sizeof(m_display_state));
memset(m_leds_cache, 0, sizeof(m_leds_cache)); memset(m_display_cache, 0, sizeof(m_display_cache));
memset(m_leds_decay, 0, sizeof(m_leds_decay)); memset(m_display_decay, 0, sizeof(m_display_decay));
m_d = 0; m_d = 0;
m_a = 0; m_a = 0;
// register for savestates // register for savestates
save_item(NAME(m_leds_state)); save_item(NAME(m_display_state));
save_item(NAME(m_leds_cache)); save_item(NAME(m_display_cache));
save_item(NAME(m_leds_decay)); save_item(NAME(m_display_decay));
save_item(NAME(m_d)); save_item(NAME(m_d));
save_item(NAME(m_a)); 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_D_CB(WRITE8(wildfire_state, write_d))
MCFG_AMI_S2000_WRITE_A_CB(WRITE16(wildfire_state, write_a)) 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) MCFG_DEFAULT_LAYOUT(layout_wildfire)