My Novice experience with +3e ROMs in a +3

For experts to discuss very technical stuff and newbies to ask why the Spectrum they bought off ebay doesn't work.
Post Reply
ChrisZx
Drutt
Posts: 35
Joined: Tue Mar 12, 2019 5:08 pm
Location: Brit in Germany

My Novice experience with +3e ROMs in a +3

Post by ChrisZx »

Thoughts/musings on using +3e ROMs.

These days, ZX Spectrum use for gaming on original hardware has been made very easy with DivMMC devices, which allow for the storage of thousands of games and instant loading using arrow keys from a menu!

All very well for the vast majority of people (and no doubt it is the best way to load programs onto a non +3 Spectrum), but I personally find it a bit too 'console-y' and prefer to move games and data around and to actually use my +3 a bit like a computer instead of just a games console. I don't know why, I suppose it's just nostalgia and it makes me feel like I'm actually doing something! I bought a DivMMC with that in mind, but knew that I would not be able to move things around freely from or to the new mass storage device, e.g. to move data from the original 3" disks to the DivMMC storage. The reason for this is that basically the DivMMC completely takes over the Spectrum and lands you in its own older style keyword based 48k ROM as if you'd chosen '48 BASIC' from your +3 (but incidentally the DivMMC 'takeover' does fully support 128k programs). It therefore does not allow for the use of +3 basic, which is needed for disk access.

So, I read up on Garry Lancaster's +3e ROMs (plural, as there are 2 physical ROMs in the machine and both must be replaced) and decided to give those a go. The ROM data is freely available in several different formats and languages and is approved by Amstrad, so completely legal. I got a man with an EPROM burner to burn the data onto EPROMS labelled A and B. I opened up my +3 and replaced the original A and B ROM chips. The +3e ROMS include a number of new commands and were originally developed nearly 20 years ago with IDE hard disks in mind, which would have been the cheapest and most widely available mass-storage method at the time. The ROMs have been developed further and the current version 1.43 supports SD card storage, even though most of the info out there is aimed at people using IDE devices or Compact Flash cards as the storage medium.

My DivMMC device has a switch to disable its Esxdos from auto-booting, which is essential, as it stops the DivMMC completely taking over the Spectrum ROM and allows the +3 to start as normal.

I inserted a new blank SD card and started my new 'Spectrum +3e'. When it starts you are greeted with the familiar screen where you are prompted to chose 'Loader', '+3 BASIC' etc, but with exciting changes - newer copyright dates and the overview of your available drives.

Performing a 'cat tab' shows the detail of the available drives, partitions and assigned drive letters and I was pleased to see that my SD storage card was recognised.

I formatted the SD card using the 'Format to' command and assigned the drive letter 'G:' to a new 16mb sized partition called 'Games'. Ok, that was easy, but now the really hard part: how to move data from somewhere non Speccy to that SD card and to be able to use it on the Spectrum...PCs cannot read the +3DOS formatted SD card (it simply shows as blank) and vice versa - unlike using the DivMMC card as it was designed, with its clever autobooting Esxdos and menu system.

Apparently there are ways to create a shared 'Disk' so that both a PC and the +3 can access it, which involves creating a partition for +3DOS and another as a FAT windows partition. I couldn't get this to work though, probably because it really only applies to hard disks and SD cards are classed as removable media and cannot be partitioned. I've just ordered an IDE to SD adapter and will try that to fool my PC into thinking that the SD card is a hard disk.

So how on earth do I get data onto the +3's new hard disk?! I am either too stupid to find software that I could understand and that worked for me, or I currently lack the correct equipment as mentioned above. I was however, able to work around it in a limited and slightly time consuming way, by using 3.5" floppy disks. Using a lead I bought from Greece I connected a standard PC floppy drive to my +3 and switched it to drive 'A:' (not that that matters much for this). The +3 uses the same DOS as the disks for the Amstrad CPC range, and I found a utility for Windows XP called CPCDiskXP (v 2.5.1). Fortunately I was able to find an old PC with Windows XP and a floppy drive controller. With a 3.5" DD disk in my old PC drive A: I was able to format it as AMSDOS using CPCDiskXP and then write data to it, either complete .dsk images or individual files (or a combination of both). Individual files in either .SNA or .Z80 format are most useful. The resultant disks work perfectly in my +3's new 3.5" drive.

