Skip to content

Releases: lainejones/PrismRTG

PrismRTG 1.3 beta 3

PrismRTG 1.3 beta 3 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 28 Oct 04:14

PrismRTG 1.3 beta 3: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A beta with one fix on top of 1.3 beta 2. Install it with Install_PrismRTG; it updates any 1.3 beta, 1.2.x or 1.1.x and keeps your settings. PrismPrefs' update check on a final release (1.2.3) only looks at final releases, so it won't offer this beta; once you're on a beta it sees the next ones. Everything in 1.3 beta 2 (Span) and beta 1 is in here too. Please report how it goes.

Fixed

Text in fonts with kerning (most proportional bitmap fonts) is as wide again as graphics.library draws it. Each character moved on by its spacing but not its kerning, so a line came out narrower than TextLength() said. Programs that place their cursor or clear behind the text by that width left old pixels standing: in Amelinium's address bar the cursor grew and edited addresses showed leftover characters (#25).

Tested

  • Amelinium 1.5.0 in WinUAE, with PrismRTG driving UAE's card through its Picasso96 driver (BOARD=P96, as on a Vampire) and natively: typing and editing in the address bar now look exactly as on the native chipset.
  • A hand-made kerned font: Text() advances by the same width as TextLength() and puts every glyph on the same pixels as the Kickstart ROM.
  • The PrismRTG release gate in WinUAE: the hand-built setups, the generated machines plus second cards, the on-screen checks, and a speed comparison against 1.3 beta 2.

Files

  • PrismRTG-1.3b3.lha
  • PrismRTG-1.3b3.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.2.3

Choose a tag to compare

@lainejones lainejones released this 27 Oct 15:15

PrismRTG 1.2.3: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

One fix, for Workbench icons. Install it with Install_PrismRTG, or with Get in PrismPrefs' update check; it updates any 1.2.x or 1.1.x and keeps your settings.

Fixed

