Long Filename Browser for ZX-UNO / esxDOS

Field Programmable Gate Array based devices! As exciting as they sound
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

Beaps wrote: Fri Jun 26, 2020 1:44 am Im a Speecy noob, how do I add kempston support for the menu.

Thanks
B
As mentioned in the 'Questions' section in the manual, you need to run the .dot command BRWSCFG from the BASIC prompt (e.g. type in .BRWSCFG and hit ENTER) to launch the config editor. Press CURSOR RIGHT to move to the 'Input' category. Then press CURSOR DOWN until the arrow '>' is next to the 'Kempston Joystick' option. Hit ENTER to turn the text from 'Off' to 'On'. Press S to save your new settings and exit back to BASIC. The browser should now recognise your Kempston joystick.
zxassembler
Drutt
Posts: 5
Joined: Thu Jun 25, 2020 8:55 pm

Re: New File Browser for ZX-UNO

Post by zxassembler »

bob_fossil wrote: Fri Jun 26, 2020 9:45 am
zxassembler wrote: Thu Jun 25, 2020 9:07 pm Wow!. Excellent browser with very nice features. It's working really well. Just a little problem (¿?) when I have tried it with all the TAP games in the last available TOSEC. I have made folders for every letter, and inside them some subfolders as necessary to split the games in folders of 250 games max. I am using a 1GB sdcard formatted in FAT16. When I browse inside a particular folder some games appear with its correct long name and others with a short (8+3) name. I don't know why. Are still too many games for each subfolder (250)?. Maybe some incompatible characters in some of the TOSEC games?

Has someone tried this with thousands of games in a lot of subfolders?

Thank you very much in advance. Keep up the good work. This is really a very, very nice browser.
Thanks for the kind words.

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.
Thank you for your detailed explanation. Yes, it looks a problem with so many very long names under the same subdirectory. That explains why the [8+3] number of filenames were changing from one subfolder to another. TOSEC names are very complete by default...but also very long! ;-). Thanks again for explaining this perfectly.
Beaps
Drutt
Posts: 4
Joined: Fri Jun 26, 2020 1:42 am

Re: New File Browser for ZX-UNO

Post by Beaps »

Brilliant Bob, works a treat now with the Joystick. What a relief it is to have something like this. AWESOME!!
zxassembler
Drutt
Posts: 5
Joined: Thu Jun 25, 2020 8:55 pm

Re: New File Browser for ZX-UNO

Post by zxassembler »

Instead of shorting the filenames of all the files, I have just tried the other way round...reducing the number of files in each subfolder to 100. And now all is working perfectly. Now the 8K buffer is not oversized and all the names appear correctly.

Thank you very much!
User avatar
Pobulous
Dynamite Dan
Posts: 1346
Joined: Wed Nov 15, 2017 12:51 pm

Re: New File Browser for ZX-UNO

Post by Pobulous »

For the TOSEC set, I initially set them into A, B, C, etc folders, then I ran a script to create a subfolder truncated to the gamename and date of release, then moved the various tap versions into those folders. That helped to reduce the number of files in the folder, but also the folder names are now shorter than the tap filenames were, and it's much easier on the eye trying to find a game. I then split the A folder into A-Am and An-Az to keep the total filenumber below 256. S folder had to be split into 5.

So for instance the path to Amaurote is \Games\TOSEC-v2018-09-13_CM\a\A - Am\Amaurote (1987)
with 11 different releases stored in that folder
User avatar
Seven.FFF
Manic Miner
Posts: 735
Joined: Sat Nov 25, 2017 10:50 pm
Location: USA

Re: New File Browser for ZX-UNO

Post by Seven.FFF »

ZX-Pokemaster will do the renaming/subfoldering/limiting the number of files per directory, directly from the master TOSEC download.
Robin Verhagen-Guest
SevenFFF / Threetwosevensixseven / colonel32
NXtel NXTP ESP Update ESP Reset CSpect Plugins
Beaps
Drutt
Posts: 4
Joined: Fri Jun 26, 2020 1:42 am

Re: New File Browser for ZX-UNO

Post by Beaps »

Shame there is not a set of games out there that just has the game name and say (128k) if it's a 128k version of the game.

Amaurote.tap
Amaurote[128k].tap
User avatar
Pobulous
Dynamite Dan
Posts: 1346
Joined: Wed Nov 15, 2017 12:51 pm

Re: New File Browser for ZX-UNO

Post by Pobulous »

Trouble is that there may be various original releases, with different compatibilities across the range of Spectrum models. Then on top of that a lot of TAP files are hacked or cracked versions, because the original game used a custom loader, and that might add issues as well.
Beaps
Drutt
Posts: 4
Joined: Fri Jun 26, 2020 1:42 am

Re: New File Browser for ZX-UNO

Post by Beaps »

