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