Page 13 of 49

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 8:15 am
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.

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 11:16 am
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.

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 4:16 pm
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...

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 5:43 pm
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?

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 6:32 pm
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

Re: New File Browser for ZX-UNO

Posted: Sat Oct 10, 2020 8:38 pm
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)

Re: New File Browser for ZX-UNO

Posted: Sun Oct 11, 2020 6:51 pm
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

Re: New File Browser for ZX-UNO

Posted: Sun Nov 01, 2020 1:00 pm
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.

Re: New File Browser for ZX-UNO

Posted: Sun Nov 01, 2020 3:14 pm
by velesoft
Idea for LCE and SCR plugin.
Add manual or automatic loading of next screen files....

Re: New File Browser for ZX-UNO

Posted: Mon Nov 02, 2020 5:11 pm
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.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 02, 2020 6:20 pm
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.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 02, 2020 6:22 pm
by keithshaw3
Great, thanks I will give it a test in the week and let you know if I encounter any issues :)

Re: New File Browser for ZX-UNO

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

Keith.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 02, 2020 9:10 pm
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.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 02, 2020 9:47 pm
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 :(

Re: New File Browser for ZX-UNO

Posted: Sun Nov 08, 2020 1:15 pm
by bob_fossil
New test version available here.

I've made some proof of concept changes to the SCR plugin. The plugin system now supports fetching the next or previous file from the browser. You can now use the 1 and 2 keys to move backwards and forwards between screens and SPACE to exit. I've also added an SCL plugin based on [mention]nihirash[/mention] 's scl2trd C source code. If you select a SCL file, the browser will try and convert it to a trimmed .TRD file and then autostart that file.

Re: New File Browser for ZX-UNO

Posted: Sun Nov 08, 2020 7:14 pm
by Luzie
Dear Bob,

I discovered a bug which maybe introduced from Final Version v0.11 to Final Version v0.12 and later up to latest v0.13-Test2:

I load your "New File Browser for ZX-UNO" from within "Dr. Slumps NMI navigator v.0.0.17" http://board.esxdos.org/viewtopic.php?pid=1584#p1584 via Hotkey J

This works with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.11 Final (Size=444 Bytes) renamed and copied to \SYS\nmi\old088.sys

But it don´t work anymore with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.12 Final (Size=412 Bytes)
neither with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.13-Test2 Final (Size=411 Bytes)

Re: New File Browser for ZX-UNO

Posted: Sun Nov 08, 2020 9:46 pm
by bob_fossil
Luzie wrote: Sun Nov 08, 2020 7:14 pm Dear Bob,

I discovered a bug which maybe introduced from Final Version v0.11 to Final Version v0.12 and later up to latest v0.13-Test2:

I load your "New File Browser for ZX-UNO" from within "Dr. Slumps NMI navigator v.0.0.17" http://board.esxdos.org/viewtopic.php?pid=1584#p1584 via Hotkey J

This works with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.11 Final (Size=444 Bytes) renamed and copied to \SYS\nmi\old088.sys

But it don´t work anymore with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.12 Final (Size=412 Bytes)
neither with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.13-Test2 Final (Size=411 Bytes)
The only change from v0.11 to v0.12 in the NMI.SYS was the usage of divMMC memory bank paging to avoid writing the contents of the RAM to the temp folder. Why this would cause issues with the other NMI browser, I've no idea. You could try using the files from the 'No_MMC_memory' folder and see if they work correctly with it to confirm if this is the cause of the problem. Or just use my browser as your default - the problem should go away then. :)

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:15 pm
by bob_fossil
Luzie wrote: Sun Nov 08, 2020 7:14 pm Dear Bob,

I discovered a bug which maybe introduced from Final Version v0.11 to Final Version v0.12 and later up to latest v0.13-Test2:

I load your "New File Browser for ZX-UNO" from within "Dr. Slumps NMI navigator v.0.0.17" http://board.esxdos.org/viewtopic.php?pid=1584#p1584 via Hotkey J

This works with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.11 Final (Size=444 Bytes) renamed and copied to \SYS\nmi\old088.sys

But it don´t work anymore with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.12 Final (Size=412 Bytes)
neither with \SYS\NMI.SYS from your "New File Browser for ZX-UNO" v0.13-Test2 Final (Size=411 Bytes)
Okay, so I created a new .hdf image with esxdos 0.8.8, the latest version of my NMI browser and v0.0.17 of Dr Slump's NMI browser. When I hit the NMI, I go into Dr Slump's NMI. I press J, the screen flips back to what it was before the NMI (with some extra code running in the screen) before my NMI browser appears. Seems to work fine here.

Code: Select all

/sys/nmi/old088.sys 441 bytes

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:15 pm
by pjrodriguez
Hi Bob,
Thank you for keeping on updating your file browser.
The .scl plugin is a very good idea and in my real Spectrum+3 it creates the .trd in only a few seconds. But the plugin fails to execute the .trd file after creating it (I get an error) and the .trd file has a 8.3 filename. Maybe the two issues are related. Not a big deal but maybe you can fix it.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:23 pm
by bob_fossil
pjrodriguez wrote: Mon Nov 09, 2020 6:15 pm Hi Bob,
Thank you for keeping on updating your file browser.
The .scl plugin is a very good idea and in my real Spectrum+3 it creates the .trd in only a few seconds. But the plugin fails to execute the .trd file after creating it (I get an error) and the .trd file has a 8.3 filename. Maybe the two issues are related. Not a big deal but maybe you can fix it.
Thanks! The SCL plugin will create the .trd filename from the 8.3 filename of the SCL file - I'm not adding long filename writing support. :) The .trd file should be slightly larger than the original .scl file if it worked correctly (you should see some lines in the border while it writes the file). Do you have a link or could you make the .scl file available that you tried to convert so I can investigate further? Thanks.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:25 pm
by Luzie
bob_fossil wrote: Mon Nov 09, 2020 6:15 pm Okay, so I created a new .hdf image with esxdos 0.8.8, the latest version of my NMI browser and v0.0.17 of Dr Slump's NMI browser. When I hit the NMI, I go into Dr Slump's NMI. I press J, the screen flips back to what it was before the NMI (with some extra code running in the screen) before my NMI browser appears. Seems to work fine here.

Code: Select all

/sys/nmi/old088.sys 441 bytes
Maybe I´ve done something wrong here. Which Emulator/Interface-Settings do you use for testing?
I´ve tried with SpecEmu (divMMC-Emulation only).
Maybe you could share your .HDF-File for comparison with my "compilation"? (Please send PM). Thank you!

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:30 pm
by bob_fossil
Luzie wrote: Mon Nov 09, 2020 6:25 pm
bob_fossil wrote: Mon Nov 09, 2020 6:15 pm Okay, so I created a new .hdf image with esxdos 0.8.8, the latest version of my NMI browser and v0.0.17 of Dr Slump's NMI browser. When I hit the NMI, I go into Dr Slump's NMI. I press J, the screen flips back to what it was before the NMI (with some extra code running in the screen) before my NMI browser appears. Seems to work fine here.

Code: Select all

/sys/nmi/old088.sys 441 bytes
Maybe I´ve done something wrong here. Which Emulator/Interface-Settings do you use for testing?
I´ve tried with SpecEmu (divMMC-Emulation only).
Maybe you could share your .HDF-File for comparison with my "compilation"? (Please send PM). Thank you!
I've had to switch over to Fuse. During development of the new browser features in v12 and later I found that SpecEmu didn't seem to emulate the divMMC's 128k of memory correctly (only the 32k needed for esxdos to run) which I'm now using for saving the RAM contents and plugins.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 6:33 pm
by Luzie
bob_fossil wrote: Mon Nov 09, 2020 6:30 pm I've had to switch over to Fuse. During development of the new browser features in v12 and later I found that SpecEmu didn't seem to emulate the divMMC's 128k of memory correctly (only the 32k needed for esxdos to run) which I'm now using for saving the RAM contents and plugins.
OK. I not tried it with Fuse yet. This maybe the problem I discovered. Not yet tested "No_MMC_Memory"-Version. I´ll keep you informed.

Re: New File Browser for ZX-UNO

Posted: Mon Nov 09, 2020 7:53 pm
by pjrodriguez
The .trd file can't be executed when created after selecting the .scl file but it's always succesfully saved and can be executed later.