Commit Graph

154 Commits

Author SHA1 Message Date
Iliyas Jorio 1acfd09704 OSXPPC compatibility maintenance 2024-04-06 13:32:26 +02:00
Iliyas Jorio ef94150e2d QD3D: Support 32-bit triangle point indices 2023-10-19 19:21:59 +02:00
Iliyas Jorio 1881d3aa29 README: Mention Bugdom 2 2023-10-08 23:51:52 +02:00
Iliyas Jorio c6a38eab19 Update ghc::filesystem to v1.5.14 2023-09-28 22:11:18 +02:00
Iliyas Jorio 9af72c9717 Optional case-sensitive FSSpec 2023-09-28 20:51:05 +02:00
Iliyas Jorio d9d1f906c5 User-configurable POMME_DEBUG_ constants 2023-09-28 20:51:05 +02:00
Iliyas Jorio b8d624facd Use u8string for all filesystem paths 2023-09-28 20:51:05 +02:00
Iliyas Jorio 9fae17d771 Use stdint.h types for basic integer typedefs (#8) 2023-07-26 07:36:46 +02:00
Patrick d57c28e205
Fix build failure from lack of <cstdint> headers
Signed-off-by: Patrick <cowinkkeydinkinc@gmail.com>
2023-05-16 17:27:17 -06:00
Iliyas Jorio fd1cd2cf81 DrawChar: Advance pen position even if offscreen 2023-02-01 19:56:13 +01:00
Iliyas Jorio d83a70ea70 cmixer::SourceMixGuard 2023-02-01 19:50:28 +01:00
Iliyas Jorio 8152ef04c9 CoexistWithCarbon.h: Add GetPtrSize 2023-02-01 19:45:08 +01:00
Iliyas Jorio ad9cc177d2 QD3D: RGBA32 edge padding extension 2023-01-21 14:22:14 +01:00
Iliyas Jorio 80349be4c0 GetPtrSize; Heap stats 2023-01-21 14:16:12 +01:00
Iliyas Jorio dae4b61b5b Remove sources from the mixer before deleting them 2023-01-21 13:22:39 +01:00
Iliyas Jorio 53cbdb54c4 README: Mention Nanosaur 2 2022-12-06 00:25:35 +01:00
Iliyas Jorio 6e4ea042ba Fix mp3 playback on big-endian targets 2022-11-22 22:03:24 +01:00
Iliyas Jorio 084842445d Fix long-to-int warnings 2022-11-22 22:03:24 +01:00
Iliyas Jorio 15d3606631 Support snd resources with non-0 sustain loop start frame 2022-09-25 19:06:52 +02:00
Iliyas Jorio 38d2be66b6 MP3: Fix incomplete playback at end of stream 2022-09-24 00:38:48 +02:00
Iliyas Jorio 543b50c1eb Graphics big-endian compatibility 2022-09-19 22:08:42 +02:00
Iliyas Jorio e567db5327 QD3D/Graphics big-endian compatibility 2022-09-05 18:44:59 +02:00
Iliyas Jorio a1e1b62681 Sound mixer big-endian compatibility 2022-09-05 18:44:59 +02:00
Iliyas Jorio 191500dec1 Adapt structpack to big-endian targets 2022-09-05 18:44:59 +02:00
Iliyas Jorio 98142aa132 Structpack: require endianness indicator in format string 2022-09-03 01:19:53 +02:00
Iliyas Jorio 1ac775071b Init cmixer with AUDIO_S16SYS 2022-09-03 01:19:52 +02:00
Iliyas Jorio bf2469b659 Dispose sound channels before shutting down cmixer 2022-09-03 01:19:50 +02:00
Iliyas Jorio 2c22e02554 Tiger compilefix 2022-09-03 01:19:49 +02:00
Iliyas Jorio 704fd04f94 Coexist with bonafide Carbon on PPC targets 2022-09-03 01:19:47 +02:00
Iliyas Jorio 7f16782991 Use __BIG_ENDIAN__ macro 2022-09-02 19:23:28 +02:00
Iliyas Jorio 501ac5dfeb README: Mention Billy Frontier 2022-09-02 19:57:47 +02:00
Iliyas Jorio 3fdd6f80f8 Fix MP3 support for older compilers 2022-08-03 00:54:29 +02:00
Iliyas Jorio 5d3fcb6ec6 MP3 playback support 2022-07-22 08:33:17 +02:00
Iliyas Jorio 2acbe6cc86 README.md: Mention CMR 2022-06-27 21:05:53 +02:00
Iliyas Jorio 88a3e4625b Max channel gain 2022-06-02 18:59:48 +02:00
Iliyas Jorio caa3414833 SndChannelStatus: paused channels count as busy 2022-05-17 23:01:14 +02:00
Iliyas Jorio fbdc8fcf5e Fix non-standard C function signature 2022-05-17 22:50:58 +02:00
Iliyas Jorio db3b81e97f Sound: Add extension commands to pause/resume audio playback
These commands supersede Pomme_PauseAllChannels().
2022-05-15 16:34:19 +02:00
Iliyas Jorio 70acda5ce4 Sound: Allow sending commands to paused channels 2022-05-15 16:34:19 +02:00
Iliyas Jorio 3f8eeba1a3 Sound mixer: Avoid buffer starvation if attempting to play empty source 2022-05-15 16:34:19 +02:00
Iliyas Jorio 801d7e8d1e Preprocess sound resource: Convert big-endian raw PCM to little-endian 2022-05-15 11:53:52 +02:00
Iliyas Jorio 010d57bf8d ExitToShell: noreturn 2022-03-20 09:03:59 +01:00
Iliyas Jorio 0581b24162 Compile with -Wstrict-aliasing=2 2022-02-27 19:49:23 +01:00
Iliyas Jorio 018ab2d404 In extSH snd resources, interpret 8-bit samples as unsigned 2022-02-23 23:49:07 +01:00
Iliyas Jorio ece6718cbf PICT: Remove redundant opcode check (0x0C00) 2022-02-23 23:21:51 +01:00
Iliyas Jorio 08dd1e61b6 Fix memory leak in SndStartFilePlay 2022-02-23 23:20:47 +01:00
Iliyas Jorio d8e7457b95 Drop -Wno-unused-parameter 2022-02-20 17:48:56 +01:00
Iliyas Jorio 66edb10132 FSpOpen: return ioErr if stream is bad 2022-02-19 20:05:19 +01:00
Jim Huang 86d35caf94 Rewrite __frsqrte with Arm/NEON counterpart
__frsqrte is the intrinsic for floating reciprocal square root estimate.
In Arm64, we can implement it with NEON intrinsics. Since Armv8.2,
instruction "FRSQRTE" [1] is provided to calculate an approximate square
root for each vector element in the source SIMD and FP register.

With -O3, generated assembly on Apple Silicon M1:

[original]
	fsqrt	s0, s0
	fmov	s1, #1.00000000
	fdiv	s0, s1, s0

[neon]
	dup.4s	v0, v0[0]
	frsqrte.4s	v0, v0

[1] https://developer.arm.com/documentation/100076/0100/a64-instruction-set-reference/a64-simd-scalar-instructions/frsqrte--scalar-
2022-01-31 09:59:08 +01:00
Iliyas Jorio 1b0ea49ded PICT: more accurate 5-5-5 to 8-8-8 RGB conversion 2021-11-28 19:52:29 +01:00