English Amiga Board

English Amiga Board (https://eab.abime.net/index.php)
-   project.Killergorilla's WHD packs (https://eab.abime.net/forumdisplay.php?f=94)
-   -   WHDLoad games with Filenames not supported by Windows (https://eab.abime.net/showthread.php?t=31450)

killergorilla 06 August 2007 11:03

WHDLoad games with Filenames not supported by Windows
 
I thought it was about time we had something like this...

This is a list of WHDLoad games from my packs which need to be unarchived within WinUAE or on a real Amiga.

Batman: The Movie
Battlestorm (OCS/ECS & CDTV)
Mystical
Odyssey
OsWALD Of The Ice Floes
Purple Saturn Day
Rage (CAD Software)
Rage V2
Sorefist
Super Streetfighter 2 Turbo (AGA & CD32)
Ultima V

Games to test which are not in my packs yet:
Airborne Ranger
Builderland
TrivialPursuit

Codetapper 06 August 2007 14:24

IMHO any game that has been ripped to files and has files that end with a full stop should be patched. Many Atari ST ports have this problem and will cause errors on WinUAE. I have patched the loaders (or filenames) on games like Puzznic, Wanted, Ian Botham's Cricket etc to eliminate this problem.

If anyone knows of other games that suffer this problem they should submit a bug report on the WHDLoad site.

mailman 06 August 2007 21:02

I know a demo - Mirror by Andromeda. It has characters of multiply (*) in the filenames and it can be unpacked on WinUAE or on real Amiga only.

Minuous 07 August 2007 10:41

Racter.

Radertified 12 August 2020 09:10

13 years later...

Does anyone (Retroplay?) maintain a list of slaves that continue to use data files that won't extract on Windows?

To test, I tried unpacking Mirror by Andromeda with 7-Zip, and although it extracted, I noticed that asterisks (*) were replaced with underscores (_), as mailman pointed out.

Radertified 12 August 2020 10:14

I wrote a quick and dirty scanner that lists all errors in Retroplay's latest packs.

It checks for the following Windows no-no's:
Quote:

< > : " / | ? * \x0-\x31 (ASCII control characters) CON, PRN, AUX, NUL, COM1, COM2, COM3, COM4, COM5, COM6, COM7, COM8, COM9, LPT1, LPT2, LPT3, LPT4, LPT5, LPT6, LPT7, LPT8, LPT9
And filenames that end in a dot.

I didn't include backslash \ because paths have them, such as "AquanautF1LicencewareJST\data\lev1.", and it's too much effort to try to parse them properly.
Files that end with spaces are also invalid but the script didn't check for them because it was copying the output from stdout. I'm sure there's going to be a few archives with them.


The following were not checked because I'm too lazy to implement LZX checking for 3 files:
Quote:

ERROR: Commodore Amiga - WHDLoad - Games\C\Calephar_v1.1_Files_2661.lzx : Can not open the file as archive
ERROR: Commodore Amiga - WHDLoad - Games\E\EmeraldMines_v1.0_CD.lzx : Can not open the file as archive
ERROR: Commodore Amiga - WHDLoad - Magazines\Z\Zine11_v1.0_Brainstorm.lzx : Can not open the file as archive

The list:
Quote:

Commodore Amiga - HD Loaders - Games\O\Odyssey_HD_JOTD.lha
array(1) {
[0]=>
string(33) "OdysseyHD\Players\3nme>Sprite.Bin"
}
===============================
Commodore Amiga - JST - Games\A\Aquanaut_v1.1_F1Licenceware_JST.lha
array(5) {
[0]=>
string(35) "AquanautF1LicencewareJST\data\lev1."
[1]=>
string(35) "AquanautF1LicencewareJST\data\lev2."
[2]=>
string(35) "AquanautF1LicencewareJST\data\lev3."
[3]=>
string(35) "AquanautF1LicencewareJST\data\lev4."
[4]=>
string(35) "AquanautF1LicencewareJST\data\lev5."
}
===============================
Commodore Amiga - JST - Games\D\DragonScape_v1.0_JST.lha
array(3) {
[0]=>
string(25) "DragonScapeJST\data\char."
[1]=>
string(25) "DragonScapeJST\data\drag."
[2]=>
string(26) "DragonScapeJST\data\flame."
}
===============================
Commodore Amiga - JST - Games\M\Mystical_v1.0_0541_JST.lha
array(1) {
[0]=>
string(16) "MysticalJST\RND."
}
===============================
Commodore Amiga - JST - Games\P\Puzznic_v1.2_0041_JST.lha
array(1) {
[0]=>
string(15) "PuzznicJST\PTS."
}
===============================
Commodore Amiga - WHDLoad - Demos\0\3DDemo2_v1.0_Anarchy.lha
array(1) {
[0]=>
string(26) "3DDemo2\Har vi røget hash?"
}
===============================
Commodore Amiga - WHDLoad - Demos\E\EargasmTunes_v1.00a_Silents.lha
array(1) {
[0]=>
string(39) "EargasmTunes\data\Songs\Garden of Life."
}
===============================
Commodore Amiga - WHDLoad - Demos\M\Mirror_v1.0_Andromeda.lha
array(4) {
[0]=>
string(39) "Mirror\MirrorData\Horse.CRAW(336*256*4)"
[1]=>
string(42) "Mirror\MirrorData\JucyLucy.CRAW(112*484*6)"
[2]=>
string(42) "Mirror\MirrorData\Orthlund.CRAW(336*256*4)"
[3]=>
string(44) "Mirror\MirrorData\Wastelands.CRAW(336*256*4)"
}
===============================
Commodore Amiga - WHDLoad - Demos\M\MusicBox_v1.0_Exodus.lha
array(1) {
[0]=>
string(32) "MusicBoxExodus\data\mod.disco..."
}
===============================
Commodore Amiga - WHDLoad - Games\B\BreakOutRevolution_v1.0_AGA.lha
array(38) {
[0]=>
string(54) "BreakOutRevolutionAGA\data\brsh\cl\cl_1xblau>4blau_4x2"
[1]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_1"
[2]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_2"
[3]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_3"
[4]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_4"
[5]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_5"
[6]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_6"
[7]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit2_2>0_7"
[8]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_1"
[9]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_2"
[10]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_3"
[11]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_4"
[12]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_5"
[13]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_6"
[14]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit3_2>0_7"
[15]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_1"
[16]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_2"
[17]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_3"
[18]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_4"
[19]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_5"
[20]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_6"
[21]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit4_2>0_7"
[22]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_1"
[23]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_2"
[24]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_3"
[25]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_4"
[26]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_5"
[27]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_6"
[28]=>
string(53) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit5_2>0_7"
[29]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_1"
[30]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_2"
[31]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_3"
[32]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_4"
[33]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_5"
[34]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_6"
[35]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_7"
[36]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_8"
[37]=>
string(52) "BreakOutRevolutionAGA\data\brsh\st\st_meteorit_4>2_9"
}
===============================
Commodore Amiga - WHDLoad - Games\B\Builderland_v1.1_1923.lha
array(36) {
[0]=>
string(24) "Builderland\data\11FINM."
[1]=>
string(25) "Builderland\data\11MONS1."
[2]=>
string(25) "Builderland\data\11MONS2."
[3]=>
string(25) "Builderland\data\11MONS3."
[4]=>
string(24) "Builderland\data\21FINM."
[5]=>
string(25) "Builderland\data\21MONS1."
[6]=>
string(25) "Builderland\data\21MONS2."
[7]=>
string(25) "Builderland\data\21MONS3."
[8]=>
string(24) "Builderland\data\31FINM."
[9]=>
string(25) "Builderland\data\31MONS1."
[10]=>
string(25) "Builderland\data\31MONS2."
[11]=>
string(24) "Builderland\data\41FINM."
[12]=>
string(25) "Builderland\data\41MONS1."
[13]=>
string(25) "Builderland\data\41MONS2."
[14]=>
string(25) "Builderland\data\41MONS3."
[15]=>
string(24) "Builderland\data\51FINM."
[16]=>
string(25) "Builderland\data\51MONS1."
[17]=>
string(25) "Builderland\data\51MONS2."
[18]=>
string(24) "Builderland\data\61FINM."
[19]=>
string(25) "Builderland\data\61MONS1."
[20]=>
string(25) "Builderland\data\61MONS2."
[21]=>
string(25) "Builderland\data\61MONS3."
[22]=>
string(26) "Builderland\data\DECARTES."
[23]=>
string(25) "Builderland\data\F_TAB11."
[24]=>
string(25) "Builderland\data\F_TAB21."
[25]=>
string(25) "Builderland\data\F_TAB31."
[26]=>
string(25) "Builderland\data\F_TAB41."
[27]=>
string(25) "Builderland\data\F_TAB51."
[28]=>
string(25) "Builderland\data\F_TAB61."
[29]=>
string(25) "Builderland\data\PALETTE."
[30]=>
string(23) "Builderland\data\TAB11."
[31]=>
string(23) "Builderland\data\TAB21."
[32]=>
string(23) "Builderland\data\TAB31."
[33]=>
string(23) "Builderland\data\TAB41."
[34]=>
string(23) "Builderland\data\TAB51."
[35]=>
string(23) "Builderland\data\TAB61."
}
===============================
Commodore Amiga - WHDLoad - Games\D\DistantArmies_v1.0_2551.lha
array(1) {
[0]=>
string(42) "DistantArmies\data\Games\Game1893?.Chinese"
}
===============================
Commodore Amiga - WHDLoad - Games\D\DragonScape_v1.1.lha
array(3) {
[0]=>
string(22) "DragonScape\data\char."
[1]=>
string(22) "DragonScape\data\drag."
[2]=>
string(23) "DragonScape\data\flame."
}
===============================
Commodore Amiga - WHDLoad - Games\H\HoleInOne&DataDisks_v1.1.lha
array(1) {
[0]=>
string(37) "HoleInOne&DataDisks\data\DigiTek,Inc."
}
===============================
Commodore Amiga - WHDLoad - Games\H\HoleInOne_v1.1.lha
array(1) {
[0]=>
string(27) "HoleInOne\data\DigiTek,Inc."
}
===============================
Commodore Amiga - WHDLoad - Games\H\Hostages_v1.2_0186.lha
array(2) {
[0]=>
string(20) "Hostages\data\APRO1."
[1]=>
string(17) "Hostages\data\it."
}
===============================
Commodore Amiga - WHDLoad - Games\M\Mach3_v1.1_2638.lha
array(1) {
[0]=>
string(27) "Mach3\data\ ..............."
}
===============================
Commodore Amiga - WHDLoad - Games\M\MetalMasters_v1.1_0534.lha
array(2) {
[0]=>
string(20) "MetalMasters\data\G."
[1]=>
string(20) "MetalMasters\data\M."
}
===============================
Commodore Amiga - WHDLoad - Games\M\Mystical_v1.2_0541.lha
array(1) {
[0]=>
string(18) "Mystical\data\RND."
}
===============================
Commodore Amiga - WHDLoad - Games\O\OperationJupiter_v1.2_Fr_0374.lha
array(2) {
[0]=>
string(30) "OperationJupiterFr\data\APRO1."
[1]=>
string(27) "OperationJupiterFr\data\IT."
}
===============================
Commodore Amiga - WHDLoad - Games\P\PurpleSaturnDay_v1.1_0562.lha
array(1) {
[0]=>
string(26) "PurpleSaturnDay\data\GAME."
}
===============================
Commodore Amiga - WHDLoad - Games\P\Puzznic_v1.3_0041.lha
array(7) {
[0]=>
string(18) "Puzznic\data\SPT0."
[1]=>
string(18) "Puzznic\data\SPT1."
[2]=>
string(18) "Puzznic\data\SPT2."
[3]=>
string(18) "Puzznic\data\SPT3."
[4]=>
string(18) "Puzznic\data\SPT4."
[5]=>
string(18) "Puzznic\data\SPT5."
[6]=>
string(18) "Puzznic\data\ZCHR."
}
===============================
Commodore Amiga - WHDLoad - Games\R\RageV1_v1.1.lha
array(41) {
[0]=>
string(18) "RageV1\data\*INTRO"
[1]=>
string(17) "RageV1\data\*MAIN"
[2]=>
string(21) "RageV1\data\*MISSION1"
[3]=>
string(21) "RageV1\data\*MISSION2"
[4]=>
string(21) "RageV1\data\*MISSION3"
[5]=>
string(21) "RageV1\data\*MISSION4"
[6]=>
string(21) "RageV1\data\*MISSION5"
[7]=>
string(21) "RageV1\data\*MISSION6"
[8]=>
string(19) "RageV1\data\*THEEND"
[9]=>
string(27) "RageV1\data\DATADIR\*ARMADA"
[10]=>
string(25) "RageV1\data\DATADIR\*CITY"
[11]=>
string(23) "RageV1\data\DATADIR\*EM"
[12]=>
string(28) "RageV1\data\DATADIR\*ENDPART"
[13]=>
string(22) "RageV1\data\DATADIR\*F"
[14]=>
string(28) "RageV1\data\DATADIR\*GENERAL"
[15]=>
string(27) "RageV1\data\DATADIR\*HITECH"
[16]=>
string(24) "RageV1\data\DATADIR\*IM1"
[17]=>
string(24) "RageV1\data\DATADIR\*IM2"
[18]=>
string(24) "RageV1\data\DATADIR\*IM3"
[19]=>
string(24) "RageV1\data\DATADIR\*IM4"
[20]=>
string(24) "RageV1\data\DATADIR\*IM5"
[21]=>
string(24) "RageV1\data\DATADIR\*IM6"
[22]=>
string(25) "RageV1\data\DATADIR\*LAVA"
[23]=>
string(25) "RageV1\data\DATADIR\*LOSE"
[24]=>
string(27) "RageV1\data\DATADIR\*MOTHER"
[25]=>
string(26) "RageV1\data\DATADIR\*PARTI"
[26]=>
string(27) "RageV1\data\DATADIR\*PARTII"
[27]=>
string(28) "RageV1\data\DATADIR\*PARTIII"
[28]=>
string(23) "RageV1\data\DATADIR\*PM"
[29]=>
string(31) "RageV1\data\DATADIR\*PROTECTION"
[30]=>
string(30) "RageV1\data\DATADIR\*SELECTION"
[31]=>
string(23) "RageV1\data\DATADIR\*SM"
[32]=>
string(25) "RageV1\data\DATADIR\*SNOW"
[33]=>
string(27) "RageV1\data\DATADIR\*SOUNDS"
[34]=>
string(27) "RageV1\data\DATADIR\*STORYI"
[35]=>
string(28) "RageV1\data\DATADIR\*STORYII"
[36]=>
string(29) "RageV1\data\DATADIR\*STORYIII"
[37]=>
string(28) "RageV1\data\DATADIR\*STORYIV"
[38]=>
string(27) "RageV1\data\DATADIR\*STORYV"
[39]=>
string(28) "RageV1\data\DATADIR\*STORYVI"
[40]=>
string(28) "RageV1\data\DATADIR\*VEGETAL"
}
===============================
Commodore Amiga - WHDLoad - Games\R\RageV2_v1.0.lha
array(39) {
[0]=>
string(22) "RageV2\data\***INFO***"
[1]=>
string(19) "RageV2\data\*ATTACK"
[2]=>
string(22) "RageV2\data\*ENCOUNTER"
[3]=>
string(17) "RageV2\data\*MAIN"
[4]=>
string(21) "RageV2\data\*MISSION1"
[5]=>
string(21) "RageV2\data\*MISSION2"
[6]=>
string(21) "RageV2\data\*MISSION3"
[7]=>
string(21) "RageV2\data\*MISSION4"
[8]=>
string(21) "RageV2\data\*MISSION5"
[9]=>
string(21) "RageV2\data\*MISSION6"
[10]=>
string(27) "RageV2\data\DATADIR\*ARMADA"
[11]=>
string(26) "RageV2\data\DATADIR\*BLUE1"
[12]=>
string(26) "RageV2\data\DATADIR\*BLUE2"
[13]=>
string(26) "RageV2\data\DATADIR\*BLUE3"
[14]=>
string(26) "RageV2\data\DATADIR\*BLUE4"
[15]=>
string(25) "RageV2\data\DATADIR\*CITY"
[16]=>
string(25) "RageV2\data\DATADIR\*FONT"
[17]=>
string(28) "RageV2\data\DATADIR\*GENERAL"
[18]=>
string(29) "RageV2\data\DATADIR\*GENERAL2"
[19]=>
string(27) "RageV2\data\DATADIR\*HITECH"
[20]=>
string(24) "RageV2\data\DATADIR\*IM1"
[21]=>
string(24) "RageV2\data\DATADIR\*IM2"
[22]=>
string(24) "RageV2\data\DATADIR\*IM3"
[23]=>
string(25) "RageV2\data\DATADIR\*LAVA"
[24]=>
string(25) "RageV2\data\DATADIR\*LOSE"
[25]=>
string(24) "RageV2\data\DATADIR\*MAP"
[26]=>
string(28) "RageV2\data\DATADIR\*METEORS"
[27]=>
string(31) "RageV2\data\DATADIR\*MOTHERSHIP"
[28]=>
string(24) "RageV2\data\DATADIR\*OM1"
[29]=>
string(24) "RageV2\data\DATADIR\*OM2"
[30]=>
string(29) "RageV2\data\DATADIR\*PRETITLE"
[31]=>
string(25) "RageV2\data\DATADIR\*SNOW"
[32]=>
string(27) "RageV2\data\DATADIR\*SOUNDS"
[33]=>
string(26) "RageV2\data\DATADIR\*SPACE"
[34]=>
string(31) "RageV2\data\DATADIR\*SPACESHIPS"
[35]=>
string(29) "RageV2\data\DATADIR\*STATIONS"
[36]=>
string(26) "RageV2\data\DATADIR\*TITLE"
[37]=>
string(28) "RageV2\data\DATADIR\*VEGETAL"
[38]=>
string(24) "RageV2\data\DATADIR\*WIN"
}
===============================
Commodore Amiga - WHDLoad - Games\S\SuperStreetFighter2Turbo_v1.1_AGA_0735.lha
array(1) {
[0]=>
string(37) "SuprStrtFtr2TrboAGA\INTRO\pro.i*riska"
}
===============================
Commodore Amiga - WHDLoad - Games\S\SuperStreetFighter2Turbo_v1.1_CD32.lha
array(1) {
[0]=>
string(38) "SuprStrtFtr2TrboCD32\INTRO\pro.i*riska"
}
===============================
Commodore Amiga - WHDLoad - Games\S\Supremacy_v1.1_1384.lha
array(1) {
[0]=>
string(28) "Supremacy\SupremacyData\WIN."
}
===============================
Commodore Amiga - WHDLoad - Games\U\Ultima5_v1.3_0785.lha
array(1) {
[0]=>
string(21) "Ultima5\data\ruptile."
}
===============================
Commodore Amiga - WHDLoad - Games\U\UltimateXTremeRacing_v1.1_AGA_CD.lha
array(2) {
[0]=>
string(56) "UltimateXTremeRacingCD\data\Layouts\Floating_City_3*.raw"
[1]=>
string(57) "UltimateXTremeRacingCD\data\Layouts\Toxic_Refinery_3*.raw"
}
===============================
Commodore Amiga - WHDLoad - Games\W\Wanted_v1.1_2619.lha
array(17) {
[0]=>
string(17) "Wanted\data\FOND."
[1]=>
string(18) "Wanted\data\FOND1."
[2]=>
string(18) "Wanted\data\FOND2."
[3]=>
string(18) "Wanted\data\FOND3."
[4]=>
string(18) "Wanted\data\FOND4."
[5]=>
string(18) "Wanted\data\FOND5."
[6]=>
string(17) "Wanted\data\GAME."
[7]=>
string(20) "Wanted\data\LOADER1."
[8]=>
string(16) "Wanted\data\RND."
[9]=>
string(18) "Wanted\data\SCORE."
[10]=>
string(16) "Wanted\data\SP1."
[11]=>
string(16) "Wanted\data\SP2."
[12]=>
string(16) "Wanted\data\SP3."
[13]=>
string(16) "Wanted\data\SP4."
[14]=>
string(16) "Wanted\data\SP5."
[15]=>
string(19) "Wanted\data\SPRITE."
[16]=>
string(20) "Wanted\data\SPRITE3."
}
===============================
Commodore Amiga - WHDLoad - Magazines\0\42Issue1_v1.0_Talent.lha
array(1) {
[0]=>
string(34) "42Issue1\data\Data\SCEN_Piracy?.pp"
}
===============================
Commodore Amiga - WHDLoad - Magazines\0\42Issue1_v1.0_Talent_AGA.lha
array(1) {
[0]=>
string(37) "42Issue1AGA\data\Data\SCEN_Piracy?.pp"
}
===============================
Commodore Amiga - WHDLoad - Magazines\C\CrackerJournal21_v1.0_AlphaFlight.lha
array(4) {
[0]=>
string(56) "CrackerJournal21\data\disk2\0>>>THIS IS PART II OF CJ 21"
[1]=>
string(47) "CrackerJournal21\data\disk2\1>>>CRACKER JOURNAL"
[2]=>
string(50) "CrackerJournal21\data\disk2\3>>>4000 DUESSELDORF 1"
[3]=>
string(39) "CrackerJournal21\data\disk2\4>>>GERMANY"
}
===============================
Commodore Amiga - WHDLoad - Magazines\S\Scene1_v1.0_Mystix.lha
array(1) {
[0]=>
string(25) "Scene1\data\please_wait.."
}
===============================
Commodore Amiga - WHDLoad - Magazines\U\Upstream01_v1.0_Frogs.lha
array(2) {
[0]=>
string(34) "Upstream01\data\Data\Arrogant?.ups"
[1]=>
string(33) "Upstream01\data\Data\ecfaked?.ups"
}
===============================
So now you know.

Retroplay 12 August 2020 13:22

Quote:

Originally Posted by Radertified (Post 1420107)
Does anyone (Retroplay?) maintain a list of slaves that continue to use data files that won't extract on Windows?

No, I don't.
I do all the installing/packing in Workbench to real Amiga file system (PFS3).

As I've said numerous times, I don't condone using anything but a real proper Amiga file system to extract these.

While we're at it, you might want to add Embryo to the list.
Extract that to anything but an Amiga file system and it breaks.

StingRay 12 August 2020 13:32

Quote:

Originally Posted by retroplay (Post 1420154)
as i've said numerous times, i don't condone using anything but a real proper amiga file system to extract these.


+1!

Radertified 12 August 2020 16:45

Quote:

Originally Posted by Retroplay (Post 1420154)
No, I don't.
I do all the installing/packing in Workbench to real Amiga file system (PFS3).

As I've said numerous times, I don't condone using anything but a real proper Amiga file system to extract these.

Completely understandable and I agree that it's the best way to do things. I'm just thinking about future projects and was curious if I could use Windows for everything.

Quote:

While we're at it, you might want to add Embryo to the list.
Extract that to anything but an Amiga file system and it breaks.
I just tested it and it works fine. I did a checksum compare between the Amiga and Windows extracted folders and they were identical.
I even tested EmbryoDe to be sure and that turned up with the same results.

StingRay 12 August 2020 17:02

Quote:

I did a checksum compare between the Amiga and Windows extracted folders and they were identical.
File content doesn't matter, file comments do.

Radertified 12 August 2020 17:24

Quote:

Originally Posted by StingRay (Post 1420208)
File content doesn't matter, file comments do.

But if the checksums for the files are identical, surely that means all data is intact? I must be missing something here...

Retroplay 12 August 2020 17:28

Quote:

File content doesn't matter, file comments do.
Exactly.
Even zipping up the game breaks it, even if using a real Amiga file system and Amiga zip/unzip.

This is the very reason I chose to redo the entire preinstalled catalogue of games/demos/mags.
Too many potentially broken archives, and too many potential "false" bug reports as a result of that.
Fightin' Spirit AGA comes to mind, zip breaks it.
http://mantis.whdload.de/view.php?id=2276

StingRay 12 August 2020 17:31

Quote:

Originally Posted by Radertified (Post 1420214)
But if the checksums for the files are identical, surely that means all data is intact? I must be missing something here...


As I have said, the file content doesn't matter, the file comments do. If these are lost (which happens once the files will be extracted in a non-Amiga environment) the game will not work properly anymore.

Radertified 12 August 2020 17:39

Quote:

Originally Posted by StingRay (Post 1420217)
As I have said, the file content doesn't matter, the file comments do. If these are lost (which happens once the files will be extracted in a non-Amiga environment) the game will not work properly anymore.

But that's what I mean. If a file has an identical checksum of 12345 in both extracted versions, that means it's bit-for-bit identical. Every file comment will be intact.

I'll take your word for it because I guarantee you know more about the Amiga side of things than I do and I'm not grasping something :)

StingRay 12 August 2020 17:59

Comments are a file-system feature, they will not change the checksum of a file as the content of the file does not change. You can easily try this yourself on Amiga:
Calculate the checksum of a file without comment, then add a comment to that file and perform the checksum calculation again, the result will be the same. :)

