Go Back   FileForums > Game Backup > PC Games > PC Games - CD/DVD Conversions > Conversion Tutorials
Register FAQ Community Calendar Today's Posts Search

Reply
 
Thread Tools Search this Thread Display Modes
  #91  
Old 03-06-2020, 21:50
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,751
Thanks: 2,185
Thanked 11,211 Times in 2,309 Posts
Razor12911 is on a distinguished road
I'll check it out
Reply With Quote
The Following 2 Users Say Thank You to Razor12911 For This Useful Post:
Cesar82 (04-06-2020), Gehrman (05-06-2020)
Sponsored Links
  #92  
Old 11-06-2020, 07:35
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,566 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
Yes, I know that, but it's still great.
NORMAL: 1130 Kb (1.10 MB) >> UPX = 288 Kb
if compile with DELPHI 2010 (but not work) = NORMAL: 339 Kb >> UPX 119 Kb.
I will try with other dephi XE versions later.
But it would be useful to know what would be the minimum version of DELPHI that this source works for.
Thank you!
Cesar82,

I was able to reduce the size to 249kb with (Delphi Rio + UPX)


,

Last edited by BLACKFIRE69; Yesterday at 16:07.
Reply With Quote
The Following User Says Thank You to BLACKFIRE69 For This Useful Post:
Cesar82 (11-06-2020)
  #93  
Old 11-06-2020, 12:55
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
@BLACKFIRE69
I got smaller sizes using DELPHI 10 Seattle.
From XE8 all functions/classes are coded without any changes.
Using DELPHI XE4 through XE7 it is only necessary to include a variable to make the script compatible.
I tested the version compiled with DELPHI Seattle and it is working fine.
Only the same errors happen as in the original lib that Razor12911 shared.
I did not test these older versions XE4 to XE7, because as the Lib compiled with DELPHI Seattle was better than with previous versions it does not make sense to test.


Adaptation of DiskSpan R3 to work with old delphi (Delphi XE4...XE7)

Changhed this:
Code:
begin
  FormatSettings := TFormatSettings.Invariant;
Changed To:

Code:
var
  FormatSettings: TFormatSettings;
begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FormatSettings);
I think that this would not bring errors in the use of the library.
But as the size of the library compiled with DELPHI Seatle is smaller, it is more viable to use it.
This other executable compressor used from the image "uPACK" I found the compression rate very good and super fast, but in some libs it brings false positives.
Reply With Quote
The Following User Says Thank You to Cesar82 For This Useful Post:
BLACKFIRE69 (11-06-2020)
  #94  
Old 12-06-2020, 12:31
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,566 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
@BLACKFIRE69
I got smaller sizes using DELPHI 10 Seattle.
From XE8 all functions/classes are coded without any changes.

Adaptation of DiskSpan R3 to work with old delphi (Delphi XE4...XE7)

Changhed this:
Code:
begin
  FormatSettings := TFormatSettings.Invariant;
Changed To:

Code:
var
  FormatSettings: TFormatSettings;
begin
  GetLocaleFormatSettings(LOCALE_SYSTEM_DEFAULT, FormatSettings);
Cesar,

I compiled it in Delphi Seattle without changing and changing the code, but it wasn't working.

Last edited by BLACKFIRE69; Yesterday at 16:08.
Reply With Quote
  #95  
Old 12-06-2020, 13:10
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by BLACKFIRE69 View Post
Cesar,
I compiled it in Delphi Seattle without changing and changing the code, but it wasn't working.
Thanks for the info.
There's no logic (I don't understand why Seattle isn't even that old).
Here it was working when I tested it before (I only tested the extraction using CIU).
I didn’t even remember to try to pack it with him because the idea was to include it in CIU to perform the extraction.
I'm going to do some tests in a few days.
Reply With Quote
The Following User Says Thank You to Cesar82 For This Useful Post:
BLACKFIRE69 (12-06-2020)
  #96  
Old 23-07-2020, 20:26
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
@Razor12911
If possible, look at the attached file.
The native methods of freearc "2", "3", "4", "5" do not work if you include cls diskspan R2/R3.
Or am I setting the command line wrong?
P.S. If I remove the diskspan from the command line it compresses normal.
P.S. The other native methods "0", "1", "9x -ld192m", "x -ld800m", "x -ld1600m" work normally.
Thank you!
Attached Files
File Type: rar CLS-DiskSpan R2-R3 ERROR.rar (1.31 MB, 27 views)
Reply With Quote
  #97  
