It must be stated that HAM mode is difficult to use, but AMOS Professional is able to exploit its full potential. This is valuable for displaying digitised colour pictures, either grabbed from video images or created using special packages such as Dpaint 4. To open a HAM screen ready to display all 4096 available colours, the following line could be used:
E> Screen Open 0,320,256,4096,Lowres
All text and graphics operations may be used directly with a HAM screen, and it can be manipulated by the normal SCREEN DISPLAY and SCREEN OFFSET commands.
Do set the first point of each horizontal line to a colour numbered from 0 to 15, which will serve as the starting colour for all shades on the current line. To prevent unwanted fringe colours when SCREEN COPY is used, see that the screen's border zone also uses a colour from 0 to 15. This ensures that HAM screens are re-drawn at a new position using their original colours.
Do not try to scroll a HAM screen horizontally, unless you wish to see fringes of spurious colour at the side of the picture. This problem does not occur with vertical scrolls.
Interlaced screens
Interlaced mode is perfect for displaying pictures, but is not recommended for much else.
LACED
reserved variable: return a value in conjunction with screen resolution
Screen Open number,width,height,colours,Laced+resolution
E> Screen Open 0,320,200,16,Laced+Lowres
Interlaced screens have double the number of vertical lines, which is excellent for graphic displays. Unfortunately they take twice as long to update, which is no good at all for fast-action games! Interlaced screens will only give flicker-free results if a "multi-sync" monitor is being used. Also certain TV sets and monitors do not take kindly to excessive switching between interlaced and normal screens.
All of the usual operations may be used with interlaced screens, such as SCREEN DISPLAY, SCREEN OFFSET, and so on, but for technical reasons interlacing is not allowed during copper list calculations. As soon as the last interlaced screen has been closed, the entire display returns to normal mode.
SCREEN MODE
function: return screen mode
value=Screen Mode
This simple function is used to report the mode of the current screen. If the screen is LACED, 4 or $8004 will be returned. If the screen is LOWRES, a value of $0 is given. For a HIRES screen, $8000 will be returned.