Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
kiFla
Drutt
Posts: 2
Joined: Fri Mar 04, 2022 2:49 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by kiFla »

First of all, brilliant work Bob! .browse is just wonderful!
I have problem, In NMI browser can't play .pt2 music files. File start playing for 1 or 2 seconds wits strange noises than stops. No error message, no nothing. .pt1 and .pt3 plays without problems. ESXDOS 0.8.9, last NMI LFB Browser 0.21a4. ZX Nuvo 128 and Just Speccy 128, same problem on both, different SD cards.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

kiFla wrote: Fri Mar 04, 2022 3:11 pm First of all, brilliant work Bob! .browse is just wonderful!
I have problem, In NMI browser can't play .pt2 music files. File start playing for 1 or 2 seconds wits strange noises than stops. No error message, no nothing. .pt1 and .pt3 plays without problems. ESXDOS 0.8.9, last NMI LFB Browser 0.21a4. ZX Nuvo 128 and Just Speccy 128, same problem on both, different SD cards.
Thanks for the bug report, This will be fixed in the full release of v0.21. In the mean time, if you're desperate to hear your PT2 files correctly, the PT2 plugin from v0.19 should be okay. If you download:

http://www.thefossilrecord.co.uk/wp-con ... SE_019.zip

and then extract and copy the PT2 plugin from that over the one from v0.21a4 it should play okay.
kiFla
Drutt
Posts: 2
Joined: Fri Mar 04, 2022 2:49 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by kiFla »

Works now! Thanks Bob!
User avatar
ZXDunny
Manic Miner
Posts: 498
Joined: Tue Nov 14, 2017 3:45 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by ZXDunny »

Mr Fossil, if I may -

What exactly are you storing and in how much space? I'm thinking that to make things easier when creating a directory full of taps and snaps, to write a small app that calculates how many I can put in a single folder before it runs out of cache space and reverts back to the old 8.3 naming convention. So if I know precisely how much space each file will take up in your internals, I can predict where that point will be for a given folder...

IYSWIM.

Cheers :)
User avatar
Luzie
Manic Miner
Posts: 907
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

ZXDunny wrote: Sun Mar 06, 2022 4:58 pm Mr Fossil, if I may -

What exactly are you storing and in how much space? I'm thinking that to make things easier when creating a directory full of taps and snaps, to write a small app that calculates how many I can put in a single folder before it runs out of cache space and reverts back to the old 8.3 naming convention. So if I know precisely how much space each file will take up in your internals, I can predict where that point will be for a given folder...

IYSWIM.

Cheers :)
Dear @ZXDunny , from: viewtopic.php?p=39351&hilit=maximum+426#p39351
bob_fossil wrote: Fri Jun 26, 2020 9:45 am The browser has two 8k buffers. The first is used for disk access and storing the 8.3 filename data. The 8.3 filename data is a fixed size so the maximum amount of entries that the 8k buffer can hold is 426. So if you have more than 426 files in a folder, they won't be shown as the buffer will be full up. The second 8k buffer is where the long filenames are stored. These are not fixed size and could be up to 255 characters in length. In a worst case scenario of a folder with 426 files, the average length of the long filename would be roughly 19 characters per filename. Normally this balances out as you get a mixture of short, medium and long filenames which all fit inside the buffer.

From your description, it sounds like you're not hitting the limit of files in the folder but the limit of the buffer for the long filenames. When the long filename buffer is full, the code falls back to using the 8.3 filenames for the remaining files. The choice here was that showing 8.3 filenames would be better than not showing them at all. From memory, the TOSEC naming convention tends to result in verbose filenames which aren't an issue for modern computers which have magnitudes more memory than 8k to store a directory listing in. You could try trimming the filenames down to see if you get more files listed with long filenames.
User avatar
ZXDunny
Manic Miner
Posts: 498
Joined: Tue Nov 14, 2017 3:45 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by ZXDunny »

