问题标签 [nintendo]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
1122 浏览

linux - 通过在 Windows 上运行的 Linux Docker 容器使用蓝牙

我正在尝试运行https://github.com/mart1nro/joycontrol以从我的 PC 中欺骗joycon。我正在尝试在 Windows 10 中运行的 Linux (ubuntu:18.04) Docker 容器中运行它,但它似乎找不到蓝牙设备。这是我的简单 Dockerfile:https ://github.com/juharris/joycontrol/blob/master/Dockerfile在那里你可以看到docker run我尝试过的命令。我尝试使用--net=host --privilegedand --net=host --cap-add=SYS_ADMIN --cap-add=NET_ADMIN

我得到的错误是:OSError: [Errno 97] Address family not supported by protocol

任何让蓝牙通过 Windows 上的 Linux 容器或 Joycon 欺骗替代方案工作的建议将不胜感激。

0 投票
2 回答
649 浏览

emulation - SNES 本身——而不是磁带——如何处理 LoROM 和 HiROM 磁带?

我想详细了解 LoROM 和 HiROM 墨盒的区别。

在理论上,我很清楚任何卡式磁带都可以做任何它想做的地址映射魔法,例如银行来扩展物理地址空间。为此,SNES 本身无需了解此类映射(除非它使用缓存,而 AFAIK 则没有)。唯一的限制是卡盒不能影响 SNES 内部已经连接的总线外围设备的任何映射,除非有特殊机制允许这样做,例如卡盒能够抑制 SNES 内部芯片的芯片选择. 同样,我不知道任何这样的机制。

我在这里找到了 LoROM 和 HiROM 内存映射:https ://en.wikibooks.org/wiki/Super_NES_Programming/SNES_memory_map#LoROM

比较这些,我看到的唯一区别是磁带提供的地址,它不需要 SNES 本身知道是使用 LoROM 还是 HiROM 映射。特别是,LoROM 与 HiROM 的区别似乎不会导致任何地址块在“在 SNES 中”与“在磁带中”之间切换。

到目前为止,我本以为 LoROM 和 HiROM 是在墨盒设计中使用的概念,对 SNES 本身是透明的。

但是,上面链接的同一篇文章稍后描述了“内部”SNES 标头(注意:不是 SMC 标头,他们建议将其视为不可靠的信息)。据我了解,SMC头是ROM读取器设备提供的外部信息,而内部SNES头实际上存储在ROM中。他们确实提到内部 SNES 标头可能出现在内存映射中的不同位置,具体取决于地址映射,这是显而易见的。他们建议通过探测(出于仿真目的)“找到”标题,但我不清楚真正的 SNES 进行了多大程度的探测。

内部标头包含一个区分 LoROM 和 HiROM 的字段。该页面似乎面向仿真,并且在仿真与真实硬件方面有点模糊,但关键是 LoROM 与 HiROM 的区别存储在实际卡带上的实际 ROM 芯片中,以便 SNES 读取。

鉴于 LoROM 和 HiROM 似乎可以单独在盒式磁带中区分,对 SNES 透明,标题中的这个标志对 SNES 有什么影响?

0 投票
1 回答
134 浏览

emulation - N 字节“魔术”数字的目的是什么?

解析 NES rom 时,前四个字节是一个“幻数”:

这或任何其他示例提供了什么目的?

0 投票
0 回答
96 浏览

winapi - 使用多个调色板绘制 4bpp 2D 瓷砖的最佳方法是什么?

我正在创建一个通用的 SNES tilemap 编辑器(类似于NES Screen Tool),这意味着我正在绘制很多 4bpp 的图块。但是,我的图形循环运行时间太长,即使使用CachedBitmaps无法更改其调色板,我可能需要在 8 个之间切换。我可以处理 SNES 格式和事物的大小,但正在努力解决窗边。

我在我的程序中足够早,重写整个图形例程不会麻烦。

我应该放弃 GDI+ 并改用 Direct2D 还是其他方式?有没有更快的方法来绘制 4bpp 位图而无需为每个调色板创建副本?

编辑:

我的图形绘制程序如此缓慢的原因是因为我是直接在屏幕上绘制的。绘制到单独的位图作为缓冲区,然后将缓冲区绘制到屏幕上要快得多。在绘制到缓冲区时更新磁贴的调色板会产生非常合理的速度。
0 投票
0 回答
32 浏览

python - N64 控制器认为它是 Neogeomini-pad 或 ZD-V+ 有线游戏控制器

我买了一个新的 N64 控制器,我正在使用 PyUSB 与它通信。我需要 productID 和 vendorID 来将我的计算机连接到控制器。

N64 控制器的每个 productID 和 vendorID 列表都在此站点上提供:https ://www.the-sz.com/products/usbid/index.php?v=&p=&n=N64%20Controller 。他们都没有工作。

我在设备属性中找到了我需要的 ID:ProductID:0575 VendorID:2563,但是当我连接到设备时,控制器使用了意外的数据包通信方案(通常是 32 位数据包用于用户通信)。

无论控制器输入如何,我确实收到的数据包始终是全 0 的 9 个字节。

序列号没有鸭鸭结果,谷歌搜索产品 ID 和供应商 ID 显示与 neogeomini-pad 匹配的结果:http://technojapan.net/2018/08/02/neogeomini-pad/那里的数据包通信方案类似,但与控制器不同。搜索 productID 和 vendorID 导致与 ZD-V+ 有线游戏控制器匹配:https ://www.the-sz.com/products/usbid/index.php?v=0x2563 。作为顶部的樱桃,控制器上有一个物理标签,上面写着“中国制造”,但控制器给出的制造商是位于苏丹的 SWITCH CO. LDT。

问题:如何让控制器发送对应于不同输入的非零字节流?

可能的解决方案:我在 PyUSB 的问答中读到,对于 HID 设备,最好使用 hid 模块。我阅读了 HID 设备是什么,而控制器可能是 HID 设备。我将尝试通过 pip 安装此模块并希望最好。

0 投票
1 回答
212 浏览

python - 如何从 Nintendo Switch Joycon 中获取输入?

我正在尝试从两个 Joycon 获得输入。我试过joycon-python,但这给了我不准确的摇杆运动。我曾尝试通过 pybluez 进行连接,但似乎无法正常工作。到目前为止,我的代码是为了连接到joycon。

最好我还希望能够组合输入以作为单个控制器运行。

0 投票
1 回答
20 浏览

android - 为什么我不能在我的 Chromebook acer chromebook 14 cb3-431 上安装 Dolphin Emulator apk

我下载了应用程序的 x86_64 组合版本,并试图通过 linux 环境将它与 ADB 一起加载。因为如果我只是尝试以典型方式安装它,它只会显示“未安装应用程序”。当我尝试运行它时出现此错误。