46,6 → 46,7 |
/** Address of devices. */ |
#define GXEMUL_VIDEORAM 0x10000000 |
#define GXEMUL_KBD 0x10000000 |
#define GXEMUL_HALT_OFFSET 0x10 |
#define GXEMUL_RTC 0x15000000 |
#define GXEMUL_RTC_FREQ_OFFSET 0x100 |
#define GXEMUL_RTC_ACK_OFFSET 0x110 |
293,13 → 294,30 |
return *((int*)(GXEMUL_MP + GXEMUL_MP_MEMSIZE_OFFSET)); |
} |
|
void machine_debug_putc(char ch) { |
void machine_debug_putc(char ch) |
{ |
char * addr = 0; |
if (!hw_map_init_called) { |
*((volatile char *) GXEMUL_KBD) = ch; |
addr = (char *) GXEMUL_KBD; |
} else { |
*((char *) gxemul_hw_map.videoram) = ch; |
addr = (char *) gxemul_hw_map.videoram; |
} |
|
*(addr) = ch; |
} |
|
void machine_cpu_halt(void) |
{ |
char * addr = 0; |
if (!hw_map_init_called) { |
addr = (char *) GXEMUL_KBD; |
} else { |
addr = (char *) gxemul_hw_map.videoram; |
} |
|
*(addr + GXEMUL_HALT_OFFSET) = '\0'; |
} |
|
|
/** @} |
*/ |