It is a bit long winded of course, because despite the data being small in size, so is the available space on a 3.5" floppy disk when it is formatted to standard +3 spec (170 odd kb per side, and I haven't been able to fully utilise both disk sides yet). Later I want to experiment with a utility called 'MultiFormatter' by Garry Lancaster which apparently allows you to format 3.5" disks with up to 828k... I don't know whether or not my CPCDiskXP program will be able to utilise that potential space.

Anyway, once you have files in .Z80 or .SNA format on your floppy disk, they can easily be copied over to your mapped hard drive letter. Once there, they can be loaded by using the +3e command 'spectrum "filename.z80" ' instead of the old 'load' command. Excellent, I now have a few things on my +3e hard drive that I can actually use. It's not perfect though as there are a few games I have encountered that do not load.

I'd love to hear other experiences from people that are using a Spectrum +3 with +3e ROMs.

If you want to try the +3e ROMs just for the sake of it (you can revert back to original +3 spec by simply replacing them with the original pair) I can probably get ROMs burnt by a man here in Germany for just a few quid each.

Useful links:

+3e homepage, including the +3e ROMS and lots of info by Garry Lancaster:

http://www.worldofspectrum.org/zxplus3e/index.html

The DivMMC Enjoy (I'm sure most people have seen these. Other similar devices are available which will probably also work with SD cards that don't have Esxdos installed):

https://www.bytedelight.com/?product=di ... oy_pro_one

The nice chap in Greece on eBay making and selling cables to connect a 3.5" drive (he has the same username on Sellmyretro and n.b. you also need a separate power supply for the external drive):

https://www.ebay.co.uk/itm/Amstrad-CPC- ... 2358047844

The CPCDiskXP software for reading Amstrad/+3 format disks on a PC (note, I think you need a proper floppy drive connected to a floppy controller on the motherboard - USB floppy drives seem to be problematic):

http://www.cpcmania.com/cpcdiskxp/cpcdiskxp.htm
Just messin' around with 8 bits.
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: My Novice experience with +3e ROMs in a +3

Post by Guesser »

ChrisZx wrote: Sun May 05, 2019 6:42 pm Apparently there are ways to create a shared 'Disk' so that both a PC and the +3 can access it, which involves creating a partition for +3DOS and another as a FAT windows partition. I couldn't get this to work though, probably because it really only applies to hard disks and SD cards are classed as removable media and cannot be partitioned. I've just ordered an IDE to SD adapter and will try that to fool my PC into thinking that the SD card is a hard disk.
SD cards can be partitioned, but that's really not what you want anyway. Windows still won't be able to read the +3DOS partitions and the +3e won't be able to read the FAT partitions. The only difference is that they'll to be on the card at the same time. You could do this if you wanted to use the same card with both the +3e ROMs and ESXDOS, but neither will be able to use the data of the other if that makes sense.
User avatar
Guesser
Manic Miner
Posts: 639
Joined: Wed Nov 15, 2017 2:35 pm
Contact:

Re: My Novice experience with +3e ROMs in a +3

Post by Guesser »

ChrisZx wrote: Sun May 05, 2019 6:42 pm It is a bit long winded of course, because despite the data being small in size, so is the available space on a 3.5" floppy disk when it is formatted to standard +3 spec (170 odd kb per side, and I haven't been able to fully utilise both disk sides yet). Later I want to experiment with a utility called 'MultiFormatter' by Garry Lancaster which apparently allows you to format 3.5" disks with up to 828k... I don't know whether or not my CPCDiskXP program will be able to utilise that potential space.
I would recommend formatting DD disks to 708kB using Garry's MFORMAT. This is essentially the same format as an MS DOS 720kB disk, just with a +3DOS filesystem (you can even image and write back these with certain USB floppy drives).

The usual method for getting things onto a +3e disk is to format the card in the +3e, move it to a PC and create an HDF image, then use an emulator or the '3E' utility to add things to the image. Then you can write the image back to the card and put it back in the +3e.
There's also a graphical front-end for '3E' called 'StrowSaw'.

