Commit Graph

77 Commits

Author SHA1 Message Date
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
Tau 2440be1cbf board/io3.c: Handle short reads/writes 2018-11-20 20:33:17 -05:00
Tau 5df0994458 util/dump.c: Add ASCII view to dump output 2018-11-20 20:33:17 -05:00
Tau c1dee321f3 chunihook/dllmain.c: Wire up Chunithm hook DLL 2018-11-20 20:33:17 -05:00
Tau 4564699a42 chunihook/slider.c: Add Chunithm slider emulation 2018-11-20 20:33:17 -05:00
Tau 75e227cc91 chunihook/jvs.c: Add Chunithm cabinet JVS callbacks 2018-11-20 20:33:17 -05:00
Tau 66132effd7 chunihook: Add empty DLL 2018-11-20 20:33:17 -05:00
Tau e14c5436c2 minihook: Add security override hook 2018-11-20 20:33:17 -05:00
Tau 5a2a2a6bbf spike: Add Chunithm Star Plus memory addresses 2018-11-20 20:33:17 -05:00
Tau c560dc7ee2 util/spike.c: Add configurable log "spike" injector 2018-11-20 20:33:17 -05:00
Tau 1eca0648f1 util/gfx.c: Add crude D3D9 window hook 2018-11-20 20:33:17 -05:00
Tau 851ea65609 util/clock.c: Add hook to prevent date/time changes 2018-11-20 20:33:17 -05:00