annotate cdd_fader.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 9ead0fe69d9b
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
2080
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #ifndef CDD_FADER_H_
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
2 #define CDD_FADER_H_
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
3
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
4 #include "render_audio.h"
2280
9ead0fe69d9b Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents: 2278
diff changeset
5 #include "serialize.h"
2080
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
6
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
7 typedef struct {
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
8 audio_source *audio;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
9 uint16_t cur_attenuation;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
10 uint16_t dst_attenuation;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
11 uint16_t attenuation_step;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
12 uint8_t flags;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
13 uint8_t bytes[4];
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
14 uint8_t byte_counter;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
15 } cdd_fader;
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
16
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
17 void cdd_fader_init(cdd_fader *fader);
2164
4fbe1e7c4a73 Don't leak all Sega CD resources when freeing a Genesis instance
Michael Pavone <pavone@retrodev.com>
parents: 2080
diff changeset
18 void cdd_fader_deinit(cdd_fader *fader);
2278
5a21bc0ec583 Implement turbo/slo mo for Sega CD
Michael Pavone <pavone@retrodev.com>
parents: 2164
diff changeset
19 void cdd_fader_set_speed_percent(cdd_fader *fader, uint32_t percent);
2080
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
20 void cdd_fader_attenuation_write(cdd_fader *fader, uint16_t attenuation);
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
21 void cdd_fader_data(cdd_fader *fader, uint8_t byte);
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
22 void cdd_fader_pause(cdd_fader *fader);
2280
9ead0fe69d9b Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents: 2278
diff changeset
23 void cdd_fader_serialize(cdd_fader *fader, serialize_buffer *buf);
9ead0fe69d9b Implement savestate support for Sega CD
Michael Pavone <pavone@retrodev.com>
parents: 2278
diff changeset
24 void cdd_fader_deserialize(deserialize_buffer *buf, void *vfader);
2080
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
25
bafb757e1cd2 Implement CD audio
Michael Pavone <pavone@retrodev.com>
parents:
diff changeset
26 #endif //CDD_FADER_H_