-
Notifications
You must be signed in to change notification settings - Fork 13
/
Changelog
44 lines (42 loc) · 3.45 KB
/
Changelog
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
0.5
------------
This is list is still incomplete as 0.5 is still being worked on.
- Added several math constants (such as M_PI) to math.h
- Added GsSetDispEnvSimple() and GsSetDrawEnvSimple() prototypes to psxgpu.h. The functions already existed in 0.1 but they were not prototyped and a warning was given by the compiler when they were used in a program.
- Added sys/types.h
- [SERIOUS] Fixed GsSpriteFromImage() - the v value when the pixel mode was 4-bit or 8-bit was incorrect
- Added GetSystemRomVersion() function
- [SERIOUS] As many functions provided by the BIOS which handled memory did not work correctly or at all,
memcmp(), memcpy(), memmove(), memcmp(), memchr(), bzero(), bcopy() and bcmp() have been implemented in
PSXSDK's libc. This fixes a lot of problems.
- Fixed GsPrintFont(), the x position was incremented before drawing a character.
Now it is incremented after drawing a character.
- Now the joysticks/joypads are read using low-level routines instead of using BIOS routines.
This is more versatile and allows the implementation of things such as vibration.
On the other hand, this can cause conflicts with the BIOS' memory card handling routines.
If you don't do directly file manipulation calls on the memory card there should be no problem, however,
as the PSXSDK functions to read/write the memory card take care of that already.
The functions added are: QueryPAD(), pad_read_raw(), pad_escape_mode().
- Implemented vibration for DualShock-compatible controllers.
The functions added are: pad_enable_vibration(), pad_set_vibration()
- The PSXSnake example now vibrates your joystick when you die.
- Fixed calculate_real_padding_hex() in libc.c. This should fix padding with hexadecimal
numbers in vsnprintf based functions (sprintf() / GsPrintFont() / etc.).
- SetVBlankHandler() and SetRCntHandler() now change handler if they're called after an handler
has already been set. In 0.1, they did not change handler and kept the old handler.
- bmp2tim now also supports setting magic pink as transparent (like Allegro).
- scalex and scaley in the GsSprite structure now act like PsyQ or Blade Libs when they are
higher than eight. When they are lower than eight they act like in 0.1.
- Added scaling, wrapping, and justifying support to GsPrintFont()
Attributes can be set by using GsSetFontAttrib()
- In 0.1 bmp2tim crashed if it didn't find or couldn't read the source bitmap, this is fixed now.
- Fixed endianness issue for wav2vag on big endian machines.
- Added GsScreenW and GsScreenH global variables which report the size of the screen
in the current video mode so you don't have to keep track of that yourself
- Added is_load_delay_ok(). This checks if the load delay slot behaves as it does on real hardware.
Many emulators do not emulate the load delay slot and show inaccurate behavior.
You really need to know this only if you are doing interesting things with opcodes yourself, otherwise the compiler and the assembler will take care of this for you.
- After returning from main() the empty endless loop wasn't running. This is now fixed.
- Added %f format to vsnprintf(). This adds floating point support to all functions using the *sprintf() family of functions, including GsPrintFont
- Added '@' conversion to vsscanf and vsprintf(). It is a base-2 (binary) conversion and it is a psxsdk specific extension.
- Added support for 64-bit integers in vsnprintf() for binary, decimal, octal and hexadecimal formats.