View Single Post
Old 12 August 2020, 10:14   #6
Radertified
Registered User
 
Join Date: Jan 2011
Location: -
Posts: 728
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.

Last edited by Radertified; 12 August 2020 at 10:20.
Radertified is offline  
 
Page generated in 0.04839 seconds with 11 queries