Last modified on 19 July 2020, at 09:33

PCN August 1984

Revision as of 09:33, 19 July 2020 by Robbarton (Talk | contribs)

You all know the feeling: after hours, days or even weeks spent on a particular problem you suddenly see the answer. Or, on one of those late-night expeditions through the memory map you find some undiscovered feature. Well, don't keep it to yourself - send it here. We pay £5 for every tip and routine printed and £25 for a genuine Megawave.

A Character Sketch for the Amstrad

Amstrad owners may be interested to know that if 'SYMBOL AFTER 32' is entered (to redefine the character set), the whole ASCII character set is downloaded from ROM into RAM, starting at &A500 (42240).As there are 224 characters on the Amstrad, each consisting of eight numbers (0-255), these will reside from &A500 (42240) to &ABFF (44031).Characters to the screen are now generated from RAM and not from ROM. These can now be easily manipulated by using either the Basic keywords SYMBOL - to redefine a character - or POKE, to poke numbers directly to the memory locations.To find the start address of an ASCII character, use the following: location = 42240 + (N - 32)*8where N is the ASCII number of the character.If whole new character sets are created it will be quicker to save the memory locations &A500 to &ABFF as a binary file, rather than saving the program which created the new characters. To save the new character set to tape enter: SAVE "CHARACTERS",B,42240,1792To load in the character set first enter 'SYMBOL AFTER 32' to set the character generator to point to RAM, then enter: LOAD "CHARACTERS"The new character set is then loaded into memory. Characters already on the screen are not affected, but any new characters printed to the screen take on the values of the new character set.
David Ellis, Bridgnorth, Shropshire