Commit Graph

288 Commits

Author SHA1 Message Date
Tau 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
Tau 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
Tau 8f8d7c6a22 idzhook: Add initial XInput-backed IDZero hook 2019-03-08 10:07:48 -05:00
Tau 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
Tau 9ae07c6e49 Add xinput.h to PCH 2019-03-08 10:07:48 -05:00
Tau 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
Tau 5eef0455a2 board/io3.c: Fix analog input endianness 2019-03-08 10:07:48 -05:00
Tau 72f28e40b0 amex/ds.c: Read optional region code 2019-03-04 18:39:37 -05:00
Tau 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
Tau 727ce5171f Add XInput dependency 2019-03-04 16:47:32 -05:00
Tau 0806282bbf board/guid.c: Add HID class GUID 2019-03-04 16:47:32 -05:00
Tau 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
Tau 2be3647089 Enable Windows Vista+ Win32 APIs
I'd like to have condition variables.
2019-03-04 16:47:32 -05:00
Tau 39d1b89b1b util/dprintf.c: Make dprintf() thread safe 2019-03-04 16:47:32 -05:00
Tau 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
Tau 243914f23a cardhook/_com12.c: Rebase onto sg-reader 2019-02-26 13:52:45 -05:00
Tau 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
Tau 662bfa55ec aimeio: Factor out emulated reader assembly app logic 2019-02-26 13:49:29 -05:00
Tau 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
Tau 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
Tau 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
Tau 05ccf363d9 board/meson.build: Fix sorting 2019-02-26 13:49:29 -05:00
Tau 8036ff71ec board: Factor out Chunithm slider 2019-01-26 12:05:37 -05:00
Tau 6416ef6e95 nu/nusec.c: Don't log security pings 2019-01-17 13:59:02 -05:00
Tau ee011a74d4 Make dprintfs 64-bit clean 2018-12-17 17:34:50 -05:00
Tau 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
Tau 9159be00a2 Add HW,FW notes on NFC assembly 2018-11-28 11:49:55 -05:00
Tau 2c6d48ce27 Add Chunithm Star Plus WinHTTP debug printfs 2018-11-28 11:49:16 -05:00
Tau 25a1898747 Add j_printf spike flavor 2018-11-28 11:49:10 -05:00
Tau 51e4eca7dd Add MSVC PCH support 2018-11-23 18:25:22 -05:00
Tau 6adb4e7b8b Make project buildable by MSVC 2018-11-23 18:25:22 -05:00
Tau 359561d762 Fix meson project name 2018-11-23 18:25:21 -05:00
Tau 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
Tau 42a79933f1 util/setupapi.c: Fix calling convention syntax 2018-11-23 18:25:21 -05:00
Tau 829ca160be nu/gpio.c: Fix static assert 2018-11-23 18:25:21 -05:00
Tau 9ec0fbf957 Suppress hook DLL exports 2018-11-23 18:12:36 -05:00
Tau 0cbd950289 Fix non-PCH build 2018-11-23 14:37:42 -05:00
Tau 0bd8be6610 Bump capnhook dependency 2018-11-23 14:37:35 -05:00
Tau 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
Tau 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
Tau 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
Tau 1630784c3d board/sg-led.c: Implement RGB LED support
Used by AiMe reader, possibly used elsewhere.
2018-11-20 20:33:17 -05:00
Tau 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
Tau 0135236209 board/sg-cmd.c: Add "sg" req/resp packets 2018-11-20 20:33:17 -05:00
Tau b8ffd20877 board/sg-frame.c: Add "sg" framing support 2018-11-20 20:33:17 -05:00
Tau 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
Tau 78e7de613f nu/nusec.c: Implement log ring buffer 2018-11-20 20:33:17 -05:00
Tau c825959250 minihook: Load spike config 2018-11-20 20:33:17 -05:00
Tau 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
Tau 9614185511 util/spike.c: Use different filenames for each DLL
Might want to hook Chunithm and the card reader satellite process
side by side for instance.
2018-11-20 20:33:17 -05:00