RalfR wrote:bwinkel67 wrote:Has that technique been used on other QL programs?
Yes, ACT from Steve Sutton has used mixed Mode 4 and Mode 8 on a standard QL. Do not know, how he has managed this, but it worked.
From ACT Manual:
1.7.3 Split-MODE Screens
This feature is added by the use of a machine-code routine built into the ACT system when you use either of the special versions of LAST_dta that incorporate the additional code required to support illustrations. The use of split modes allows the illustrations of an adventure to be in mode 8, that is to use 8 display colours, while allowing the text to be in mode 4 and so benefit from smaller character size and increased amount of text on screen. A problem can occur when using split-mode screens on some QLs with some types of memory expansion. Depending on the type of memory expansion installed, it is possible for the code that controls the mode switching to "switch" at the wrong place on the screen. This is only likely to happen if you are using large areas from the Common Heap. As one example, most types of RAM disks will certainly cause problems if used in a game.
If you find that the mode change occurs before the end of the picture window while testing your game, you should re-start the test after removing whatever program or facility is occupying low memory. If in doubt, re-boot and re-run your game without running any other jobs first.This problem will not normally occur when most other programs are running along with your game, and it should never happen on an unexpanded QL.
7.4 More About ACT's Split-MODE Screens
In order to provide you with the maximum flexibility for the presentation of your game, we have left a number of options open to you, which, if all are used simultaneously, may produce unpredictable results. If split mode and the QFILL routines are used at the same time, flickering can occur at the top of the text window.
The two program-merge files mentioned in the preceding two sections contain the required code to support the screen's Split-Mode facility. In addition a switch is included to permit the feature to be switched ON or OFF when the game is first run.
The control of this is achieved through the spare Location 0 parameter number 2 bit flags 2 to 4. Bit 2 will directly control the operation of all of the CALLs (described in Section 1.7.3) to the Split routine; the flag must be set to enable the CALLs. Bits 3 and 4 are used by the new routine check_for_mode in the player program and tell it when to operate. A few additional lines in the EVENT program are also involved. You can use the program startup feature as it stands, or permanentlyenable or disable the split feature by:
a) editing the LOCN_dta file (with the LOCedt utility) to set Location #0 parameter #2 bit #2 as required; and
b) removing the following lines from the two merge files before using them to create their new PROG_dta file.
Player_Prog_Additions: Delete 155, 156, and 30620 to 30760.
Event_Prog_Additions : Delete 1063 and 1064.
As we have said many a time before, you should be aware that the split screen puts a great demand on processor time. The use of half-screen pictures noticeably delays the speed of the Mini_Adventure program. This
time penalty is increased for larger pictures. For this reason the use of pictures larger than half-screen is not recommended. The Split Screen mode available with ACT relies on a software timer that is set up to switch the QL's hardware between MODE 4 and MODE 8 at the correct point in each screen-refresh cycle. This timer-and-switching function is set up as a polled routine within the QL and relies on being started at the correct point in the correct screen display cycle, so that the mode switch is in the desired place on the screen, between the text and the picture windows.
This normally works reliably, provided nothing happens to delay the starting of the polled routine. It is possible, however, for certain other jobs in the QL to delay the start of the polled routine. In particular, the use of microdrives has such an effect. For this reason mode switching is disabled while a microdrive is running.
We do not generally recommend the use of repeating fills with an ACT adventure if the split-mode screen is also to be used. If you wish to combine both of these features in your game, we suggest that you keep the JOB priority of the repeating fills (set within Graphics Designer) to very low values AND have no more than one or two such fills active at any time. If you are planning your game for commercial release, we suggest that you make some comment about the possibility of any text-window flicker in the documentation accompanying your game.
Certain types of memory expansion can cause problems when using split modes in your display. This problem and some possible cures are detailed at the end of Section 1.7.3.