comparison vgm.c @ 2529:a6687a6fb69d

Merge
author Michael Pavone <pavone@retrodev.com>
date Mon, 25 Nov 2024 22:30:32 -0800
parents 7e1215d17571
children 3f58fec775df
comparison
equal deleted inserted replaced
2528:90a40be940f7 2529:a6687a6fb69d
79 writer->extra_delta = 0; 79 writer->extra_delta = 0;
80 writer->header.num_samples += delta; 80 writer->header.num_samples += delta;
81 wait_commands(writer, delta); 81 wait_commands(writer, delta);
82 } 82 }
83 83
84 static uint8_t last_cmd;
85 void vgm_sn76489_write(vgm_writer *writer, uint32_t cycle, uint8_t value) 84 void vgm_sn76489_write(vgm_writer *writer, uint32_t cycle, uint8_t value)
86 { 85 {
87 add_wait(writer, cycle); 86 add_wait(writer, cycle);
88 uint8_t cmd[2] = {CMD_PSG, value}; 87 uint8_t cmd[2] = {CMD_PSG, value};
89 last_cmd = CMD_PSG; 88 fwrite(cmd, 1, sizeof(cmd), writer->f);
89 }
90
91 void vgm_gg_pan_write(vgm_writer *writer, uint32_t cycle, uint8_t value)
92 {
93 add_wait(writer, cycle);
94 uint8_t cmd[2] = {CMD_PSG_STEREO, value};
90 fwrite(cmd, 1, sizeof(cmd), writer->f); 95 fwrite(cmd, 1, sizeof(cmd), writer->f);
91 } 96 }
92 97
93 void vgm_ym2612_init(vgm_writer *writer, uint32_t clock) 98 void vgm_ym2612_init(vgm_writer *writer, uint32_t clock)
94 { 99 {
97 102
98 void vgm_ym2612_part1_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value) 103 void vgm_ym2612_part1_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value)
99 { 104 {
100 add_wait(writer, cycle); 105 add_wait(writer, cycle);
101 uint8_t cmd[3] = {CMD_YM2612_0, reg, value}; 106 uint8_t cmd[3] = {CMD_YM2612_0, reg, value};
102 last_cmd = CMD_YM2612_0;
103 fwrite(cmd, 1, sizeof(cmd), writer->f); 107 fwrite(cmd, 1, sizeof(cmd), writer->f);
104 } 108 }
105 109
106 void vgm_ym2612_part2_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value) 110 void vgm_ym2612_part2_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value)
107 { 111 {
108 add_wait(writer, cycle); 112 add_wait(writer, cycle);
109 uint8_t cmd[3] = {CMD_YM2612_1, reg, value}; 113 uint8_t cmd[3] = {CMD_YM2612_1, reg, value};
110 last_cmd = CMD_YM2612_1;
111 fwrite(cmd, 1, sizeof(cmd), writer->f); 114 fwrite(cmd, 1, sizeof(cmd), writer->f);
112 } 115 }
113 116
114 void vgm_adjust_cycles(vgm_writer *writer, uint32_t deduction) 117 void vgm_adjust_cycles(vgm_writer *writer, uint32_t deduction)
115 { 118 {