P96 3.0: Nuova versione del pacchetto software RTG per Amiga "Picasso96" ora solo "P96". Trattasi ora di un software commerciale, tra le tante novità che trovate in elenco, il trascinamento dello schermo, compreso l a discesa dell'intero schermo con la possibilità di visualizzare un secondo schermo, aggiunti driver per CyberVision con compatibilità API Warp3D
Tutte le novità di P96 3.0:- This is a BIG change. This release provides one new (important) feature, and that is screen dragging. It requires support from the chipset, namely the VGA line compare register, and updated drivers to include the new API.
- Drivers for the Cirrus chips, the S3 chips, the NCR chip and the Tseng chipset have been updated accordingly to provide the new API.
- Note that screen dragging has certain restrictions that all stem from the limitation of the VGA chips and the corresponding boards:
- There must be enough memory to hold at least two screens in the graphics card memory.
- The two screens must share the same pixel layout (i.e. truecolor, hicolor or indexed colors)
- The colors of the topmost screen will not be correct for indexed screens as VGA chipsets do not include a copper, hence only one palette can be loaded at a time.
- Autoscroll screens that allow horizontal panning cannot be dragged. Thisis a limitation of the VGA panning mechanism.
- Planar screens (16 colors planar) can only be dragged if the depth is
identical.
- At most two screen can be displayed at once, with the top most screen being aligned to the top of the monitor.
- Memory management is completely new. In particular, P96 attempts to keep screen on the board if possible. The older code could have erraneously removed special features from the board without deactivating them first.
- Memory management for planar modes was completely broken. It always allocated 4 times as much memory as requested. Instead, it should have limited the memory to the available legacy VGA max memory of 256K.
- Updated the chip API to allow signalling of max planar memory.
- Bitmap allocation and management was cleaned up a lot, going now through a unified allocator, and modularized functions quite a bit.
- In case bitmap allocation failed, a proper error code is now reported back to intuition V47.
- Intuition V47 communicates now colors into P96 which allows proper backfilling of true color and hi-color bitmaps, without peeking into private intuition structures.
- Bitmap on- and offloading had a bug and failed to safe back bitmaps to be off-loaded in some cases. In particular, the bitmap allocation and offload checking could have disagreed, removing a bitmap from the board even if not necessary.
- Memory mode handling was fixed. The old code could have attempted to fill a bitmap with a color with the previous mode still active, causing defects when switching from planar to chunky or reverse.
- Undersized true-color screens are now filled with the background color to reflect what palette modes would do.
- Cursor drawing on undersized bitmaps was fixed. The cursor can now enter the out-of-bitmap areas, except for planar bitmaps. This allows proper scrolling of the upper screen in split-screen arrangements.
- Pixel aspect ratio computation was always assuming a 4:3 screen, eventhough VGA knows other aspects, such as 5:4, or (today) 16:9 and 16:10. This release tries to be smart and guess the right monitor screen ratioto create "nice" pixel aspect ratios.
- Aligned bitmaps are now aligned to MMU page sizes (not necessarily 4K), and waste less memory.
- Flood fill failed on rastports larger than 1024x1024 pixels. It was also optimized a bit.
- Disabling the Amiga blitter unfortunately also disabled native VSprites, even though Bobs remained working. Now VSprites operate indepedent of Bobs.
- Made some minor improvements in BltPattern and Area functionst to use proper rounding. This cuts the code size down a bit.
- Palette update for planar modes was partially broken and could overwrite
some colors.
- If the depth of a planar mode was changed, it could happen that the code forgot to update the sprite colors.
- The Cirrus542x and Cirrus5446 drivers did not enable the double vertical flag correctly. If double scan is set, the critical limit
is already at 512 lines, not 1024 lines. The Cirrus5434 driver did this correctly already.
- The S3Virge and S3Trio chip drivers now support overclocking. To enable this feature, add the OVERCLOCK=yes tooltype to the monitor icon.
Beware! Overclocking may result in artefacts, pixel noise and potentially reduced life time of the graphics chips due to overheating. No warranty, and use at your own risk.
- The pixel clock adjustment functions for the Tseng-chips are now set to no-ops instead of letting the CPU run into a crash when the rtg.lib attempts to use them.
- In case an overly large sprite is requested, the sprite height is now clamped before attempting to load it into the hardware.
- As LoadRGB32() and SetRGB32() are implemented over the VecTable anyhow, both functions do not require patching, thus the superfluous patch was removed. Also, some programs called SetRGB32() or LoadRGB32() incorrectly within an interrupt. The rtg.library includes now precautions to ignore such calls instead of crashing.
- The CyberVision driver forgot to remove the int server again in case no memory was found on the board.
- New chips and card drivers are included in this release. The CVisionPPC and 3DLabsPermedia2 drivers are new in this release.
- DisplayAlert() did not remove the hardware sprite from the display and did not time the alert properly. The alert could be gone so fast that you could not read it.
- CalculcateBytesPerRow() can now return 0, indicating a failure. This may be used to indicate that a bitmap is too wide for a particular chip. For example, the Cirrus chips cannot take bitmaps wider than
4096 bytes (not pixels!)
- The computation of the P96 video mode pixel sizes is now a lot smarter and not only uses the width and height of the video mode, but tries to guess the target monitor aspect ratio (5:4,4:3,16:9 to name some of the candidates). Provided your monitor is adjusted correctly, this would give more reliable results.
- As intuition privates changed in Os 3.2, the hires sprite pointer is no longer available in this version of the Os. Also, you should not attempt to drag screens with the right Amiga key as this may leave intuition in a confused state. Works ok in 3.1.4 and below.
- Added the mntmn graphics cards to P96Mode and the board info name enumeration.
- Fixed a MuForce hit when a user attempts to attach board to a non- existing settings in P96Mode.
- Added mntmn graphics cards to P96Mode.
I want to thank all the people that contributed to make this possible, all the testers, and in particular to Harald "Rotzlöffel" for lending me his CVisionPPC equipped A1200 without which the CVisionPPC driver could not have been completed.