Long Filename Browser for ZX-UNO / esxDOS
Re: Long Filename Browser for ZX-UNO / esxDOS
Hi, thank you for the excellent browser (it is amazing what can be written).
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
At what point are you taking the snapshot? Can you make a working snapshot from the original NMI browser available somewhere so I can have a look at your issue? Thanks.pangogo wrote: ↑Tue Jun 29, 2021 8:25 pm Hi, thank you for the excellent browser (it is amazing what can be written).
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
- desUBIKado
- Microbot
- Posts: 108
- Joined: Sun Jan 10, 2021 10:27 am
Re: Long Filename Browser for ZX-UNO / esxDOS
I have not had that problem. Here is the snapshoot I have made: https://mega.nz/file/SsAxHaxK#SfnHZQ8ya ... Tt54oMxNTwpangogo wrote: ↑Tue Jun 29, 2021 8:25 pm Hi, thank you for the excellent browser (it is amazing what can be written).
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
Re: Long Filename Browser for ZX-UNO / esxDOS
Greatbob_fossil wrote: ↑Mon Jun 28, 2021 6:15 pm The ULA plugin supports a 64 byte raw palette file and 176 byte .TAP file palettes if they're renamed to a .ULA extension.
As you might know, as the palette .tap is a loader, it's already possible to merge the loader and game .tap to a new .tap, basically making it an all-compassing "container" format. What the method you're thinking of would have as an extra, is to also be able to use raw palette files.bob_fossil wrote: ↑Mon Jun 28, 2021 6:15 pm It's a good idea - I had a similar thought of making a container file format that wrapped the palette and game file together somehow so you'd just launch that instead.
What my aforementioned utility does is merging the palette tap loader and game tap, basically creating such an all-compassing "container".
This was also to offer people a simplified way of loading their ULAplus coloured game as else people have to first load the loader and then the game, which can be a bit fiddly on emulators, as most have options that "reset" their state when loading a tap file, effectively also resetting the ULAplus palette.
When testing Browse now more with ULAplus, I noticed that you seem to also reset/disable ULAplus before loading a .tap, also disabling the intended use of the palette loader.
With the original NMI menu, one can first load the palette, then attach the game-tap for input, exit the menu (will result in a tap-loading error) and then type LOAD "" to load the game, with new palette colours intact.
This is close to how it would work with a physical machine and tape player (save the tape-loading error from happening as the machine would just wait in a loading state for the game-tape to be played).
I can understand that resetting the palette could be convenient as people won't end up with any "remaining" colours from a previously loaded ULAplus game affecting their newly loaded games. But intended behaviour would be to having to do a cold boot to get the default palette again.
What are your thoughts on this? Could the intended behaviour be restored?
I think it would be very charming if it would not be needed to create a "container" with the palette file and the game-tap first as this would mean an extra action that has to be performed non-natively and results in an extra file.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
The default esxDOS NMI browser will also disable any active ULAplus palette when you autostart a tape. If I autoload the Commando palette tap, then insert the Commando game tap, I get Commando with ULAplus colours. If I then enter the NMI and autostart Bruce Lee, the palette is set back to normal.
You can do this in the current browser - autoload the palette tap, enter the NMI, attach the game tape file with Caps Shift + I, exit and the game will load with the ULAplus palette. Again, tested this with Commando.With the original NMI menu, one can first load the palette, then attach the game-tap for input, exit the menu (will result in a tap-loading error) and then type LOAD "" to load the game, with new palette colours intact.
This is close to how it would work with a physical machine and tape player (save the tape-loading error from happening as the machine would just wait in a loading state for the game-tape to be played).
The browser will disable any active modes like ULAplus or Radastan to ensure it's correct colours are shown. They are restored on exit. This is the intended behaviour of my browser (and the default esxDOS NMI browser for ULAplus).I can understand that resetting the palette could be convenient as people won't end up with any "remaining" colours from a previously loaded ULAplus game affecting their newly loaded games. But intended behaviour would be to having to do a cold boot to get the default palette again.
Re: Long Filename Browser for ZX-UNO / esxDOS
I made snapshot in several moments and most of them was not working. Please look at the zip here: https://mega.nz/file/BAo0jAiK#sncOO-fmn ... GE_sZtFLNcbob_fossil wrote: ↑Tue Jun 29, 2021 9:33 pmAt what point are you taking the snapshot? Can you make a working snapshot from the original NMI browser available somewhere so I can have a look at your issue? Thanks.pangogo wrote: ↑Tue Jun 29, 2021 8:25 pm Hi, thank you for the excellent browser (it is amazing what can be written).
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
There are two snapshots made in the almost same moment (nmi_snap is OK, lfb_snap resets computer).
Re: Long Filename Browser for ZX-UNO / esxDOS
Yes, this snapshot works on my computer also. You're happy one:)desUBIKado wrote: ↑Tue Jun 29, 2021 9:34 pmI have not had that problem. Here is the snapshoot I have made: https://mega.nz/file/SsAxHaxK#SfnHZQ8ya ... Tt54oMxNTwpangogo wrote: ↑Tue Jun 29, 2021 8:25 pm Hi, thank you for the excellent browser (it is amazing what can be written).
I face to problems with snapshots with the latest version 0.18 - for example making snapshot of the Zosya game Travel Through Time 1. Any snapshot is somehow damaged, when I start it, the game immediately crashes. When I switch to the original NMI browser and create snapshot via NMI, everything is ok. I made test also with No_MMC_memory version, but the same result.
Re: Long Filename Browser for ZX-UNO / esxDOS
An alternate maybe the usage of the "SpeedDial"-Function of this LFN-Browser:
From "ZX-UNO / esxDOS File Browser v0.18 Manual" = File "manual.txt":
Speed Dials
-----------
You can jump to a specific folder or launch a specific file by using the speed dial system to associate them with the Symbol Shift 1 - 9 keypresses. You can create a file:
/bin/bplugins/_spd.dat
which is a text file that can contain the following layout:
1=/
2=/tap/games
3=/tap/demos
4=/pzx
5=/screens/gigasc~1
6=/trdos
7=/music
8=/tap/games/manicm~1.tap
A speed dial entry starts with a number from 1-9 followed by an equals sign and then a path on the disk starting with the / character. In the above example, speed dials are assigned to Symbol Shift 1-8. Symbol Shift + 1 navigates you to the root folder, whereas pressing Symbol Shift + 3 takes you to 'demos' sub folder inside the 'tap' folder. Symbol Shift + 8 will launch Manic Miner. As you can see from the entries for speed dials 5 and 8, the paths are in 8.3 format and don't support long file names.
You can also press Symbol Shift + 0 on a file or folder to assign it to a specific speed dial. You will be prompted to select which speed dial you want to use. If the speed dial you select is already defined, you will be prompted to overwrite it - you need to press Shift + Y to confirm.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
New test version available here.
Added new HAM and ULA plugins. The HAM plugin can display HAM256 and HAM8 ULAPlus images. Code is currently timed to 48k. The ULA plugin will load and apply a ULAPlus palette 176 byte .tap file (https://sites.google.com/site/ulaplus/), a raw 64 byte ULA colour palette or a special container file which loads a palette and starts a game automatically. This has the following layout:
The _INF plugin (Caps Shift + R) now supports extended information for certain filetypes (/BIN/BPLUGINS/INFO). This currently supports .tap, .scl and .trd files.
Also hopefully fixed a reported issue saving snapshots in certain 128k titles (Travel Through Time vol. 1). Saving a snapshot could sometimes cause a crash after exiting the NMI browser. The AY plugin wasn't using the custom browser font and you can now specify a path with the .browse command to start the browser from a specific folder, e.g:
will start the browser in the /bin/bplugins folder.
I've also put together a small media pack to help with testing the ULAPlus plugins and some of the other plugins which is available here.
Added new HAM and ULA plugins. The HAM plugin can display HAM256 and HAM8 ULAPlus images. Code is currently timed to 48k. The ULA plugin will load and apply a ULAPlus palette 176 byte .tap file (https://sites.google.com/site/ulaplus/), a raw 64 byte ULA colour palette or a special container file which loads a palette and starts a game automatically. This has the following layout:
Code: Select all
ULA!
PALETTE=ULAPLU~1/NINJAJAR.ULA
GAME=NINJAJ~1.TAP
Also hopefully fixed a reported issue saving snapshots in certain 128k titles (Travel Through Time vol. 1). Saving a snapshot could sometimes cause a crash after exiting the NMI browser. The AY plugin wasn't using the custom browser font and you can now specify a path with the .browse command to start the browser from a specific folder, e.g:
Code: Select all
.browse /bin/bplugins
I've also put together a small media pack to help with testing the ULAPlus plugins and some of the other plugins which is available here.
Re: Long Filename Browser for ZX-UNO / esxDOS
I think I found the error, and it´s really HDFmonkey-related: I create, format and fill my .HDF-File with a Windows-Batchfile and HDFMonkey.EXE. Having a closer look I´ve seen an error "Directory creation failed: Access denied" while putting files from a directory into the .HDF-File. Problem is not really an "Access Violation" but the .HDF was full/ran out of free space. While this HDFMONKEY "put/copy directories" runs it seems to create a faulty directory-entry for the TMP-Folder which causes FAT-corruption resulting in LFN-Browser getting wrong FAT-data.bob_fossil wrote: ↑Sun Jun 27, 2021 9:24 pmI can't replicate this with the HDF image I use for developing / debugging with Fuse or on the SD Card I use on my ZX-UNO. Both show the contents of /TMP correctly. Is the disk image you're browsing created by HDFMonkey? I've encountered issues during development where using HDFMonkey to put files into HDF files it originally created files went wrong and caused odd corruptions to occur.Luzie wrote: ↑Sun Jun 27, 2021 6:42 pm I discovered another thing (same on v0.16, v0.17 and v0.18 Final): When I go into /TMP, than it end up with Listing of Root-Dir. On Top it shows /TMP/ instead of /. Entering TMP again shows /TMP/TMP/ on Top and so on. But I always get the listing of the /-Directory. Seems only to be the case with the /TMP-Dir:
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
Impressive detective work there!Luzie wrote: ↑Sun Jul 04, 2021 6:27 pm I think I found the error, and it´s really HDFmonkey-related: I create, format and fill my .HDF-File with a Windows-Batchfile and HDFMonkey.EXE. Having a closer look I´ve seen an error "Directory creation failed: Access denied" while putting files from a directory into the .HDF-File. Problem is not really an "Access Violation" but the .HDF was full/ran out of free space. While this HDFMONKEY "put/copy directories" runs it seems to create a faulty directory-entry for the TMP-Folder which causes FAT-corruption resulting in LFN-Browser getting wrong FAT-data.
Re: Long Filename Browser for ZX-UNO / esxDOS
bob_fossil wrote: ↑Sun Jul 04, 2021 11:44 am
...
Also hopefully fixed a reported issue saving snapshots in certain 128k titles (Travel Through Time vol. 1). Saving a snapshot could sometimes cause a crash after exiting the NMI browser. The AY plugin wasn't using the custom browser font and you can now specify a path with the .browse command to start the browser from a specific folder, e.g:
...
Thank you for the fix! It seems to work properly now.
- desUBIKado
- Microbot
- Posts: 108
- Joined: Sun Jan 10, 2021 10:27 am
Re: Long Filename Browser for ZX-UNO / esxDOS
That the 64-byte file with the palette and the special container share the same .ULA extension is confusing to me. Wouldn't it be better to change the extension of the second file to, for example, .UPL - ULAplus launcher -?bob_fossil wrote: ↑Sun Jul 04, 2021 11:44 am
The ULA plugin will load and apply a ULAPlus palette 176 byte .tap file (https://sites.google.com/site/ulaplus/), a raw 64 byte ULA colour palette or a special container file which loads a palette and starts a game automatically. This has the following layout:
Code: Select all
ULA! PALETTE=ULAPLU~1/NINJAJAR.ULA GAME=NINJAJ~1.TAP
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
The idea for containers came after I'd written the plugin which just applied the palette tap or raw palette file. I'll think about it. You can just copy the ULA plugin file in BPLUGINS and rename it to UPL - then rename your container files to the same extension UPL and that should give you the same effect.desUBIKado wrote: ↑Wed Jul 07, 2021 1:54 pm That the 64-byte file with the palette and the special container share the same .ULA extension is confusing to me. Wouldn't it be better to change the extension of the second file to, for example, .UPL - ULAplus launcher -?
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
New test version available here.
The fullscreen preview mode (Symbol Shift + F) code has now been moved into an external plugin (_FUL). This plugin lets the .browse dot command support showing compressed screens from .TAP files and screens from .Z80 files - previously this functionality was limited to the NMI browser. Additional error checking was also added to the No_MMC_Memory version of NMI.SYS when the disk is full and a bug which caused memory not to be restored correctly when you exited the .browse dot command was also fixed.
The fullscreen preview mode (Symbol Shift + F) code has now been moved into an external plugin (_FUL). This plugin lets the .browse dot command support showing compressed screens from .TAP files and screens from .Z80 files - previously this functionality was limited to the NMI browser. Additional error checking was also added to the No_MMC_Memory version of NMI.SYS when the disk is full and a bug which caused memory not to be restored correctly when you exited the .browse dot command was also fixed.
Re: Long Filename Browser for ZX-UNO / esxDOS
I love your browser, use it every day! Thank you!
What would be neat feature, will be a dual pane view mode aka Norton commander, for copy files between folders.
What would be neat feature, will be a dual pane view mode aka Norton commander, for copy files between folders.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
Thanks! I'm not sure how useful that would be as the copying, folder creation and renaming is limited to 8.3 filenames? The long filename support in the browser is read only.
Re: Long Filename Browser for ZX-UNO / esxDOS
My opinion is that this will help much, even if it´s 8.3-filename-only.bob_fossil wrote: ↑Tue Jul 27, 2021 10:05 pmThanks! I'm not sure how useful that would be as the copying, folder creation and renaming is limited to 8.3 filenames? The long filename support in the browser is read only.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
v0.19
I've also put together a small media pack to show off the ULAPlus plugins and some of the other plugins which you can get from here.
- Added HAM plugin to load in HAM8x1/HAM256 ULAPlus images.
- Added ULA plugin to load in ULAPlus colour palettes for games.
- _INF Plugin now supports displaying extended information like content listing for certain filetypes via information plugins stored in /BIN/BPLUGINS/INFO. Currently supports showing additional information for TAP, TRD and SCL files.
- Previous fix in v0.17 to stop the NMI corrupting the current 128k memory bank broke snapshot saving on some 128k titles (Travel Through Time vol. 1).
- Saving a snapshot could also cause a crash after exiting the NMI browser.
- AY plugin now supports the custom browser font.
- You can now specify a path with the .browse command to start the browser from a specific folder.
- Enable 28mhz turbo when doing disk read functions to speed up the process on the ZX-UNO.
- Added additional error checking to No_MMC_Memory version of NMI.SYS when the disk is full.
- Moved full screen mode code into _FUL plugin. .browse dot command now supports showing compressed screens in fullscreen mode.
- .browse command wasn't restoring the 8k memory block at address 40960 on exit.
I've also put together a small media pack to show off the ULAPlus plugins and some of the other plugins which you can get from here.
Re: Long Filename Browser for ZX-UNO / esxDOS
Dear [mention]bob_fossil[/mention] What´s the reason LFN-write-support can´t be handled? WIll LFN-write-handling require to have all the long file names of a FAT-table in memory at one time and that´s "simple too much for the Spectrums RAM"?bob_fossil wrote: ↑Tue Jul 27, 2021 10:05 pm Thanks! I'm not sure how useful that would be as the copying, folder creation and renaming is limited to 8.3 filenames? The long filename support in the browser is read only.
Last edited by Luzie on Sat Aug 28, 2021 11:33 am, edited 1 time in total.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
Short answer is because it's difficult.
Long file names are stored in a series of invalid file entry blocks before the 8.3 filename in the FAT. So I'd have to convert the filename to these blocks and then write them directly to the disk and then update the FAT correctly.There is code available to do this as this is what Linux does to access FAT32 drives but it's way out of scope for a simple file browser / one man hobby project. Reading long filenames is not straightforward - but the data is already on the disk so it's the easier part to handle. Writing long filenames to disk would run the risk of corrupting the disk if not done correctly.
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
Superb. Especially .2browse !
- bob_fossil
- Manic Miner
- Posts: 669
- Joined: Mon Nov 13, 2017 6:09 pm
Re: Long Filename Browser for ZX-UNO / esxDOS
New test version available here.
Plugins can now support per plugin configuration files, e.g. the WAV plugin can load /BIN/BPLUGINS/CFG/WAV.CFG file for settings. The new .plugcfg command lets you configure settings for a specific plugin, e.g. Ensure you copy across the /BIN/BPLUGINS/CFG folder and plugins.ini file inside it. If no file is present in the CFG folder, the plugin will default to it's normal behaviour.
To configure a specific plugin - in this case the SCR plugin - from BASIC type:
.plugcfg keys:
Browser Up / Down - Select Option
Browser Left / Right - Change option value
Break - Exit without saving
Enter - Exit and save
Currently the PT3, WAV and SCR plugins support configurable settings. The WAV plugin now supports configurable waveform display during playback, the SCR plugin supports configurable slideshow mode and delay and the PT3 plugin supports configurable playback looping and automatically playing the next song when playback ends.
A new RAD plugin to display Radistan bitmaps was also added. See the supplied files in the Screens/Radastan folder in the updated media package.
Plugins can now support per plugin configuration files, e.g. the WAV plugin can load /BIN/BPLUGINS/CFG/WAV.CFG file for settings. The new .plugcfg command lets you configure settings for a specific plugin, e.g. Ensure you copy across the /BIN/BPLUGINS/CFG folder and plugins.ini file inside it. If no file is present in the CFG folder, the plugin will default to it's normal behaviour.
To configure a specific plugin - in this case the SCR plugin - from BASIC type:
Code: Select all
.plugcfg scr
Browser Up / Down - Select Option
Browser Left / Right - Change option value
Break - Exit without saving
Enter - Exit and save
Currently the PT3, WAV and SCR plugins support configurable settings. The WAV plugin now supports configurable waveform display during playback, the SCR plugin supports configurable slideshow mode and delay and the PT3 plugin supports configurable playback looping and automatically playing the next song when playback ends.
A new RAD plugin to display Radistan bitmaps was also added. See the supplied files in the Screens/Radastan folder in the updated media package.
Re: Long Filename Browser for ZX-UNO / esxDOS
Dear [mention]bob_fossil[/mention]: .2browse not yet included in the package? - Am I right?bob_fossil wrote: ↑Mon Sep 13, 2021 9:36 pm New test version available http://www.thefossilrecord.co.uk/wp-con ... T020-1.zip
...