]> git.sesse.net Git - pistorm/blob - platforms/amiga/pistorm-dev/pistorm-dev.c
Add PiStorm interaction autoconf device
[pistorm] / platforms / amiga / pistorm-dev / pistorm-dev.c
1 // SPDX-License-Identifier: MIT
2
3 #include "pistorm-dev.h"
4 #include "pistorm-dev-enums.h"
5 #include <stdio.h>
6
7 #define DEBUG_PISTORM_DEVICE
8
9 #ifdef DEBUG_PISTORM_DEVICE
10 #define DEBUG printf
11
12 static const char *op_type_names[4] = {
13     "BYTE",
14     "WORD",
15     "LONGWORD",
16     "MEM",
17 };
18 #else
19 #define DEBUG(...)
20 #endif
21
22 extern uint32_t pistorm_dev_base;
23 extern uint32_t do_reset;
24
25 void handle_pistorm_dev_write(uint32_t addr, uint32_t val, uint8_t type) {
26     switch((addr & 0xFFFF)) {
27         case PI_CMD_RESET:
28             DEBUG("[PISTORM-DEV] System reset called through PiStorm interaction device, code %.4X\n", (val & 0xFFFF));
29             do_reset = 1;
30             break;
31         default:
32             DEBUG("[PISTORM-DEV] WARN: Unhandled %s register write to %.4X: %d\n", op_type_names[type], addr - pistorm_dev_base, val);
33             break;
34     }
35 }
36  
37 uint32_t handle_pistorm_dev_read(uint32_t addr, uint8_t type) {
38     switch((addr & 0xFFFF)) {
39
40         default:
41             DEBUG("[PISTORM-DEV] WARN: Unhandled %s register read from %.4X\n", op_type_names[type], addr - pistorm_dev_base);
42             break;
43     }
44     return 0;
45 }