P96 used to be called "Picasso96", but since the family of Pablo Picasso does not like this name, we refer to it as "P96" for now and all times. P96 is an RTG software package for the Amiga. It is commercial software, protected by copyright laws. You can purchase a license in our shop. Re-distribution of the new package is not allowed.
The shareware status of P96 V2.0 remains active: Re-distribution of this archive remains legal, as long as no money is charged and no claim about registration is made. The only source for a legal registration of the P96 software package is iComp's web site. This specifically includes the old V2.0 version, which is also the property of iComp GmbH.
A pre-existing license betwen the P96 authors Tobias Abt & Alexander Kneer and Hyperion has been turned into a co-ownership of P96: Hyperion owns and maintains the PPC port of it, which is part of AmigaOS4 and successors. This means that P96 in Hyperion's PPC-based OS does not need separate licensing.
Update to V2.3
- Bug in BltMaskBitMapRastPort() fixed: The modulo-value of the mask was calculated wrong.
Updates in V2.2
- The fastlayers.library is obsolete. The distribution no longer includes it, and the rtg.library no longer uses it. A v45 version of layers is available in the aminet which provides similar functions, though not on the basis of a patch. Otherwise, P96 works also on top of the V40 layers.library.
- rtg.library: Apparently, some line drawing modes were a bit off, especially in combination with the firstDot flag. This may still require some testing, though.
- rtg.library: Blitting small bitmaps in 16-bit hi-color mode could have trashed memory.
- rtg.library: Some min-terms for 15 and 16-bit hi-color when blitting chunky to hi-color modes trashed registers and hence caused rendering defects.
- rtg.library: Allocating bitmaps for screens that are not yet visible, but about to become visible caused trashed screen content as soon as the screen was moved to front. This was because the bitmap already got board memory at its allocation time, which was however, overwritten by the backfill memory on a screen flip, causing random nonsense from non-initialized memory on the screen.
- rtg.library: Not yet visible true- or high-color bitmaps that are about to become visible but are not yet visible get the background colour from WB screen, even though they may not be even part of the WB.
- Fixed testing of occluded layers for PIP functions, adapted to the new V45 layers interface.
- test for native bitmaps: the rtg.library now uses consistently TypeOfMem() to test whether a bitmap can be accessed by the native chipset or requires CPU emulation.
- Added a new internal hook, EnableSoftSprite(boardinfo,formatflags,modeinfo) which allows a more flexible switching of softsprites than the simple SoftSpriteFlags available before. Especially the Cirrus GD534 has strange rules when the hardware cursor is available and when not.
- Some combinations of mask and line mode did not honor the FRST_DOT flag of the graphics rastport correctly. Fixed.
- JAM2 in HICOLOR mode rendered incorrect results when drawing lines.
- Some blit combinations with patterns did not honor the minterm combinations correctly, especially combinations of JAM1/JAM2 and INVERSVID were problematic.
- Cirrus GD5434 (PiccoloSD64 and others):
- double line mode was broken (there is probably still a similar bug in the GD542x)
- softsprite enabling is now more flexible
- avoids color artifacts at the right border in true-color autoscroll modes
- Due to a forgotten flag in the driver initialization, the pointer hot-spot was off if the BIGSPRITE option was used and the mode used line doubling.
- Cirrus GD542x (GVP Spectrum and Picasso II):
- removed artifacts on true-color screens with autoscroll enabled.
- there is potentially still a bug in the double-line scan modes.
- Develoment files both for application developers and card developers are now available. While the previous development files were based on the GD432x chip and the PicassoII board, both chip and card do not demonstrate the full feature set of P96 ideally. Instead, the GD5434 and PiccolloSD64 chip and card are now included. The GD5434 supports double-line scan modes, and requires a complicated-mode dependent soft-sprite switching that is only supported by the latest version of the rtg.library.
- Previous versions of P96Mode and the emulation.library required a private link library, namely the xls.lib. As this library is no longer available, the missing functions have been re-implemented.
- The P96 monitor driver became a lot shorter now.
- The install tool FindCVPPC caused hits on some systems. The tool was rewritten to avoid them now.
- Note that you can bypass the Amiga blitter now and use the CPU for blitting, thus allowing bitmaps in FAST MEM. This requires setting the following variable:
to contain the value "Yes" for this operation.
Update in January 2019 (V2.3)
- RTG library updated: Fixed non-working modes for Permedia2 chip, which had a problem with screenmodes using different byte-orders. This was not directly related to the Permedia2 chip, but a more generic error in RTG library, so if you have read about Bug#466 in the OS3 bug tracker in conjunction with BVisionPPC, this is the fix that came out of it.
Update in April 2019
- Improved compatibility with SDL. This is putting emphasis on "improved" but not "fixed", as SDL has an inherent problem that P96 cannot fix. SDL-driven programs may crash on a screen-change. When a screen-change is happening, then SDL is pulling a pointer to the bit map, but it does not lock it everytime it does that. The bad thing is that P96 may or may not have moved the bitmap in the mean time, which is documented behaviour. The good news is the "black screens" with NetSurf are mostly eliminated with this update.
Update July 2019 (V2.4.2)
- Cirrusgd542x driver updated, which was used for the P-II, GVP-Spektrum and others. Screens with more than 512 lines are now working properly, and automatic switching to software-cursor is now aware of special behaviour of the chip.
- fixed a test-case for the P-IV flicker fixer that initially only showed in emulation, but is now confirmed to fix the real deal as well.
Software Developer archive
The following archive explains how to adapt programs to use the P96 software (updated june-2019): Media:Develop.lha
Hardware manufacturer archive
The following archive shows how to make a driver for P96 using the full scope of the software, including hardware acceleration: Media:CardDevelop.lha
P96 is a very complex software package. Finding our way around it would not be possible without the help of Thomas Richter AKA Thor, who did the bulk of the work. Also, special consideration should be given to the beta tester team of OS3.1.4. Writing proper bug reports is hard work. Thanks for giving this the same love that you have for this wonderful platform: Marcus Gerards, Mikhail Malyshev, Thomas Klein, Ignacio Gully, Tobias "MastaTabs" Seiler and Christian "Scrat" Euler.
Operation under UAE
The UAE driver has been removed from the package for unclear copyright reasons and for obsolescence. The only thing required is an icon and a generic loader, which is identical for all P96 drivers. Just go to devs:monitors/ and rename some other P96 driver (and icon) to "uaegfx" and "uaegfx.info" - only the name matters, but the loader is identical for all P96 drivers. Further, the only really important content of the icon/info file is that a tooltype "BOARDTYPE=uaegfx" is set.
The file "libs:picasso96/uaegfx.chip is not needed any more - this is the one that's under the problematic license. WinUAE has P96 support built-in since a few years, and that even has hardware-sprite support for the mouse pointer, which was not the case for the old drivers (yes, there were two versions with different bugs, one even without hardware blit functions).
If you really want to run an old version of UAE, you will find the required driver in the historic P96 shareware archive on Aminet.