Just a few words about the +3ROM:

  1. the original +3B ROM v4.1
  2. a modified ROM v4.1 with some fixes and a blue background
  3. link to the +3e site, an IDE hard disk based +3

Note: the +3 ROM, either version, are copyright Amstrad Plc . Amstrad has kindly given it’s permission for it’s copyrighted material to be redistributed, but Amstrad retains it’s copyright.

(i) The original +3B ROM v4.1

You should know by now that the original, first released +3, had many problems with the +3BASIC.

Ian Collier has an exhaustive document on this, The Canonical List of +3 Oddities . The document applies to the first +3 release, equipped with ROM v4.0.

Then, there was a the second +3 release, equipped with ROM v4.1. With reference to Ian Collier’s document, I have not checked each flawed address of the ROM v4.1. This is a difficult task, as the new ROM has been reassembled (by Amstrad) and almost all address reference from ROM0 and ROM1 is shifted. However, I checked randomly a few of them and found that some of the “original” bugs are still present. For example (with reference to Ian Collier’s document), the one from address #01D7 and #022F in ROM0. Or address #0769 in ROM1. Or the example 6.

However, there are, for sure, some bug fixes. I am aware of these ones:

  • (v4.1) fixed: the parallel printer port
  • (v4.1) fixed: the SPECTRUM command (go into 48K mode)
  • (v4.1) fixed: the buffer used by the COPY command, starting at address #ED11, is now located in page 7
  • (v4.1) fixed: error messages address table is now complete, including the reference for “You should never see this” and “Hello there !” (useless, but funny) messages
    (if ever need it, the global error messages address table reference begins at address #2705 in ROM1 v4.0, at address #2873 in ROM1 v4.1 english version and at address #2881 in ROM1 v4.1 spanish version; for example, Tasword 3 for +3 makes direct use of this table, see its page for details)
  • Note: even so, the “Hello there !” (useless) message still has a bug, in that they forgot to set the high bit (bit 7) of the string ending character (i.e. the code of the exclamation mark remained #21 instead of being set to #A1); because of this, executing RST #08 with error code #51 will give a distorted “Hello there !?f” message, because the display routine will stop at the first encountered high bit byte, which happens to be two bytes “later”.

But, they introduced a new bug:

  • (v4.1) new bug: involves disk copying commands; in case of any error (say, write protect on destination disc, but can be anything else) the error message shown is "Drive not ready"

If anyone is interested in this ROM version:

The archive contains three ROM size groups – 1×64KiB, 2×32KiB and 4×16KiB – that are suitable either for emulator usage or for physical EPROM writing, where applicable.

I also have the original +3B ROM v4.1 Spanish version. It retains all the bugs and fixes of the v4.1 English version.

Likewise, this one also contains three ROM size groups as mentioned before.

(ii) A modified ROM v4.1

Today I am using a slightly modified version of ROM v4.1.

This ROM is available in two versions, of which one has 4ms head stepper motor timing. If you have replaced your original Amstrad 3” drive with a 720K 3.5” one, or are using two 720K 3.5” disk drives, then using this version will greatly improve the disk access speed under +3DOS environment.

Notable changes:

Snapshot of the blue +3BASIC inteface
A new look...
Because of the 50Hz TV screen flicker, the original white background irritate my eyes when working for long time at the +3 in BASIC mode (whereas the blue background less, or not at all)
  • fixed: the new bug mentioned above in the (i) chapter, introduced with ROM v4.1
  • change: the +3BASIC interface colors have been changed to blue background and white font (same as default colors on CP/M Plus for +3)
  • minor change: formatted disks with the +3BASIC format command have now interleave factor 3, thus giving a slightly faster disk access speed in some circumstances (however, the format command is still limited to 180K disk capacity)
  • fixed: the disk catalog; irrelevant for normal 3" disk users, but important for 3.5" disk users, where more than 64 directory entries on disk were not displayed
  • fixed: the duplication of two disks (COPY"A:"TO"B:" command) is now compatible with 720k disks, if both A: and B: drives are of 720k type
  • fixed: the "COPY" command will give a full printer screen copy (all 24*8 lines, not only 22*8)
  • fixed: the ending byte of the “Hello there !” (useless) error message mentioned above in the (i) chapter

I have not given any new name to this +3ROM version. The blue background is enough for me to differentiate between two different ROM equipped machines.

This archive also contains the three ROM size groups (i.e 1×64KiB, 2×32KiB and 4×16KiB), but these are further expanded based on stepper motor timing value:

  • the ROM whose filename contains “... _4ms_ ...” is suitable for a physical +3 with only 720K 3.5” drive(s) in use (either A: or B: or both); it gives faster disk access, because the steper motor timing is set to 4 milliseconds, matching the specifications of practically any 720K 3.5” drive
  • the ROM whose filename contains “... _cms_ ...” is suitable for a physical +3 with the original Amstrad 3” disk drive (still) in use (either A: or B: or both), or a combination of Amstrad 3” and 720K 3.5” disk drives (regardless of A: and B: physical drive select order); here the steper motor timing has still the original 12 milliseconds value, which is required by the Amstrad 3” disk drive

Note: there is only one variable for head stepper motor timing for both drives; it is not possible to have one drive with one timing and the other drive with a different timing.

Important: DO NOT use the ROM with 4 milliseconds stepper motor timing on a +3 that may still use the original Amstrad 3” disk drive !
This timing may also be changed via software (running a program which makes use of the +3DOS DD SETUP jump block in ROM 2), however, such a software must be then reloaded after each computer reset (and, likewise, such a software should NOT BE run if the Amstrad 3” disk drive may be in use).
Please note that if the Amstrad 3” disk drive is connected but not in use, the use of 4ms head stepper motor timing has no undesired effect on the 3” drive.

(iii) The +3e

The latest development regarding the +3 ROM can be found on Garry Lancaster’s section at WOS site, The ZX Spectrum +3e . This is an ambitious project, for adding hard disk support to the +3 (or +2A) computers.

As far as I know, the +3e ROM is based on the original ROM v4.0 as supplied with the first +3.


Go to top