Luzie wrote: Sun Mar 06, 2022 5:06 pm [Yep, thanks]
And how much space is there between filenames in those buffers? Are there length bytes, or are they zero-terminated? That sort of thing.
User avatar
Luzie
Manic Miner
Posts: 907
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

ZXDunny wrote: Sun Mar 06, 2022 5:09 pm
Luzie wrote: Sun Mar 06, 2022 5:06 pm [Yep, thanks]
And how much space is there between filenames in those buffers? Are there length bytes, or are they zero-terminated? That sort of thing.
@ZXDunny as far, as I understand there´s no fixed length. Only a maximum of 255 Bytes length for one Long Filename. And a maximum of 8k LFN-Buffer. So maybe @bob_fossil can only add a warning, if the end of the 8k LFN-Buffer is overflowed.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Each 8.3 file entry has a pointer into the 8k LFN buffer, if it has a long filename. The only gap between the filenames in the LFN buffer is a zero terminating byte.

The other complication is that the string held in the LFN buffer may not be the full filename text. As the browser truncates entries that do not fit on one line with a special character (displayed as '...') and the font used to display the filename is proportional, the number of characters held in the buffer for each filename is determined by how much of the filename fits on the line.
User avatar
ZXDunny
Manic Miner
Posts: 498
Joined: Tue Nov 14, 2017 3:45 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by ZXDunny »

bob_fossil wrote: Sun Mar 06, 2022 5:36 pm number of characters held in the buffer for each filename is determined by how much of the filename fits on the line.
Damn, that's a PITA. Ok, I can work with that but I'll see what I can do. Thanks for the clarification!
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

ZXDunny wrote: Sun Mar 06, 2022 6:09 pm
bob_fossil wrote: Sun Mar 06, 2022 5:36 pm number of characters held in the buffer for each filename is determined by how much of the filename fits on the line.
Damn, that's a PITA. Ok, I can work with that but I'll see what I can do. Thanks for the clarification!
It was a PITA to code. :) Here's the widths of the supported characters for the default font - you might be able to get a better calculation using these values for the characters.

Code: Select all

