aboutsummaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md105
1 files changed, 92 insertions, 13 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index c2e6d1c..f7f4f93 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -19,37 +19,117 @@ to ensure the changelog can be parsed correctly.
-------------------------------------------------------------------------------
-## 2022-03-30:
+## 2022-09-22
+
+spicyjpeg:
+
+- libpsn00b: Changed the extension of `gtereg.h`, `hwregs_a.h` and `inline_s.h`
+ to `.inc`. Cleaned up old leftover PSXSDK headers.
+
+- Updated documentation and added detailed instructions on how to install
+ prebuilt releases.
+
+## 2022-08-21: 0.20
+
+spicyjpeg:
+
+- psxgpu: Added `VSyncHaltFunction()`.
+
+- psxetc: Rewritten the library in C, making `RestartCallback()` behave more
+ like its official SDK counterpart. Added `StopCallback()` and
+ `ResetCallback()`.
+
+- psxspu: `SpuInit()` now properly resets the starting address of all channels,
+ preventing them from accidentally triggering the SPU IRQ.
+
+- examples: Added an example audio file to `sound/spustream` and a texture to
+ `graphics/gte`. Replaced `ball16c.h` in all examples that included it with a
+ binary .TIM file embedded through CMake.
+
+## 2022-07-31
+
+spicyjpeg:
+
+- libc: Replaced default memory allocator with Nicolas Noble's PSYQo
+ implementation. Added `sbrk()` and `realloc()`.
+
+- psxspu: Rewritten the library in C, removing a few redundant non-standard
+ functions and improving SPU DMA reliability. Renamed `SpuWait()` to
+ `SpuIsTransferCompleted()` (and tweaked its prototype) for compatibility with
+ the official SDK. `SpuInit()` now loads a dummy block at the beginning of SPU
+ RAM by default.
+
+- psxmdec: Added experimental Huffman decoding API. Two implementations with
+ different performance and memory usage tradeoffs are available.
+
+- psxapi: Added `SwEnterCriticalSection()`, `SwExitCriticalSection()`,
+ `SetConf()` and various thread- and event-related BIOS API wrappers that were
+ previously missing.
+
+- Deprecated `u_short`, `u_int` and `u_long` types and replaced them with
+ standard library fixed-size types (`uint16_t` and `uint32_t` respectively) in
+ all library code.
+
+- Ninja is now bundled with binary releases of the SDK. A `BUNDLE_NINJA` option
+ was added to the main CMake script to toggle bundling when building packages.
+
+## 2022-06-26
+
+spicyjpeg:
+
+- psxgpu: Rewritten the entire library in C, fixing a few bugs (including one
+ that made 384x240 and 384x256 modes unusable) and adding a drawing queue in
+ the process. `DrawOTag()` can now be called while another OT is being drawn
+ to enqueue up to 8 other OTs.
+
+- psxgpu: Added missing `setXYWH()` macro and implemented `ClearOTag()`,
+ `DrawOTag2()`, `DrawOTagEnv()` and `GsGetTimInfo()`.
+
+- libpsn00b: Renamed `_start()` to `_start_inner()` and added a `_start()` stub
+ that can be overridden to insert custom startup code. Modified the linker
+ scripts to assume RAM is 8 MB by default, to make it easier to target arcade
+ or development hardware.
+
+- examples: Fixed some functions in `io/system573`.
+
+- tools: `elf2x` now warns if the converted executable crosses the 2 MB RAM
+ boundary.
+
+- Debugging symbols in ELF files are now generated by default for all target
+ types. This does not affect the size of built executables or DLLs, as those
+ are always stripped.
+
+## 2022-03-30
lameguy64:
-- indev: psxmdec prototype is now functional through psxpress.
+- indev: psxmdec prototype is now functional through `psxpress`.
## 2022-03-25: 0.19
lameguy64:
-- examples: Replaced sample image of mdec/mdecimage with different artwork.
- Original image: http://lameguy64.net/?page=drawings&post_id=9
+- examples: Replaced sample image of `mdec/mdecimage` with different artwork.
+ Original image [here](http://lameguy64.net/?page=drawings&post_id=9).
- examples: Updated readme file in examples directory to reference the new
- mdecimage example program.
+ `mdec/mdecimage` example program.
- psxsio: Added dummy hooks to unsupported device functions for tty device.
-- docs: Minor corrections on dev_notes.md.
+- docs: Minor corrections on `dev_notes.md`.
-- docs: Updated documentation for CdGetSector() and CdReadCallback()
- functions in libn00bref.odt.
+- docs: Updated documentation for `CdGetSector()` and `CdReadCallback()`
+ functions in `libn00bref.odt`.
-## 2022-02-27:
+## 2022-02-27
spicyjpeg:
- libpsn00b: Added `hwregs_c.h` header and renamed some registers in
`hwregs_a.h`. Added `assert()` as a proper macro.
-- libpsn00b: Added new MDEC library; psxpress.
+- libpsn00b: Added new MDEC library; `psxpress`.
- psxspu: Fixed critical bug in `SpuSetReverb()`.
@@ -82,9 +162,8 @@ spicyjpeg:
Lameguy64:
-- docs: Removed old and incomplete `libn00bref.odt` document (a percussor of
- the LibPSn00b Library Reference document) as it got included into a commit by
- accident at some point.
+- docs: Removed old and incomplete `libn00bref.odt` document (a precursor of
+ the LibPSn00b Library Reference document).
- examples: Improved description of `hdtv` example. Examples directory is now
copied into `share/psn00bsdk` directory for both installation and package