ESXDOS firmware upgrade instructions

Updated 23 March 2022: added Eprotect utility for DivIDE 57c or clones

Introduction

This document describes how to update the firmware on your DivMMC EnJOY! or DivIDE interface.
This firmware update is not mandatory, but presented here if someone wants to perform it, as the description is not included in the DivMMC EnJOY! or DivIDE manuals, and there are some steps involved that are not obvious.

Follow these steps carefully – if not done correctly, the EEPROM on your DivMMC EnJOY! can be corrupted (which can be solved by loading the utilities by tape input, from either smarthphone or real tape).

Default SD card contents

For the default files that are included with our DivMMC EnJOY! interfaces, get to: https://www.bytedelight.com/?page_id=6741

ESXDOS/firmware update jumper or DIP switch

First, the jumper or DIP switch settings for the DivIDE and DivMMC EnJOY! interfaces, needed for the ESXDOS firmware update.

DivIDE 57C interface

Jumper JP2:
– ESXDOS enabled (default): jumper connected.
– ESXDOS disabled / Firmware update mode: disconnect jumper.

 

All DivMMC EnJOY! versions so far (find yours):

 

DivMMC EnJOY! 2013

‘FLASH’ jumper:
– ESXDOS enabled (default): jumper connected.
– ESXDOS disabled / Firmware update mode: disconnect jumper.

 

DivMMC EnJOY! 2014/2015 versions

DIP switch 1:
– ESXDOS enabled (default): DIP switch 1 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 1 in the ‘OFF’ position.

 

 

DivMMC EnJOY! 2017 versions

DIP switch 1:
– ESXDOS enabled (default): DIP switch 1 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 1 in the ‘OFF’ position.

 

DivMMC EnJOY! *mini* (NOT the ‘PRO MINI’ – see underneath)

DIP switch 3:
– ESXDOS enabled (default): DIP switch 3 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 3 in the ‘OFF’ position.

 

DivMMC EnJOY! PRO ONE

DIP switch 1:
– ESXDOS enabled (default): DIP switch 1 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 1 in the ‘OFF’ position.

 

DivMMC EnJOY! PRO MINI lite

DIP switch:
– ESXDOS enabled (default): DIP switch 1 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 1 in the ‘OFF’ position.

!! NB: note that this single DIP switch has the ‘ON’ position at the top.

 

DivMMC EnJOY! PRO MINI

DIP switch 1:
– ESXDOS enabled (default): DIP switch 1 in the ‘ON’ position.
– ESXDOS disabled / Firmware update mode: : DIP switch 1 in the ‘OFF’ position.

 

Download EPROTECT utility

Download Velesoft’s EPROTECT utility:

Copy the file to the SD card of your DivMMC EnJOY! or DivIDE interface.

Download the new firmware

Download the new ESXDOS firmware for the DivMMC EnJOY! and DivIDE at esxdos.org
Extract the ZIP file.

For the DivMMC EnJOY!: copy ONLY the ‘esxmmc.tap’ from this archive to the SD card at this time.
For the DivIDE: copy ONLY the ‘esxide.tap’ from this archive to the CF card at this time.

Put the memory card into your DivMMC EnJOY! or DivIDE interface and power up the ZX Spectrum.

 

Unprotecting the EEPROM

Before upgrading the firmware, the EEPROM on the DivMMC EnJOY! needs to be unprotected:

  1. Load the EPROTECT TAP file from the NMI menu (short filename is: ‘DIVMMC~1’) 
  2. Set the interfaces to ‘Firmware update mode’ (see photos above)
  3. Press ‘E’ to write enable the EEPROM
  4. Set the interface to ‘ESXDOS enabled’ (see photos above)

 

Upgrading the firmware

  1. Load the ‘esxmmc.tap’ or ‘esxide.tap’ file using the NMI menu (NMI Browser or NMI Navigator).
  2. Wait for the program to load and tell you to set the interface to firmware upgrade mode.
  3. Set the interfaces to ‘Firmware update mode’ (see photos above)
  4. Press any key to start programming the EEPROM; the border will flash for about a minute – wait till this finishes.
  5. Set the interface to ‘ESXDOS enabled’ (see photos above)
  6. Power off the ZX Spectrum.

 

Upgrading the system files on the memory card

Now copy the ‘bin’ and ‘sys’ folders from the extracted ESXDOS ZIP file, to the memory card of your DivMMC EnJOY! or DivIDE interface.
Overwrite the files when asked.

 

Protect the EEPROM

MAKE SURE TO FOLLOW THIS STEP!
If not performed, the EEPROM on your DivMMC EnJOY! might become corrupt, making the DivMMC EnJOY! unusable.

  1. Load the EPROTECT TAP file from the NMI menu (short filename is: ‘DIVMMC~1’)
  2. Set the interfaces to ‘Firmware update mode’ (see photos above)
  3. Press ‘D’ to disable writing on the EEPROM
  4. Set the interface to ‘ESXDOS enabled’ (see photos above)

 

Copy RTC.SYS if it’s missing

With the distribution of ESXDOS 0.8.7, it seems the RTC.SYS file wasn’t a part of the ZIP archive.
Without it, you will most probably get a RTC.SYS error when booting up the system.
If so, download RTC.SYS here, extract the file and copy it to the SYS folder on the SD card.

 

Something went wrong and you’re stuck

If for any reason the upgrade process failes, and your DivMMC or DivIDE interface won’t boot again, you can always load the fimware upgrade from tape or in many cases from smartphone.

Directly from smartphone

You need some device to play a TAP file with, like a smartphone, but not all have high enough output signal level to work on an original ZX Spectrum 48K.
If you’re using a smartphone, you can use an app like PlayTZX / PlayZX (renamed) to be able to play the TAP file.

Officially you need a stereo to mono adapter lead, since the smartphone output is stereo, but a tape cable for the ZX Spectrum, and the input connector, are mono.
Many smartphones work just fine with a mono cable, but it’s at own risk to try.

Copy the ESXMMC.TAP (for DivMMC) ESXIDE.TAP (for DivIDE) file from the ZIP-archive found in the link above, to the device.
Set the jumper/DIP switch to flashing mode as shown above, and load the file.

From real tape

In case your ZX Spectrum can’t load from smartphone directly, you can of course save the file to real tape first.
This will help with creating the correct signal level for the ZX Spectrum.
Then load the file from real tape into your ZX Spectrum.

Again, mind the stereo output of the smartphone: a stereo to mono adapter lead is normally required, since the smartphone output is stereo, but a tape cable for the ZX Spectrum, and the input connector, are mono.
Many smartphones work just fine with a mono cable, but it’s at own risk to try.

 

Get ready player One!

If you followed these steps carefully, your update should now be completed.

Contact me if you are having any problems.

If the ROM is bricked, you can always load the flash utility from tape by disabling ESXDOS first with the corresponding jumper or DIP switch.
A corrupt EEPROM in a DIL socket can be replaced, costing €5 including shipment.

Leave a Reply

Your email address will not be published. Required fields are marked *