9924bf6018
amex/ds.c: Remove redundant OVERLAPPED handling
...
capnhook handles this common case by itself.
2019-03-16 12:17:41 -04:00
27663b4b19
board/sg-reader.c: Push down aimeio.dll calls
...
This is kind of a layer break but the alternative is way too much
boilerplate to deal with.
2019-03-16 11:42:36 -04:00
458bf5b3de
subprojects: Bump capnhook dep
...
Use a pre-release commit of capnhook that lets us hook HID.DLL
without getting blown up by apisets.
2019-03-15 22:17:00 -04:00
8f8d7c6a22
idzhook: Add initial XInput-backed IDZero hook
2019-03-08 10:07:48 -05:00
b550efd4a9
zinput: Add stub DirectInput implementation
...
Initial D Zero has some incomplete built-in PC input support, we
need to disable it so that it does not interfere with our JVS
emulation.
2019-03-08 10:07:48 -05:00
9ae07c6e49
Add xinput.h to PCH
2019-03-08 10:07:48 -05:00
463d55cddc
board/io3.c: Use IO-4 GPIO output count
...
Supposedly the IO-4's JVS interface presents the exact same
capabilities as the IO-3 except that it purports to have a massive
number of GPIO outputs (20 ports, each port having 8 bits). So
we'll just make our emulated IO-3 look like an IO-4 then.
2019-03-08 10:07:48 -05:00
5eef0455a2
board/io3.c: Fix analog input endianness
2019-03-08 10:07:48 -05:00
72f28e40b0
amex/ds.c: Read optional region code
2019-03-04 18:39:37 -05:00
bc297b2480
Split libnu into libplatform, libamex
...
Going to add some ALLS stuff to libplatform and the ALLS hardware
does not contain an AMEX board.
2019-03-04 17:22:38 -05:00
727ce5171f
Add XInput dependency
2019-03-04 16:47:32 -05:00
0806282bbf
board/guid.c: Add HID class GUID
2019-03-04 16:47:32 -05:00
ba8b8e32fc
util/async.c: Add async IO worker thread
...
Need this for IO4 USB emulation, might break it out and upstream it
to Capnhook at some point as well.
2019-03-04 16:47:32 -05:00
2be3647089
Enable Windows Vista+ Win32 APIs
...
I'd like to have condition variables.
2019-03-04 16:47:32 -05:00
39d1b89b1b
util/dprintf.c: Make dprintf() thread safe
2019-03-04 16:47:32 -05:00
65d24c1ada
util/setupapi.c: Avoid clashes with real devices
...
We're going to need this for HID emulation, since unlike all the
other device classes regular PCs do actually have a bunch of HIDs
attached to them that we're going to want to access from within
the hooked process.
2019-02-27 21:56:10 -05:00
243914f23a
cardhook/_com12.c: Rebase onto sg-reader
2019-02-26 13:52:45 -05:00
bc2928804c
board/sg-reader.c: Factor out NFC ass'y emu
...
Combine the NFC module emulator with the LED module emulator and
a virtual UART to build a higher-level reusable building block.
2019-02-26 13:49:29 -05:00
662bfa55ec
aimeio: Factor out emulated reader assembly app logic
2019-02-26 13:49:29 -05:00
2cbb18604b
board/sg-led.c: Remove error path from update cmd
...
No way to return it to the host application anyway since this
command is unacknowledged.
2019-02-26 13:49:29 -05:00
8606d17699
board/sg-nfc.c: Pass UID consistently
...
If we receive it from the upper ops layer then we should send it
back as well.
2019-02-26 13:49:29 -05:00
bbe085b73d
board/slider-cmd.h: Add separate Diva LED cmd
...
The Chunithm slider has sixteen cells and fifteen (I think?)
vertical lines splitting the cells. Diva does not have these lines,
so presumably the LED data format is different. Need to analyze
this further.
2019-02-26 13:49:29 -05:00
05ccf363d9
board/meson.build: Fix sorting
2019-02-26 13:49:29 -05:00
8036ff71ec
board: Factor out Chunithm slider
2019-01-26 12:05:37 -05:00
6416ef6e95
nu/nusec.c: Don't log security pings
2019-01-17 13:59:02 -05:00
ee011a74d4
Make dprintfs 64-bit clean
2018-12-17 17:34:50 -05:00
755be05603
board/sg-nfc.c: Use non-hardcoded UID
...
Turns out this does in fact vary between cards, even though its
actual value is unimportant.
2018-12-17 17:34:50 -05:00
9159be00a2
Add HW,FW notes on NFC assembly
2018-11-28 11:49:55 -05:00
2c6d48ce27
Add Chunithm Star Plus WinHTTP debug printfs
2018-11-28 11:49:16 -05:00
25a1898747
Add j_printf spike flavor
2018-11-28 11:49:10 -05:00
51e4eca7dd
Add MSVC PCH support
2018-11-23 18:25:22 -05:00
6adb4e7b8b
Make project buildable by MSVC
2018-11-23 18:25:22 -05:00
359561d762
Fix meson project name
2018-11-23 18:25:21 -05:00
dc082c77eb
util/clock.c: Use #define constants
...
MSVC doesn't allow chaining of const expressions grumble grumble
(need to use constexpr, which is a. an extremely ugly looking
reserved word and b. exclusive to C++)
2018-11-23 18:25:21 -05:00
42a79933f1
util/setupapi.c: Fix calling convention syntax
2018-11-23 18:25:21 -05:00
829ca160be
nu/gpio.c: Fix static assert
2018-11-23 18:25:21 -05:00
9ec0fbf957
Suppress hook DLL exports
2018-11-23 18:12:36 -05:00
0cbd950289
Fix non-PCH build
2018-11-23 14:37:42 -05:00
0bd8be6610
Bump capnhook dependency
2018-11-23 14:37:35 -05:00
51994d59ff
Combine both clock hooks
...
Turns out the clock skew doesn't really work unless RTC and TZ
changes are blocked as well.
2018-11-23 14:23:16 -05:00
1725cfb9ac
Add registry keys for Chunithm
...
Will virtualize this stuff eventually but it will do for now.
2018-11-20 20:58:51 -05:00
55c68c8094
cardhook: Wire up aimeReaderHost hook
...
This is an external AiMe driver process that is only used by
Chunithm AFAIK. The wiring can be easily re-used for other games.
2018-11-20 20:33:17 -05:00
1630784c3d
board/sg-led.c: Implement RGB LED support
...
Used by AiMe reader, possibly used elsewhere.
2018-11-20 20:33:17 -05:00
4936fc2bcc
board/sg-nfc.c: Add initial emu for NFC board
...
This board also supports FeliCa and probably some other stuff.
Need to analyze and implement these features later, Mifare card
support only for now.
2018-11-20 20:33:17 -05:00
0135236209
board/sg-cmd.c: Add "sg" req/resp packets
2018-11-20 20:33:17 -05:00
b8ffd20877
board/sg-frame.c: Add "sg" framing support
2018-11-20 20:33:17 -05:00
9f43f9f397
Hoist slider from board into chunihook
...
Diva slider uses the quasi-JVS framing used by all other SEGA
boards, the Chunithm slider is a special case.
2018-11-20 20:33:17 -05:00
78e7de613f
nu/nusec.c: Implement log ring buffer
2018-11-20 20:33:17 -05:00
c825959250
minihook: Load spike config
2018-11-20 20:33:17 -05:00
9c83a38208
util/clock.c: Apply clock skew
...
SEGA games are unplayable between 03:00 and 07:00 local time due
to a network maintenance period that is hard-coded into the games
themselves (no, guest play is not available).
Deal with this by slowing down time to avoid 02:00 (the time when
a warning appears and new credits eventually start being rejected),
then jump forward to sync up with real time when 07:00 hits.
2018-11-20 20:33:17 -05:00