http://www.worldofspectrum.org/zxplus3e/transfers.html
ChrisZx
Drutt
Posts: 35
Joined: Tue Mar 12, 2019 5:08 pm
Location: Brit in Germany

Re: My Novice experience with +3e ROMs in a +3

Post by ChrisZx »

Thanks Guesser. I couldn't get on with StrowSaw it kept mis-behaving for me, but I shall persevere.
Just messin' around with 8 bits.
ChrisZx
Drutt
Posts: 35
Joined: Tue Mar 12, 2019 5:08 pm
Location: Brit in Germany

Re: My Novice experience with +3e ROMs in a +3

Post by ChrisZx »

I can't get on with .hdf images! I attempted to create an hdf of a +3e formatted SD card using Drive Image (v1.35). Setting as 32 sectors, 8 heads, HDF256 mode then 'Create Image'. With the resultant file I tried to open it in StrowSaw but get a 'Fatal Error: Error getting partition table'.

I also tried to open the same file using the EightyOne Emulator, but that doesn't seem to work either (after I had loaded the +3e ROM into it - not sure if it properly supports SD cards I could only see options for IDE).

But what did work very nicely is the Garry Lancaster MFORMAT tool. I had to create a wav of that and load it via tape input, but obviously it's only basic so I saved that straight to 'HD'. I formatted a couple of disks to 708k and was able to write to them with CPCDiskXP.
Just messin' around with 8 bits.
ChrisZx
Drutt
Posts: 35
Joined: Tue Mar 12, 2019 5:08 pm
Location: Brit in Germany

Re: My Novice experience with +3e ROMs in a +3

Post by ChrisZx »

I did it! Got there in the end with transferring to/from a +3 formatted SD card using Windows.

It took quite a bit of playing around to get this right. Both Drive Imager and StrowSaw are excellent, but there are a few confusing things due to unconventional names of certain features. This is what worked for me in case it's ever useful to someone:

Use a 'small' SD card with a capacity of 2gb or less. It does work with larger ones, but takes absolutely ages.
Start your +3 with +3e ROMs (if you don't have +3 ROMs, this won't work!).
Use FORMAT TO to format the SD card within your Spectrum DivMMC.
Create a partition on the SD called whatever you like, using NEW DATA.
Map the partition to a drive letter using MOVE .. IN and ASN (I think you can probably map a partition later on, but it makes sense to do it after partitioning).
Do a CAT TAB and note the drive geometry, i.e. number of Cylinders, Heads and Sectors.
Turn off, remove the SD card.

On a Windows PC (mine is running XP Home):

Insert the SD card.
Obtain and run "Drive Imager" by P Putnik.
It should recognise the SD card and show it in its list of detected drives.
Click it to highlight it and it should see it as PLUSIDEDOS and show the correct number of Sectors,Heads,Cylinders (check with what you noted after the CAT TAB on the Spectrum).
Under "Image Format" select the HDF option (NOT the HDF256 option - that had me stuck for ages!)
Then select "Read from sel'd".
Give your HDF image a file name and press save.
It generates the .hdf file - for a 2gb SD card it takes about 3-4 mins.

When that's done, open the StrowSaw program by Davide Guida (which will also need 3E.EXE by Miguel Jodar).
Go to File>Open Hard Disk Image and browse to find the .hdf file you just saved using Drive Imager.
Open it and you should see a PLUSIDEDOS system folder and below that will be a folder named the same as the partition you created on your Spectrum.
Open that partition and use the "Put file(s) in binary mode" to insert files, e.g. .z80, .sna etc into your .hdf image (you probably want to re-name them to keep them under 8 characters or StrowSaw will do it by adding "~" and a number.
Once done, exit StrowSaw.

Go back to "Drive Imager".

Select your SD card from the drive list again.
Select "HDF" again, then use the "Write to sel'd" option.
Pick your .hdf image, then pres open.
It will write the modified (by StrowSaw) image back onto your SD card (a 2gb card took about 6 mins to complete).

Put that card in your Spectrum DivMMC, CAT whatever drive letter you assigned to your partition and you should see the files that you "injected" into the .hdf image with Strowsaw! You can then load them with the 'SPECTRUM' command.

Sorted.
Just messin' around with 8 bits.
Post Reply