Mercurial > repos > blastem
comparison ym2612.c @ 424:7e8e179116af
Add support for loading GST format savestates
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sat, 29 Jun 2013 17:15:08 -0700 |
parents | baf4688901f2 |
children | e85a107e6ec0 |
comparison
equal
deleted
inserted
replaced
423:8e136187c0e0 | 424:7e8e179116af |
---|---|
761 uint8_t ym_read_status(ym2612_context * context) | 761 uint8_t ym_read_status(ym2612_context * context) |
762 { | 762 { |
763 return context->status; | 763 return context->status; |
764 } | 764 } |
765 | 765 |
766 #define GST_YM_OFFSET 0x1E4 | |
767 #define GST_YM_SIZE (0x3E4-GST_YM_OFFSET) | |
768 | |
769 uint8_t ym_load_gst(ym2612_context * context, FILE * gstfile) | |
770 { | |
771 uint8_t regdata[GST_YM_SIZE]; | |
772 fseek(gstfile, GST_YM_OFFSET, SEEK_SET); | |
773 if (fread(regdata, 1, sizeof(regdata), gstfile) != sizeof(regdata)) { | |
774 return 0; | |
775 } | |
776 for (int i = 0; i < sizeof(regdata); i++) { | |
777 if (i & 0x100) { | |
778 ym_address_write_part2(context, i & 0xFF); | |
779 } else { | |
780 ym_address_write_part1(context, i); | |
781 } | |
782 ym_data_write(context, regdata[i]); | |
783 } | |
784 return 1; | |
785 } | |
786 |