From 8deeb216cbff4e578284fc040d8f0b51e96d4b04 Mon Sep 17 00:00:00 2001 From: spicyjpeg <88942473+spicyjpeg@users.noreply.github.com> Date: Wed, 29 Jun 2022 13:09:57 +0200 Subject: Add -g to default flags, update changelog and known bugs --- doc/known_bugs.md | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'doc') diff --git a/doc/known_bugs.md b/doc/known_bugs.md index e39da43..9e83f03 100644 --- a/doc/known_bugs.md +++ b/doc/known_bugs.md @@ -1,8 +1,9 @@ # Known PSn00bSDK bugs -This is an incomplete list of things that are currently broken (or not behaving -as they should, or untested on real hardware) and haven't yet been fixed. +This is an incomplete list of things that are known to be currently broken (or +not behaving as they should, or untested on real hardware) and haven't yet been +fixed. ## Toolchain @@ -15,18 +16,28 @@ as they should, or untested on real hardware) and haven't yet been fixed. them. It might be necessary to list such symbols in a dummy array to prevent the compiler from stripping them away from the executable. +- Link-time optimization is broken due to GCC not supporting it when linking + weak functions written in assembly. + ## Libraries `psxgpu`: -- In some *very rare* cases, `VSync()` seems to crash the system by performing - unaligned accesses for unknown reasons. +- `LoadImage()` and `StoreImage()` use DMA to transfer data to/from the GPU. + As the DMA channel is configured to transfer 8 words (32 bytes) at a time, + the length of the data *must* be a multiple of 32 bytes. Attempting to + transfer any data whose length isn't a multiple of 32 bytes will result in + `DrawSync()` hanging and never returning, however a warning will be printed + on the debug console. `psxspu`: +- `SpuCtrlSync()` locks up on MAME, making any code that tries to initialize + the SPU hang. It works on other emulators as well as on real hardware. + - Calls to `SpuSetTransferMode()` are ignored. SPU transfers are always performed using DMA, which imposes limitations such as the data length having - to be a multiple of 64 bytes. + to be a multiple of 16 words (64 bytes, see above). `psxetc`: @@ -40,4 +51,4 @@ as they should, or untested on real hardware) and haven't yet been fixed. See [README.md in the examples directory](../examples/README.md#examples-summary). ----------------------------------------- -_Last updated on 2022-02-03 by spicyjpeg_ +_Last updated on 2022-06-29 by spicyjpeg_ -- cgit v1.2.3