aboutsummaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
authorJohn Wilbert M. Villamor <lameguy64@gmail.com>2020-09-19 20:43:05 +0800
committerJohn Wilbert M. Villamor <lameguy64@gmail.com>2020-09-19 20:43:05 +0800
commit9f4891f95070c66ea9f1aba99d72724d4ab24e5a (patch)
tree723e3ef2118a3d1a9e6dafa811ed1b8b1bc9196e /README.md
parent6762c39551ded059450d17d8bb0cb80642c8aaab (diff)
downloadpsn00bsdk-9f4891f95070c66ea9f1aba99d72724d4ab24e5a.tar.gz
Revised makefiles, added strtok(), command line arguments, SetHeapSize(), moved ISR and callback system to psxetc, moved debug font to psxgpu, fixed CD-ROM library crashing on PSIO, fixed interrupt callback setup to fix crashing on ResetGraph()
Diffstat (limited to 'README.md')
-rw-r--r--README.md45
1 files changed, 32 insertions, 13 deletions
diff --git a/README.md b/README.md
index 1ab8df5..ea85820 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ performance reasons.
## Notable features
-As of LibPSn00b run-time library v0.15b
+As of September 19, 2020
* Extensive GPU support with polygon primitives, high-speed DMA VRAM
transfers and DMA ordering table processing. All video modes for both NTSC
@@ -48,7 +48,7 @@ As of LibPSn00b run-time library v0.15b
programs.
* Complete Serial I/O support with SIOCONS driver for tty console access
- through serial interface.
+ through serial interface. Handshake and flow control also supported.
* BIOS controller functions for polling controller input work as intended
thanks to proper interrupt handling. No crude manual polling of controllers
@@ -57,8 +57,8 @@ As of LibPSn00b run-time library v0.15b
* Full CD-ROM support with data reading, CD audio and XA audio playback.
Features built-in ISO9660 file system parser for locating files and
supports directories containing more than 30 files (classic ISO9660 only,
- no Rock Ridge or Joliet extensions support). Data streaming should also be
- possible.
+ no Rock Ridge or Joliet extensions support). Also supports multi-session
+ discs.
* Uses Sony SDK library syntax for familiarity to experienced programmers
and to make porting existing homebrew projects to PSn00bSDK easier.
@@ -86,6 +86,21 @@ under Windows than on Linux and BSDs.
## Building the SDK
+You may set one of the following variables either with set/export or on the
+make command line to specify various parameters in building PSn00bSDK and
+projects made with it.
+
+* ``GCC_VERSION`` specifies the GCC version number. This is only really
+ required for building the libc library. If not defined, the default value
+ of `7.4.0` is used.
+* ``PSN00BSDK_TC`` specifies the base directory of the GCC toolchain to
+ build PSn00bSDK with, otherwise the makefile assumes you have the
+ toolchain binaries in one of your PATH directories.
+* ``PSN00BSDK_LIBS`` specifies the target directory you wish to install
+ the compiled libpsn00b libraries to. If not specified, compiled
+ libraries are consolidated to the libpsn00b directory.
+
+
### Windows:
1. Download the following:
* MSys2 (32-bit or 64-bit version whichever you prefer)
@@ -127,20 +142,20 @@ programs with PSn00bSDK within the Command Prompt.
### Linux and Unix-likes:
1. Install gcc, make, texinfo, git and development packages of mpfr, mpc,
- gmp, isl and tinyxml2 libraries.
+ gmp, isl and tinyxml2 libraries for your distro.
2. Build and install the GNU GCC toolchain targeting mipsel-unknown-elf
- (see toolchain.txt for details). Update your PATH environment variable to
- include the bin directory of the toolchain and make sure they can be
- accessed from any directory.
+ (see toolchain.txt for details). Export a variable named `PSN00BSDK_TC`
+ containing a path to the installed toolchain's base directory. Also
+ export a `GCC_VERSION` variable if you're using a version of GCC other
+ than 7.4.0.
3. Clone from PSn00bSDK source with
`git clone https://github.com/lameguy64/psn00bsdk`
4. Enter tools directory and run `make`, then `make install` to consolidate
the tools to a bin directory. Add this directory to your PATH variable and
- make sure `elf2x` is accessible from any directory.
-5. Enter the libpsn00b directory and run `make`. You may need to edit the
- `common.mk` file to correspond with the GCC version you're using.
+ make sure `elf2x` and `lzpack` (required for n00bDEMO) is accessible from
+ any directory.
+5. Enter the libpsn00b directory and run `make`.
6. Compile the example programs to test if the SDK is set up correctly.
- Update directory paths in `sdk-common.mk` when necessary.
## Examples
@@ -177,6 +192,10 @@ If modifications to the SDK were made as part of the development of such
projects that enhance its functionality, such changes must be contributed
back in return.
+Homebrew made with PSn00bSDK may not be released under 'annoyingmous'. Although
+there's nothing that would enforce it, this term may as well be ignored despite
+it annoying this SDK's author.
+
## Credits
@@ -184,7 +203,7 @@ Main developer:
* Lameguy64
Honorable mentions:
-* ijacquez (for the helpful suggestions on getting C++ working)
+* ijacquez (for the helpful suggestions for getting C++ working)
Helpful contributors can be found in the changelog.