Old 24-07-2020, 16:40
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,751
Thanks: 2,185
Thanked 11,211 Times in 2,309 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
@Razor12911
If possible, look at the attached file.
The native methods of freearc "2", "3", "4", "5" do not work if you include cls diskspan R2/R3.
Or am I setting the command line wrong?
P.S. If I remove the diskspan from the command line it compresses normal.
P.S. The other native methods "0", "1", "9x -ld192m", "x -ld800m", "x -ld1600m" work normally.
Thank you!
have you tried to use other cls other than diskspan to see how it reacts?
1.PNG

2.PNG

3.PNG

the cls by itself...

4.PNG

perhaps this is why I have never mixed default freearc methods with additional methods set by user (-m1..9,x that is)
Reply With Quote
  #98  
Old 24-07-2020, 17:04
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
have you tried to use other cls other than diskspan to see how it reacts?
Do not.
I just tested how I sent the file and realized that from method 2..5 it showed the same error as the third image.
I found it strange to support method 0 and 1 and the others display error.
See the result in the VIDEO of my test using only CLS-DiskSpan.dll + Arc Method

Do you mean that FreeArc does not support combining methods 2 - 5 with CLS?

I wanted to enable users to use these native methods when using diskspan.bat that I changed.
I came to think that it could be some config of the arc.ini that I used so I took Arc.ini and arc.groups directly from the freearc folder and even so when using cls-diskspan it showed errors and without it it does not display an error.
Thanks.

I ran some tests and found that:
If you open a compressed file with FreeArc and go to Info, only with the native method 2..5 it is possible to obtain the combination of the method referring to preset 2..5.


If you include these methods as presets of 2..5 in Arc.ini, the methods are now supported by Cls DiskSpan


Just adding the Arc.ini presets 2..5 makes it possible to support methods using cls-diskspan.
Code:
[Compression methods]

2=rep:1kb:256+exe+4x4:tor:1kb:h4kb
3=rep:1kb+exe+delta+4x4:lzma:32kb:fast:32:mc4
4=rep:1kb+exe+delta+4x4:lzma:32kb:normal:16:mc8
5=rep:1kb+exe+delta+4x4:lzma:32kb:normal:32:mc32
After opening the compressed file with FreeArc it is possible to verify that the method was used correctly.

Last edited by Cesar82; 24-07-2020 at 17:42.
Reply With Quote
  #99  
Old 24-07-2020, 18:13
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,751
Thanks: 2,185
Thanked 11,211 Times in 2,309 Posts
Razor12911 is on a distinguished road
I was going to say, that even using these
Code:
Arc.exe a -cfgArc.ini -ep1 -r -ed -s; -w.\TEMP -m2+rep -dp".\files" ".\Data2.bin.001"
Arc.exe a -cfgArc.ini -ep1 -r -ed -s; -w.\TEMP -m3+rep -dp".\files" ".\Data3.bin.001"
Arc.exe a -cfgArc.ini -ep1 -r -ed -s; -w.\TEMP -m4+rep -dp".\files" ".\Data4.bin.001"
Arc.exe a -cfgArc.ini -ep1 -r -ed -s; -w.\TEMP -m5+rep -dp".\files" ".\Data5.bin.001"
causes the same errors so it's not just cls issue.
I had to look at Freearc source and to give proper aliases for m2-5, you should look at this

5.PNG

-m2 is actually -mrep:96m:256:c256+exe+tor:6

use this to fill up the rest
Reply With Quote
  #100  
Old 24-07-2020, 18:45
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
@Razor12911
Thanks for the info, but I don't understand this FreeArc souce language (I was even more confused).
You could share the native presets (0..5 and "9x -ld192m", "x -ld800m", "x -ld1600m" (UltrArc GUI predifinitions)) so that I can include them in the [Compression Methods] section of Arc.ini.
I don't know if I can use memos numbers as a preset (Only with DiskSpan using 2..5 in the presets it worked here).

Currently I used the "Arc.ini" file for DiskSpan.bat "(UltraARC 2900 R8 + DiskSpan.bat)".
Apparently it's working well (I don't know if it's the right way)
In this way the user can use an option such as "3" or "FA-FAST" (optional) that will have the same result.
Code:
[Compression Methods]
FA-STORE=0
FA-MIN=1
FA-LOW=2
FA-FAST=3
FA-NORMAL=4
FA-HIGHT=5
FA-BEST=9x -ld192m
FA-MAX=x -ld800m
FA-ULTRA=x -ld1600m

