diff --git a/atari800-MacOSX/src/Atari800MacX/Atari800MacX.xcodeproj/project.pbxproj b/atari800-MacOSX/src/Atari800MacX/Atari800MacX.xcodeproj/project.pbxproj index deacb2c..adaf199 100644 --- a/atari800-MacOSX/src/Atari800MacX/Atari800MacX.xcodeproj/project.pbxproj +++ b/atari800-MacOSX/src/Atari800MacX/Atari800MacX.xcodeproj/project.pbxproj @@ -60,8 +60,6 @@ 2D17D9840F538B710027F526 /* cfg.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D17D9830F538B710027F526 /* cfg.h */; }; 2D1A748A107A66C0000049E3 /* MemoryEditorTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D1A7488107A66C0000049E3 /* MemoryEditorTableView.h */; }; 2D1A748B107A66C0000049E3 /* MemoryEditorTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D1A7489107A66C0000049E3 /* MemoryEditorTableView.m */; }; - 2D20134221D45A5B005793AE /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 2D20134021D076AA005793AE /* SDL2.framework */; }; - 2D20134321D45A5B005793AE /* SDL2.framework in CopyFiles */ = {isa = PBXBuildFile; fileRef = 2D20134021D076AA005793AE /* SDL2.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; 2D27A624106BE2BF002AAAE7 /* DisasmTableView.h in Headers */ = {isa = PBXBuildFile; fileRef = 2D27A622106BE2BF002AAAE7 /* DisasmTableView.h */; }; 2D27A625106BE2BF002AAAE7 /* DisasmTableView.m in Sources */ = {isa = PBXBuildFile; fileRef = 2D27A623106BE2BF002AAAE7 /* DisasmTableView.m */; }; 2D2EAFF80DEE1E8100271295 /* pbi.c in Sources */ = {isa = PBXBuildFile; fileRef = 2D2EAFEE0DEE1E8100271295 /* pbi.c */; }; @@ -339,6 +337,7 @@ 77324B9224AC2CC50007CB07 /* close810snd.wav in Resources */ = {isa = PBXBuildFile; fileRef = 77324B9024AC2CC50007CB07 /* close810snd.wav */; }; 77324B9324AC2CC50007CB07 /* open810snd.wav in Resources */ = {isa = PBXBuildFile; fileRef = 77324B9124AC2CC50007CB07 /* open810snd.wav */; }; 77A5A9D521EC3B440098C3A5 /* lock.png in Resources */ = {isa = PBXBuildFile; fileRef = 77A5A9D421EC3B430098C3A5 /* lock.png */; }; + 77E41FEC25A6BB70005E9C28 /* SDL2.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 77E41FEB25A6BB70005E9C28 /* SDL2.framework */; }; /* End PBXBuildFile section */ /* Begin PBXCopyFilesBuildPhase section */ @@ -358,7 +357,6 @@ dstPath = ""; dstSubfolderSpec = 10; files = ( - 2D20134321D45A5B005793AE /* SDL2.framework in CopyFiles */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -449,7 +447,6 @@ 2D17D9830F538B710027F526 /* cfg.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = cfg.h; path = ../cfg.h; sourceTree = SOURCE_ROOT; }; 2D1A7488107A66C0000049E3 /* MemoryEditorTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MemoryEditorTableView.h; sourceTree = SOURCE_ROOT; }; 2D1A7489107A66C0000049E3 /* MemoryEditorTableView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MemoryEditorTableView.m; sourceTree = SOURCE_ROOT; }; - 2D20134021D076AA005793AE /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL2.framework; sourceTree = ""; }; 2D20E42008565D3600649DDC /* MonitorWindow.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MonitorWindow.h; sourceTree = ""; }; 2D20E42108565D3600649DDC /* MonitorWindow.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MonitorWindow.m; sourceTree = ""; }; 2D27A622106BE2BF002AAAE7 /* DisasmTableView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DisasmTableView.h; sourceTree = SOURCE_ROOT; }; @@ -660,6 +657,7 @@ 77324B9024AC2CC50007CB07 /* close810snd.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = close810snd.wav; sourceTree = ""; }; 77324B9124AC2CC50007CB07 /* open810snd.wav */ = {isa = PBXFileReference; lastKnownFileType = audio.wav; path = open810snd.wav; sourceTree = ""; }; 77A5A9D421EC3B430098C3A5 /* lock.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = lock.png; sourceTree = ""; }; + 77E41FEB25A6BB70005E9C28 /* SDL2.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; path = SDL2.framework; sourceTree = ""; }; F507FF78034EB78801A8C8B4 /* doc.icns */ = {isa = PBXFileReference; lastKnownFileType = image.icns; path = doc.icns; sourceTree = ""; }; F5176916034BFE7501A8C8B4 /* Atari800MacX Help */ = {isa = PBXFileReference; includeInIndex = 0; lastKnownFileType = folder; path = "Atari800MacX Help"; sourceTree = ""; }; F555833A030EF41401A8C8B4 /* config.h */ = {isa = PBXFileReference; fileEncoding = 30; lastKnownFileType = sourcecode.c.h; path = config.h; sourceTree = SOURCE_ROOT; }; @@ -731,8 +729,8 @@ files = ( 2DAEDBC709B69AED005FF181 /* Cocoa.framework in Frameworks */, 2DAEDBC809B69AED005FF181 /* IOKit.framework in Frameworks */, - 2D20134221D45A5B005793AE /* SDL2.framework in Frameworks */, 2DDD85100AAA055D00DE182D /* Carbon.framework in Frameworks */, + 77E41FEC25A6BB70005E9C28 /* SDL2.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -860,8 +858,8 @@ 1058C7A2FEA54F0111CA2CBB /* Other Frameworks */ = { isa = PBXGroup; children = ( + 77E41FEB25A6BB70005E9C28 /* SDL2.framework */, 2DDD850F0AAA055D00DE182D /* Carbon.framework */, - 2D20134021D076AA005793AE /* SDL2.framework */, 2D9863E407BED49700596C6B /* IOKit.framework */, 2DFB2BC808A99F86004EF21F /* OpenGL.framework */, 29B97325FDCFA39411CA2CEA /* Foundation.framework */, @@ -1646,7 +1644,6 @@ COPY_PHASE_STRIP = YES; FRAMEWORK_SEARCH_PATHS = ( ., - "$(HOME)/Library/Frameworks", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", "$(PROJECT_DIR)", ); @@ -1692,7 +1689,6 @@ CODE_SIGN_IDENTITY = ""; FRAMEWORK_SEARCH_PATHS = ( ., - "$(HOME)/Library/Frameworks", "/Users/markg/Atari800MacX/atari800-MacOSX-3.0/src/Atari800MacX", "/Users/markg/Atari800MacX/atari800-MacOSX-3.0/SDL-1.2.9/Xcode/SDL/build", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", @@ -1700,9 +1696,6 @@ ); "FRAMEWORK_SEARCH_PATHS[arch=*]" = ( ., - "$(HOME)/Library/Frameworks", - "/Users/markg/Atari800MacX/atari800-MacOSX-3.0/src/Atari800MacX", - "/Users/markg/Atari800MacX/atari800-MacOSX-3.0/SDL-1.2.9/Xcode/SDL/build", "$(FRAMEWORK_SEARCH_PATHS_QUOTED_1)", "$(PROJECT_DIR)", ); diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist index b061e02..0b9363c 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18G87 + 19E287 CFBundleDevelopmentRegion English CFBundleExecutable @@ -27,17 +27,19 @@ DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11C504 + 12C33 + DTPlatformName + macosx DTPlatformVersion - GM + 11.1 DTSDKBuild - 19B90 + 20C63 DTSDKName - macosx10.15 + macosx11.1 DTXcode - 1130 + 1230 DTXcodeBuild - 11C504 + 12C33 LSMinimumSystemVersion 10.6 diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources index 7642013..af83538 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/_CodeSignature/CodeResources @@ -10,7 +10,7 @@ Resources/Info.plist - eqy0vvISpY1m2UE2zzwN5nsOg00= + tGFoM6QHKngffYbWA76aPn/ESNM= Resources/LICENSE-bsd.txt @@ -46,11 +46,11 @@ hash - eqy0vvISpY1m2UE2zzwN5nsOg00= + tGFoM6QHKngffYbWA76aPn/ESNM= hash2 - URtZhZZMVQ0W8AnIoo1VF2mkN9aBvt5La1el7xY0mGU= + fgTFYKM0llbznibqeBwDi/6Y3eVW0HtYW+1EdComD7E= Resources/LICENSE-bsd.txt diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi index a87658c..14324c9 100755 Binary files a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi and b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Frameworks/hidapi.framework/Versions/A/hidapi differ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL.h index 634bf4b..e2656ca 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL.h @@ -59,6 +59,8 @@ #include "SDL_timer.h" #include "SDL_version.h" #include "SDL_video.h" +#include "SDL_locale.h" +#include "SDL_misc.h" #include "begin_code.h" /* Set up for C function definitions, even when using C++ */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_assert.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_assert.h index 21bdad9..f8a368e 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_assert.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_assert.h @@ -53,6 +53,8 @@ assert can have unique static variables associated with it. #define SDL_TriggerBreakpoint() __debugbreak() #elif ( (!defined(__NACL__)) && ((defined(__GNUC__) || defined(__clang__)) && (defined(__i386__) || defined(__x86_64__))) ) #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "int $3\n\t" ) +#elif ( defined(__APPLE__) && defined(__arm64__) ) /* this might work on other ARM targets, but this is a known quantity... */ + #define SDL_TriggerBreakpoint() __asm__ __volatile__ ( "brk #22\n\t" ) #elif defined(__386__) && defined(__WATCOMC__) #define SDL_TriggerBreakpoint() { _asm { int 0x03 } } #elif defined(HAVE_SIGNAL_H) && !defined(__WATCOMC__) diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h index 1141345..4b45f16 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_config_macosx.h @@ -125,6 +125,8 @@ #define HAVE_SQRTF 1 #define HAVE_TAN 1 #define HAVE_TANF 1 +#define HAVE_TRUNC 1 +#define HAVE_TRUNCF 1 #define HAVE_SIGACTION 1 #define HAVE_SETJMP 1 #define HAVE_NANOSLEEP 1 @@ -139,10 +141,16 @@ #define SDL_AUDIO_DRIVER_DUMMY 1 /* Enable various input drivers */ +#define SDL_JOYSTICK_HIDAPI 1 #define SDL_JOYSTICK_IOKIT 1 -#define SDL_JOYSTICK_HIDAPI 1 +#define SDL_JOYSTICK_VIRTUAL 1 #define SDL_HAPTIC_IOKIT 1 +/* The MFI controller support requires ARC Objective C runtime */ +#if MAC_OS_X_VERSION_MIN_REQUIRED >= 1080 && !defined(__i386__) +#define SDL_JOYSTICK_MFI 1 +#endif + /* Enable the dummy sensor driver */ #define SDL_SENSOR_DUMMY 1 @@ -195,7 +203,7 @@ #endif /* Metal only supported on 64-bit architectures with 10.11+ */ -#if TARGET_CPU_X86_64 && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) +#if TARGET_RT_64_BIT && (MAC_OS_X_VERSION_MAX_ALLOWED >= 101100) #define SDL_PLATFORM_SUPPORTS_METAL 1 #else #define SDL_PLATFORM_SUPPORTS_METAL 0 diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h index 0d9b821..df3123c 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_cpuinfo.h @@ -246,10 +246,33 @@ extern DECLSPEC size_t SDLCALL SDL_SIMDGetAlignment(void); * \return Pointer to newly-allocated block, NULL if out of memory. * * \sa SDL_SIMDAlignment + * \sa SDL_SIMDRealloc * \sa SDL_SIMDFree */ extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len); +/** + * \brief Reallocate memory obtained from SDL_SIMDAlloc + * + * It is not valid to use this function on a pointer from anything but + * SDL_SIMDAlloc(). It can't be used on pointers from malloc, realloc, + * SDL_malloc, memalign, new[], etc. + * + * \param mem The pointer obtained from SDL_SIMDAlloc. This function also + * accepts NULL, at which point this function is the same as + * calling SDL_realloc with a NULL pointer. + * \param len The length, in bytes, of the block to allocated. The actual + * allocated block might be larger due to padding, etc. Passing 0 + * will return a non-NULL pointer, assuming the system isn't out of + * memory. + * \return Pointer to newly-reallocated block, NULL if out of memory. + * + * \sa SDL_SIMDAlignment + * \sa SDL_SIMDAlloc + * \sa SDL_SIMDFree + */ +extern DECLSPEC void * SDLCALL SDL_SIMDRealloc(void *mem, const size_t len); + /** * \brief Deallocate memory obtained from SDL_SIMDAlloc * @@ -260,6 +283,7 @@ extern DECLSPEC void * SDLCALL SDL_SIMDAlloc(const size_t len); * However, SDL_SIMDFree(NULL) is a legal no-op. * * \sa SDL_SIMDAlloc + * \sa SDL_SIMDRealloc */ extern DECLSPEC void SDLCALL SDL_SIMDFree(void *ptr); diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_error.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_error.h index aae37c0..962d62f 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_error.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_error.h @@ -37,9 +37,45 @@ extern "C" { #endif /* Public functions */ -/* SDL_SetError() unconditionally returns -1. */ + + +/** + * \brief Set the error message for the current thread + * + * \return -1, there is no error handling for this function + */ extern DECLSPEC int SDLCALL SDL_SetError(SDL_PRINTF_FORMAT_STRING const char *fmt, ...) SDL_PRINTF_VARARG_FUNC(1); + +/** + * \brief Get the last error message that was set + * + * SDL API functions may set error messages and then succeed, so you should + * only use the error value if a function fails. + * + * This returns a pointer to a static buffer for convenience and should not + * be called by multiple threads simultaneously. + * + * \return a pointer to the last error message that was set + */ extern DECLSPEC const char *SDLCALL SDL_GetError(void); + +/** + * \brief Get the last error message that was set for the current thread + * + * SDL API functions may set error messages and then succeed, so you should + * only use the error value if a function fails. + * + * \param errstr A buffer to fill with the last error message that was set + * for the current thread + * \param maxlen The size of the buffer pointed to by the errstr parameter + * + * \return errstr + */ +extern DECLSPEC char * SDLCALL SDL_GetErrorMsg(char *errstr, int maxlen); + +/** + * \brief Clear the error message for the current thread + */ extern DECLSPEC void SDLCALL SDL_ClearError(void); /** diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_events.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_events.h index 32cfbe3..ae560c0 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_events.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_events.h @@ -85,6 +85,8 @@ typedef enum Called on Android in onResume() */ + SDL_LOCALECHANGED, /**< The user's locale preferences have changed. */ + /* Display events */ SDL_DISPLAYEVENT = 0x150, /**< Display state change */ @@ -123,6 +125,10 @@ typedef enum SDL_CONTROLLERDEVICEADDED, /**< A new Game controller has been inserted into the system */ SDL_CONTROLLERDEVICEREMOVED, /**< An opened Game controller has been removed */ SDL_CONTROLLERDEVICEREMAPPED, /**< The controller mapping was updated */ + SDL_CONTROLLERTOUCHPADDOWN, /**< Game controller touchpad was touched */ + SDL_CONTROLLERTOUCHPADMOTION, /**< Game controller touchpad finger was moved */ + SDL_CONTROLLERTOUCHPADUP, /**< Game controller touchpad finger was lifted */ + SDL_CONTROLLERSENSORUPDATE, /**< Game controller sensor was updated */ /* Touch events */ SDL_FINGERDOWN = 0x700, @@ -413,6 +419,33 @@ typedef struct SDL_ControllerDeviceEvent Sint32 which; /**< The joystick device index for the ADDED event, instance id for the REMOVED or REMAPPED event */ } SDL_ControllerDeviceEvent; +/** + * \brief Game controller touchpad event structure (event.ctouchpad.*) + */ +typedef struct SDL_ControllerTouchpadEvent +{ + Uint32 type; /**< ::SDL_CONTROLLERTOUCHPADDOWN or ::SDL_CONTROLLERTOUCHPADMOTION or ::SDL_CONTROLLERTOUCHPADUP */ + Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ + SDL_JoystickID which; /**< The joystick instance id */ + Sint32 touchpad; /**< The index of the touchpad */ + Sint32 finger; /**< The index of the finger on the touchpad */ + float x; /**< Normalized in the range 0...1 with 0 being on the left */ + float y; /**< Normalized in the range 0...1 with 0 being at the top */ + float pressure; /**< Normalized in the range 0...1 */ +} SDL_ControllerTouchpadEvent; + +/** + * \brief Game controller sensor event structure (event.csensor.*) + */ +typedef struct SDL_ControllerSensorEvent +{ + Uint32 type; /**< ::SDL_CONTROLLERSENSORUPDATE */ + Uint32 timestamp; /**< In milliseconds, populated using SDL_GetTicks() */ + SDL_JoystickID which; /**< The joystick instance id */ + Sint32 sensor; /**< The type of the sensor, one of the values of ::SDL_SensorType */ + float data[3]; /**< Up to 3 values from the sensor, as defined in SDL_sensor.h */ +} SDL_ControllerSensorEvent; + /** * \brief Audio device event structure (event.adevice.*) */ @@ -557,33 +590,35 @@ typedef struct SDL_SysWMEvent */ typedef union SDL_Event { - Uint32 type; /**< Event type, shared with all events */ - SDL_CommonEvent common; /**< Common event data */ - SDL_DisplayEvent display; /**< Display event data */ - SDL_WindowEvent window; /**< Window event data */ - SDL_KeyboardEvent key; /**< Keyboard event data */ - SDL_TextEditingEvent edit; /**< Text editing event data */ - SDL_TextInputEvent text; /**< Text input event data */ - SDL_MouseMotionEvent motion; /**< Mouse motion event data */ - SDL_MouseButtonEvent button; /**< Mouse button event data */ - SDL_MouseWheelEvent wheel; /**< Mouse wheel event data */ - SDL_JoyAxisEvent jaxis; /**< Joystick axis event data */ - SDL_JoyBallEvent jball; /**< Joystick ball event data */ - SDL_JoyHatEvent jhat; /**< Joystick hat event data */ - SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ - SDL_JoyDeviceEvent jdevice; /**< Joystick device change event data */ - SDL_ControllerAxisEvent caxis; /**< Game Controller axis event data */ - SDL_ControllerButtonEvent cbutton; /**< Game Controller button event data */ - SDL_ControllerDeviceEvent cdevice; /**< Game Controller device event data */ - SDL_AudioDeviceEvent adevice; /**< Audio device event data */ - SDL_SensorEvent sensor; /**< Sensor event data */ - SDL_QuitEvent quit; /**< Quit request event data */ - SDL_UserEvent user; /**< Custom event data */ - SDL_SysWMEvent syswm; /**< System dependent window event data */ - SDL_TouchFingerEvent tfinger; /**< Touch finger event data */ - SDL_MultiGestureEvent mgesture; /**< Gesture event data */ - SDL_DollarGestureEvent dgesture; /**< Gesture event data */ - SDL_DropEvent drop; /**< Drag and drop event data */ + Uint32 type; /**< Event type, shared with all events */ + SDL_CommonEvent common; /**< Common event data */ + SDL_DisplayEvent display; /**< Display event data */ + SDL_WindowEvent window; /**< Window event data */ + SDL_KeyboardEvent key; /**< Keyboard event data */ + SDL_TextEditingEvent edit; /**< Text editing event data */ + SDL_TextInputEvent text; /**< Text input event data */ + SDL_MouseMotionEvent motion; /**< Mouse motion event data */ + SDL_MouseButtonEvent button; /**< Mouse button event data */ + SDL_MouseWheelEvent wheel; /**< Mouse wheel event data */ + SDL_JoyAxisEvent jaxis; /**< Joystick axis event data */ + SDL_JoyBallEvent jball; /**< Joystick ball event data */ + SDL_JoyHatEvent jhat; /**< Joystick hat event data */ + SDL_JoyButtonEvent jbutton; /**< Joystick button event data */ + SDL_JoyDeviceEvent jdevice; /**< Joystick device change event data */ + SDL_ControllerAxisEvent caxis; /**< Game Controller axis event data */ + SDL_ControllerButtonEvent cbutton; /**< Game Controller button event data */ + SDL_ControllerDeviceEvent cdevice; /**< Game Controller device event data */ + SDL_ControllerTouchpadEvent ctouchpad; /**< Game Controller touchpad event data */ + SDL_ControllerSensorEvent csensor; /**< Game Controller sensor event data */ + SDL_AudioDeviceEvent adevice; /**< Audio device event data */ + SDL_SensorEvent sensor; /**< Sensor event data */ + SDL_QuitEvent quit; /**< Quit request event data */ + SDL_UserEvent user; /**< Custom event data */ + SDL_SysWMEvent syswm; /**< System dependent window event data */ + SDL_TouchFingerEvent tfinger; /**< Touch finger event data */ + SDL_MultiGestureEvent mgesture; /**< Gesture event data */ + SDL_DollarGestureEvent dgesture; /**< Gesture event data */ + SDL_DropEvent drop; /**< Drag and drop event data */ /* This is necessary for ABI compatibility between Visual C++ and GCC Visual C++ will respect the push pack pragma and use 52 bytes for diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h index 21cc1e4..e42433c 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_gamecontroller.h @@ -31,6 +31,7 @@ #include "SDL_stdinc.h" #include "SDL_error.h" #include "SDL_rwops.h" +#include "SDL_sensor.h" #include "SDL_joystick.h" #include "begin_code.h" @@ -64,7 +65,9 @@ typedef enum SDL_CONTROLLER_TYPE_XBOXONE, SDL_CONTROLLER_TYPE_PS3, SDL_CONTROLLER_TYPE_PS4, - SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_PRO + SDL_CONTROLLER_TYPE_NINTENDO_SWITCH_PRO, + SDL_CONTROLLER_TYPE_VIRTUAL, + SDL_CONTROLLER_TYPE_PS5 } SDL_GameControllerType; typedef enum @@ -170,7 +173,7 @@ extern DECLSPEC char * SDLCALL SDL_GameControllerMappingForGUID(SDL_JoystickGUID * * \return the mapping string. Must be freed with SDL_free(). Returns NULL if no mapping is available */ -extern DECLSPEC char * SDLCALL SDL_GameControllerMapping(SDL_GameController * gamecontroller); +extern DECLSPEC char * SDLCALL SDL_GameControllerMapping(SDL_GameController *gamecontroller); /** * Is the joystick on this index supported by the game controller interface? @@ -245,19 +248,26 @@ extern DECLSPEC void SDLCALL SDL_GameControllerSetPlayerIndex(SDL_GameController * Get the USB vendor ID of an opened controller, if available. * If the vendor ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetVendor(SDL_GameController *gamecontroller); /** * Get the USB product ID of an opened controller, if available. * If the product ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProduct(SDL_GameController *gamecontroller); /** * Get the product version of an opened controller, if available. * If the product version isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController * gamecontroller); +extern DECLSPEC Uint16 SDLCALL SDL_GameControllerGetProductVersion(SDL_GameController *gamecontroller); + +/** + * Get the serial number of an opened controller, if available. + * + * Returns the serial number of the controller, or NULL if it is not available. + */ +extern DECLSPEC const char * SDLCALL SDL_GameControllerGetSerial(SDL_GameController *gamecontroller); /** * Returns SDL_TRUE if the controller has been opened and currently connected, @@ -328,6 +338,12 @@ extern DECLSPEC SDL_GameControllerButtonBind SDLCALL SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); +/** + * Return whether a game controller has a given axis + */ +extern DECLSPEC SDL_bool SDLCALL +SDL_GameControllerHasAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); + /** * Get the current state of an axis control on a game controller. * @@ -337,8 +353,7 @@ SDL_GameControllerGetBindForAxis(SDL_GameController *gamecontroller, * The axis indices start at index 0. */ extern DECLSPEC Sint16 SDLCALL -SDL_GameControllerGetAxis(SDL_GameController *gamecontroller, - SDL_GameControllerAxis axis); +SDL_GameControllerGetAxis(SDL_GameController *gamecontroller, SDL_GameControllerAxis axis); /** * The list of buttons available from a controller @@ -361,6 +376,12 @@ typedef enum SDL_CONTROLLER_BUTTON_DPAD_DOWN, SDL_CONTROLLER_BUTTON_DPAD_LEFT, SDL_CONTROLLER_BUTTON_DPAD_RIGHT, + SDL_CONTROLLER_BUTTON_MISC1, /* Xbox Series X share button, PS5 microphone button, Nintendo Switch Pro capture button */ + SDL_CONTROLLER_BUTTON_PADDLE1, /* Xbox Elite paddle P1 */ + SDL_CONTROLLER_BUTTON_PADDLE2, /* Xbox Elite paddle P3 */ + SDL_CONTROLLER_BUTTON_PADDLE3, /* Xbox Elite paddle P2 */ + SDL_CONTROLLER_BUTTON_PADDLE4, /* Xbox Elite paddle P4 */ + SDL_CONTROLLER_BUTTON_TOUCHPAD, /* PS4/PS5 touchpad button */ SDL_CONTROLLER_BUTTON_MAX } SDL_GameControllerButton; @@ -381,6 +402,11 @@ extern DECLSPEC SDL_GameControllerButtonBind SDLCALL SDL_GameControllerGetBindForButton(SDL_GameController *gamecontroller, SDL_GameControllerButton button); +/** + * Return whether a game controller has a given button + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasButton(SDL_GameController *gamecontroller, + SDL_GameControllerButton button); /** * Get the current state of a button on a game controller. @@ -391,7 +417,68 @@ extern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *ga SDL_GameControllerButton button); /** - * Trigger a rumble effect + * Get the number of touchpads on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetNumTouchpads(SDL_GameController *gamecontroller); + +/** + * Get the number of supported simultaneous fingers on a touchpad on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetNumTouchpadFingers(SDL_GameController *gamecontroller, int touchpad); + +/** + * Get the current state of a finger on a touchpad on a game controller. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetTouchpadFinger(SDL_GameController *gamecontroller, int touchpad, int finger, Uint8 *state, float *x, float *y, float *pressure); + +/** + * Return whether a game controller has a particular sensor. + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * + * \return SDL_TRUE if the sensor exists, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasSensor(SDL_GameController *gamecontroller, SDL_SensorType type); + +/** + * Set whether data reporting for a game controller sensor is enabled + * + * \param gamecontroller The controller to update + * \param type The type of sensor to enable/disable + * \param enabled Whether data reporting should be enabled + * + * \return 0 or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerSetSensorEnabled(SDL_GameController *gamecontroller, SDL_SensorType type, SDL_bool enabled); + +/** + * Query whether sensor data reporting is enabled for a game controller + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * + * \return SDL_TRUE if the sensor is enabled, SDL_FALSE otherwise. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerIsSensorEnabled(SDL_GameController *gamecontroller, SDL_SensorType type); + +/** + * Get the current state of a game controller sensor. + * + * The number of values and interpretation of the data is sensor dependent. + * See SDL_sensor.h for the details for each type of sensor. + * + * \param gamecontroller The controller to query + * \param type The type of sensor to query + * \param data A pointer filled with the current sensor state + * \param num_values The number of values to write to data + * + * \return 0 or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_GameControllerGetSensorData(SDL_GameController *gamecontroller, SDL_SensorType type, float *data, int num_values); + +/** + * Start a rumble effect * Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. * * \param gamecontroller The controller to vibrate @@ -399,10 +486,44 @@ extern DECLSPEC Uint8 SDLCALL SDL_GameControllerGetButton(SDL_GameController *ga * \param high_frequency_rumble The intensity of the high frequency (right) rumble motor, from 0 to 0xFFFF * \param duration_ms The duration of the rumble effect, in milliseconds * - * \return 0, or -1 if rumble isn't supported on this joystick + * \return 0, or -1 if rumble isn't supported on this controller */ extern DECLSPEC int SDLCALL SDL_GameControllerRumble(SDL_GameController *gamecontroller, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); +/** + * Start a rumble effect in the game controller's triggers + * Each call to this function cancels any previous trigger rumble effect, and calling it with 0 intensity stops any rumbling. + * + * \param gamecontroller The controller to vibrate + * \param left_rumble The intensity of the left trigger rumble motor, from 0 to 0xFFFF + * \param right_rumble The intensity of the right trigger rumble motor, from 0 to 0xFFFF + * \param duration_ms The duration of the rumble effect, in milliseconds + * + * \return 0, or -1 if rumble isn't supported on this controller + */ +extern DECLSPEC int SDLCALL SDL_GameControllerRumbleTriggers(SDL_GameController *gamecontroller, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms); + +/** + * Return whether a controller has an LED + * + * \param gamecontroller The controller to query + * + * \return SDL_TRUE, or SDL_FALSE if this controller does not have a modifiable LED + */ +extern DECLSPEC SDL_bool SDLCALL SDL_GameControllerHasLED(SDL_GameController *gamecontroller); + +/** + * Update a controller's LED color. + * + * \param gamecontroller The controller to update + * \param red The intensity of the red LED + * \param green The intensity of the green LED + * \param blue The intensity of the blue LED + * + * \return 0, or -1 if this controller does not have a modifiable LED + */ +extern DECLSPEC int SDLCALL SDL_GameControllerSetLED(SDL_GameController *gamecontroller, Uint8 red, Uint8 green, Uint8 blue); + /** * Close a controller previously opened with SDL_GameControllerOpen(). */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_haptic.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_haptic.h index aa6f47f..c27da11 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_haptic.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_haptic.h @@ -336,6 +336,14 @@ typedef struct _SDL_Haptic SDL_Haptic; */ #define SDL_HAPTIC_SPHERICAL 2 +/** + * \brief Use this value to play an effect on the steering wheel axis. This + * provides better compatibility across platforms and devices as SDL will guess + * the correct axis. + * \sa SDL_HapticDirection + */ +#define SDL_HAPTIC_STEERING_AXIS 3 + /* @} *//* Direction encodings */ /* @} *//* Haptic features */ @@ -444,6 +452,7 @@ typedef struct _SDL_Haptic SDL_Haptic; * \sa SDL_HAPTIC_POLAR * \sa SDL_HAPTIC_CARTESIAN * \sa SDL_HAPTIC_SPHERICAL + * \sa SDL_HAPTIC_STEERING_AXIS * \sa SDL_HapticEffect * \sa SDL_HapticNumAxes */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_hints.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_hints.h index a3a5373..50a5a08 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_hints.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_hints.h @@ -314,6 +314,17 @@ extern "C" { */ #define SDL_HINT_MOUSE_RELATIVE_SPEED_SCALE "SDL_MOUSE_RELATIVE_SPEED_SCALE" +/** + * \brief A variable controlling whether relative mouse motion is affected by renderer scaling + * + * This variable can be set to the following values: + * "0" - Relative motion is unaffected by DPI or renderer's logical size + * "1" - Relative motion is scaled according to DPI scaling and logical size + * + * By default relative mouse deltas are affected by DPI and renderer scaling + */ +#define SDL_HINT_MOUSE_RELATIVE_SCALING "SDL_MOUSE_RELATIVE_SCALING" + /** * \brief A variable controlling whether relative mouse mode is implemented using mouse warping * @@ -358,7 +369,9 @@ extern "C" { #define SDL_HINT_MOUSE_TOUCH_EVENTS "SDL_MOUSE_TOUCH_EVENTS" /** - * \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to true. + * \brief Minimize your SDL_Window if it loses key focus when in fullscreen mode. Defaults to false. + * \warning Before SDL 2.0.14, this defaulted to true! In 2.0.14, we're + * seeing if "true" causes more problems than it solves in modern times. * */ #define SDL_HINT_VIDEO_MINIMIZE_ON_FOCUS_LOSS "SDL_VIDEO_MINIMIZE_ON_FOCUS_LOSS" @@ -480,6 +493,7 @@ extern "C" { * XboxOne * PS3 * PS4 + * PS5 * SwitchPro * * This hint affects what driver is used, and must be set before calling SDL_Init(SDL_INIT_GAMECONTROLLER) @@ -590,6 +604,17 @@ extern "C" { */ #define SDL_HINT_JOYSTICK_HIDAPI_PS4 "SDL_JOYSTICK_HIDAPI_PS4" +/** + * \brief A variable controlling whether the HIDAPI driver for PS5 controllers should be used. + * + * This variable can be set to the following values: + * "0" - HIDAPI driver is not used + * "1" - HIDAPI driver is used + * + * The default is the value of SDL_HINT_JOYSTICK_HIDAPI + */ +#define SDL_HINT_JOYSTICK_HIDAPI_PS5 "SDL_JOYSTICK_HIDAPI_PS5" + /** * \brief A variable controlling whether extended input reports should be used for PS4 controllers when using the HIDAPI driver. * @@ -634,10 +659,23 @@ extern "C" { * "0" - HIDAPI driver is not used * "1" - HIDAPI driver is used * - * The default is the value of SDL_HINT_JOYSTICK_HIDAPI + * The default is "0" on Windows, otherwise the value of SDL_HINT_JOYSTICK_HIDAPI */ #define SDL_HINT_JOYSTICK_HIDAPI_XBOX "SDL_JOYSTICK_HIDAPI_XBOX" + /** + * \brief A variable controlling whether the HIDAPI driver for XBox controllers on Windows should pull correlated + * data from XInput. + * + * This variable can be set to the following values: + * "0" - HIDAPI Xbox driver will only use HIDAPI data + * "1" - HIDAPI Xbox driver will also pull data from XInput, providing better trigger axes, guide button + * presses, and rumble support + * + * The default is "1". This hint applies to any joysticks opened after setting the hint. + */ +#define SDL_HINT_JOYSTICK_HIDAPI_CORRELATE_XINPUT "SDL_JOYSTICK_HIDAPI_CORRELATE_XINPUT" + /** * \brief A variable controlling whether the HIDAPI driver for Nintendo GameCube controllers should be used. * @@ -660,6 +698,35 @@ extern "C" { */ #define SDL_HINT_ENABLE_STEAM_CONTROLLERS "SDL_ENABLE_STEAM_CONTROLLERS" + /** + * \brief A variable controlling whether the RAWINPUT joystick drivers should be used for better handling XInput-capable devices. + * + * This variable can be set to the following values: + * "0" - RAWINPUT drivers are not used + * "1" - RAWINPUT drivers are used (the default) + * + */ +#define SDL_HINT_JOYSTICK_RAWINPUT "SDL_JOYSTICK_RAWINPUT" + + /** + * \brief A variable controlling whether a separate thread should be used + * for handling joystick detection and raw input messages on Windows + * + * This variable can be set to the following values: + * "0" - A separate thread is not used (the default) + * "1" - A separate thread is used for handling raw input messages + * + */ +#define SDL_HINT_JOYSTICK_THREAD "SDL_JOYSTICK_THREAD" + + /** + * \brief A variable controlling whether joysticks on Linux adhere to their HID-defined deadzones or return unfiltered values. + * + * This variable can be set to the following values: + * "0" - Return unfiltered joystick axis values (the default) + * "1" - Return axis values with deadzones taken into account + */ +#define SDL_HINT_LINUX_JOYSTICK_DEADZONES "SDL_LINUX_JOYSTICK_DEADZONES" /** * \brief If set to "0" then never set the top most bit on a SDL Window, even if the video mode expects it. @@ -730,6 +797,42 @@ extern "C" { */ #define SDL_HINT_THREAD_STACK_SIZE "SDL_THREAD_STACK_SIZE" +/** +* \brief A string specifying additional information to use with SDL_SetThreadPriority. +* +* By default SDL_SetThreadPriority will make appropriate system changes in order to +* apply a thread priority. For example on systems using pthreads the scheduler policy +* is changed automatically to a policy that works well with a given priority. +* Code which has specific requirements can override SDL's default behavior with this hint. +* +* pthread hint values are "current", "other", "fifo" and "rr". +* Currently no other platform hint values are defined but may be in the future. +* +* \note On Linux, the kernel may send SIGKILL to realtime tasks which exceed the distro +* configured execution budget for rtkit. This budget can be queried through RLIMIT_RTTIME +* after calling SDL_SetThreadPriority(). +*/ +#define SDL_HINT_THREAD_PRIORITY_POLICY "SDL_THREAD_PRIORITY_POLICY" + +/** + * \brief Specifies whether SDL_THREAD_PRIORITY_TIME_CRITICAL should be treated as realtime. + * + * On some platforms, like Linux, a realtime priority thread may be subject to restrictions + * that require special handling by the application. This hint exists to let SDL know that + * the app is prepared to handle said restrictions. + * + * On Linux, SDL will apply the following configuration to any thread that becomes realtime: + * * The SCHED_RESET_ON_FORK bit will be set on the scheduling policy, + * * An RLIMIT_RTTIME budget will be configured to the rtkit specified limit. + * * Exceeding this limit will result in the kernel sending SIGKILL to the app, + * * Refer to the man pages for more information. + * + * This variable can be set to the following values: + * "0" - default platform specific behaviour + * "1" - Force SDL_THREAD_PRIORITY_TIME_CRITICAL to a realtime scheduling policy + */ +#define SDL_HINT_THREAD_FORCE_REALTIME_TIME_CRITICAL "SDL_THREAD_FORCE_REALTIME_TIME_CRITICAL" + /** * \brief If set to 1, then do not allow high-DPI windows. ("Retina" on Mac and iOS) */ @@ -968,6 +1071,18 @@ extern "C" { */ #define SDL_HINT_ANDROID_BLOCK_ON_PAUSE "SDL_ANDROID_BLOCK_ON_PAUSE" +/** + * \brief A variable to control whether SDL will pause audio in background + * (Requires SDL_ANDROID_BLOCK_ON_PAUSE as "Non blocking") + * + * The variable can be set to the following values: + * "0" - Non paused. + * "1" - Paused. (default) + * + * The value should be set before SDL is initialized. + */ +#define SDL_HINT_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO "SDL_ANDROID_BLOCK_ON_PAUSE_PAUSEAUDIO" + /** * \brief A variable to control whether the return key on the soft keyboard * should hide the soft keyboard on Android and iOS. @@ -994,10 +1109,26 @@ extern "C" { */ #define SDL_HINT_EMSCRIPTEN_KEYBOARD_ELEMENT "SDL_EMSCRIPTEN_KEYBOARD_ELEMENT" +/** + * \brief Disable giving back control to the browser automatically + * when running with asyncify + * + * With -s ASYNCIFY, SDL2 calls emscripten_sleep during operations + * such as refreshing the screen or polling events. + * + * This hint only applies to the emscripten platform + * + * The variable can be set to the following values: + * "0" - Disable emscripten_sleep calls (if you give back browser control manually or use asyncify for other purposes) + * "1" - Enable emscripten_sleep calls (the default) + */ +#define SDL_HINT_EMSCRIPTEN_ASYNCIFY "SDL_EMSCRIPTEN_ASYNCIFY" + /** * \brief Tell SDL not to catch the SIGINT or SIGTERM signals. * - * This hint only applies to Unix-like platforms. + * This hint only applies to Unix-like platforms, and should set before + * any calls to SDL_Init() * * The variable can be set to the following values: * "0" - SDL will install a SIGINT and SIGTERM handler, and when it @@ -1171,6 +1302,32 @@ extern "C" { #define SDL_HINT_RENDER_BATCHING "SDL_RENDER_BATCHING" +/** + * \brief A variable controlling whether SDL updates joystick state when getting input events + * + * This variable can be set to the following values: + * + * "0" - You'll call SDL_JoystickUpdate() manually + * "1" - SDL will automatically call SDL_JoystickUpdate() (default) + * + * This hint can be toggled on and off at runtime. + */ +#define SDL_HINT_AUTO_UPDATE_JOYSTICKS "SDL_AUTO_UPDATE_JOYSTICKS" + + +/** + * \brief A variable controlling whether SDL updates sensor state when getting input events + * + * This variable can be set to the following values: + * + * "0" - You'll call SDL_SensorUpdate() manually + * "1" - SDL will automatically call SDL_SensorUpdate() (default) + * + * This hint can be toggled on and off at runtime. + */ +#define SDL_HINT_AUTO_UPDATE_SENSORS "SDL_AUTO_UPDATE_SENSORS" + + /** * \brief A variable controlling whether SDL logs all events pushed onto its internal queue. * @@ -1258,7 +1415,7 @@ extern "C" { */ #define SDL_HINT_WAVE_FACT_CHUNK "SDL_WAVE_FACT_CHUNK" -/* +/** * \brief Override for SDL_GetDisplayUsableBounds() * * If set, this hint will override the expected results for @@ -1272,6 +1429,63 @@ extern "C" { */ #define SDL_HINT_DISPLAY_USABLE_BOUNDS "SDL_DISPLAY_USABLE_BOUNDS" +/** + * \brief Specify an application name for an audio device. + * + * Some audio backends (such as PulseAudio) allow you to describe your audio + * stream. Among other things, this description might show up in a system + * control panel that lets the user adjust the volume on specific audio + * streams instead of using one giant master volume slider. + * + * This hints lets you transmit that information to the OS. The contents of + * this hint are used while opening an audio device. You should use a string + * that describes your program ("My Game 2: The Revenge") + * + * Setting this to "" or leaving it unset will have SDL use a reasonable + * default: probably the application's name or "SDL Application" if SDL + * doesn't have any better information. + * + * On targets where this is not supported, this hint does nothing. + */ +#define SDL_HINT_AUDIO_DEVICE_APP_NAME "SDL_AUDIO_DEVICE_APP_NAME" + +/** + * \brief Specify an application name for an audio device. + * + * Some audio backends (such as PulseAudio) allow you to describe your audio + * stream. Among other things, this description might show up in a system + * control panel that lets the user adjust the volume on specific audio + * streams instead of using one giant master volume slider. + * + * This hints lets you transmit that information to the OS. The contents of + * this hint are used while opening an audio device. You should use a string + * that describes your what your program is playing ("audio stream" is + * probably sufficient in many cases, but this could be useful for something + * like "team chat" if you have a headset playing VoIP audio separately). + * + * Setting this to "" or leaving it unset will have SDL use a reasonable + * default: "audio stream" or something similar. + * + * On targets where this is not supported, this hint does nothing. + */ +#define SDL_HINT_AUDIO_DEVICE_STREAM_NAME "SDL_AUDIO_DEVICE_STREAM_NAME" + + +/** + * \brief Override for SDL_GetPreferredLocales() + * + * If set, this will be favored over anything the OS might report for the + * user's preferred locales. Changing this hint at runtime will not generate + * a SDL_LOCALECHANGED event (but if you can change the hint, you can push + * your own event, if you want). + * + * The format of this hint is a comma-separated list of language and locale, + * combined with an underscore, as is a common format: "en_GB". Locale is + * optional: "en". So you might have a list like this: "en_GB,jp,es_PT" + */ +#define SDL_HINT_PREFERRED_LOCALES "SDL_PREFERRED_LOCALES" + + /** * \brief An enumeration of hint priorities */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_joystick.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_joystick.h index a0dd720..0bbeafe 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_joystick.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_joystick.h @@ -105,6 +105,12 @@ typedef enum SDL_JOYSTICK_POWER_MAX } SDL_JoystickPowerLevel; +/* Set max recognized G-force from accelerometer + See src/joystick/uikit/SDL_sysjoystick.m for notes on why this is needed + */ +#define SDL_IPHONE_MAX_GFORCE 5.0 + + /* Function prototypes */ /** @@ -199,51 +205,92 @@ extern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickFromInstanceID(SDL_JoystickID */ extern DECLSPEC SDL_Joystick *SDLCALL SDL_JoystickFromPlayerIndex(int player_index); +/** + * Attaches a new virtual joystick. + * Returns the joystick's device index, or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_JoystickAttachVirtual(SDL_JoystickType type, + int naxes, + int nbuttons, + int nhats); + +/** + * Detaches a virtual joystick + * Returns 0 on success, or -1 if an error occurred. + */ +extern DECLSPEC int SDLCALL SDL_JoystickDetachVirtual(int device_index); + +/** + * Indicates whether or not a virtual-joystick is at a given device index. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickIsVirtual(int device_index); + +/** + * Set values on an opened, virtual-joystick's controls. + * Please note that values set here will not be applied until the next + * call to SDL_JoystickUpdate, which can either be called directly, + * or can be called indirectly through various other SDL APIS, + * including, but not limited to the following: SDL_PollEvent, + * SDL_PumpEvents, SDL_WaitEventTimeout, SDL_WaitEvent. + * + * Returns 0 on success, -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualAxis(SDL_Joystick *joystick, int axis, Sint16 value); +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualButton(SDL_Joystick *joystick, int button, Uint8 value); +extern DECLSPEC int SDLCALL SDL_JoystickSetVirtualHat(SDL_Joystick *joystick, int hat, Uint8 value); + /** * Return the name for this currently opened joystick. * If no name can be found, this function returns NULL. */ -extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick * joystick); +extern DECLSPEC const char *SDLCALL SDL_JoystickName(SDL_Joystick *joystick); /** * Get the player index of an opened joystick, or -1 if it's not available * * For XInput controllers this returns the XInput user index. */ -extern DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickGetPlayerIndex(SDL_Joystick *joystick); /** * Set the player index of an opened joystick */ -extern DECLSPEC void SDLCALL SDL_JoystickSetPlayerIndex(SDL_Joystick * joystick, int player_index); +extern DECLSPEC void SDLCALL SDL_JoystickSetPlayerIndex(SDL_Joystick *joystick, int player_index); /** * Return the GUID for this opened joystick */ -extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUID(SDL_Joystick *joystick); /** * Get the USB vendor ID of an opened joystick, if available. * If the vendor ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetVendor(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetVendor(SDL_Joystick *joystick); /** * Get the USB product ID of an opened joystick, if available. * If the product ID isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProduct(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProduct(SDL_Joystick *joystick); /** * Get the product version of an opened joystick, if available. * If the product version isn't available this function returns 0. */ -extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProductVersion(SDL_Joystick * joystick); +extern DECLSPEC Uint16 SDLCALL SDL_JoystickGetProductVersion(SDL_Joystick *joystick); + +/** + * Get the serial number of an opened joystick, if available. + * + * Returns the serial number of the joystick, or NULL if it is not available. + */ +extern DECLSPEC const char * SDLCALL SDL_JoystickGetSerial(SDL_Joystick *joystick); /** * Get the type of an opened joystick. */ -extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetType(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickType SDLCALL SDL_JoystickGetType(SDL_Joystick *joystick); /** * Return a string representation for this guid. pszGUID must point to at least 33 bytes @@ -259,17 +306,17 @@ extern DECLSPEC SDL_JoystickGUID SDLCALL SDL_JoystickGetGUIDFromString(const cha /** * Returns SDL_TRUE if the joystick has been opened and currently connected, or SDL_FALSE if it has not. */ -extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick * joystick); +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAttached(SDL_Joystick *joystick); /** * Get the instance ID of an opened joystick or -1 if the joystick is invalid. */ -extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickID SDLCALL SDL_JoystickInstanceID(SDL_Joystick *joystick); /** * Get the number of general axis controls on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick *joystick); /** * Get the number of trackballs on a joystick. @@ -277,17 +324,17 @@ extern DECLSPEC int SDLCALL SDL_JoystickNumAxes(SDL_Joystick * joystick); * Joystick trackballs have only relative motion events associated * with them and their state cannot be polled. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumBalls(SDL_Joystick *joystick); /** * Get the number of POV hats on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumHats(SDL_Joystick *joystick); /** * Get the number of buttons on a joystick. */ -extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick * joystick); +extern DECLSPEC int SDLCALL SDL_JoystickNumButtons(SDL_Joystick *joystick); /** * Update the current state of the open joysticks. @@ -317,7 +364,7 @@ extern DECLSPEC int SDLCALL SDL_JoystickEventState(int state); * * The axis indices start at index 0. */ -extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, +extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick *joystick, int axis); /** @@ -329,7 +376,7 @@ extern DECLSPEC Sint16 SDLCALL SDL_JoystickGetAxis(SDL_Joystick * joystick, * * \return SDL_TRUE if this axis has any initial value, or SDL_FALSE if not. */ -extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick * joystick, +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick *joystick, int axis, Sint16 *state); /** @@ -363,7 +410,7 @@ extern DECLSPEC SDL_bool SDLCALL SDL_JoystickGetAxisInitialState(SDL_Joystick * * - ::SDL_HAT_LEFTUP * - ::SDL_HAT_LEFTDOWN */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick *joystick, int hat); /** @@ -373,7 +420,7 @@ extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetHat(SDL_Joystick * joystick, * * The ball indices start at index 0. */ -extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, +extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick *joystick, int ball, int *dx, int *dy); /** @@ -381,11 +428,11 @@ extern DECLSPEC int SDLCALL SDL_JoystickGetBall(SDL_Joystick * joystick, * * The button indices start at index 0. */ -extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, +extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick *joystick, int button); /** - * Trigger a rumble effect + * Start a rumble effect * Each call to this function cancels any previous rumble effect, and calling it with 0 intensity stops any rumbling. * * \param joystick The joystick to vibrate @@ -395,17 +442,51 @@ extern DECLSPEC Uint8 SDLCALL SDL_JoystickGetButton(SDL_Joystick * joystick, * * \return 0, or -1 if rumble isn't supported on this joystick */ -extern DECLSPEC int SDLCALL SDL_JoystickRumble(SDL_Joystick * joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); +extern DECLSPEC int SDLCALL SDL_JoystickRumble(SDL_Joystick *joystick, Uint16 low_frequency_rumble, Uint16 high_frequency_rumble, Uint32 duration_ms); + +/** + * Start a rumble effect in the joystick's triggers + * Each call to this function cancels any previous trigger rumble effect, and calling it with 0 intensity stops any rumbling. + * + * \param joystick The joystick to vibrate + * \param left_rumble The intensity of the left trigger rumble motor, from 0 to 0xFFFF + * \param right_rumble The intensity of the right trigger rumble motor, from 0 to 0xFFFF + * \param duration_ms The duration of the rumble effect, in milliseconds + * + * \return 0, or -1 if trigger rumble isn't supported on this joystick + */ +extern DECLSPEC int SDLCALL SDL_JoystickRumbleTriggers(SDL_Joystick *joystick, Uint16 left_rumble, Uint16 right_rumble, Uint32 duration_ms); + +/** + * Return whether a joystick has an LED + * + * \param joystick The joystick to query + * + * \return SDL_TRUE, or SDL_FALSE if this joystick does not have a modifiable LED + */ +extern DECLSPEC SDL_bool SDLCALL SDL_JoystickHasLED(SDL_Joystick *joystick); + +/** + * Update a joystick's LED color. + * + * \param joystick The joystick to update + * \param red The intensity of the red LED + * \param green The intensity of the green LED + * \param blue The intensity of the blue LED + * + * \return 0, or -1 if this joystick does not have a modifiable LED + */ +extern DECLSPEC int SDLCALL SDL_JoystickSetLED(SDL_Joystick *joystick, Uint8 red, Uint8 green, Uint8 blue); /** * Close a joystick previously opened with SDL_JoystickOpen(). */ -extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick * joystick); +extern DECLSPEC void SDLCALL SDL_JoystickClose(SDL_Joystick *joystick); /** * Return the battery level of this joystick */ -extern DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel(SDL_Joystick * joystick); +extern DECLSPEC SDL_JoystickPowerLevel SDLCALL SDL_JoystickCurrentPowerLevel(SDL_Joystick *joystick); /* Ends C function definitions when using C++ */ #ifdef __cplusplus diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_keycode.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_keycode.h index a1ce7a4..6f6b65c 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_keycode.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_keycode.h @@ -88,9 +88,11 @@ typedef enum SDLK_GREATER = '>', SDLK_QUESTION = '?', SDLK_AT = '@', + /* Skip uppercase letters */ + SDLK_LEFTBRACKET = '[', SDLK_BACKSLASH = '\\', SDLK_RIGHTBRACKET = ']', @@ -336,13 +338,13 @@ typedef enum KMOD_NUM = 0x1000, KMOD_CAPS = 0x2000, KMOD_MODE = 0x4000, - KMOD_RESERVED = 0x8000 -} SDL_Keymod; + KMOD_RESERVED = 0x8000, -#define KMOD_CTRL (KMOD_LCTRL|KMOD_RCTRL) -#define KMOD_SHIFT (KMOD_LSHIFT|KMOD_RSHIFT) -#define KMOD_ALT (KMOD_LALT|KMOD_RALT) -#define KMOD_GUI (KMOD_LGUI|KMOD_RGUI) + KMOD_CTRL = KMOD_LCTRL | KMOD_RCTRL, + KMOD_SHIFT = KMOD_LSHIFT | KMOD_RSHIFT, + KMOD_ALT = KMOD_LALT | KMOD_RALT, + KMOD_GUI = KMOD_LGUI | KMOD_RGUI +} SDL_Keymod; #endif /* SDL_keycode_h_ */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_locale.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_locale.h new file mode 100644 index 0000000..1f4b0c4 --- /dev/null +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_locale.h @@ -0,0 +1,101 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2020 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +/** + * \file SDL_locale.h + * + * Include file for SDL locale services + */ + +#ifndef _SDL_locale_h +#define _SDL_locale_h + +#include "SDL_stdinc.h" +#include "SDL_error.h" + +#include "begin_code.h" +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +extern "C" { +/* *INDENT-ON* */ +#endif + + +typedef struct SDL_Locale +{ + const char *language; /**< A language name, like "en" for English. */ + const char *country; /**< A country, like "US" for America. Can be NULL. */ +} SDL_Locale; + +/** + * \brief Report the user's preferred locale. + * + * This returns an array of SDL_Locale structs, the final item zeroed out. + * When the caller is done with this array, it should call SDL_free() on + * the returned value; all the memory involved is allocated in a single + * block, so a single SDL_free() will suffice. + * + * Returned language strings are in the format xx, where 'xx' is an ISO-639 + * language specifier (such as "en" for English, "de" for German, etc). + * Country strings are in the format YY, where "YY" is an ISO-3166 country + * code (such as "US" for the United States, "CA" for Canada, etc). Country + * might be NULL if there's no specific guidance on them (so you might get + * { "en", "US" } for American English, but { "en", NULL } means "English + * language, generically"). Language strings are never NULL, except to + * terminate the array. + * + * Please note that not all of these strings are 2 characters; some are + * three or more. + * + * The returned list of locales are in the order of the user's preference. + * For example, a German citizen that is fluent in US English and knows + * enough Japanese to navigate around Tokyo might have a list like: + * { "de", "en_US", "jp", NULL }. Someone from England might prefer British + * English (where "color" is spelled "colour", etc), but will settle for + * anything like it: { "en_GB", "en", NULL }. + * + * This function returns NULL on error, including when the platform does not + * supply this information at all. + * + * This might be a "slow" call that has to query the operating system. It's + * best to ask for this once and save the results. However, this list can + * change, usually because the user has changed a system preference outside + * of your program; SDL will send an SDL_LOCALECHANGED event in this case, + * if possible, and you can call this function again to get an updated copy + * of preferred locales. + * + * \return array of locales, terminated with a locale with a NULL language + * field. Will return NULL on error. + */ +extern DECLSPEC SDL_Locale * SDLCALL SDL_GetPreferredLocales(void); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +/* *INDENT-OFF* */ +} +/* *INDENT-ON* */ +#endif +#include "close_code.h" + +#endif /* _SDL_locale_h */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_metal.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_metal.h index 3b7eb18..f967357 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_metal.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_metal.h @@ -55,18 +55,13 @@ typedef void *SDL_MetalView; * On macOS, this does *not* associate a MTLDevice with the CAMetalLayer on its * own. It is up to user code to do that. * - * The returned handle can be casted directly to a NSView or UIView, and the - * CAMetalLayer can be accessed from the view's 'layer' property. + * The returned handle can be casted directly to a NSView or UIView. + * To access the backing CAMetalLayer, call SDL_Metal_GetLayer(). * - * \code - * SDL_MetalView metalview = SDL_Metal_CreateView(window); - * UIView *uiview = (__bridge UIView *)metalview; - * CAMetalLayer *metallayer = (CAMetalLayer *)uiview.layer; - * // [...] - * SDL_Metal_DestroyView(metalview); - * \endcode + * \note \a window must be created with the SDL_WINDOW_METAL flag. * * \sa SDL_Metal_DestroyView + * \sa SDL_Metal_GetLayer */ extern DECLSPEC SDL_MetalView SDLCALL SDL_Metal_CreateView(SDL_Window * window); @@ -80,6 +75,37 @@ extern DECLSPEC SDL_MetalView SDLCALL SDL_Metal_CreateView(SDL_Window * window); */ extern DECLSPEC void SDLCALL SDL_Metal_DestroyView(SDL_MetalView view); +/** + * \brief Get a pointer to the backing CAMetalLayer for the given view. + * + * \sa SDL_MetalCreateView + */ +extern DECLSPEC void *SDLCALL SDL_Metal_GetLayer(SDL_MetalView view); + +/** + * \brief Get the size of a window's underlying drawable in pixels (for use + * with setting viewport, scissor & etc). + * + * \param window SDL_Window from which the drawable size should be queried + * \param w Pointer to variable for storing the width in pixels, + * may be NULL + * \param h Pointer to variable for storing the height in pixels, + * may be NULL + * + * This may differ from SDL_GetWindowSize() if we're rendering to a high-DPI + * drawable, i.e. the window was created with SDL_WINDOW_ALLOW_HIGHDPI on a + * platform with high-DPI support (Apple calls this "Retina"), and not disabled + * by the \c SDL_HINT_VIDEO_HIGHDPI_DISABLED hint. + * + * \note On macOS high-DPI support must be enabled for an application by + * setting NSHighResolutionCapable to true in its Info.plist. + * + * \sa SDL_GetWindowSize() + * \sa SDL_CreateWindow() + */ +extern DECLSPEC void SDLCALL SDL_Metal_GetDrawableSize(SDL_Window* window, int *w, + int *h); + /* @} *//* Metal support functions */ /* Ends C function definitions when using C++ */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_misc.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_misc.h new file mode 100644 index 0000000..a04f19b --- /dev/null +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_misc.h @@ -0,0 +1,75 @@ +/* + Simple DirectMedia Layer + Copyright (C) 1997-2020 Sam Lantinga + + This software is provided 'as-is', without any express or implied + warranty. In no event will the authors be held liable for any damages + arising from the use of this software. + + Permission is granted to anyone to use this software for any purpose, + including commercial applications, and to alter it and redistribute it + freely, subject to the following restrictions: + + 1. The origin of this software must not be misrepresented; you must not + claim that you wrote the original software. If you use this software + in a product, an acknowledgment in the product documentation would be + appreciated but is not required. + 2. Altered source versions must be plainly marked as such, and must not be + misrepresented as being the original software. + 3. This notice may not be removed or altered from any source distribution. +*/ + +/** + * \file SDL_misc.h + * + * \brief Include file for SDL API functions that don't fit elsewhere. + */ + +#ifndef SDL_misc_h_ +#define SDL_misc_h_ + +#include "SDL_stdinc.h" + +#include "begin_code.h" + +/* Set up for C function definitions, even when using C++ */ +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \brief Open an URL / URI in the browser or other + * + * Open a URL in a separate, system-provided application. How this works will + * vary wildly depending on the platform. This will likely launch what + * makes sense to handle a specific URL's protocol (a web browser for http://, + * etc), but it might also be able to launch file managers for directories + * and other things. + * + * What happens when you open a URL varies wildly as well: your game window + * may lose focus (and may or may not lose focus if your game was fullscreen + * or grabbing input at the time). On mobile devices, your app will likely + * move to the background or your process might be paused. Any given platform + * may or may not handle a given URL. + * + * If this is unimplemented (or simply unavailable) for a platform, this will + * fail with an error. A successful result does not mean the URL loaded, just + * that we launched something to handle it (or at least believe we did). + * + * All this to say: this function can be useful, but you should definitely + * test it on every platform you target. + * + * \param url A valid URL to open. + * \return 0 on success, or -1 on error. + */ +extern DECLSPEC int SDLCALL SDL_OpenURL(const char *url); + +/* Ends C function definitions when using C++ */ +#ifdef __cplusplus +} +#endif +#include "close_code.h" + +#endif /* SDL_misc_h_ */ + +/* vi: set ts=4 sw=4 expandtab: */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_pixels.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_pixels.h index 1b119e4..aa90cbc 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_pixels.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_pixels.h @@ -188,18 +188,22 @@ typedef enum SDL_PIXELFORMAT_RGB332 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED8, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_332, 8, 1), - SDL_PIXELFORMAT_RGB444 = + SDL_PIXELFORMAT_XRGB4444 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_4444, 12, 2), - SDL_PIXELFORMAT_BGR444 = + SDL_PIXELFORMAT_RGB444 = SDL_PIXELFORMAT_XRGB4444, + SDL_PIXELFORMAT_XBGR4444 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_4444, 12, 2), - SDL_PIXELFORMAT_RGB555 = + SDL_PIXELFORMAT_BGR444 = SDL_PIXELFORMAT_XBGR4444, + SDL_PIXELFORMAT_XRGB1555 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_1555, 15, 2), - SDL_PIXELFORMAT_BGR555 = + SDL_PIXELFORMAT_RGB555 = SDL_PIXELFORMAT_XRGB1555, + SDL_PIXELFORMAT_XBGR1555 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_1555, 15, 2), + SDL_PIXELFORMAT_BGR555 = SDL_PIXELFORMAT_XBGR1555, SDL_PIXELFORMAT_ARGB4444 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED16, SDL_PACKEDORDER_ARGB, SDL_PACKEDLAYOUT_4444, 16, 2), @@ -236,15 +240,17 @@ typedef enum SDL_PIXELFORMAT_BGR24 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_ARRAYU8, SDL_ARRAYORDER_BGR, 0, 24, 3), - SDL_PIXELFORMAT_RGB888 = + SDL_PIXELFORMAT_XRGB8888 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XRGB, SDL_PACKEDLAYOUT_8888, 24, 4), + SDL_PIXELFORMAT_RGB888 = SDL_PIXELFORMAT_XRGB8888, SDL_PIXELFORMAT_RGBX8888 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_RGBX, SDL_PACKEDLAYOUT_8888, 24, 4), - SDL_PIXELFORMAT_BGR888 = + SDL_PIXELFORMAT_XBGR8888 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_XBGR, SDL_PACKEDLAYOUT_8888, 24, 4), + SDL_PIXELFORMAT_BGR888 = SDL_PIXELFORMAT_XBGR8888, SDL_PIXELFORMAT_BGRX8888 = SDL_DEFINE_PIXELFORMAT(SDL_PIXELTYPE_PACKED32, SDL_PACKEDORDER_BGRX, SDL_PACKEDLAYOUT_8888, 24, 4), diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_revision.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_revision.h index dfbc057..e0bcf43 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_revision.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_revision.h @@ -1,2 +1,2 @@ -#define SDL_REVISION "hg-13609:34cc7d3b69d3" -#define SDL_REVISION_NUMBER 13609 +#define SDL_REVISION "hg-14525:e52d96ea04fc" +#define SDL_REVISION_NUMBER 14525 diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_rwops.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_rwops.h index 6674f50..2e6225f 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_rwops.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_rwops.h @@ -96,15 +96,7 @@ typedef struct SDL_RWops #if defined(__ANDROID__) struct { - void *fileNameRef; - void *inputStreamRef; - void *readableByteChannelRef; - void *readMethod; - void *assetFileDescriptorRef; - long position; - long size; - long offset; - int fd; + void *asset; } androidio; #elif defined(__WIN32__) struct diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_sensor.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_sensor.h index 5122ee1..e623634 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_sensor.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_sensor.h @@ -78,14 +78,16 @@ typedef enum * Accelerometer sensor * * The accelerometer returns the current acceleration in SI meters per - * second squared. This includes gravity, so a device at rest will have - * an acceleration of SDL_STANDARD_GRAVITY straight down. + * second squared. This measurement includes the force of gravity, so + * a device at rest will have an value of SDL_STANDARD_GRAVITY away + * from the center of the earth. * * values[0]: Acceleration on the x axis * values[1]: Acceleration on the y axis * values[2]: Acceleration on the z axis * - * For phones held in portrait mode, the axes are defined as follows: + * For phones held in portrait mode and game controllers held in front of you, + * the axes are defined as follows: * -X ... +X : left ... right * -Y ... +Y : bottom ... top * -Z ... +Z : farther ... closer @@ -105,22 +107,36 @@ typedef enum * see positive rotation on that axis when it appeared to be rotating * counter-clockwise. * - * values[0]: Angular speed around the x axis - * values[1]: Angular speed around the y axis - * values[2]: Angular speed around the z axis + * values[0]: Angular speed around the x axis (pitch) + * values[1]: Angular speed around the y axis (yaw) + * values[2]: Angular speed around the z axis (roll) * - * For phones held in portrait mode, the axes are defined as follows: + * For phones held in portrait mode and game controllers held in front of you, + * the axes are defined as follows: * -X ... +X : left ... right * -Y ... +Y : bottom ... top * -Z ... +Z : farther ... closer * - * The axis data is not changed when the phone is rotated. + * The axis data is not changed when the phone or controller is rotated. * * \sa SDL_GetDisplayOrientation() */ /* Function prototypes */ +/** + * Locking for multi-threaded access to the sensor API + * + * If you are using the sensor API or handling events from multiple threads + * you should use these locking functions to protect access to the sensors. + * + * In particular, you are guaranteed that the sensor list won't change, so + * the API functions that take a sensor index will be valid, and sensor + * events will not be delivered. + */ +extern DECLSPEC void SDLCALL SDL_LockSensors(void); +extern DECLSPEC void SDLCALL SDL_UnlockSensors(void); + /** * \brief Count the number of sensors attached to the system right now */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h index d96e18b..91ccaa4 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_stdinc.h @@ -30,6 +30,12 @@ #include "SDL_config.h" +#ifdef __APPLE__ +#ifndef _DARWIN_C_SOURCE +#define _DARWIN_C_SOURCE 1 /* for memset_pattern4() */ +#endif +#endif + #ifdef HAVE_SYS_TYPES_H #include #endif @@ -413,6 +419,8 @@ extern DECLSPEC int SDLCALL SDL_islower(int x); extern DECLSPEC int SDLCALL SDL_toupper(int x); extern DECLSPEC int SDLCALL SDL_tolower(int x); +extern DECLSPEC Uint32 SDLCALL SDL_crc32(Uint32 crc, const void *data, size_t len); + extern DECLSPEC void *SDLCALL SDL_memset(SDL_OUT_BYTECAP(len) void *dst, int c, size_t len); #define SDL_zero(x) SDL_memset(&(x), 0, sizeof((x))) @@ -463,6 +471,8 @@ extern DECLSPEC wchar_t *SDLCALL SDL_wcsstr(const wchar_t *haystack, const wchar extern DECLSPEC int SDLCALL SDL_wcscmp(const wchar_t *str1, const wchar_t *str2); extern DECLSPEC int SDLCALL SDL_wcsncmp(const wchar_t *str1, const wchar_t *str2, size_t maxlen); +extern DECLSPEC int SDLCALL SDL_wcscasecmp(const wchar_t *str1, const wchar_t *str2); +extern DECLSPEC int SDLCALL SDL_wcsncasecmp(const wchar_t *str1, const wchar_t *str2, size_t len); extern DECLSPEC size_t SDLCALL SDL_strlen(const char *str); extern DECLSPEC size_t SDLCALL SDL_strlcpy(SDL_OUT_Z_CAP(maxlen) char *dst, const char *src, size_t maxlen); @@ -529,6 +539,8 @@ extern DECLSPEC double SDLCALL SDL_fabs(double x); extern DECLSPEC float SDLCALL SDL_fabsf(float x); extern DECLSPEC double SDLCALL SDL_floor(double x); extern DECLSPEC float SDLCALL SDL_floorf(float x); +extern DECLSPEC double SDLCALL SDL_trunc(double x); +extern DECLSPEC float SDLCALL SDL_truncf(float x); extern DECLSPEC double SDLCALL SDL_fmod(double x, double y); extern DECLSPEC float SDLCALL SDL_fmodf(float x, float y); extern DECLSPEC double SDLCALL SDL_log(double x); @@ -575,6 +587,17 @@ extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode, /* force builds using Clang's static analysis tools to use literal C runtime here, since there are possibly tests that are ineffective otherwise. */ #if defined(__clang_analyzer__) && !defined(SDL_DISABLE_ANALYZE_MACROS) + +/* The analyzer knows about strlcpy even when the system doesn't provide it */ +#ifndef HAVE_STRLCPY +size_t strlcpy(char* dst, const char* src, size_t size); +#endif + +/* The analyzer knows about strlcat even when the system doesn't provide it */ +#ifndef HAVE_STRLCAT +size_t strlcat(char* dst, const char* src, size_t size); +#endif + #define SDL_malloc malloc #define SDL_calloc calloc #define SDL_realloc realloc @@ -583,16 +606,23 @@ extern DECLSPEC char *SDLCALL SDL_iconv_string(const char *tocode, #define SDL_memcpy memcpy #define SDL_memmove memmove #define SDL_memcmp memcmp -#define SDL_strlen strlen #define SDL_strlcpy strlcpy #define SDL_strlcat strlcat +#define SDL_strlen strlen +#define SDL_wcslen wcslen +#define SDL_wcslcpy wcslcpy +#define SDL_wcslcat wcslcat #define SDL_strdup strdup +#define SDL_wcsdup wcsdup #define SDL_strchr strchr #define SDL_strrchr strrchr #define SDL_strstr strstr +#define SDL_wcsstr wcsstr #define SDL_strtokr strtok_r #define SDL_strcmp strcmp +#define SDL_wcscmp wcscmp #define SDL_strncmp strncmp +#define SDL_wcsncmp wcsncmp #define SDL_strcasecmp strcasecmp #define SDL_strncasecmp strncasecmp #define SDL_sscanf sscanf diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_surface.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_surface.h index 0f11d17..d3f8c81 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_surface.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_surface.h @@ -80,7 +80,9 @@ typedef struct SDL_Surface /** information needed for surfaces requiring locks */ int locked; /**< Read-only */ - void *lock_data; /**< Read-only */ + + /** list of BlitMap that hold a reference to this surface */ + void *list_blitmap; /**< Private */ /** clipping information */ SDL_Rect clip_rect; /**< Read-only */ @@ -235,6 +237,13 @@ extern DECLSPEC int SDLCALL SDL_SaveBMP_RW extern DECLSPEC int SDLCALL SDL_SetSurfaceRLE(SDL_Surface * surface, int flag); +/** + * \brief Returns whether the surface is RLE enabled + * + * \return SDL_TRUE if the surface is RLE enabled, or SDL_FALSE if the surface is NULL or not RLE enabled + */ +extern DECLSPEC SDL_bool SDLCALL SDL_HasSurfaceRLE(SDL_Surface * surface); + /** * \brief Sets the color key (transparent pixel) in a blittable surface. * diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_system.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_system.h index d7974eb..d296ab1 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_system.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_system.h @@ -123,6 +123,7 @@ extern DECLSPEC void * SDLCALL SDL_AndroidGetActivity(void); /** \brief Return API level of the current device + API level 30: Android 11 API level 29: Android 10 API level 28: Android 9 API level 27: Android 8.1 @@ -198,6 +199,14 @@ extern DECLSPEC int SDLCALL SDL_AndroidGetExternalStorageState(void); */ extern DECLSPEC const char * SDLCALL SDL_AndroidGetExternalStoragePath(void); +/** + \brief Request permissions at runtime. + + This blocks the calling thread until the permission is granted or + denied. Returns SDL_TRUE if the permission was granted. + */ +extern DECLSPEC SDL_bool SDLCALL SDL_AndroidRequestPermission(const char *permission); + #endif /* __ANDROID__ */ /* Platform specific functions for WinRT */ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_syswm.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_syswm.h index e877b2a..f0e9675 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_syswm.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_syswm.h @@ -106,6 +106,11 @@ typedef void *EGLSurface; #if defined(SDL_VIDEO_DRIVER_VIVANTE) #include "SDL_egl.h" #endif + +#if defined(SDL_VIDEO_DRIVER_OS2) +#define INCL_WIN +#include +#endif #endif /* SDL_PROTOTYPES_ONLY */ @@ -186,6 +191,16 @@ struct SDL_SysWMmsg int dummy; /* No Vivante window events yet */ } vivante; +#endif +#if defined(SDL_VIDEO_DRIVER_OS2) + struct + { + BOOL fFrame; /**< TRUE if hwnd is a frame window */ + HWND hwnd; /**< The window receiving the message */ + ULONG msg; /**< The message identifier */ + MPARAM mp1; /**< The first first message parameter */ + MPARAM mp2; /**< The second first message parameter */ + } os2; #endif /* Can't have an empty union */ int dummy; @@ -280,6 +295,14 @@ struct SDL_SysWMinfo } android; #endif +#if defined(SDL_VIDEO_DRIVER_OS2) + struct + { + HWND hwnd; /**< The window handle */ + HWND hwndFrame; /**< The frame window handle */ + } os2; +#endif + #if defined(SDL_VIDEO_DRIVER_VIVANTE) struct { diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_thread.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_thread.h index cb53011..4016358 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_thread.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_thread.h @@ -54,6 +54,11 @@ typedef unsigned int SDL_TLSID; /** * The SDL thread priority. * + * SDL will make system changes as necessary in order to apply the thread priority. + * Code which attempts to control thread state related to priority should be aware + * that calling SDL_SetThreadPriority may alter such state. + * SDL_HINT_THREAD_PRIORITY_POLICY can be used to control aspects of this behavior. + * * \note On many systems you require special privileges to set high or time critical priority. */ typedef enum { diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_version.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_version.h index c824b1d..23b65f4 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_version.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_version.h @@ -59,7 +59,7 @@ typedef struct SDL_version */ #define SDL_MAJOR_VERSION 2 #define SDL_MINOR_VERSION 0 -#define SDL_PATCHLEVEL 12 +#define SDL_PATCHLEVEL 14 /** * \brief Macro to determine SDL version program was compiled against. diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_video.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_video.h index 20d4ce2..54cbe0f 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_video.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_video.h @@ -118,7 +118,8 @@ typedef enum SDL_WINDOW_UTILITY = 0x00020000, /**< window should be treated as a utility window */ SDL_WINDOW_TOOLTIP = 0x00040000, /**< window should be treated as a tooltip */ SDL_WINDOW_POPUP_MENU = 0x00080000, /**< window should be treated as a popup menu */ - SDL_WINDOW_VULKAN = 0x10000000 /**< window usable for Vulkan surface */ + SDL_WINDOW_VULKAN = 0x10000000, /**< window usable for Vulkan surface */ + SDL_WINDOW_METAL = 0x20000000 /**< window usable for Metal view */ } SDL_WindowFlags; /** @@ -174,7 +175,9 @@ typedef enum typedef enum { SDL_DISPLAYEVENT_NONE, /**< Never used */ - SDL_DISPLAYEVENT_ORIENTATION /**< Display orientation has changed to data1 */ + SDL_DISPLAYEVENT_ORIENTATION, /**< Display orientation has changed to data1 */ + SDL_DISPLAYEVENT_CONNECTED, /**< Display has been added to the system */ + SDL_DISPLAYEVENT_DISCONNECTED /**< Display has been removed from the system */ } SDL_DisplayEventID; typedef enum @@ -484,7 +487,8 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window); * ::SDL_WINDOW_HIDDEN, ::SDL_WINDOW_BORDERLESS, * ::SDL_WINDOW_RESIZABLE, ::SDL_WINDOW_MAXIMIZED, * ::SDL_WINDOW_MINIMIZED, ::SDL_WINDOW_INPUT_GRABBED, - * ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN. + * ::SDL_WINDOW_ALLOW_HIGHDPI, ::SDL_WINDOW_VULKAN + * ::SDL_WINDOW_METAL. * * \return The created window, or NULL if window creation failed. * @@ -503,6 +507,9 @@ extern DECLSPEC Uint32 SDLCALL SDL_GetWindowPixelFormat(SDL_Window * window); * If SDL_WINDOW_VULKAN is specified and there isn't a working Vulkan driver, * SDL_CreateWindow() will fail because SDL_Vulkan_LoadLibrary() will fail. * + * If SDL_WINDOW_METAL is specified on an OS that does not support Metal, + * SDL_CreateWindow() will fail. + * * \note On non-Apple devices, SDL requires you to either not link to the * Vulkan loader or link to a dynamic library version. This limitation * may be removed in a future version of SDL. diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h index d69a436..a3de1ce 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/SDL_vulkan.h @@ -204,10 +204,9 @@ extern DECLSPEC void SDLCALL SDL_Vulkan_UnloadLibrary(void); * * \sa SDL_Vulkan_CreateSurface() */ -extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions( - SDL_Window *window, - unsigned int *pCount, - const char **pNames); +extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions(SDL_Window *window, + unsigned int *pCount, + const char **pNames); /** * \brief Create a Vulkan rendering surface for a window. @@ -238,10 +237,9 @@ extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_GetInstanceExtensions( * * \sa SDL_Vulkan_GetInstanceExtensions() */ -extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface( - SDL_Window *window, - VkInstance instance, - VkSurfaceKHR* surface); +extern DECLSPEC SDL_bool SDLCALL SDL_Vulkan_CreateSurface(SDL_Window *window, + VkInstance instance, + VkSurfaceKHR* surface); /** * \brief Get the size of a window's underlying drawable in pixels (for use diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/begin_code.h b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/begin_code.h index 170d69e..1ca40cc 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/begin_code.h +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Headers/begin_code.h @@ -51,15 +51,11 @@ /* Some compilers use a special export keyword */ #ifndef DECLSPEC -# if defined(__WIN32__) || defined(__WINRT__) -# ifdef __BORLANDC__ -# ifdef BUILD_SDL -# define DECLSPEC -# else -# define DECLSPEC __declspec(dllimport) -# endif -# else +# if defined(__WIN32__) || defined(__WINRT__) || defined(__CYGWIN__) +# ifdef DLL_EXPORT # define DECLSPEC __declspec(dllexport) +# else +# define DECLSPEC # endif # elif defined(__OS2__) # ifdef BUILD_SDL diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/Info.plist b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/Info.plist index 3129510..1f12bfb 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/Info.plist +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/Info.plist @@ -3,7 +3,7 @@ BuildMachineOSBuild - 18G87 + 19E287 CFBundleDevelopmentRegion English CFBundleExecutable @@ -19,7 +19,7 @@ CFBundlePackageType FMWK CFBundleShortVersionString - 2.0.12 + 2.0.14 CFBundleSignature SDLX CFBundleSupportedPlatforms @@ -27,21 +27,23 @@ MacOSX CFBundleVersion - 2.0.12 + 2.0.14 DTCompiler com.apple.compilers.llvm.clang.1_0 DTPlatformBuild - 11C504 + 12C33 + DTPlatformName + macosx DTPlatformVersion - GM + 11.1 DTSDKBuild - 19B90 + 20C63 DTSDKName - macosx10.15 + macosx11.1 DTXcode - 1130 + 1230 DTXcodeBuild - 11C504 + 12C33 LSMinimumSystemVersion 10.6 diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/default.metallib b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/default.metallib index de39741..bab6b13 100644 Binary files a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/default.metallib and b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/Resources/default.metallib differ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/SDL2 b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/SDL2 index ef892c3..52c9539 100755 Binary files a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/SDL2 and b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/SDL2 differ diff --git a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/_CodeSignature/CodeResources b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/_CodeSignature/CodeResources index 0085b70..c83a407 100644 --- a/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/_CodeSignature/CodeResources +++ b/atari800-MacOSX/src/Atari800MacX/SDL2.framework/Versions/A/_CodeSignature/CodeResources @@ -6,7 +6,7 @@ Resources/Info.plist - sC07CBQyns8khV3Fh/hh4E2hc74= + HzcsMReVY4hkAmRRhq33mT4RJKI= Resources/License.txt @@ -18,7 +18,7 @@ Resources/default.metallib - dF9gKJnv0WdQs57PRAzLo+EyGAA= + 4BwgaOSOLU3sjhjYkfLYp8Bg0y0= files2 @@ -27,7 +27,7 @@ cdhash - CEGTuNjduzlouV6B5JJVr1uRoeM= + N5FKSaB7CEeZTK1MpiD7f6uGGVA= requirement identifier "org.libsdl.hidapi" and anchor apple generic and certificate 1[field.1.2.840.113635.100.6.2.6] /* exists */ and certificate leaf[field.1.2.840.113635.100.6.1.13] /* exists */ and certificate leaf[subject.OU] = EH385AYQ6F @@ -36,22 +36,22 @@ hash - y6Zw1zugKvy7YINfHUZioLU3h7c= + hL2Z/I5g7jY5xbcFEk6Ga+GmxcM= hash2 - GRE94BY3eDOjtR9EDg6HtLEJAZjYaNV+dq4yfaEVj+U= + dALaYlcvTZd9nHYy4IFogyrazbSCCRfnK4kfYHGPqFc= Headers/SDL_assert.h hash - aeaMLHO4nr+PB14hBzqp6ZOQMqU= + FwT1P3mJzGKC9r+NdzApvnBKWB0= hash2 - BvLXUx+Vfr2uygauOVYH8TxUkdOjRrpuC51187UhoCU= + P97E6oE7Pm/2Rd/sQI2lfnboN3OaLWfA4fzXc4lHSW0= Headers/SDL_atomic.h @@ -124,11 +124,11 @@ hash - eUkWGkQu50iG57VqjB5oIXhaYRk= + SHf9CRjVPeSLNjgX8CeWX+2/rsc= hash2 - hTGa2AD+GTxusg3MsUIzA+xmRIFpgR39xsv51vn/Jl0= + Dtby/5f29Me3435yhYtoV4qaQ3H+EsDpI5y4/pcdqJY= Headers/SDL_copying.h @@ -146,11 +146,11 @@ hash - /DTS3Ju22TmH5Qrr4Sy4TfDdlcc= + jOEMD49pYqDQfHy0/1TAdRrVxfE= hash2 - pPVS8mDMD17ThwISdh+NEXGOqQkOOClFoU0ylYgDNSM= + /vC2r34hQj6+BZw4xJx8YzwMKL2petqQQgALn+fcGCE= Headers/SDL_endian.h @@ -168,22 +168,22 @@ hash - MfehpP3RFEj2g4Ya0noqc1o7ANo= + pVWfxt+odr3djRqt8D/U421+dQo= hash2 - FZWI2OlYvburZIDQeeG29DzMz8n8hzO6bavXGDWoHhk= + YKlzVmZ1dgucRXZyWU9kvIjT9QZBohKxz49iLQ/PPQE= Headers/SDL_events.h hash - K/UpbzGqq8vPXCNo//37Qod99bU= + ZbHbHB/Ul2errIm2JWrlpAdNRws= hash2 - ndL6QYSkZleJN4Va0neG0C1cytQi6sN2YRBZNqg0KGU= + 8IArXBgjLvjES7thc1V43MvhO7Vb1LBLs6JOjsrlJh8= Headers/SDL_filesystem.h @@ -201,11 +201,11 @@ hash - NFgER0ImxgFpfHkU677BWPYc1GI= + cfhsBlcRvEtWKc7G4aMmbPpicsw= hash2 - uL37yJVC28sdz6PATtGqouLdEcxEJK+cVHlIRBGmwwA= + +n9L1zsAncG84IBpXnfpWrr9WLtT6eQTKvlt/rRx+tQ= Headers/SDL_gesture.h @@ -223,33 +223,33 @@ hash - wk25QquiIctB15MmzqnMjxB/do8= + M0Oo9dh3zLva6qpGJhBbgAxAIuY= hash2 - I7Ll6omnZd3Ts2S7kk9GcMTrNm87SSEgWoaYSRt/7pU= + Nef5r8Bidx1FeTffn9+uzNZMlwxu1J37V4LOzOibxx4= Headers/SDL_hints.h hash - YZsN5gTIhrJaMZKJcecfJMMmtDA= + jwczm7PFpNtkpk+MVF5/nQLW3lk= hash2 - KIBaC8gbu2WOY1Rzn/x1o+Jpzkjn7smhdgOeihrp6sU= + DspQuSafuzDVaWlSssNURH+EYXHSzkOPBmkGAazI2Vo= Headers/SDL_joystick.h hash - K9z1CAW/nstv8ExYHSHZVkzB6rA= + deLFMyhUMO8CeyYVlUw8yBlzhr0= hash2 - Begpgo8SYC3bsrdRQTUPXZys5hlvqFyHVNPcrnD9DAY= + 9g7sjmJ50vOHOSM9pbbGUQq2AiqAnL0v1fxMPlP/6xo= Headers/SDL_keyboard.h @@ -267,11 +267,11 @@ hash - gMeCtdre9A0i6YsiBcA9UYyFU2M= + ewKk66pjiNXqr4IUEygJVneU0Z0= hash2 - 7q8a96GCxzmM/IeuC5Qe6HdURJ/tkw7ZE+w1EB05MMU= + VWe104GsR/Yu3UNF98pUhJ59QWxv+Es2POzyWIepBiU= Headers/SDL_loadso.h @@ -285,6 +285,17 @@ bpcu/Ms5CE5EHVV1zXIfWghw8JM8qB2114xfsIUBPeE= + Headers/SDL_locale.h + + hash + + JCF6SSXRcv6uAPICgwmTq+WsVZs= + + hash2 + + SYFN/L2S2pKTNZQe4dGUKTPTFXbqXZlZ3Vyl4y5wZ8s= + + Headers/SDL_log.h hash @@ -322,11 +333,22 @@ hash - +yP6KnkkIHTzx9DFENBYpSeBGxo= + S2Es8N4Cya7az5FTs0mqtd840zA= + + hash2 + + 9AgZbEiRMt0j2ui++nJaH+EXz9UF6LtVeljtZkAvvtY= + + + Headers/SDL_misc.h + + hash + + lfv6FBriF6FMZ/f1IZWpmQGVgl8= hash2 - cXX+1NaoCsHFAkNJVN9Rv1I0x0OGxoD3lCc/NwVROeA= + r4QO2p4KtTCZoipQ78v0Gt34pzm6GzLKdZq3E2gQopA= Headers/SDL_mouse.h @@ -454,11 +476,11 @@ hash - U6CRAlpSfGNDzBGXdbi4oftVkwU= + dk4R8c81l+WVpQ9ueWDS2SGuXkA= hash2 - DgjII2f8X5emc/fKsW0hur9MGpTs8qpaTHe/NC7WdGE= + AQ9Th5IdVLO2XfkpMUuZAqxtYQXaQiiiHQVjTJyRq2g= Headers/SDL_platform.h @@ -520,22 +542,22 @@ hash - 1KfSJfNX9fAfNlqo2OLxSfHQaik= + iU+5ESGi01zqZHfc1A01ki4Zn7M= hash2 - Ol01NFpqQ+/WDQIfZbVpxwfJcyE/qtzCAcFRXVg63rY= + gV6XVMtohzA/afDeM0m9gF5UKNeZuub0W7GgLf3Tde8= Headers/SDL_rwops.h hash - DLm3FArKEgTtJ69RUmMmUvF0NsI= + FWcGz9/xlaBkrR1vdvYvDibFPhg= hash2 - FIL6cT/Y+0AXFs3GF9EJ3m2pbkmMJxT/I+LuZP4/JrU= + OWI95ONgZvdn/FBJfMHV1BQWKQjx5LBN7MYuXwAadgg= Headers/SDL_scancode.h @@ -553,11 +575,11 @@ hash - EcpSAJiYDO/cjeNM+RnMZqS0YxA= + fWxFA0VH6Upp0rnLDNjYwdQoNo8= hash2 - 3AJeHmC8LkxLBbEqDgnH1ZoBbA/CJTYIHue3x3QGH5M= + g7kU4VylxQdFQFJ0q6E8IDlwjPXm9V+b6C0sl7nyHTM= Headers/SDL_shape.h @@ -575,55 +597,55 @@ hash - 46ybx+QpfwpESkH8Xav5guh0r4M= + gQt/KOamYUdYNDOXy8DQl4d4g/Y= hash2 - TKLKiytwHa5ijCd36Ae7yHX/bbBWqdvrnOhaF9fXa0E= + JflF60zLtw8xzJHCvaQupBJh0cX70rk5Ow9flHG1H7k= Headers/SDL_surface.h hash - NSvhegMe7ESmcxEgC8EuZ0sCyFU= + soHlBb+6gw5DX7D4eGnXPgMf9hs= hash2 - hdB72Dx/gaTq5sKpPDO+vN3gXHXsE7YxL8z2CoykY8o= + Zpk6jryT2LeN31f2DNTqmLmCqsLW6VNL1Uh7HNGOwAI= Headers/SDL_system.h hash - 3tHnp+2bdRcZ3HH7EKLtOcbMlWQ= + AeUGw4yk0HbPBoADm4adPJ9zhpQ= hash2 - ZwR9c/Bto10ts3gyJZgBeZEDkcfYBxbXqZYho1rDulI= + A1opmWFefAqbN5ZOZF+g6pVtvaHimbbPFEoIvB/nV1c= Headers/SDL_syswm.h hash - erik9ElULmnUObLiWoB7Acm7yxA= + P+DsBmujckIowwmwg/Jf22RguSo= hash2 - ibGK7TlbnYmiziw5PqTjpt2BBso8MswXLRDpkK5z6l0= + OyDQPPG7RIPQKz2a1dz+Lye0HoqfZmfrn6onDHVr1ds= Headers/SDL_thread.h hash - 3tGB/eQF+z1hhlWNiw4xuJ6c0NA= + bN9PvUNyNE5PSLQzjdF4b38bzRY= hash2 - 7WhLanB12mw0SlTjQFEZzDejcHmHtq/wBtc7oujsSSQ= + MymOftu/SUBMl4mrBetXv06hTmexfmEwWFuvGoMdmT8= Headers/SDL_timer.h @@ -663,44 +685,44 @@ hash - b6EyC2Ch21VSDMFN7yDMyWWcFlM= + RSdRqJyF1tcOcqxUxRwdBTSOEY8= hash2 - eFEfLZ0ETPSOf07Q8df4EYSnDqnqLlOPpwOerY9THqI= + N1pAIZBW75CmWCZEignmSql74epXayoRYcUDCl+e8P0= Headers/SDL_video.h hash - GxMAhvV6KHWAeC+Mez8bzUxrj+8= + hfCVsrcC7zpSyACVMur9HiR3hP8= hash2 - CiuTAL3gby9Z42HvOP7StKXDCpbx45n+pfe3zGw3NE0= + ZsbVBgoJdTY1nJXyOHKv9ZN0R0gFTPSDh/f59ARpNqY= Headers/SDL_vulkan.h hash - 0R0iBIIZHeiqfvyj+3+sbtepfwo= + Hd6qVU8OT67v88A0rMVhZpceGQg= hash2 - ZUl2Z6rj4rI2+mitJQB2d+4hTIuTIzVf0fr7KM9hgKw= + rD48rqfdCs8UEGgpQilcPwZo50sH0NXKds0uYKXnkc8= Headers/begin_code.h hash - X5W7FQnJRFgap/lN9Nfhm9SNYRE= + FIsc5DtgzxDC8gsUo9TXzt1xH7I= hash2 - hW/el0zmgHMXlKjkKTyoRPhoPu8ZQvpsljXvK9tXzPg= + BFECI+R+tzd3mfhBzGnocaBUwoRCqnuITqApxi6pc7E= Headers/close_code.h @@ -718,11 +740,11 @@ hash - sC07CBQyns8khV3Fh/hh4E2hc74= + HzcsMReVY4hkAmRRhq33mT4RJKI= hash2 - hYHPEldddc/Esgtnkp9sv1UExiAdPCcgJLF3QFJI2Ak= + uxXlzWLUJvw0jtalQpV/AuYjmwBhNOdWqO8HCdMqAY4= Resources/License.txt @@ -751,11 +773,11 @@ hash - dF9gKJnv0WdQs57PRAzLo+EyGAA= + 4BwgaOSOLU3sjhjYkfLYp8Bg0y0= hash2 - A5lFX3lFIAtu4Lxgjh7TXdIVDe0n6G1iPofA+3H+xMA= + bs9aWIr93QMzHkPmqydkE8toDd+BGAITxZX+AC17FSk= diff --git a/atari800-MacOSX/src/atari.h b/atari800-MacOSX/src/atari.h index 52ab0d6..a073eb3 100644 --- a/atari800-MacOSX/src/atari.h +++ b/atari800-MacOSX/src/atari.h @@ -48,7 +48,9 @@ enum { Atari800_MACHINE_XLXE, Atari800_MACHINE_5200, /* Number of values in the emumerator */ - Atari800_MACHINE_SIZE + Atari800_MACHINE_SIZE, + Atari800_MACHINE_OSA, + Atari800_MACHINE_OSB }; /* Don't change this variable directly; use Atari800_SetMachineType() instead. */ extern int Atari800_machine_type; diff --git a/atari800-MacOSX/src/cfg.c b/atari800-MacOSX/src/cfg.c index 92a9bc5..2d6c95d 100755 --- a/atari800-MacOSX/src/cfg.c +++ b/atari800-MacOSX/src/cfg.c @@ -39,6 +39,7 @@ char CFG_xegs_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char CFG_xegsGame_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char CFG_1200xl_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; +char CFG_osa_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char CFG_osb_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char CFG_xlxe_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char CFG_5200_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; diff --git a/atari800-MacOSX/src/cfg.h b/atari800-MacOSX/src/cfg.h index 33052e2..b030f4b 100755 --- a/atari800-MacOSX/src/cfg.h +++ b/atari800-MacOSX/src/cfg.h @@ -1,5 +1,9 @@ #ifndef CFG_H_ #define CFG_H_ + +#include + + /* Checks for "popular" filenames of ROM images in the specified directory and sets CFG_*_filename to the ones found. If only_if_not_set is TRUE, then CFG_*_filename is modified only when diff --git a/atari800-MacOSX/src/cpu.c b/atari800-MacOSX/src/cpu.c index 704222e..53b90bc 100644 --- a/atari800-MacOSX/src/cpu.c +++ b/atari800-MacOSX/src/cpu.c @@ -2351,10 +2351,10 @@ void CPU_GO(int limit) CPU_GetStatus(); #ifdef CRASH_MENU - UI_crash_address = GET_PC(); - UI_crash_afterCIM = GET_PC() + 1; - UI_crash_code = insn; - UI_Run(); +// UI_crash_address = GET_PC(); +// UI_crash_afterCIM = GET_PC() + 1; +// UI_crash_code = insn; + //UI_Run(); #else CPU_cim_encountered = TRUE; ENTER_MONITOR; diff --git a/atari800-MacOSX/src/esc.c b/atari800-MacOSX/src/esc.c index 6ff55be..59c3901 100755 --- a/atari800-MacOSX/src/esc.c +++ b/atari800-MacOSX/src/esc.c @@ -142,10 +142,10 @@ void ESC_Run(UBYTE esc_code) } #ifdef CRASH_MENU CPU_regPC -= 2; - UI_crash_address = CPU_regPC; - UI_crash_afterCIM = CPU_regPC + 2; - UI_crash_code = MEMORY_dGetByte(UI_crash_address); - UI_Run(); +// UI_crash_address = CPU_regPC; +// UI_crash_afterCIM = CPU_regPC + 2; +// UI_crash_code = MEMORY_dGetByte(UI_crash_address); + //UI_Run(); #else /* CRASH_MENU */ #ifndef ATARI800MACX CPU_cim_encountered = 1; diff --git a/atari800-MacOSX/src/side2.c b/atari800-MacOSX/src/side2.c index 87b679a..8723a15 100644 --- a/atari800-MacOSX/src/side2.c +++ b/atari800-MacOSX/src/side2.c @@ -26,11 +26,14 @@ int SIDE2_have_rom = FALSE; int SIDE2_Flash_Type = 0; static UBYTE side2_rom[0x80000]; + #ifdef ATARI800MACX +void init_side2(void); char side2_rom_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char side2_nvram_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; char side2_compact_flash_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; #else +static void init_side2(void); static char side_rom_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; static char side2_nvram_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; static char side2_compact_flash_filename[FILENAME_MAX] = Util_FILENAME_NOT_SET; diff --git a/atari800-MacOSX/src/side2.h b/atari800-MacOSX/src/side2.h index c4b6c79..5f43c63 100644 --- a/atari800-MacOSX/src/side2.h +++ b/atari800-MacOSX/src/side2.h @@ -12,10 +12,19 @@ extern int SIDE2_SDX_Mode_Switch; extern int SIDE2_Flash_Type; extern int SIDE2_Block_Device; extern char side2_rom_filename[FILENAME_MAX]; + +#ifdef ATARI800MACX +extern void init_side2(void); +extern char side2_rom_filename[FILENAME_MAX]; extern char side2_nvram_filename[FILENAME_MAX]; extern char side2_compact_flash_filename[FILENAME_MAX]; +#else +extern static void init_side2(void); +extern static char side_rom_filename[FILENAME_MAX]; +extern static char side2_nvram_filename[FILENAME_MAX]; +extern static char side2_compact_flash_filename[FILENAME_MAX]; +#endif -void init_side2(void); int SIDE2_Initialise(int *argc, char *argv[]); void SIDE2_Exit(void); int SIDE2_D5GetByte(UWORD addr, int no_side_effects); diff --git a/atari800-MacOSX/src/sysrom.c b/atari800-MacOSX/src/sysrom.c index 12d9a7c..d25860c 100644 --- a/atari800-MacOSX/src/sysrom.c +++ b/atari800-MacOSX/src/sysrom.c @@ -23,8 +23,8 @@ */ #include "config.h" - #include +#include "cfg.h" #ifdef HAVE_DIRENT_H #include #endif @@ -35,7 +35,7 @@ #include "sysrom.h" -#include "cfg.h" + #include "crc32.h" #include "log.h" #include "memory.h" @@ -719,7 +719,11 @@ static int MatchROMVersionParameter(char const *string, int const *allowed_vals, int SYSROM_ReadConfig(char *string, char *ptr) { +#ifdef ATARI800MACX + int id=1; +#else int id = CFG_MatchTextParameter(string, cfg_strings, SYSROM_LOADABLE_SIZE); +#endif if (id >= 0) { /* For faster start, don't check if CRC matches. */ Util_strlcpy(SYSROM_roms[id].filename, ptr, FILENAME_MAX); diff --git a/atari800-MacOSX/src/ultimate1mb.c b/atari800-MacOSX/src/ultimate1mb.c index d01e3d1..6a4ac5f 100644 --- a/atari800-MacOSX/src/ultimate1mb.c +++ b/atari800-MacOSX/src/ultimate1mb.c @@ -24,6 +24,7 @@ #include static UBYTE ultimate_rom[0x80000]; + #ifdef ATARI800MACX char ultimate_rom_filename[FILENAME_MAX] = "/Users/markg/Atari800MacX/Altirra-3.20/ultimate.rom"; char ultimate_nvram_filename[FILENAME_MAX] = "/Users/markg/Atari800MacX/Altirra-3.20/ultimate.nvram"; diff --git a/atari800-MacOSX/src/ultimate1mb.h b/atari800-MacOSX/src/ultimate1mb.h index a4f6d4e..1a486eb 100644 --- a/atari800-MacOSX/src/ultimate1mb.h +++ b/atari800-MacOSX/src/ultimate1mb.h @@ -13,9 +13,14 @@ extern int ULTIMATE_enabled; extern int ULTIMATE_have_rom; extern int SIDE2_enabled; +extern int ULTIMATE_Flash_Type; + +#ifdef ATARI800MACX extern char ultimate_rom_filename[FILENAME_MAX]; extern char ultimate_nvram_filename[FILENAME_MAX]; -extern int ULTIMATE_Flash_Type; +#else +extern tatic char ultimate_rom_filename[FILENAME_MAX]; +#endif void init_ultimate(void); int ULTIMATE_Initialise(int *argc, char *argv[]);