Mercurial > repos > blastem
comparison realtec.c @ 1446:adb62000d296
Pass the correct context pointer to write handlers in mapper deserialize functions
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Mon, 28 Aug 2017 22:41:02 -0700 |
parents | 14a2834d010c |
children | 948ddc60813e |
comparison
equal
deleted
inserted
replaced
1445:349d50930c03 | 1446:adb62000d296 |
---|---|
40 if (offset < 3 && r->regs[offset] != value) { | 40 if (offset < 3 && r->regs[offset] != value) { |
41 r->regs[offset] = value; | 41 r->regs[offset] = value; |
42 //other regs are only 3 bits, so assume 3 for this one too | 42 //other regs are only 3 bits, so assume 3 for this one too |
43 uint32_t size = (r->regs[1] & 0x7) << 17; | 43 uint32_t size = (r->regs[1] & 0x7) << 17; |
44 uint32_t start = (r->regs[2] & 7) << 17 | (r->regs[0] & 6) << 19; | 44 uint32_t start = (r->regs[2] & 7) << 17 | (r->regs[0] & 6) << 19; |
45 if (size > 512*1024) { | 45 if (!size || size > 512*1024) { |
46 size = 512*1024; | 46 size = 512*1024; |
47 } | 47 } |
48 for(uint32_t cur = 0; cur < 512*1024; cur += size) | 48 for(uint32_t cur = 0; cur < 512*1024; cur += size) |
49 { | 49 { |
50 if (start + size > 512*1024) { | 50 if (start + size > 512*1024) { |
74 void realtec_deserialize(deserialize_buffer *buf, genesis_context *gen) | 74 void realtec_deserialize(deserialize_buffer *buf, genesis_context *gen) |
75 { | 75 { |
76 realtec *r = get_realtec(gen); | 76 realtec *r = get_realtec(gen); |
77 for (int i = 0; i < sizeof(r->regs); i++) | 77 for (int i = 0; i < sizeof(r->regs); i++) |
78 { | 78 { |
79 realtec_write_b(i << 13, gen, load_int8(buf)); | 79 realtec_write_b(i << 13, gen->m68k, load_int8(buf)); |
80 } | 80 } |
81 } | 81 } |
82 | 82 |
83 rom_info realtec_configure_rom(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks) | 83 rom_info realtec_configure_rom(uint8_t *rom, uint32_t rom_size, memmap_chunk const *base_map, uint32_t base_chunks) |
84 { | 84 { |