2=rep:1kb:256+exe+4x4:tor:1kb:h4kb
3=rep:1kb+exe+delta+4x4:lzma:32kb:fast:32:mc4
4=rep:1kb+exe+delta+4x4:lzma:32kb:normal:16:mc8
5=rep:1kb+exe+delta+4x4:lzma:32kb:normal:32:mc32

Last edited by Cesar82; 24-07-2020 at 19:08.
Reply With Quote
  #101  
Old 26-07-2020, 15:57
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,751
Thanks: 2,185
Thanked 11,211 Times in 2,309 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
Thanks for the info, but I don't understand this FreeArc souce language (I was even more confused).
You could share the native presets (0..5 and "9x -ld192m", "x -ld800m", "x -ld1600m" (UltrArc GUI predifinitions)) so that I can include them in the
don't be lazy bro

5.PNG

# is a number, like -m2
if one uses 2, it then triggers the next part #rep+exe+#xb
then you check what 2rep+exe+2xb is
2rep is rep:96m:256:c256
2xb is tor:6
then you have rep:96m:256:c256+exe+tor:6

is the same when you use 5, it's not that difficult to follow.

when # is 5, we have 5rep+exe+5xb
5rep is rep:96m
#xb for 5 is delta + #binary

we check what 5binary is
5binary is lzma:96m:normal:32:mc32

then you combine everything
rep:96m+exe+delta+lzma:96m:normal:32:mc32

m9x follows this #x
where #x = #xb/#xt
9x= 9xb =delta + 9binary = delta+lzma:254m:max
#xt is a mask for text ($text)
9xt=dict:128m:75% + 9binary = dict:128m:75%+delta+lzma:254m:max

not sure about the 75% part of dict but that is what the method says

I also don't know this programming language either but I understood it just by looking at it, it's not that hard to parse the other methods.

Last edited by Razor12911; 26-07-2020 at 16:34.
Reply With Quote
  #102  
Old 26-07-2020, 17:23
Cesar82's Avatar
Cesar82 Cesar82 is offline
Registered User
 
Join Date: May 2011
Location: Brazil
Posts: 1,074
Thanks: 1,814
Thanked 2,304 Times in 787 Posts
Cesar82 is on a distinguished road
Quote:
Originally Posted by Razor12911 View Post
# is a number, like -m2
if one uses 2, it then triggers the next part #rep+exe+#xb
then you check what 2rep+exe+2xb is
2rep is rep:96m:256:c256
2xb is tor:6
then you have rep:96m:256:c256+exe+tor:6
I understood the line of reasoning.
I just don't understand why the final file has different compression following this line of reasoning.

Where can I get this freearc src?
Reply With Quote
  #103  
Old 26-07-2020, 18:05
Razor12911's Avatar
Razor12911 Razor12911 is offline
Noob
 
Join Date: Jul 2012
Location: South Africa
Posts: 3,751
Thanks: 2,185
Thanked 11,211 Times in 2,309 Posts
Razor12911 is on a distinguished road
Quote:
Originally Posted by Cesar82 View Post
I understood the line of reasoning.
I just don't understand why the final file has different compression following this line of reasoning.
looks like I missed this part, you can just go ahead and write xtor:5 instead of tor:6
7.PNG
8.PNG

Quote:
Where can I get this freearc src?
it's part of this project
https://krinkels.org/resources/fa_protect.5/
Reply With Quote
The Following 2 Users Say Thank You to Razor12911 For This Useful Post:
Cesar82 (26-07-2020), Gehrman (27-04-2021)
  #104  
Old Yesterday, 16:02
BLACKFIRE69's Avatar
BLACKFIRE69 BLACKFIRE69 is offline
Registered User
 
Join Date: Mar 2019
Location: In the Hell
Posts: 692
Thanks: 481
Thanked 2,566 Times in 565 Posts
BLACKFIRE69 is on a distinguished road
Arrow CLS-DiskSpan v2.0

CLS·DiskSpan v2.0
Reliability + Performance Overhaul for FreeArc Disk-Spanning
Windows · 32-bit plugin · built on Razor12911's original · modified by BLACKFIRE69

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

