1 #include "burnint.h"
2 #include "taito_ic.h"
3 
4 INT32 TaitoIC_PC080SNInUse = 0;
5 INT32 TaitoIC_PC090OJInUse = 0;
6 INT32 TaitoIC_TC0100SCNInUse = 0;
7 INT32 TaitoIC_TC0110PCRInUse = 0;
8 INT32 TaitoIC_TC0140SYTInUse = 0;
9 INT32 TaitoIC_TC0150RODInUse = 0;
10 INT32 TaitoIC_TC0180VCUInUse = 0;
11 INT32 TaitoIC_TC0220IOCInUse = 0;
12 INT32 TaitoIC_TC0280GRDInUse = 0;
13 INT32 TaitoIC_TC0360PRIInUse = 0;
14 INT32 TaitoIC_TC0430GRWInUse = 0;
15 INT32 TaitoIC_TC0480SCPInUse = 0;
16 INT32 TaitoIC_TC0510NIOInUse = 0;
17 INT32 TaitoIC_TC0640FIOInUse = 0;
18 
19 INT32 TaitoWatchdog;
20 
TaitoICReset()21 void TaitoICReset()
22 {
23 	if (TaitoIC_PC080SNInUse) PC080SNReset();
24 	if (TaitoIC_PC090OJInUse) PC090OJReset();
25 	if (TaitoIC_TC0100SCNInUse) TC0100SCNReset();
26 	if (TaitoIC_TC0110PCRInUse) TC0110PCRReset();
27 	if (TaitoIC_TC0140SYTInUse) TC0140SYTReset();
28 	if (TaitoIC_TC0150RODInUse) TC0150RODReset();
29 	if (TaitoIC_TC0180VCUInUse) TC0180VCUReset();
30 	if (TaitoIC_TC0220IOCInUse) TC0220IOCReset();
31 	if (TaitoIC_TC0280GRDInUse) TC0280GRDReset();
32 	if (TaitoIC_TC0360PRIInUse) TC0360PRIReset();
33 	if (TaitoIC_TC0430GRWInUse) TC0430GRWReset();
34 	if (TaitoIC_TC0480SCPInUse) TC0480SCPReset();
35 	if (TaitoIC_TC0510NIOInUse) TC0510NIOReset();
36 	if (TaitoIC_TC0640FIOInUse) TC0640FIOReset();
37 
38 	if (cchip_active) cchip_reset();
39 
40 	TaitoWatchdog = 0;
41 }
42 
TaitoICExit()43 void TaitoICExit()
44 {
45 	if (TaitoIC_PC080SNInUse) PC080SNExit();
46 	if (TaitoIC_PC090OJInUse) PC090OJExit();
47 	if (TaitoIC_TC0100SCNInUse) TC0100SCNExit();
48 	if (TaitoIC_TC0110PCRInUse) TC0110PCRExit();
49 	if (TaitoIC_TC0140SYTInUse) TC0140SYTExit();
50 	if (TaitoIC_TC0150RODInUse) TC0150RODExit();
51 	if (TaitoIC_TC0180VCUInUse) TC0180VCUExit();
52 	if (TaitoIC_TC0220IOCInUse) TC0220IOCExit();
53 	if (TaitoIC_TC0280GRDInUse) TC0280GRDExit();
54 	if (TaitoIC_TC0360PRIInUse) TC0360PRIExit();
55 	if (TaitoIC_TC0430GRWInUse) TC0430GRWExit();
56 	if (TaitoIC_TC0480SCPInUse) TC0480SCPExit();
57 	if (TaitoIC_TC0510NIOInUse) TC0510NIOExit();
58 	if (TaitoIC_TC0640FIOInUse) TC0640FIOExit();
59 
60 	if (cchip_active) cchip_exit();
61 
62 	TaitoIC_PC080SNInUse = 0;
63 	TaitoIC_PC090OJInUse = 0;
64 	TaitoIC_TC0100SCNInUse = 0;
65 	TaitoIC_TC0110PCRInUse = 0;
66 	TaitoIC_TC0140SYTInUse = 0;
67 	TaitoIC_TC0150RODInUse = 0;
68 	TaitoIC_TC0180VCUInUse = 0;
69 	TaitoIC_TC0220IOCInUse = 0;
70 	TaitoIC_TC0280GRDInUse = 0;
71 	TaitoIC_TC0360PRIInUse = 0;
72 	TaitoIC_TC0430GRWInUse = 0;
73 	TaitoIC_TC0480SCPInUse = 0;
74 	TaitoIC_TC0510NIOInUse = 0;
75 	TaitoIC_TC0640FIOInUse = 0;
76 
77 	TaitoWatchdog = 0;
78 }
79 
TaitoICScan(INT32 nAction)80 void TaitoICScan(INT32 nAction)
81 {
82 	if (TaitoIC_PC080SNInUse) PC080SNScan(nAction);
83 	if (TaitoIC_PC090OJInUse) PC090OJScan(nAction);
84 	if (TaitoIC_TC0100SCNInUse) TC0100SCNScan(nAction);
85 	if (TaitoIC_TC0110PCRInUse) TC0110PCRScan(nAction);
86 	if (TaitoIC_TC0140SYTInUse) TC0140SYTScan(nAction);
87 	if (TaitoIC_TC0150RODInUse) TC0150RODScan(nAction);
88 	if (TaitoIC_TC0180VCUInUse) TC0180VCUScan(nAction);
89 	if (TaitoIC_TC0220IOCInUse) TC0220IOCScan(nAction);
90 	if (TaitoIC_TC0280GRDInUse) TC0280GRDScan(nAction);
91 	if (TaitoIC_TC0360PRIInUse) TC0360PRIScan(nAction);
92 	if (TaitoIC_TC0430GRWInUse) TC0430GRWScan(nAction);
93 	if (TaitoIC_TC0480SCPInUse) TC0480SCPScan(nAction);
94 	if (TaitoIC_TC0510NIOInUse) TC0510NIOScan(nAction);
95 	if (TaitoIC_TC0640FIOInUse) TC0640FIOScan(nAction);
96 
97 	if (cchip_active) cchip_scan(nAction);
98 
99 	if (nAction & ACB_DRIVER_DATA) {
100 		SCAN_VAR(TaitoWatchdog);
101 	}
102 }
103