

Purupuru Demo by SinisterTengu (April 9, 2004) *(volatile unsigned long *)(0xa05f6c10) = 0 *(volatile unsigned long *)(0xa05f6c8c)= 0圆155404f //where did this number come from. Void *maple_docmd(int port, int unit, int cmd, int len, void *data) Own starup code, either in line or linked, and it shouldĪnd here are some effect that run on all units. Include to compile under KOS, or stick your I usually write DIags, kernels, and drivers.Īnd I have a horrible time understanding someone else'sĪnd lastly next post has some source to see it rumble you can alsoĬreate other effects this way as well like a heart beat,Ĥ. Get used to feeding the puru, don't just use anĮffect, thier durations vary from unit to unit.įeed it data, and stop it manually. on most units it just tugs the weight,īut on a few it's annoying it actually spins the weightĪ bit, and after 15 minutes. Don't overdo the effects, in AAC when you thrust Worked on all the units, and behaved close enoughĢ. Over 15 of them here to create a few effects that So if you're going to add puru effects, you'll needĪ few things 1. which bit 0 andīit 4 would control the left or right motor.įor now you set it to a 1, anthing else. This is the motor select, I verified this on absolute Not respond to you command, or simply do nothing. Set any bit here, and most devices, will either Lower Nibble(cC) appears to be the power saving Same as the B, 0-7 intensity, and the MSB Upper Nibble(Cc) This work with lower nibbleī to create the effect, it behaves exactly the Starts out strong then fades out, determinedīy the upper, and lower nibble, and the upperĬC These are pretty much the same across all Of the rumble 0-7 appear to be okay values While on other units they lower the intensity Here in order for the effect to accept a duration, On some units you HAVE to at least have a value Really don't behave the same across the different MSB will cause some units to ignore, or even stop the effect. Values that seem to work the best a 0-7, setting the Nibble to 1 you'll have 6pulses (3 a slight pause then 3) If you have an effect of 3 pulses and set the This will cause a repeat of whatever effect is going on.

This is kind of like a multiplyer of the lower nibble,īut if you use this only, the slight pause is missing,Īnd from what I've counted is not quite 7 or 15 times I've found one exception, that requires an effect It's good practice to set the effects to runĪA= these appear to be the "Duration" on almost all To endlessly loop whatever you send them, To the unit and it will switch to it right away. In most cases you can simply keep writing effects Writing a data of 0x00000000 stops the puru imeadiatly. The puru's take data via Command 14 "Set condition" even what I'mĪbout to post will fail on 2/9 puru's I have here. So don't create a random effect onĪ EMS Puru. Until someone figures out how the registers/parameters To fail, there is very little "safe" room to program these Now values, and bits on one puru will cause another What it's reading from them, and how it treats the data.īefore I go on. Sniff the access's to the puru to see how it can and if anyone who's got source toĪ dreamcast emulator it would be nice if you could
#Puru puru emulator mac code#
With the Katana dev kit is going to have toįollow some of the code to see how the data is So, at this point to get it to work right, someone so it was hard enoughĬatching a command to the puru. So to find a PURUPURU just query "dev info" (cmd 1). Some will actually get the command to rumble. Only 4 actually respond to an "extended dev info"

Note: that out of the 9 rumbles I have here That comes from the unit aside from the generic parameters that So far I have yet to find any understandable data actually they all behave diferently.Īll the info I've gathered was done using a logicĪnalyzer, and then imitating the data until From what I've seen so far, not all rumbles areĮqual.
