Skip to content

Instantly share code, notes, and snippets.

@mistificator
Last active August 13, 2023 10:44
Show Gist options
  • Star 2 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mistificator/8e8ed63b95d1cea6a51e7e7c28eff4ed to your computer and use it in GitHub Desktop.
Save mistificator/8e8ed63b95d1cea6a51e7e7c28eff4ed to your computer and use it in GitHub Desktop.
How to run ESXDOS in Fuse emulator of ZX Spectrum

How to run ESXDOS in Fuse emulator of ZX Spectrum

1. Preparing disk image

1.1 Getting HdfMonkey, building and installing it

git clone https://github.com/gasman/hdfmonkey.git

dpkg-source -b hdfmonkey

dpkg-buildpackage

sudo apt install ./hdfmonkey_0.4.1_amd64.deb

1.2 Creating FAT32 image right way

dd if=/dev/zero of=esxdos.raw bs=256M count=1

  • Install dosfstools for FAT32 support

mkfs.vfat -F32 -s4 esxdos.raw

  • Install fuse-emulator-utils for raw2header

raw2hdf -v 1.1 esxdos.raw esxdos.hdf

hdfmonkey put esxdos.hdf /mnt/c/Downloads/esxdos/* /

2. Running FUSE emulator

2.1 Flashing DivMMC EEPROM

  • Run FUSE (sorry for Windows =)

"C:\Program Files (x86)\Fuse\fuse.exe" --no-divide --divmmc --no-divmmc-write-protect --divmmc-file C:\Downloads\esxdos.hdf C:\Downloads\esxdos\ESXMMC.TAP

  • Press a key to flash DivMMC EEPROM
  • Write protect DivMMC in Options->Peripherals->Disk menu
  • Run debugger in Machine->Debugger menu
  • Enter command br 0 to set breakpoint at 0x0000 address, press Continue button
  • Select Machine->Hard reset
  • When debugger stops executing, select File->Save snapshot, and save as esxdos.szx

2.2 Finally running FUSE with DivMMC

"%ProgramFiles(x86)%\Fuse\fuse.exe" "C:\Downloads\esxdos.szx" --no-divide --divmmc --divmmc-write-protect --divmmc-file "C:\Downloads\esxdos.hdf"

  • That's it

3. Links

Preconfigured +3e machine snapshot, SD-card image and executing script from this tutorial: zip-archive

https://github.com/gasman/hdfmonkey

https://sites.google.com/site/installationubuntu/zx-spectrum/emulate-divmmc

https://oldcomp.cz/viewtopic.php?f=148&t=9256

https://esxdos.org/

https://fuse-emulator.sourceforge.net/

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment