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 »

v0.12
  • NMI.SYS now uses DivMMC memory pages. This removes the need to save the contents of the memory to the TMP folder whih should remove the speed bottleneck / delay on certain brands of SD-Card when entering the NMI. Thanks to [mention]velesoft[/mention] for providing information and advice on utilising the additional memory in the DivMMC. 'No NMI write (Slow SD Cards)' option in BRWSCFG is now deprecated.
  • .browse dot command now uses DivMMC memory pages to save / restore the memory.
  • Fullscreen browser now supports screen preview for v2/3 .z80 files (NMI only).
  • Fullscreen browser now shows 'DIR' text for directories.
  • If you saved a snapshot with the same name as an existing one, the operation would generate an error but the existing file was deleted.
  • Fixed redrawing issue when deleting some characters in the text input field.
Download here.
tom-cat
Drutt
Posts: 43
Joined: Sat Oct 03, 2020 7:39 am

Re: New File Browser for ZX-UNO

Post by tom-cat »

bob_fossil wrote: Thu Oct 08, 2020 10:04 pm v0.12
  • NMI.SYS now uses DivMMC memory pages. This removes the need to save the contents of the memory to the TMP folder whih should remove the speed bottleneck / delay on certain brands of SD-Card when entering the NMI. Thanks to [mention]velesoft[/mention] for providing information and advice on utilising the additional memory in the DivMMC. 'No NMI write (Slow SD Cards)' option in BRWSCFG is now deprecated.
Unfortunetly this breaks compatibility with the original DivIDE interface. The Browser does not run there anymore. Version 0.11 works flawlessly though. Would be good if it would be possible to check for 128k of memory and use it only when available? If not, please make version 0.11 available somewhere for DivIDE users who don't have 128k of ram.
arakar
Drutt
Posts: 5
Joined: Sat Oct 03, 2020 8:51 am

Re: New File Browser for ZX-UNO

Post by arakar »

Hello,
the link still points to version 0.11
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

arakar wrote: Fri Oct 09, 2020 8:40 am Hello,
the link still points to version 0.11
When I download, I get 0.12

So I put here 0.11 for download: https://forum.tlienhard.com/phpBB3/down ... p?id=10879
arakar
Drutt
Posts: 5
Joined: Sat Oct 03, 2020 8:51 am

Re: New File Browser for ZX-UNO

Post by arakar »

Interesting, it seems there is a cache problem. When using Edge for download, I get the old file, when using Firefox, I get the new file.
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 »

As previously mentioned, whenever I do a new release the previous BROWSE_latest.zip is renamed to it's version number. So you can download v11 from here.
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 »

What about .SCR files ? Is possible show picture from browser ? One idea: add possibility show .LCE files with length 13824 bytes (2*6912) in interlace mode
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 »

What about size of used Divmmc memory ? Any free 8kB ram pages ?
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: Fri Oct 09, 2020 11:02 pm What about .SCR files ? Is possible show picture from browser ? One idea: add possibility show .LCE files with length 13824 bytes (2*6912) in interlace mode
You should be able to view .SCR files with the current version.

I am thinking of adding a plugin system which executes a binary file based on the file extension. So for FOOBAR.SCR or FOOBAR.LCE you'd have a SCR file or a LCE file which would get loaded by the browser to handle the file type. This would do whatever is needed for the file and then return back to the browser.
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: Fri Oct 09, 2020 11:04 pm What about size of used Divmmc memory ? Any free 8kB ram pages ?
As I understand it, esxdos uses pages 0-4. so the browser NMI uses pages 5-10 to store the 48k of RAM. The .browse dot command uses pages 5-8 to store the memory from 32768 onwards which gets overwritten by the browser.
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 »

Browser use also zx ram 49152-65535 ? Here may be on zx 128 any zx ram page and locked paging. For example if you in basic write CLEAR 49151: OUT 32765, 50 (OR VALUE 53) then at 49152 is mirrored zx ram page 2 or 5 with disabled paging.
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: Sat Oct 10, 2020 8:15 am Browser use also zx ram 49152-65535 ? Here may be on zx 128 any zx ram page and locked paging. For example if you in basic write CLEAR 49151: OUT 32765, 50 (OR VALUE 53) then at 49152 is mirrored zx ram page 2 or 5 with disabled paging.
Yes, the browser uses 49152-65535 to store the 8.3 filenames and any associated long filenames.
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: Sat Oct 10, 2020 11:16 amYes, the browser uses 49152-65535 to store the 8.3 filenames and any associated long filenames.
Then you may need small memory test before start browser - if is in area 49152-65535 set ram page 2 or 5 and memory paging is locked then memory is unusable = disable NMI or show message "computer need reset..." etc...
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: Sat Oct 10, 2020 4:16 pm
bob_fossil wrote: Sat Oct 10, 2020 11:16 amYes, the browser uses 49152-65535 to store the 8.3 filenames and any associated long filenames.
Then you may need small memory test before start browser - if is in area 49152-65535 set ram page 2 or 5 and memory paging is locked then memory is unusable = disable NMI or show message "computer need reset..." etc...
Not sure I understand the issue. The NMI copies 16384 - 65535 to the divMMC banks and restores this back on exit. Why wouldn't 49152 - 65535 get restored by this operation? If the 128 paging is locked, can't I still copy 49152-65535 to somewhere else (divMMC memory) and then restore it?
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: Sat Oct 10, 2020 5:43 pm
velesoft wrote: Sat Oct 10, 2020 4:16 pm Then you may need small memory test before start browser - if is in area 49152-65535 set ram page 2 or 5 and memory paging is locked then memory is unusable = disable NMI or show message "computer need reset..." etc...
Not sure I understand the issue. The NMI copies 16384 - 65535 to the divMMC banks and restores this back on exit. Why wouldn't 49152 - 65535 get restored by this operation? If the 128 paging is locked, can't I still copy 49152-65535 to somewhere else (divMMC memory) and then restore it?
If you set on zx128 ram page 2 from 49152 then area 32768-49151 is mirrored with area 49152-65535. Then if you write byte 255 to address 32768 then will be visible also on 49152.
And zx ram page 5 is mirrored with zx videoram area 16384-32767
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 nmi start:

