Spliner

A spline screen blanker for the Amiga

Version 1.17

Copyright \begin{matrix}c \\ ◯ \end{matrix} 1991,1992 Tom Rokicki and Sebastiano Vigna

by Tom Rokicki and Sebastiano Vigna

1 The birth of Spliner

Tom Rokicki’s Mackie is one of the most well-known and most beautiful utilities for the Amiga. It has two separate functionalities: it’s a blanker which draws wonderful splines, and a powerful hot-key manager.

What I did was taking out the spline code from the original Mackie sources and encapsulate it in a standard Commodity (of course, this means someone else will have to port the hot-key part…).

Commodities are the new way, designed by Commodore, by which all special utilities like mouse accelerators, macro expanders etc. should be designed. This standard, available only under Release 2 and higher, allows easy and customizable control of the interaction of different utilities. This means, of course, that Spliner will work only under version 2.04 or higher.

In the process of moving to 2.04, some new features were added, namely programmable pattern change timeout, and the possibily to open the blank screen in any of the modes available on your Amiga.

For the generic use of a Commodity, please refer to the 2.0 manual. Spliner will (more or less) work just like the screen blanker supplied on the Workbench 2.04 disk.

2 Gadgets

If you activate Spliner by double-clicking on its icon, you will see a window popping up. The detailed list of the available gadgets follows:

hide quit work exactly like in Commodore’s blanker. timeout lets you set the number of seconds after which the screen is blanked; defaults to 60. change lets you set the time after which the drawing pattern is changed: set this to zero to go

psychedelic 8^); defaults to 60.

check threshold

set the auto-disabling of spline drawing under heavy cpu load. If check is nonzero, every check seconds a high priority task checks if at least threshold lines were drawn from the last check. If this doesn’t happen, the screen is completely blanked (no splines). This feature saves your screen when some cpu-intensive task (e.g., 3D rendering) is stealing all the cpu power so that Spliner can’t draw and a fixed pattern appears on the screen. As soon as more cpu time is available, Spliner will restart to cycle colors. Moreover, each check seconds Spliner re-blanks the mouse and ScreenToFront()s its screen. If you set check to 0, the control task is not set up, thus gaining about 1K of memory. check and threshold default to 8.

cycle colors allows you to enable/disable the color cycling (mainly for special screen modes such as 2024 10Hz).

dma off enables the dma disabling. When dma off is selected, instead of drawing splines Spliner will simply turn off the video dma. This mode is not particularly nice to see, but frees the Chip bus from every dma video access usage. This can have a certain impact on computationally intensive programs, in particular on a machine which has only Chip ram. If, for instance, you’re doing ray tracing on an A600, turning off dma could really give you an edge. See Chapter 4 [Important Notice], page 3.

color allows you to select a specific color to use for spline drawing when cycling is disabled. The format is a bit rude, i.e., R*256+G*16+B, where R,G and B are the four-bit components of the color. For instance, 4095 is pure white, while 15 is pure blue.

immediate effect blanks immediately (after 1 second) the screen (this feature was coded by Jean-Michel Bezeau).

The list displayed on the right represents all video modes installed on your system. This list could also include some modes that aren’t really displayable on your Amiga, but no harm can be done. You can click on any display mode in order to force Spliner to use that kind of display when blanking the screen.

Everything that can be selected by a gadget can also be configured by a tooltypes. See Chapter 3 [Tooltypes], page 2.

3 Tooltypes

There are five extra tooltypes: ‘TIMEOUT’, ‘CHANGE’, ‘CHECK’, ‘THRESHOLD’, ‘DISPLAY’, ‘CYCLE’, ‘DMA’, ‘COLOR’ and ‘BLANK’. The first six act just like the corresponding gadgets (see Chapter 2 [Gadgets], page 1). Note that the name you set ‘DISPLAY’ to must be an exact copy of the name appearing in the window list (up to lower/upper casing). For instance, ‘DISPLAY=PAL:Lores-Interlaced’ (note that on localized machine, the name has to be written in the localization language). If you have a pal (resp. ntsc) Amiga and you have a real MultiSync monitor, you can even add the ntsc (resp. pal) monitor to your system and open the blank screen with another video frequency! This has no usefulness at all, but it’s amusing. The ‘CYCLE’ and ‘DMA’ tooltypes can of course be set to ‘ON’ or ‘OFF’.

‘BLANK’ lets you specify an hotkey (in the same format as ‘CX_POPKEY’) which will immediately (after 1 second) blank the screen, just like the immediate effect gadget (the delay is necessary because otherwise the input event caused by the hotkey would unblank the screen).

In order to start Spliner at power-up, the best thing is to move its icon into the ‘WBStartup’ drawer, and to set its tooltypes to the desired values. Don’t forget to add the ‘DONOTWAIT’ tooltype, too. You’d probably also want to set ‘CX_POPUP=NO’. Another thing to consider is that since Spliner reads the display modes in the graphical database, you must be sure Mode_Names is ran before it. In order to obtain this, you should add the tooltype ‘STARTPRI=-120’.

4 Important Notice

Some people think that terrific blankers steal cpu time. This is not the case with Spliner. If a task is using the cpu, Spliner will stop drawing. If in particular your application has a hi-res multi-color screen, the presence of the blank screen will actually speed up whatever the Amiga is doing, by lessening the dma contention. If, moreover, you select the DMA off switch (see Chapter 2 [Gadgets], page 1), you will definitely gain in speed, but you won’t have a terrific blanker any longer.

5 Changes

From revision 37.8, the mouse is blanked “legally” by opening a window on the blank screen and using SetPointer(). This means that when the blanker starts the current active window will be deactivated. This shouldn’t however have any side-effect.

From revision 37.12, there is an ‘About...’ menu item, and the copyright notice is no longer in the window title. The check/threshold control were introduced, and the user interface was made font-sensitive. A comprehensive optimization greatly reduced the cpu time used while checking the input events (i.e., while the screen is not blanked). Finally, an important bug fix (the window could have been closed without GT_ReplyIMsg()ing all pending IntuiMessages).

Revision 37.15 fixes a stupid bug (not enough stack size) which was really difficult to reproduce. Thanks to Alessandro Pelosi at Agemo for his precise report, and to Martin Taillefer at Commodore for his precious suggestions: with the new mouse blanking code, Spliner doesn’t deactivate the current window any longer, and in particular it doesn’t deactivate gadgets.

Revision 37.17 introduces the color and dma switches and support for some V39 features (like new look menus).

6 Disclaimer and Author Info

Spliner is Copyright \begin{matrix}c \\ ◯ \end{matrix} 1991,1992 Tom Rokicki and Sebastiano Vigna and it’s freely distributable as long as all of its files are included in their original form without additions, deletions, or modifications of any kind, and only a nominal fee is charged for its distribution. This software is provided AS IS without warranty of any kind, either expressed or implied. By using Spliner, you agree to accept the entire risk as to the quality and performance of the program.

Comments, complaints, desiderata are welcome.

         Sebastiano Vigna
         Via California 22
         I-20144 Milano MI
         BIX: svigna
         INTERNET: vigna@imiucca.csi.unimi.it
                   vigna@ghost.sm.dsi.unimi.it
         UUCP:cbmehq!cbmita!sebamiga!seba@cbmvax.cbm.commodore.com
              ...{uunet|pyramid|rutgers}!cbmvax!cbmehq!cbmita!sebamiga!seba
         FIDO: 2:332/607.28