8-Bit Software Online Conversion

ISSUE 21 HARDWARE REVIEW In this article I will be examining one of the hardware expansion options open to users of the Master 128. Next issue I hope to cover a lot more hardware, not necessarily Master-specific; if those of you who own a sideways RAM or ADFS upgrade for the BBC B, or a 6502 second processor with either machine, could give details of who manufactured the upgrade, how reliable it is, how useful it is compared to other possible upgrades etc. then this would be very helpful. Similarly if anyone owns a 512 board, a mouse, Music 500/5000 or anything, please try to give some details, with particular emphasis on how useful you find the hardware. I bought my 65C102 internal co-processor second-hand for #40.00 a few months ago. Also known as the "Master turbo board", and incompatible with the BBC B, the co-processor provides an additional 65C12-compatible processor which runs at 4MHz rather than the Master's 2MHz, but leaves the old processor to carry on doing I/O operations (disk access, keyboard input etc.) while the co-processor board (with its own 64K of RAM) runs languages (such as BASIC programs or word-processors). I am fairly sure the 65C102 is now out of production, though Watford were still selling them new for #115.00 + VAT a year or so ago (a bit much really). Expect to pay about #50.00 for a second hand one, but be careful because (1) they are very delicate to post, (2) you need the little plastic supports to fit it into your computer (see below), (3) you could do with the support disk too (see below). If anyone wants one, I know someone who might sell one for #50.00 or #60.00. I think Acorn replaced the 65C102 with the "Universal Second Processor", which is probably an awful lot slower because it's external. The 65C102 upgrade is essentially just a printed circuit board, about a third of the size of the one already in the Master, with various chips on it. It is attached by four little plastic supports, which fit into the existing Master PCB; the actual connection is achieved by two sets of long pins which fit into connectors in the Master PCB. Actually inserting the board is not that much more difficult than replacing the CMOS RAM battery, though it is a bit fiddly; the co-processor board wouldn't click onto one of the plastic supports properly in my Master, so I just left it, as it seemed fairly firmly attached by the other three supports. Even after adding the board there is still room for an internal modem, and possibly other add-ons as well (I am not sure as to whether you can add a 512 PC upgrade simultaneously; someone said you could, but they would have to be one on top of the other). Once you have inserted the board and screwed the case back together, the co-processor is activated by two *CONFIGURE commands and a hard break; thereafter, you can de-activate and re-activate it with just one command and a hard break. The board occasionally makes barely audible (i.e. really quiet and only just noticeable) high-pitched whining noises, and also creates a fair amount of heat, both of which effects are unusual for Acorn machines. However, both the noise level and the heat level are nothing compared to a 48K Spectrum, and I very much doubt that there is any over-heating or other problems. Also, both effects contribute to the impression that the machine has been made significantly more powerful, which is an important psychological part of buying the thing! When running BASIC, the speed of non-I/O operations is exactly doubled as you would expect, and similar effects are achieved with any language. This is quite impressive if you think about it, and was in fact a much greater speed increase than I had expected. However, you then have to start thinking: what exactly can you do with such a speed increase? I had bought the board because I used the computer a lot, and would be using it a lot more while running 8BS, and so a cheap but powerful speed-up board would inevitably be useful. However, there is relatively little that a faster processing speed is actually useful for, as virtually all applications (word-processing, archiving, disk management & making backups) require so much input/output that a faster language processor will not actually speed them up (if you can only type at 50 words per minute a faster processor won't make you type any faster; and your disk drive stays at the same old speed, and thus archiving and file-copying programs do as well). This means that the pursuit of processor speed for its own sake is largely pointless unless you have a clear idea FIRST of what you intend to use the speed for. This is one of the problems that the Archimedes has; they developed an unbelievably fast chip and then had to go to great lengths to develop new and bizarrely useless applications that would require that much speed, such as ray-tracing and incredibly detailed playable graphics demos which masquerade as "games". To get back to the 65C102, there are things which it would save masses of time at; for example, if you frequently write large assembly language programs, these can take a long time to re-assemble for testing after each modification, and doubling the speed of this is of great use. Similarly programs like slower spell-checkers or text-compressors will benefit immensely from a co-processor, so long as it is processing data that slows them down rather than disk access. Also if you create VERY large or complex spreadsheets, or regularly use number-crunching programs. The other operation which would benefit from faster processing speed is use of a compiler, for more or less the same reasons as assembly language. However, this brings me to the second major problem with the co-processor - compatibility; Dr A.J. Travis' Small C Compiler does not run with the 65C102. I test-ran the co-processor with about thirty games, most of them fairly complex machine-code games, and about two or three simple BASIC games worked, plus the considerably less simple machine-code game "Snacker". Although the 65C102 is a fully compatible co-processor, games which write directly to the screen memory, or access MOS routines illegally (both of which are often done for the sake of speed, but can be easily avoided), will be doing it in the wrong processor; the I/O processor memory is still displayed on screen as normal. As I've said elsewhere, there's no real point in playing games twice as fast anyway, though it would be nice if programmers would make an effort to achieve compatibility. (Even most Acornsoft games fail!) I don't really know what the compatibility situation is with commercial applications or programming software; more expensive compilers etc. are generally more likely to work, but there is certainly no guarantee. The majority (just) of my PD utility programs and ROMs are compatible, and an old commercial database program was as well. You don't need to use a word-processor with the co-processor anyway, as the speed increase is irrelevant (see above). However, all the built-in Master software (View, Viewsheet, EDIT, and, I think, TERMINAL) is compatible, as is, very importantly if you write a lot of machine code, the BASIC assembler. Just to make things quite clear, simply because a program is not compatible with the co-processor, does not mean that you cannot use it while the co-processor is installed; you simply de-activate the board with a *CONFIGURE command and hard break (the equivalent of turning off an external second processor). So compatibility is a major factor to bear in mind, particularly if you wish to upgrade largely in order to speed up third-party applications or programming software. From my point of view, the only serious piece of software which I use regularly that didn't work was the C compiler. Apart from speed, there are other advantages which the co-processor provides. One of the most important from my point of view is the software supplied on the co-processor support disk. This consists of HiBASIC, HiEDIT and BUFFER. HiBASIC and HiEDIT are similar concepts, in that they are versions of the languages already supplied with the Master, but altered so as to run at &B800 in the co-processor rather than &8000, thus leaving 14K or so more memory free. However, while HiBASIC appears to be virtually identical to the BASIC IV already supplied, HiEDIT is actually version 1.16 of EDIT, which provides a number of small but very useful enhancements, such as a facility which tells you if you have saved the document in memory since you last changed it, and prevents you losing data by accidentally over-writing an unsaved file in memory (unless you insist). After using HiEDIT for two months, I find EDIT extremely irksome to go back to (but no slower). You may feel that HiBASIC gives no real advantage when BASIC 128 is already supplied on the Welcome disk, but I find BAS128 very unreliable - in fact I am not sure that my copy works at all. By contrast, HiBASIC is 100% reliable - and also leaves all four sideways RAM banks free. Incidentally, the standard VIEW in the Master appears to locate itself at &B800 automatically, thus giving you 48K of text space. BUFFER is a program which makes use of the main memory in the input/output processor, now redundant since language processing is done in the co-processor, as a 24K printer buffer. Considering that a printer buffer add-on for my printer (of roughly equal size) costs something like #59.00 + VAT, this is an extremely useful feature if you are doing a lot of word-processing. So the principal features of these three pieces of software are concerned with using the additional memory. But the co-processor also saves memory not only by having HIMEM higher but by having PAGE lower - it places it at &800, thus saving more space without any extra software. All this extra memory may seem in a certain sense rather pointless - no commercial or PD program is going to be 48K long, because only users with additional processors could use it. Similarly if you wanted to write more than 30K or so of text on an unexpanded Master, you could always use several files. However, the Master with co-processor is an extremely powerful setup for programs you are writing for your own use. To give an example, while running the program which allows me to access and analyse members' questionnaire data, the BASIC program itself is held in &800 to &2000 in the co-processor. The questionnaire data for all members is held between &2000 and &B800 in the co-processor, thus allowing 400 bytes of data each for a maximum of 97 members (=about 38K of data). Simultaneously, the main memory of the I/O processor is used as a 24K printer buffer, the 20K shadow memory of the I/O processor is allowing me to work in mode zero, and the Master's 12K private RAM is preventing ADFS getting in the way (issues are always prepared in ADFS). Four 16K ROM images containing utility software are loaded into the Master's 64K of sideways RAM for whenever I need them. Meanwhile my favourite setup for using EDIT is stored in CMOS RAM for when I want to go back to working on the disk magazine (EDIT is built into the Master, and HiEDIT stored on my library disk in drive 1 ready-to-run), and the current drive and directory that DFS is working in (to load the questionnaires from members' disks, or check the amount of space free on the current issue) is also stored in the private RAM. I suppose you could implement similar facilities on an unexpanded Master if you were really determined, but you certainly wouldn't fit all that lot in memory at once, and there would be a lot of OPENIN commands! (I just *LOAD DATA 2000 at the start). The BBC B would not even fit in mode zero, an ADFS file buffer and the BASIC program all at once. More to the point, the co-processor can also sort, select or average data (all non-I/O operations when the data is held in memory) twice as fast as a Master and more than twice as fast as a BBC B. So to finally conclude, the 65C102 co-processor is a very powerful upgrade if you are really serious about using the Master 128, and it's convenient too, since it takes up no space at all outside the machine (no cables, no power supply, no nothing). But don't expect automatic compatibility, and don't expect it to speed up your disk drive - or your typing!