First Release
NiseKabuto.h@0:e1265f6b3565, 2013-07-27 (annotated)
- Committer:
- sankichi
- Date:
- Sat Jul 27 14:05:47 2013 +0000
- Revision:
- 0:e1265f6b3565
First Release
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
sankichi | 0:e1265f6b3565 | 1 | #pragma once |
sankichi | 0:e1265f6b3565 | 2 | /** Class: In_CyberStick |
sankichi | 0:e1265f6b3565 | 3 | * |
sankichi | 0:e1265f6b3565 | 4 | * Use CyberStick(CZ-8NJ2) as fake XE-1AP(Kabutogani) MD mode |
sankichi | 0:e1265f6b3565 | 5 | * Use CyberStick(CZ-8NJ2) as SS Multi Controller |
sankichi | 0:e1265f6b3565 | 6 | * Use CyberStick(CZ-8NJ2) as PC-Engine Analog Controller |
sankichi | 0:e1265f6b3565 | 7 | * Use CyberStick(CZ-8NJ2) Digital mode as Famicom controller |
sankichi | 0:e1265f6b3565 | 8 | * Use CyberStick(CZ-8NJ2) as PlayStation3 USB Joystick |
sankichi | 0:e1265f6b3565 | 9 | * |
sankichi | 0:e1265f6b3565 | 10 | * Example: |
sankichi | 0:e1265f6b3565 | 11 | * |
sankichi | 0:e1265f6b3565 | 12 | */ |
sankichi | 0:e1265f6b3565 | 13 | #include "In_CyberStick.h" |
sankichi | 0:e1265f6b3565 | 14 | #include "In_MD6B.h" |
sankichi | 0:e1265f6b3565 | 15 | #include "Out_MD.h" |
sankichi | 0:e1265f6b3565 | 16 | #include "Out_SSMulCon.h" |
sankichi | 0:e1265f6b3565 | 17 | #include "Out_PCE.h" |
sankichi | 0:e1265f6b3565 | 18 | #include "Out_FC.h" |
sankichi | 0:e1265f6b3565 | 19 | #include "Out_PS3USB.h" |
sankichi | 0:e1265f6b3565 | 20 | #include "InputStatus.h" |
sankichi | 0:e1265f6b3565 | 21 | |
sankichi | 0:e1265f6b3565 | 22 | static volatile int _Timer0Counter; |
sankichi | 0:e1265f6b3565 | 23 | |
sankichi | 0:e1265f6b3565 | 24 | class NiseKabuto |
sankichi | 0:e1265f6b3565 | 25 | { |
sankichi | 0:e1265f6b3565 | 26 | public: |
sankichi | 0:e1265f6b3565 | 27 | // Public constants |
sankichi | 0:e1265f6b3565 | 28 | static const char CONFIG_INMODE_CYBERSTICK_ANALOG = 0; |
sankichi | 0:e1265f6b3565 | 29 | static const char CONFIG_INMODE_CYBERSTICK_DIGITAL = 1; |
sankichi | 0:e1265f6b3565 | 30 | static const char CONFIG_INMODE_MD6B = 2; |
sankichi | 0:e1265f6b3565 | 31 | |
sankichi | 0:e1265f6b3565 | 32 | static const char CONFIGPIN_OUTMODE_PS3USB = 0; |
sankichi | 0:e1265f6b3565 | 33 | static const char CONFIGPIN_OUTMODE_SSMULCON = 1; |
sankichi | 0:e1265f6b3565 | 34 | static const char CONFIGPIN_OUTMODE_PCE = 2; |
sankichi | 0:e1265f6b3565 | 35 | static const char CONFIGPIN_OUTMODE_MD = 3; // changed!! |
sankichi | 0:e1265f6b3565 | 36 | static const char CONFIGPIN_OUTMODE_FC = 4; |
sankichi | 0:e1265f6b3565 | 37 | |
sankichi | 0:e1265f6b3565 | 38 | // Public Method/Constructor |
sankichi | 0:e1265f6b3565 | 39 | NiseKabuto(PinName inputPins[], PinName outputPins[], PinName configurePins[]); |
sankichi | 0:e1265f6b3565 | 40 | void Show(void); |
sankichi | 0:e1265f6b3565 | 41 | |
sankichi | 0:e1265f6b3565 | 42 | private: |
sankichi | 0:e1265f6b3565 | 43 | // Variables |
sankichi | 0:e1265f6b3565 | 44 | char _InputType; |
sankichi | 0:e1265f6b3565 | 45 | char _OutputType; |
sankichi | 0:e1265f6b3565 | 46 | In_CyberStick *_In_CyberStick; |
sankichi | 0:e1265f6b3565 | 47 | In_MD6B *_In_MD6B; |
sankichi | 0:e1265f6b3565 | 48 | Out_MD *_Out_MD; |
sankichi | 0:e1265f6b3565 | 49 | Out_SSMulCon *_Out_SSMulCon; |
sankichi | 0:e1265f6b3565 | 50 | Out_PCE *_Out_PCE; |
sankichi | 0:e1265f6b3565 | 51 | Out_FC *_Out_FC; |
sankichi | 0:e1265f6b3565 | 52 | Out_PS3USB *_Out_PS3USB; |
sankichi | 0:e1265f6b3565 | 53 | InputStatus _InputStatus; |
sankichi | 0:e1265f6b3565 | 54 | BusInOut _ConfigSwitch; |
sankichi | 0:e1265f6b3565 | 55 | |
sankichi | 0:e1265f6b3565 | 56 | // Private Method |
sankichi | 0:e1265f6b3565 | 57 | void InitInterruptPriority(void); |
sankichi | 0:e1265f6b3565 | 58 | |
sankichi | 0:e1265f6b3565 | 59 | void InitInput_CyberStick (PinName inputPins[]); |
sankichi | 0:e1265f6b3565 | 60 | void InitInput_MD6B (PinName inputPins[]); |
sankichi | 0:e1265f6b3565 | 61 | void InitOutput_MD (PinName outputPins[]); |
sankichi | 0:e1265f6b3565 | 62 | void InitOutput_SSMulCon (PinName outputPins[]); |
sankichi | 0:e1265f6b3565 | 63 | void InitOutput_PCE (PinName outputPins[]); |
sankichi | 0:e1265f6b3565 | 64 | void InitOutput_FC (PinName outputPins[]); |
sankichi | 0:e1265f6b3565 | 65 | void InitOutput_PS3USB (void); |
sankichi | 0:e1265f6b3565 | 66 | |
sankichi | 0:e1265f6b3565 | 67 | public: |
sankichi | 0:e1265f6b3565 | 68 | static void WaitUs(uint32_t us); |
sankichi | 0:e1265f6b3565 | 69 | }; |
sankichi | 0:e1265f6b3565 | 70 |