The 1997 ZX Spectrum Art Utility by Gregory L Fox This program is written in Sinclair BASIC for the Spectrum 128K. The intention is that it be used on Gerton Lunter's Z80 emulator,with the speed setting set to about 999%. This produces better results than a genuine spectrum ever could.The performance of this program,written entirely in BASIC apart from a few add-on routines, compares very favourably to the old art programs for the spectrum written in pure assembly language. The program was designed as a development tool for my new Role-playing game,and it concentrates mainly on graphics for use in other programs(as background, UDG-sprites,etc.) The features include: LOAD/SAVE screen/grey/attributes/UDGs/line-drawing Taking graphics from the screen to UDGs for use in programs.(Or to lift existing graphics!See example files!!!) 5-frame quicksave memory for working with,and the infinite space of a modern hard drive Merging two screens(at a grey level- attributes unchanged) Window-based wrap-around scrolling for precision work Text editor(simple and effective) Paint manager to control the attributes Line-memory for easy duplication of simple sketch-cores(extended functions include zoom and simple rotation) Plus it all fits into 26K on your hard-drive! Hints on use: When using the text editor,the PEN mode determines whether the text will destroy graphics.If the pen is UP,the editor will write over the top of what's already there without erasing it.If pen is DOWN,it will PRINT to the screen as if from BASIC.(ie.overwriting with a fixed figure of dots and spaces.) This applies to the UDG-placer as well. When in text editor or paintbox,pressing DELETE from the cursor will move it one space to the left without key-repeat.Useful for accurate lining-up of UDG-sprites of more than one row. To delete text which overlaps graphics,position the cursor before it and overwrite it exactly.It should disappear leaving the artwork intact. To merge two screens,save a screen as a quicksave frame(eg.5), then set up the second screen (on the actual screen). Go to the merge option and select the quicksave(eg.5).The two should merge perfectly.The OVER 1 option is an XOR version of merge's OR. This means any dots in common will be deleted on merging. The strict comparison feature is the AND version of the above,leaving only the dots contained in both screens.(The least useful of the three.) Perfect symmetry can be obtained by quicksaving the screen,mirroring it L/R or U/D,then merging with the original version.Use the scroll window to bring the parts together. It's probably best to put the colour in last.The scrolling/merging/mirroring functions only affect the dots,not the colour. Pressing SYMB-SHIFT+B (*) resets the scroll window to FULL SCREEN mode. Use the HIGH video-sync mode of the emulator,and run it as fast as possible. I tend to use about 999% speed,so as to get smooth+fast scrolling.The repeat rate of the keyboard has been altered to compensate. NB.THIS PROGRAM WAS NOT WRITTEN FOR A GENUINE SPECTRUM.IT WILL RUN FAR TOO SLOWLY ON A REAL SPECTRUM COMPUTER OR ON ANY MACHINE EMULATING ONE AT 100% ACCURATE SPEED.THIS IS NOT A FAULT WITH THE PROGRAM.A 486DX CAN MAKE IT WORK PROPERLY,AND IT WAS WRITTEN IN BASIC TO BE TRANSPARENT TO USERS,AND EASILY MODIFIED. Functions added after the creation of this help file: C for circle from the dot-cursor:enter radius(about 70 max.) F to fill from the dot.This is imperfect and takes ages,but for simple things,back up your picture first,and it should work OK. If not,you'll be glad of your back-up.If anyone can improve this function,alter the program and send it to me.I would be most grateful,as the logic involved seems mind-boggling,yet the solution is probably pretty straightforward. Option 5 in the POPUP MENU:Line-memory editor. This contains mirroring routines,a ZOOM function,and a warping idea based on unitary change of the vectors.(Distorts more and more.) Further alterations will be posted on the end of this file,and if anyone would like to make add-on functions,please make them into a seperate program in most cases,ready to MERGE from BASIC.(A patch,in other words.) Send it to me,or distribute it as part of the distribution .ZIP with details in a readme file containing your name,the name of the patch,installation instructions,etc.A quick list-scan of the program will reveal areas of unused line-numbers suitable for patches.