Splitting files

discuss general risc os software applications and utilities
Related forum: adventures


Post Reply
User avatar
jubber
Posts: 379
Joined: Sat May 14, 2016 1:05 pm
Contact:

Splitting files

Post by jubber »

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?
User avatar
IanJeffray
Posts: 5961
Joined: Sat Jun 06, 2020 3:50 pm
Contact:

Re: Splitting files

Post by IanJeffray »

jubber wrote: Wed Dec 13, 2023 6:57 pm Are there any other Risc OS file splitters/reassemblers?
Just use RISC OS :)

Code: Select all

*print part1 { > output }
*print part2 { >> output }
*print part3 { >> output }
...
Then your file is "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.
User avatar
jubber
Posts: 379
Joined: Sat May 14, 2016 1:05 pm
Contact:

Re: Splitting files

Post by jubber »

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
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Splitting files

Post by BeebMaster »

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.
Image
User avatar
jgharston
Posts: 5319
Joined: Thu Sep 24, 2009 12:22 pm
Location: Whitby/Sheffield
Contact:

Re: Splitting files

Post by jgharston »

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

Code: Select all

$ bbcbasic
PDP11 BBC BASIC IV Version 0.45
(C) Copyright J.G.Harston 1989,2005-2024
>_
User avatar
jubber
Posts: 379
Joined: Sat May 14, 2016 1:05 pm
Contact:

Re: Splitting files

Post by jubber »

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
User avatar
jgharston
Posts: 5319
Joined: Thu Sep 24, 2009 12:22 pm
Location: Whitby/Sheffield
Contact:

Re: Splitting files

Post by jgharston »

jubber wrote: Wed Dec 13, 2023 11:27 pm 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
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
>_
philpem
Posts: 1161
Joined: Fri Apr 04, 2014 6:42 pm
Contact:

Re: Splitting files

Post by philpem »

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.
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
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.
mjwoodcock
Posts: 5
Joined: Thu Apr 06, 2017 10:07 am
Contact:

Re: Splitting files

Post by mjwoodcock »

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
Check out the thread titled "Advanced Level 4 32 bit extensions" in this forum.
User avatar
IanJeffray
Posts: 5961
Joined: Sat Jun 06, 2020 3:50 pm
Contact:

Re: Splitting files

Post by IanJeffray »

mjwoodcock wrote: Thu Dec 14, 2023 10:17 am Check out the thread titled "Advanced Level 4 32 bit extensions" in this forum.
Phil's already commented on that :wink:
philpem
Posts: 1161
Joined: Fri Apr 04, 2014 6:42 pm
Contact:

Re: Splitting files

Post by philpem »

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.
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.
User avatar
IanJeffray
Posts: 5961
Joined: Sat Jun 06, 2020 3:50 pm
Contact:

Re: Splitting files

Post by IanJeffray »

philpem wrote: Thu Dec 14, 2023 11:30 am A few minor changes to the Pi Econet Bridge should make those commands work there too. Nifty.
But the bridge is only L3, not L4, nevermind Advanced L4.
User avatar
BeebMaster
Posts: 7379
Joined: Sun Aug 02, 2009 5:59 pm
Location: Lost in the BeebVault!
Contact:

Re: Splitting files

Post by BeebMaster »

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.
Image
Post Reply

Return to “32-bit acorn software: other”