▌ OVERVIEW
A big reliability + speed overhaul of Razor12911's original FreeArc disk-spanning plugin. The plugin splits a FreeArc archive across multiple volumes (discs) and reassembles them on extraction.

⚠ Matched-pair release: the on-disk volume format changed (clean break). Archives written by v2.0 are unpacked by v2.0 only — v2.0 will not read old volumes, and the old version will not read v2.0 volumes.

▌ TECHNICAL SPECIFICATIONS
  • Version — v2.0
  • Built with — RAD Studio 13.1
  • Platform — Windows, 32-bit
  • Targets — FreeArc 0.67 (March 15 2014)
  • Disc format — self-describing v2 volumes: a "set GUID" shared by every disc of one archive, plus a CRC32 on every disc
  • I/O buffer — 1 MB default; override with env var CLS_BUFKB (KB, clamped 64 KB .. 64 MB)
  • Debug log — OFF by default; set env var CLS_DEBUG_LOG=1 to append diagnostics to cls-diskspan.log next to the DLL

▌ CREDITS / AUTHORS
  • Original — Razor12911
  • v2.0 overhaul — BLACKFIRE69

▌ WHAT'S NEW IN v2.0

✦ It just works for EVERY layout
Solid (-s;), non-solid (-s-), big/small solid blocks (-s<size>), and file-mask / grouped packs (arc.groups) all span and round-trip correctly. The old "must be fully solid" limitation — where anything else silently produced broken discs — is GONE.

