* code if they are enabled in m68kconf.h.
*/
-static unsigned char read_ranges;
-static unsigned int read_addr[8];
-static unsigned int read_upper[8];
-static unsigned char *read_data[8];
-static unsigned char write_ranges;
-static unsigned int write_addr[8];
-static unsigned int write_upper[8];
-static unsigned char *write_data[8];
+extern unsigned char read_ranges;
+extern unsigned int read_addr[8];
+extern unsigned int read_upper[8];
+extern unsigned char *read_data[8];
+extern unsigned char write_ranges;
+extern unsigned int write_addr[8];
+extern unsigned int write_upper[8];
+extern unsigned char *write_data[8];
static inline uint m68ki_read_8_fc(uint address, uint fc)
{
for (int i = 0; i < read_ranges; i++) {
if(address >= read_addr[i] && address < read_upper[i]) {
- return read_data[i][address];
+ return read_data[i][address - read_addr[i]];
}
}
for (int i = 0; i < write_ranges; i++) {
if(address >= write_addr[i] && address < write_upper[i]) {
- write_data[i][address] = (unsigned char)value;
+ write_data[i][address - write_addr[i]] = (unsigned char)value;
return;
}
}