Pobulous wrote: Fri Jun 26, 2020 2:53 pm For the TOSEC set, I initially set them into A, B, C, etc folders, then I ran a script to create a subfolder truncated to the gamename and date of release, then moved the various tap versions into those folders. That helped to reduce the number of files in the folder, but also the folder names are now shorter than the tap filenames were, and it's much easier on the eye trying to find a game. I then split the A folder into A-Am and An-Az to keep the total filenumber below 256. S folder had to be split into 5.

So for instance the path to Amaurote is \Games\TOSEC-v2018-09-13_CM\a\A - Am\Amaurote (1987)
with 11 different releases stored in that folder
Did you use a .bat program to organise you games Aa - Am?
User avatar
Pobulous
Dynamite Dan
Posts: 1346
Joined: Wed Nov 15, 2017 12:51 pm

Re: New File Browser for ZX-UNO

Post by Pobulous »

Beaps wrote: Fri Jun 26, 2020 11:06 pm
Pobulous wrote: Fri Jun 26, 2020 2:53 pm For the TOSEC set, I initially set them into A, B, C, etc folders, then I ran a script to create a subfolder truncated to the gamename and date of release, then moved the various tap versions into those folders. That helped to reduce the number of files in the folder, but also the folder names are now shorter than the tap filenames were, and it's much easier on the eye trying to find a game. I then split the A folder into A-Am and An-Az to keep the total filenumber below 256. S folder had to be split into 5.

So for instance the path to Amaurote is \Games\TOSEC-v2018-09-13_CM\a\A - Am\Amaurote (1987)
with 11 different releases stored in that folder
Did you use a .bat program to organise you games Aa - Am?
I used batch files to do all the other organisation, but I did the final splits into A-Am etc by hand in Windows Explorer, so I could control where the splits occurred. ZX-Pokemaster looks like it would be helpful for the previous stages.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

v0.11
  • Added fullscreen browser mode (toggle mode with Symbol Shift + F) which tries to show the loading screen from the currently selected .sna or .tap file.
  • Text is now displayed with proportional widths to show more characters in longer filenames.
Download here.

If you need to rollback to the previous version.
pjrodriguez
Drutt
Posts: 23
Joined: Tue May 05, 2020 9:38 am

Re: New File Browser for ZX-UNO

Post by pjrodriguez »

Thank you for the new version. Everything works great.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

pjrodriguez wrote: Fri Jul 10, 2020 2:36 pm Thank you for the new version. Everything works great.
You're welcome! Thanks for the feedback.
XoRRoX
Manic Miner
Posts: 231
Joined: Wed Jul 11, 2018 6:34 am

Re: New File Browser for ZX-UNO

Post by XoRRoX »

Thanks, Bob :)

Been busy lately but will let you know when I tried it.
zxassembler
Drutt
Posts: 5
Joined: Thu Jun 25, 2020 8:55 pm

Re: New File Browser for ZX-UNO

Post by zxassembler »

Absolutely fantastic!. All working perfectly. I can't live without this browser now in my ZXUno :)
keithshaw3
Drutt
Posts: 31
Joined: Wed May 20, 2020 4:52 pm

Re: New File Browser for ZX-UNO

Post by keithshaw3 »