✦ Mixed group sizes are flagged
With file-mask groups, all groups share ONE volume set, so only a single disc size is used (the first block's). A group asking for a different size is kept-and-warned once — the set still packs/unpacks fine. Use the same size on every group.

✦ Damage is caught
Every disc carries a CRC32 and shares a "set GUID". A truncated, byte-flipped, swapped, or foreign disc is detected and reported instead of silently producing a bad install.

✦ No more hangs or crashes
A missing disc in a silent/hidden run fails cleanly with a non-zero exit (never freezes on a hidden dialog), and no Delphi error can crash back into FreeArc — failures map to proper CLS error codes.

✦ Safe inside installers
The --sort / --makeiso / --version helpers only run under FreeArc's Arc.exe; embedded in an Inno Setup installer (unarc) the DLL never touches the host process, so it can't accidentally close the installer.

✦ You see the REAL reason a span failed
On a bad decode FreeArc otherwise prints only its own misleading line. diskspan now prints the true cause first, on its own line — e.g. "diskspan: missing volume game-3.bin" or "diskspan: CRC mismatch ...".

✦ An archive kept in a subfolder extracts correctly
Sibling discs are found next to the main archive, not in the current directory — so arc t out\game-1.bin works (the real conversion flow packs into a subfolder).

✦ The disc-tools are reliable
--sort lays the discs into burnable DISC_1, DISC_2 … folders (with autorun.inf + setup files) and exits cleanly. --makeiso turns those folders into .ISO images without freezing; a folder is deleted ONLY after its ISO is safely written, so a failing oscdimg.exe can never destroy your discs.

✦ Flexible disc naming (auto-detected — no new option)
Code:
game-1.bin      ->  game-2.bin,  game-3.bin       (classic digit step)
data.bin.001    ->  data.bin.002, data.bin.003    (numbered extension)
setup-1a.bin    ->  setup-1b.bin ... 1z, 1aa      (letters per disc, number fixed)
Put a number in the name. If you forget, it still works, but extra discs get plain names (game_002.bin …) and you get a reminder at pack time.

✦ Locate-a-missing-disc
In an interactive run (installer window OR plain console arc x), a Browse dialog lets the user point to a disc that isn't where expected, then the extract continues. Silent/hidden/redirected runs just fail cleanly.

✦ It's faster
The per-disc checksum was rewritten (slicing-by-8) and I/O runs in 1 MB chunks (tunable), cutting spanning overhead from ~+96% over a raw store down to ~+20%. At real multi-GB disc sizes the compressor dominates anyway, so spanning is effectively free.

✦ Version probe
arc.exe --version prints build, disc-format version and copyright; the DiskSpanInfo() export returns the same string to tools.

▌ ORIGINAL vs MODIFIED (v1 → v2.0)
Code:
╭───────────────────────────┬────────────────────────┬────────────────────────────────╮
│ Area                      │ Original (v1)          │ Modified (v2.0)                │
├───────────────────────────┼────────────────────────┼────────────────────────────────┤
│ Solid archives            │ OKOK                             │
│ Non-solid (-s-)           │ SILENT CORRUPTIONOK                             │
│ Small blocks (-s<size>)   │ SILENT CORRUPTIONOK                             │
│ File masks / arc.groups   │ unsupported / corruptOK                             │
│ Mixed group sizes         │ SILENT CORRUPTIONOK (first size wins + warns)   │
│ Archive in a subfolder    │ extract could failOK                             │
│ Per-volume integrity      │ noneCRC32 (header + payload)       │
│ Wrong / foreign volume    │ used blindlyrejected (set GUID)            │
│ Missing volume (hidden)   │ could hang on dialogclean nonzero exit             │
│ Missing volume (UI)       │ host prompt only       │ browse (UI or console)         │
│ Failure reason shown      │ FreeArc generic only   │ + diskspan's real reason       │
│ Disc-1 size budget        │ per solid block        │ shared across all blocks       │
│ Error across DLL boundary │ could crash FreeArcmapped to CLS error codes      │
│ Volume naming             │ digit substitution     │ Type 1 / 2 / 3 (auto)          │
│ Non-numbered name         │ silent _NNN fallback   │ warns at pack time             │
│ --sort exit code          │ wrong ("unknown cmd")clean exit 0                   │
│ --makeiso                 │ hung after first ISObuilds all, safe delete        │
│ CRC speed                 │ n/a (no CRC)slicing-by-8 (~20% over)       │
│ Copy buffer               │ 64 KB                  │ 1 MB (tunable, CLS_BUFKB)      │
│ Version/copyright probe   │ none--version + DiskSpanInfo()     │
│ Build toolchain           │ older Delphi           │ RAD Studio 13.1, Win32         │
│ Compiler warnings         │ several                │ zero (clean build)             │
╰───────────────────────────┴────────────────────────┴────────────────────────────────╯
▌ EXPORTED API FUNCTIONS
  • ClsInit — host hands over the source path + a parent-window handle (used by Inno Setup installers)
  • ClsFunc1 (ClsSourcePath) — host sets/updates the folder to read sibling discs (2, 3 …) from
  • ClsFunc2 (ClsDiskRequest) — host installs a callback diskspan can call to ask the user to "insert the next disc"
  • DiskSpanInfo — extra (not called by FreeArc): returns build + format-version + copyright so any tool can identify the DLL

▌ QUICK START EXAMPLES
Run from the folder holding Arc.exe + cls-diskspan.dll. -w sets a temp folder; diskspan:<first>:<other> = first-disc size : every other disc's size. Put a NUMBER in the archive name.
Legend: program · command · method / diskspan · archive · input mask

Show the build + copyright
Code:
Arc.exe --version
Pack + split — one solid block, no compression (fast smoke test)
Code:
Arc.exe a -ep1 -r -ed -s; -w.\temp -m0+diskspan:2mb:2mb out\game-1.bin "_data\*"
Pack + split — REAL compression (put diskspan LAST in the chain)
Code:
Arc.exe a -ep1 -r -ed -s; -w.\temp -msrep+lzma+diskspan:4467mb:4474mb out\game-1.bin "MyFiles\*"
Pack + split — NON-solid (-s-, every file its own block — the old silent-corruption case, now correct)
Code:
Arc.exe a -ep1 -r -ed -s- -w.\temp -m0+diskspan:2mb:2mb out\game-1.bin "_data\*"
Pack + split — SMALL solid blocks (-s<size>, e.g. 8 MB blocks)
Code:
Arc.exe a -ep1 -r -ed -s8m -w.\temp -m0+diskspan:2mb:2mb out\game-1.bin "_data\*"
Pack + split — file-MASK groups (end each group's method with diskspan so every group spans)
Code:
Arc.exe a -ep1 -r -ed -s; -w.\temp -mtor+diskspan:2mb:2mb/$grpbin=lzma+diskspan:2mb:2mb out\game-1.bin "_data\*"
Test the disc set (reads every disc + checks each disc's CRC)
Code:
Arc.exe t out\game-1.bin
Extract
Code:
Arc.exe x -dpunpacked\ out\game-1.bin
Lay discs into burnable folders, then build one ISO per folder
Code:
Arc.exe --sort    OutFolder DISC_ setup.exe setup.ico out\game-1.bin
Arc.exe --makeiso OutFolder\DISC_
Pick a naming style just by how you name the first disc
Code:
Arc.exe a ... +diskspan:300mb:400mb data.bin.001 "MyFiles\*"   (-> .002, .003)
Arc.exe a ... +diskspan:300mb:400mb setup-1a.bin "MyFiles\*"   (-> 1b, 1c, ...)
Tuning / diagnostics (env vars, optional)
Code:
setlocal & set CLS_BUFKB=4096   & Arc.exe ...   (4 MB I/O buffer instead of 1 MB)
setlocal & set CLS_DEBUG_LOG=1  & Arc.exe ...   (write cls-diskspan.log next to the DLL)
Ready-to-run, double-clickable versions of all of the above are in bin\_examples\_demo\ — start with 00_version.bat.

▌ TESTS & BENCHMARKS
Both live in bin\_test\ and drive the same Arc.exe + cls-diskspan.dll in bin\.

run_tests.ps1 — round-trip regression suite. Packs 8 scenarios (solid, single-volume, store, groups, non-solid, small-block, groups+blocks, many-volume), extracts each, and SHA-256 compares against the originals. Plus 3 robustness checks: a missing middle disc must fail cleanly, a byte-flipped disc must be caught by the CRC, and a subfolder archive must still round-trip. Prints a PASS/FAIL matrix.
Code:
powershell -ExecutionPolicy Bypass -File run_tests.ps1 -DebugLog
bench.ps1 — throughput benchmark. Uses a STORE method (-m0) on purpose, so timing reflects the spanning engine + disk I/O, not a compressor. Packs/extracts at three I/O buffer sizes (CLS_BUFKB = 64 / 1024 / 4096 KB), verifies SHA-256 each time, and prints encode/decode MB/s per buffer size.
Code:
powershell -ExecutionPolicy Bypass -File bench.ps1 -SizeMB 120
▌ DISTRIBUTION FILES
  • cls-diskspan.dll — REQUIRED. The plugin. Drop it next to Arc.exe.
  • Arc.exe — REQUIRED. FreeArc's command-line driver (ships in bin\).
  • oscdimg.exe — Optional. Only for --makeiso; must sit next to Arc.exe.
  • arc.ini — Optional. FreeArc method config (example in bin\).
  • arc.groups — Optional. File-grouping masks (example in bin\).

━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ ━━━━━━━━━━━━

▌ A NOTE FROM THE MODDER
I'm not quite a repack guy, so do some rough tests on this with your own data and feel free to report any bug / issue.


.
Attached Images
File Type: png e1.png (108.7 KB, 18 views)
File Type: png e2.png (80.1 KB, 18 views)
File Type: png e3.png (207.9 KB, 18 views)
File Type: png e4.png (269.4 KB, 18 views)
File Type: png e5.png (107.2 KB, 18 views)
File Type: png xa.png (6.2 KB, 18 views)
File Type: png xb.png (19.5 KB, 18 views)
File Type: png xc.png (19.7 KB, 18 views)
File Type: png xd.png (254.3 KB, 18 views)
File Type: png xe.png (14.4 KB, 18 views)
Attached Files
File Type: rar cls-diskspan v2.0 + Examples.rar (2.73 MB, 9 views)

Last edited by BLACKFIRE69; Today at 03:24. Reason: Modified the description
Reply With Quote
The Following 4 Users Say Thank You to BLACKFIRE69 For This Useful Post:
audiofeel (Yesterday), Ele (Yesterday), Razer-785 (Today), Razor12911 (Today)
Reply


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
UltraARC Tutorials, Hints and Examples Razor12911 Conversion Tutorials 35 17-03-2021 11:56
Quantum Break GTX590 PC Games - CD/DVD Conversions 105 25-03-2019 08:28
Bioshock Infinite Complete Edition (7xDVD5) UltraArc + CIU v2.0.3 By *Yener90* GTX590 PC Games - CD/DVD Conversions 13 17-06-2017 10:55
Call of Duty Black OPS 3 + DLC Awakening (11xDVD5) GTX590 PC Games - CD/DVD Conversions 22 30-12-2016 07:46
Mortal Kombat XL (7xDVD5) UltraArc + CIU v2.0.3 By *Yener90* GTX590 PC Games - CD/DVD Conversions 1 13-10-2016 16:03



All times are GMT -7. The time now is 18:53.


Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2026, vBulletin Solutions Inc.
FileForums @ https://fileforums.com