Display tab
The Display tab can be found in the Options window.
Scaling options
Here you can configure how BASin scales the Display Window when the user resizes. The options affect display update performance in various ways, so experiment to find the settings that best suit your display and PC hardware.
Maintain aspect ratio
If this box is checked, the width and height of the display window always keep their standard PAL ratio of 4:3, and the border expands to fill any remaining space. To set this option temporarily, choose Display Window > Force 1:1 Aspect on the View menu.
Use integer scaling
This, when enabled, will only allow scaling to occur at exactly 1x, 2x, 3x etc of the display. Any scaling in-between will not occur, for example at 150% (1.5x), and borders will be added to make up the extra space in the window. This option is enabled when using some scalers - the Hq2x, Super 2xSAI, Super Eagle, and Scale2x types, as they can in most cases only scale at 2 or 3 times normal size. These types make educated guesses as to what the scaling should look like, so some distortion can occur in dithered graphics.
Use 8-bit stretch for GDI mode
This option will, particularly on NT based systems, allocate an extra in-memory bitmap set to 256 colours which will be used for scaling. This can increase scaling performance considerably when using the GDI scaling method, but does require more memory to use.
Scaling method
This option dictates how BASin will scale the Display Window when it is enlarged beyond 100% of the original (320x240) size. BASin does not employ DirectDraw or OpenGL acceleration. The options are:
Frameskip
Frameskipping is a useful system which, rather than render all 50 frames of display every second, instead renders only a set portion - every other frame, every third frame and so on. This has the advantage that BASin is able to emulate the Spectrum more fluidly, as it has to spend less time per second rendering the display (converting the Spectrum's Display memory area into a Windows bitmap image is quite an intensive operation). Frameskip can be quite useful, mainly because Sinclair BASIC is not the swiftest language, and does not require a constant frame update every 50th of a second.
Update every n frames
Determines how often BASin updates the display. Setting this to 1 always updates the display immediately; setting it to 2 only renders every other frame; and so on. A larger value increases performance but reduces the smoothness of the display.
Automatically skip if necessary
Selecting this option will set BASin to update only when the emulation is waiting for synchronisation to the 50hz frequency - i.e. when the engine is idling. This will allow a smooth emulation with, depending on the speed of your PC hardware, a reasonable display update speed. This is managed by sending all display functions to a separate thread, which waits until Windows gives it a slice of CPU time to work with. As the new thread is set to a lower priority than the emulation, then only when the emulation is idling does the display get priority.
Note: On slower hardware with large scaling applied, this option can freeze the display or cause a rather jerky update.
Embellishments
These extra options are cosmetic only, and will not affect the speed or the quality of the display. They can be enabled or disabled according to the tastes of the user.
Scanlines simulation
If this box is checked, BASin adds dark lines to the display that simulate the scan lines on a portable TV set. (The original Spectrum was generally used with a TV set, not a computer monitor.)
Rounded display corners
If this box is checked, the display is given a rounded rectangle shape, which more closely resembles an old 14" television set.