******************* ** DabbelFeature ** *½ 1991 Claus Brod* ******************* V1.0, 29.4.1991 THE NAME OF THE GAME DabbelFeature serves a twofold purpose: First, it disables or enables the display of growing and shrinking boxes when dialog boxes or windows are opened and closed. Second, it can redirect drive accesses. The program derives its name from this split identity. ('Dabbel' is how we Germans would write out the pronouncation of 'double'. Ah yes, 'DabbelFeature' also reminds us of the person that made me write the program, Werner Buthe aka 'Dabbeljubee'.) FILES TO COPY Your copy of DabbelFeature should include this documentation, the program itself (DBLEFEAT.ACC) and two resource files. During startup, DabbelFeature looks for a resource file called DBLEFEAT.RSC and loads it. If you want to use the German resource file, DBLEGERM.RSC, instead of the international version, just rename DBLEGERM.RSC to DBLEFEAT.RSC and copy it to the root directory of your boot drive. You already guessed it, DabbelFeature is an accessory. (It also runs as a program, but its settings won't stay resident in program mode.) DabbelFeature is shareware. If you like it and want to use it regularly, please send US $10 or 15 DM to the following address: Claus Brod Am Felsenkeller 2 D-8772 Marktheidenfeld Germany Please send banknotes or eurocheques only. My bank says everything else will cost me a fortune to make it payable cash for me. If there are any problems with DabbelFeature or you dislike something, contact me via the address mentioned. You can also send email to: csbrod@faui43.informatik.uni-erlangen.de or Claus Brod@wue.maus.de (Mausnetz, a local German net) WHAT DabbelFeature IS ALL ABOUT There are quite a few programs that only run from drive A because they use absolute paths when locating files. If you try to copy them to your hard disk or RAM disk, the program fails to find data files. There are other programs that can be configured to run from any drive. Everytime your drive configuration changes, and even if these changes are temporary, these programs need to be reconfigured. I encountered this problem with a telecommunications program a TeX implementation I used. Imagine you work in an environment with removable drives here, there, everywhere, and you know how often those temporary drive configuration changes can occur. DabbelFeature tries to address this problem by enabling you to redirect drive accesses. For example, you might have configured your favorite TeX implementation to run from drive E. For some reason, you add a second hard drive to your system with four partitions in it, and your former drive E now becomes drive I. When you try to start your TeX program from drive I, you will be prompted to enter correct paths a thousand times. With DabbelFeature installed, you just tell it to redirect all drive E accesses to drive I. Whenever the TeX package tries to find E:\TEXINPUT\LETTER.TEX, the access will be redirected to I:\TEXINPUT\LETTER.TEX - no more annoying 'cannot find file xxx' alerts! This is also a solution for the dreaded why-can't-this-lousy-game- be-launched-from-hard-disk-problem. There are some more things DabbelFeature can do for you, but this should be enough motivation for a start. Let us first see how it's done. HOW TO USE DabbelFeature DabbelFeature is a GEM accessory. When you click on its menu entry, a dialog is displayed from which you can control all functions. Besides enabling and disabling growing and shrinking box effect, DabbelFeature can - install new logical drives - deinstall logical drives - redirect drive accesses For these functions, DabbelFature displays two rows with drive letters A to P in its dialog. The upper row shows the GEMDOS drive letter, the lower row shows what drive is 'hidden' under the drive letter. The letter in the lower row entries indicates the drive that all accesses to the corresponding GEMDOS drive are redirected to. This is much easier in practice than it may sound, so let's look at an example: .......HIJ.....  .......HCA..... Here, drive H is left untouched. If some program accesses drive I, DabbelFeature will redirect this access to drive C; drive J is mapped to drive A. The letters in the lower row are editable; if you want to redirect a drive, you just enter the target drive letter. The program checks for invalid entries as far as possible. You can only redirect drive accesses to currently active drives. DabbelFeature marks non-active drives by disabling the corresponding entries in the lower drive letter row. Whenever a drive has been redirected by DabbelFeature, its GEMDOS drive letter in the upper row will be displayed in reverse video. When clicking on a drive letter in the upper row, the activation status of the corresponding drive is toggled. If the drive was inactive before, it is enabled and installed for GEMDOS usage. (By default, drive accesses to those drives are being redirected to A, but you can change this as described above.) If the drive was active before, it is being disabled and deinstalled for GEMDOS. This is especially useful for programs like Kuma RCS which in some version likes to crash when too many drives are installed. (This bug has been fixed in newer versions of Kuma RCS.) It might also be useful if you want to start a program you don't really trust and want to prevent this program from accessing important partitions on your hard disk. (DabbelFeature will not, however, prevent programs from directly accessing the DMA bus.) The 'Reset' button resets all drive redirections. The 'Nonsense' buttons resets all drive redirections and restores the former drive configuration. In the 'Grow/shrink boxes' part of the dialog you can disable the growing and shrinking box effects that many programs use to indicate that a dialog or window is being opened or closed. This is a CPU-time-hungry effect, and you can speed up interaction with many programs quite a lot by disabling it. Unfortunately, this trick will not work in the DESKTOP. The DESKTOP uses line F calls or jumps directly to the corresponding AES routines instead of using the official trap vectors which DabbelFeature intercepts. Your adjustments take effect when you leave the dialog by clicking on 'OK'. RESTRICTIONS, TECHNICAL ASPECTS DabbelFeature has been tested on standard STs and the TT. It does not use undocumented TOS features. Drive redirection will not work with MetaDOS drives. Unfortunately, there is no official way to find out if some drive is a MetaDOS drive, so DabbelFeature doesn't check for it. If you use a CD ROM drive (until now, the single application for MetaDOS), make sure you don't redirect drive accesses from or to a CD ROM logical drive. DabbelFeature has been written in Turbo C and Assembler. It intercepts the hdv vectors and the trap 2 vector using the XBRA magic 'CBDF' to identify itself. DabbelFeature also works fine with the ACC installer/deinstaller Chameleon by Karsten Isakovic. During startup, DabbelFeature reads out the lower drive letter row in its RSC file and installs the drive redirections requested therein. This way, you can save your favorite drive redirection table using a RSC editor. DabbelFeature also uses the state of the 'Off' button in the RSC file as a default for displaying growing and shrinking boxes. (If 'Off' is selected, no boxes are displayed.) Every time you leave the dialog with 'OK', DabbelFeature will simulate media changes on GEMDOS drives that have been changed in some way (installed, deinstalled, redirected). The effect is as if you had inserted a new disk into a drive. This also means that files on affected drives opened via Fopen() cannot be closed anymore using Fclose(), and you might lose data. Make sure that you Fclose() all important data files you're currently working with before activating DabbelFeature. As a non-programmer, you usually don't know when a program has Fclose()'d a file, so save your work file before clicking on DabbelFeature's menu entry.