1 /*********************************************************************************** 2 Snes9x - Portable Super Nintendo Entertainment System (TM) emulator. 3 4 (c) Copyright 1996 - 2002 Gary Henderson (gary.henderson@ntlworld.com), 5 Jerremy Koot (jkoot@snes9x.com) 6 7 (c) Copyright 2002 - 2004 Matthew Kendora 8 9 (c) Copyright 2002 - 2005 Peter Bortas (peter@bortas.org) 10 11 (c) Copyright 2004 - 2005 Joel Yliluoma (http://iki.fi/bisqwit/) 12 13 (c) Copyright 2001 - 2006 John Weidman (jweidman@slip.net) 14 15 (c) Copyright 2002 - 2006 funkyass (funkyass@spam.shaw.ca), 16 Kris Bleakley (codeviolation@hotmail.com) 17 18 (c) Copyright 2002 - 2010 Brad Jorsch (anomie@users.sourceforge.net), 19 Nach (n-a-c-h@users.sourceforge.net), 20 21 (c) Copyright 2002 - 2011 zones (kasumitokoduck@yahoo.com) 22 23 (c) Copyright 2006 - 2007 nitsuja 24 25 (c) Copyright 2009 - 2016 BearOso, 26 OV2 27 28 29 BS-X C emulator code 30 (c) Copyright 2005 - 2006 Dreamer Nom, 31 zones 32 33 C4 x86 assembler and some C emulation code 34 (c) Copyright 2000 - 2003 _Demo_ (_demo_@zsnes.com), 35 Nach, 36 zsKnight (zsknight@zsnes.com) 37 38 C4 C++ code 39 (c) Copyright 2003 - 2006 Brad Jorsch, 40 Nach 41 42 DSP-1 emulator code 43 (c) Copyright 1998 - 2006 _Demo_, 44 Andreas Naive (andreasnaive@gmail.com), 45 Gary Henderson, 46 Ivar (ivar@snes9x.com), 47 John Weidman, 48 Kris Bleakley, 49 Matthew Kendora, 50 Nach, 51 neviksti (neviksti@hotmail.com) 52 53 DSP-2 emulator code 54 (c) Copyright 2003 John Weidman, 55 Kris Bleakley, 56 Lord Nightmare (lord_nightmare@users.sourceforge.net), 57 Matthew Kendora, 58 neviksti 59 60 DSP-3 emulator code 61 (c) Copyright 2003 - 2006 John Weidman, 62 Kris Bleakley, 63 Lancer, 64 z80 gaiden 65 66 DSP-4 emulator code 67 (c) Copyright 2004 - 2006 Dreamer Nom, 68 John Weidman, 69 Kris Bleakley, 70 Nach, 71 z80 gaiden 72 73 OBC1 emulator code 74 (c) Copyright 2001 - 2004 zsKnight, 75 pagefault (pagefault@zsnes.com), 76 Kris Bleakley 77 Ported from x86 assembler to C by sanmaiwashi 78 79 SPC7110 and RTC C++ emulator code used in 1.39-1.51 80 (c) Copyright 2002 Matthew Kendora with research by 81 zsKnight, 82 John Weidman, 83 Dark Force 84 85 SPC7110 and RTC C++ emulator code used in 1.52+ 86 (c) Copyright 2009 byuu, 87 neviksti 88 89 S-DD1 C emulator code 90 (c) Copyright 2003 Brad Jorsch with research by 91 Andreas Naive, 92 John Weidman 93 94 S-RTC C emulator code 95 (c) Copyright 2001 - 2006 byuu, 96 John Weidman 97 98 ST010 C++ emulator code 99 (c) Copyright 2003 Feather, 100 John Weidman, 101 Kris Bleakley, 102 Matthew Kendora 103 104 Super FX x86 assembler emulator code 105 (c) Copyright 1998 - 2003 _Demo_, 106 pagefault, 107 zsKnight 108 109 Super FX C emulator code 110 (c) Copyright 1997 - 1999 Ivar, 111 Gary Henderson, 112 John Weidman 113 114 Sound emulator code used in 1.5-1.51 115 (c) Copyright 1998 - 2003 Brad Martin 116 (c) Copyright 1998 - 2006 Charles Bilyue' 117 118 Sound emulator code used in 1.52+ 119 (c) Copyright 2004 - 2007 Shay Green (gblargg@gmail.com) 120 121 S-SMP emulator code used in 1.54+ 122 (c) Copyright 2016 byuu 123 124 SH assembler code partly based on x86 assembler code 125 (c) Copyright 2002 - 2004 Marcus Comstedt (marcus@mc.pp.se) 126 127 2xSaI filter 128 (c) Copyright 1999 - 2001 Derek Liauw Kie Fa 129 130 HQ2x, HQ3x, HQ4x filters 131 (c) Copyright 2003 Maxim Stepin (maxim@hiend3d.com) 132 133 NTSC filter 134 (c) Copyright 2006 - 2007 Shay Green 135 136 GTK+ GUI code 137 (c) Copyright 2004 - 2016 BearOso 138 139 Win32 GUI code 140 (c) Copyright 2003 - 2006 blip, 141 funkyass, 142 Matthew Kendora, 143 Nach, 144 nitsuja 145 (c) Copyright 2009 - 2016 OV2 146 147 Mac OS GUI code 148 (c) Copyright 1998 - 2001 John Stiles 149 (c) Copyright 2001 - 2011 zones 150 151 152 Specific ports contains the works of other authors. See headers in 153 individual files. 154 155 156 Snes9x homepage: http://www.snes9x.com/ 157 158 Permission to use, copy, modify and/or distribute Snes9x in both binary 159 and source form, for non-commercial purposes, is hereby granted without 160 fee, providing that this license information and copyright notice appear 161 with all copies and any derived work. 162 163 This software is provided 'as-is', without any express or implied 164 warranty. In no event shall the authors be held liable for any damages 165 arising from the use of this software or it's derivatives. 166 167 Snes9x is freeware for PERSONAL USE only. Commercial users should 168 seek permission of the copyright holders first. Commercial use includes, 169 but is not limited to, charging money for Snes9x or software derived from 170 Snes9x, including Snes9x or derivatives in commercial game bundles, and/or 171 using Snes9x as a promotion for your commercial product. 172 173 The copyright holders request that bug fixes and improvements to the code 174 should be forwarded to them so everyone can benefit from the modifications 175 in future versions. 176 177 Super NES and Super Nintendo Entertainment System are trademarks of 178 Nintendo Co., Limited and its subsidiary companies. 179 ***********************************************************************************/ 180 181 /*********************************************************************************** 182 SNES9X for Mac OS (c) Copyright John Stiles 183 184 Snes9x for Mac OS X 185 186 (c) Copyright 2001 - 2011 zones 187 (c) Copyright 2002 - 2005 107 188 (c) Copyright 2002 PB1400c 189 (c) Copyright 2004 Alexander and Sander 190 (c) Copyright 2004 - 2005 Steven Seeger 191 (c) Copyright 2005 Ryan Vogt 192 ***********************************************************************************/ 193 194 195 #ifndef _mac_joypad_h_ 196 #define _mac_joypad_h_ 197 198 enum 199 { 200 kISp1PUp = 0, 201 kISp1PDn, 202 kISp1PLf, 203 kISp1PRt, 204 205 kISp2PUp, 206 kISp2PDn, 207 kISp2PLf, 208 kISp2PRt, 209 210 kISp3PUp, 211 kISp3PDn, 212 kISp3PLf, 213 kISp3PRt, 214 215 kISp4PUp, 216 kISp4PDn, 217 kISp4PLf, 218 kISp4PRt, 219 220 kISp5PUp, 221 kISp5PDn, 222 kISp5PLf, 223 kISp5PRt, 224 225 kISp6PUp, 226 kISp6PDn, 227 kISp6PLf, 228 kISp6PRt, 229 230 kISp7PUp, 231 kISp7PDn, 232 kISp7PLf, 233 kISp7PRt, 234 235 kISp8PUp, 236 kISp8PDn, 237 kISp8PLf, 238 kISp8PRt, 239 240 kISp1PB, 241 kISp1PA, 242 kISp1PX, 243 kISp1PY, 244 kISp1PL, 245 kISp1PR, 246 kISp1PSelect, 247 kISp1PStart, 248 249 kISp2PB, 250 kISp2PA, 251 kISp2PX, 252 kISp2PY, 253 kISp2PL, 254 kISp2PR, 255 kISp2PSelect, 256 kISp2PStart, 257 258 kISp3PB, 259 kISp3PA, 260 kISp3PX, 261 kISp3PY, 262 kISp3PL, 263 kISp3PR, 264 kISp3PSelect, 265 kISp3PStart, 266 267 kISp4PB, 268 kISp4PA, 269 kISp4PX, 270 kISp4PY, 271 kISp4PL, 272 kISp4PR, 273 kISp4PSelect, 274 kISp4PStart, 275 276 kISp5PB, 277 kISp5PA, 278 kISp5PX, 279 kISp5PY, 280 kISp5PL, 281 kISp5PR, 282 kISp5PSelect, 283 kISp5PStart, 284 285 kISp6PB, 286 kISp6PA, 287 kISp6PX, 288 kISp6PY, 289 kISp6PL, 290 kISp6PR, 291 kISp6PSelect, 292 kISp6PStart, 293 294 kISp7PB, 295 kISp7PA, 296 kISp7PX, 297 kISp7PY, 298 kISp7PL, 299 kISp7PR, 300 kISp7PSelect, 301 kISp7PStart, 302 303 kISp8PB, 304 kISp8PA, 305 kISp8PX, 306 kISp8PY, 307 kISp8PL, 308 kISp8PR, 309 kISp8PSelect, 310 kISp8PStart, 311 312 kISpFastForward, 313 kISpFreeze, 314 kISpDefrost, 315 kISpScreenshot, 316 kISpEsc, 317 kISpSPC, 318 kISpMouseL, 319 kISpMouseR, 320 kISpScopeT, 321 kISpScopeP, 322 kISpScopeC, 323 kISpOffScreen, 324 kISpFunction, 325 kISpAlt, 326 kISpFFUp, 327 kISpFFDown, 328 kISpTC, 329 330 kNeedCount 331 }; 332 333 void SetUpHID (void); 334 void ReleaseHID (void); 335 void ConfigureHID (void); 336 void ClearPadSetting (void); 337 void SaveControllerSettings (void); 338 void LoadControllerSettings (void); 339 long ISpKeyIsPressed (int); 340 void JoypadScanDirection (int, uint32 *); 341 342 #endif 343