See autodocs for SetComment (dos.library) for some more info.

Radertified 12 August 2020 18:19

1 Attachment(s)
Quote:

Originally Posted by StingRay (Post 1420224)
Comments are a file-system feature, they will not change the checksum of a file as the content of the file does not change. You can easily try this yourself on Amiga:
Calculate the checksum of a file without comment, then add a comment to that file and perform the checksum calculation again, the result will be the same. :)

See autodocs for SetComment (dos.library) for some more info.

Confirmed. I learned something new. Thanks StingRay!

I guess lha and lzx are able to store filesystem quirks, whereas zip cannot. Good to know.

EDIT:

And in case anyone else wants to see the magic of lha and lzx, attached is a screenshot of the contents of lha, lzx and zip files that contain 2 files: "test.txt" which has a comment, and "test2.txt" which does not. Scientific I know :p

svin83 20 November 2021 00:50

Not just zip/unzip
 
This exact problem will still haunt you if you put the files on any file system that doesn't support Amiga specific metadata.

Even if you use Amiga file systems, and successfully mount them with read and write support in OSes like Linux or BSD, and then use a fully compatible version of "lha for Unix" to extract the files, you'll probably end up with the exact same bad results.

If only one out of these:
  • The OS
  • File system driver
  • archive extractor/compressor
  • file management software (copy/move/rename/etc)

Either ignores, doesn't know about, or only partially support, those Amiga FS specific flags/comments then they won't be preserved.

DisasterIncarna 20 November 2021 19:54

Uropa² always sends my emulators mental because of the superscript 2 when using real directory mode.

Wepl 20 November 2021 23:35

Archived (lha/zip) data files could be used to run such games from filesystems which do not support Amiga filesystem meta data. See https://eab.abime.net/showthread.php?t=103144


All times are GMT +2. The time now is 23:52.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.

Page generated in 0.05052 seconds with 11 queries