mirror of
https://github.com/holub/mame
synced 2025-10-05 16:50:57 +03:00
sb30: does not have multiple queens, pawn promotion is set up in software (nw)
This commit is contained in:
parent
6d4a81795e
commit
5916c9a300
@ -8,8 +8,11 @@ The chess engine is also compatible with Tasc's The ChessMachine software.
|
||||
Was the hardware+software subcontracted to Tasc? It has similarities with Tasc R30.
|
||||
|
||||
TODO:
|
||||
- Sound is too short and high pitch, better when you underclock the cpu.
|
||||
Is cpu cycle timing wrong? or waitstate on p1000_w?
|
||||
- bootrom disable timer shouldn't be needed, real ARM has already fetched the next opcode
|
||||
- Sound is too short and high pitched, better when you underclock the cpu.
|
||||
Is cpu cycle timing wrong? I suspect conditional branch timing due to cache miss
|
||||
(pipeline has to refill). The delay loop between writing to the speaker is simply:
|
||||
SUBS R2, R2, #$1, BNE $2000cd8
|
||||
|
||||
******************************************************************************/
|
||||
|
||||
@ -367,5 +370,5 @@ ROM_END
|
||||
|
||||
|
||||
/* YEAR NAME PARENT COMPAT MACHINE INPUT CLASS INIT COMPANY FULLNAME FLAGS */
|
||||
CONS( 1992, risc, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek", "Kasparov RISC 2500", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1995, montreux, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek", "Mephisto Montreux", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK ) // after Saitek bought Hegener & Glaser
|
||||
CONS( 1992, risc, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek", "Kasparov RISC 2500", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_SOUND )
|
||||
CONS( 1995, montreux, 0, 0, risc2500, risc2500, risc2500_state, empty_init, "Saitek", "Mephisto Montreux", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_SOUND ) // after Saitek bought Hegener & Glaser
|
||||
|
@ -33,6 +33,7 @@ notes:
|
||||
- holding UP+DOWN on boot load the TestMode
|
||||
|
||||
TODO:
|
||||
- bootrom disable timer shouldn't be needed, real ARM has already fetched the next opcode
|
||||
- sound is too high pitched, same problem as in risc2500
|
||||
|
||||
******************************************************************************/
|
||||
@ -271,4 +272,4 @@ ROM_END
|
||||
******************************************************************************/
|
||||
|
||||
// YEAR NAME PARENT CMP MACHINE INPUT CLASS INIT COMPANY, FULLNAME, FLAGS
|
||||
CONS( 1993, tascr30, 0, 0, tasc, tasc, tasc_state, empty_init, "Tasc", "ChessSystem R30", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK )
|
||||
CONS( 1993, tascr30, 0, 0, tasc, tasc, tasc_state, empty_init, "Tasc", "ChessSystem R30", MACHINE_SUPPORTS_SAVE | MACHINE_CLICKABLE_ARTWORK | MACHINE_IMPERFECT_SOUND )
|
||||
|
@ -194,7 +194,7 @@ uint8_t tasc_sb30_device::spawn_cb(offs_t offset)
|
||||
if (piece_available(1 + SB30_WHITE_ROOK1)) piece_id = SB30_WHITE_ROOK1;
|
||||
else if (piece_available(1 + SB30_WHITE_ROOK2)) piece_id = SB30_WHITE_ROOK2;
|
||||
}
|
||||
else if (offset == 5)
|
||||
else if (offset == 5 && piece_available(1 + SB30_WHITE_QUEEN))
|
||||
piece_id = SB30_WHITE_QUEEN;
|
||||
|
||||
else if (offset == 6 && piece_available(1 + SB30_WHITE_KING))
|
||||
@ -216,7 +216,7 @@ uint8_t tasc_sb30_device::spawn_cb(offs_t offset)
|
||||
if (piece_available(1 + SB30_BLACK_ROOK1)) piece_id = SB30_BLACK_ROOK1;
|
||||
else if (piece_available(1 + SB30_BLACK_ROOK2)) piece_id = SB30_BLACK_ROOK2;
|
||||
}
|
||||
else if (offset == 11)
|
||||
else if (offset == 11 && piece_available(1 + SB30_BLACK_QUEEN))
|
||||
piece_id = SB30_BLACK_QUEEN;
|
||||
|
||||
else if (offset == 12 && piece_available(1 + SB30_BLACK_KING))
|
||||
|
Loading…
Reference in New Issue
Block a user