Over the last three issues we've taken a fairly detailed look at various elements of the GEM system supplied on the 512's issue discs.
We'll round off our investigation with a brief recap of the items covered, but there are also some overall considerations that will affect the choices you'll need to make.
We looked at the various elements that go to make up the GEM system, so you know that in essence configuring the system only involves the changing and copying of a few files. In the case of the new black and white screen driver this is simply so that the program works at all, while for ASSIGN.SYS the purpose of the changes is to alter the range of fonts at your disposal for display on the screen. The only other thing to do is to copy the appropriate files to the working GEM disc.
However, there are other points to weigh up before you do any of this. The biggest limiting factor on how many font files you can include in your new version of ASSIGN.SYS, for example, will be the amount of free RAM in your 512. This is especially critical in unexpanded machines.
The major factor in this is the number and size of screen fonts to be included, because these are memory resident, even if you don't use them all. As an illustration, just adding the two 36 point font files to a standard system means that only one full size window can be opened in GEM Paint for example. By the way, printer fonts have no effect on memory, as these files are only loaded when they're needed during printing.
You can of course make savings in other areas, for example you can increase memory by discarding the desktop accessories, simply done by deleting their files. If these files are loaded, like fonts, they consume RAM even if you don't use the accessories. CALCLOCK.ACC contains the calculator and print spooler, while SNAPSHOT.ACC is the snapshot file. Removing these two files will save about 40K which GEM can use for other purposes.
On a 1Mb 512 you'll have fewer problems, but you need to make adjustments for GEM to use your extra memory. The line:
in GEM.BAT needs changing, but there's a bit of a compromise here.
Not all GEM applications use allocated GEM memory in quite the same way. GEM Paint for example, stores screen images within the allocated memory, so purely for the purposes of Paint the larger the allocation the better. However, on the other side of the fence, GEM Write stores working documents in the memory remaining outside the specified allocation, so for this application the smaller the initial allocation the better, up to a point.
Of course one possibility is to have a version of GEM.BAT for Paint (perhaps called PAINT.BAT) and another for Write, each with different memory allocations. This does mean however, that importing a Paint file into a document could become very tedious if not impossible, requiring a reboot of GEM between applications.
A more sensible approach is to find a value that suits both applications in your system and, if necessary, stick to smaller documents with more of them. David Harper suggests that 'ADDMEM 500' is a reasonable compromise for expanded memory 512s.
I'll use the rest of this Forum to cover a number of sundry points that, judging by the occasional but regular queries, still cause the occasional bit of head scratching.
First, DOS function keys, with a bit of background thrown in for general interest. There are ten standard function keys on PCs, so a DOS application can reasonably expect to to use all of them if it needs to.
As an aside, in fact there are more on most machines. Twelve is typical on AT-type PCs, but as many as twenty is normal on current models. However, for reasons of backward compatibility with older hardware such as XT-type PCs, only the first ten function keys return a key-code in DOS 'get character' function calls. To read the extra keys, programs must scan the keyboard at a lower level, but most applications don't do this because there are still a lot of ATs, XTs and earlier models in use.
All this means that most programs, except the latest that specify a 386 machine as the minimum, will work on the 512, at least as far as the ten function keys are concerned. The bit that can confuse 512 users is that the function keys are numbered from one to ten on a PC keyboard, while the BBC micro's are zero to nine. There's no problem though, as function key zero in the 512 acts as function key ten in a PC.
I know of one or two quite experienced 512 users who have been caught out by this bogus problem, although it might seem obvious when it's explained. Once again it's a case of Acorn not documenting the facts properly.
I've been asked a few times about what exactly 'XT' and 'AT' mean, particularly with reference to potential software compatibility. Having mentioned both of these this month, here goes.
The first PCs actually used 16-bit processor chips, but memory handling in those machines was old 8-bit technology. The result was that they were slow, since a 'load processor register from memory' instruction required two 8-bit reads of memory. Of course machines improved, and along came the XT, short for 'eXtended- Technology'. These were still slow by today's PC standards, using the same processor chips as their predecessors, (usually an 8086) but at least they had a 16-bit data bus so they were quicker than the earlier models. Intel then started to develop a new generation of processors, of which the 80186 used in the 512 was the first attempt.
The 80186 didn't catch on for PCs, primarily because very shortly after it appeared the 80286 followed (and everyone knew it was on the way). The 286 had more efficient memory management which was quicker still, but which also allowed the processor to address 16Mb of memory as opposed to the 1Mb limit of the earlier processors.
The 80286 processor however, was still a 16-bit device, and retained software compatibility with XTs (and largely the 512 too). All machines using an 80286 chip became generally known as ATs, short for 'Advanced Technology', after the IBM machine range of that name. As can be seen, the 512 fits into the scheme of things somewhere between an XT and an AT, both in terms of its origins and its performance.
After this, hardware remained fairly static for a time, because although the 80386 chip (a 32-bit processor) appeared several years ago, the existing XT/AT software market was much too big to ignore or abandon. Of course DOS was occasionally revised and updated while 'Lotus-Intel-MicroSoft Expanded Memory System' (LIMS EMS for short) appeared during this period too.
Although the 80386 offered yet faster and better memory management, with the potential to address up to 2^32 bytes (4 gigabytes) with higher processor speeds, very little software was produced to exploit the new chip. There were simply too few 386s to make it worthwhile.
Until now that is. The current top of the range PC processor is now the 80486 DX33. This is a monster of a chip with built-in maths co-processor, on-board high-speed instruction cache with prefetch and pipelining, plus dedicated built-in fast memory management circuits. In this chip the processor neither knows nor cares what's happening in the outside world.
The fastest current 486 is 33MHz, the same clock speed as the fastest 386, but there the similarity ends. A 33MHz 486 machine is about four to six times faster than a 33MHz 386 PC and around ten times the speed of a 12/16MHz 286 AT machine. That's not all as a 50MHz 486 is about to appear, plus another add-on chip which doubles the speed of any 486 processor. There's also an 80586 lurking in the future. To put all this in context, remember that the current Acorn ARM3 runs at 25MHz.
Over the last year, since the appearance of 486 machines, the price of 386 machines has not only fallen, but plummeted. What's more, because of aggressive marketing in the backwash from this, so has the cost of a 486 PC. Basic 486 machines were expected to be in the £3,000 to £4,000 bracket upwards (large file-servers and serious CAD machines still are), but it's now possible, with a bit of shopping around, to get an SVGA 486 PC complete with screen and hard disc at around £1,500 and a VGA 386 machine at well under £1000 (for example, BEEBUG can supply their own 33MHz 486 PC for £1699, with SVGA, 60Mb hard disc, 4Mb RAM, a mouse, Windows 3 and MS-DOS 5). In fact these falling prices haven't quite bottomed-out yet.
What's this got to do with the 512? Well, the result of the past year's price wars, plus cessation of 286 chip production, is that both users and software suppliers alike increasingly see at least a 386 SX (a 16-bit version of the 386) as being the minimum entry-level to PC computing. The inevitable consequence of this change in perception is that software is now beginning to appear that simply won't run on a 286 (much less an XT) or if it does the machine is on its knees.
For example, MicroSoft Windows is current 'flavour of the month' (it will probably last longer than a month though) and Windows-only applications are naturally appearing too. It's generally accepted that a 2Mb 33MHz 386DX is the minimum system you should try to use to run this sort of software, but a 4Mb 486 would obviously be very much more suitable.
For the 512 user this unfortunately means that more and more new PC software, including updates to existing packages, can be expected not to run. It isn't a new problem, more of a natural progression, but it's certainly becoming very much more likely that you'll hit problems as a result of the changes of the last twelve months.
The problem isn't only the long known compatibility difficulties of the 512, nor is it the anticipated problems of 32-bit processor architecture. Much more simply it's the amount of processor power needed to drive current applications. If it's any consolation at all, bear in mind that a vast number of XT and AT users are now increasingly finding themselves in much the same boat.
This means that shareware is even more important to 512 users now than before. It's true that 'Windows' shareware is appearing, but shareware is becoming the most likely if not the only place to find new DOS software suitable for trying in the 512. Bear in mind too that existing shareware catalogues will be maintained for the millions of XT and AT users. Conversely, commercial suppliers usually supply and support only the latest version of any package, so when a new one appears the old version is discarded.
There's no need to be depressed; nor to throw your system away and start again. Just like millions of XTs and ATs, the 512 still does a perfectly adequate job for a huge number of applications. I still use mine for writing books and programs. A 486 might be very much faster, but for this sort of job it wouldn't make much practical difference. The only operation in which I'd expect to see any material gain is spell checking, and that's hardly a continuous job.
Maybe your 512 does take a minute to recalculate a large spreadsheet and a fast 486 would do the same job in 2.5 seconds, but does it matter?
I can only paraphrase Mike Williams' words from Postbag in issue 8. Many users still receive excellent service from old and trusted equipment. If you're one of them, why worry about it so long as support continues. Just pity the poor AT owner!