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_controls_h_ 196 #define _mac_controls_h_ 197 198 enum 199 { 200 k_HD = 0x80000000, 201 202 k_JP = 0x01000000, 203 k_MO = 0x02000000, 204 k_SS = 0x04000000, 205 k_LG = 0x08000000, 206 207 k_BT = 0x00100000, 208 k_PT = 0x00200000, 209 k_PS = 0x00400000, 210 211 k_C1 = 0x00000100, 212 k_C2 = 0x00000200, 213 k_C3 = 0x00000400, 214 k_C4 = 0x00000800, 215 k_C5 = 0x00001000, 216 k_C6 = 0x00002000, 217 k_C7 = 0x00004000, 218 k_C8 = 0x00008000 219 }; 220 221 enum 222 { 223 kMacCMapPad1PX = k_HD | k_BT | k_JP | k_C1, 224 kMacCMapPad1PA, 225 kMacCMapPad1PB, 226 kMacCMapPad1PY, 227 kMacCMapPad1PL, 228 kMacCMapPad1PR, 229 kMacCMapPad1PSelect, 230 kMacCMapPad1PStart, 231 kMacCMapPad1PUp, 232 kMacCMapPad1PDown, 233 kMacCMapPad1PLeft, 234 kMacCMapPad1PRight, 235 236 kMacCMapPad2PX = k_HD | k_BT | k_JP | k_C2, 237 kMacCMapPad2PA, 238 kMacCMapPad2PB, 239 kMacCMapPad2PY, 240 kMacCMapPad2PL, 241 kMacCMapPad2PR, 242 kMacCMapPad2PSelect, 243 kMacCMapPad2PStart, 244 kMacCMapPad2PUp, 245 kMacCMapPad2PDown, 246 kMacCMapPad2PLeft, 247 kMacCMapPad2PRight, 248 249 kMacCMapPad3PX = k_HD | k_BT | k_JP | k_C3, 250 kMacCMapPad3PA, 251 kMacCMapPad3PB, 252 kMacCMapPad3PY, 253 kMacCMapPad3PL, 254 kMacCMapPad3PR, 255 kMacCMapPad3PSelect, 256 kMacCMapPad3PStart, 257 kMacCMapPad3PUp, 258 kMacCMapPad3PDown, 259 kMacCMapPad3PLeft, 260 kMacCMapPad3PRight, 261 262 kMacCMapPad4PX = k_HD | k_BT | k_JP | k_C4, 263 kMacCMapPad4PA, 264 kMacCMapPad4PB, 265 kMacCMapPad4PY, 266 kMacCMapPad4PL, 267 kMacCMapPad4PR, 268 kMacCMapPad4PSelect, 269 kMacCMapPad4PStart, 270 kMacCMapPad4PUp, 271 kMacCMapPad4PDown, 272 kMacCMapPad4PLeft, 273 kMacCMapPad4PRight, 274 275 kMacCMapPad5PX = k_HD | k_BT | k_JP | k_C5, 276 kMacCMapPad5PA, 277 kMacCMapPad5PB, 278 kMacCMapPad5PY, 279 kMacCMapPad5PL, 280 kMacCMapPad5PR, 281 kMacCMapPad5PSelect, 282 kMacCMapPad5PStart, 283 kMacCMapPad5PUp, 284 kMacCMapPad5PDown, 285 kMacCMapPad5PLeft, 286 kMacCMapPad5PRight, 287 288 kMacCMapPad6PX = k_HD | k_BT | k_JP | k_C6, 289 kMacCMapPad6PA, 290 kMacCMapPad6PB, 291 kMacCMapPad6PY, 292 kMacCMapPad6PL, 293 kMacCMapPad6PR, 294 kMacCMapPad6PSelect, 295 kMacCMapPad6PStart, 296 kMacCMapPad6PUp, 297 kMacCMapPad6PDown, 298 kMacCMapPad6PLeft, 299 kMacCMapPad6PRight, 300 301 kMacCMapPad7PX = k_HD | k_BT | k_JP | k_C7, 302 kMacCMapPad7PA, 303 kMacCMapPad7PB, 304 kMacCMapPad7PY, 305 kMacCMapPad7PL, 306 kMacCMapPad7PR, 307 kMacCMapPad7PSelect, 308 kMacCMapPad7PStart, 309 kMacCMapPad7PUp, 310 kMacCMapPad7PDown, 311 kMacCMapPad7PLeft, 312 kMacCMapPad7PRight, 313 314 kMacCMapPad8PX = k_HD | k_BT | k_JP | k_C8, 315 kMacCMapPad8PA, 316 kMacCMapPad8PB, 317 kMacCMapPad8PY, 318 kMacCMapPad8PL, 319 kMacCMapPad8PR, 320 kMacCMapPad8PSelect, 321 kMacCMapPad8PStart, 322 kMacCMapPad8PUp, 323 kMacCMapPad8PDown, 324 kMacCMapPad8PLeft, 325 kMacCMapPad8PRight, 326 327 kMacCMapMouse1PL = k_HD | k_BT | k_MO | k_C1, 328 kMacCMapMouse1PR, 329 kMacCMapMouse2PL = k_HD | k_BT | k_MO | k_C2, 330 kMacCMapMouse2PR, 331 332 kMacCMapScopeOffscreen = k_HD | k_BT | k_SS | k_C1, 333 kMacCMapScopeFire, 334 kMacCMapScopeCursor, 335 kMacCMapScopeTurbo, 336 kMacCMapScopePause, 337 338 kMacCMapLGun1Offscreen = k_HD | k_BT | k_LG | k_C1, 339 kMacCMapLGun1Trigger, 340 kMacCMapLGun1Start, 341 kMacCMapLGun2Offscreen = k_HD | k_BT | k_LG | k_C2, 342 kMacCMapLGun2Trigger, 343 kMacCMapLGun2Start, 344 345 kMacCMapMouse1Pointer = k_HD | k_PT | k_MO | k_C1, 346 kMacCMapMouse2Pointer = k_HD | k_PT | k_MO | k_C2, 347 kMacCMapSuperscopePointer = k_HD | k_PT | k_SS | k_C1, 348 kMacCMapJustifier1Pointer = k_HD | k_PT | k_LG | k_C1, 349 350 kMacCMapPseudoPtrBase = k_HD | k_PS | k_LG | k_C2 // for Justifier 2P 351 }; 352 353 void ControlPadFlagsToS9xReportButtons (int, uint32); 354 void ControlPadFlagsToS9xPseudoPointer (uint32); 355 356 #endif 357