183 Commits
Author SHA1 Message Date
Thomas Harte bbc5c7ee14 Use <bit> for endianness decisions. 2026-10-16 21:50:17 -04:00
Thomas Harte 6d95aa37e1 Adapt SDL. 2026-10-07 13:58:13 -04:00
MarkandClaude Opus 5.5 f5221e7ac0 SDL: use an OpenGL 3.2 core context on macOS
On current macOS (27, Homebrew's sdl2-compat over SDL3) the SDL build
aborted at startup with an uncaught Outputs::Display::OpenGL::Shader
exception: the OpenGL ES 3.0 context request succeeds, so the 3.2 core
fallback is never tried, and the "#version 300 es" shaders then fail to
compile.

Skip the ES attempt on __APPLE__ and add the forward-compatible flag
macOS needs for a 3.2 core context. Other platforms are unchanged.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-27 10:01:11 -04:00
Thomas Harte c22bd48590 Add SDL shortcut. 2026-05-26 13:40:20 -04:00
Thomas Harte 3855d6c84e Fix SDL pasting. 2026-04-14 21:42:58 -04:00
Thomas Harte 4ec043a4c7 Wire though unicode character lookup. 2026-04-14 18:17:29 -04:00
Thomas Harte 30b10f8593 Reduce usages of reinterpret_cast.
(And do some drive-by `const`ing)
2026-02-28 11:30:15 -05:00
Thomas Harte a1eefd9dfa Use ROM library from Qt and SDL. 2026-02-17 10:41:26 -05:00
Thomas Harte 1ca94e80c7 Support luminance formats as RGB. 2026-02-06 18:09:30 -05:00
Thomas Harte 61474bc70b Reorganise. 2026-02-02 14:05:19 -05:00
Thomas Harte 37bd8b2ccd Allow for the possibility that SDL made a window but couldn't make a context. 2026-01-05 16:35:33 -05:00
Thomas Harte 393dffbffb Avoid extra, mutable, state. 2026-01-05 16:31:56 -05:00
Thomas Harte 33f443947e Correct comment. 2026-01-05 16:29:02 -05:00
Thomas Harte 100d7e7495 SDL: try for, and prefer, OpenGL ES. 2026-01-05 16:27:33 -05:00
Thomas Harte 0d8fa93a05 Propagate an OpenGL API version, use it to wrap shader programs. 2025-12-16 22:23:48 -05:00
Thomas Harte 1c0b209e8c Further reduce reliance upon memcpy. 2025-12-15 17:19:00 -05:00
Thomas Harte 6ac6157d06 Eliminate memset from C++ files. 2025-12-06 10:55:32 -06:00
Thomas Harte e20aac5588 Further reformat. 2025-12-01 17:10:22 -05:00
Thomas Harte d1bab5b589 Improve formatting. 2025-12-01 16:56:58 -05:00
Thomas Harte c4afbf8f2e Recast middle button as tertiary. 2025-11-02 23:12:38 -05:00
Thomas Harte 112aff9887 SDL: change mouse button indices. 2025-11-02 23:12:38 -05:00
Thomas Harte 5e48a4c724 Fix SDL speaker sample receipt. 2025-08-30 00:10:17 -04:00
Thomas Harte 5018d7d577 Be more rigorous about static constexpr. 2025-08-26 22:54:39 -04:00
Thomas Harte 03eb381b3b Adopt std::ranges::copy where it is trivial to do so. 2025-04-25 22:17:07 -04:00
Thomas Harte 0823fc32fe Eliminate file-relative paths. 2025-02-28 12:30:25 -05:00
Thomas Harte d3ed485e7a Take another big swing at indentation, some consts. 2024-12-01 21:44:14 -05:00
Thomas Harte d35165bd8e Correct parameter usage. 2024-10-15 21:54:04 -04:00
Thomas Harte f3e18da416 Use custom type for deleter. 2024-10-15 21:49:42 -04:00
Thomas Harte eb9e5fb727 Eliminate various unnecessary uses of std::make_pair. 2024-05-29 21:46:33 -04:00
Thomas Harte bc5727af14 Switch to = default. 2024-02-16 21:50:15 -05:00
Thomas Harte f14e45f93e Remove various instances of ';;'. 2024-02-12 14:23:54 -05:00
Thomas Harte 051cdc63b8 Fix SDL build. 2023-12-29 14:54:47 -05:00
Thomas Harte 21e6f4d823 Update SDL intermediate struct. 2023-12-28 15:12:06 -05:00
Thomas Harte 2baae216ea This TODO is also already dispatched. 2023-12-28 15:09:45 -05:00
Thomas Harte 9344f6a824 Indicate whether a keypress is a repeat. Treat appropriately in the Apple II. 2023-12-28 15:05:55 -05:00
Ryan Carsten Schmidt dc657bdd51 Use the right include path for SDL.h
Fixes "main.cpp:22:10: fatal error: 'SDL2/SDL.h' file not found" when
SDL2 is not in a standard system include directory.
2023-12-15 01:27:28 -06:00
Thomas Harte 8578dfbf22 Eliminate various other errant spaces. 2023-05-16 16:40:09 -04:00
Thomas Harte 59da143e6a Add overt flushes to the SDL target. 2022-07-12 10:57:22 -04:00
Thomas Harte 61f25926b5 Eliminate usages of unistd.h. 2022-03-25 16:58:06 -04:00
Thomas Harte 52ea3b741c Introduces a presentation flag for LEDs.
All existing receivers ignore it.
2021-07-15 21:26:02 -04:00
Thomas Harte 26b019a4d4 Removes assumption that all machines produce audio. 2021-06-14 21:02:55 -04:00
Thomas Harte d18a537509 Fiddles with the preprocessor to make kiosk mode match other OSes even on macOS. 2021-06-13 19:28:05 -04:00
Thomas Harte dd64aef910 Improves request construction and improves descriptions. 2021-06-06 20:25:26 -04:00
Thomas Harte 95971f39f1 Reintroduces full messaging to macOS. 2021-06-06 20:02:13 -04:00
Thomas Harte 83beb3c0e6 Introduces slightly-less manual ROM::Request::visit. 2021-06-06 18:28:02 -04:00
Thomas Harte 76335e5cf2 Factors out and slightly generalises textual descriptions of ROM::Descriptions. 2021-06-06 18:15:00 -04:00
Thomas Harte b0f551c307 Ensures only _missing_ ROMs are reported. 2021-06-05 21:09:35 -04:00
Thomas Harte fbee74e1fe Avoids storing or printing a CRC if none is known. 2021-06-04 22:03:08 -04:00
Thomas Harte ccd82591aa Reinstates SDL error message; adds expansion of ~. 2021-06-04 21:53:56 -04:00
Thomas Harte 0aa8c3c40d For SDL at least, advances to failed linking.
... and with error reporting currently AWOL.
2021-06-03 22:22:56 -04:00