Mercurial > repos > blastem
comparison gst.c @ 776:cbf97d335444
Full support for Sega mapper when it comes to data. Code in remapped sections may not work reliably. SSF2 now works.
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 20 Jul 2015 21:15:34 -0700 |
parents | 61faa298af07 |
children | 750995b587a0 |
comparison
equal
deleted
inserted
replaced
775:22728a57d7f3 | 776:cbf97d335444 |
---|---|
98 if (fread(buffer, 1, sizeof(buffer), gstfile) != sizeof(buffer)) { | 98 if (fread(buffer, 1, sizeof(buffer), gstfile) != sizeof(buffer)) { |
99 fputs("Failed to read 68K RAM from savestate\n", stderr); | 99 fputs("Failed to read 68K RAM from savestate\n", stderr); |
100 return 0; | 100 return 0; |
101 } | 101 } |
102 for(curpos = buffer; curpos < (buffer + sizeof(buffer)); curpos += sizeof(uint16_t)) { | 102 for(curpos = buffer; curpos < (buffer + sizeof(buffer)); curpos += sizeof(uint16_t)) { |
103 context->mem_pointers[1][i++] = read_be_16(curpos); | 103 ram[i++] = read_be_16(curpos); |
104 } | 104 } |
105 } | 105 } |
106 return pc; | 106 return pc; |
107 } | 107 } |
108 | 108 |
139 } | 139 } |
140 | 140 |
141 fseek(gstfile, GST_68K_RAM, SEEK_SET); | 141 fseek(gstfile, GST_68K_RAM, SEEK_SET); |
142 for (int i = 0; i < (32*1024);) { | 142 for (int i = 0; i < (32*1024);) { |
143 for(curpos = buffer; curpos < (buffer + sizeof(buffer)); curpos += sizeof(uint16_t)) { | 143 for(curpos = buffer; curpos < (buffer + sizeof(buffer)); curpos += sizeof(uint16_t)) { |
144 write_be_16(curpos, context->mem_pointers[1][i++]); | 144 write_be_16(curpos, ram[i++]); |
145 } | 145 } |
146 if (fwrite(buffer, 1, sizeof(buffer), gstfile) != sizeof(buffer)) { | 146 if (fwrite(buffer, 1, sizeof(buffer), gstfile) != sizeof(buffer)) { |
147 fputs("Failed to write 68K RAM to savestate\n", stderr); | 147 fputs("Failed to write 68K RAM to savestate\n", stderr); |
148 return 0; | 148 return 0; |
149 } | 149 } |