mupen64plus-core
mupen64plus-core copied to clipboard
Hey You, Pikachu! VRU Emulation Support
Bliss-Box developers have offered support for the VRU, we need to get the interface working for them though. See here: http://www.emutalk.net/threads/55279-Hey-You!-Pikachu-Possible-HLE-Implementation/page4
If we can get the VRU working through BlissBox, an HLE implementation through any mic shouldn't be far behind. Issue is that I don't think the controller plugin currently has support for the VRU, I believe the Mupen plugin doesn't have any Adaptoid-style support for RAW input, correct?
Relevant code used in the VRU communication process:
s32 osVoiceInit(OSMesgQueue *siMessageQ, OSVoiceHandle *hd, int channel);
typedef struct {
OSMesgQueue *__mq; /* SI message queue */
int __channel; /* Controller port No. */
s32 __mode; /* Used within the OS */
u8 cmd_status; /* Command status */
} OSVoiceHandle;
s32 osVoiceSetWord(OSVoiceHandle *hd, u8 *word);
s32 osVoiceClearDictionary(OSVoiceHandle *hd, us words);
s32 osVoiceSetWord(OSVoiceHandle *hd, u8 *word);
s32 osVoiceStartReadData(OSVoiceHandle *hd);
s32 osVoiceGetReadData(OSVoiceHandle *hd, OSVoiceData *result);
typedef struct {
u16 warning; /* Warning */
u16 answer_num; /* Candidate number (0~5) */
u16 voice_level; /* Voice input level */
u16 voice_sn; /* Relative voice level */
u16 voice_time; /* Voice input time */
u16 answer[5]; /* Candidate word number */
u16 distance[5]; /* Distance value */
} OSVoiceData;
s32 osVoiceStopReadData(OSVoiceHandle *hd);
//Registered Words:
u8 *registration_word[] = {
"yakiniku",
"mario",
.
.
.
"pikachu"
And a flowchart of how it works:
https://github.com/mupen64plus/mupen64plus-core/pull/873
Shouldn't this be closed?
@Hasster1 still no way to emulate the VRU, although there was some progress made on it a year or two back, there was a working prototype using a PC mic, I can try to track that down
This was completed in https://github.com/mupen64plus/mupen64plus-core/pull/873
It is available in simple64: https://simple64.github.io
It's still up to the input plugin to support this, and AFAIK only simple64's input plugin does, but mupen64plus-core already supports the VRU as much as it can
Oh, very cool, hadn't realized anyone had officially implemented it with a GUI yet, sounds like this can be closed then.