______ ___ ___ ______ _____ __ ___ __ ______ |_ _| \ \ / / | _ \ | __| | | | \ | | / ____\ | | \ \/ / | |_| | | |__ | | | \| | | |___ | | \ / | ___/ | __| --- | | | | \___ \ | | | | | | | |__ | | | |\ | ____| | |__| |__| |__| |_____| |__| |__| \___| \______/ Chimes to drive you dotty, characters to define and rotate in 3D - if none of these patterns take your fancy, try the hangman +-----------------------------------------------------------------------------+ |Printer typefaces | |-----------------------------------------------------------------------------| | If you're already shuddering at the thought of typing this horrifyingly | | long program, let me point out it's well worth it! | | Gordon Yacomine of Dundee has written an extremely useful program with | | extra commands to let you access different type styles (on your printer) | | without needing to remember long strings of control codes. | | The various commands available: | | |NLQON near-letter-quality | | |MINION mini typeface | | |PROPON proportional printing | | |CONON condensed | | |SUBON subscript | | |SUPON superscript | | |DBLON double-strike | | |ITALON italics | | |BOLDON bold | | |UNDON underlining | | |DBLWON double-width | | Notice that each of the commands ends in 'ON': this tells the program | | to switch on the chosen effect. Every command can have 'ON' replaced by | | 'OFF'. So, for example, this prints the sentence 'What a nice day!' in | | bold, with the word 'nice' in italics: | | | | 10 |BOLDON | | 20 PRINT #8, "What a "; | | 30 |BOLDOFF:|ITALON | | 40 PRINT #8, "nice "; | | 50 |ITALOFF:|BOLDON | | 60 PRINT #8, "day!" | | 70 |BOLDOFF | | | | Here is the main listing: | | | | [Listing - TYPEFACE.BAS] | | | +-----------------------------------------------------------------------------+ +-----------------------------------------------------------------------------+ |Dotty | |-----------------------------------------------------------------------------| | Tommy Daffin of South Brewham, Somerset, has provided you with an | | interesting type-in that creates 'dotty' designs. Using Q, A, O and P will | | move an ever-growing line around the screen. When your creativity has been | | exhausted press the spacebar and watch those dots move. | | | | [Listing - DOTTY.BAS] | +-----------------------------------------------------------------------------+ +-----------------------------------------------------------------------------+ |Hangman | |-----------------------------------------------------------------------------| | A faithful reproduction of an old favourite has been sent in by Darren | | Clarke of Sheldon, Birmingham. The listing may be long, but the game is | | still as enjoyable as ever, if not more so. If you want to alter the words | | the game uses, lines 890 to 950 are the place to do it. The words must not | | be longer than 18 characters, and there can only be 20 words at a time. | | | | [Listing - HANGMAN.BAS] | +-----------------------------------------------------------------------------+ +-----------------------------------------------------------------------------+ |Chimes | +-----------------------------------------------------------------------------+ Last month you had budgie noises from your Amstrad. This month you are treated to the chimes of a grandfather clock, courtesy of Dave Thomas of Bridgend in Mid-Glamorgan. [Listing - CHIMES.BAS] +-----------------------------------------------------------------------------+ |Rectangle | +-----------------------------------------------------------------------------+ Have you ever wished to display rectangles of any shape or size on the screen - rapidly? If so then A Knife of Romford, Essex, has sent in the required goods. When you run the program, there will be a new command available: |RECT,a,b,c,d,e, where a and b are the origin or rather the coordinates of the bottom left of the rectangle, c is the width of the rectangle, d is its length, and e selects the colour. [Listing - RECT.BAS] +-----------------------------------------------------------------------------+ |Patterns Mk II | +-----------------------------------------------------------------------------+ David Brown of Sutton, West Midlands, has supplied you with an impressive pattern-producing program. There have been many such routines in the past - this one is rather exceptional. The patterns or designs are varied, complex and pleasant to view. Pressing the spacebar at any time will start a new pattern into life. This program will work only on the 664 or 6128. [Listing - PATTERN2.BAS] +-----------------------------------------------------------------------------+ |Character definer | +-----------------------------------------------------------------------------+ Before you turn the page in disgust at this mammoth listing, let me just say this finger-wearing program is is well worth typing in.The character definer sent in by James Cadwallader of Gosport, Hants, is one of the classiest you will see. Its ease of use and functions will shame many that have gone before. Characters from 32 (the space) upwards can be defined. When run the program displays a box with several characters. One of them is highlighted, and in the neighbouring box is its Ascii code. With the cursor keys you can scroll backwards or forwards through the character set. Once you reach the character you want to redefine, press Enter or Return. A list of options will appear: C to continue, R to re-select, S to save and L to load. Pressing C draws the highlighted character in a large grid box on the top left of the screen. Using a combination of spacebar, Delete and cursor keys, you can now design a new character. As you fill or delete squares, the character will be displayed in mode-0 and mode-2 characters below the grid. Pressing Clear will wipe the grid to let you restart your design. After finishing your character, press Tab to choose another character to design. Or you can load or save a complete character set. [Listing - CHARDEF.BAS] [There is a minor bug in Character Definer: after selecting a character, when pressing C to continue, it must be entered in lower case. The program accepts both upper case and lower case for the other options. Amstrad Action did not print a correction in any subsequent issues.] _____________________________________________________________________________ | | | 3D shape rotator | | As the title suggests, this listing from Simon Watson in Cornwall will | | rotate three-dimensional shapes. You must enter the number of sides the | | shape is to have. The program will draw it and then proceed to rotate it. | | Once rotation has started, these keys will affect the shape: Fast, | | Medium, Slow rotation speed; Direction change; Ink colour; Reveal all 15 | | frames of animation. | | | | [Listing - 3DSHAPE.BAS] | | | ------------------------------------------------------------------------------- PROBLEM ATTIC PROBLEM ATTIC ------------------------------------------------------------------------------- Our expert solves your problems with Arnold - nothing is too simple or too complicated for RpM Loading without running Can you tell me if there is a way to load binary files into memory, without running them, if they are located at addresses below 4500? Laser Genius can do it, but runs short on memory space for particularly long files. Rod Dunlop Pollokshields, Glasgow As Basic requires memory for itself it gets rather fussy when you try to load a file below 4500 decimal: usually spitting out the message "Memory full". The routine below overcomes these problems, allowing you to load any file at any memory location. It is a mixture of Basic and machine-code. The Basic asks you to input the filename and location address. The machine-code does the actual loading and is located at &BF00. __________________________ | | | [Listing - LOADBIN.BAS] | |__________________________| Azerty please I have written a short Basic program that alters the CPC's qwerty keyboard into an azerty keyboard - here in Belgium it's what we are used to. Unfortunately when I boot CPM both the program and the redefined keyboard vanish. Is it possible to change the qwerty to azerty under CPM? The keys to change, in normal, shift and control order: QWERTY AZERTY aA qQ qQ aA zZ wW wW zZ mM :* :* mM Alfons Kerremans Willebroek, Belgium When you boot CPM it completely clears memory, colours, key definitions and so on. However, not all is lost as it is possible to have your keyboard set to your requirements under CPM: Ensure that you have the files SUBMIT.COM and SETKEYS.COM included on your CPM workdisk. These can be copied by booting your system disk and typing PIP B:=A:submit.com at the A> prompt (do the same for setkeys.com). You will then need to create two Ascii files - one contains data concerning the new key definitions and the other is PROFILE.SUB; this will automatically execute when you boot up CPM. The BASIC program below creates the two files in question. Make sure that your workdisk is in the drive, for when the program runs it writes the files. ______________________________ / / | | |/o | [Listing - AZERTCPM.BAS] | |_o_|__________________________| Each data statement contains information necessary to redefine the keys for an azerty keyboard. The first number refers to the key number (6128 owners will find this list printed on the casing of their drives - alternatively it's in the user manual). Next comes the key state: N=normal, S=shift, C=control. The items in single quotes tell SETKEYS the character that should be printed - the quotes and caret are used by the system. For example '65' is the Ascii number for A. ___________________________ | ___ ___ ____ _______ | | | | / \ | | | | | |____| | | | | | | | | | | | | _|_ _|_ \____/ _|_ | |___________________________| ___________________________ | _______ ___ ______ ___ | | | | | | | \ / \ | | | | |____/ \___ | | | | | \ | | _|_ _|_ _|_ \___/ | |___________________________| +----------------------------------------------------------------------------+ |Re-direct | +----------------------------------------------------------------------------+ There have been countless programs to redirect the screen output to the printer. I thought it would make a nice change to redirect anything for the printer to the screen. Well, it's different! [Listing - REDIRECT.BAS] Stephen Gennard Barnsley, Yorkshire [This program does not seem to work correctly on CPC464 machines. Amstrad Action did not mention this.] +----------------------------------------------------------------------------+ |Weird | +----------------------------------------------------------------------------+ This short routine will stun and amaze you. It will puzzle you up to the eyeballs. Some of the effects are border flash, randomly defined windows, vertical printing, stippling effects. [Listing - WEIRD.BAS] Adrian Sill Doncaster, South Yorkshire +-----------------------------------------------------------------------------+ | Please do not feed the lines | +-----------------------------------------------------------------------------+ This listing prevents two linefeeds being sent to the printer. I find this rather handy, for as my printer is prone to throwing in an extra linefeed after every line. Be careful when entering the program as two data items will need to be altered, depending which Amstrad model you own. [Listing - LINEFEED.BAS] M Burke Bellgreen, Coventry +-----------------------------------------------------------------------------+ | Electronic fiddling | +-----------------------------------------------------------------------------+ You may be interested in this tip if you have more roms than rom sockets and an eprom blower. Modify your eprom card so that pin 27 of the eprom socket (break any connection that this pin may have) is connected to the centre pole of a changeover switch, so that it can be changed to either ground or 5V. Copy your eproms into a 27256, one eprom into the lower 16k and one into the upper 16k. Either of your roms are now accessible by using the switch - not at the same time, of course. Another thing you might like to have is a simple way of using any standard 5½-inch drive on the Amstrad (well, practically any - I haven't yet found a drive for which this won't work). The cable from the Amstrad to the drive will need the disk-ready line grounded - this can easily be done by shorting the last two lines together. The simple program below should be run before using the drive under Amsdos. It slows the disk access rates down so that the drive can be used without the ready line. The drive can also be used under CPM 2.2 by altering the stepping rates in the Setup program. [Listing - SETDISKR.BAS] AA