Mercurial > repos > blastem
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) |