parent
a3120181be
commit
96bf8cab81
|
@ -72,6 +72,7 @@ void aime_config_load(struct aime_config *cfg, const wchar_t *filename)
|
||||||
|
|
||||||
aime_dll_config_load(&cfg->dll, filename);
|
aime_dll_config_load(&cfg->dll, filename);
|
||||||
cfg->enable = GetPrivateProfileIntW(L"aime", L"enable", 1, filename);
|
cfg->enable = GetPrivateProfileIntW(L"aime", L"enable", 1, filename);
|
||||||
|
cfg->port_no = GetPrivateProfileIntW(L"aime", L"portNo", 0, filename);
|
||||||
cfg->high_baudrate = GetPrivateProfileIntW(L"aime", L"highBaud", 1, filename);
|
cfg->high_baudrate = GetPrivateProfileIntW(L"aime", L"highBaud", 1, filename);
|
||||||
cfg->gen = GetPrivateProfileIntW(L"aime", L"gen", 0, filename);
|
cfg->gen = GetPrivateProfileIntW(L"aime", L"gen", 0, filename);
|
||||||
}
|
}
|
||||||
|
@ -90,7 +91,7 @@ void vfd_config_load(struct vfd_config *cfg, const wchar_t *filename)
|
||||||
assert(filename != NULL);
|
assert(filename != NULL);
|
||||||
|
|
||||||
cfg->enable = GetPrivateProfileIntW(L"vfd", L"enable", 1, filename);
|
cfg->enable = GetPrivateProfileIntW(L"vfd", L"enable", 1, filename);
|
||||||
cfg->port = GetPrivateProfileIntW(L"vfd", L"portNo", 0, filename);
|
cfg->port_no = GetPrivateProfileIntW(L"vfd", L"portNo", 0, filename);
|
||||||
cfg->utf_conversion = GetPrivateProfileIntW(L"vfd", L"utfConversion", 0, filename);
|
cfg->utf_conversion = GetPrivateProfileIntW(L"vfd", L"utfConversion", 0, filename);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -47,7 +47,7 @@ static struct sg_led sg_reader_led;
|
||||||
|
|
||||||
HRESULT sg_reader_hook_init(
|
HRESULT sg_reader_hook_init(
|
||||||
const struct aime_config *cfg,
|
const struct aime_config *cfg,
|
||||||
unsigned int port_no,
|
unsigned int default_port_no,
|
||||||
unsigned int gen,
|
unsigned int gen,
|
||||||
HINSTANCE self)
|
HINSTANCE self)
|
||||||
{
|
{
|
||||||
|
@ -66,6 +66,11 @@ HRESULT sg_reader_hook_init(
|
||||||
return hr;
|
return hr;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
unsigned int port_no = cfg->port_no;
|
||||||
|
if (port_no == 0){
|
||||||
|
port_no = default_port_no;
|
||||||
|
}
|
||||||
|
|
||||||
if (cfg->gen != 0) {
|
if (cfg->gen != 0) {
|
||||||
gen = cfg->gen;
|
gen = cfg->gen;
|
||||||
}
|
}
|
||||||
|
@ -85,6 +90,7 @@ HRESULT sg_reader_hook_init(
|
||||||
sg_reader_uart.baud.BaudRate = 38400;
|
sg_reader_uart.baud.BaudRate = 38400;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dprintf("NFC Assembly: enabling (port=%d)\n", port_no);
|
||||||
uart_init(&sg_reader_uart, port_no);
|
uart_init(&sg_reader_uart, port_no);
|
||||||
sg_reader_uart.written.bytes = sg_reader_written_bytes;
|
sg_reader_uart.written.bytes = sg_reader_written_bytes;
|
||||||
sg_reader_uart.written.nbytes = sizeof(sg_reader_written_bytes);
|
sg_reader_uart.written.nbytes = sizeof(sg_reader_written_bytes);
|
||||||
|
|
|
@ -9,12 +9,13 @@
|
||||||
struct aime_config {
|
struct aime_config {
|
||||||
struct aime_dll_config dll;
|
struct aime_dll_config dll;
|
||||||
bool enable;
|
bool enable;
|
||||||
|
unsigned int port_no;
|
||||||
bool high_baudrate;
|
bool high_baudrate;
|
||||||
unsigned int gen;
|
unsigned int gen;
|
||||||
};
|
};
|
||||||
|
|
||||||
HRESULT sg_reader_hook_init(
|
HRESULT sg_reader_hook_init(
|
||||||
const struct aime_config *cfg,
|
const struct aime_config *cfg,
|
||||||
unsigned int port_no,
|
unsigned int default_port_no,
|
||||||
unsigned int gen,
|
unsigned int gen,
|
||||||
HINSTANCE self);
|
HINSTANCE self);
|
||||||
|
|
12
board/vfd.c
12
board/vfd.c
|
@ -51,7 +51,7 @@ HRESULT vfd_handle_create_char2(struct const_iobuf* reader, struct iobuf* writer
|
||||||
|
|
||||||
static bool utf_enabled;
|
static bool utf_enabled;
|
||||||
|
|
||||||
HRESULT vfd_hook_init(struct vfd_config *cfg, int default_port)
|
HRESULT vfd_hook_init(struct vfd_config *cfg, unsigned int default_port_no)
|
||||||
{
|
{
|
||||||
if (!cfg->enable){
|
if (!cfg->enable){
|
||||||
return S_FALSE;
|
return S_FALSE;
|
||||||
|
@ -59,13 +59,13 @@ HRESULT vfd_hook_init(struct vfd_config *cfg, int default_port)
|
||||||
|
|
||||||
utf_enabled = cfg->utf_conversion;
|
utf_enabled = cfg->utf_conversion;
|
||||||
|
|
||||||
int port = cfg->port;
|
unsigned int port_no = cfg->port_no;
|
||||||
if (port == 0){
|
if (port_no == 0){
|
||||||
port = default_port;
|
port_no = default_port_no;
|
||||||
}
|
}
|
||||||
|
|
||||||
dprintf("VFD: enabling (port=%d)\n", port);
|
dprintf("VFD: enabling (port=%d)\n", port_no);
|
||||||
uart_init(&vfd_uart, port);
|
uart_init(&vfd_uart, port_no);
|
||||||
vfd_uart.written.bytes = vfd_written;
|
vfd_uart.written.bytes = vfd_written;
|
||||||
vfd_uart.written.nbytes = sizeof(vfd_written);
|
vfd_uart.written.nbytes = sizeof(vfd_written);
|
||||||
vfd_uart.readable.bytes = vfd_readable;
|
vfd_uart.readable.bytes = vfd_readable;
|
||||||
|
|
|
@ -4,10 +4,10 @@
|
||||||
|
|
||||||
struct vfd_config {
|
struct vfd_config {
|
||||||
bool enable;
|
bool enable;
|
||||||
int port;
|
unsigned int port_no;
|
||||||
bool utf_conversion;
|
bool utf_conversion;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
HRESULT vfd_hook_init(struct vfd_config *cfg, int default_port);
|
HRESULT vfd_hook_init(struct vfd_config *cfg, unsigned int default_port_no);
|
||||||
|
|
||||||
|
|
|
@ -42,6 +42,12 @@ Default: `1`
|
||||||
Enable Aime card reader assembly emulation. Disable to use a real SEGA Aime
|
Enable Aime card reader assembly emulation. Disable to use a real SEGA Aime
|
||||||
reader (COM port number varies by game).
|
reader (COM port number varies by game).
|
||||||
|
|
||||||
|
### `portNo`
|
||||||
|
|
||||||
|
Default: (game specific)
|
||||||
|
|
||||||
|
Sets the COM port to use for the aime card reader assembly.
|
||||||
|
|
||||||
### `highBaud`
|
### `highBaud`
|
||||||
|
|
||||||
Default: `1`
|
Default: `1`
|
||||||
|
|
Loading…
Reference in New Issue