<?xml version="1.0"?>
<statsTarget><link>http://cia.vc/stats/project/navi-misc/cube64</link><counters><counter name="forever" lastEventTime="1088833824" firstEventTime="1086404925">76</counter></counters><metadata><item name="subtitle"><value type="text/plain">None</value></item><item name="description"><value type="text/plain">An open source adaptor for using Nintendo Gamecube controllers with N64 consoles. Includes rumble pak emulation, and much reverse-engineered documentation on the controller's internals.</value></item><item name="links-filter"><value type="text/plain">None</value></item><item name="title"><value type="text/plain">Cube64</value></item><item name="url"><value type="text/plain">http://navi.cx/svn/misc/trunk/wasabi/devices/cube64/</value></item><item name="related-filter"><value type="text/plain">None</value></item></metadata><recentMessages><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4624</revision><author>micah</author><log>Fix a couple typos, add a section to the README explaining the Cube64 Basic and Mini  </log><diffLines>79</diffLines><files><file>README</file><file>hardware/cube64-mini.pdf</file><file>hardware/cube64-mini.sch</file></files></commit></body><timestamp>1088833824</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4623</revision><author>micah</author><log>Yay, a schematic for the Cube64 Mini. So cute!   </log><diffLines>1077</diffLines><files><file>hardware/</file><file>hardware/cube64-basic.pdf</file><file>hardware/cube64-basic.sch</file><file>hardware/cube64-mini.pdf</file><file>hardware/cube64-mini.sch</file></files></commit></body><timestamp>1088833380</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4621</revision><author>micah</author><log>Give the Cube64 Basic a real PIC16F84A symbol. A PIC16C84 had been hiding in there instead- not only are those old, but they won't run at 20MHz like the 'F84A will.   </log><diffLines>246</diffLines><files><file>hardware/cube64-basic.pdf</file><file>hardware/cube64-basic.sch</file></files></commit></body><timestamp>1088831708</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4619</revision><author>micah</author><log>Rename the old design &quot;Cube64 Basic&quot;. It needs external power and uses a commonly available PIC16F84A microcontroller. The new design, probably called &quot;Cube64 Mini&quot; generates its own 5V power and uses a tiny 8-pin PIC12F629 micro.   </log><diffLines>399</diffLines><files><file>hardware/cube64-basic.pdf</file><file>hardware/cube64-basic.sch</file><file>hardware/cube64.pdf</file><file>hardware/cube64.sch</file></files></commit></body><timestamp>1088830874</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4618</revision><author>micah</author><log>Whee, fix some EEPROM compatibility problems. This runs on the PIC12F629 now. That means that with two 8-pin chips and a few passive components we have a cube64 adaptor with full-strength rumble emulation, button remapping, and calibration. Yay!   </log><diffLines>68</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1088830563</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4617</revision><author>micah</author><log>Disable the comparator. Like the '675s A/D converter, it takes over GP0 and GP1 until it's disabled since it's unsafe to power up in digital mode if there's an analog signal coming in. </log><diffLines>24</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1088829493</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4616</revision><author>micah</author><log>Fix a handful of buglets in the PIC12F629/675 port   </log><diffLines>71</diffLines><files><file>firmware/Makefile</file><file>firmware/cube64.asm</file></files></commit></body><timestamp>1088827362</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4615</revision><author>micah</author><log>Yay, completely untested support for the cute little PIC12F629 processor </log><diffLines>189</diffLines><files><file>firmware/Makefile</file><file>firmware/cube64.asm</file><file>firmware/pista-629.conf</file><file>firmware/pista-84.conf</file><file>firmware/pista.conf</file></files></commit></body><timestamp>1088823737</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4543</revision><author>micah</author><log>YAY, button remapping works </log><diffLines>325</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087631523</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4540</revision><author>micah</author><log>Check for a magic word in the EEPROM on startup, reset it with an identity mapping if that word isn't found, and use the EEPROM to map all virtual button codes. This should act exactly the same, but it's much closer to supporting button remapping </log><diffLines>332</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087624328</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4539</revision><author>micah</author><log>Clarify the methods in which a controller may be recalibrated   </log><diffLines>32</diffLines><files><file>README</file></files></commit></body><timestamp>1087619992</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4538</revision><author>micah</author><log>Implement X+Y+Start recalibration </log><diffLines>101</diffLines><files><file>README</file><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087619610</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4537</revision><author>micah</author><log>Yay, the controller calibrates all analog axes when the N64 is powered or a gamecube controller is plugged in. Just needs support for the X+Y+Start in-game calibration </log><diffLines>112</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087618040</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4536</revision><author>micah</author><log>Put the default mappings for X and Y on the virtual-&gt;n64 side, to make things more consistent </log><diffLines>16</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087614537</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4535</revision><author>micah</author><log>This should now do the same thing, but in a more complex way :)
All gamecube buttons, including the emulated buttons produced by the C-stick, turn into virtual button codes. Those virtual button codes are then mapped back to N64 buttons. It should be easy to stick an EEPROM lookup in at the virtual button code layer now, to add remapping support.   </log><diffLines>168</diffLines><files><file>firmware/cube64.asm</file></files></commit></body><timestamp>1087614135</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4534</revision><author>micah</author><log>Add usage info to the README explaining how the (yet to be implemented) calibration and button remapping works   </log><diffLines>76</diffLines><files><file>README</file></files></commit></body><timestamp>1087610937</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4533</revision><author>micah</author><log>Remove the 'programmer' line, this should be in the user's ~/.pistarc instead  </log><diffLines>11</diffLines><files><file>firmware/pista.conf</file></files></commit></body><timestamp>1087607716</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4522</revision><author>micah</author><log>Remove the intermediate address map files from here too  </log><diffLines>13385</diffLines><files><file>notes/a10.map</file><file>notes/a11.map</file><file>notes/a12.map</file><file>notes/a13.map</file><file>notes/a14.map</file><file>notes/a5.map</file><file>notes/a6.map</file><file>notes/a7.map</file><file>notes/a8.map</file><file>notes/a9.map</file><file>notes/address.map</file><file>notes/valid.addresses</file></files></commit></body><timestamp>1087157352</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4517</revision><author>micah</author><log>Make the readme a bit more complete.. describe the cube64's current status and the results of the reverse engineering effort. Describe how the gamecube buttons are mapped.   </log><diffLines>49</diffLines><files><file>README</file></files></commit></body><timestamp>1087117001</timestamp></message><message><generator><name>Subversion client for CIA, python version</name><version>1.0</version></generator><source><project>navi-misc</project><module>cube64</module></source><body><commit><revision>4516</revision><author>micah</author><log>Add rumble motor power, and rename the schematic  </log><diffLines>385</diffLines><files><file>hardware/cube64-basic.pdf</file><file>hardware/cube64-basic.sch</file><file>hardware/cube64.pdf</file><file>hardware/cube64.sch</file></files></commit></body><timestamp>1087090140</timestamp></message></recentMessages></statsTarget>
