]> git.sesse.net Git - pistorm/blob - platforms/amiga/amiga-registers.h
9882e6a38b74488c0f468f9ce0bd460b4047f615
[pistorm] / platforms / amiga / amiga-registers.h
1 // SPDX-License-Identifier: MIT
2
3 void configure_rtc_emulation_amiga(uint8_t enabled);
4 void set_hard_drive_image_file_amiga(uint8_t index, char *filename);
5 int custom_read_amiga(struct emulator_config *cfg, unsigned int addr, unsigned int *val, unsigned char type);
6 int custom_write_amiga(struct emulator_config *cfg, unsigned int addr, unsigned int val, unsigned char type);
7
8 void adjust_gayle_4000();
9 void adjust_gayle_1200();
10
11 #define GAYLEBASE 0xD80000
12 #define GAYLESIZE 0x070000
13 #define GAYLEMASK 0xDF0000
14
15 #define CLOCKBASE 0xDC0000
16 #define CLOCKSIZE 0x010000
17 #define CLOCKMASK 0x00FFFF
18
19 /* GARY ADDRESSES */
20 #define GARY_REG0 0xDE0000
21 #define GARY_REG1 0xDE0001
22 #define GARY_REG2 0xDE0002
23 #define GARY_REG3 0xDE1000
24 #define GARY_REG4 0xDE1001
25 #define GARY_REG5 0xDE1002
26
27 #define INTENAR 0xDFF01C
28 #define INTREQR 0xDFF01E
29 #define INTENA 0xDFF09A
30 #define INTREQ 0xDFF09C
31
32 #define JOY0DAT 0xDFF00A
33 #define JOY1DAT 0xDFF00C
34 #define CIAAPRA 0xBFE001
35 #define CIAADAT 0xBFEC01
36 #define CIAAICR 0xBFED01
37 #define CIAACRA 0xBFEE01
38 #define CIAACRB 0xBFEF01
39 #define POTGOR  0xDFF016
40 #define SERDAT  0xDFF030
41
42 /* RAMSEY ADDRESSES */
43 #define RAMSEY_REG 0xDE0003 /* just a nibble, it should return 0x08 for defaults with 16MB */
44 #define RAMSEY_ID 0xDE0043  /* Either 0x0D or 0x0F (most recent version) */
45 /* RAMSEY TYPES */
46 #define RAMSEY_REV4 0x0D
47 #define RAMSEY_REV7 0x0F