This commit imports a series of patches from the FreeBSD port of RetroArch to
improve build compatibility and address specific issues encountered in the
FreeBSD environment. These patches, sourced from the FreeBSD Ports collection
(https://cgit.freebsd.org/ports/tree/games/retroarch/files), have been adapted
and tested to ensure they integrate seamlessly with the current build process.
* Touch up the documentation for a few environment calls
* Touch up more comments
* Update docs for more environment calls
* Add doc comments for more environment calls
* Change various @returns to indicate that the environment call is available
- Some environment calls might be recognized but ignored (e.g. when fast-forwarding during netplay)
* Note some deprecated symbols
* Touch up the docs for RETRO_ENVIRONMENT_SET_MESSAGE
* Touch up the docs for RETRO_ENVIRONMENT_SET_PIXEL_FORMAT
* Add more doc comments
* (libretro) Add more doxygen documentation for the libretro API
* (libretro) Add doxygen comments for the callbacks
* Document retro_init and retro_deinit
* Add comments for retro_log-related symbols
* Add a comment
* Clean up some camera-related comments
* Clean up frame time-related callbacks
* Correct some information about major callbacks
* Clarify some parameter info
* Fix incorrect info about retro_set_environment
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* (libretro) Add doxygen docs on RETRO_THROTTLE
* Touch up the docs for RETRO_ENVIRONMENT_SET_AUDIO_CALLBACK
* Touch up the docs for some macros
* Touch up the docs for some more environment calls
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Tidy up the doc comments for clamping.h
- It was a low-hanging fruit
* Define some sections for constants
- Doxygen will group all contained symbols on one page
* Fix a duplicate @see
* Polish up the docs for the rumble interface
* Polish up the docs for RETRO_ENVIRONMENT_GET_INPUT_DEVICE_CAPABILITIES
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Document INLINE
* Clean up some tags
* Touch up the docs for the sensor interface
* Add docs for RETRO_ENVIRONMENT_SET_PROC_ADDRESS_CALLBACK
* Update docs for RETRO_ENVIRONMENT_GET_INPUT_BITMASKS and accompanying names
* Update some group definitions
* Spiff up the docs for retro_dirent.h
* Document dylib.h
* Document base64.h
* Document crc32.h
* Touch up the docs for audio conversion functions
* Clean up some Doxygen tags
* Refine the docs for RETRO_ENVIRONMENT_GET_PERF_INTERFACE
* Fix incorrect infor in dylib.h
* Touch up the docs for RETRO_ENVIRONMENT_GET_CAMERA_INTERFACE
* Revise the docs for RETRO_ENVIRONMENT_SET_GEOMETRY
* Revise the docs for RETRO_ENVIRONMENT_GET_LOCATION_INTERFACE
* Revise a function's doc
* Touch up most of the rthreads docs
* Touch up the retro_timers.h docs
* Revise the subsystem docs
* Fix some incorrect @see's
* Touch up the docs for RETRO_ENVIRONMENT_GET_LED_INTERFACE
* Give the RETRO_ENVIRONMENT_GET_SAVESTATE_CONTEXT docs a makeover
* Slight cleanup to the microphone docs
* Slight cleanup to the device power docs
* Touch up serialization quirk docs
* Give the MIDI docs a haircut
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Freshen up rtime's docs
* Improve the docs and accompanying definitions for RETRO_ENVIRONMENT_GET_AUDIO_VIDEO_ENABLE
- Revise the text of the documentation
- Introduce an enum that defines the flags (it's still an int, so ABI compatibility will be fine)
- Move the documentation for each bit to its corresponding enum
* Shine the shoes of RETRO_ENVIRONMENT_GET_INPUT_MAX_USERS's docs
* Freshen up the docs for fifo_queue.h
* Document most of task_queue.h
* Put retro_dirent's symbols in a group
* Finish documenting task_queue.h
* Document some compatibility headers
* Document read_stdin
* Document file_stream_transforms.h
* Document the VFS API
- Not the wrappers, just the plain API itself
* (Docs) Add doxygen notes about RETRO_DEVICE_*
* Fix some line breaks
* Revise RETRO_DEVICE docs
* Document strl.h
* Update the features_cpu.h docs
* Rewrite the docs for file_stream.h
* Update the docs for retro_endianness.h
* Update the docs for retro_miscellaneous.h
* Document the RETRO_VFS_SEEK_POSITION constants
* Finish documenting rthreads.h
* Document network_stream.h
* Put the RETRO_MEMORY defines in a defgroup
* Move a doc comment in retro_common.h to file scope
* Revise the docs for RETRO_ENVIRONMENT_SET_CONTROLLER_INFO, and accompanying symbols
* Fix the @param/in/out order in libretro.h's @param declarations
* Tidy up the docs for RETRO_ENVIRONMENT_GET_CORE_OPTIONS_VERSION
* Spiff up the docs for RETRO_ENVIRONMENT_GET_CURRENT_SOFTWARE_FRAMEBUFFER
* Fix some tags
* Polish up RETRO_ENVIRONMENT_GET_HW_RENDER_INTERFACE's docs
* libretro: Add header doxygen
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Update libretro-common/include/libretro.h
Co-authored-by: Rob Loach <robloach@gmail.com>
* Clean up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY
* Clean up the docs for RETRO_ENVIRONMENT_SET_HW_RENDER_CONTEXT_NEGOTIATION_INTERFACE
* Touch up some comment syntax for RETRO_ENVIRONMENT_GET_VARIABLE_UPDATE
* Fix some inaccuracies
* Re-add the license statement for libretro.h
* Touch up the docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_V2
* Touch up docs for RETRO_ENVIRONMENT_SET_CORE_OPTIONS_DISPLAY
* Touch up docs for some options-related symbols
* Fix some syntax that was preventing most doc files from being generated
* Express retro_core_option_definition docs in terms of retro_core_option_v2_definition
* Finalize some core option-related docs
* Fix some incorrect info about achievements
* Polish up the docs for RETRO_ENVIRONMENT_SET_MEMORY_MAPS
* Polish up the docs for RETRO_ENVIRONMENT_GET_DISK_CONTROL_INTERFACE_VERSION
* Add a notice for `RETRO_ENVIRONMENT_GET_LOG_INTERFACE`
* Update the disk control interface docs
* Add a sentence to a doc comment
* Update a comment
* Remove an irrelevant @todo
* Touch up the docs for `retro_message_target`
* Touch up the docs for `retro_message_type`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_MESSAGE_EXT`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_AUDIO_BUFFER_STATUS_CALLBACK`
* Touch up the docs for `RETRO_ENVIRONMENT_SET_MINIMUM_AUDIO_LATENCY`
* Revise a comment
* Revise the docs for `RETRO_ENVIRONMENT_SET_VARIABLE`
* Add a `@see`
* Clean up the `RETRO_ENVIRONMENT_SET_FASTFORWARDING_OVERRIDE` docs
* Update the Doxyfile
* libretro: Add three more environment callback doxygen docs
* doxygen: Remove @example reference
---------
Co-authored-by: Rob Loach <robloach@gmail.com>
* features_cpu: Return model name on non-x86 Linux platforms
Extract model name from /proc/cpuinfo.
* platform/unix: Rework identification of classic Arm CPUs
Identify pre-ARMv7 CPUs based on the machine hardware name starting with
"arm" instead of matching every individual variant. This will then
include the ARM926EJ-S which has armv5tejl as its machine hardware name.
* features_cpu: Fix clock for djgpp
* frontend_dos_set_fork: Fix wrong id names
* dos_input: Fix missing indexing
* dos_joypad: Fix wrong id name
* Fix menu drawing
Menu is already prescaled to VGA_WIDTH x VGA_HEIGHT in vga_menu_frame. We need
to always use those dimensions
* Change dos compilation from griffin to common
* Set vga menu size to 320x200
* Add DOS compilation in gitlab-ci.yml
Set USE_CTRULIB_2=1 to build with libctru 2.0. When unset, this code
is compatible with the older toolchain.
Some 2.0 changes addressed rare problems in earlier versions:
- Save / restore stack pointer for init / exit
Otherwise, it could be outside of the range we deallocate.
- Run aptMainLoop in the audio driver to react correctly to sleep events
Other changes for 2.0:
- Remove ninjhax1 -- requires outdated APIs that have been removed
- Switch from __sync_arbiter to syncArbitrateAddress
- Use implicit gxCmdBuf
- Use gpuPresentBuffer for double buffering
The ifdef in cpu_features_get_time_usec was more portable
than the one in cpu_features_get_perf_counter.
Make them the same to avoid 'undefined reference to __mftb'
on FreeBSD/powerpc64.