Mercurial > repos > blastem
comparison io.c @ 1696:956c1cce05e2 mame_interp
Merge from default
author | Michael Pavone <pavone@retrodev.com> |
---|---|
date | Thu, 24 Jan 2019 19:15:59 -0800 |
parents | 7f42a93f18a4 |
children | eda8df5bc74c |
comparison
equal
deleted
inserted
replaced
1648:b7ecd0d6a77b | 1696:956c1cce05e2 |
---|---|
24 | 24 |
25 #define CYCLE_NEVER 0xFFFFFFFF | 25 #define CYCLE_NEVER 0xFFFFFFFF |
26 #define MIN_POLL_INTERVAL 6840 | 26 #define MIN_POLL_INTERVAL 6840 |
27 | 27 |
28 const char * device_type_names[] = { | 28 const char * device_type_names[] = { |
29 "None", | |
29 "SMS gamepad", | 30 "SMS gamepad", |
30 "3-button gamepad", | 31 "3-button gamepad", |
31 "6-button gamepad", | 32 "6-button gamepad", |
32 "Mega Mouse", | 33 "Mega Mouse", |
33 "Saturn Keyboard", | 34 "Saturn Keyboard", |
36 "Justifier", | 37 "Justifier", |
37 "Sega multi-tap", | 38 "Sega multi-tap", |
38 "EA 4-way Play cable A", | 39 "EA 4-way Play cable A", |
39 "EA 4-way Play cable B", | 40 "EA 4-way Play cable B", |
40 "Sega Parallel Transfer Board", | 41 "Sega Parallel Transfer Board", |
41 "Generic Device", | 42 "Generic Device" |
42 "None" | |
43 }; | 43 }; |
44 | 44 |
45 #define GAMEPAD_TH0 0 | 45 #define GAMEPAD_TH0 0 |
46 #define GAMEPAD_TH1 1 | 46 #define GAMEPAD_TH1 1 |
47 #define GAMEPAD_EXTRA 2 | 47 #define GAMEPAD_EXTRA 2 |
299 | 299 |
300 void setup_io_devices(tern_node * config, rom_info *rom, sega_io *io) | 300 void setup_io_devices(tern_node * config, rom_info *rom, sega_io *io) |
301 { | 301 { |
302 io_port * ports = io->ports; | 302 io_port * ports = io->ports; |
303 tern_node *io_nodes = tern_find_path(config, "io\0devices\0", TVAL_NODE).ptrval; | 303 tern_node *io_nodes = tern_find_path(config, "io\0devices\0", TVAL_NODE).ptrval; |
304 char * io_1 = rom->port1_override ? rom->port1_override : io_nodes ? tern_find_ptr(io_nodes, "1") : NULL; | 304 char * io_1 = rom->port1_override ? rom->port1_override : tern_find_ptr_default(io_nodes, "1", "gamepad6.1"); |
305 char * io_2 = rom->port2_override ? rom->port2_override : io_nodes ? tern_find_ptr(io_nodes, "2") : NULL; | 305 char * io_2 = rom->port2_override ? rom->port2_override : tern_find_ptr_default(io_nodes, "2", "gamepad6.2"); |
306 char * io_ext = rom->ext_override ? rom->ext_override : io_nodes ? tern_find_ptr(io_nodes, "ext") : NULL; | 306 char * io_ext = rom->ext_override ? rom->ext_override : tern_find_ptr(io_nodes, "ext"); |
307 | 307 |
308 process_device(io_1, ports); | 308 process_device(io_1, ports); |
309 process_device(io_2, ports+1); | 309 process_device(io_2, ports+1); |
310 process_device(io_ext, ports+2); | 310 process_device(io_ext, ports+2); |
311 | 311 |