comparison vdp.c @ 1957:ba06346611a1

Fix some netplay issues
author Mike Pavone <pavone@retrodev.com>
date Sat, 02 May 2020 00:52:21 -0700
parents 275f1c4bdb25
children 80920c21bb52
comparison
equal deleted inserted replaced
1956:275f1c4bdb25 1957:ba06346611a1
4569 uint32_t address; 4569 uint32_t address;
4570 deserialize_buffer *buffer = &reader->buffer; 4570 deserialize_buffer *buffer = &reader->buffer;
4571 switch (event) 4571 switch (event)
4572 { 4572 {
4573 case EVENT_VRAM_BYTE: 4573 case EVENT_VRAM_BYTE:
4574 reader_ensure_data(reader, 3);
4574 address = load_int16(buffer); 4575 address = load_int16(buffer);
4575 break; 4576 break;
4576 case EVENT_VRAM_BYTE_DELTA: 4577 case EVENT_VRAM_BYTE_DELTA:
4578 reader_ensure_data(reader, 2);
4577 address = reader->last_byte_address + load_int8(buffer); 4579 address = reader->last_byte_address + load_int8(buffer);
4578 break; 4580 break;
4579 case EVENT_VRAM_BYTE_ONE: 4581 case EVENT_VRAM_BYTE_ONE:
4582 reader_ensure_data(reader, 1);
4580 address = reader->last_byte_address + 1; 4583 address = reader->last_byte_address + 1;
4581 break; 4584 break;
4582 case EVENT_VRAM_BYTE_AUTO: 4585 case EVENT_VRAM_BYTE_AUTO:
4586 reader_ensure_data(reader, 1);
4583 address = reader->last_byte_address + context->regs[REG_AUTOINC]; 4587 address = reader->last_byte_address + context->regs[REG_AUTOINC];
4584 break; 4588 break;
4585 case EVENT_VRAM_WORD: 4589 case EVENT_VRAM_WORD:
4590 reader_ensure_data(reader, 4);
4586 address = load_int8(buffer) << 16; 4591 address = load_int8(buffer) << 16;
4587 address |= load_int16(buffer); 4592 address |= load_int16(buffer);
4588 break; 4593 break;
4589 case EVENT_VRAM_WORD_DELTA: 4594 case EVENT_VRAM_WORD_DELTA:
4595 reader_ensure_data(reader, 3);
4590 address = reader->last_word_address + load_int8(buffer); 4596 address = reader->last_word_address + load_int8(buffer);
4591 break; 4597 break;
4592 case EVENT_VDP_REG: 4598 case EVENT_VDP_REG:
4593 case EVENT_VDP_INTRAM: 4599 case EVENT_VDP_INTRAM:
4600 reader_ensure_data(reader, event == EVENT_VDP_REG ? 2 : 3);
4594 address = load_int8(buffer); 4601 address = load_int8(buffer);
4595 break; 4602 break;
4596 } 4603 }
4597 4604
4598 switch (event) 4605 switch (event)