4	' '
3	'!'
5	'"'
6	'#'
6	'$'
6	'%'
6	'&'
3	'''
4	'('
4	')'
6	'*'
6	'+'
4	','
5	'-'
4	'.'
6	'/'
6	'0'
4	'1'
6	'2'
6	'3'
6	'4'
6	'5'
6	'6'
6	'7'
6	'8'
6	'9'
6	':'
6	';'
6	'<'
6	'='
6	'>'
6	'?'
6	'@'
6	'A'
6	'B'
6	'C'
6	'D'
6	'E'
6	'F'
6	'G'
6	'H'
6	'I'
6	'J'
6	'K'
6	'L'
6	'M'
6	'N'
6	'O'
6	'P'
6	'Q'
6	'R'
6	'S'
6	'T'
6	'U'
6	'V'
6	'W'
6	'X'
6	'Y'
6	'Z'
5	'['
6	'\'
5	']'
6	'^'
5	'_'
6	'`'
6	'a'
6	'b'
5	'c'
6	'd'
6	'e'
5	'f'
6	'g'
6	'h'
4	'i'
5	'j'
5	'k'
4	'l'
6	'm'
6	'n'
6	'o'
6	'p'
6	'q'
5	'r'
6	's'
5	't'
6	'u'
6	'v'
6	'w'
6	'x'
6	'y'
6	'z'
6	'{'
6	'|'
6	'}'
5	'~'
6	'(c)'
6	'...'

User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

v0.21
  • No_MMC_Memory version now has basic support for plugins (_TXT, AY, POK, MG1, MG2, MG4, MID, MYM, PT2, PT3 and TXT plugins still don't work as they use additional MMC memory banks).
  • .plugcfg now uses separate .ini files for the plugins it supports rather than a single plugins.ini.
  • Speed dials weren't being saved if the _SPD.DAT file didn't already exist in the /BIN/BPLUGINS folder.
  • Show 'Working...' message when creating a browser cache file.
  • Time delayed message prompts can now be skipped over by pressing any key on the keyboard.
  • Fixed issue browsing files where file count and selection went out of bounds if you deleted the last file in a folder. (Fix ported from 2browse)
  • CFG file loading now works for plugins with less than 3 characters, e.g. .Z3 .
  • Symbol Shift + L now loads the _LOK internal plugin which locks out the 128k paging system (can cause issues with the earlier Ultimate Play The Game titles).
  • PZX plugin now restores the I register to the BASIC default $3f value to fix issue launching early Speedlock protected .pzx files from the NMI browser.
  • Modified _UNO configuration plugin to work with latest joystick splitter setting.
  • Added optional Sinclair 'stripe' in the bottom status line. This can be enabled through the .brwscfg dot command.
  • Updated default colour settings to use 128k power on menu and editor colours.
  • Info plugins (TAP, TRD, SCL) weren't drawing arrow graphics correctly to indicate multiple pages of information.
  • PT2 module playback was broken after the changes made in v0.20.
Download here.
User avatar
Luzie
Manic Miner
Posts: 907
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

bob_fossil wrote: Sun Mar 06, 2022 9:47 pm v0.21
Dear @bob_fossil,
thank you as always!

I discovered on No_MMC_Memory version under SpecEmu and Fuse with divIDE that .browse NMI reset the Speccy while trying to quit .browse NMI with break.
.browse Non-NMI-Version seems to work without resetting Speccy.
Not tried on real hadrware divIDE yet.

Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
User avatar
Luzie
Manic Miner
Posts: 907
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

Luzie wrote: Mon Mar 07, 2022 4:34 pm Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
...as it :
@bob_fossil : "requires a divMMC compatible device with at least 128k of memory. It also requires an existing installation of my long filename browser."
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

Luzie wrote: Mon Mar 07, 2022 4:34 pm Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
To be honest, I'm still in two minds what to do about 2browse. Given the amount of feedback and interest I've had on it so far I wouldn't expect too much from it in the future.
pjrodriguez
Drutt
Posts: 23
Joined: Tue May 05, 2020 9:38 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by pjrodriguez »

bob_fossil wrote: Mon Mar 07, 2022 9:35 pm
Luzie wrote: Mon Mar 07, 2022 4:34 pm Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
To be honest, I'm still in two minds what to do about 2browse. Given the amount of feedback and interest I've had on it so far I wouldn't expect too much from it in the future.
I find 2browse a very nice addition, I'd love to see it updated in the future.
Anyway, thank you for your great job, my Spectrum +3 hasn't ever looked better.
User avatar
ZXDunny
Manic Miner
Posts: 498
Joined: Tue Nov 14, 2017 3:45 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by ZXDunny »

bob_fossil wrote: Mon Mar 07, 2022 9:35 pm
Luzie wrote: Mon Mar 07, 2022 4:34 pm Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
To be honest, I'm still in two minds what to do about 2browse. Given the amount of feedback and interest I've had on it so far I wouldn't expect too much from it in the future.
Wait is that a two-pane DOpus-style file manage for esxdos? Why was I not aware of this?
User avatar
Pegaz
Dynamite Dan
Posts: 1210
Joined: Mon Nov 13, 2017 1:44 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Pegaz »

ZXDunny wrote: Tue Mar 08, 2022 10:51 am
Wait is that a two-pane DOpus-style file manage for esxdos? Why was I not aware of this?
Yes it is.
I still can't explain to myself why I don't use it more often.
Maybe because the LFN browser is already so great. ;)
User avatar
cha05e90
Dizzy
Posts: 66
Joined: Sun Nov 19, 2017 7:02 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by cha05e90 »

bob_fossil wrote: Mon Mar 07, 2022 9:35 pm
Luzie wrote: Mon Mar 07, 2022 4:34 pm Another question: Could you please add "2browse file manager for esxDOS" .2browse viewtopic.php?p=82141#p82141 into your download-package of "Long Filename Browser for ZX-UNO / esxDOS" or do you want to keep this separate?
To be honest, I'm still in two minds what to do about 2browse. Given the amount of feedback and interest I've had on it so far I wouldn't expect too much from it in the future.
Oh, any further development for that would be appreciated - I'm very socialized by DoPUS and it' still my favorite kind of file managment tool. I.e. .2browse as the fully featured default browser is something I would really like to see... (same is true for the NextZXOS' Calm Commander https://www.specnext.com/software/?title=14)
48K/+/+/+/+128K/Vega/Next&80/81&88
Chris23235
Microbot
Posts: 145
Joined: Wed Dec 29, 2021 11:59 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Chris23235 »

@bob_fossil

Many thanks for the update. I use the LFN Browser every day and it is a very nice program. I don't know if it is possible on a technical level, but it would be nice if the browser displayed the full filename of 1 specific file at the top of the screen when you press e.g. symbolshift+n.
This way it would be possible to read the letters that are excluded from the filename when the name is very long and it would also make it possible to see the names of files when the browser went back to 8.3 because of filesize.
I don't know if it is possible to read the data for the fullname of e.g. the 527th file of a directory or if this would take to much time or eat up to much memory.
Last edited by Chris23235 on Wed Mar 09, 2022 9:48 am, edited 1 time in total.
sromero
Drutt
Posts: 7
Joined: Sun Dec 20, 2020 8:37 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by sromero »

bob_fossil wrote: Sun Mar 06, 2022 9:47 pm v0.21
  • No_MMC_Memory version now has basic support for plugins (_TXT, AY, POK, MG1, MG2, MG4, MID, MYM, PT2, PT3 and TXT plugins still don't work as they use additional MMC memory banks).

    Download here.
I tested 0.21 in my +2A + divIDE (it had a working 0.21alpha version before) and I cannot load TAP / Z80 files anymore.

Pressing ENTER over any of the files just "refreshes" the screen and redraws the file list. I can upload a video to youtube if this helps.

I updated by copying the files from No_MMC_Memory/BIN and No_MMC_Memory/SYS over the existing files in my CF, as always.
sromero
Drutt
Posts: 7
Joined: Sun Dec 20, 2020 8:37 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by sromero »

sromero wrote: Wed Mar 09, 2022 9:39 am
bob_fossil wrote: Sun Mar 06, 2022 9:47 pm v0.21
  • No_MMC_Memory version now has basic support for plugins (_TXT, AY, POK, MG1, MG2, MG4, MID, MYM, PT2, PT3 and TXT plugins still don't work as they use additional MMC memory banks).

    Download here.
I tested 0.21 in my +2A + divIDE (it had a working 0.21alpha version before) and I cannot load TAP / Z80 files anymore.

Pressing ENTER over any of the files just "refreshes" the screen and redraws the file list. I can upload a video to youtube if this helps.

I updated by copying the files from No_MMC_Memory/BIN and No_MMC_Memory/SYS over the existing files in my CF, as always.
@bob_fossil I temporarily rolled back to v0.19 and games work again as usual.

In the other hand, v0.21 works fine in my ZXUNO and the BOOT.VHD file I prepared for MiSTER FPGA's KyP Spectrum core, so I think the problem is in the No_MMC_Memory version.
Spezzi63
Drutt
Posts: 44
Joined: Sat Dec 28, 2019 1:36 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Spezzi63 »

sromero wrote: Wed Mar 09, 2022 11:45 am @bob_fossil I temporarily rolled back to v0.19 and games work again as usual.

In the other hand, v0.21 works fine in my ZXUNO and the BOOT.VHD file I prepared for MiSTER FPGA's KyP Spectrum core, so I think the problem is in the No_MMC_Memory version.
Hello,
to write something here once too ;)
@bob_fossil can certainly better explain why this can be handled now.
This procedure should work from the version "BROWSE v0.21Alpha3"
Many greetings,
Günter

DivIDE version
------------------
Copy the directories /BIN and /SYS of the RAR file into the root directory
of the HDF image (or the root directory of the esxdos CF/SD card).

Afterwards in the directory No_MMC_Memory of the RAR file the
subdirectories /BIN and /SYS copy into the root directory of the HDF-Image`s
(respectively into the root directory of the esxdos CF-/SD-card), and replace
existing files.


MMC version
------------------
Copy the directories /BIN and /SYS of the RAR-file into the root-directory
of the HDF image (or into the root directory of the esxdos CF/SD card), and replace
existing files.


-----------------------
Question: How dumb can a translator be ?
Last edited by Spezzi63 on Wed Mar 09, 2022 2:37 pm, edited 1 time in total.
sromero
Drutt
Posts: 7
Joined: Sun Dec 20, 2020 8:37 am

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by sromero »

Spezzi63 wrote: Wed Mar 09, 2022 2:08 pm
Hello,
to write something here once too ;)
@bob_fossil can certainly better explain why this can be handled now.
This procedure should work from the version "BROWSE v0.21Alpha3"
Many greetings,
Günter

DivIDE version
------------------
Copy the directories /BIN and /SYS of the RAR file into the root directory
of the HDF image (or the root directory of the CF/SD card).

Afterwards in the directory No_MMC_Memory of the RAR file the
subdirectories /BIN and /SYS copy into the root directory of the HDF-Image`s
(respectively into the root directory of the CF-/SD-card), and replace
existing files.
Ok, I see then, it's like the "TAP/Z80" loading is now handled like a plugin and you need the "full-version" plugins files. This is why you install first the full version (to have the BIN/PLUGINS folder copied) and then overwrite the fullversion files with the specific NoMMC files, but retaining the plugins.

Yes, tested and works. Awesome browser as always. Thanks a lot and sorry for the noise!
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by bob_fossil »

sromero wrote: Wed Mar 09, 2022 2:35 pm Ok, I see then, it's like the "TAP/Z80" loading is now handled like a plugin and you need the "full-version" plugins files. This is why you install first the full version (to have the BIN/PLUGINS folder copied) and then overwrite the fullversion files with the specific NoMMC files, but retaining the plugins.

Yes, tested and works. Awesome browser as always. Thanks a lot and sorry for the noise!
Yes, from v0.21 and onwards the No_MMC_Memory version has support for plugins. This gives you additional features that were only available via the plugins, and also makes my life easier as it reduces the number of changes between the two versions. So to install on a divIDE, you need to copy all the files from the BIN and SYS folders across first. Then copy all the files from the BIN and SYS folders in the No_MMC_Memory folder. You need to do it in this order as the No_MMC_Memory version has different versions fore some of the plugins as not every feature from the MMC could be translated across.

I'm currently working on getting the other missing functionality from the MMC version like the text viewer, TXT plugin, unlimited POKES and better snapshot saving code.

Thanks @Spezzi63 for explaining in my absence. :)
User avatar
Luzie
Manic Miner
Posts: 907
Joined: Fri May 01, 2020 2:07 pm

Re: Long Filename Browser for ZX-UNO / esxDOS

Post by Luzie »

Luzie wrote: Mon Mar 07, 2022 4:34 pm
bob_fossil wrote: Sun Mar 06, 2022 9:47 pm v0.21
Dear @bob_fossil,
thank you as always!

I discovered on No_MMC_Memory version under SpecEmu and Fuse with divIDE that .browse NMI reset the Speccy while trying to quit .browse NMI with BREAK.
.browse Non-NMI-Version seems to work without resetting Speccy.
Not tried on real hadrware divIDE yet.
No one else discovered this on divIDE/No_MMC_Memory version 0.21 Final of Long Filename Browser for ZX-UNO / esxDOS?
@bob_fossil you read this?
Post Reply