Mercurial > repos > blastem
annotate ym2612.h @ 2688:b42f00a3a937 default tip
Fix default target. Ensure m68k.h and z80.h are built before anything else when no dep info is available
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 31 Mar 2025 21:06:18 -0700 |
parents | 3f58fec775df |
children |
rev | line source |
---|---|
467
140af5509ce7
Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents:
451
diff
changeset
|
1 /* |
140af5509ce7
Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents:
451
diff
changeset
|
2 Copyright 2013 Michael Pavone |
483
3e1573fa22cf
Implement turbo/slow motion feature that overclocks or underclocks the entire system at the push of a button
Mike Pavone <pavone@retrodev.com>
parents:
467
diff
changeset
|
3 This file is part of BlastEm. |
467
140af5509ce7
Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents:
451
diff
changeset
|
4 BlastEm is free software distributed under the terms of the GNU General Public License version 3 or greater. See COPYING for full license text. |
140af5509ce7
Added copyright notice to source files and added GPL license text in COPYING
Mike Pavone <pavone@retrodev.com>
parents:
451
diff
changeset
|
5 */ |
288
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
6 #ifndef YM2612_H_ |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
7 #define YM2612_H_ |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
8 |
1427
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1308
diff
changeset
|
9 #include "serialize.h" |
2558
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2285
diff
changeset
|
10 #include "ym_common.h" |
1865
4c322abd9fa5
Split generic part of audio code into a separate file so it can be used in other targets besides SDL
Michael Pavone <pavone@retrodev.com>
parents:
1808
diff
changeset
|
11 #include "render_audio.h" |
1909
508522f08e4d
Initial stab at VGM logging support
Michael Pavone <pavone@retrodev.com>
parents:
1904
diff
changeset
|
12 #include "vgm.h" |
2243
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
13 #include "oscilloscope.h" |
288
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
14 |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
15 #define NUM_PART_REGS (0xB7-0x30) |
2558
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2285
diff
changeset
|
16 #define OPN2_NUM_CHANNELS 6 |
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2285
diff
changeset
|
17 #define OPN2_NUM_OPERATORS (4*OPN2_NUM_CHANNELS) |
362 | 18 |
407
c3abc4ada43d
Add support for logging YM2612 channels to WAVE files
Mike Pavone <pavone@retrodev.com>
parents:
403
diff
changeset
|
19 #define YM_OPT_WAVE_LOG 1 |
1904
8312e574100a
Implement selectable YM2612/YM3834 invalid status port behavior
Michael Pavone <pavone@retrodev.com>
parents:
1902
diff
changeset
|
20 #define YM_OPT_3834 2 |
407
c3abc4ada43d
Add support for logging YM2612 channels to WAVE files
Mike Pavone <pavone@retrodev.com>
parents:
403
diff
changeset
|
21 |
362 | 22 typedef struct { |
383
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
23 uint16_t fnum; |
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
24 uint8_t block; |
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
25 uint8_t block_fnum_latch; |
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
26 uint8_t keycode; |
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
27 } ym_supp; |
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
28 |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
29 #define YM_PART1_START 0x21 |
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
30 #define YM_PART2_START 0x30 |
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
31 #define YM_REG_END 0xB8 |
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
32 #define YM_PART1_REGS (YM_REG_END-YM_PART1_START) |
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
33 #define YM_PART2_REGS (YM_REG_END-YM_PART2_START) |
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
34 |
383
72933100c55c
Initial implementation of channel 3 special mode
Mike Pavone <pavone@retrodev.com>
parents:
380
diff
changeset
|
35 typedef struct { |
1551
ce1f93be0104
Small cleanup to audio interface between emulation code and renderer backend
Michael Pavone <pavone@retrodev.com>
parents:
1427
diff
changeset
|
36 audio_source *audio; |
2243
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
37 vgm_writer *vgm; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
38 oscilloscope *scope; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
39 uint32_t clock_inc; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
40 uint32_t current_cycle; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
41 uint32_t write_cycle; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
42 uint32_t busy_start; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
43 uint32_t busy_cycles; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
44 uint32_t last_status_cycle; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
45 uint32_t invalid_status_decay; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
46 uint32_t status_address_mask; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
47 int32_t volume_mult; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
48 int32_t volume_div; |
2558
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2285
diff
changeset
|
49 ym_operator operators[OPN2_NUM_OPERATORS]; |
3f58fec775df
Initial work on YMF262 (aka OPL3) emulation
Michael Pavone <pavone@retrodev.com>
parents:
2285
diff
changeset
|
50 ym_channel channels[OPN2_NUM_CHANNELS]; |
2243
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
51 int16_t zero_offset; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
52 uint16_t timer_a; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
53 uint16_t timer_a_load; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
54 uint16_t env_counter; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
55 ym_supp ch3_supp[3]; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
56 uint8_t timer_b; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
57 uint8_t sub_timer_b; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
58 uint8_t timer_b_load; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
59 uint8_t ch3_mode; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
60 uint8_t current_op; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
61 uint8_t current_env_op; |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
62 |
2243
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
63 uint8_t timer_control; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
64 uint8_t dac_enable; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
65 uint8_t lfo_enable; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
66 uint8_t lfo_freq; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
67 uint8_t lfo_counter; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
68 uint8_t lfo_am_step; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
69 uint8_t lfo_pm_step; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
70 uint8_t csm_keyon; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
71 uint8_t status; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
72 uint8_t last_status; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
73 uint8_t selected_reg; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
74 uint8_t selected_part; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
75 uint8_t part1_regs[YM_PART1_REGS]; |
0d1d5dccdd28
Initial implementation of oscilloscope debug view
Michael Pavone <pavone@retrodev.com>
parents:
1909
diff
changeset
|
76 uint8_t part2_regs[YM_PART2_REGS]; |
288
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
77 } ym2612_context; |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
78 |
848
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
79 enum { |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
80 REG_LFO = 0x22, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
81 REG_TIMERA_HIGH = 0x24, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
82 REG_TIMERA_LOW, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
83 REG_TIMERB, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
84 REG_TIME_CTRL, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
85 REG_KEY_ONOFF, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
86 REG_DAC = 0x2A, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
87 REG_DAC_ENABLE, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
88 |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
89 REG_DETUNE_MULT = 0x30, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
90 REG_TOTAL_LEVEL = 0x40, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
91 REG_ATTACK_KS = 0x50, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
92 REG_DECAY_AM = 0x60, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
93 REG_SUSTAIN_RATE = 0x70, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
94 REG_S_LVL_R_RATE = 0x80, |
1301
babff81e4cfd
Initial implementation of YM2612 SSG-EG mode
Michael Pavone <pavone@retrodev.com>
parents:
1300
diff
changeset
|
95 REG_SSG_EG = 0x90, |
848
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
96 |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
97 REG_FNUM_LOW = 0xA0, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
98 REG_BLOCK_FNUM_H = 0xA4, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
99 REG_FNUM_LOW_CH3 = 0xA8, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
100 REG_BLOCK_FN_CH3 = 0xAC, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
101 REG_ALG_FEEDBACK = 0xB0, |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
102 REG_LR_AMS_PMS = 0xB4 |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
103 }; |
7068a9db6dd0
Wrote a buggy tool for splitting VGM files by channel
Michael Pavone <pavone@retrodev.com>
parents:
845
diff
changeset
|
104 |
1555
6ce36c3f250b
More audio refactoring in preparation for allowing proper sync to video with dynamic audio rate control
Michael Pavone <pavone@retrodev.com>
parents:
1551
diff
changeset
|
105 void ym_init(ym2612_context * context, uint32_t master_clock, uint32_t clock_div, uint32_t options); |
1308
1b3fe6e03e7b
Reset YM2612 whenver the Z80 is reset. Fixes issue with stuck notes in Fantastic Dizzy and Kid Chameleon
Michael Pavone <pavone@retrodev.com>
parents:
1301
diff
changeset
|
106 void ym_reset(ym2612_context *context); |
884
252dfd29831d
Selecting a second game from the menu now works
Michael Pavone <pavone@retrodev.com>
parents:
848
diff
changeset
|
107 void ym_free(ym2612_context *context); |
1798
5278b6e44fc1
Optionally emulate the offset around zero in the imperfect DAC of a discrete YM2612
Michael Pavone <pavone@retrodev.com>
parents:
1656
diff
changeset
|
108 void ym_enable_zero_offset(ym2612_context *context, uint8_t enabled); |
483
3e1573fa22cf
Implement turbo/slow motion feature that overclocks or underclocks the entire system at the push of a button
Mike Pavone <pavone@retrodev.com>
parents:
467
diff
changeset
|
109 void ym_adjust_master_clock(ym2612_context * context, uint32_t master_clock); |
1902
32a3aa7b4a45
Fix YM2612 busy flag timing
Michael Pavone <pavone@retrodev.com>
parents:
1880
diff
changeset
|
110 void ym_adjust_cycles(ym2612_context *context, uint32_t deduction); |
288
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
111 void ym_run(ym2612_context * context, uint32_t to_cycle); |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
112 void ym_address_write_part1(ym2612_context * context, uint8_t address); |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
113 void ym_address_write_part2(ym2612_context * context, uint8_t address); |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
114 void ym_data_write(ym2612_context * context, uint8_t value); |
1909
508522f08e4d
Initial stab at VGM logging support
Michael Pavone <pavone@retrodev.com>
parents:
1904
diff
changeset
|
115 void ym_vgm_log(ym2612_context *context, uint32_t master_clock, vgm_writer *vgm); |
1904
8312e574100a
Implement selectable YM2612/YM3834 invalid status port behavior
Michael Pavone <pavone@retrodev.com>
parents:
1902
diff
changeset
|
116 uint8_t ym_read_status(ym2612_context * context, uint32_t cycle, uint32_t port); |
424
7e8e179116af
Add support for loading GST format savestates
Mike Pavone <pavone@retrodev.com>
parents:
411
diff
changeset
|
117 uint8_t ym_load_gst(ym2612_context * context, FILE * gstfile); |
451
b7c3b2d22858
Added support for saving savestates. Added gst savestate format test harness
Mike Pavone <pavone@retrodev.com>
parents:
424
diff
changeset
|
118 uint8_t ym_save_gst(ym2612_context * context, FILE * gstfile); |
739
2317bdca03b4
Add a basic YM-2612 command to the debugger. Fix negative detune values and get the correct precision for the multiplication step of phase inc calculation
Michael Pavone <pavone@retrodev.com>
parents:
535
diff
changeset
|
119 void ym_print_channel_info(ym2612_context *context, int channel); |
930
f33e8d88ab6f
Add yt debug command for printing YM-2612 timer info. Fix AMS shift values.
Michael Pavone <pavone@retrodev.com>
parents:
884
diff
changeset
|
120 void ym_print_timer_info(ym2612_context *context); |
1427
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1308
diff
changeset
|
121 void ym_serialize(ym2612_context *context, serialize_buffer *buf); |
4e5797b3935a
WIP - New savestate format
Michael Pavone <pavone@retrodev.com>
parents:
1308
diff
changeset
|
122 void ym_deserialize(deserialize_buffer *buf, void *vcontext); |
2255
74112041b2c7
Proper calculation of sample rate for YM2612/PSG oscilloscope view
Michael Pavone <pavone@retrodev.com>
parents:
2243
diff
changeset
|
123 void ym_enable_scope(ym2612_context *context, oscilloscope *scope, uint32_t master_clock); |
288
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
124 |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
125 #endif //YM2612_H_ |
a8ee7934a1f8
Add a YM2612 stub implementation with just timers and status registers so that games that depend on it can run.
Mike Pavone <pavone@retrodev.com>
parents:
diff
changeset
|
126 |