Mercurial > repos > blastem
comparison vgm.h @ 1931:374a5ae694e8 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 18 Apr 2020 11:42:53 -0700 |
parents | 508522f08e4d |
children | 327332138c5c |
comparison
equal
deleted
inserted
replaced
1843:13abdc98379e | 1931:374a5ae694e8 |
---|---|
1 #ifndef VGM_H_ | 1 #ifndef VGM_H_ |
2 #define VGM_H_ | 2 #define VGM_H_ |
3 | |
4 #include <stdint.h> | |
5 #include <stdio.h> | |
3 | 6 |
4 #pragma pack(push, 1) | 7 #pragma pack(push, 1) |
5 typedef struct { | 8 typedef struct { |
6 char ident[4]; | 9 char ident[4]; |
7 uint32_t eof_offset; | 10 uint32_t eof_offset; |
69 uint8_t *data; | 72 uint8_t *data; |
70 uint32_t size; | 73 uint32_t size; |
71 uint8_t type; | 74 uint8_t type; |
72 } data_block; | 75 } data_block; |
73 | 76 |
77 typedef struct { | |
78 vgm_header header; | |
79 FILE *f; | |
80 uint32_t master_clock; | |
81 uint32_t last_cycle; | |
82 } vgm_writer; | |
83 | |
84 vgm_writer *vgm_write_open(char *filename, uint32_t rate, uint32_t clock, uint32_t cycle); | |
85 void vgm_sn76489_init(vgm_writer *writer, uint32_t clock, uint16_t feedback, uint8_t shift_reg_size, uint8_t flags); | |
86 void vgm_sn76489_write(vgm_writer *writer, uint32_t cycle, uint8_t value); | |
87 void vgm_ym2612_init(vgm_writer *writer, uint32_t clock); | |
88 void vgm_ym2612_part1_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value); | |
89 void vgm_ym2612_part2_write(vgm_writer *writer, uint32_t cycle, uint8_t reg, uint8_t value); | |
90 void vgm_adjust_cycles(vgm_writer *writer, uint32_t deduction); | |
91 void vgm_close(vgm_writer *writer); | |
92 | |
74 #endif //VGM_H_ | 93 #endif //VGM_H_ |