Mercurial > repos > blastem
comparison io.c @ 1689:7f42a93f18a4
Have a suitable default IO port configuration when nonIO is present from the config file. Fixed off by one in processing gamepad button events in libretro build
author | Mike Pavone <pavone@retrodev.com> |
---|---|
date | Sun, 20 Jan 2019 19:52:54 -0800 |
parents | d6c403135e64 |
children | eda8df5bc74c |
comparison
equal
deleted
inserted
replaced
1688:395f684c5379 | 1689:7f42a93f18a4 |
---|---|
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 |