Значок ресурса

Screen Master

Нет прав на скачивание
Автор: Matthew Probert
Год: 1985
Издатели: ZX Computing
Языки: 🇬🇧 Английский
Формат: 📼 TZX лента
Требования: 🖥️ ZX Spectrum 48K

Ссылки:
Страница на ZXArt
Страница на World Of Spectrum
Страница на Spectrum Computing

Скриншоты:
ScreenMaster.gif


Screen master





For those of you wary of attempting


our machine code graphics series,


Matthew Probert presents a powerful


screen artist program in BASIC.





Screen master is a graphics design system for the 48K


Spectrum or Spectrum+. It enables the user to quickly and


simply design and save screens which may be used as title


pages for programs during loading, or used within programs


themselves by extracting the short machine code routine


used by Screen Master to display a screen instantaneouly.





Terminology





Within these instructions certain terms will be used which


should be understood. These are as follows:





'Display' refers to the design on the TV screen.


'Editor or Block cursor' a two character square block which


may be moved around the display under user control.


'Menu' refers to the 'Select Option' state with the display


showing the design being worked upon and the program wait-


ing for the user to press a key.


'Pixel cursor' refers to a single pixel cursor which may be


moved around the display under user control.


'Prompt' refers to a message displayed indicating that the


user should press a key, ie 'Select option' is a prompt.


'Request' like 'prompt' but indicates that some data should


be entered by the user.


'Screen refers to a section of Ram holding the data of the


design being worked upon.


'Text' refers to characters which may be displayed in


'Print' fashion.





Functions





Screen Master provides the user with eight different types


of function for the display and manipulation of screen


data. These functions are:





'Pixel functions' which operate basically upon single


pixels.


'Block functions' which operate upon a block of data and


tend to use the 'Editor cursor'.


'Screen functions' which operate upon screens of data.


'Tape functions' which use the cassette recorder.


'Attr functions' which change attributes.


'Text functions' which manipulate text.


'Brush functions' which provide various shading effects.


'Status functions' which alter or display the current


status of the system.





Pixel functions





There are seven pixel functions; 'Freehand', 'Circle',


'Ellipse', 'Box', 'Move', and two others 'Move' and 'Erase'


which are only accessed from 'Freehand'.


There are then three functions relating to 'Freehand',


these plot points, move the pixel cursor and erase points


respectively. From one function to another within Freehand


the user may select either one of the other Freehand func-


tions by pressing keys P, M and E respectively or exit back


to the Menu by pressing Enter. The Freehand function is


selected from the Menu by key F.


When in Freehand mode, the pixel cursor, like all other


cursors may be moved around the display by the cursor keys


or keys 5 to 8. During Freehand in all of its functions the


coordinates of the pixel cursor, X,Y are displayed at the


bottom of the display to aid the user.


The next three pixel functions, Circle, Ellipse and Box


are selected by keys C, E and X respectively from the Menu.


Each function requests an input from the user, for Circle


this input is the radius of the circle in pixels to be


drawn with the coordinate X,Y as the centre of the circle.


If 0 is entered as the radius the system will return to the


Menu. Ellipse requests both the radius in the X and Y axis


of the ellipse to be drawn. Entering 0 for the X radius


will again return the user to the Menu, otherwise an el-


lipse will be drawn with the coordinates X,Y of the pixel


cursors as its centre. Box works in a similar fashion, but


draws a rectangle to the right and down from the pixel


cursor, so that the coordinates X,Y form the top left


corner of the shape. Entering a negative value in response


to 'Length' will result in the rectangle being drawn to the


left, and a negative value for height will result in it


being drawn up.


Pixel function 'Move' as selected from the Menu by key L


allows the user to move two cross lines around the screen


at a rate of eight pixels per move. Upon exiting from this


function the pixel cursor will be set to the coordinates at


which the cross lines intersect.





Block functions





There are eight block functions, two of which use a special


designer grid and these will be considered first.


'Sprite', selected by key S allows the user to design a


two by two character block on a large grid a bit like a UDG


generator. The cursor on the grid may be moved in three


