annotate coleco.h @ 2496:187bc857a76a default tip

Fix bug in MED mapper protection bit implementation
author Michael Pavone <pavone@retrodev.com>
date Sun, 28 Apr 2024 23:33:11 -0700
parents 23052186705a
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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_