Mercurial > repos > blastem
annotate coleco.h @ 2468:0ca78837e4d2
Implement ext instruction in new 68K core
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 24 Feb 2024 22:54:36 -0800 |
parents | 23052186705a |
children |
rev | line source |
---|---|
2415
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
1 #ifndef COLECO_H_ |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
2 #define COLECO_H_ |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
3 |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
4 #include "system.h" |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
5 #include "vdp.h" |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 #include "psg.h" |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 #ifdef NEW_CORE |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 #include "z80.h" |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
9 #else |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
10 #include "z80_to_x86.h" |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
11 #endif |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
12 |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
13 #define COLECO_BIOS_SIZE (8 * 1024) |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 #define COLECO_RAM_SIZE (1 * 1024) |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
16 typedef struct { |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
17 system_header header; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
18 z80_context *z80; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
19 vdp_context *vdp; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
20 psg_context *psg; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
21 uint8_t *rom; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
22 uint32_t rom_size; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
23 uint32_t normal_clock; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
24 uint32_t master_clock; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
25 uint32_t last_frame; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
26 uint8_t ram[COLECO_RAM_SIZE]; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
27 uint8_t bios[COLECO_BIOS_SIZE]; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
28 uint8_t controller_state[4]; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
29 uint8_t controller_select; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
30 uint8_t should_return; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
31 } coleco_context; |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
32 |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
33 coleco_context *alloc_configure_coleco(system_media *media); |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
34 |
23052186705a
Forgot to commit the colecovision files
Michael Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
35 #endif //COLECO_H_ |