Great stuff, all good here :)
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Thu Jul 09, 2020 11:12 am If you need to rollback to the previous version.
In recent versions, it is already impossible to delete the TMP directory to speed up loading?
What is the latest version, where I can still do it, because each time I wait for 17 seconds - this is very annoying: ((
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

azesmbog wrote: Tue Jul 14, 2020 10:45 pm In recent versions, it is already impossible to delete the TMP directory to speed up loading?
What is the latest version, where I can still do it, because each time I wait for 17 seconds - this is very annoying: ((
From the manual:
Q: Why does it take 15-17 seconds to enter the browser when I press the NMI?

A: On first run, the browser checks for the /TMP folder and creates it if it isn't there. It then tries to open and writes the contents of the RAM (49152 bytes) to a file /TMP/BROWSE.NMI. Creating the /TMP folder and BROWSE.NMI file for the first time seems to take more time.

Q: It's still taking 15-17 seconds to enter the NMI browser after the first run.

A: If you're still getting a significant delay on subsequent NMI presses, the delay may be due to the write speed of the SD card / ESXDOS hardware. On 2 SanDisk cards I have, the delay is 1-2 seconds. On another Samsung Micro SD card inside an SD card adapter the delay increases to 15-17 seconds. So if possible, try another brand of SD card to see if you get better results. You can also run BRWSCFG and turn on the 'No NMI write (Slow SD Cards)' option. This will run the NMI without saving the RAM to a file on startup. This will still let you use the NMI as a fast file browser to autostart your .tap, .trd and snapshot files but snapshot saving and POKEs are disabled and will invariably reset or crash when you exit the NMI.
So to enable the option, run .brwscfg, select the 'Advanced' category and set 'No NMI Write (Slow SD Cards)' to 'On' and save your settings.
azesmbog
Manic Miner
Posts: 306
Joined: Sat May 16, 2020 8:43 am

Re: New File Browser for ZX-UNO

Post by azesmbog »

bob_fossil wrote: Wed Jul 15, 2020 5:54 pm
So to enable the option, run .brwscfg, select the 'Advanced' category and set 'No NMI Write (Slow SD Cards)' to 'On' and save your settings.
I am sorry that you had to paint me in such detail, but English is not my native language. Therefore, I do not always capture the essence, even in the description. I wanted to go to Help, but it didn’t work right away, so I asked.
Thank you, it all worked out. It is important for me only to quickly open files, for testing, that's all. I’m not interested in the recording now.
Someday I will test my set of files on other SD cards
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

azesmbog wrote: Wed Jul 15, 2020 9:54 pm I am sorry that you had to paint me in such detail, but English is not my native language. Therefore, I do not always capture the essence, even in the description. I wanted to go to Help, but it didn’t work right away, so I asked.
Thank you, it all worked out. It is important for me only to quickly open files, for testing, that's all. I’m not interested in the recording now.
Someday I will test my set of files on other SD cards
No need to apologise. I suspected it might have been a language issue. I appreciate the effort it takes to learn another language and then try and communicate with others using it. Funnily enough, I added this option back in v0.08 specifically for people like you when I fixed the other problem where the TMP folder wasn't automatically being created when you launched the NMI. :)

Previous released versions are still hosted on my web space. You can travel back in time (and features) by changing 'latest' to a version number in the download URL. So to go back to version 0.04, you can do:

Code: Select all

http://www.thefossilrecord.co.uk/wp-content/uploads/zx/BROWSE_004.zip
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

New test version available here. This just adds screen preview for v2/3 .z80 files in fullscreen browser mode (this only works from the NMI version of the browser) along with some small bug fixes.
zxassembler
Drutt
Posts: 5
Joined: Thu Jun 25, 2020 8:55 pm

Re: New File Browser for ZX-UNO

Post by zxassembler »

Thanks for your effort. I will try the new version. I can't live without this browser in my ZX Uno ;)
velesoft
Drutt
Posts: 34
Joined: Sat Sep 26, 2020 11:51 pm
Location: Czech Republic
Contact:

Re: New File Browser for ZX-UNO

Post by velesoft »

Idea for speed-up start of NMI on DivMMC. Code may detect size of DivXXX ram memory and backup zx ram to this 8kB ram pages without any writing to slow SD card. Standard DivMMC contain 128kB or 512kB of external fast ram.
User avatar
bob_fossil
Manic Miner
Posts: 654
Joined: Mon Nov 13, 2017 6:09 pm

Re: New File Browser for ZX-UNO

Post by bob_fossil »

velesoft wrote: Sun Sep 27, 2020 12:00 am Idea for speed-up start of NMI on DivMMC. Code may detect size of DivXXX ram memory and backup zx ram to this 8kB ram pages without any writing to slow SD card. Standard DivMMC contain 128kB or 512kB of external fast ram.
Do you have any code or documentation for this - e.g. how do I page in the 8k ram page, what address is it paged to, what bank is currently paged in and how do I detect the size of RAM (if any) on the DivMMC? Thanks.
velesoft
Drutt
Posts: 34
Joined: Sat Sep 26, 2020 11:51 pm
Location: Czech Republic
Contact:

Re: New File Browser for ZX-UNO

Post by velesoft »

bob_fossil wrote: Sun Sep 27, 2020 10:12 am
velesoft wrote: Sun Sep 27, 2020 12:00 am Idea for speed-up start of NMI on DivMMC. Code may detect size of DivXXX ram memory and backup zx ram to this 8kB ram pages without any writing to slow SD card. Standard DivMMC contain 128kB or 512kB of external fast ram.
Do you have any code or documentation for this - e.g. how do I page in the 8k ram page, what address is it paged to, what bank is currently paged in and how do I detect the size of RAM (if any) on the DivMMC? Thanks.
Yes. All is easy.
OUT 227, 128+page number (0-63) disconnect zx rom and connect from address 0 eeprom 8kB with system and from address 8192 connect 8kB divmmc ram pages.
OUT 227,0 disconnect divmmc memory (if is not automatically mapped before...)
Divmmc system esxdos use only first 40kB of external ram(pages 0-4) and all next pages(5-63) are free ram for your use. Divmmc exist in two memory versions : 128kB and 512kB. 128kB model use pages 0-15 and 88kB is free. 512kB model use pages 0-63 and 472kB is free. Detection is easy. Contact me for more details.
Post Reply