Splitting files
Splitting files
I've grabbed an enormous zip file that the econet can't handle ("ecoclient put doom") because it's 27 meg. Transfers always go wrong. However I can send 1mb files, so I used 7-Zip to split it up - and that transfers fine, if laboriously.
However I don't know how to join it at the other end. !Split and !Filesplit evidently look for headers in the files - they don't seem able to join raw data.
Are there any other Risc OS file splitters/reassemblers?
However I don't know how to join it at the other end. !Split and !Filesplit evidently look for headers in the files - they don't seem able to join raw data.
Are there any other Risc OS file splitters/reassemblers?
- IanJeffray
- Posts: 6019
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
Re: Splitting files
Just use RISC OS
Code: Select all
*print part1 { > output }
*print part2 { >> output }
*print part3 { >> output }
...
IIRC if you're running Level4 !Server on the A4 though (I'm guessing what you're up to...) then I thought L4 could handle files that size ok.
Re: Splitting files
In the end I did just use Risc OS - I dumped everything into Arculator then split it that way. I'm slowly transferring the files to the pi server. I'm actually trying to see if my various ARM 3 powered machines can handle a bit of Doom. Then maybe I'll try it on the unholy overclocked A3010
The SA Risc PC on the network can probably manage it in high res with all sorts of bells and whistles, but the A5000 is my to go machine for games.
Interesting to see RISC OS has that sort of file handling though. DOS probably does too, for that matter. I'm using ecoclient to send the files from PC to econet server - and it's very flakey with big files
The SA Risc PC on the network can probably manage it in high res with all sorts of bells and whistles, but the A5000 is my to go machine for games.
Interesting to see RISC OS has that sort of file handling though. DOS probably does too, for that matter. I'm using ecoclient to send the files from PC to econet server - and it's very flakey with big files
- BeebMaster
- Posts: 7434
- Joined: Sun Aug 02, 2009 5:59 pm
- Location: Lost in the BeebVault!
- Contact:
Re: Splitting files
L4 file server has a file size limit of 16MB-1, as there are 3 bytes in the Level 3 spec for file size (ie. max size is &FFFFFF) carried over into L4. The Advanced L4 server can handle larger files but needs the special version of the Econet firmware modules loading on the user machine.
Re: Splitting files
I wrote a couple of commands FSplit and FJoin to do this, fairly simple implementation. link
Syntax: FSplit <infile> <outprefix> <sizeinK>
Syntax: FJoin <inprefix> <outfile>
eg:
FSplit bigfile bits### 500K
FJoin bits### reassembled
Syntax: FSplit <infile> <outprefix> <sizeinK>
Syntax: FJoin <inprefix> <outfile>
eg:
FSplit bigfile bits### 500K
FJoin bits### reassembled
Code: Select all
$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
Re: Splitting files
Terrific - good to have for future use.
Did you write these a long time ago? I have a faint memory of something with a similar name I used back in the 90s
Did you write these a long time ago? I have a faint memory of something with a similar name I used back in the 90s
Re: Splitting files
The first iteration will have been around 1989/1990 or so. It was such a typical combination of useful-to-have + commonly-needed + simple-to-write that a quick knock-up was tidied up into a generic tool.
Edit: having a quick look through the code, there's a few tweeks I should do to use more recent libraries.
Code: Select all
$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
Re: Splitting files
True enough. Which reminds me - I keep meaning to sit down and figure out what the command codes for AL4's extended 32-bit commands are ... it'll have to be reverse engineered from the modules as it's missing from the RO3.71 and ROOL sources.BeebMaster wrote: ↑Wed Dec 13, 2023 10:37 pm L4 file server has a file size limit of 16MB-1, as there are 3 bytes in the Level 3 spec for file size (ie. max size is &FFFFFF) carried over into L4. The Advanced L4 server can handle larger files but needs the special version of the Econet firmware modules loading on the user machine.
The list of unknown command codes are in this Github search: https://github.com/search?q=repo%3Abarr ... &type=code
Questions about software preservation (BBC, RISC OS or other platforms)? Please feel free to ask.
Currently looking for RISC OS software to archive and preserve, please drop me a PM if you have any to offer.
Currently looking for RISC OS software to archive and preserve, please drop me a PM if you have any to offer.
-
- Posts: 5
- Joined: Thu Apr 06, 2017 10:07 am
- Contact:
Re: Splitting files
Check out the thread titled "Advanced Level 4 32 bit extensions" in this forum.philpem wrote: ↑Thu Dec 14, 2023 3:12 am True enough. Which reminds me - I keep meaning to sit down and figure out what the command codes for AL4's extended 32-bit commands are ... it'll have to be reverse engineered from the modules as it's missing from the RO3.71 and ROOL sources.
The list of unknown command codes are in this Github search: https://github.com/search?q=repo%3Abarr ... &type=code
- IanJeffray
- Posts: 6019
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
Re: Splitting files
Phil's already commented on thatmjwoodcock wrote: ↑Thu Dec 14, 2023 10:17 am Check out the thread titled "Advanced Level 4 32 bit extensions" in this forum.
Re: Splitting files
And I'd completely forgotten mjwoodcock had figured them out ...
https://github.com/sai2791/aund/pull/19 ... 1ddb331065
In which case, those constants just need moving across to the NetFS headers and Files32 turning on, and it "should" work. A few minor changes to the Pi Econet Bridge should make those commands work there too. Nifty.
https://github.com/sai2791/aund/pull/19 ... 1ddb331065
In which case, those constants just need moving across to the NetFS headers and Files32 turning on, and it "should" work. A few minor changes to the Pi Econet Bridge should make those commands work there too. Nifty.
Questions about software preservation (BBC, RISC OS or other platforms)? Please feel free to ask.
Currently looking for RISC OS software to archive and preserve, please drop me a PM if you have any to offer.
Currently looking for RISC OS software to archive and preserve, please drop me a PM if you have any to offer.
- IanJeffray
- Posts: 6019
- Joined: Sat Jun 06, 2020 3:50 pm
- Contact:
- BeebMaster
- Posts: 7434
- Joined: Sun Aug 02, 2009 5:59 pm
- Location: Lost in the BeebVault!
- Contact:
Re: Splitting files
I think, if there's willingness, these extra file server function codes could be implemented in the Pi Bridge. Pi Bridge already has some additional features beyond L3 anyway, and I'm still hoping one day we will have long filename support. I may even learn C (C+/C++/C# ??!?!?) and do that myself.
The extra function codes would only be called by users with software that can use those codes (ie. the updated modules for RISC OS stations) so it shouldn't break anything that already works. One day I will have a think about whether we can implement use of the extended function codes on 8-bit machines.
The extra function codes would only be called by users with software that can use those codes (ie. the updated modules for RISC OS stations) so it shouldn't break anything that already works. One day I will have a think about whether we can implement use of the extended function codes on 8-bit machines.