F___ you, Nintendo: https://www.youtube.com/watch?v=nso9U0jlGfY

前言

今天是 2022 年的最后一天,我刚刚 “复活” 好我的博客:更新了一些 Jekyll 的废弃配置、移除了旧式以 deploy 分支来存放构建产物的 “坏习惯”、并把之前拙劣的 Nix script 换用了 Flakes

GitHub 现已支持用跑完 Actions 后的 Artifacts 产物来部署 Pages,比之前的 “找个分支放产物,每次都强推” 的做法要好不少。而且 actions 给得也很全面,我的 Workflows 文件里现在只有 5 行 steps 了。

yuzu

最近接触到了 NS 模拟器 yuzu,体验了一些独占游戏后又入了 Joycon,想着可以用传感器玩玩 世界游戏大全 51 里的飞镖和射靶游戏,而且也可以和家人玩玩 星之卡比

除了 yuzu 我还知道有另一款 C# 写成的 NS 模拟器 Ryujinx。yuzu 上缺一些太鼓达人用到的系统调用 (#8949),但 Ryujinx 实现了并且可以玩。

给模拟器配置 Motion 时需要额外起一个 joycond (services.joycond.enable = true;),并且在使用过程中需要开着 joycond-cemuhook,这种 UDP Server 的设计或许是为了给 wine 这样的独立模拟器用。

https://cemuhook.sshnuke.net/padudpserver.html

Update -- 2023.05.30

补充一下之前 fork 过的 VergeDX/joycond-cemuhook,用 Nix Flakes 写了一个 devShell,可以 nix develop 或搭配 nix-direnv 食用:

joycond-cemuhook on  master +61 -1 [✘!] via 🐍 v3.10.11
at 13:27:06 fsh ❯ nix develop
warning: Git tree '/persistent/Downloads/Temp/joycond-cemuhook' is dirty

[vanilla@NixOS-RoT:~/Downloads/Temp/joycond-cemuhook]$ python3 joycond-cemuhook.py
Looking for Nintendo Switch controllers...

另外,还需要载入 hid_nintendo 内核模块并启用 joycond 守护进程:

# https://github.com/joaorb64/joycond-cemuhook
services.joycond.enable = true;

# https://github.com/VergeDX/joycond-cemuhook
boot.initrd.kernelModules = [ "hid_nintendo" ];