ZXZVM for esxDOS

Show us what you're working on, (preferably with screenshots).
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

ZXZVM for esxDOS

Post by bob_fossil »

I have ported John Elliott's ZXZVM to esxDOS. ZXZVM lets you play Z-Machine adventure games (typically the old Infocom text adventures and newer text adventures) on your ZX Spectrum.

This port to esxDOS means you can now use ZXZVM on a 128k / +2 or +2A machine with a divIDE or divMMC, rather than just a +3.

Binaries and source code for my modifications are available here. To load a game you can do:

Code: Select all

.zxzvm <path to story file>
I've also made a video explaining what it is and showing how to use it.
[media]https://www.youtube.com/watch?v=jju8ftUyBm4[/media]
User avatar
Alessandro
Dynamite Dan
Posts: 1910
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: ZXZVM for esxDOS

Post by Alessandro »

Great! :D Although I personally prefer to play text adventures under emulation, this is a welcome feature indeed.

Edit: I tried to test the new command with SpecEmu. Unfortunately it always ends up with an "Invalid PATH" message, regardless if the .Z5 file is in the root of the SD card or into a directory. What am I doing wrong?
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

[mention]Alessandro[/mention] Starting fine with Heroes from: http://nothings.org/games/if/heroes/ for me in SpecEmu,
(with:

Code: Select all

.zxzvm -c1 heroes.z5
(HEROES.Z5 is stored in Root of SD-Card)
but after showing this screen:

Image

SOLVED - See next posting!
Original Question: it seems to hang - or have I to wait longer?
Last edited by Luzie on Thu Jan 13, 2022 5:39 pm, edited 1 time in total.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

[mention]bob_fossil[/mention] Directory BIN\BPLUGINS in zxzvm_latest.zip is empty? Is that right? Where can we find/enable PlugIn for e.g. .Z5-Files? PlugIns only running with divMMC-Interface/Expanded Memory?
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

Luzie wrote: Thu Jan 13, 2022 5:05 pm @bob_fossil Directory BIN\BPLUGINS in zxzvm_latest.zip is empty? Is that right? Where can we find/enable PlugIn for e.g. .Z5-Files? PlugIns only running with divMMC-Interface/Expanded Memory?
Apologies - I've updated the zip file. My script to package up the files for a release wasn't including the plugins. ZXZVM will work without divMMC extended memory but the browser plugins won't.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Luzie wrote: Thu Jan 13, 2022 4:24 pm @Alessandro Starting fine with Heroes from: http://nothings.org/games/if/heroes/ for me in SpecEmu,
but after showing screen it seems to hang - or have I to wait longer?
SOLVED: Runs OK under Fuse. Seems I just have to wait some time longer for the thing to get started:
Image
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

Luzie wrote: Thu Jan 13, 2022 5:41 pm
Luzie wrote: Thu Jan 13, 2022 4:24 pm @Alessandro Starting fine with Heroes from: http://nothings.org/games/if/heroes/ for me in SpecEmu,
but after showing screen it seems to hang - or have I to wait longer?
SOLVED: Runs OK under Fuse. Seems I just have to wait some time longer for the thing to get started:
Image
Yes, it takes rather a long time to start up. I put Fuse at 400% speed and it still took a while to get going. I need to investigate. The +3 version of ZXZVM has some disk caching code which I didn't implement for esxDOS as I was hoping accessing data off the SD Card would be faster than a physical floppy disk.
User avatar
Alessandro
Dynamite Dan
Posts: 1910
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: ZXZVM for esxDOS

Post by Alessandro »

I tried to make it work under Fuse. Nothing changed :(
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Alessandro wrote: Sun Jan 16, 2022 10:07 am I tried to make it work under Fuse. Nothing changed :(
Have you copied in the given filestructure/File-Tree?!:

Code: Select all

│   manual.txt
│   
├───BIN
│   │   ZXZVM
│   │   
│   ├───BPLUGINS
│   │       Z3
│   │       Z5
│   │       
│   └───_ZXZVM
│           zxgrph32.fnt
│           zxio.bin
│           zxzvm.bas
│           zxzvm.bin
│           zxzvm32.fnt
│           
└───src
    └───zxzvm
            annecall.inc
            annedbg.zsm
            annedisc.zsm
            anneio.zsm
            annelint
            annemem.zsm
            annemenu.zsm
            anneos.inc
            annescr.zsm
            annescrl.zsm
            annevt.zsm
            copying
            disc16_0.ufi
            disk.txt
            esxdep.zsm
            file_id.diz
            in_ver.inc
            in_wrhex.inc
            in_zxzvm.inc
            joybdos.zsm
            joyceinp.zsm
            joyceio.zsm
            joycemem.zsm
            joycescr.zsm
            joycrtp.zsm
            joyfont3.xbm
            joyfonta.xbm
            joyuserf.zsm
            Makefile
            p3bas.tap
            p3dep.zsm
            pcw16.doc
            README
            resibas.tap
            residep.zsm
            source.doc
            vm.zsm
            vm0ops.zsm
            vm1ops.zsm
            vm2ops.zsm
            vmarith.zsm
            vmdebug.zsm
            vmdict.zsm
            vmeops.zsm
            vmobj.zsm
            vmprop.zsm
            vmvar.zsm
            vmvops.zsm
            vmzchar.zsm
            xbm2zsm.c
            zx64.zsm
            zxesxdos.zsm
            zxfnt32.zsm
            zxfnt323.zsm
            zxfnt643.xbm
            zxfont32.bin
            zxfont64.xbm
            zxio.zsm
            zxp3dos.zsm
            zxvers.zsm
            zxzvm.doc            
User avatar
Alessandro
Dynamite Dan
Posts: 1910
Joined: Wed Nov 15, 2017 11:10 am
Location: Messina, Italy
Contact:

Re: ZXZVM for esxDOS

Post by Alessandro »

Thanks [mention]Luzie[/mention], but are source files needed as well? I did not copy them.

However, I copied them in the root of the SD card as you did. Again, it returns "Invalid PATH" :cry:
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Alessandro wrote: Sun Jan 16, 2022 10:39 am Thanks @Luzie, but are source files needed as well? I did not copy them.
I don´t think so, but not yet tried without them,
Alessandro wrote: Sun Jan 16, 2022 10:39 am However, I copied them in the root of the SD card as you did. Again, it returns "Invalid PATH" :cry:
Strange. Do you have the possibility to binary check/compare the files on the SD-Card to the files in the ZIP-archive? E.g. with Total Commander?
Maybe you should run a CHDKSK on the card if there´s trouble in the file-structure of the SD-Card or CF-Card if you are on divIDE?
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

You just need to copy the BIN folder in the zip file into the BIN folder on your SD Card or drive you're using. You don't need to copy manual.txt or the src folder over.

I assume entering the command on it's own:

Code: Select all

.zxzvm
you get the usage screen.

If you do:

Code: Select all

.ls /bin/_zxzvm
Do the contents listed match what is shown at the video at around 5.07? The folder and files need to be there for it to work.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: ZXZVM for esxDOS

Post by Chris23235 »

I get the invalid path also when I try to launch it on the Omni 128. I think it is due to an incompability in the divMMC of the Omni. I can get it work by first trying to run the z3/z5 file from the basic and after getting the invalid path error starting bin/_zxzvm/zxzvm.bas from the long filename browser. Now the zxzvm loads and starts just fine. So it looks like the zxzvm.bas is not found.

I can launch the help screen without any problems from basic by typing .zxzvm.

It works fine from the 128 mode of the n-go so I am pretty sure I set it up correct.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: ZXZVM for esxDOS

Post by Chris23235 »

For clarification when I launch /bin/_zxzvm/zxzvm.bas the way I describe in the earlier post it starts the z3/z5 file I tried to launch earlier from the basic.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Would be best, if you can upload a ZIP-File of all the files/directories of your card to test against here. Or provide a .HDF-File of it, if you can create it with e.g. HDFmonkey GUI HDFgooey (Download: http://zxbasic.uk/files/hdfgooey-latest.zip)
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: ZXZVM for esxDOS

Post by Chris23235 »

Luzie wrote: Tue Jan 18, 2022 5:02 pm Would be best, if you can upload a ZIP-File of all the files/directories of your card to test against here. Or provide a .HDF-File of it, if you can create it with e.g. HDFmonkey GUI HDFgooey (Download: http://zxbasic.uk/files/hdfgooey-latest.zip)
This is the content of my Omni Card (without the other software)

https://mega.nz/file/wctB1K4A#5XoOFEZ-0 ... g9YTIqjqWg
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Chris23235 wrote: Tue Jan 18, 2022 7:07 pm
Luzie wrote: Tue Jan 18, 2022 5:02 pm Would be best, if you can upload a ZIP-File of all the files/directories of your card to test against here. Or provide a .HDF-File of it, if you can create it with e.g. HDFmonkey GUI HDFgooey (Download: http://zxbasic.uk/files/hdfgooey-latest.zip)
This is the content of my Omni Card (without the other software)

https://mega.nz/file/wctB1K4A#5XoOFEZ-0 ... g9YTIqjqWg
Thank you. Will take a look today or tomorrow.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Alessandro wrote: Wed Jan 12, 2022 9:35 pm Great! :D Although I personally prefer to play text adventures under emulation, this is a welcome feature indeed.

Edit: I tried to test the new command with SpecEmu. Unfortunately it always ends up with an "Invalid PATH" message, regardless if the .Z5 file is in the root of the SD card or into a directory. What am I doing wrong?
Dear [mention]Alessandro[/mention] Can you please tell us the complete command you send before you get the "Invalid PATH" error message? Which esxDOS-Version you are using? divIDE or divMMC?
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

Chris23235 wrote: Tue Jan 18, 2022 7:07 pm
Luzie wrote: Tue Jan 18, 2022 5:02 pm Would be best, if you can upload a ZIP-File of all the files/directories of your card to test against here. Or provide a .HDF-File of it, if you can create it with e.g. HDFmonkey GUI HDFgooey (Download: http://zxbasic.uk/files/hdfgooey-latest.zip)
This is the content of my Omni Card (without the other software)

https://mega.nz/file/wctB1K4A#5XoOFEZ-0 ... g9YTIqjqWg
[mention]Chris23235[/mention] Your files are with esxDOS 0.8.7. With this, I get the "Invalid Path"-Error. Updating it to esxDOS 0.8.9 .ZXZVM works without error (under Fuse Emulator).
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: ZXZVM for esxDOS

Post by Chris23235 »

Luzie wrote: Wed Jan 19, 2022 7:51 pm
Chris23235 wrote: Tue Jan 18, 2022 7:07 pm

This is the content of my Omni Card (without the other software)

https://mega.nz/file/wctB1K4A#5XoOFEZ-0 ... g9YTIqjqWg
@Chris23235 Your files are with esxDOS 0.8.7. With this, I get the "Invalid Path"-Error. Updating it to esxDOS 0.8.9 .ZXZVM works without error (under Fuse Emulator).
@Luzie Ah, that's the reason, many thanks for checking it. Then it will not work on the stock Omni at least. To update the esxDOS of the Omni it is necessary to program the EEPROM in a programmer and as I don't have one here I am stuck at 0.87 at the moment. I guess when 0.9 is released and is worth the hassle of updating this way, I will pick up a programmer for this.
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

v0.02
  • Performance improvement for games that access the disk / file frequently (more noticeable on larger story files). Curses is now playable and Heroes now starts up much faster.
Download here.
User avatar
Luzie
Manic Miner
Posts: 910
Joined: Fri May 01, 2020 2:07 pm

Re: ZXZVM for esxDOS

Post by Luzie »

bob_fossil wrote: Sun Jan 23, 2022 10:14 pm v0.02
  • Performance improvement for games that access the disk / file frequently (more noticeable on larger story files). Curses is now playable and Heroes now starts up much faster.
Download here.
Thank you!

Will be included into next issue of my "Almost (In-) Complete List of esxDOS DOT-Commands" viewtopic.php?f=2&t=4075 incl. Hint: "Works with esxDOS 0.8.9. Seems not to be working with esxDOS v.0.8.7 and esxDOS v0.8.8. (Trying on these reports "Invalid PATH" or "No such COMMAND, 0:1")."
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

For people having trouble with the zxzvm dot command on esxDOS 0.87/0.88, does this test dot command work any better? Just copy it into your /BIN/ folder. It loads the files directly rather than through the .bas loader.
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: ZXZVM for esxDOS

Post by Chris23235 »

bob_fossil wrote: Mon Jan 24, 2022 11:03 pm For people having trouble with the zxzvm dot command on esxDOS 0.87/0.88, does this test dot command work any better? Just copy it into your /BIN/ folder. It loads the files directly rather than through the .bas loader.
Hi Bob, unfortunately not, with this dot command my Omni simply resets after launching a file from the browser.
User avatar
bob_fossil
Manic Miner
Posts: 659
Joined: Mon Nov 13, 2017 6:09 pm

Re: ZXZVM for esxDOS

Post by bob_fossil »

Chris23235 wrote: Tue Jan 25, 2022 6:55 am
bob_fossil wrote: Mon Jan 24, 2022 11:03 pm For people having trouble with the zxzvm dot command on esxDOS 0.87/0.88, does this test dot command work any better? Just copy it into your /BIN/ folder. It loads the files directly rather than through the .bas loader.
Hi Bob, unfortunately not, with this dot command my Omni simply resets after launching a file from the browser.
One problem at a time. Can you load a story file directly from BASIC with this updated dot command?
Post Reply