Commit Graph

32 Commits

Author SHA1 Message Date
Iliyas Jorio 80349be4c0 GetPtrSize; Heap stats 2023-01-21 14:16:12 +01:00
Iliyas Jorio 704fd04f94 Coexist with bonafide Carbon on PPC targets 2022-09-03 01:19:47 +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 010d57bf8d ExitToShell: noreturn 2022-03-20 09:03:59 +01:00
Iliyas Jorio d8e7457b95 Drop -Wno-unused-parameter 2022-02-20 17:48:56 +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 6f5592fbc3 Pointer tracking 2021-07-30 00:08:12 +02:00
Iliyas Jorio 77fda7913d Load AIFF-C files as sound resources 2021-07-25 17:38:05 +02:00
Iliyas Jorio 664c738817 Remove resource dumping functionality - will be moved to a separate tool 2021-07-18 13:24:13 +02:00
Iliyas Jorio 644ade79c3 Implement Count1Types, Get1IndType, Get1IndResource, GetResInfo, DetachResource 2021-07-18 13:16:43 +02:00
Iliyas Jorio cf21b9a7a8 Fix GCC/clang unused parameter warnings on memory no-ops 2021-04-23 07:57:12 +02:00
Iliyas Jorio 2f57b5245e New file routines: GetVol, FSOpen, OpenResFile, ChangedResource 2021-02-28 23:43:33 +01:00
Iliyas Jorio 3228cf2818 Palette management stubs 2021-02-22 20:19:57 +01:00
Iliyas Jorio 2a4ec3b76c Implement PtrToHand 2021-02-22 01:25:12 +01:00
Iliyas Jorio 31f906a66b Implement NewHandleSys, NewHandleSysClear 2021-02-22 01:16:40 +01:00
Iliyas Jorio 8fb5ed8e1b Fix SetFPos signature 2021-02-22 01:10:53 +01:00
Iliyas Jorio 766d4ddc1b Implement ShowCursor 2021-02-22 01:10:53 +01:00
Iliyas Jorio 61bd404ae2 Include stddef.h for NULL 2021-02-22 01:10:53 +01:00
Iliyas Jorio cccf458a5f Implement StripAddress; inline other no-op mem calls 2021-02-22 01:10:53 +01:00
Iliyas Jorio ad669a3fd4 Add GetPictureFromFile (extension) 2021-02-18 21:15:18 +01:00
Iliyas Jorio 774b9fe1b4 Implement GetIndStringC 2021-01-10 10:14:57 +01:00
Iliyas Jorio aa853a747f NumToStringC returns string byte length 2021-01-03 17:26:26 +01:00
Iliyas Jorio 95fdba76bf Dump resources to files for debugging 2020-12-26 17:02:46 +01:00
Iliyas Jorio b7ee239eb2 Implement NewPtrClear 2020-12-20 12:03:04 +01:00
Iliyas Jorio e8939dbc8a Implement GetFPos; SetFPos placeholder 2020-12-15 23:27:12 +01:00
Iliyas Jorio 61d2c01102 Rename Pomme_PauseLoopingChannels to Pomme_PauseAllChannels 2020-11-25 08:16:58 +01:00
Iliyas Jorio 12253ce6c5 Implement GetPortBitMapForCopyBits 2020-11-21 20:56:41 +01:00
Iliyas Jorio 85d521b196 New placeholders: OffsetRect, PenNormal, PenSize, FrameArc, GetMouse, SndDoCommand 2020-11-16 07:08:13 +01:00
Iliyas Jorio f7b14f7dfe Implement GetPortBounds 2020-11-14 19:01:41 +01:00
Iliyas Jorio cf2ca92506 Implement GetWindowPort 2020-11-14 17:07:17 +01:00
Iliyas Jorio 5fc6598b47 Import source from Nanosaur port 2020-11-13 22:45:44 +01:00