comparison event_log.h @ 1983:a7b753e260a2 mame_interp

Merge from default
author Michael Pavone <pavone@retrodev.com>
date Sat, 09 May 2020 23:39:44 -0700
parents 80920c21bb52
children a8af8d898a7c
comparison
equal deleted inserted replaced
1937:cafde1255ad3 1983:a7b753e260a2
1 #ifndef EVENT_LOG_H_
2 #define EVENT_LOG_H_
3
4 enum {
5 EVENT_FLUSH = 0,
6 EVENT_ADJUST = 1,
7 EVENT_PSG_REG = 2,
8 EVENT_YM_REG = 3,
9 EVENT_VDP_REG = 4,
10 EVENT_VRAM_BYTE = 5,
11 EVENT_VRAM_BYTE_DELTA = 6,
12 EVENT_VRAM_BYTE_ONE = 7,
13 EVENT_VRAM_BYTE_AUTO = 8,
14 EVENT_VRAM_WORD = 9,
15 EVENT_VRAM_WORD_DELTA = 10,
16 EVENT_VDP_INTRAM = 11,
17 EVENT_STATE = 12,
18 EVENT_MULTI = 13
19 //14 and 15 are reserved for header types
20 };
21
22 #include "serialize.h"
23 #include "zlib/zlib.h"
24 typedef struct {
25 size_t storage;
26 uint8_t *socket_buffer;
27 size_t socket_buffer_size;
28 int socket;
29 uint32_t last_cycle;
30 uint32_t last_word_address;
31 uint32_t last_byte_address;
32 uint32_t repeat_delta;
33 deserialize_buffer buffer;
34 z_stream input_stream;
35 uint8_t repeat_event;
36 uint8_t repeat_remaining;
37 } event_reader;
38
39 #include "system.h"
40 #include "render.h"
41
42 void event_log_file(char *fname);
43 void event_log_tcp(char *address, char *port);
44 void event_system_start(system_type stype, vid_std video_std, char *name);
45 void event_cycle_adjust(uint32_t cycle, uint32_t deduction);
46 void event_log(uint8_t type, uint32_t cycle, uint8_t size, uint8_t *payload);
47 void event_vram_word(uint32_t cycle, uint32_t address, uint16_t value);
48 void event_vram_byte(uint32_t cycle, uint16_t address, uint8_t byte, uint8_t auto_inc);
49 void event_state(uint32_t cycle, serialize_buffer *state);
50 void event_flush(uint32_t cycle);
51 void event_soft_flush(uint32_t cycle);
52
53 void init_event_reader(event_reader *reader, uint8_t *data, size_t size);
54 void init_event_reader_tcp(event_reader *reader, char *address, char *port);
55 uint8_t reader_next_event(event_reader *reader, uint32_t *cycle_out);
56 void reader_ensure_data(event_reader *reader, size_t bytes);
57 uint8_t reader_system_type(event_reader *reader);
58 void reader_send_gamepad_event(event_reader *reader, uint8_t pad, uint8_t button, uint8_t down);
59
60 #endif //EVENT_LOG_H_