You can before start nmi detect if zx model is 128 or 48 kB.
If is detected only 48kB model then backup zx memory to divmmc and use this detection code :
XOR A
LD (16384),A
LD (32768),A
LD A,5
LD (49152),A
LD A,(16384)
CP 5
JR Z,END
LD A,2
LD (49152),A
LD A,(32768)
CP 2
JR Z,END
LD A,(32768)
END: RET

If this code return in register A value 5 or 2 then is detected zx128 with locked memory paging and set incorrect zx ram page. Need reset for unlock memory....
If A = 255 then detected zx spectrum 16kB model. Here is zx ram 32768-65535 unusable.
Value 0 sign usable zx ram in full address space.

For problematic values 5 , 2 , 255 you can also disable nmi / automatic return from nmi. Or load original nmi code (run also on zx16 and not use higher ram)
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 »

Optimised code:

XOR A
LD (16384), A
LD (32768), A
LD A, 5
LD (49152), A
LD A, (16384)
CP 5
RET Z
LD A, 2
LD (49152), A
LD A, (32768)
RET
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 version includes the new plugin system which allows the browser to support filetypes in an extensible manner. The 'BPLUGINS' sub folder in the 'BIN' directory holds all the available plugins which provide support for:

Code: Select all

.bas
.lce
.pt2
.pt3
.pzx
.scr
.sna
.sqt
.stc
.tap
.trd
.z80
If you copy the contents of the 'BIN' folder from the .zip file onto your card / device you should be good to go.

The 'plugins' folder has the source and documentation explaining how you can write your own browser plugin. I've also built a version of the browser for devices without 128k of MMC memory - though I haven't tested this (it built OK :) ). This is in the 'No_MMC_Memory' folder. This doesn't support plugins but it will have any additional bug fixes or features that don't require MMC memory.

There's been a lot of changes so apologies if I've broken anything.
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 LCE and SCR plugin.
Add manual or automatic loading of next screen files....
keithshaw3
Drutt
Posts: 31
Joined: Wed May 20, 2020 4:52 pm

Re: New File Browser for ZX-UNO

Post by keithshaw3 »

Hi,

Does the new test version load all the file types listed out of the box or are there some adjustments needed within the plugin config?

Keith.
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 »

keithshaw3 wrote: Mon Nov 02, 2020 5:11 pm Hi,

Does the new test version load all the file types listed out of the box or are there some adjustments needed within the plugin config?

Keith.
Yes it should, so long as you've copied the BPLUGINS folder into the BIN folder. Plugins are loaded by the file extension so as long as you don't do anything silly like rename a .scr file to a .z80 it should work fine.
keithshaw3
Drutt
Posts: 31
Joined: Wed May 20, 2020 4:52 pm

Re: New File Browser for ZX-UNO

Post by keithshaw3 »

Great, thanks I will give it a test in the week and let you know if I encounter any issues :)
keithshaw3
Drutt
Posts: 31
Joined: Wed May 20, 2020 4:52 pm

Re: New File Browser for ZX-UNO

Post by keithshaw3 »

Works great thanks, any chance of adding .TZX support?

Keith.
User avatar
Luzie
Manic Miner
Posts: 906
Joined: Fri May 01, 2020 2:07 pm

Re: New File Browser for ZX-UNO

Post by Luzie »

keithshaw3 wrote: Mon Nov 02, 2020 9:06 pm Works great thanks, any chance of adding .TZX support?

Keith.
I think I should dampen your hopes for .TZX-Support:

From post (in 2017!) "esxDOS on ZX Next FAQ" on: http://board.esxdos.org/viewtopic.php?pid=279#p279
lordcoxis:
Question: Will esxDOS have .TZX support? Is it a Next exclusive feature?
Answer: Yes, but only for standard data blocks using the ROM loader (just like ResiDOS). It's not a Next exclusive feature.
keithshaw3
Drutt
Posts: 31
Joined: Wed May 20, 2020 4:52 pm

Re: New File Browser for ZX-UNO

Post by keithshaw3 »

I think I should dampen your hopes for .TZX-Support:

From post (in 2017!) "esxDOS on ZX Next FAQ" on: http://board.esxdos.org/viewtopic.php?pid=279#p279
lordcoxis:
Question: Will esxDOS have .TZX support? Is it a Next exclusive feature?
Answer: Yes, but only for standard data blocks using the ROM loader (just like ResiDOS). It's not a Next exclusive feature.
Oh, Thanks for the info, I didn't realise it wasn't a feature of esxDos, that's a bummer, guess I will just have to keep converting using an emulator :(
Post Reply