2 #include "config_file/config_file.h"
3 #include "amiga-registers.h"
5 uint8_t rtc_emulation_enabled = 1;
6 extern int gayle_emulation_enabled;
8 void configure_rtc_emulation_amiga(uint8_t enabled) {
9 if (enabled == rtc_emulation_enabled)
12 rtc_emulation_enabled = enabled;
13 printf("Amiga RTC emulation is now %s.\n", (enabled) ? "enabled" : "disabled");
16 int handle_register_read_amiga(unsigned int addr, unsigned char type, unsigned int *val) {
17 if (gayle_emulation_enabled) {
18 if (!rtc_emulation_enabled && addr >= CLOCKBASE && addr < CLOCKBASE + CLOCKSIZE)
20 if (addr >= GAYLEBASE && addr < GAYLEBASE + GAYLESIZE) {
23 *val = readGayleB(addr);
27 *val = readGayle(addr);
30 case OP_TYPE_LONGWORD:
31 *val = readGayleL(addr);
43 int handle_register_write_amiga(unsigned int addr, unsigned int value, unsigned char type) {
44 if (gayle_emulation_enabled) {
45 if (!rtc_emulation_enabled && addr >= CLOCKBASE && addr < CLOCKBASE + CLOCKSIZE)
47 if (addr >= GAYLEBASE && addr < GAYLEBASE + GAYLESIZE) {
50 writeGayleB(addr, value);
54 writeGayle(addr, value);
57 case OP_TYPE_LONGWORD:
58 writeGayleL(addr, value);