> I'm using a QXL card with SMSQ/E and everything seems > to work OK. As I'm fairly new to the QL scene, I just > wondered if there is a way to make the display either > larger or centered? > > What happens at the moment is that the display (group > of 3 windows) appears in the top left of the screen. > > I think SMSQ/E supports 800x600 mode but it wasnt > clear > how to set that. WINDOW 800,600,0,0 etc dont seem to > do anything? > > Thanks > > Ian.
There's more than one issue at play here. Firstly, are we sure it's SMSQ/E and not the original non-pointer SMSQ for QXL? If it's a non-pointer SMSQ there is no command to change the display size in early versions, you have to configure the SMSQ file itself to preset 512x256 (QL) or 640x350 (EGA) or 640x480 (VGA) or 800x600 (SVGA). The QXL display doesn't do scaling with SMSQ, so if your PC is in SVGA 800x600 mode in Windows, 512x256 is only a part of this, so appears in the top left of the screen, unlike more recent software emulators which can make these modes fill the screen. More recent versions (including all versions of SMSQ/E) have a command called DISP_SIZE, which you can use to set the display resolution. For example, DISP_SIZE 640,480 will set the display to VGA size and DISP_SIZE 800,600 to set SVGA resolution. The WINDOW command won't let you specify anything bigger than the current screen resolution, so if your system has the DISP_SIZE command (try it to find out, it will give an error message if it doesn't exist). (At this point I confess I sold my QXL a long time ago, so all this is from memory only.) Once you have set the resolution required, you can then experiment with the WINDOW commands to alter the size of your basic windows. Here's an article (from QL Today v11 issue 1) about a pair of little routines I use to set basic windows to fill the screen. It's a small basic procedure I add to my basic programs which lets me enter the command XTV or XMON to set WTV and WMON style windows to fill the screen. Hope this helps. -- Dilwyn Jones ========================== XMON AND XTV In his Start Here article in the April-June 2006 issue, Roy Wood describes how the first screen appears as a small box somewhere on the screen when you start up a system in a high resolution mode. This inspired me to dig out a couple of old routines I use to add a couple of procedures called XMON and XTV. These create windows like those created by the WMON and WTV commands, but make use of the whole screen. Window channels #2, #1 and #0 now make use of the whole screen. The procedures make use of the SCR_XLIM and SCR_YLIM functions to return screen size details so that the windows can be scaled to fit whatever screen resolution you use. An OUTLN command is included in both procedures to ensure windows are correctly outlined (to ensure menu extension etc works properly). Entering the command XMON sets monitor-style windows (i.e. window channels #1 and #2 side by side occupying half screen width each) and XTV sets TV-style windows (i.e. window channels #1 and #2 overlap, although unlike WTV the windows occupy the full width of the screen as it's assumed if you are using high resolution you won't be using a TV and won't suffer from edge cutoff). 30000 DEFine PROCedure Xtv 30010 OUTLN #0,SCR_XLIM,SCR_YLIM,0,0 30020 WINDOW SCR_XLIM,SCR_YLIM-52,0,0 : WINDOW #2,SCR_XLIM,SCR_YLIM-52,0,0 : WINDOW #0,SCR_XLIM,52,0,SCR_YLIM-52 30030 BORDER #1,1,255 : BORDER #2,1,255 : BORDER #0,1,255 30040 CLS : CLS #2 : CLS #0 30050 END DEFine Xtv 30060 : 30070 DEFine PROCedure Xmon 30080 OUTLN #0,SCR_XLIM,SCR_YLIM,0,0 30090 WINDOW SCR_XLIM/2,SCR_YLIM-54,SCR_XLIM/2,0 : WINDOW #2,SCR_XLIM/2,SCR_YLIM-54,0,0 : WINDOW #0,SCR_XLIM,52,0,SCR_YLIM-52 30100 BORDER #1,1,255 : BORDER #2,1,255 : BORDER #0,1,255 30110 CLS : CLS #2 : CLS #0 30120 END DEFine Xmon WMON and WTV These commands can do more than just reset SBASIC's windows to the startup sizes in the top left corner of the high resolution screen. So many old programs just sit int he top left of the screen, leaving a lot of redundant space to the right and below. So the SBASIC WMON and WTV commands can take extra parameters to specify where the top left corner of SBASIC's windows will fall. There are two versions of each command: WMON mode_number,x and y co-ordinate WMON mode_number,x co-ordinate,y co-ordinate The co-ordinates are given in pixels across and down the screen. If only one co-ordinate is given, the command assumes that both are the same: WMON 4,100 This command sets monitor windows in 4 colour screen mode, with the top left corner 100 pixels across the screen and 100 pixels down. WMON 8,50,100 This command sets monitor windows in 8 colour screen mode, with the top left corner 50 pixels across and 100 pixels down. Replace WMON with WTV for TV-style windows. If you want to place the basic windows at the bottom right of the screen to allow older fixed location programs the use of the top left fo the screen, try using SCR_XLIM and SCR_YLIM to work out where to put the windows. This assumes that the SBASIC windows are to use a 512x256 pixel area just like the standard QL screen: WMON 4,SCR_XLIM-512,SCR_YLIM-256 The mode number can be left out unless you specifically want to set a given mode. In fact, it's often better not to specify it since window contents can be preserved. Simply leave the parameter before the first comma blank: WMON ,SCR_XLIM-512,SCR_YLIM-256 A useful possibility is to put these commands onto a hotkey as a command, using HOT_CMD: ERT HOT_CMD("w","wmon ,scr_xlim-512,scr_ylim-256") Please note that this article is only applicable to SMSQ/E systems, since QDOS does not support high resolution screens. _______________________________________________ QL-Users Mailing List http://www.q-v-d.demon.co.uk/smsqe.htm