ways, with the cursor keys or keys 5 to 8 as usual, and


also with symbol shift and keys 5 to 8 together, in which


case it will leave a trail of filled in squares behind it.


Single squares may be filled with key 9 and deleted with


key 0.


'Alter', selected by key A, is similar to Sprite, but


picks up a two character square block of the screen,


removes it from the display and transfers it to the grid


ready for alterations to take place.


'Reflect' switches the data on either side of the Editor


cursor either from top to bottom or left to right depending


upon whether X or Y was entered in response to the request


respectively. Reflect is selected by key R.


'Delete', selected by key DEL erases the data below the


Editor cursor from the display and screen.


'Copy' is the same as Alter, but merely allows a copy of


the data to be reproduced elsewhere without erasing the


original. Copy is selected by key U.


'Switch', selected by key H, changes the attributes


under the Editor cursor to the current values.


'Fill', selected by key N, fills in the area under the


cursor as a solid block.


'Zap', selected by key Z changes the data under the


cursor in a random way so as to give the impression that


the data has been 'zapped'.


In all cases Enter should be used to exit from the move


cursor routine, and Y or N pressed in response to the Okay?


message. Pressing N reverst the display and screen back to


how it was before the operation took place.





Screen functions





There are three screen functions, the first 'Cls' selected


by pressing EDIT clears the display having first trans-


ferred the display into the current screen, thus pressing


EDIT twice consecutively will also clear the current screen


as well as the display.


The second function, 'Down' selected by key W copies the


screen to the display.


The last function 'Merge' selected by key M requests a


screen number to be pressed and then overlays this screen


on top of the display in such a way that the new screen


takes preference over the old, but leaves the attributes


alone.





Tape functions





There are just two tape functions, 'Save' and 'Load', both


of which operate using SCREEN$ and either save the display


or load in the display and current screen. They are selec-


ted by Symbol Shift and either S or J respectively.





Attr functions





There are four Attr functions, the first, 'Ink' selected


by key I changes the current ink colour, 'Paper' selected


by key P changes the paper colour and 'Bright' selected by


key B switches the brightness from on to off and from off


to on automatically. All three of these work in 'temporary'


fashion.


The last function, 'Chg' is selected by key O and chan-


ges the entire display and screen to the attribute value


entered, it does not clear the display.





Text functions





There is one text function, selected by pressing key " it


allows up to thirty two characters at a time to be dis-


played anywhere on the display and screen. The text may be


graphics, selected by pressing the graphics key followed by


entry of the required text, or ordinary characters.


The text may be displayed in inverse by pressing the INV


Video key, or made to flash by pressing extend followed by


CAPS shift and key 9 together. If you wish to exit the


routine, pressing Q whilst in the Move cursor stage will


return you to the Menu.





Brush functions





Six different brushes are provided, selected by keys 1


to 6 from the Menu. The brush function works like a cross


between the text and Freehand functions described earlier.





Status functions





There are two status functions, 'Status' which is selected


by pressing key K and displays the current ink, paper,


bright, screen number and pixel cursor coordinate values,


and 'Addr' which is selected by key T and allows the user


to change screens between 1 and 4.





Technical details





The four screens are each 6848 bytes long and stored at


addresses 58519, 51671, 44823, and 37975 respectively. The


routine to copy the display into screen 'n' is at address


23296 with the screen address held in bytes 23300 and


23301. The routine is relocatable.


The routine to copy a screen to the display is at address


23308 with the screen address held in bytes 23309 and


23310. This routine is also relocatable.


The program uses seven UDG's, from O to U respectively.


Ramtop is automatically reset to below screen 4 so that NEW


does not affect the screens, in this way screens may be


saved as Data, by: Pressing BREAK to break into Screen


Master. Typing NEW to lose Screen Master, and either load-


ing in your own program or saving the screen(s) as data.
Автор
Verter_bot
Загрузки
0
Просмотры
1
Расширение
zip
Размер
5.3 КБ
Хэш
fd94d3e24d30af2757202e0653504701
Первый выпуск
Последнее обновление

Оценки

0.00 звезд(ы) 0 оценок
Назад
Вверх