Simon Rockman finds that the memory backpack from DK'tronics really does turn the 464 into a 6128, and more.
Before it arrived Amsoft technical claimed that it was impossible, an early review model required my signature on a non-disclosure agreement. The DK'tronics RAM pack is really something special. Perhaps the excitement was heightened by the extended wait for it to arrive. However it certainly was not a case of the anticipation being better than the event. This must be the the best peripheral to have emerged for the CPC 464. The £50 64K expansion is good and useful, the £100 256K expansion is wonderful. This brilliance is less surprising when you know who designed the device for DK. It was none other than Roger Hurrey, one of the people who designed the of 464 hardware at MEJ Electronics.
What use is 256K? If you can get 137 rooms of Jet Set Willy into a 464 do you really want 500 rooms plus in an expanded version? Well not really, but more RAM is always useful. An adventure can have a greater vocabulary, better descriptions and graphics. High-speed games can store detailed graphics, no longer restrained by the time it takes to unpack compressed data. I look forward to the day when someone launches a game which really makes use of the extra memory. There are some techniques which will only be possible when large memories are the norm. Animation of digitised pictures la technique to be used on the forthcoming 'Back to the Future' game) and stored voice synthesis are the most obvious examples. A good digitised voice needs about 4K per second, 5 seconds of speech is a huge overhead in a 64K machine, especially when you consider that nearly half of that is already 'spoken for' by the screen memory and the rest of the program. In a 128K or 320K machine you have got plenty of room for this kind of trimming.
It is the non-games field which will benefit most from all this lovely RAM. The three main uses computers are put to are wordprocessing, spreadsheets, and databases. All three of these suffer when the files get too large. If they are RAM based programs they limit you and refuse to go on once full. Disc based programs suffer from the time it takes to move around a disc. Anyone who has used a database with a sort on disc option will know that even the fastest floppies can seem slow. Extra RAM does not eliminate the problem but it does delay the event, after all even a disc will fill up eventually.
Documentation and Software
It is always difficult to document hardware. Purchasers have such a myriad of uses that it would be impossible to demonstrate how the device can be adapted to all the possible applications. The problem is exacerbated by the differing abilities of the users. The DK Tronics manual conquers this by simply documenting what the device will do. This is mainly software dependant. Each command has a short example. The manual is very informative in the way in which the Amstrad works, although you need to have some understanding of how memory can be used for any purpose before you will get the most from the manual. The software has been very well thought out. There are 14 RSX commands which allow you to access the RAM. The different commands fit in with the different uses the RAM is likely to be put to. The simplest commands save and load the contents of the screen to and from another bank. This happens quite rapidly, but since each screen is 16K and it takes a while to move that much memory, even in efficient machine code, there are extra commands which allow you to have two screens in the main memory and flip between them (in a similar way to the Mode 3 article last month). These commands are |HIGH, |LOW and |SWAP. They can be used to generate a very smooth 16 frame animation. The example program in the manual shows this very effectively. The |LOADW and |SAVEW commands extend the flexibility of the standard windows on the '464. Normally anything overwritten by a window is lost permanently. These RSXes store the information away first and make it much easier to write programs with trendy pull-down menus. A little care needs to be taken to make the best possible use of the extra memory but again the manual is pretty explicit. Combine the AMX mouse and these routines with a bit of clever software and you could write software to shame many an avant-garde business machine. To make data handling that bit easier there are specific data handling commands. These are a bit like the RAM file handling available on the 6128 but are more flexible and more complicated. Records can be different lengths and more than one file can be held at a time. With all those banks to fill there is a load of valuable data which could be lost, disc storage is essential but with up to 256K to be squeezed onto each disc you soon find that the 180K data discs which you once thought of as huge become more than a little claustrophobic. Files will have to be split across more than one disc. This shows another advantage of the RAM pack, you can have a larger file open than is possible using a disc drive. The access to data is very much faster and makes large databases possible without having to resort to complicated keying or hash coding routines. More advanced users may want to access the extra memory directly, without having to mess with screens, strings or windows. There are two commands to read and write to the RAM, these are |PEEK and |POKE, ideal for storing machine code programs in the sideways RAM, and since the RAM is not reset by pressing control, shift and escape you can be sure that the program will stay intact even if it crashes, providing you don't need to switch the machine off. It would be nice to have the option to add battery power to the RAM so that programs could be recovered even if you did have to switch off, unfortunately chips take a fair bit of power and low power chips are very expensive so real battery backed-up RAM would cost more than the whole computer. The I Askram RSX lets you check the state of the ram, and see how much your expansion unit has in it. It is possible to use up to 512K at once.
The final command is I Enable, this goes some way to pursuading the 464 that it is really a 6128, it does not add any of the nifty new Basic commands like Fill or Frame, nor does it move the keyboard addresses in memory, although this problem can be minimised.
The RAM pack really does turn a 464 into a 6128, all you need is to add discs and change the ROM. Unfortunately the new 1.1 ROM is not available as a spare part. This is for good, sound customer service reasons. The strict compatibility path that Amsoft have always offered means that the majority of users would not be aware of the difference. Providing that none of the new Basic commands are used any 6128 program should run on an expanded 464. The extent of the hardware compatibility is shown by running the DK software on a bona fide 6128. All the programs and demos work. The RSXes mentioned above are of use to anyone who programs in Basic on the 6128, perhaps DK will sell the software separately. Both Tasword 6128 and Masterfile 128 are oblivious to the unorthodox origin of the surrogate RAM, they work perfectly but do not use more than 64K of extra RAM.
The most contentious issue of software compatibility is CP/M plus, one of the great advantages of the expanded memory is that CP/M programs have more room to run in. The RAM pack does not affect CP/M 2.2, you still only get the regular 39.5K to run your programs in. CP/M plus gives you a whopping great 61K TPA (Transient Program Area - the space allocated for your program). You can't have this though, even with the total hardware compatibility, and it is those nasty people at Digital Research who won't sell it to you. NewStar have a thing called DPL DOS. For around £30 a copy this will do lots of nice bank switched things in a CP/M plus way but it is not the pukka operating system that much of the CP/M plus software will need to run. If you have a friend with a 6128 you could take a back-up of his disk but that is strictly illegal. CP/M plus won't work straight off, this is part of the rationale behind the I Enable command, although DK'tronics are not too keen to promote the piracy of CP/M plus and don't explain things fully, they also tuck the I Enable command away in the back of the manual.
Even if you use I Enable not all CP/M plus software will run, this is due to the changes in the keyboard scan. The clever engineers at DK have a small software patch which fixes these problems from CP/M.
I have been converted from a total sceptic into a fan of the DK'tronics RAM. The device now has a permanent home on the back of my 464, along with the Maxam ROM board and Honeysoft serial interface. There is one, very slight difference between the expansion and a 6128. If you press control, shift and escape on a 6128 you reset the computer totally. If you do this on an expanded '464 you end up with a corrupt bank of RAM on the screen. This can be fixed by powering down and on again, but what is more worrying is that there is a difference.
All told the DK device is excellent, it is pretty cheap, performs well and comes with software which would make the average 6128 owner go green. I just hope that DK don't want the review model back in a hurry.
Simon Rockman, ACU #8502