Icons without a selected image of their own were drawn wrong when selected on a 256-colour PrismRTG screen: simple two-colour icons turned into an empty box, and icons like ShowConfig and PrepCard (in Tools) came out orange, green and cyan instead of in the inverted Workbench colours (pull request #24). icon.library inverts such icons in one of two ways, and PrismRTG got both wrong:

  • a masked blit with the "invert through mask" minterm 0x20 over an area it has just cleared. PrismRTG applied it as a plain minterm, which is 0 on a cleared area; it now writes the inverted image.
  • a 2-plane blit with "NOT source" over the image. The Amiga's chips only change as many planes as the source has; PrismRTG applied the minterm to all 8 bits of the pen, so pens 0-3 became 255-252. A blit from a planar image now changes only the image's planes and leaves the screen's others as they were.

Found, fixed and tested by Ferenc Boldog (@fboldog) - thank you! The pull request also brings two small test tools, pencheck and icondraw, which compare selected icons pen by pen with a native screen.

Nothing else changed since 1.2.2.

Tested

  • The PrismRTG release gate in WinUAE: 25 hand-built setups, 87 generated machines plus 9 second cards, the on-screen checks, and a speed comparison against 1.2.2.
  • Selected ShowConfig, PrepCard and Calculator icons on an emulated Picasso II (Workbench 3.1.4, 256 colours): the same pens as on a native 16-colour Workbench, pixel for pixel.

Files

  • PrismRTG-1.2.3.lha
  • PrismRTG-1.2.3.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.3 beta 2

PrismRTG 1.3 beta 2 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 27 Oct 23:55

PrismRTG 1.3 beta 2: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A beta: one screen across two monitors. Install it with Install_PrismRTG; it updates any 1.3 beta, 1.2.x or 1.1.x and keeps your settings. PrismPrefs' update check on a final release (1.2.3) only looks at final releases, so it won't offer this beta; once you're on a beta it sees the next ones. Everything in 1.3 beta 1 and 1.2.3 is in here too. Please report how it goes.

New

Span: one screen across both monitors. With two boards, PrismPrefs' 2nd monitor setting now also has Span right and Span left (SECONDMONITOR=SPAN, SECONDSIDE=RIGHT or LEFT for the side the second monitor stands on). Every 8- and 16-bit mode both boards can show then gets a span mode twice as wide - pick one for Workbench in ScreenMode (for example 1600x600 for two 800x600 monitors), and Workbench reaches over both monitors: the pointer and windows move across the middle, and a window can sit half on each.

  • The primary board shows its half itself; the second board's half is a copy of what changed, converted where the two boards store pixels differently (a ZZ9000 and a GBAPII++, two pixels at a time).
  • PrismSetup WBID=$0182 (for example) sets a span mode for Workbench from a script.
  • Span modes are 8- and 16-bit only for now.

Tested

  • The PrismRTG release gate in WinUAE: 25 hand-built setups, 87 generated machines plus 9 second cards, the on-screen checks, and a speed comparison against 1.3 beta 1.
  • On an A4000 (68060) with a ZZ9000 (firmware 2.9) and a GBAPII++: Workbench at 1600x600 in 16-bit across both monitors, a Shell listing and windows drawn and dragged across the middle, the pointer crossing between the monitors; another screen dragged down over the span Workbench and back, Workbench dragged down and back, and two minutes of repeated drags with the network running.

Files

  • PrismRTG-1.3b2.lha
  • PrismRTG-1.3b2.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.3 beta 1

PrismRTG 1.3 beta 1 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 27 Oct 16:42

PrismRTG 1.3 beta 1: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A beta: two monitors that both show something, and smooth screen dragging. Install it with Install_PrismRTG; it updates any 1.2.x or 1.1.x and keeps your settings. PrismPrefs' update check on a final release (1.2.3) only looks at final releases, so it won't offer this beta; once you're on a beta it sees the next ones. Everything in 1.2.3 is in here too. Please report how it goes.

New

The second monitor is never black any more. With two boards each on its own monitor, the second one used to show the Amiga's own (empty) video while no screen of its own was on it. PrismPrefs' new 2nd monitor setting (SECONDMONITOR=) picks what it shows instead:

  • Own screen (the default): PrismD opens a public screen, PRISM2, on it - put windows and programs there with PUBSCREEN=PRISM2, or open a screen in a PRISM2: mode.
  • Mirror: a copy of the first monitor's picture, in the second board's mode of the same size and depth (the pointer isn't copied yet).
  • Off: the Amiga's own video, as before.

The pointer moves between the monitors. Push it off the edge facing the other monitor (no button held) and it goes over, bringing that board's front screen forward. SECONDSIDE=LEFT in the prefs if your second monitor stands on the left.

Smooth screen dragging (issue #1). Dragging a screen down used to step a few times a second on a real card: every step composed a frame from both screens and copied it over the Zorro bus. The Cirrus cards (GBAPII++, Picasso II and IV) and the ZZ9000 can split their display themselves - one screen down to a line, another below it - and PrismRTG now uses that, so a drag step is a few register writes. The card's own pointer stays on during the drag, and PrismD steps 60 times a second instead of 25. On an A4000 (68060) the drag went from about 5 steps a second to smooth on both a GBAPII++ and a ZZ9000.

  • On the Cirrus cards the lower screen has to start at the beginning of the card's memory, so the first step of a drag may swap two screens there: a moment's glimpse of another screen, then smooth.
  • Dragging is still switched on with Drag screens in PrismPrefs (DRAGGING=ON).
  • Screens the card can't split (different depths, a PIP window over them, the software pointer) are composed as before.

For driver writers: PrismBoard.setSplit is a new optional member after the frozen ones (docs/driver-development.md); drivers built for 1.2 keep working and are simply composed.

Tested

  • The PrismRTG release gate in WinUAE: 25 hand-built setups, 87 generated machines plus 9 second cards, the on-screen checks (screen dragging with the split on the emulated GBAPII++ and ZZ9000), and a speed comparison against 1.2.3.
  • On an A4000 (68060) with a GBAPII++ and a ZZ9000 (firmware 2.8 and 2.9): dragging by hand on both cards, Workbench behind a screen opened after it and the other way round; two monitors with Own screen, and the pointer crossing between them. Mirror was checked on the emulated GBAPII++ and ZZ9000.

Files

  • PrismRTG-1.3b1.lha
  • PrismRTG-1.3b1.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.2.2

Choose a tag to compare

@lainejones lainejones released this 25 Oct 21:39

PrismRTG 1.2.2: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

Two fixes: a Workbench 3.2 freeze on every card, and the video overlay on the ZZ9000. Install it with Install_PrismRTG, or with Get in PrismPrefs' update check; it updates any 1.2.x or 1.1.x and keeps your settings.

Fixed

Workbench 3.2 froze the machine when a dragged icon was dropped where it can't go - on the screen's title bar, for instance (issue #22). Workbench 3.2 drags icons as graphics.library Bobs. PrismRTG draws those itself (that was issue #1, in 1.1), but when a drop is refused Workbench calls RemIBob, which was left to the ROM: the ROM's version walks the clear/draw lists that only its own DrawGList maintains, and on a PrismRTG screen it walked them for ever, at Workbench's priority, with the mouse still moving and nothing else running. RemIBob is now handled the same way as DrawGList: the Bob comes off the list, every saved background goes back and the remaining Bobs are drawn again, which is what the ROM's does. A normal drop was never affected.

ZZ9000 (firmware 2.8 and newer): a video layer shown by the card came out as a black window. When a player's frames are in the card's memory and the screen is 16- or 32-bit, PrismRTG hands the layer to the card's own overlay instead of composing it itself. The firmware accepts that layer either way, but only shows it once its overlay feature has been switched on, which PrismRTG never did; believing the card had the picture, it stopped drawing the layer, and the window showed the colour key. PrismRTG now switches the feature on with the layer and off again after, as ZZ9000.card does. Layers that stay on the CPU (8-bit screens, frames in fast RAM, YUYV sources) were never affected.

The emulator PrismRTG is tested in didn't model that switch, which is how this got past the release gate; it models it now, and the gate's video-layer checks fail without the fix.

Nothing else changed since 1.2.1.

Tested

  • The PrismRTG release gate in WinUAE: 25 hand-built setups, 87 generated machines plus 9 second cards, the on-screen checks (the video-layer and player checks on the ZZ9000 with the feature switch modelled), and a speed comparison against 1.2.1.
  • The title-bar drop, scripted on a Workbench 3.2 box in WinUAE: the machine answers again straight after the drop, with the "Icons cannot be moved into this window" message in the title bar; a normal drop still lands.
  • The run on a real ZZ9000 (an Amiga 4000) follows; the notes here will say when it has.

Files

  • PrismRTG-1.2.2.lha
  • PrismRTG-1.2.2.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.2.1

Choose a tag to compare

@lainejones lainejones released this 25 Oct 00:30

PrismRTG 1.2.1: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

One fix for FS-UAE. Install it with Install_PrismRTG, or with Get in PrismPrefs' update check; it updates 1.2 or any 1.1.x and keeps your settings.

Fixed

FS-UAE showed no screen larger than 640x480 (issue #21). PrismRTG asks UAE's card for the largest screen it can show per pixel format. FS-UAE's older UAE core answers with the core's built-in default from years ago, 640x480 for every chunky format, while WinUAE and Amiberry answer with the largest size the host display can do. PrismRTG took that default for a limit and offered 12 modes. It no longer does: the card's memory decides, as with every other board. FS-UAE 3.1.66 now offers 33 modes, and the pixel checks pass at 1024x768 and 1920x1080. PrismD also prints what the card said, for the next report.

Nothing else changed since 1.2.

Tested

The change is in the driver for UAE's card only; the drivers for real cards are the ones 1.2 shipped with.

  • The PrismRTG release gate in WinUAE: 25 hand-built setups, 87 generated machines plus 9 second cards, the on-screen checks, and a speed comparison against 1.2.
  • FS-UAE 3.1.66: the mode list, tmpltest at 1024x768 16-bit, ropcheck at 1920x1080 32-bit.

Thanks to kadibamler for the report.

Files

  • PrismRTG-1.2.1.lha
  • PrismRTG-1.2.1.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.2

Choose a tag to compare

@lainejones lainejones released this 24 Oct 03:22

PrismRTG 1.2: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

Everything from the six 1.2 betas, plus one fix found while getting it ready. Install it with Install_PrismRTG, or with Get in PrismPrefs' update check. It updates 1.1.x or any 1.2 beta and keeps your settings.

Faster

  • Icons and other masked images (how Workbench draws icons) are drawn 2 to 9 times faster. Only the pixels the mask lets through are written, and an image already in the card's memory is copied by the card.

  • Workbench drawers with PeterK's icon.library open faster. On an A2000 with a GBAPII++ the Prefs drawer took 3.4 s and now takes 2.1 s.

  • Window dragging is as quick as under Picasso96. When a window moves, the system swaps it with a hidden copy by XOR blits, and those now run on the card:

    • through a card's own Picasso96 driver;
    • on UAE's card;
    • on the Picasso II family (Picasso II and II+, GBAPII++, Piccolo, Piccolo SD64, Spectrum, Picasso IV);
    • on the ZZ9000 in Zorro III mode.

    One 391x115 blit went from 217 ms to under a timer tick on an A2000's GBAPII++, and from 108 ms to 1 ms on an A4000's ZZ9000.

Fixed since beta 6

At 24 and 32 bits, these blits worked on palette pens instead of on the pixels themselves. The same was true of every other BltBitMap blit type except a plain copy. As a result, a window dragged on a true-colour screen could come back with fewer colours, and a 391x115 blit took 2.3 seconds on the A4000. They now work on the pixels bit by bit, as the Amiga blitter and Picasso96 do. The card does them at every depth (the ZZ9000 only for the blit types its firmware gets right). That 391x115 XOR at 32 bits now takes 2 ms on the A4000, and every blit type is right on both test machines.

Also in 1.2

  • More screen sizes through a card's own Picasso96 driver (a Vampire, a PiStorm's VideoCore): 960x540 and 1280x800 up to 2560x1440.
  • Caffeine OS: the installer finds UAE's card, or a card with a Picasso96 driver, and sets PrismRTG up for it. It also works with the OS 3.9 Installer.
  • ClipBlit to and from an off-screen planar buffer is right at 16 bits and more. It used to come out black.
  • Under WinUAE, PrismRTG through UAE's Picasso96 driver no longer shows a garbled picture.

Tested

  • The PrismRTG release gate, all in WinUAE:

    • 25 hand-built test setups;
    • 87 generated machines covering every card PrismRTG drives, with a 68020 to 68060, under OS 3.1 and 3.2.3;
    • the on-screen checks;
    • a speed comparison against beta 6.

    Every machine checks all blit types between two bitmaps in card memory, now at 8, 16, 24 and 32 bits.

  • An Amiga 2000 (GBAPII++) and an Amiga 4000 (ZZ9000): that check at 8, 16 and 32 bits, PrismBench and tmpltest at 8, 16 and 32 bits, p96test, and the update check.

Thanks to HANSolo-0007 for the Vampire reports behind several of these.

Files

  • PrismRTG-1.2.lha
  • PrismRTG-1.2.adf: the same as an install floppy (insert it, open it, double-click Install_PrismRTG)

PrismRTG 1.2 beta 6

PrismRTG 1.2 beta 6 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 23 Oct 21:15

PrismRTG 1.2 beta 6: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A small beta: the quicker window dragging of beta 5, now on PrismRTG's own drivers too. Install it with Install_PrismRTG (or Get in PrismPrefs' update check); it updates beta 5 and keeps your settings.

Quicker window dragging on the Picasso II family and the ZZ9000

When a window moves, the system swaps its contents with a hidden copy using XOR blits. Beta 5 sent these to the card on Picasso96-driven cards and UAE's card; beta 6 does the same on:

  • The Picasso II family - Picasso II and II+, GBAPII++, Piccolo, Piccolo SD64, Spectrum, Picasso IV - with the Cirrus chip's own raster operations, at 8 and 16 bit.
  • The ZZ9000 in Zorro III mode, at 8 and 16 bit.

Measured with one 391x115 XOR blit: an A2000 with a GBAPII++ went from 217 ms to less than a timer tick, an A4000 with a ZZ9000 from 108 ms to 1 ms.

The ZZ9000 gets only the blit types its firmware computes correctly. Testing on a real card showed two (ONLYSRC and AND) that come out wrong although they read right in the firmware source, so those, and the ones that are wrong in the source, stay on the CPU. XOR, the one dragging uses, is right.

Unchanged: 24 and 32-bit screens, the ZZ9000 in Zorro II mode and the Z3660 keep doing these blits on the CPU.

Tested

  • The PrismRTG release gate, all in WinUAE: 25 hand-built test setups, 87 generated machines covering every card PrismRTG drives with a 68020 to 68060 under OS 3.1 and 3.2.3, the on-screen checks and a speed comparison against beta 5. Every machine now also checks all blit types between two bitmaps in video memory against the expected result.
  • An Amiga 2000 (GBAPII++) and an Amiga 4000 (ZZ9000): that check at 8 and 16 bit, PrismBench and tmpltest at 8, 16 and 32 bits, p96test, the update check.

Files

  • PrismRTG-1.2b6.lha

PrismRTG 1.2 beta 5

PrismRTG 1.2 beta 5 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 23 Oct 14:44

PrismRTG 1.2 beta 5: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A beta for cards driven through their own Picasso96 driver (BOARD=P96: a Vampire's SAGA, a PiStorm's VideoCore and similar) and for UAE's card. Install it with Install_PrismRTG (or Get in PrismPrefs' update check); it updates beta 4 and keeps your settings.

Window dragging as quick as under Picasso96

When a window moves, the system swaps its contents with a hidden copy using XOR blits. PrismRTG handed only plain copies to the graphics card and did these on the CPU, reading everything back from video memory, so dragging a large window was slow. They now go to the card. Measured in WinUAE with a 700x450 Amelinium window on Workbench: 1.9 seconds per drag step on beta 4, 0.13 on beta 5, against 0.12 under Picasso96. Thanks to HANSolo-0007 for the report in issue #1.

Also

  • Under WinUAE, PrismRTG through UAE's own Picasso96 driver (P96CARD=uaegfx.card) no longer shows a garbled picture.
  • The README now says what dragging does with a screen of another size behind (it stays black) and that a window as large as its screen can't be dragged (an Amiga rule).
  • The faster blits also apply to UAE's card through PrismRTG's own UAE driver. The other natively driven boards (Picasso II family, ZZ9000, Z3660) behave as before; they get them in a later beta.

Tested

  • The PrismRTG release gate, all in WinUAE: 25 hand-built test setups (single cards, two cards, A2000/A3000/A4000-style machines), 87 generated machines covering every card PrismRTG drives with a 68020 to 68060 under OS 3.1 and 3.2.3, 29 on-screen checks (dragging, pointer, power saving, mirroring...) and a speed comparison against beta 4.
  • An Amiga 2000 (GBAPII++) and an Amiga 4000 (ZZ9000): PrismBench and tmpltest at 8, 16 and 32 bits, p96test, the update check.

Files

  • PrismRTG-1.2b5.lha

PrismRTG 1.2 beta 4

PrismRTG 1.2 beta 4 Pre-release
Pre-release

Choose a tag to compare

@lainejones lainejones released this 22 Oct 19:45

PrismRTG 1.2 beta 4: RTG (graphics card) software for AmigaOS 3.x, written from scratch. Needs Kickstart 3.1 or newer and a 68020 or better.

A small beta for cards driven through their own Picasso96 driver (BOARD=P96: a Vampire's SAGA, a PiStorm's VideoCore and similar). Install it with Install_PrismRTG (or Get in PrismPrefs' update check); it updates beta 3 and keeps your settings.

More screen sizes on Picasso96-driven cards

On those cards PrismRTG can only offer a size when it has a display timing to hand to the card's driver. 960x540 was in PrismPrefs' list but had no timing, so it never showed up on such a card; neither did the larger sizes. Beta 4 adds standard timings for all of them:

  • 960x540 (16:9, half of 1080p each way, which HDMI scalers take well)
  • 1366x768, 1600x900 (16:9), 1280x800, 1680x1050, 1920x1200 (16:10), 1600x1200, 2560x1440

960x540 is on by default; switch the larger ones on in PrismPrefs. A card that can't show a size leaves it out, as before. 1920x1080 and 1440x900 were already there. Thanks to HANSolo-0007 for the requests in issue #1.

Natively driven boards (Picasso II, ZZ9000, Z3660, UAE's own card) are unchanged.

Also

  • Everything else is beta 3: the update-check stack fix, faster Workbench drawers, Caffeine OS / UAE / Picasso96-driver card support, and the ClipBlit and planar fixes.

Files

  • PrismRTG-1.2b4.lha