17
17
* along with this program; if not, write to the Free Software
18
18
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
19
19
*
20
- * Moero!! Pro Tennis have ADPCM codec on-board, PROM isn't dumped, emulation isn't
21
- * possible just now.
20
+ * Moero!! Pro Tennis and Moero!! Pro Yakyuu '88 Ketteiban have an ADPCM chip with
21
+ * internal ROM, used for voice samples (not dumped, so emulation isn't possible)
22
22
*/
23
23
24
24
#include " mapinc.h"
25
25
26
26
static uint8 preg, creg;
27
+ static void (*Sync)(void );
27
28
28
29
static SFORMAT StateRegs[] =
29
30
{
@@ -32,32 +33,47 @@ static SFORMAT StateRegs[] =
32
33
{ 0 }
33
34
};
34
35
35
- static void Sync (void ) {
36
+ static void M72Sync (void ) {
36
37
setprg16 (0x8000 , preg);
37
38
setprg16 (0xC000 , ~0 );
38
39
setchr8 (creg);
39
40
}
40
41
41
- static DECLFW (M72Write) {
42
+ static void M92Sync (void ) {
43
+ setprg16 (0x8000 , 0 );
44
+ setprg16 (0xC000 , preg);
45
+ setchr8 (creg);
46
+ }
47
+
48
+ static DECLFW (Write) {
42
49
if (V & 0x80 )
43
50
preg = V & 0xF ;
44
51
if (V & 0x40 )
45
52
creg = V & 0xF ;
46
53
Sync ();
47
54
}
48
55
49
- static void M72Power (void ) {
56
+ static void Power (void ) {
50
57
Sync ();
51
58
SetReadHandler (0x8000 , 0xFFFF , CartBR);
52
- SetWriteHandler (0x6000 , 0xFFFF , M72Write );
59
+ SetWriteHandler (0x8000 , 0xFFFF , Write );
53
60
}
54
61
55
62
static void StateRestore (int version) {
56
63
Sync ();
57
64
}
58
65
59
66
void Mapper72_Init (CartInfo *info) {
60
- info->Power = M72Power;
67
+ Sync = M72Sync;
68
+ info->Power = Power;
69
+ GameStateRestore = StateRestore;
70
+
71
+ AddExState (&StateRegs, ~0 , 0 , 0 );
72
+ }
73
+
74
+ void Mapper92_Init (CartInfo *info) {
75
+ Sync = M92Sync;
76
+ info->Power = Power;
61
77
GameStateRestore = StateRestore;
62
78
63
79
AddExState (&StateRegs, ~0 , 0 , 0 );
0 commit comments