From 250d1043e36bde7a95ec08b8dbf80a3e1e4cc5dd Mon Sep 17 00:00:00 2001 From: Andy McFadden Date: Mon, 8 Dec 2014 22:34:34 -0800 Subject: [PATCH] WinHelp to HtmlHelp conversion, part 1 The original version of CiderPress used a WinHelp help file, built with an application called HelpMatic Pro. This app used a proprietary format, and had no facility for exporting to "raw" HPJ + RTF files, so I decompiled the HLP and imported it into HelpScribble. Using HelpScribble, I cleaned up the help file formatting a little, fixed up the table of contents, and exported as "raw" HtmlHelp (HHP, HHK, HHC, and a whole bunch of HTML). I also split the pop-up help text, which isn't supported by HelpScribble, into a separate text file that Microsoft's HTML Help Workshop understands. I'm checking in the files that HTML Help Workshop needs to generate a CHM, so anyone can update the help text. I'm also checking in the CHM file, rather than adding the help workshop to the build, so that it's not necessary to download and configure the help workshop to build CiderPress. This change adds all of the updated help, but only updates the Help and question mark button actions for one specific dialog. A subsequent change will update the rest of the dialogs. This change is essentially upgrading us from a totally obsolete help system to a nearly-obsolete help system, but the systems are similar enough to make this a useful half-step on the way to something else. The code will centralize help activation in a pair of functions in the main app class, so any future improvements should be more limited in scope. This also adds a build step to copy the CHM to the execution directory. --- app/DiskConvertDialog.cpp | 15 - app/DiskConvertDialog.h | 12 +- app/Help/CIDERPRESS.HLP | Bin 295668 -> 0 bytes app/Help/CiderPress.chm | Bin 0 -> 186767 bytes app/Help/CiderPress.cnt | 56 ---- app/Help/CiderPress.hhc | 232 +++++++++++++ app/Help/CiderPress.hhk | 564 +++++++++++++++++++++++++++++++ app/Help/CiderPress.hhp | 161 +++++++++ app/Help/CiderPress.hmp | Bin 329108 -> 0 bytes app/Help/PopUp.txt | 675 ++++++++++++++++++++++++++++++++++++++ app/Help/PopUpIds.h | 331 +++++++++++++++++++ app/Help/html/t10.htm | 28 ++ app/Help/html/t109.htm | 145 ++++++++ app/Help/html/t111.htm | 104 ++++++ app/Help/html/t112.htm | 37 +++ app/Help/html/t13.htm | 57 ++++ app/Help/html/t18.htm | 130 ++++++++ app/Help/html/t187.htm | 41 +++ app/Help/html/t19.htm | 57 ++++ app/Help/html/t20.htm | 22 ++ app/Help/html/t201.htm | 29 ++ app/Help/html/t203.htm | 43 +++ app/Help/html/t21.htm | 42 +++ app/Help/html/t215.htm | 31 ++ app/Help/html/t216.htm | 35 ++ app/Help/html/t22.htm | 159 +++++++++ app/Help/html/t23.htm | 42 +++ app/Help/html/t233.htm | 29 ++ app/Help/html/t24.htm | 124 +++++++ app/Help/html/t241.htm | 65 ++++ app/Help/html/t244.htm | 64 ++++ app/Help/html/t245.htm | 44 +++ app/Help/html/t247.htm | 34 ++ app/Help/html/t25.htm | 45 +++ app/Help/html/t257.htm | 23 ++ app/Help/html/t258.htm | 57 ++++ app/Help/html/t259.htm | 33 ++ app/Help/html/t262.htm | 41 +++ app/Help/html/t263.htm | 20 ++ app/Help/html/t268.htm | 34 ++ app/Help/html/t272.htm | 46 +++ app/Help/html/t273.htm | 39 +++ app/Help/html/t277.htm | 32 ++ app/Help/html/t28.htm | 30 ++ app/Help/html/t284.htm | 35 ++ app/Help/html/t29.htm | 22 ++ app/Help/html/t38.htm | 24 ++ app/Help/html/t39.htm | 79 +++++ app/Help/html/t41.htm | 70 ++++ app/Help/html/t42.htm | 44 +++ app/Help/html/t43.htm | 25 ++ app/Help/html/t44.htm | 21 ++ app/Help/html/t45.htm | 73 +++++ app/Help/html/t46.htm | 18 + app/Help/html/t47.htm | 108 ++++++ app/Help/html/t48.htm | 61 ++++ app/Help/html/t49.htm | 25 ++ app/Help/html/t50.htm | 44 +++ app/Help/html/t51.htm | 35 ++ app/Help/html/t52.htm | 27 ++ app/Help/html/t53.htm | 20 ++ app/Help/html/t54.htm | 20 ++ app/Help/html/t55.htm | 39 +++ app/Help/html/t56.htm | 22 ++ app/Help/html/t57.htm | 23 ++ app/Help/html/t58.htm | 26 ++ app/Help/html/t59.htm | 31 ++ app/Help/html/t60.htm | 61 ++++ app/Help/html/t61.htm | 26 ++ app/Help/html/t62.htm | 29 ++ app/Help/html/t63.htm | 24 ++ app/Help/html/t64.htm | 20 ++ app/Help/html/t65.htm | 18 + app/Help/html/t66.htm | 20 ++ app/Help/html/t67.htm | 29 ++ app/Help/html/t68.htm | 48 +++ app/Help/html/t69.htm | 62 ++++ app/MyApp.cpp | 367 ++++++++++++++++++++- app/MyApp.h | 19 ++ app/app.vcxproj | 17 +- app/app.vcxproj.filters | 3 - 81 files changed, 5357 insertions(+), 86 deletions(-) delete mode 100644 app/Help/CIDERPRESS.HLP create mode 100644 app/Help/CiderPress.chm delete mode 100644 app/Help/CiderPress.cnt create mode 100644 app/Help/CiderPress.hhc create mode 100644 app/Help/CiderPress.hhk create mode 100644 app/Help/CiderPress.hhp delete mode 100644 app/Help/CiderPress.hmp create mode 100644 app/Help/PopUp.txt create mode 100644 app/Help/PopUpIds.h create mode 100644 app/Help/html/t10.htm create mode 100644 app/Help/html/t109.htm create mode 100644 app/Help/html/t111.htm create mode 100644 app/Help/html/t112.htm create mode 100644 app/Help/html/t13.htm create mode 100644 app/Help/html/t18.htm create mode 100644 app/Help/html/t187.htm create mode 100644 app/Help/html/t19.htm create mode 100644 app/Help/html/t20.htm create mode 100644 app/Help/html/t201.htm create mode 100644 app/Help/html/t203.htm create mode 100644 app/Help/html/t21.htm create mode 100644 app/Help/html/t215.htm create mode 100644 app/Help/html/t216.htm create mode 100644 app/Help/html/t22.htm create mode 100644 app/Help/html/t23.htm create mode 100644 app/Help/html/t233.htm create mode 100644 app/Help/html/t24.htm create mode 100644 app/Help/html/t241.htm create mode 100644 app/Help/html/t244.htm create mode 100644 app/Help/html/t245.htm create mode 100644 app/Help/html/t247.htm create mode 100644 app/Help/html/t25.htm create mode 100644 app/Help/html/t257.htm create mode 100644 app/Help/html/t258.htm create mode 100644 app/Help/html/t259.htm create mode 100644 app/Help/html/t262.htm create mode 100644 app/Help/html/t263.htm create mode 100644 app/Help/html/t268.htm create mode 100644 app/Help/html/t272.htm create mode 100644 app/Help/html/t273.htm create mode 100644 app/Help/html/t277.htm create mode 100644 app/Help/html/t28.htm create mode 100644 app/Help/html/t284.htm create mode 100644 app/Help/html/t29.htm create mode 100644 app/Help/html/t38.htm create mode 100644 app/Help/html/t39.htm create mode 100644 app/Help/html/t41.htm create mode 100644 app/Help/html/t42.htm create mode 100644 app/Help/html/t43.htm create mode 100644 app/Help/html/t44.htm create mode 100644 app/Help/html/t45.htm create mode 100644 app/Help/html/t46.htm create mode 100644 app/Help/html/t47.htm create mode 100644 app/Help/html/t48.htm create mode 100644 app/Help/html/t49.htm create mode 100644 app/Help/html/t50.htm create mode 100644 app/Help/html/t51.htm create mode 100644 app/Help/html/t52.htm create mode 100644 app/Help/html/t53.htm create mode 100644 app/Help/html/t54.htm create mode 100644 app/Help/html/t55.htm create mode 100644 app/Help/html/t56.htm create mode 100644 app/Help/html/t57.htm create mode 100644 app/Help/html/t58.htm create mode 100644 app/Help/html/t59.htm create mode 100644 app/Help/html/t60.htm create mode 100644 app/Help/html/t61.htm create mode 100644 app/Help/html/t62.htm create mode 100644 app/Help/html/t63.htm create mode 100644 app/Help/html/t64.htm create mode 100644 app/Help/html/t65.htm create mode 100644 app/Help/html/t66.htm create mode 100644 app/Help/html/t67.htm create mode 100644 app/Help/html/t68.htm create mode 100644 app/Help/html/t69.htm diff --git a/app/DiskConvertDialog.cpp b/app/DiskConvertDialog.cpp index c021a57..63a87f7 100644 --- a/app/DiskConvertDialog.cpp +++ b/app/DiskConvertDialog.cpp @@ -8,7 +8,6 @@ */ #include "StdAfx.h" #include "DiskConvertDialog.h" -#include "HelpTopics.h" using namespace DiskImgLib; @@ -259,17 +258,3 @@ void DiskConvertDialog::OnChangeRadio(UINT nID) else pGzip->EnableWindow(pNuFX->GetCheck() == BST_UNCHECKED); } - -BOOL DiskConvertDialog::OnHelpInfo(HELPINFO* lpHelpInfo) -{ - WinHelp((DWORD) lpHelpInfo->iCtrlId, HELP_CONTEXTPOPUP); - return TRUE; // yes, we handled it -} - -void DiskConvertDialog::OnHelp(void) -{ - if (fBulkFileCount < 0) - WinHelp(HELP_TOPIC_DISK_CONV, HELP_CONTEXT); - else - WinHelp(HELP_TOPIC_BULK_DISK_CONV, HELP_CONTEXT); -} diff --git a/app/DiskConvertDialog.h b/app/DiskConvertDialog.h index 3a370b4..6bf81f6 100644 --- a/app/DiskConvertDialog.h +++ b/app/DiskConvertDialog.h @@ -11,6 +11,7 @@ #include "resource.h" #include "../diskimg/DiskImg.h" +#include "HelpTopics.h" /* * The set of conversions available depends on the format of the source image. @@ -75,10 +76,17 @@ private: afx_msg void OnChangeRadio(UINT nID); // User pressed the "Help" button. - afx_msg void OnHelp(void); + afx_msg void OnHelp(void) { + if (fBulkFileCount < 0) + MyApp::HandleHelp(this, HELP_TOPIC_DISK_CONV); + else + MyApp::HandleHelp(this, HELP_TOPIC_BULK_DISK_CONV); + } // Context help request (question mark button). - afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo); + afx_msg BOOL OnHelpInfo(HELPINFO* lpHelpInfo) { + return MyApp::HandleHelpInfo(lpHelpInfo); + } CString fDiskDescription; bool fAllowUnadornedDOS; diff --git a/app/Help/CIDERPRESS.HLP b/app/Help/CIDERPRESS.HLP deleted file mode 100644 index ab9510710be534f7c0d1850bc76e5d67218d83b1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 295668 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

Kz;U(N=H;C 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

m}1<{+U#ZoW-1?r)a@oTw4AMA?U{Mw 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%0A%c6?hK~m?9>S*F2vio zM>Ld7%iy^?&gIFrGIYHvMMC$JIJS2s;M0f<=hdO3IM0H_abkpMEJHvQ%dWy6JCjn zK!3y^)ND>~#tjjBDj^hC)W3_(YLsa=7JPEK+t5zdJy@wG)2TKPuM~zgz1KLlQ=;;` zC&-J10JpNH#}Q_SdTE0K2pI}9N2fk3Y7KW zaos8TU#ua`8?0@T+Tt{=hDtMyv1FLsd3OR^Jk0 z57B2z3OE*0LjEEU1@z+!pB&I6oidR?&zH9WTlIL6Gw;yET#|_g6a?G_L#TrZp_Zzn z6;21wfo%z`J1Z@~0UI$Yz0H6Gc=9^36-#S~wG{hJdE1)_E6svtJ1i2#t2K)(WSr$J zpK+!h=dM;kzg_N?w)P6+RpL)$#9u0P7r`6)ix7t5d!feA$BA2n>dJ?ui4deXb5s#S zl{`JqzIV2usU;s89{xL?C51}ckErxXPZkD$aCf(~w&2x@d6p=cM!2fZf>MSp+HOR7 z&LXcRxMi!V6~x0uW^UUs?_#CML{&Y!I`#(k?5BDC+)IVfNXTYyI|_`^6BEZgn<%^L> z6=`LusZ=@eCd#zQCwonEl|Czj*?tx|x5S&Cu2$LeoJa~E$KGalu8nTXVxj4uIzD=y zHRmT&ABkauP61=M=?4n^B_@dEQ0Ii^^oZMvY*Aw-jsc&*r)NF*Hs8UX9M+)A@l7+f3gRC⋘L_5^8 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 literal 0 HcmV?d00001 diff --git a/app/Help/CiderPress.cnt b/app/Help/CiderPress.cnt deleted file mode 100644 index 46dc98e..0000000 --- a/app/Help/CiderPress.cnt +++ /dev/null @@ -1,56 +0,0 @@ -:Base CiderPress.hlp>main -:Title CiderPress Help -1 Introduction -2 Welcome!=Topic1 -2 Features=Topic47 -2 Getting Help=Topic284 -2 How (and Why) to Register=Topic46 -2 Credits=Topic14 -1 Using CiderPress -2 Available Commands=Topic48 -2 Commands -3 Selecting Commands=Topic52 -3 Opening, Closing, and Creating Files=Topic51 -3 Opening a Volume=Topic241 -3 Archive Info=Topic258 -3 Working With the File List=Topic50 -3 Printing=Topic53 -3 Viewing Files=Topic54 -3 Adding Files and Disks=Topic55 -3 Creating Subdirectories=Topic263 -3 Extracting Files=Topic39 -3 Copying and Pasting=Topic273 -3 Testing Archives=Topic56 -3 Rename Entries=Topic42 -3 Delete Entries=Topic57 -3 Re-Compress Entries=Topic58 -3 Edit Comment=Topic43 -3 Edit File Attributes=Topic203 -3 Convert Disk Image to File Archive=Topic215 -3 Convert File Archive to Disk Image=Topic216 -3 Import from Cassette=Topic111 -3 Import BASIC Program=Topic112 -2 Tools -3 Disk Sector Viewer=Topic3 -3 Disk Image Converter=Topic187 -3 Bulk Disk Image Converter=Topic233 -3 SST Image Merge=Topic201 -3 Windows Volume Copier=Topic245 -3 EOL Scanner=Topic272 -3 2MG Properties Editor=Topic277 -2 Preferences -3 General Preferences=Topic19 -3 Disk Image Preferences=Topic259 -3 Compression Preferences=Topic29 -3 File Viewer Preferences=Topic23 -3 File Preferences=Topic28 -1 Appendix -2 About Disk Images=Topic18 -2 Embedded DOS Volumes=Topic21 -2 File Format Converters=Topic22 -2 Disassembly Notes=Topic109 -2 File Extensions=Topic45 -2 File Attribute Preservation=Topic68 -2 Compression Algorithms=Topic69 -2 About Removable Media (CF, floppy, CD-ROM)=Topic244 -2 Administrator Privileges=Topic262 diff --git a/app/Help/CiderPress.hhc b/app/Help/CiderPress.hhc new file mode 100644 index 0000000..f6bce89 --- /dev/null +++ b/app/Help/CiderPress.hhc @@ -0,0 +1,232 @@ + + + + + + + +

+ diff --git a/app/Help/CiderPress.hhk b/app/Help/CiderPress.hhk new file mode 100644 index 0000000..adaa5b3 --- /dev/null +++ b/app/Help/CiderPress.hhk @@ -0,0 +1,564 @@ + + + + + + + + +
    +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + + + +
  • + + + +
  • + + + + + + + + + + + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + + + +
  • + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
    • + + + +
    +
  • + + + + + + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + + + + +
  • + + + + + + + + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
  • + + + +
+ diff --git a/app/Help/CiderPress.hhp b/app/Help/CiderPress.hhp new file mode 100644 index 0000000..599515a --- /dev/null +++ b/app/Help/CiderPress.hhp @@ -0,0 +1,161 @@ +; CiderPress Help +; Copyright (C) 2014 by CiderPress authors + +[OPTIONS] +Compatibility=1.1 or later +Compiled file=CiderPress.chm +Contents file=CiderPress.hhc +Default Window=main +Default topic=html\t10.htm +Display compile progress=No +Full-text search=Yes +Index file=CiderPress.hhk +Language=0x409 English (United States) +Title=CiderPress Help + +[WINDOWS] +main="CiderPress Help","CiderPress.hhc","CiderPress.hhk","html\t10.htm",,,,,,0x40520,,0x200e,[150,50,750,550],,,,,,,0 + + +[FILES] +html\t10.htm +html\t13.htm +html\t18.htm +html\t19.htm +html\t20.htm +html\t21.htm +html\t22.htm +html\t23.htm +html\t24.htm +html\t25.htm +html\t28.htm +html\t29.htm +html\t38.htm +html\t39.htm +html\t41.htm +html\t42.htm +html\t43.htm +html\t44.htm +html\t45.htm +html\t46.htm +html\t47.htm +html\t48.htm +html\t49.htm +html\t50.htm +html\t51.htm +html\t52.htm +html\t53.htm +html\t54.htm +html\t55.htm +html\t56.htm +html\t57.htm +html\t58.htm +html\t59.htm +html\t60.htm +html\t61.htm +html\t62.htm +html\t63.htm +html\t64.htm +html\t65.htm +html\t66.htm +html\t67.htm +html\t68.htm +html\t69.htm +html\t109.htm +html\t111.htm +html\t112.htm +html\t187.htm +html\t201.htm +html\t203.htm +html\t215.htm +html\t216.htm +html\t233.htm +html\t241.htm +html\t244.htm +html\t245.htm +html\t247.htm +html\t257.htm +html\t258.htm +html\t259.htm +html\t262.htm +html\t263.htm +html\t268.htm +html\t272.htm +html\t273.htm +html\t277.htm +html\t284.htm + +[MAP] +#define html\t10 10 +#define html\t109 109 +#define html\t111 111 +#define html\t112 112 +#define html\t13 13 +#define html\t18 18 +#define html\t187 187 +#define html\t19 19 +#define html\t20 20 +#define html\t201 201 +#define html\t203 203 +#define html\t21 21 +#define html\t215 215 +#define html\t216 216 +#define html\t22 22 +#define html\t23 23 +#define html\t233 233 +#define html\t24 24 +#define html\t241 241 +#define html\t244 244 +#define html\t245 245 +#define html\t247 247 +#define html\t25 25 +#define html\t257 257 +#define html\t258 258 +#define html\t259 259 +#define html\t262 262 +#define html\t263 263 +#define html\t268 268 +#define html\t272 272 +#define html\t273 273 +#define html\t277 277 +#define html\t28 28 +#define html\t284 284 +#define html\t29 29 +#define html\t38 38 +#define html\t39 39 +#define html\t41 41 +#define html\t42 42 +#define html\t43 43 +#define html\t44 44 +#define html\t45 45 +#define html\t46 46 +#define html\t47 47 +#define html\t48 48 +#define html\t49 49 +#define html\t50 50 +#define html\t51 51 +#define html\t52 52 +#define html\t53 53 +#define html\t54 54 +#define html\t55 55 +#define html\t56 56 +#define html\t57 57 +#define html\t58 58 +#define html\t59 59 +#define html\t60 60 +#define html\t61 61 +#define html\t62 62 +#define html\t63 63 +#define html\t64 64 +#define html\t65 65 +#define html\t66 66 +#define html\t67 67 +#define html\t68 68 +#define html\t69 69 + +[TEXT POPUPS] +PopUp.txt +PopUpIds.h + +[INFOTYPES] + diff --git a/app/Help/CiderPress.hmp b/app/Help/CiderPress.hmp deleted file mode 100644 index 025b9e25e121f06d029d10462f4d840390e51d7c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 329108 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ⅈCULTw%Ejdq_{CmdG&dz3NI;xF0_1fSs#j;s!?}<2;b@5Dy){5@WvZ zq|FaDMOP{H4WJ!C0%r!xX@~M)9I`jUONM*xK$o^qI(}JoTU$nS(LEz7t?#svmrysZ zK=#Up8mf2QZrVV^RZXU2(qo<5Ne3H^8^>>f<|=4R>@t%SJ;IR9ATtbEkhl-|PR+?< z(!z8AQ?ztQ=EPa~0Ms>tE>_-m<@ijxgPkX%&p(w`_DplQwsJoizon%FOpK6Gd;o{r z8}HX&HIeo!y(&5U`WN5JldgVHn^h8{gbIXjY9|Ni&`7XYPA`S|WP&CuQtovSM}V4y z+j@CYEE|Vd5sM17SMEz>naiowrIliRZ~xPS?T3##g$z_s4ZWonj53LJcQKB{BwrY+ zrgunCqeV+wMtk5qXTwbIbxY6U(SMRM7&j!5HVw1>s5Mg}_M(DAib#Kz_~sw9G?S_S zBg-~#k^1D+`u*>>TK`+?iwb{!q0wojq;rVkOzu@ohYsu-(P5Em@xWqtt=9XE=SiJc ziJd7?r@v_ z4j$nT^Ea6)O?vKs{KBM66SkiN1fR;I*i2QrZH`VUX`=TbL7K2`N~8^;Jx}Ti>9ktQ z6<{h6>3d%o{xy)Sf_|ST^n}vj-&;Tr1NudOgm0-y_9>w$QqFD!=sp9qT6Y=%{q`3I z(9aWW%C-h<3Uq|3nYiBw2QaoFOwgEI4j6j?MQA8~h>c>tF-tq~SZ!oXWN(OJq!;mo zkha;j@c6V^iw!7#aisgjpk?5aOCT(C!k~jok9h%E!sVnP)c9ddN~^ZE)w`|ITC1_iv=NdX5&W=8b3eX=kK>dgR zzfIRvVa3YohhAEtA5>hyzi(4s!PCk)U-w+<#P*yO*f#;HYf`G~UspxHzIk@^Y&Ix1 zdJ~*p#ov-1hR;QH)0Wb3^E@$K2cB}Il06jtibqq`5YpMm{Z*KBZFq83JU-sC((+>A zEpoLjPy5#WGI?7c5Wc1|I{XPfSgunC@oW}_*)8cw)60LA${iLd0hcf0dIYTFA;G=eb>pt^x~F9 zy!5L$bE=^*-BkRTh(7+(?d`Kk;wTxg;x#d$LH}sn9aDQHD=)jO3D1s;mF4Bz%gf7n z^@dos?&{R!|;Xb($SSvf!=Ii<`~R6z}50l6w=v3T$9$JHrL zdI^o?UwXW;uFyf{@s*|bQog&cEEM(CD#Zp{NP90tv{L9sLN&%;Qb~H>S&K95 z6Ro9Q_k4gie+-$n*H*W-Hox&$V3pY$f?56Y!2ZY^#k5siO*vX%7oe;0rU&CI!Xa%TFxZGjODzyQ zM%=?f)nL@Wo11qf%{%waa$)SRLo9>|B6oR0+*3OkkuAF~-EvZ8W}Dju!f+)t`Z*4R1qg!=@p&P43;!7O8h%Y zWFa0BWJGoXrKrwa4Iaa=NHgbY9Dp6a_m&v82f>WtManOPJd$)zYp?lFs_NC67k#o; zT>$Mu!aK=;>#L2(Urwf+*TRQv9tw>iM5=HAAw57IH3#;a( zo2td7uT

0*u`>Vew|wt%O*?JcuH-5?M`j9(fEvNKWUcf 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 Q5eNNH)<0kA|Hqa7KWz%Y#{d8T diff --git a/app/Help/PopUp.txt b/app/Help/PopUp.txt new file mode 100644 index 0000000..c2c4283 --- /dev/null +++ b/app/Help/PopUp.txt @@ -0,0 +1,675 @@ +.topic IDH_IDOK +Click this to accept values and continue. + +.topic IDH_IDCANCEL +Click this to go back without doing anything. + +.topic IDH_IDHELP +Click this for help on this screen. + +.topic IDH_COL_PATHNAME +The pathname column may not be hidden. + +.topic IDH_COL_TYPE +Un-check to hide the "type" column. + +.topic IDH_COL_AUXTYPE +Un-check to hide the "aux type" column. + +.topic IDH_COL_MODDATE +Un-check to hide the "mod date" column. + +.topic IDH_COL_FORMAT +Un-check to hide the "format" column. + +.topic IDH_COL_SIZE +Un-check to hide the "size" column. + +.topic IDH_COL_RATIO +Un-check to hide the "ratio" column. + +.topic IDH_COL_PACKED +Un-check to hide the "packed" column. + +.topic IDH_COL_ACCESS +Un-check to hide the "access" column. + +.topic IDH_COL_DEFAULTS +Press this to reset the columns to default sizes. + +.topic IDH_DEFC_UNCOMPRESSED +Do not compress files. + +.topic IDH_DEFC_SQUEEZE +The "SQueeze" format was popularized under CP/M by the "sq" and "usq" commands, which created ".QQ" files. Commonly used as part of the Binary II application "BLU" to create .BQY files. Generally inferior to LZW, it was rarely used once ShrinkIt was released. Supported in NuFX archives by all versions of ShrinkIt, but due to program bugs only GS/ShrinkIt can actually unpack it. + +.topic IDH_DEFC_LZW1 +ShrinkIt's "Dynamic LZW/1" compression, part of the original ShrinkIt. A combination of RLE and 12-bit LZW. + +.topic IDH_DEFC_LZW2 +ShrinkIt's "Dynamic LZW/2" compression, first introduced in GS/ShrinkIt. A combination of RLE and 12-bit LZW. Slightly more efficient than LZW/1, this algorithm is well-supported on the Apple II. + +.topic IDH_DEFC_LZC12 +This creates the same output as UNIX "compress", one of the early LZW compressors, restricted to 12-bit codes. First introduced in the original NuLib utility, this format is supported by NuLib, NuLib2, and GS/ShrinkIt. + +.topic IDH_DEFC_LZC16 +Like LZC-12, but with 16-bit codes. Performs better than 12-bit LZW, but the improvement is only noticeable on larger files. + +.topic IDH_DEFC_DEFLATE +The "deflate" algorithm from zlib is used in ZIP archives, gzip ".gz" files, PNG graphics, and is defined by an Internet RFC. It is currently one of the most common ways to compress data. Its compression performance is considerably better than LZW, but support on the Apple II is limited. Its use was first defined as a NuFX extension in NuLib2 v1.1. + +.topic IDH_DEFC_BZIP2 +The "bzip2" program uses the Burrows-Wheeler Transform (BWT) compression method. It's slower and more memory-intensive than "deflate", but it does exceptionally well on large sets of text files or source code. Support on the Apple II is nonexistent. Its use was first defined as a NuFX extension in NuLib2 v1.1. + +.topic IDH_TOPIC1024 +If enabled, end-of-line characters in text files will be converted when viewing in "raw" mode. + +.topic IDH_PVIEW_NOWRAP_TEXT +This determines whether lines of text wrap when they reach the right edge of the file viewer, or run off the edge and are viewed with a scroll bar. + +.topic IDH_PVIEW_BOLD_HEXDUMP +If enabled, some columns in the hex dump display will be highlighted for easier viewing. + +.topic IDH_PVIEW_BOLD_BASIC +If enabled, Applesoft and Integer BASIC programs will be converted to Rich Text Format with colored highlights. + +.topic IDH_PVIEW_DISASM_ONEBYTEBRKCOP +The IIgs monitor disassembles BRK and COP instructions as two bytes, which can make some disassemblies harder to read. When this option is enabled, BRK and COP are shown as single-byte operations. + +.topic IDH_PVIEW_HIRES_BW +If enabled, hi-res graphics are converted to black & white images by default. + +.topic IDH_PVIEW_DHR_CONV_COMBO +Selects the preferred conversion algorithm for double-hi-res graphics. + +.topic IDH_PVIEW_HITEXT +Enables the text converter, which strips "high ASCII" text and converts end-of-line characters. + +.topic IDH_PVIEW_PASCALTEXT +Enables the Pascal text (PTX) converter. + +.topic IDH_PVIEW_APPLESOFT +Enables the Applesoft BASIC converter. + +.topic IDH_PVIEW_INTEGER +Enables the Integer BASIC converter. + +.topic IDH_PVIEW_HIRES +Enables the hi-res graphics converter. + +.topic IDH_PVIEW_DHR +Enables the double-hi-res graphics converter. + +.topic IDH_PVIEW_SHR +Enables the super-hi-res graphics converter. + +.topic IDH_PVIEW_AWP +Enables the AppleWorks Word Processor document converter. + +.topic IDH_PVIEW_PRODOSFOLDER +Display ProDOS folders in a format similar to the ProDOS 8 BASIC.System 80-column "catalog" command. (Folders are never extracted, so this only affects the way folders are viewed.) + +.topic IDH_PVIEW_RESOURCES +View and extract resource forks by breaking them down into individual resources, which are displayed as hex dumps. + +.topic IDH_PVIEW_RELAX_GFX +Relaxes strict type-checking requirements for graphics files. Useful for hi-res and double-hi-res images, which often are stored with the generic "BIN" type. + +.topic IDH_PVIEW_ADB +Enables the AppleWorks Database document converter. + +.topic IDH_PVIEW_SCASSEM +Enables conversion of assembly source files (S-C Assembler, LISA, Merlin) to text. + +.topic IDH_PVIEW_ASP +Enables the AppleWorks Spreadsheet document converter. + +.topic IDH_PVIEW_MACPAINT +Enables conversion of MacPaint 'PNTG' graphics files. These are monochrome 576x720 images from the original MacPaint program. The newer 'PICT' format is not supported. + +.topic IDH_PVIEW_PASCALCODE +Enables conversion of UCSD Pascal code files to a partially analyzed hex dump format. + +.topic IDH_PVIEW_CPMTEXT +Enables the CP/M text converter. Only applies to files that appear to contain text and reside on CP/M disks. + +.topic IDH_PVIEW_GWP +Enables IIgs word processor file conversion, including AWGS and Teach. + +.topic IDH_PVIEW_DISASM +Enables code disassembly, including //e and IIgs monitor output. + +.topic IDH_PVIEW_PRINTSHOP +Enable conversion of Print Shop and Print Shop GS clip art. + +.topic IDH_PVIEW_TEXT8 +Convert 8-bit word processor documents, such as Magic Window. + +.topic IDH_PVIEW_SIZE_EDIT +Set the size of the largest file that the file viewer will open, in 1K increments. + +.topic IDH_PVIEW_SIZE_SPIN +Set the size of the largest file that the file viewer will open, in 1K increments. + +.topic IDH_DISKEDIT_DOREAD +Read the block or sector specified. + +.topic IDH_DISKEDIT_DOWRITE +Click here to write the current block or sector. This is disabled for disks open in read-only mode. + +.topic IDH_DISKEDIT_TRACK +Enter a track/sector or block number. + +.topic IDH_DISKEDIT_OPENFILE +Open a file. This option is only available when the disk's filesystem is recognized. + +.topic IDH_DISKEDIT_EDIT +The contents of the block or sector are displayed here. If you are following a file and reach a sparse block, "SPARSE" will be displayed instead. + +.topic IDH_DISKEDIT_PREV +When following a file, move to the previous block or sector. + +.topic IDH_DISKEDIT_NEXT +When following a file, move to the next block or sector. + +.topic IDH_DISKEDIT_DONE +Closes the window. + +.topic IDH_DISKEDIT_HEX +Display and enter track/sector or block numbers in hexadecimal instead of decimal. + +.topic IDH_DISKEDIT_SUBVOLUME +Open a sub-volume. This option is not available if the disk image doesn't have any sub-volumes. + +.topic IDH_TOPIC1082 +Click for help on this screen. + +.topic IDH_TOPIC1089 +This determines whether the disk is accessed as 256-byte sectors or 512-byte blocks. + +.topic IDH_DECONF_FSFORMAT +The filesystem used on the disk image, i.e. how the disk was formatted on the Apple II. + +.topic IDH_DECONF_SECTORORDER +The order in which the sectors were written into the image file, defined in terms of the operating system used to write them. + +.topic IDH_DECONF_PHYSICAL +The physical format of the image, usually sectors or nibbles. This setting may not be changed. + +.topic IDH_DECONF_FILEFORMAT +The image file format. This setting may not be altered. + +.topic IDH_DECONF_SOURCE +The disk image file being opened. + +.topic IDH_FVIEW_EDITBOX +The contents of the current file. + +.topic IDH_SELECTED_COUNT +The number of entries you have selected. + +.topic IDH_TOPIC1103 +If enabled, data forks of selected files will be displayed. + +.topic IDH_TOPIC1105 +If enabled, comments attached to selected files will be displayed. + +.topic IDH_DECONF_HELP +Click this for help on this screen. + +.topic IDH_SUBV_LIST +Choose the sub-volume you want to open from the list. + +.topic IDH_DEFILE_FILENAME +Enter the name of the file to open exactly as it appears in the CiderPress file listing. This means including all path names, separated by ':', and converting ':' to '_' when it's used in a filename. + +If the file is in a DOS 3.3 sub-volume (e.g. it starts with "_DOS001:"), you will need to open the sub-volume first and then open the file from there. + +.topic IDH_DEFILE_RSRC +If checked, the resource fork of the file will be opened instead of the data fork. + +.topic IDH_PREF_TEMP_FOLDER +Enter the name of the folder to use for temporary files. + +.topic IDH_CHOOSEDIR_TREE +This is the "folder tree". Click on '+' to expand folders to see their contents, '-' to collapse them. + +.topic IDH_CHOOSEDIR_PATHEDIT +To jump directly to a folder, type the full pathname here and then click "Expand Tree". + +.topic IDH_CHOOSEDIR_EXPAND_TREE +Click this to expand the tree to show the folder name typed in the box on the left. + +.topic IDH_CHOOSEDIR_PATH +The full pathname of the folder currently selected in the tree. + +.topic IDH_CHOOSEDIR_NEW_FOLDER +Click this to open the "New Folder" dialog. Folders will be created in the folder currently selected in the tree. + +.topic IDH_PREF_CHOOSE_TEMP_FOLDER +Click here to choose the temporary folder from a list. + +.topic IDH_FVIEW_FONT +Change the font used when displaying text. + +.topic IDH_FVIEW_NEXT +Go to the next selected file. This button is disabled when there are no more files. + +.topic IDH_FVIEW_PREV +Go to the previous selected file. This button is disabled when there are no earlier files. + +.topic IDH_NEWFOLDER_CURDIR +The currently selected folder. The new folder will be created inside this folder. + +.topic IDH_NEWFOLDER_NAME +Enter the filename of the folder you want to create. + +.topic IDH_EXT_PATH +The full pathname of the folder to extract to. + +.topic IDH_EXT_CONVEOLTEXT +Select this to automatically determine which files are text files, and convert them. + +.topic IDH_EXT_CONVEOLALL +Select to treat all files as text files. (Archived disk images are NOT included.) + +.topic IDH_EXT_STRIP_FOLDER +If enabled, folder names will be removed before the files are extracted, effectively dumping all files into the extraction folder. + +.topic IDH_EXT_OVERWRITE_EXIST +If enabled, existing files will be overwritten without confirmation. + +.topic IDH_EXT_SELECTED +Click this to extract only the files selected in the file list. + +.topic IDH_EXT_ALL +Click this to extract all files in the archive or disk image. + +.topic IDH_EXT_REFORMAT +If enabled, extracted files will be translated using the file format converters. + +.topic IDH_EXT_DATAFORK +If enabled, data forks of selected files will be extracted. + +.topic IDH_EXT_RSRCFORK +If enabled, resource forks of selected files will be extracted. + +.topic IDH_EXT_CONVEOLNONE +Select this to disable conversion of text files. + +.topic IDH_EXT_CHOOSE_FOLDER +Click this to choose the folder to extract to from a list. + +.topic IDH_OVWR_YES +Click to overwrite the existing file with the new one. + +.topic IDH_OVWR_YESALL +Click to overwrite all existing files with the new ones. + +.topic IDH_OVWR_NO +Click this if you want to keep the existing file. + +.topic IDH_OVWR_NOALL +Click this if you want to leave all existing files alone. + +.topic IDH_OVWR_NEW_INFO +The modification date of the new file. + +.topic IDH_OVWR_RENAME +Click to rename the new file. The existing file will be left untouched. + +.topic IDH_OVWR_EXIST_NAME +The name of the existing file. + +.topic IDH_OVWR_EXIST_INFO +The modification date of the existing file. + +.topic IDH_OVWR_NEW_NAME +The name of the new file. + +.topic IDH_RENOVWR_SOURCE_NAME +The name of the file as it appears in the archive. + +.topic IDH_RENOVWR_ORIG_NAME +The full pathname of the file as CiderPress tried to extract it. + +.topic IDH_RENOVWR_NEW_NAME +Type the full pathname of the file to extract to. + +.topic IDH_SELECT_ACCEPT +Click this to accept the currently selected files and folders. + +.topic IDH_ADDFILES_PREFIX +Enter a path prefix here. This will be prepended to all files added to the archive. + +.topic IDH_ADDFILES_INCLUDE_SUBFOLDERS +If enabled, files in sub-folders will be added. If not, only the files in the current directory will be included. + +.topic IDH_ADDFILES_STRIP_FOLDER +If enabled, folder names will be stripped from all files being added. This effectively piles them into the "root" of the archive. + +.topic IDH_ADDFILES_NOPRESERVE +Select this to ignore file attribute preservation sequences in filenames. + +.topic IDH_ADDFILES_PRESERVE +Select this to look for and make use of file attribute sequences. + +.topic IDH_ADDFILES_PRESERVEPLUS +Select this to make use of file attribute preservation sequences, and to "guess" ProDOS file types from file extensions for files that don't have preservation data. + +.topic IDH_ADDFILES_OVERWRITE +If enabled, existing files will be overwritten without asking for confirmation. + +.topic IDH_PREF_SHRINKIT_COMPAT +When enabled, certain GS/ShrinkIt quirks are emulated. + +.topic IDH_USE_SELECTED +Apply only to selected entries. + +.topic IDH_USE_ALL +Apply to all entries. + +.topic IDH_RENAME_OLD +The current name of the file, possibly modified from its original form. + +.topic IDH_RENAME_NEW +Enter the new name for the entry. The names of disk images stored in ShrinkIt archives must be simple filenames. + +.topic IDH_RENAME_PATHSEP +The pathname separator character, usually ':' or '/'. This separates the folder names in a pathname. + +.topic IDH_COMMENT_EDIT +Enter the text of the comment here. + +.topic IDH_COMMENT_DELETE +Click here to delete the comment. This option will be disabled if you just now added the comment. + +.topic IDH_RECOMP_COMP +Select the compression method that the files will be re-compressed with. Algorithms not supported by the currently-installed copy of NufxLib will not be shown. + +.topic IDH_PREF_ASSOCIATIONS +Click this to open the Edit File Associations dialog. + +.topic IDH_ASSOCIATION_LIST +Place a checkmark next to the file extensions that you want to associate with CiderPress. + +.topic IDH_REGENTER_USER +Enter the user name shown on the registration letter. + +.topic IDH_REGENTER_COMPANY +Enter the company name shown on the registration letter. + +.topic IDH_REGENTER_REG +Enter the registration key shown on the registration letter. + +.topic IDH_EXT_CONVHIGHASCII +If enabled, "high ASCII" text files will be converted. This is only done to files identified as text. + +.topic IDH_EXT_DISKIMAGE +If enabled, archived disk images will be extracted. + +.topic IDH_EXT_DISK_2MG +If enabled, disks will be extracted as .2MG files. If not enabled, disks will be extracted into .PO files. + +.topic IDH_EXT_ADD_PRESERVE +If enabled, file attribute preservation sequences are inserted into filenames, and illegal characters are converted to "%xx". + +.topic IDH_EXT_ADD_EXTEN +If enabled, a three-letter extension will be added to extracted files. This can make them easier to use in Windows. + +.topic IDH_EXT_CONFIG_PRESERVE +Click this to modify the options on this screen so that extracted files retain their original structure and attributes. + +.topic IDH_EXT_CONFIG_CONVERT +Click this to modify the options on this screen so that extracted files are most readily usable under Windows. + +.topic IDH_PREF_COERCE_DOS +If enabled, DOS 3.3 filenames will be converted to a mix of upper and lower case for improved readability. + +.topic IDH_PREF_SPACES_TO_UNDER +If enabled, all spaces in filenames will be converted to underscores ('_'). Useful for extracting files that will be distributed by a web server. + +.topic IDH_REGENTER_USERCRC +The checksum of the text entered in the Name field. + +.topic IDH_REGENTER_COMPCRC +The checksum of the text entered in the Company field. + +.topic IDH_REGENTER_REGCRC +The checksum of the text entered in the Registration Key field. + +.topic IDH_RENAME_SKIP +Click this to leave the name alone and move on to the next selected entry. + +.topic IDH_DECONF_VIEWASBLOCKS +View the disk as a series of 512-byte blocks. Recommended for ProDOS, Pascal, and CP/M. Not available on 13-sector nibble images. + +.topic IDH_DECONF_VIEWASSECTORS +View the disk as a collection of tracks and 256-byte sectors. Recommended for DOS 3.2 and 3.3. Not available on odd-sized volumes, e.g. some ProDOS images. + +.topic IDH_IMAGE_TYPE +Basic information about the image. + +.topic IDH_DISKCONV_DOS +Create a plain DOS-ordered image (.DO). This is the most common format for 5.25" disk images. It is not available for large volumes or 13-sector disks. + +.topic IDH_DISKCONV_DOS2MG +Create a DOS-ordered image with a 2MG header. Not available for large volumes or 13-sector disks. + +.topic IDH_DISKCONV_PRODOS +Create a plain ProDOS-ordered image (.PO). Not available for 13-sector disks. + +.topic IDH_DISKCONV_PRODOS2MG +Create a ProDOS-ordered image with a 2MG header. Not available for 13-sector disks. + +.topic IDH_DISKCONV_NIB +Create a plain nibble image. Only available for 5.25" disk images. Tracks have 6656 bytes. + +.topic IDH_DISKCONV_NIB2MG +Create a nibble image with a 2MG header. Only available for 5.25" disk images. Tracks have 6656 bytes. + +.topic IDH_DISKCONV_D13 +Create an unadorned 13-sector disk image. Only available for 5.25" disk images with 13 sectors per track. + +.topic IDH_DISKCONV_DC42 +Create a DiskCopy 4.2 image file. Only available for 3.5" disk images. + +.topic IDH_DISKCONV_SDK +Create a ShrinkIt disk image. The configured default compression will be used. Not available for 13-sector disks. + +.topic IDH_DISKCONV_TRACKSTAR +Create a 40-track TrackStar image. Tracks are variable length and stored in nibble format. Only available for 5.25" disk images. + +.topic IDH_DISKCONV_HDV +Create a Sim //e "virtual hard drive" image. Not available for 13-sector disks. Some applications may have difficulty with the image if it does not contain a ProDOS filesystem. + +.topic IDH_DISKCONV_DDD +Create a DDD compressed disk image, compatible with DDD Pro. Only available for 5.25" disk images. + +.topic IDH_DISKCONV_GZIP +Compress the file with "gzip" compression, and add ".gz" to the filename extension. This setting is ignored when creating ShrinkIt disk images. + +.topic IDH_DISKEDIT_NIBBLE_PARMS +When viewing a nibble disk image as blocks or sectors, this lets you choose the sector parameters. The "Patched" versions will allow you to read sectors from mildly copy-protected disks. + +.topic IDH_PROPS_PATHNAME +The pathname of the entry being edited. + +.topic IDH_PROPS_FILETYPE +The file type, displayed as its hexadecimal code and the common three-letter mnemonic. Not all types have a mnemonic. + +Tip: clicking in the file type box and then typing a letter takes you to the next entry whose mnemonic begins with that letter. This can make it easier to find an entry by "name". + +.topic IDH_PROPS_AUXTYPE +The file's auxilliary type. Sometimes used to indicate information about the file (such as a 'BIN' load address), sometimes used to distinguish between files with the same file type (such as the various application-specific 'CFG' config file formats). + +Enter a four-digit hexadecimal number. + +.topic IDH_PROPS_ACCESS_R +Enable or disable the ability to read the file. + +.topic IDH_PROPS_ACCESS_W +Enable or disable the ability to write the file. On a DOS 3.2/3.3 file, this locks or unlocks the file. + +.topic IDH_PROPS_ACCESS_N +Enable or disable the ability to rename the file. + +.topic IDH_PROPS_ACCESS_D +Enable or disable the ability to delete the file. + +.topic IDH_PROPS_ACCESS_I +If set, the file won't be displayed by the IIgs Finder and some other utilities. + +.topic IDH_PROPS_ACCESS_B +Set or clear the "backup needed" flag. + +.topic IDH_PROPS_MODWHEN +Date when the file was modified. + +.topic IDH_PROPS_TYPEDESCR +A brief description of the file's type. This is based on both the file type and the aux type. + +.topic IDH_TOPIC1269 +Select this to convert DOS text files to ProDOS format. This involves converting the "high ASCII" text to standard ASCII. Conversion is recommended, because if you don't do this the files may be difficult to read. + +.topic IDH_CONVFILE_PRESERVEDIR +Select this to preserve empty folders on ProDOS volumes. ShrinkIt archives don't provide a good way to store empty folders, so CiderPress will create an empty ".$$EmptyFolder" file in the archive. This will be removed automatically if the archive is converted to a ProDOS disk image. This option should only be enabled if you plan to convert the archive back to a disk image. + +.topic IDH_CONVDISK_140K +Create a 140K image, equivalent to a 5.25" floppy disk. + +.topic IDH_CONVDISK_800K +Create an 800K image, equivalent to a 3.5" floppy disk. + +.topic IDH_CONVDISK_1440K +Create a 1440K image, equivalent to a 3.5" floppy disk on a PC. + +.topic IDH_CONVDISK_5MB +Create a 5MB image. + +.topic IDH_CONVDISK_16MB +Create a 16MB image. + +.topic IDH_CONVDISK_20MB +Create a 20MB image, equivalent to a 20MB floptical disk. + +.topic IDH_CONVDISK_32MB +Create a 32MB image, the largest possible ProDOS volume. (Technically, it's one 512-byte block short of 32MB.) + +.topic IDH_CONVDISK_SPECIFY +Specify the size in 512-byte blocks. The largest possible ProDOS volume has 65535 blocks (though 65536 is allowed for compatibility). The smallest CiderPress allows is 16 blocks. + +.topic IDH_PREF_EXTVIEWER_EXTS +List file extensions that should be opened in an external viewer when double-clicked from the file list. For example, if you want to view GIF or JPEG images stored in a ShrinkIt archive or disk image, you should put "gif; jpg; jpeg" here. + +.topic IDH_CONVDISK_SPECIFY_EDIT +Specify the size in 512-byte blocks. The largest possible ProDOS volume has 65535 blocks (though 65536 is allowed for compatibility). The smallest CiderPress allows is 16 blocks. + +.topic IDH_CONVDISK_COMPUTE +Click this to compute the size required with the currently-specified options. The computation is performed by creating a 32MB image and examining the number of blocks used. + +.topic IDH_CONVDISK_SPACEREQ +The space required by the selected set of files with the current options. Click the "Compute" button to calculate this. + +.topic IDH_DEOW_CURRENT +If selected, ProDOS files are allowed to have lower case letters and spaces in them. This can confuse older versions of ProDOS 8 (pre-v1.8), so only select this if you're using a recent version of ProDOS. + +.topic IDH_TOPIC1306 +If selected, empty blocks won't actually be stored. Instead, the ProDOS "sparse" mechanism is used to indicate the existence of the empty space. You should generally leave this enabled, as it can save considerable space. + +.topic IDH_CONVDISK_VOLNAME +Enter the desired ProDOS volume name here. It must start with a letter, and contain nothing but letters, numbers, and dots ('.'). + +.topic IDH_CREATEFS_DOS32 +Format the disk for DOS 3.2. + +.topic IDH_CREATEFS_DOS33 +Format the disk for DOS 3.3. + +.topic IDH_CREATEFS_PRODOS +Format the disk for ProDOS. + +.topic IDH_CREATEFS_PASCAL +Format the image with the UCSD Pascal filesystem. + +.topic IDH_TOPIC1320 +Create an image file but leave it completely blank. + +.topic IDH_CREATEFSDOS_ALLOCDOS +If checked, the first three tracks of the disk are marked "in-use" for a DOS image. If unchecked, two tracks are freed up but the image can't be booted. + +.topic IDH_CREATEFSDOS_VOLNUM +DOS volume number (usually 254). + +.topic IDH_CREATEFSPRODOS_VOLNAME +Enter the desired ProDOS volume name here. It must start with a letter, and contain nothing but letters, numbers, and dots ('.'). + +.topic IDH_CREATEFSPASCAL_VOLNAME +Enter the desired Pascal volume name here. You may use upper-case letters, numbers, and symbols other than "$=?,[#:". + +.topic IDH_PREF_SUCCESS_BEEP +If set, CiderPress will play a sound when operations complete successfully. + +.topic IDH_PDISK_CONFIRM_FORMAT +When enabled, the Disk Image Characteristics dialog is displayed whenever a disk image is opened. + +.topic IDH_PDISK_PRODOS_ALLOWLOWER +If enabled, files added to ProDOS disk images will have lower case letters in their names when viewed with GS/OS. ProDOS 8 older than v1.8 can't handle lower case names, so disable this option if you're using an old version of ProDOS. + +.topic IDH_PDISK_PRODOS_USESPARSE +If enabled, files with empty blocks (all zeroes) will be stored more efficiently (recommended.) + +.topic IDH_CREATESUBDIR_BASE +This is the name of the directory in which the new subdirectory will be created. + +.topic IDH_CREATESUBDIR_NEW +Enter the name of the directory to create here. + +.topic IDH_RENAMEVOL_TREE +Select the volume to rename. (In most cases you will only have one to choose from.) + +.topic IDH_RENAMEVOL_NEW +Enter the new volume name here. For DOS disks, enter the new volume number. + +.topic IDH_ADDFILES_CONVEOLNONE +Select this to disable conversion of text files. + +.topic IDH_ADDFILES_CONVEOLTEXT +Select this to automatically determine which files are text files, and convert them. + +.topic IDH_ADDFILES_CONVEOLALL +Select to treat all files as text files. + +.topic IDH_PREF_PASTE_JUNKPATHS +If enabled, pathnames will be stripped off of files before they are pasted into an archive. If disabled, the original directory hierarchy will be preserved. + +.topic IDH_EXT_CONVEOLTYPE +Select this to treat all files of type TXT or SRC as text files. + +.topic IDH_ADDFILES_CONVEOLTYPE +Select this to treat all files of type TXT or SRC as text files. + +.topic IDH_TWOIMG_LOCKED +Indicates whether the "locked" flag is set. Some emulators will use this flag to decide whether or not to treat the disk as write protected. + +.topic IDH_TWOIMG_DOSVOLSET +If checked, a volume number is specified in the header. If not checked, no number is specified, and the volume number edit field will be greyed out. + +.topic IDH_TWOIMG_DOSVOLNUM +Volume number (1-254). Some emulators use this field to emulate the sector-address-header volume number field. Rarely useful. + +.topic IDH_TWOIMG_COMMENT +The comment field is stored in the 2MG file, and can contain anything you want. + +.topic IDH_PDISK_OPENVOL_RO +If enabled, the "read only" box will be checked by default on all Open Volume requests. + +.topic IDH_PREF_REDUCE_SHK_ERROR_CHECKS +Disable some error checking on ShrinkIt archives. Specifically, this ignores bad LZW/2 lengths (usually found in "bad Mac" archives) and bad data CRCs. Leaving this enabled is a bad idea, because you may not discover corrupted data right away. + +.topic IDH_PDISK_OPENVOL_PHYS0 +If enabled, you will be allowed to open physical disk 0 for writing. This is usually your Windows boot disk, so setting this is not recommended. + +.topic IDH_PREF_SHK_BAD_MAC +If set, this attempts to recognize "bad Mac" archives, which have bad pathname separators ('?' instead of ':') and some bad data in the LZW area. + diff --git a/app/Help/PopUpIds.h b/app/Help/PopUpIds.h new file mode 100644 index 0000000..1b76a7b --- /dev/null +++ b/app/Help/PopUpIds.h @@ -0,0 +1,331 @@ +#define IDH_IDOK 1 +#define IDH_IDCANCEL 2 +#define IDH_IDHELP 9 +#define IDH_NUFXLIB_VERS_TEXT 1001 +#define IDH_CONTENT_LIST 1002 +#define IDH_COL_PATHNAME 1005 +#define IDH_COL_TYPE 1006 +#define IDH_COL_AUXTYPE 1007 +#define IDH_COL_MODDATE 1008 +#define IDH_COL_FORMAT 1009 +#define IDH_COL_SIZE 1010 +#define IDH_COL_RATIO 1011 +#define IDH_COL_PACKED 1012 +#define IDH_COL_ACCESS 1013 +#define IDH_COL_DEFAULTS 1014 +#define IDH_DEFC_UNCOMPRESSED 1016 +#define IDH_DEFC_SQUEEZE 1017 +#define IDH_DEFC_LZW1 1018 +#define IDH_DEFC_LZW2 1019 +#define IDH_DEFC_LZC12 1020 +#define IDH_DEFC_LZC16 1021 +#define IDH_DEFC_DEFLATE 1022 +#define IDH_DEFC_BZIP2 1023 +#define IDH_TOPIC1024 1024 +#define IDH_PVIEW_NOWRAP_TEXT 1025 +#define IDH_PVIEW_BOLD_HEXDUMP 1026 +#define IDH_PVIEW_BOLD_BASIC 1027 +#define IDH_PVIEW_DISASM_ONEBYTEBRKCOP 1028 +#define IDH_PVIEW_HIRES_BW 1029 +#define IDH_PVIEW_DHR_CONV_COMBO 1030 +#define IDH_PVIEW_HITEXT 1036 +#define IDH_PVIEW_PASCALTEXT 1037 +#define IDH_PVIEW_APPLESOFT 1038 +#define IDH_PVIEW_INTEGER 1039 +#define IDH_PVIEW_HIRES 1040 +#define IDH_PVIEW_DHR 1041 +#define IDH_PVIEW_SHR 1042 +#define IDH_PVIEW_AWP 1043 +#define IDH_PVIEW_PRODOSFOLDER 1044 +#define IDH_PVIEW_RESOURCES 1045 +#define IDH_PVIEW_RELAX_GFX 1046 +#define IDH_PVIEW_ADB 1047 +#define IDH_PVIEW_SCASSEM 1048 +#define IDH_PVIEW_ASP 1049 +#define IDH_PVIEW_MACPAINT 1050 +#define IDH_PVIEW_PASCALCODE 1051 +#define IDH_PVIEW_CPMTEXT 1052 +#define IDH_PVIEW_GWP 1053 +#define IDH_PVIEW_DISASM 1054 +#define IDH_PVIEW_PRINTSHOP 1055 +#define IDH_PVIEW_TEXT8 1056 +#define IDH_PVIEW_SIZE_EDIT 1060 +#define IDH_PVIEW_SIZE_SPIN 1061 +#define IDH_DISKEDIT_DOREAD 1063 +#define IDH_DISKEDIT_DOWRITE 1064 +#define IDH_DISKEDIT_TRACK 1065 +#define IDH_DISKEDIT_TRACKSPIN 1066 +#define IDH_DISKEDIT_SECTOR 1067 +#define IDH_DISKEDIT_SECTORSPIN 1068 +#define IDH_DISKEDIT_OPENFILE 1069 +#define IDH_DISKEDIT_EDIT 1070 +#define IDH_DISKEDIT_PREV 1071 +#define IDH_DISKEDIT_NEXT 1072 +#define IDH_STEXT_SECTOR 1073 +#define IDH_STEXT_TRACK 1074 +#define IDH_DISKEDIT_DONE 1077 +#define IDH_DISKEDIT_HEX 1078 +#define IDH_DISKEDIT_SUBVOLUME 1081 +#define IDH_TOPIC1082 1082 +#define IDH_TOPIC1089 1089 +#define IDH_DECONF_FSFORMAT 1090 +#define IDH_DECONF_SECTORORDER 1091 +#define IDH_DECONF_PHYSICAL 1092 +#define IDH_DECONF_FILEFORMAT 1093 +#define IDH_DECONF_SOURCE 1094 +#define IDH_DISKIMG_VERS_TEXT 1095 +#define IDH_FVIEW_EDITBOX 1101 +#define IDH_SELECTED_COUNT 1102 +#define IDH_TOPIC1103 1103 +#define IDH_TOPIC1105 1105 +#define IDH_DECONF_HELP 1112 +#define IDH_SUBV_LIST 1114 +#define IDH_DEFILE_FILENAME 1115 +#define IDH_DEFILE_RSRC 1116 +#define IDH_CIDERPRESS_VERS_TEXT 1117 +#define IDH_PREF_TEMP_FOLDER 1118 +#define IDH_CHOOSEDIR_TREE 1121 +#define IDH_CHOOSEDIR_PATHEDIT 1123 +#define IDH_CHOOSEDIR_EXPAND_TREE 1124 +#define IDH_CHOOSEDIR_PATH 1125 +#define IDH_CHOOSEDIR_NEW_FOLDER 1127 +#define IDH_PREF_CHOOSE_TEMP_FOLDER 1128 +#define IDH_FVIEW_FONT 1129 +#define IDH_FVIEW_NEXT 1130 +#define IDH_FVIEW_PREV 1131 +#define IDH_NEWFOLDER_CURDIR 1132 +#define IDH_NEWFOLDER_NAME 1133 +#define IDH_EXT_PATH 1136 +#define IDH_EXT_CONVEOLTEXT 1137 +#define IDH_EXT_CONVEOLALL 1138 +#define IDH_EXT_STRIP_FOLDER 1142 +#define IDH_EXT_OVERWRITE_EXIST 1143 +#define IDH_EXT_SELECTED 1144 +#define IDH_EXT_ALL 1145 +#define IDH_EXT_REFORMAT 1147 +#define IDH_EXT_DATAFORK 1148 +#define IDH_EXT_RSRCFORK 1149 +#define IDH_EXT_CONVEOLNONE 1151 +#define IDH_EXT_CHOOSE_FOLDER 1152 +#define IDH_PROG_ARC_NAME 1153 +#define IDH_PROG_FILE_NAME 1154 +#define IDH_PROG_VERB 1155 +#define IDH_PROG_TOFROM 1156 +#define IDH_PROG_PROGRESS 1157 +#define IDH_OVWR_YES 1161 +#define IDH_OVWR_YESALL 1162 +#define IDH_OVWR_NO 1163 +#define IDH_OVWR_NOALL 1164 +#define IDH_OVWR_NEW_INFO 1166 +#define IDH_OVWR_RENAME 1167 +#define IDH_OVWR_EXIST_NAME 1168 +#define IDH_OVWR_EXIST_INFO 1169 +#define IDH_OVWR_NEW_NAME 1170 +#define IDH_RENOVWR_SOURCE_NAME 1171 +#define IDH_RENOVWR_ORIG_NAME 1172 +#define IDH_RENOVWR_NEW_NAME 1173 +#define IDH_SELECT_ACCEPT 1175 +#define IDH_ADDFILES_PREFIX 1177 +#define IDH_ADDFILES_INCLUDE_SUBFOLDERS 1180 +#define IDH_ADDFILES_STRIP_FOLDER 1181 +#define IDH_ADDFILES_NOPRESERVE 1182 +#define IDH_ADDFILES_PRESERVE 1183 +#define IDH_ADDFILES_PRESERVEPLUS 1184 +#define IDH_ADDFILES_STATIC1 1186 +#define IDH_ADDFILES_STATIC2 1187 +#define IDH_ADDFILES_STATIC3 1188 +#define IDH_ADDFILES_OVERWRITE 1189 +#define IDH_PREF_SHRINKIT_COMPAT 1190 +#define IDH_USE_SELECTED 1192 +#define IDH_USE_ALL 1193 +#define IDH_RENAME_OLD 1194 +#define IDH_RENAME_NEW 1195 +#define IDH_RENAME_PATHSEP 1196 +#define IDH_COMMENT_EDIT 1198 +#define IDH_COMMENT_DELETE 1199 +#define IDH_RECOMP_COMP 1201 +#define IDH_PREF_ASSOCIATIONS 1202 +#define IDH_ASSOCIATION_LIST 1209 +#define IDH_REG_COMPANY_NAME 1210 +#define IDH_REG_EXPIRES 1211 +#define IDH_ABOUT_ENTER_REG 1212 +#define IDH_REGENTER_USER 1213 +#define IDH_REGENTER_COMPANY 1214 +#define IDH_REGENTER_REG 1215 +#define IDH_REG_USER_NAME 1216 +#define IDH_ZLIB_VERS_TEXT 1218 +#define IDH_EXT_CONVHIGHASCII 1219 +#define IDH_EXT_DISKIMAGE 1220 +#define IDH_EXT_DISK_2MG 1221 +#define IDH_EXT_ADD_PRESERVE 1222 +#define IDH_EXT_ADD_EXTEN 1223 +#define IDH_EXT_CONFIG_PRESERVE 1224 +#define IDH_EXT_CONFIG_CONVERT 1225 +#define IDH_PREF_COERCE_DOS 1226 +#define IDH_PREF_SPACES_TO_UNDER 1227 +#define IDH_REGENTER_USERCRC 1228 +#define IDH_REGENTER_COMPCRC 1229 +#define IDH_REGENTER_REGCRC 1230 +#define IDH_RENAME_SKIP 1232 +#define IDH_DECONF_VIEWASBLOCKS 1233 +#define IDH_DECONF_VIEWASSECTORS 1234 +#define IDH_DECONF_VIEWASNIBBLES 1235 +#define IDH_DECONF_OUTERFORMAT 1236 +#define IDH_DECONF_VIEWAS 1237 +#define IDH_IMAGE_TYPE 1238 +#define IDH_DISKCONV_DOS 1239 +#define IDH_DISKCONV_DOS2MG 1240 +#define IDH_DISKCONV_PRODOS 1241 +#define IDH_DISKCONV_PRODOS2MG 1242 +#define IDH_DISKCONV_NIB 1243 +#define IDH_DISKCONV_NIB2MG 1244 +#define IDH_DISKCONV_D13 1245 +#define IDH_DISKCONV_DC42 1246 +#define IDH_DISKCONV_SDK 1247 +#define IDH_DISKCONV_TRACKSTAR 1248 +#define IDH_DISKCONV_HDV 1249 +#define IDH_DISKCONV_DDD 1250 +#define IDH_DISKCONV_GZIP 1251 +#define IDH_DISKEDIT_NIBBLE_PARMS 1252 +#define IDH_PROPS_PATHNAME 1255 +#define IDH_PROPS_FILETYPE 1256 +#define IDH_PROPS_AUXTYPE 1257 +#define IDH_PROPS_ACCESS_R 1258 +#define IDH_PROPS_ACCESS_W 1259 +#define IDH_PROPS_ACCESS_N 1260 +#define IDH_PROPS_ACCESS_D 1261 +#define IDH_PROPS_ACCESS_I 1262 +#define IDH_PROPS_ACCESS_B 1263 +#define IDH_PROPS_MODWHEN 1266 +#define IDH_PROPS_TYPEDESCR 1267 +#define IDH_TOPIC1269 1269 +#define IDH_CONVFILE_PRESERVEDIR 1270 +#define IDH_CONVDISK_140K 1271 +#define IDH_CONVDISK_800K 1273 +#define IDH_CONVDISK_1440K 1274 +#define IDH_CONVDISK_5MB 1275 +#define IDH_CONVDISK_16MB 1276 +#define IDH_CONVDISK_20MB 1277 +#define IDH_CONVDISK_32MB 1278 +#define IDH_CONVDISK_SPECIFY 1279 +#define IDH_IMAGE_SIZE_TEXT 1289 +#define IDH_BULKCONV_PATHNAME 1290 +#define IDH_PREF_EXTVIEWER_EXTS 1292 +#define IDH_VOLUME_LIST 1295 +#define IDH_OPENVOL_READONLY 1296 +#define IDH_VOLUMECOPYPROG_FROM 1297 +#define IDH_VOLUMECOPYPROG_TO 1298 +#define IDH_VOLUMECOPYPROG_PROGRESS 1299 +#define IDH_CONVDISK_SPECIFY_EDIT 1302 +#define IDH_CONVDISK_COMPUTE 1303 +#define IDH_DEOW_FILE 1303 +#define IDH_CONVDISK_SPACEREQ 1304 +#define IDH_DEOW_VOLUME 1304 +#define IDH_DEOW_CURRENT 1305 +#define IDH_TOPIC1306 1306 +#define IDH_CONVDISK_VOLNAME 1307 +#define IDH_VOLUME_FILTER 1307 +#define IDH_VOLUMECOPYSEL_LIST 1309 +#define IDH_VOLUEMCOPYSEL_TOFILE 1310 +#define IDH_VOLUEMCOPYSEL_FROMFILE 1311 +#define IDH_CREATEFS_DOS32 1312 +#define IDH_CREATEFS_DOS33 1313 +#define IDH_CREATEFS_PRODOS 1314 +#define IDH_CREATEFS_PASCAL 1315 +#define IDH_CREATEFS_HFS 1316 +#define IDH_CREATEFS_BLANK 1317 +#define IDH_TOPIC1320 1320 +#define IDH_CREATEFSDOS_ALLOCDOS 1321 +#define IDH_CREATEFSDOS_VOLNUM 1322 +#define IDH_CREATEFSPRODOS_VOLNAME 1323 +#define IDH_CREATEFSPASCAL_VOLNAME 1324 +#define IDH_ASPI_VERS_TEXT 1330 +#define IDH_PREF_SUCCESS_BEEP 1331 +#define IDH_ADD_TARGET_TREE 1333 +#define IDH_AIDISK_SUBVOLSEL 1334 +#define IDH_AIDISK_NOTES 1335 +#define IDH_AI_FILENAME 1336 +#define IDH_AIBNY_RECORDS 1337 +#define IDH_AINUFX_FORMAT 1338 +#define IDH_AINUFX_RECORDS 1339 +#define IDH_AINUFX_MASTERVERSION 1340 +#define IDH_AINUFX_CREATEWHEN 1341 +#define IDH_AINUFX_MODIFYWHEN 1342 +#define IDH_AINUFX_JUNKSKIPPED 1343 +#define IDH_AIDISK_OUTERFORMAT 1344 +#define IDH_AIDISK_FILEFORMAT 1345 +#define IDH_AIDISK_PHYSICALFORMAT 1346 +#define IDH_AIDISK_SECTORORDER 1347 +#define IDH_AIDISK_FSFORMAT 1348 +#define IDH_AIDISK_FILECOUNT 1349 +#define IDH_AIDISK_CAPACITY 1350 +#define IDH_AIDISK_FREESPACE 1351 +#define IDH_AIDISK_DAMAGED 1352 +#define IDH_AIDISK_WRITEABLE 1354 +#define IDH_PDISK_CONFIRM_FORMAT 1359 +#define IDH_PDISK_PRODOS_ALLOWLOWER 1360 +#define IDH_PDISK_PRODOS_USESPARSE 1361 +#define IDH_FVIEW_PRINT 1363 +#define IDH_CREATESUBDIR_BASE 1364 +#define IDH_CREATESUBDIR_NEW 1365 +#define IDH_RENAMEVOL_TREE 1366 +#define IDH_RENAMEVOL_NEW 1367 +#define IDH_ADDFILES_CONVEOLNONE 1368 +#define IDH_ADDFILES_CONVEOLTEXT 1369 +#define IDH_ADDFILES_CONVEOLALL 1370 +#define IDH_ADDFILES_STATIC4 1371 +#define IDH_PROPS_CREATEWHEN 1372 +#define IDH_EOLSCAN_CR 1374 +#define IDH_EOLSCAN_LF 1375 +#define IDH_EOLSCAN_CRLF 1376 +#define IDH_EOLSCAN_CHARS 1377 +#define IDH_PREF_PASTE_JUNKPATHS 1378 +#define IDH_EXT_CONVEOLTYPE 1379 +#define IDH_ADDFILES_CONVEOLTYPE 1380 +#define IDH_TWOIMG_LOCKED 1381 +#define IDH_TWOIMG_DOSVOLSET 1382 +#define IDH_TWOIMG_DOSVOLNUM 1383 +#define IDH_TWOIMG_COMMENT 1384 +#define IDH_TWOIMG_CREATOR 1385 +#define IDH_TWOIMG_VERSION 1386 +#define IDH_TWOIMG_FORMAT 1387 +#define IDH_TWOIMG_BLOCKS 1388 +#define IDH_FVIEW_DATA 1395 +#define IDH_FVIEW_RSRC 1396 +#define IDH_FVIEW_CMMT 1397 +#define IDH_FVIEW_FORMATSEL 1399 +#define IDH_FVIEW_FMT_HEX 1400 +#define IDH_FVIEW_FMT_RAW 1401 +#define IDH_FVIEW_FMT_BEST 1403 +#define IDH_PDISK_OPENVOL_RO 1405 +#define IDH_EOLSCAN_HIGHASCII 1407 +#define IDH_CASSETTE_LIST 1414 +#define IDH_IMPORT_CHUNK 1416 +#define IDH_CASSETTE_ALG 1418 +#define IDH_CASSETTE_INPUT 1419 +#define IDH_CASSIMPTARG_FILENAME 1420 +#define IDH_CASSIMPTARG_BAS 1421 +#define IDH_CASSIMPTARG_INT 1422 +#define IDH_CASSIMPTARG_BIN 1423 +#define IDH_CASSIMPTARG_BINADDR 1424 +#define IDH_CASSIMPTARG_RANGE 1425 +#define IDH_CLASH_RENAME 1426 +#define IDH_CLASH_SKIP 1427 +#define IDH_CLASH_WINNAME 1428 +#define IDH_CLASH_STORAGENAME 1429 +#define IDH_PREF_REDUCE_SHK_ERROR_CHECKS 1430 +#define IDH_IMPORT_BAS_RESULTS 1431 +#define IDH_IMPORT_BAS_SAVEAS 1432 +#define IDH_FVIEW_FIND 1438 +#define IDH_CREATEFSHFS_VOLNAME 1440 +#define IDH_PROPS_HFS_FILETYPE 1441 +#define IDH_PROPS_HFS_AUXTYPE 1442 +#define IDH_PROPS_HFS_MODE 1444 +#define IDH_PROPS_HFS_LABEL 1445 +#define IDH_PASTE_SPECIAL_COUNT 1446 +#define IDH_PASTE_SPECIAL_PATHS 1447 +#define IDH_PASTE_SPECIAL_NOPATHS 1448 +#define IDH_PROGRESS_COUNTER_COUNT 1449 +#define IDH_PROGRESS_COUNTER_DESC 1450 +#define IDH_PDISK_OPENVOL_PHYS0 1451 +#define IDH_PREF_SHK_BAD_MAC 1453 diff --git a/app/Help/html/t10.htm b/app/Help/html/t10.htm new file mode 100644 index 0000000..3ce8a87 --- /dev/null +++ b/app/Help/html/t10.htm @@ -0,0 +1,28 @@ + + + Welcome to CiderPress + + + + + + + + +

Welcome to CiderPress

+

 

+

CiderPress is the culmination of a journey that began in May 1989 with the first release of "NuView".  That program, which quickly evolved into NuLib and eventually became NuLib2, was the first to access ShrinkIt archives on computers other than Apple IIs.  CiderPress continues the tradition by becoming the first Windows GUI application to support ShrinkIt archives.

+

 

+

CiderPress is not "toy" software.  It is a fully-functional Windows file archiver, with all of the gizmos and gadgets you'll find in applications for "mainstream" formats.  The only difference is an emphasis on preservation and conversion of Apple II file formats.

+

 

+

Some pages that will get you started:

+

 

+
+

How to use CiderPress.

+

Getting help.

+

Credits.

+

 

+

If you prefer a tutorial to a reference manual, check out the tutorial on the web site. + +

+ diff --git a/app/Help/html/t109.htm b/app/Help/html/t109.htm new file mode 100644 index 0000000..4bce141 --- /dev/null +++ b/app/Help/html/t109.htm @@ -0,0 +1,145 @@ + + + Appendix - Disassembly Notes + + + + + + + + + + +

Disassembly Notes

+

 

+

A great deal of Apple II source code is written in 6502 or 65816 assembly language.  The simplest way to disassemble raw data into something understandable on a real Apple II is to load the program, enter the monitor with "CALL -151", and list the data with the 'L' command ("2000L").  The output seen depends on which model of Apple II you have.

+

 

+

The CiderPress file viewer allows you to create monitor-style code disassemblies that closely match the original.  The disassembler is selected automatically for appropriate files.

+

 

+

All files are ranked in a priority scheme by file type.  "High" priority means that disassembly is the preferred method for viewing the file.  "Medium" means use it if nothing better comes along (e.g. an 8192-byte BIN file will be decoded as a hi-res image rather than disassembled, but both options will be available in the file viewer).  "Low" means the option to disassemble will be available, but will be prioritized below converted text or "raw" display.

+

 

+

The "extract files" feature when used in "easy access in Windows" mode will write the converted data to a text file.  This is an easy way to dump a monitor listing of a file to disk.

+

 

+

Apple ][, ][+, //e monitor

+

 

+

The classic Apple IIs come with the monitor built into the F8 ROM.  It's able to display all 6502 operations as three-letter mnemonic operations and hexadecimal values.

+

 

+

CiderPress emulates this output as closely as possible, but adds two features for convenience.  First, the new operations introduced with the 65C02 CPU are properly displayed.  Second, annotations have been added to the following:

+
  • ProDOS 8 MLI calls (the "inline" calls are broken out onto separate lines) +
  • Softswitches and F8 ROM routines
+

 

+

Files of type SYS, CMD, 8OB, and P8C are categorized "high priority".

+

Files of type BIN are categorized "medium priority".

+

Files of type NON and $F1 through $F8 are categorized "low priority".

+

 

+

Apple IIgs monitor

+

 

+

The Apple IIgs monitor introduced a number of new features.  The 65816 CPU added several new instructions as well as 24-bit addresses and variable-width registers.

+

 

+

The output of the disassembler closely matches the IIgs output.  Annotations have been added to the following:

+
  • ProDOS 8 MLI calls (the "inline" calls are broken out onto separate lines) +
  • ProDOS 16 and GS/OS calls (again, "inline" calls are broken out) +
  • IIgs toolbox calls +
  • E1/xxxx vectors +
  • E0/xxxx vectors +
  • 01/xxxx vectors +
  • Softswitches and F8 ROM routines
+

 

+

Disassembly of 65816 code is tricky because the width of the registers can change, which affects the size of instructions with "immediate" mode addressing.  CiderPress gives you the option of listing a file with "long" (16-bit) or "short" (8-bit) registers, but does not try to track the mode.  Obtaining a complete disassembly of a chunk of code may require listing it twice and merging pieces together.

+

 

+

There is also a preference to control whether BRK and COP commands are displayed as two-byte operations ("BRK 00") or single-byte ("BRK").  The former matches the behavior of the IIgs monitor, but the latter can make the disassembly easier to read in some circumstances, e.g. instructions following an odd number of zeroes.

+

 

+

The IIgs monitor listing mode includes limited OMF (Object Module Format) support.  OMF files are broken into segments, and the disassembly restarts at the top of each segment.

+

 

+

Files of type OBJ, LIB, S16, RTL, EXE, PIF, TIF, NDA, CDA, TOL, DVR, LDF, FST and OS are categorized "high priority".

+

Files of type BIN, SYS, CMD, 8OB, P8C, and NON are categorized "low priority".

+

 

+

Notes

+

 

+

If you want to see a disassembly of a file with the wrong type, e.g. you want to view assembly language code embedded in a BAS or INT file, change the file type to "BIN".

+

 

+

If a disassembly is starting at the wrong address, or you want to change the start address because the code relocates itself early on (fairly common for SYS files), change the file type to BIN and set the aux type to the desired start address.

+

 

+

The annotations on memory locations and OS calls come from a file called NList.Data, which can be found in the CiderPress installation directory.  The data file was developed by Dave Lyons as part of the Nifty List desk accessory, and is included with permission of the author.  If you want to add additional locations (perhaps Applesoft entry points) or expanded commentary, the file format is pretty self-explanatory.

+

 

+

The format of the Nifty List annotations may not be immediately obvious.  The following is an excerpt from the Nifty List v3.4 manual.

+

 

+

------------------------------------

+

Interpreting the parameter summaries

+

------------------------------------

+

Some tools take no parameters and return no information.  These

+

appear with an empty pair of parentheses after the tool name:

+

 

+

   GrafOff()

+

   SystemTask()

+

 

+

 

+

Tools that take one or more parameters and return no information are

+

listed like this:

+

 

+

   SetPort(@Port)

+

   WriteBParam(Data,Parm#)

+

 

+

An "@" in front of a parameter means it is a pointer and takes 4

+

bytes (2 words).  All parameters not specially marked take 2 bytes

+

(1 word).

+

 

+

 

+

Tools that take no parameters but return one are listed like this:

+

 

+

   GetPort():@Port

+

   FreeMem():FreeBytes/4

+

 

+

A "/" and a digit after a parmeter means it takes the specified number

+

of bytes.  (When making a tool call, you must push space on the stack

+

for any result values *before* pushing the input values.)

+

 

+

 

+

A few tools return more than one value.  In these cases, the

+

results are listed in the order they have been pushed onto the

+

stack (so that the first value PULLED is the last one listed):

+

 

+

   GetMouseClamp():Xmn,Xmx,Ymn,Ymx

+

 

+

Each of these values takes 2 bytes (1 word), since there is no

+

indication of a different size.

+

 

+

 

+

Tools that take and return values are listed like this, where a

+

trailing "H" indicates a Handle (4 bytes):

+

 

+

   EqualRgn(Rgn1H,Rgn2H):Flag

+

 

+

-----

+

Review of parameter sizes:

+

 

+

   Leading  "@"     4-byte pointer

+

   Trailing "H"     Handle (4 bytes)

+

   Trailing "/n"    n bytes

+

 

+

   All other values are 2 bytes long

+

 

+

-----

+

For ProDOS calls, the parameters are shown in parentheses even

+

though they actually belong in a parameter block.  For ProDOS 8,

+

the first item in the list is the parameter count, which should

+

be in the first byte of the parameter block.

+

 

+

   P8:RENAME(2:pn1,pn2)

+

 

+

ProDOS 16 calls (also called class-0 GS/OS calls) do not have a

+

parameter count.

+

 

+

   P16:CHANGE_PATH(@Path1,@Path2)

+

 

+

Class-1 GS/OS calls have parameter blocks beginning with a parameter

+

count word.  Some calls allow a range of values for the parameter

+

count (like Create, which can take from 1 to 7 parameters), and some

+

(like Destroy) have a single acceptable value:

+

 

+

   GS/OS:Create(1-7:@P,Acc,Typ,Aux/4,Stg,EOF/4,rEOF/4)

+

   GS/OS:Destroy(1:@P)

+

+

+ diff --git a/app/Help/html/t111.htm b/app/Help/html/t111.htm new file mode 100644 index 0000000..d227336 --- /dev/null +++ b/app/Help/html/t111.htm @@ -0,0 +1,104 @@ + + + Import From Cassette + + + + + + + + + + +

Import From Cassette

+

 

+

Back in the early days of the Apple II, the most popular way to distribute commercial software was on audio cassettes.  Cassette tapes are slow, transferring data at an average of 1350 bits per second (better than a 1200 baud modem, but about a thousand times slower than a 1x CD-ROM).  If stored properly, however, they can last a long time.

+

 

+

Technical Background

+

 

+

The basic layout of Apple II data on a cassette looks like this:

+

(1) Ten seconds of 770Hz tone.

+

(2) Short pulse indicating start of data.

+

(3) Data (one cycle at 1000Hz for a '1', one cycle at 2000Hz for a '0').

+

 

+

The last byte of data is a checksum that can be used to verify that the previous data read correctly.  The data length is not stored, and there is no explicit "end" marker, so it's necessary to either know the length ahead of time or guess the position of the end based on the absence of data.  Because of the way the code works, you're limited to 64K of data, though in practice you'd be limited to less than 48K on a real Apple II unless you were using custom read routines.

+

 

+

Applesoft and Integer BASIC programs write two consecutive blocks of data.  The first block contains the length of the second block.  CiderPress doesn't really need the first block, because the end of the recording is usually pretty obvious, but the existence of the first block makes it easier to guess what the second block contains.

+

 

+

Most cassettes include more than one copy of a program.  In some cases (such as Adventure International's "Asteroid") they are slightly different implementations, while in others it's the same program repeated.  Sometimes the program is repeated on the back side of the tape.  Magnetic tapes wear out if you play them too much, so redundancy was common.

+

 

+

Getting the Audio Data

+

 

+

You will need to capture the audio from the cassette tape on your computer.  This requires connecting a tape player to your PC while running audio capture software.  Using a sound editor is recommended.  Some examples:

+

 

+

Adobe Audition (www.adobe.com; expensive)

+

GoldWave (www.goldwave.com; shareware)

+

Audacity (audacity.sourceforge.net; freeware)

+

 

+

It isn't necessary to record each section of data from the cassette into its own WAV file.  CiderPress will try to find every chunk of data in a WAV file.

+

 

+

If you have a "line out" on your tape player and a "line in" on your PC sound card, use those.  If not, you can use the "microphone" input and the "headphone" out, though you will have to set the volume levels correctly.  In the "speaker" or "multimedia" control panel, set the microphone input gain to 50%.  Start up your sound editor.  If you have an input level meter (e.g. hit F10 in Adobe Audition), turn that on.  Play the cassette tape out loud until you hear a tone, then plug it into the computer and watch the input level.  You want to set the volume so that the input is as high as you can get it without exceeding the limit (this causes "clipping", which is a lot like a square wave but probably isn't going to help us here).  In Adobe Audition, make sure it stays above -3dB.

+

 

+

Once you have the volume level figured out, back the tape up to the start of the tone.  Hit "record" in your software and "play" on your tape player.  Record at 22.05KHz with 8-bit samples.  (Recording at CD quality -- 44.1KHz with 16-bit samples -- doesn't help and requires 4x the space.)  If your software shows an input meter while recording, continue to record until the volume level drops and stays low for at least 10 seconds.  If you can't monitor the input, you will either need to time the cassette, or just record for a long time and perhaps trim the excess off in the sound editor.  Make sure you get all of the data from the tape.  When you think you're done, pull the audio plug out of the tape player and keep listening for a little bit.

+

 

+

Tip: CiderPress only needs to see about a second of the lead-in, so it's okay to fiddle with the volume while the initial tone is playing.

+

Tip: in some cases, setting the volume a little too high can be beneficial.  It's better to clip some samples than have too little signal.  If at first you don't succeed, crank up the volume a notch and try again.

+

 

+

Save the WAV file, launch CiderPress, and open a ShrinkIt archive or disk image.  Files extracted from WAV files are added to the currently open archive.  Select the "import file from WAV" option in the Actions menu, and open the WAV file you created.

+

 

+

Decoding the Data

+

 

+

The display shows the name of an algorithm, and a box with six columns:

+

Index: relative position of the program on the tape.

+

Format: best guess at the nature of the data (Applesoft, Integer BASIC, etc).

+

Length: decoded length, in bytes, not including the checksum.

+

Checksum: the checksum, with "Good" if the checksum matched, "BAD" if it didn't.

+

Start sample: sample number (not byte offset) where the data began.  Useful when examining the data in a sound editor.

+

End sample: last good sample in the data.  If the data is bad, this is probably where things went wrong.

+

 

+

The text in the "format" column is a guess at the contents, based on the length of the current and previous segment.  For BASIC headers, the contents (e.g. length of program that follows) are shown in hexadecimal.  Applesoft also has an "auto-run" flag, set to either $55 or $D5.

+

 

+

The output of the Apple II is a blocky "square wave" rather than a smooth "sine wave".  Because of limitations in how quickly voltage levels can change, the output isn't perfectly square.  Because of the physical properties of and variations in magnetic media, the not-quite-square wave is rather rounded and wiggly.  After being stored in less-than-perfect conditions for 25-30 years, what you read back from an Apple II tape is pretty crazy.  Deciphering it can be tricky.

+

 

+

CiderPress provides different algorithms that you can apply:

+

"Zero Crossing" works very much like the Apple II does, and measures the distance between points where the signal changes from positive to negative.  This is usually a good place to start.

+

"Peak to Peak Width (Sharp)" measure the distance between peaks, which works a little better when the input has been affected by a DC bias (i.e. the entire signal has been shifted up or down, in some cases so far that it no longer crosses zero).

+

"Peak to Peak Width (Round)" is the same as "Sharp" but with different parameters.

+

"Peak to Peak Width (Shallow)" is another peak-width variant with different parameters.

+

 

+

Usually one will work better than the others.  In some cases, different algorithms may pull out different copies of a program from the same tape.  You can use the "start offset" column in the display to see which copy has been found.  (Note the start offset may vary by a couple of samples for different algorithms.)

+

 

+

Most cassettes can be recovered, even those that will no longer play on an Apple II.  If you find one that can't, you may want to keep the WAV recording anyway, on the off chance that in the future an improved algorithm can be developed that will decode it.

+

 

+

When CiderPress encounters data that it can't interpret, it stops trying to read from that section of the WAV file.  For this reason, damaged entries will usually be shorter than undamaged ones.  If a file appears to have the correct length but the checksum still doesn't match, it means the signal was sufficiently distorted to make a '0' bit look like a '1' bit, which is actually pretty hard to do.  In most cases the decoder will either make an accurate determination or will conclude that the signal is too distorted to process.  So far only one case has been found where the checksum was deliberately altered, as part of a copy protection scheme (Sargon II).

+

 

+

If the tape has more than one program on it, you can usually tell if it's multiple copies of the same thing by comparing lengths and checksums.  If the checkums say "good" but have different values, you probably have two different programs, or two slightly different versions of the same program.

+

 

+

Saving the Data

+

 

+

The best way to save cassette programs is to a DOS 3.3 disk image, because it's difficult to run Integer BASIC programs under ProDOS.  If you're only extracting Applesoft or binary programs, the choice of disk format doesn't really matter.

+

 

+

Click on the file to save and then click "import".  This brings up the import options screen.  You can change the file name, file type, and for binary files you can alter the start address.  The file name you enter will be altered as needed for compatibility with the currently open archive or disk image.  If it's the same as an existing file, numbers will be appended to the end of the name.

+

 

+

For binary files, a range of addresses should be shown on the cassette tape or on instructions included with it.  It should say something like "800.1A6FR", which is the Apple II system monitor command to read data from the tape and store it in memory (for this example, in locations $0800 through $1A6F, inclusive).  CiderPress is able to determine the length accurately, so when you supply the start address CiderPress fills out the end address for you.

+

 

+

You can import files with bad checksums.  They will almost certainly be damaged or, more likely, incomplete.

+

 

+

Once the file has been imported, you will be able to view it as you would any other file.  Because loading machine language subroutines from disk wasn't an option, many BASIC programs included embedded routines.  It's not uncommon for Integer BASIC programs to appear to have only one or two lines of POKEs and HIMEM: statements until they're run for the first time.  In some cases, the entire program was written in assembly language and then wrapped in BASIC so that the tape could be loaded with "LOAD" instead of from the monitor.  Such programs may not be all that interesting to look at when listed with the BASIC file viewer.

+

 

+

There are three cases where CiderPress currently guesses the file type incorrectly:

+
  • Applesoft BASIC arrays stored on tape.  These have a 3-byte header section like Applesoft programs, but just contain data.  The "RECALL" statement is used to load these. +
  • Shape tables stored on tape.  These have a 2-byte header section like Integer BASIC programs, but contain shape table data.  The "SHLOAD" statement is used to load these. +
  • Custom data load routines.  For example, the Integer BASIC program "Starfleet Orion" calls the F8 ROM tape read routines directly, so no BASIC header is present.
+

 

+

A quick examination of the file with the CiderPress file viewer should reveal whether or not it is not a BASIC program.  Anything that isn't should be saved as a binary file.  Actually making use of them is left as an exercise for the reader -- start with the Applesoft BASIC reference manual, or find an Apple II emulator that emulates the cassette I/O port.

+

 

+

Other Notes

+

 

+

You may be tempted to store copies of the WAV file in MP3 format.  This is not recommended.  CiderPress cannot decode MP3s, and the decoded MP3 file is less likely to work than the original.  However, experiments with converting the sound files in and out of MP3 format suggest that "healthy" files are unharmed at reasonable compression ratios.

+

 

+

You don't need fancy equipment.  Connecting the headphone jack of a 15-year-old "boom box" to the microphone jack of a low-cost PC with on-motherboard audio works just fine.

+

+

+ diff --git a/app/Help/html/t112.htm b/app/Help/html/t112.htm new file mode 100644 index 0000000..c0138d4 --- /dev/null +++ b/app/Help/html/t112.htm @@ -0,0 +1,37 @@ + + + Import BASIC Program + + + + + + + + + +

Import BASIC Program

+

 

+

This feature allows you to import an Applesoft BASIC program from a text file.  The text file must contain an Applesoft program listing, with one program line per line of text file.

+

 

+

CiderPress makes no attempt to verify the correctness of the program.  It's possible to import code that can't possibly work.  (The same holds true for loading a program from a text file with the "exec" command on an Apple II.)

+

 

+

Converting BASIC to Text

+

 

+

Going the other direction -- converting a BASIC program to a text file -- is easy.  Just extract the BAS program to windows, selecting "Configure for easy access in Windows".  The conversion is automatic.  Note that you must uncheck "Prefer syntax highlighting on BASIC programs" in the file viewer preferences, or it will be saved as a .RTF file to preserve the colored text.

+

 

+

You can also just open the BASIC program in the file viewer, select the text with Ctrl-A, copy it with Ctrl-C, and then paste it into a text editor such as Windows Notepad.

+

 

+

If you want to convert a program to a text file from within an Apple II emulator, add the following lines to the start of the file:

+

 

+

1 GOTO 4

+

2 D$=CHR$(4) : PRINT D$"OPEN LISTING" : PRINT D$"WRITE LISTING"

+

3 POKE 33,33 : LIST : PRINT D$"CLOSE" : TEXT : END

+

4 REM CONTINUE

+

 

+

To generate a listing, delete line 1 and run the program.  The "POKE 33,33" prevents Applesoft from splitting each program line into multiple output lines.  This will work under both DOS and ProDOS.

+

 

+

It is possible for carriage returns embedded in string constants or REM statements to be lost.  Fortunately these are rare.

+

+

+ diff --git a/app/Help/html/t13.htm b/app/Help/html/t13.htm new file mode 100644 index 0000000..c9b7c74 --- /dev/null +++ b/app/Help/html/t13.htm @@ -0,0 +1,57 @@ + + + Tool - Disk Editor + + + + + + + + +

Disk Viewer

+

 

+

The Disk Viewer provides an interface similar to "disk zap" utilities on the Apple II.  You can view the contents of a disk as a collection of 256-byte tracks and sectors, as a series of 512-byte blocks, or (for nibble images) raw track data.  The current version of CiderPress does not allow sector or nibble editing, so the "write" button is always disabled.

+

 

+

Start the viewer by selecting it from the menu or by clicking on the toolbar icon that looks like a 5.25" floppy.  Select whether you want to open a disk image file or a Windows volume.  (The 3rd choice opens the disk image you currently have open in the file viewer.  If nothing is open, or you've opened a file archive, the 3rd button will be greyed out.)  Choose a disk image or volume to open.  In most cases, the viewer opens immediately.

+

 

+

If CiderPress can't identify the filesystem, or if you have "Confirm disk image format" selected in Disk Image Preferences, you will be allowed to review and change the disk image characteristics before the image is opened.  If the disk doesn't have a filesystem that CiderPress recognizes, you can use one of the "generic" entries to specify how the sector ordering should be handled.  (If it's a 140K disk, you probably want "Generic DOS"; if it's an 800K disk, you probably want "Generic ProDOS" and "View data as blocks".)  CiderPress may have been able to guess at the image sector ordering from the filename or file format, so if it's not set to "unknown" it's probably best to leave it alone.

+

 

+

CiderPress will automatically choose between displaying 512-byte blocks or 256-byte sectors based on the filesystem of the image you're opening (sectors for DOS disks, blocks for everything else).  If CiderPress can't identify any sectors on a nibble image, only the track nibble viewer will be available.  You can override the setting from the "Confirm disk image format" dialog described above.

+

 

+

The viewer opens on track 0/sector 0 or block 0.  Data is read into the buffer and displayed as a hex dump.  The ASCII on the right half of the window represents the data after a "High ASCII" conversion (technically: the high bits have been stripped off).

+

 

+

You can move to another location on the disk by adjusting the track/sector/block numbers and clicking on the "Read" button.  You can also use the "Read Next" and "Read Prev" buttons to move forward or backward.  If you prefer your numbers in hex, just hit the "Hex" checkbox to change how they are displayed and interpreted.

+

 

+

The disk viewer will allow you to see every block on the disk, including those that are part of sub-volumes.  If you want to open a sub-volume as a disk, click on the "Sub Volume" button and choose the volume from the list.  (If a disk has no sub-volumes, the button will be disabled.)  Learn more about DOS sub-volumes.

+

 

+

You can also choose to open and follow a file.  Click on the "Open File" button to bring up the file selection box.  Type the full pathname of the file as it appears when you open the disk with the CiderPress "Open..." menu item.  For a ProDOS disk, this means typing the full path with subdirectory names separated by colons (':').  If you want to try to open a resource fork, click the "Open resource fork" checkbox.  (NOTE: this feature does not currently work for HFS disks.)

+

 

+

Move through the file with the "Read Next" and "Read Prev" buttons.  The track/sector or block number will update automatically as you move.

+

 

+

You can't open files stored in embedded sub-volumes this way.  Instead, you need to open the sub-volume, and then open the file.

+

 

+

Bear in mind that what you are seeing is the actual sector or block data from the disk, not just part of a file.  In some cases you will see junk after the end of the file.  Also, attempting to view files on a DOS 3.3 disk while in 512-byte block edit mode will produce strange results, because two adjacent 256-byte sections of a file might be in completely different parts of the disk.  You will be shown the block that holds the first half of the 512-byte section of the file.  (If this doesn't make sense, don't worry about it -- just leave the default settings alone and view DOS disks as 256-byte sectors.)

+

 

+

DOS and ProDOS disks can hold "sparse" files, where some blocks filled with zeroes aren't actually stored on the disk.  If you move into a "sparse" block, the sector display will be replaced with a status message and the block number will be set to zero.  You will see one of these for every sparse block in the file.  On CP/M disks, empty files are stored without any block allocation, so if you try to follow an empty CP/M file you will see an appropriate message.

+

 

+

RDOS uses a sequential sector format, similar in structure to Pascal, but it's unusual in that it does not know how to "give up" storage.  In some cases you may find a few sectors allocated past the actual end of file, notably in some BASIC programs that apparently had some debugging statements deleted before the disks were shipped.  For "RDOS 3" disks, only the first 13 of 16 sectors on each track are used.

+

 

+

Nibble images are simply raw track data.  Identifying sectors on a disk requires interpreting that data.  CiderPress takes its best guess at the format of the disk, but if it can't find a reasonable number of readable sectors it gives up and only shows nibble data.  For cases where valid sectors were found, you will be able to choose between several sector formats in the sector or block display from a drop list in the lower right corner.  The "Patched" versions of DOS 3.2 and DOS 3.3 are like "standard" but they ignore epilog bytes and address field checksums, so using these should allow you to read disks with mild forms of copy protection.

+

 

+

Not all sectors on a nibble image will be readable.  Those that aren't will show an error message.  In some cases, changing the sector parameters with the drop-down list at the bottom right of the dialog will let you see more.  (One interesting example: floppy disks that were bootable under both DOS 3.2 and DOS 3.3 have two different copies of track 0 sector 0.  Switch from "DOS 3.3" to "DOS 3.2" and back again to see what's there.)

+

 

+

Click on the "Done" button to close the editor.

+

 

+

Some interesting places to visit:

+

 

+

DOS: catalog usually starts at track 17, sector 15, and goes down to track 17, sector 1.

+

ProDOS: volume directory in blocks 2 through 5.

+

Pascal: volume directory in blocks 2 through 5.

+

CP/M: volume directory in blocks 24 through 27.

+

RDOS: catalog starts on track 1 sector 0.

+

 

+

RDOS actually includes all of tracks 0 and 1 in a file called "RDOS 2.1 COPYRIGHT ...".  On nibble images of 13-sector disks, this file may be partially unreadable.

+

+

+ diff --git a/app/Help/html/t18.htm b/app/Help/html/t18.htm new file mode 100644 index 0000000..d94c222 --- /dev/null +++ b/app/Help/html/t18.htm @@ -0,0 +1,130 @@ + + + Appendix - About Disk Images + + + + + + + + + + +

About Disk Images

+

 

+

Disk images are copies of entire Apple II floppy disks stored in a single file.  There are several different ways to generate and store them, some designed for uploading to web pages, others for use with Apple II emulators.  There are also a number of different ways of storing files on an Apple II disk, the most prominent being the DOS 3.3 and ProDOS filesystems, so opening an image file and getting at the files inside can be tricky.

+

 

+

CiderPress takes most of the pain out of opening disk images by automatically determining the storage format and filesystem for many common formats.  You can view the format for an open disk image with the Archive Info feature, and you can attempt to override the automatic settings by enabling "Confirm disk image format" in Disk Image Preferences.

+

 

+

There are five attributes that must be determined before a disk image can be opened: outer format, image file format, physical format, sector ordering, and file system format.

+

 

+

Outer Format

+

 

+

Sometimes disk images are compressed with gzip or another program to reduce their size.  If CiderPress sees a ".gz" or ".zip" extension, it will automatically uncompress the file when it is opened, and re-compress it if any changes are made.

+

 

+

CiderPress supports Zip/gzip compression in conjunction with all formats except ShrinkIt archives, so ".sdk.gz" and ".sdk.zip" won't open.  Generally speaking, archives compressed with ShrinkIt don't compress much, so this is uncommon.

+

 

+

Image File Format

+

 

+

This is the format of the file that you have on your PC.  The format is often indicated by the filename extension, e.g. ".sdk" for a disk packed with ShrinkIt.  The disk image file formats that CiderPress handles, with their most common extensions, are:

+

 

+

 

+

Universal Disk Image .2MG, .2IMG  

+

 

+

DiskCopy 4.2 .DSK, .DC, .DC6  

+

 

+

Sim //e HDV .HDV  

+

 

+

Dalton's Disk Disintegrator (DDD) .DDD  

+

 

+

Formatted Disk Image (FDI) .FDI  

+

 

+

Unadorned sectors .DSK, .DO, .PO, .D13, .HDV, .IMG, .RAW, .ISO  

+

 

+

Unadorned nibbles .NIB, .NB2  

+

 

+

NuFX (ShrinkIt) .SHK, .SDK  

+

 

+

TrackStar .APP  

+

  

+

 

+

The "unadorned" format refers to files that are nothing but disk data.  The other formats have headers that must be removed before the data can be accessed.  For some formats, such as NuFX and DDD, that data may need to be uncompressed before it can be used.

+

 

+

The Image File Format is reliably detected by CiderPress, and can't be overridden.  If you think CiderPress has got it wrong, you can usually override its choice by changing the file extension.

+

 

+

Identifying DDD archives is tricky, because there is little information in the file format to distinguish it from an ordinary file.  The only way to tell is to try to unpack the file and see if you run out of compressed data at roughly the same time as you output 140K of uncompressed data.  Further complicating matters is that DOS DDD archives are stored as binary files but with a length of zero, so CiderPress has to guess that it's a DDD archive and then modify the length.  CiderPress will adjust a DOS 'B' file if it has an address and length of zero, is at least 8 sectors long, and has angle brackets (<>) in the filename.

+

 

+

Please do not use DDD v2.0 under DOS; it has a bug that can cause the last sector on the disk to be corrupted.  Because the DDD file format lacks any sort of checksum, the corruption can go undetected.  Use DDD v2.1 or later under DOS.  Better yet, use ShrinkIt to create your disk images.

+

 

+

TrackStar images are created and used by the TrackStar Apple II emulator hardware.  This board was developed many years ago, and is rare today.  The images are stored in nibble format, but have a variable length with a maximum of 6525 bytes per track.  Standard ".nib" images use 6656 bytes per track, which means that converting from ".app" to ".nib" requires adding extra bytes in inter-sector gaps, and converting the other way requires finding and removing unnecessary bytes.  Neither of these is 100% reliable, especially on copy-protected disks, so converting to and from ".app" only works well for unprotected disks.

+

 

+

The TrackStar's image maker creates 40-track and 80-track images.  On a typical 40-track image, the last 5 tracks are empty, but some forms of copy protection used an additional track at the end of the disk.  You can view the contents, if any, with the Disk Viewer.  When converting to or from standard 35-track disk images, the last 5 tracks are dropped or zero-filled.  80-track images are like 40-track images but with "half tracks" stored as well.  No other disk image format supports half-tracking, so CiderPress just skips every other track.

+

 

+

FDI images, created by "Disk2fdi", are similar to TrackStar in that they can have more than 35 tracks and use a variable-length track format.  The "raw" images contain an image of the magnetic pulses captured from a PC floppy drive while reading an Apple II disk.  FDI images may also contain nibble images of 3.5" disks, something no other format handles.  The images are converted internally to variable-length nibble format, which means they can be converted to TrackStar format without losing data, but not to .NIB.

+

 

+

A ".ISO" image of a CD-ROM is essentially equivalent to ".PO".  ".ISO" images of Macintosh-partitioned or HFS CD-ROMs can be accessed directly.

+

 

+

Physical Format

+

 

+

Once the headers are stripped and the data is uncompressed, you're left with one of two things: a stream of raw "nibble" data, stored exactly as it appeared when read from a 5.25" Apple II disk drive, or a stream of 256-byte sectors.  This value indicates which of the two formats is used.

+

 

+

The most common nibble image format (.nib) has 6656 bytes per track, but occasionally you will find a ".nb2" image with 6384, or a ".app" TrackStar image with variable-length tracks.  CiderPress supports all formats.

+

 

+

Sector Ordering

+

 

+

Apple II floppies typically have 16 sectors.  The various Apple II operating systems used different "sector interleave" values for performance reasons, resulting in some confusion about where exactly a given track and sector resides in a sector-based disk image.  Nibble images include the sector addresses, so there is no ambiguity.

+

 

+

There are four common ways to order the sectors, defined in terms of the operating system used to create the disk image:

+

 

+

Physical order: no interleave is used.  Nibbles images always use this, and the Copy ][+ ".IMG" format is an "unadorned" file with this ordering.

+

DOS order: "-2" interleave is used.  Programs commonly used for transferring 5.25" disk images will read the disk as DOS sectors, resulting in a DOS-ordered ".DO" image.

+

ProDOS order: "+2" interleave is used.  ShrinkIt reads disks as a series of ProDOS blocks, and once extracted the disk is a ProDOS-ordered ".PO" image.

+

CP/M order: "+3" interleave is used.  This would only be generated by a disk image creator running under CP/M, so you're unlikely to find an image in this order.

+

 

+

The sector order reflects the sequence in which the sectors were written into the image file.  It allows us to convert between "physical" order and the stored order, which is important for proper handling of the "filesystem" attribute (described next).

+

 

+

It is possible to override the sector ordering value.  If you do, CiderPress takes it as a recommendation, and will try that order first.  If it is unable to process the image using the order you requested, it will go ahead and try Physical, DOS, and ProDOS.

+

 

+

13-sector ".d13" images are always stored in ascending sector order.

+

 

+

Filesystem Format

+

 

+

This is the key.  It tells CiderPress how it should go about looking for files inside the disk image.  The attribute defines not only how the files are arranged, but also how sectors should be pulled out of the image.

+

 

+

The supported filesystems are as follows:

+

 

+

 

+

Filesystem Sector Order  

+

 

+

ProDOS ProDOS  

+

 

+

HFS ProDOS  

+

 

+

UCSD Pascal ProDOS  

+

 

+

DOS 3.2/3.3 DOS  

+

 

+

CP/M CP/M  

+

 

+

RDOS 3.2 Physical  

+

 

+

RDOS 3.3 ProDOS  

+

 

+

UNIDOS/AmDOS DOS  

+

 

+

OzDOS DOS  

+

 

+

 

+

CiderPress also supports CFFA-style fixed partitions and Macintosh-style partition maps.

+

 

+

If the sector order for the filesystem format matches the Sector Ordering attribute, then reading the correct sector from the disk image is easy, because the image was written in exactly the same way that the filesystem needs to be read.  If they don't match, then some amount of "sector swapping" is required to read the right sector from the right place.

+

 

+

If a disk doesn't actually have a filesystem -- perhaps it's an Apple II game that has its own disk format -- you will not be able to open it with CiderPress and view it as a collection of files.  You can, however, open it with the Disk Sector Viewer.  To provide the proper translation of sector numbers, you can use one of the "generic" filesystem formats.  These don't define a file structure, but do let you describe the ordering of the disk.  For example, if you use the "Generic DOS" entries, you will be able to read the disk exactly as you would with a "disk zap" utility.  If you select the "Generic ProDOS" entry, you will get results equivalent to a ProDOS "block zap" utility.

+

 

+

The "generic" entries are only available when opening disk images with the Disk Editor.

+

 

+

Some disks have embedded DOS "sub-volumes", e.g. DOS 3.3 embedded in a ProDOS disk.  See the embedded DOS volume section for more information.  CFFA cards, partitioned hard drives, and CD-ROMs are handled similarly.

+

+

+ diff --git a/app/Help/html/t187.htm b/app/Help/html/t187.htm new file mode 100644 index 0000000..0e57312 --- /dev/null +++ b/app/Help/html/t187.htm @@ -0,0 +1,41 @@ + + + Tool - Disk Image Converter + + + + + + + + + +

Disk Image Converter

+

 

+

This handy tool converts disk images from one format to another.  In this case the word "format" refers to the image file format (2MG, SDK, etc.) rather than the disk filesystem format (DOS, ProDOS).  With this utility you can add and remove 2MG headers, change DOS-order disks to ProDOS-order, convert 5.25" floppies to nibblized formats, and so on.  Read more about disk images here.

+

 

+

Start by selecting the image to open.  If the sector ordering cannot be determined, or if you have "Confirm disk image format" enabled in Disk Image preferences, you will be prompted to specify it.  (You will also be able to set the filesystem format, but that actually has no effect on the conversion process.  If it couldn't be determined, the dialog will show "Generic ProDOS blocks".)

+

 

+

After the image has been opened and examined, you will be asked to select the format of the new image.  One or more of the choices may be unavailable depending on the source image format.  For example, only 5.25" floppy images can be converted to nibble format, and only 3.5" 800K floppies can be converted to DiskCopy 4.2.

+

 

+

You can also choose to compress the file with gzip.  This makes the file smaller and adds a ".gz" extension to the filename.  ShrinkIt archives are already compressed, so the gzip flag is ignored.  A few emulators and utilities can handle DOS-order images with gzip (.do.gz), but generally speaking you should only add gzip compression if you're planning to store the images rather than use them.  The "gzip" checkbox is disabled for images larger than 32MB, because CiderPress doesn't open compressed images larger than that.

+

 

+

Once you have selected the format, click "OK".  You will be prompted for the name of the new archive.  If you don't specify an extension, the correct one will be added for you.  Click "Save" to write the image.

+

 

+

Most disk images are copied as a series of blocks, either ProDOS blocks or pairs of sectors on a 16-sector floppy.  If you are copying from a nibble format to a sector format, any unreadable blocks will be skipped.  A warning dialog will let you know how many had to be skipped over.  If you copy from a nibble format to a new image with the same nibble format (e.g. you're just adding or removing a 2MG header), the data is copied as nibble tracks, and any errors or copy protection are left undisturbed.  If the format changes, e.g. you're copying from ".nib" to ".nb2" or ".app", it may not be possible to copy the data directly because the formats are incompatible.  In such cases the image will be copied as formatted blocks, converting in and out of nibbles as appropriate.

+

 

+

You will be offered the opportunity to open the image in CiderPress to test it.  As with all disk images, this only works if the image has a recognizable filesystem.

+

 

+

The recommended image formats are:

+

5.25" disks: DOS-order .DO, or (if necessary) .NIB

+

3.5" disks: ProDOS-order .PO or .2MG

+

anything else: ProDOS-order .PO or .2MG

+

 

+

These will work with the broadest set of emulators and utilities.  Disk images that are 2GB or larger must be stored in .PO format.

+

 

+

Nibble and 2MG formats can store a volume number that DOS uses.  CiderPress takes care to preserve this value when converting between formats.

+

 

+

Comments in 2MG files are currently lost when images are converted.  This may be fixed in a future version of CiderPress. + +

+ diff --git a/app/Help/html/t19.htm b/app/Help/html/t19.htm new file mode 100644 index 0000000..d7a19e8 --- /dev/null +++ b/app/Help/html/t19.htm @@ -0,0 +1,57 @@ + + + Preferences - General + + + + + + + + + +

General Preferences

+

 

+

You can access General Preferences by selecting "Preferences..." from the "Edit" menu.

+

 

+

This screen is divided into a number of different sections.  Click on the tabs near the top to change to a different set of preferences.  Click on "OK" to accept the changes and close the dialog, "Apply" to accept the changes without closing the dialog, and "Cancel" to throw away any changes you have made since the last "Apply".

+

 

+

Columns

+

 

+

Place check marks next to the columns you want to see on the screen, and remove them from those you don't.  ("Disabled" columns are actually just zero pixels wide, and can be hidden or restored by clicking on the dividers in the column headers and dragging.)

+

 

+

Clicking on the "Defaults" button restores the displayed columns to the default set, and resizes all columns appropriately for the current screen dimensions and font choices.

+

 

+

NuFX (ShrinkIt) archives

+

 

+

Options that only affect ShrinkIt archives.  If you select "Mimic ShrinkIt quirks", ShrinkIt compatibility mode will be enabled in NufxLib.  This has the following effects:

+

 

+
  • The first file added to an archive will have an empty 200-byte comment attached. +
  • All files compressed with Dynamic LZW/1 or /2 will be one byte longer. +
  • Files smaller than 512 bytes are never compressed. +
  • Archives with SEA wrappers have an extra byte added to the end.
+

 

+

There's really no value in enabling any of these, but the archives that are created very closely resemble those created by GS/ShrinkIt.  In theory, a poorly-written application might depend on these quirks, and have compatibility problems with CiderPress if they weren't enabled.  In practice, everything tested so far works just fine without needing to have these enabled.

+

 

+

If you select "Reduce error checking", CiderPress will ignore bad CRCs and some forms of damage to compressed data.  Enabling this is generally a bad idea, because it means you will not be notified when corrupted data is found.  In some rare circumstances, however, it can allow you to recover some data from damaged or poorly-formed archives.

+

 

+

See the NufxLib API documentation on www.nulib.com for more details.

+

 

+

Filename munging

+

 

+

Enabling "Lower-case DOS 3.3 filenames" causes the names of files pulled from DOS 3.3 disks to be converted to a mix of upper and lower case, as if they were book titles.  The mixed-case names will be used when the files are extracted, so this is best used when preserving the original names is not important.  The flag does not, however, affect the names of files added to DOS disks (which are always upper-case-only).

+

 

+

"Show spaces as underscores" does exactly what it says: all spaces in all files are converted to underscores.  This is similar to the way MP3 files are often distributed, and is useful for files that will be placed directly on a web server.

+

 

+

File type associations

+

 

+

Clicking this button brings up the Edit File Associations dialog.

+

 

+

Miscellaneous

+

 

+

The "Strip pathnames when pasting files" flag determines how the paths of ProDOS files are handled when pasting files from the clipboard.  If set, the leading path is removed before the files are pasted.  You should set this flag if you just want to copy files around, but clear it if you're moving entire subdirectories and want to retain the hierarchy.  The flag affects pasting, not copying, so you don't need to re-copy files after changing this flag.

+

 

+

If "beep when operations complete successfully" is checked, CiderPress plays a sound when various operations (e.g. adding or extracting files) complete successfully.

+

+

+ diff --git a/app/Help/html/t20.htm b/app/Help/html/t20.htm new file mode 100644 index 0000000..2e405ee --- /dev/null +++ b/app/Help/html/t20.htm @@ -0,0 +1,22 @@ + + + Disk Image Characteristics + + + + + + + + + +

Disk Image Characteristics

+

 

+

This comes up when you are opening a disk image and have either checked the "Confirm disk image format" box in Disk Image Preferences or are opening a disk that CiderPress does not fully recognize.

+

 

+

If CiderPress doesn't recognize the disk, you will probably need to choose a filesystem format, and may need to select the sector ordering.  For more information about these fields, see the detailed disk image discussion.

+

 

+

When opening an image with the disk sector viewer, you can select one of the "generic" formats if you don't know what format the disk is in.  The format you choose is combined with the sector ordering value to determine how blocks or sectors are read from the disk.  If you're trying to open the image in the file list, the "generic" formats will not be available.

+

+

+ diff --git a/app/Help/html/t201.htm b/app/Help/html/t201.htm new file mode 100644 index 0000000..9547a8c --- /dev/null +++ b/app/Help/html/t201.htm @@ -0,0 +1,29 @@ + + + Tool - SST Image Merge + + + + + + + + + + +

SST Image Merge

+

 

+

This tool is used to combine two disk images created by the "SST" utility into a single ".nib" disk image.

+

 

+

SST is "Saltine's Super Transcopy", a nibble copier modified to read raw nibble data from disks and write it to two floppy disks.  The usual approach to creating .nib files is to run SST on a real Apple II, create images of the two disks, copy them to a PC, and then run SST in an emulator to copy the two sides onto a "blank.nib" file.  The advantage of this approach over creating ShrinkIt or ".do" files is that in many cases the copy protection can be left more or less intact.

+

 

+

CiderPress can't make the first half of the process easier, but it can simplify the second.  Instead of running an emulated SST to combine the images, just use the "SST Image Merge" function from the Tools menu.  You will be asked to locate the first side, then the second side, then asked for the name of the output file.  The pieces are merged immediately.  You are given the option of opening the newly-created disk in CiderPress, but as with all disk images this will only work if the disk has a recognizable filesystem.  The NIB format is generally used for disks without filesystems, so you may have to test the image by booting it in an Apple II emulator.

+

 

+

If CiderPress notices anything unusual about the images, you will be notified.  A warning will be shown if they don't appear to be images of SST-created disks, or if they were specified in the wrong order.

+

 

+

You can transfer the SST disk images from your Apple II in any format that CiderPress supports.  The most popular are unadorned DOS-order files (.DO) or ShrinkIt (.SHK/.SDK).  Since the disks don't have a recognizable filesystem, CiderPress' automatic sector order determination algorithms may not work, so it is important to use the appropriate filename extension on unadorned formats.  If CiderPress can't figure it out, or if you have "Confirm disk image format" enabled, you will be prompted to enter it.  (The "filesystem format" will usually show "Generic DOS sectors"; this is normal, and can be left alone.)

+

 

+

SST has some fancy features (nibble counting, track synchronization) that CiderPress does not try to emulate.  If you need special parameters in SST, you will need to use the original method.

+

+

+ diff --git a/app/Help/html/t203.htm b/app/Help/html/t203.htm new file mode 100644 index 0000000..97eeaef --- /dev/null +++ b/app/Help/html/t203.htm @@ -0,0 +1,43 @@ + + + Edit File Attributes + + + + + + + + + + +

Edit File Attributes

+

 

+

To edit an entry's attributes, select the entry from the list., and activate the "Edit attributes..." command.  You may only select one entry at a time.

+

 

+

The pathname and modification date will be displayed but may not be changed.  (To change the pathname, use the rename feature.)  The file type will be shown in the drop-down box, and may be changed by selecting a new entry.  Tip: if you click in the drop box and type a letter, you will move to the next entry that begins with that letter.  This can make it easier to find a file type by its three-letter abbreviation.

+

 

+

The auxilliary type (usually called "aux type") is shown as a 4-digit hexadecimal number, and may be edited freely.

+

 

+

The type description is based on both the file type and the aux type.  For example, type "LBR $E0" with aux type "8002" is listed as a "ShrinkIt (NuFX) document" in the Apple File Type Notes.

+

 

+

The access flags may be enabled or disabled individually with the checkboxes.  Most files have "Read" enabled and possibly the "Backup needed" flag.  Checking the bottom three boxes results in a "locked" file, while unchecking them indicates an "unlocked" file.

+

 

+

Not all formats support all possible values.  For example, on DOS 3.3 disks, checking the "write enabled" flag unlocks the file, while un-checking it locks the file.  DOS 3.3 only supports a few file types, and only BIN has a meaningful aux type.  HFS directories don't have file types at all.

+

 

+

Changing the file type on a DOS 3.2/3.3 disk should be done with caution.  BASIC programs and binary files have the file length embedded in the first sector of the file, and binary files have a start address as well.  CiderPress does not add or remove these values when changing the file type.  If, for example, you change a file of type TXT to type BIN, you will find that the first four bytes of the text file have mysteriously vanished, and the start address and length are strange.  If you change the aux type, and then change it back to TXT, you will find that the first two characters in the text file are different.

+

 

+

WARNING: if you change a DOS file to BAS, INT, or BIN, there's a good chance that the length value pulled out of the first sector will be larger than the file.  This may not be immediately apparent because CiderPress truncates the length for safety.  The next time CiderPress opens the disk, it will mark the file as "suspicious", and mark the disk read-only.  The only way to change the file type back will be to use a sector editor in an emulator.  If you want a file from another source (Windows text file, ProDOS disk, etc) to have a specific file type, add it to a ShrinkIt archive or ProDOS disk image, change the file type, and then copy it to a DOS volume.

+

 

+

This behavior is by design.  You can take advantage of it when copying certain types of files around.  Cracked games with short DOS loaders can be copied by first changing the file type to 'S' ($F2), copying the file, pasting it into the new disk, and then changing the type back to BIN.  This works because 'S' has no embedded length, and CiderPress does not alter the embedded aux type unless you explicitly change it.

+

 

+

When changing the file type to BIN, you will have the opportunity to change the aux type.  If you leave it alone, the aux type will be pulled out of the first sector of the file.  If you change the value in the edit box, the new value will replace the old.

+

 

+

DOS 3.2/3.3 disks only support eight file types.  The most common are 'B' (BIN), 'A' (BAS), 'I' (INT), and 'T' (TXT).  Less common are 'R' (REL) and 'S' ($F2), and you will rarely see the alternate 'A' ($F3) and 'B' ($F4).  The hex-valued types, like $F2, are used because there is no direct mapping between the DOS type and a ProDOS type.

+

 

+

Pascal disks are similar.  Three types are commonly used: PDA (generic data), PTX (Pascal text editor format), and PCD (Pascal code format).  The others are "untyped" (NON), "bad blocks" (BAD), "info" ($F3), "graffile" ($F4), "foto" (FOT), and "securdir" ($F5).

+

 

+

HFS uses 4-character values for the file type and "creator type".  Apple defined special handling for files with a creator type of "pdos".  CiderPress automatically recognizes those values, and presents them as standard ProDOS file types.  You can choose between ProDOS and HFS types on HFS disks and ShrinkIt archives.

+

+

+ diff --git a/app/Help/html/t21.htm b/app/Help/html/t21.htm new file mode 100644 index 0000000..d896c7f --- /dev/null +++ b/app/Help/html/t21.htm @@ -0,0 +1,42 @@ + + + Appendix - Embedded DOS Volumes + + + + + + + + + + + +

Embedded DOS Volumes

+

 

+

The DOS 3.3 file format is wonderful for 140K 5.25" floppies, but requires some modifications before it will work on other kinds of media.  A number of authors came up with ways of putting one or more DOS 3.3 volumes onto an 800K floppy.  CiderPress recognizes most of them automatically.

+

 

+

Apple shipped two 3.5" drives, the AppleDisk 3.5 and the UniDisk 3.5.  The latter, combined with an interface card, would work on an Apple //e, and is responsible for the suffix used in some of the product names.

+

 

+

ProSel Uni-DOS (Glen Bredon)

+

 

+

ProSel-8 and -16 shipped with Uni-DOS, a way to format an 800K disk with 600K of space for ProDOS and 200K of space for DOS 3.3.  The embedded volume had 50 16-sector tracks.

+

 

+

DOS Master (Glen Bredon)

+

 

+

Essentially an enhanced version of Uni-DOS, DOS Master allowed placement of multiple DOS volumes on a single disk.  You could, for example, put five 140K DOS 3.3 disks on one 800K disk, and switch between them with the ",v" (volume) parameter.  The volumes could also be placed on a hard drive.

+

 

+

AmDOS 3.5 (Gary Little)

+

 

+

The "Amateur Disk Operating System version 3.5" software allowed storing two 400K DOS volumes on one 800K floppy.  Each DOS volume used 50 tracks of 32 sectors, which is the largest you can get without making significant alterations to DOS.  The change from 16 to 32 sectors broke compatibility with some programs (such as the "FID" file copying utility), but was manageable with a few well-placed patches.

+

 

+

UNIDOS (Unknown)

+

 

+

The disk format is identical to AmDOS.  It's unclear what the heritage of this is.

+

 

+

OzDOS (Richard Bennett)

+

 

+

This is another two-400K-disks-on-one-800K scheme, but the author decided to do something a little different.  Instead of putting the volumes one after the other, he stretched them out across the entire disk, using odd sectors for one volume and even sectors for the other.  For a device that reads 512-byte blocks, this makes a certain kind of sense.

+

+

+ diff --git a/app/Help/html/t215.htm b/app/Help/html/t215.htm new file mode 100644 index 0000000..965512b --- /dev/null +++ b/app/Help/html/t215.htm @@ -0,0 +1,31 @@ + + + Convert Disk Image to File Archive + + + + + + + + + + +

Convert Disk Image to File Archive

+

 

+

This feature extracts every file it can find in a disk image and stores it in a ShrinkIt archive.  This is similar to extracting all files with "preservation mode" enabled and re-adding them, but is faster and easier.  It can be used in conjunction with "convert file archive to disk image" to resize a ProDOS volume.

+

 

+

Open a disk image and highlight the files you want to convert.  Items will be converted in the order that they appear, so if you want to leave the order undisturbed make sure you have them sorted in the original order (more information on this).  Select "Convert to file archive..." from the Actions menu.

+

 

+

The "Preserve empty folders" feature is useful when you plan to convert the file archive back to a disk archive, perhaps after modifying some files or just choosing a different disk size.  The ShrinkIt archive format describes a way to store empty folders, but it has never been used by any ShrinkIt utility and could cause some software to break.  Instead, CiderPress creates standard zero-length file entries with the name ".$$EmptyFolder".  These are automatically dropped when converting to a disk archive, but will appear as normal entries in the archive.  This option should therefore be enabled only when you plan to convert back to a disk image.

+

 

+

The selected default compression will be used when creating the ShrinkIt archive.

+

 

+

Text files on DOS 3.2/3.3 and RDOS disks (file type 'T') will be converted to ProDOS format.  This involves stripping "high ASCII" text from the file.

+

 

+

For performance reasons this feature holds most of the files in memory during the operation, making this somewhat memory-intensive.  If you are working with 32MB hard drive partitions, performance on systems with insufficient RAM may suffer.

+

 

+

Files in embedded volumes, such as a DOS volume inside an 800K ProDOS disk, can be converted.  However, they become just like any other file, and if the file archive is converted back to a disk image they will no longer be stored in an embedded volume.

+

+

+ diff --git a/app/Help/html/t216.htm b/app/Help/html/t216.htm new file mode 100644 index 0000000..bf9ecba --- /dev/null +++ b/app/Help/html/t216.htm @@ -0,0 +1,35 @@ + + + Convert File Archive to Disk Image + + + + + + + + + + +

Convert File Archive to Disk Image

+

 

+

With this feature, you can copy part or all of a ShrinkIt file archive to a new ProDOS volume in a single step.  When combined with the "convert disk image to file archive" feature, it's possible to resize ProDOS disks, converting 140K floppies to 800K floppies or even 32MB hard drive images.

+

 

+

The images created are always unadorned ProDOS-order (.PO) files.  If you need to have it in a different format, you can use the Disk Image Converter to change it.

+

 

+

Open a file archive and highlight the files you want to convert.  Items will be converted in the order that they appear, so if you want to leave the order undisturbed make sure you have them sorted in the original order (more information on this).  Select "Convert to disk archive..." from the Actions menu.

+

 

+

Choose the size of the disk to create from the set shown.  Standard removable media and hard drive sizes are available.  If you're not sure how much space the files require, click the "Compute" button.  The size requirements will be determined by creating a temporary 32MB volume with the selected files and adjusting for system overhead.  Any size options that won't work will be dimmed.

+

 

+

Filenames on ProDOS disks must start with a letter, be composed entirely of letters, numbers, and dots ('.'), and can be at most 15 characters long.  Any invalid characters will be stripped, and long filenames will be truncated.  CiderPress will try to preserve filename extensions (e.g. ".jpg"), and will make filenames that reduce to the same thing unique.  For example, "my&&file" and "my__file" both convert to "myfile", so the first is stored as "myfile" and the second as "myfile1".

+

 

+

ProDOS stores filenames using upper case letters only.  A modification added for the benefit of the GS/OS ProDOS FST allows mixed-case names with spaces in them, but the method used to store the case information can confuse older versions of ProDOS 8.  The "Allow lower-case ProDOS names" option in Disk Image Preferences lets you tell CiderPress whether to create lower-case names on ProDOS disks.  If you're planning to use the disk with a pre-v1.8 version of ProDOS 8, you should not enable the feature, or your files may be inaccessible.

+

 

+

The volume directory on a ProDOS disk holds at most 51 files.  If you need to put more than 51 files onto a ProDOS disk, make sure some or all of them are in folders, which do not have a limit.

+

 

+

If you are converting a ShrinkIt archive that contains a disk image, the disk image will be converted as a ProDOS-order (.PO) file.

+

 

+

For performance reasons this feature holds most of the files in memory during the operation, making this somewhat memory-intensive.  If you are working with 32MB hard drive partitions, performance on systems with insufficient RAM may suffer.

+

+

+ diff --git a/app/Help/html/t22.htm b/app/Help/html/t22.htm new file mode 100644 index 0000000..7b14fdd --- /dev/null +++ b/app/Help/html/t22.htm @@ -0,0 +1,159 @@ + + + Appendix - File Format Converters + + + + + + + + + + + +

File Format Converters

+

 

+

CiderPress can convert a variety of Apple II files into formats more easily accessible on a PC.  BASIC programs can be converted into text program listings, AppleWorks word-processing documents become RTF (Rich Text Format) documents, and graphics become Windows BMPs.

+

 

+

The end-of-line (EOL) marker on text files changes from system to system.  Macintosh and the Apple II use carriage returns (CR), UNIX systems use linefeeds (LF), and MS-DOS uses one of each (CRLF).  Windows programs vary in their ability to handle text files with different EOL formats, but they all handle CRLF.  CiderPress can convert all text files to Windows format if you desire.

+

 

+

DOS High ASCII (TXT)

+

 

+

Apple DOS stores text files with the high bit of every 8-bit byte set.  This causes most other operating systems to display characters from an "extended" character set (accents, tildes, etc.) instead of the intended characters.  This is usually undesirable, so all files from DOS disks with file type 'T' should be run through this converter to strip the high bit off.  This will also convert the end-of-line character to CRLF.

+

 

+

CP/M Text (NON)

+

 

+

CP/M text files use CRLF line terminators, but also follow a convention that has fallen out of use under Windows: a Ctrl-Z marks the end of the file.  This converter identifies text files on CP/M disks, and drops everything after the first Ctrl-Z.  Files with unusual control characters embedded in them may not be identified as text.

+

 

+

UCSD Pascal Text (PTX)

+

 

+

UCSD Pascal disks have text files with an unusual format (done so for the benefit of the editor).  These can be converted to text in a format that mimics the on-screen and printed output of the original.

+

 

+

UCSD Pascal Code (PCD)

+

 

+

The executable code files can be broken into segments, each of which is named and has a data type.  The converter breaks the file into segments, and displays the segment header along with a hex dump of the contents.

+

 

+

Applesoft BASIC (BAS)

+

 

+

Applesoft programs are stored in a "tokenized" format, meaning that BASIC keywords like "FOR" and "NEXT" are stored as a single byte rather than a text string.  This reduces program size and improves execution speed, but makes them hard to read on a PC.  The Applesoft converter produces output identical to what you would see if you loaded the program and typed "LIST".  If the appropriate preference is enabled, BASIC keywords, comments, and quoted text will be highlighted in color by default.

+

 

+

Integer BASIC (INT)

+

 

+

This is similar to the Applesoft converter, but for the older Integer BASIC format.  Again, the output is identical to the "LIST" command.

+

 

+

It was not uncommon to stash machine-language code snippets at the start or end of an Integer BASIC program, resulting in a collection of junk.  Usually some "LOMEM:" and "HIMEM:" commands were used to rearrange things so that the code gets hidden and only the BASIC program remains ("APPLEVISION", from the DOS 3.3 system master disk, is a classic example).  The converted output of the machine-language parts may not match what "LIST" does, which is a good thing -- in some cases LIST would loop forever.

+

 

+

Asm source (TXT, INT, and $F4)

+

 

+

The S-C Assembler used the DOS 'I' file type, but doesn't use the Integer BASIC file format (it's a line-oriented compressed text file).  Fortunately it's easy to tell the difference between S-C files and Integer programs.  This converts the file to plain text.

+

 

+

The DOS versions of LISA (Lazerware's Interactive Symbolic Assembler), v2.5 and earlier, used a mildly tokenized format stored in DOS 'B' files.  (This is the alternate type 'B', not the standard binary format; it shows up as type $F4 in CiderPress.)  The ProDOS and GS/OS versions used the ProDOS INT type reserved for Integer BASIC, with the source written in a compressed format.  The output is plain text, and matches the converted output of the original when written to a text file with the "write" command.

+

 

+

The file formats for LISA versions 2, 3, and 4 are different.  All three are handled.  Version 5 is equivalent to version 4, and the format for version 1 is unknown.

+

 

+

Merlin and Merlin-16 used a text format that crunched out excess spaces.  The Merlin converter puts the spaces back in, so the output resembles what you'd see in the Merlin-16 full-screen editor.  Merlin source files usually have filenames ending in ".S".

+

 

+

Disassembly (various)

+

 

+

Two modes of disassembly are currently supported:

+
  • Apple //e monitor listing.  This produces output identical to the monitor 'L' command on an Apple ][+ or //e, with two changes: 65C02 operands are supported, and NiftyList-style annotations are added. +
  • Apple IIgs monitor listing.  Output is identical to the monitor 'L' command on an Apple IIgs, with the addition of NiftyList-style annotations.  You may choose "short" (8-bit) or "long" (16-bit) registers.
+

 

+

See the Disassembly Notes section for more information.

+

 

+

8-bit Word Processor (various)

+

 

+

Currently supports Magic Window / Magic Window II "formatted" documents.  These have file type BIN and end in ".MW".

+

 

+

AppleWorks Word Processor (AWP)

+

 

+

CiderPress does a fairly good job of converting AWP documents to Rich Text Format (RTF) files that can be edited with WordPad or Microsoft Word (the former is a Windows "accessory", and should be available on all systems).  Most text styles are supported (bold, italic, underline, subscript, superscript), as well as paragraph formatting (left/right justified, centering) and some page layout features (left/right margins, page breaks).

+

 

+

AppleWorks Database (ADB)

+

 

+

Database files in AppleWorks are two-dimensional, with a fixed set of columns and one row for each entry.  This converts easily to CSV (Comma-Separated Value) format, which can be imported into Microsoft Excel or other applications.  The file viewer will show the data in CSV form, which isn't ideal but is much easier to read than the raw unconverted format.  The first row of data holds the column titles.

+

 

+

AppleWorks Spreadsheet (ASP)

+

 

+

Spreadsheets tend to be tied to a specific application, and AppleWorks ASP files are no exception.  Microsoft Excel does a pretty good job of converting formulas over, but you can expect to do some amount of hand-tweaking after conversion.  Most formulas will transfer, but some (like @AVG) don't, and multi-cell labels will be chopped up.  As with database files, these are converted to CSV format, which should be accepted by just about any modern spreadsheet application.

+

 

+

Apple IIgs Word Processor (GWP)

+

 

+

There are actually three formats here.  All of them convert common symbols and accented characters from the IIgs fonts to Windows fonts.  Not all of the symbols have equivalents, but many of them do.  Text written in languages other than English should convert correctly.

+

 

+

The supported formats are:

+
  • Teach document (GWP $5445).  The "Teach" application on the Apple IIgs created these, which have text in the data fork and formatting information in the resource fork.  Font size and style changes are supported, accented characters are converted, and an attempt is made to convert the typeface to something similar to the original.  The results are ususally pretty good. +
  • AppleWorks GS Word Processor (GWP $8010).  Same basic features as "Teach", plus some basic formatting features like centered and justified paragraphs.  The "header" and "footer" sections are displayed at the top of the converted document. +
  • Generic (GWP, any aux type except the two above).  Does a IIgs text conversion without any other reformatting.  If you have a text file that uses symbols or accented characters from the IIgs font values, you can change its file type to GWP to enable this converter.
+

 

+

ProDOS Folders (DIR)

+

 

+

If you select a folder from a ProDOS disk for viewing, this converter will display it in a format similar to the 80-column output produced by the ProDOS "catalog" command.  The active set of files are shown, followed by any deleted files that can be identified.

+

 

+

Enabling or disabling this converter has no effect on file extraction, because CiderPress doesn't explicitly extract folders.  (It simply creates them when needed.)

+

 

+

Resources (resource fork of any file)

+

 

+

Resource forks have a well-defined structure.  Each fork is a series of resources whose formats are defined by the user or by the system.  This converter separates the fork into individual resources and displays their contents as hex dumps.  Any recognized system-defined resources will have a type description displayed next to the resource type.

+

 

+

Hi-Res Graphics (FOT or 8K BIN, 280x192, six colors)

+

 

+

The classic Apple II graphics mode is "hi-res", featuring a resolution of 280x192.  In some respects it's 140x192 (because two pixels are combined to form one color), in others it's 560x192 (because the Apple II display hardware used a half-pixel shift to get colors on a television).

+

 

+

The Hi-Res converter produces a 16-color, 560x384 bitmap file (BMP) that takes into account half-pixel shifting and other oddities.  The results are usually identical to what you would see on an Apple IIgs RGB monitor.  (If you set just the right pixels you can get yellow and brown on the hi-res screen of a real Apple II; in practice, this never really came up, so it isn't emulated here.)

+

 

+

If you select the black & white output mode, you will get a 16-color 560x384 image using only black and white.  The image matches the Apple IIgs RGB monitor output except that the half-pixel shifting is left enabled.  This was done to match the display of the IIgs composite output and other members of the Apple II line, which don't disable half-pixel shifting in monochrome mode by default.

+

 

+

Double Hi-Res Graphics (FOT or 16K BIN, 560x192, sixteen colors)

+

 

+

This graphics mode, first introduced on the enhanced Apple //e, can also be treated as 140x192, because four pixels are combined to form each color.  In monochrome mode, the output is fully 560x192.

+

 

+

The Double Hi-Res converter produces a 16-color, 560x384 bitmap file (BMP) that attempts to recreate the output from an Apple IIgs RGB or composite output.  Because of various weirdnesses in the Apple II display hardware, this is harder than you might think.  As a result, there are actually four different ways to process the file.  You can choose between them in the file viewer, or pick a default from the "Double Hi-Res mode" setting in the File Viewer tab of Preferences.

+

 

+

Black & White: output is in black and white only, full 560 pixels across.  Output matches Apple IIgs RGB monitor display exactly.

+

Simple 140: produces 560x384 output as if the input were 140x384.  The simplest and most "obvious" approach, it produces inferior results because the Apple II video hardware doesn't work this way.

+

Sliding window: converts the picture the way Apple IIe Tech Note #3 describes, using a 4-bit sliding window.  The result closely matches the composite output on an NTSC device (monitor or television), but is much more blurry than the output of an RGB monitor because most transitions have a lot of color "fringes".

+

Latched color: a variation on "sliding window", this tries to reduce the fringes around transitions to and from black and white.  The result renders the colors fairly well while sharpening up text.

+

 

+

Super Hi-Res Graphics (PIC/PNT or 32K BIN, 320/640x200)

+

 

+

First introduced on the Apple IIgs, Super-Res was the first mode largely devoid of video idiosyncracies.  When you set pixels to certain colors, the output on an RGB monitor was exactly what you expected.  The resolution, which could be changed on every line, was 200 lines of either 320 pixels across with 4 bits of color per pixel, or 640 pixels across with 2 bits of color per pixel.  The way colors in the file were translated to colors on screen involves some minor color palette gymnastics.  The output of the converter is a 256-color 640x400 BMP.

+

 

+

Super-Res images were also the first to be regularly compressed, which isn't surprising since they're 4x as large as standard hi-res.  CiderPress can convert images in the following formats:

+

 

+

Unpacked ("PIC" $c1/0000)

+

Activision Paintworks ("PNT" $c0/0000)

+

Packed with PackBytes ("PNT" $c0/0001)

+

Packed Apple Preferred Format ("PNT" $c0/0002)

+

 

+

The Apple Preferred Format allows for images of arbitrary dimensions.  CiderPress supports up to 1280x1024.  Paintworks images are 320x396, and convert to a 640x792 BMP.

+

 

+

3200-Color Super Hi-Res Graphics

+

 

+

A clever fellow named John Brooks figured out that, if you changed palettes at just the right time, you could get more colors on the screen than would be otherwise possible.  The results were sufficiently compelling to cause a number of GIF and JPEG converters to spring up, as well as one full-fledged 3200-color paint program.  The files are always 320x200, and the output from the file converter is a 24-bit 640x400 BMP.

+

 

+

Most 3200-color pictures were stored in BIN files and given names like ".3200".  Later on, official filetypes were specified, and some additional formats were developed.  CiderPress can convert the following:

+

 

+

Unpacked ($c1/0002 or BIN ".3200")

+

Packed with PackBytes (BIN ".3201")

+

Packed Apple Preferred Format ($c0/0002 with "MULTIPAL" block)

+

 

+

For Apple Preferred Format, only 320x200 images are handled.

+

 

+

Print Shop Clip Art

+

 

+

Clip art from Print Shop "classic" usually comes on DOS 3.3 disks as a 576-byte 'B' file with a load address (aux type) of $4800, $5800, $6800, or $7800.  The images unpack to 88x52 black & white BMP files.

+

 

+

Clip art files for Print Shop GS are 1716 bytes long, and use ProDOS file type $F8 with aux type $C323.  The images unpack to 4-bit 88x52 BMP files.

+

 

+

The Print Shop GS editor doubles the width and triples the height, displaying a nearly-square 176x156 image.  CiderPress does not magnify the image because that would make it awkward to manipulate the original pixels in an image editor.

+

 

+

MacPaint Graphics (*.mac)

+

 

+

The original Macintosh Paint program created monochrome 576x720 images.  These represented a full printed page on a 72dpi ImageWriter printer.  While not really an Apple II format, these were commonly found on BBS systems in the years when Apple IIs were popular.

+

 

+

CiderPress will attempt to identify MacPaint files that don't end in ".mac" by looking for a 128-byte MacBinary header with a 'PNTG' file type.  MacPaint files transferred to other systems usually had this header.

+

+

+ diff --git a/app/Help/html/t23.htm b/app/Help/html/t23.htm new file mode 100644 index 0000000..c0d4c3c --- /dev/null +++ b/app/Help/html/t23.htm @@ -0,0 +1,42 @@ + + + Preferences - File Viewer + + + + + + + + + + + +

File Viewer Preferences

+

 

+

You can access the File Viewer Preferences by selecting "Preferences..." from the "Edit" menu, and then clicking on the "File Viewer" tab.

+

 

+

The options on this screen control the operation of the file viewer.  In most cases they also alter the way files are extracted when "Convert to non-Apple II formats" is enabled.

+

 

+

Converters

+

 

+

Use these checkboxes to enable or disable conversion of specific formats.  The converters are described in more detail under File Format Converters.

+

 

+

If you select "Relax type-checking on graphics", CiderPress will be a little more aggressive when deciding if a file is a graphic image or not.  For example, not all hi-res and double-hi-res graphics have reliable file types, so any binary file that looks to be about the right size is displayed as a graphic.

+

 

+

Conversion Options

+

 

+

Most of these are described on the File Format Converters page.

+

 

+

If "Scroll horizontally instead of wrapping words" is set, the file viewer will add a horizontal scroll bar, and lines of text will not wrap when they reach the right edge of the viewer.

+

 

+

"Highlight hex dump columns" puts alternating 4-byte columns in bold for easier reading.  This is only done for small files, because loading the hex dump with Rich Text Format notations is considerably slower.

+

 

+

"Disassemble BRK/COP as a single-byte instructions" affects IIgs monitor disassembly output.

+

 

+

File Viewer Size Limit

+

 

+

This is the size of the largest file that the file viewer will open.  Large files may place a strain on Windows systems with limited memory, and in many cases there's little value in examining truly huge files with the file viewer.  The upper limit can be set in 1K increments from 1K to 32MB (32768K).

+

+

+ diff --git a/app/Help/html/t233.htm b/app/Help/html/t233.htm new file mode 100644 index 0000000..428b608 --- /dev/null +++ b/app/Help/html/t233.htm @@ -0,0 +1,29 @@ + + + Tool - Bulk Disk Image Converter + + + + + + + + + + +

Bulk Disk Image Converter

+

 

+

The bulk converter works much like the single-image converter, but it can process a large number of disk images with a few clicks.  It's probably best to become familiar with the single-image converter before using this feature.

+

 

+

After you select this feature from the "Tools" menu, you will be asked to select the disk images to convert.  All images must reside in the same folder.  Select multiple files with the mouse, using shift-clicks to select a range of files or ctrl-clicks to add or remove individual files.  You can select all files in the current folder by clicking on one and then hitting Ctrl-A.

+

 

+

Next, you will be asked to choose the output format.  All images will be converted to the same format.  Not all images can convert to all formats -- for example, you can't create 800K nibble images or 140K DiskCopy images -- so make sure you choose an appropriate format.  CiderPress will not prompt you to specify sector ordering, so it's important for the images to have descriptive filename extensions (e.g. ".po" instead of the generic ".dsk").

+

 

+

Finally, select a folder for the output.  Creating a new, empty folder is recommended.  The converted files will have the old names but with the extension replaced, but in some cases the old extension might match the new.  For example, converting a DOS-ordered 2MG file to a ProDOS-ordered 2MG file does not change the ".2MG" extension.  CiderPress will not overwrite an existing file.

+

 

+

If CiderPress encounters a file it cannot convert, you will be shown an error message with the name of the file and given the opportunity to skip the file and continue or halt processing.  Some messages, such as warnings about unreadable blocks on nibble images, are suppressed during bulk conversions.

+

 

+

If you are converting to ShrinkIt .SDK archives, the files will be compressed with the current default compression method.  This provides an easy way to convert a large set of disk images to "deflate" format for reduced storage requirements, or back to LZW/2 for Apple II compatibility.

+

+

+ diff --git a/app/Help/html/t24.htm b/app/Help/html/t24.htm new file mode 100644 index 0000000..b8199e9 --- /dev/null +++ b/app/Help/html/t24.htm @@ -0,0 +1,124 @@ + + + Credits + + + + + + + + + +

Credits

+

 

+

Design & Implementation

+

 

+

The bulk of CiderPress was written by Andy McFadden (www.fadden.com) through FaddenSoft, LLC.  Andy has been writing ShrinkIt-related utilities since 1989, including "NuLib" and "NuLib2", and was the author of Westcode Software's HardPressed(tm) compression software for the Apple IIgs.

+

 

+

This software was written entirely in C++, using Microsoft Visual C++ 6.0 and the MFC user interface library, and requires over 100,000 lines of commented source code.  The major components are:

+

CiderPress application - 43K lines of code

+

MDC application - 1.5K lines

+

File converter library (used by CiderPress app only) - 15.5K lines

+

DiskImg DLL (used by CiderPress and MDC) - 42K lines

+

Common functions (used by CiderPress and MDC) - 7K lines

+

External DLLs (NufxLib, zlib, libhfs, wnaspi32, plus Windows msvcrt, mfc42, etc.)

+

 

+

ShrinkIt and the NuFX archive format were developed by Andy Nicholas.  The Binary II format was developed by Gary Little.

+

 

+

My understanding of Integer BASIC and the S-C Assembler file format was dramatically improved by comments in Paul Schlyter's "A2FID.C".

+

 

+

Many thanks to Apple Computer and especially Apple's DTS group for creating or encouraging the creation of Apple II File Type Notes.  These saved me many hours of reverse-engineering.

+

 

+

Many aspects of the CiderPress UI were inspired by WinZip (www.winzip.com).

+

 

+

Apple /// Business Basic support by David Schmidt.

+

 

+

Testing

+

 

+

v1.0 beta test volunteers:

+

Bryan "I found a bug" Carter <bryan@gamezero.com>

+

Tom "I have a suggestion" Phelps

+

Eric "Sheppy" Shepherd (www.syndicomm.com)

+

 

+

v2.0 beta test volunteers:

+

Rich Dreher

+

Bill Garber

+

Glenn Jones

+

Andrew Molloy

+

Allan Sutton

+

 

+

My thanks also go to Dave Touvell and Jeff Fink for helping track down some bugs in v2.4.

+

 

+

Other Included Software

+

 

+

Access to NuFX (ShrinkIt) archives is provided by the NufxLib library ("nufxlib2.dll").  NufxLib is an open-source project, available for download from www.nulib.com.

+

 

+

Access to .gz files, and support for the "deflate" algorithm in NuFX archives, is provided by the Zlib library ("zlib.dll").  Zlib is free; visit the web site at www.zlib.org.

+

 

+

Access to HFS volumes is provided by "libhfs", part of the "hfsutils" package written by Robert Leslie.  hfsutils is available from http://www.mars.org/home/rob/proj/hfs/.

+

 

+

The install/uninstall program was created with DeployMaster (www.deploymaster.com).

+

 

+

NList.Data is part of the Nifty List desk accessory, written by Dave Lyons.  The file was included with the permission of the author.

+

 

+

Legal Notices

+

 

+

----- for software based on CiderPress code -----

+

Copyright (C) 2014, CiderPress authors.

+

All rights reserved.

+

 

+

Redistribution and use in source and binary forms, with or without

+

modification, are permitted provided that the following conditions are met:

+

    * Redistributions of source code must retain the above copyright

+

      notice, this list of conditions and the following disclaimer.

+

    * Redistributions in binary form must reproduce the above copyright

+

      notice, this list of conditions and the following disclaimer in the

+

      documentation and/or other materials provided with the distribution.

+

    * Neither the name of FaddenSoft, LLC nor the

+

      names of its contributors may be used to endorse or promote products

+

      derived from this software without specific prior written permission.

+

 

+

THIS SOFTWARE IS PROVIDED BY FaddenSoft, LLC ``AS IS'' AND ANY

+

EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED

+

WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE

+

DISCLAIMED. IN NO EVENT SHALL FaddenSoft, LLC BE LIABLE FOR ANY

+

DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES

+

(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;

+

LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND

+

ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT

+

(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS

+

SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

+

 

+

----- for NufxLib -----

+

Copyright (C) 2014, Andy McFadden.

+

All rights reserved.

+

 

+

Redistribution and use in source and binary forms, with or without 

+

modification, are permitted provided that the following conditions are met:

+

 

+

  * Redistributions of source code must retain the above copyright

+

    notice, this list of conditions and the following disclaimer.

+

 

+

  * Redistributions in binary form must reproduce the above copyright

+

    notice, this list of conditions and the following disclaimer in the

+

    documentation and/or other materials provided with the distribution.

+

 

+

  * Neither the name of the copyright holder nor the names of project 

+

    contributors may be used to endorse or promote products derived from

+

    this software without specific prior written permission.

+

 

+

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 

+

AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE

+

IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE

+

ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS

+

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, 

+

OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

+

SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

+

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

+

CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 

+

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF

+

THE POSSIBILITY OF SUCH DAMAGE.

+

+

+ diff --git a/app/Help/html/t241.htm b/app/Help/html/t241.htm new file mode 100644 index 0000000..f6d159a --- /dev/null +++ b/app/Help/html/t241.htm @@ -0,0 +1,65 @@ + + + Opening a Volume + + + + + + + + + + + + +

Opening a Volume

+

 

+

In some circumstances it is useful to open a raw disk volume.  Two common examples are ProDOS-formatted 1.4MB floppy disks and CFFA flash cards.  CiderPress allows you to access ProDOS and HFS filesystems directly.

+

 

+

WARNING: it's possible to destroy all data on your hard drive.  Make sure you're opening the right volume!  When in doubt, open the disk in "read only" mode by checking the "read only" checkbox.  As a safety measure, "read only" is set by default, and CiderPress will not allow you to open "C:\" or physical drive 0 if read-only mode is disabled.  Always close the volume (with File->Close) before ejecting removable media.

+

 

+

Not all devices will work under all operating systems.  Please check the hardware compatibility list on the faddenSoft web site.

+

 

+

Disks can be opened as "logical" or "physical" volumes in Windows.  Understanding the distinction is important.  The basic difference is that a "logical" volume has a drive letter associated with it (e.g. "A:\" for your first floppy drive), while a "physical" volume is numbered (e.g. physical device 0 is your primary hard drive).  From the operating system's perspective, a "physical" disk has a partition table in block 0 that describes one or more "logical" volumes.  Floppy disks are an exception; for them, "logical" and "physical" are equivalent.  A CF card reader may present itself to the system as a physical disk, in which case Windows will try to find a partition table in block 0.

+

 

+

ProDOS and HFS volumes don't have a partition table in block 0, which can cause some confusion.  In some cases you will see a "physical" volume for the CF card but no "logical" volume.  In others the "logical" volume will appear and will be as large as the "physical" disk.  If Windows thinks it has a valid partition table, the "logical" volume may be a small subset of the "physical" disk.

+

 

+

The bottom line is that it's best to use "physical" disks whenever possible.  However, it's not always possible.  You can't treat a floppy drive as a "physical" disk in Windows 2000, and access to "physical" hard drives in Win9x/ME is tricky.  You have to access floppies as "logical" volumes under Win2K, but if you do that under Win98 you will have terrible performance in some circumstances.  It would be nice if CiderPress could automatically do the right thing in all cases, but every CF card reader is different, so CiderPress tries not to limit your options.

+

 

+

CD-ROM drives have their own access method.  No version of Windows makes it easy to read blocks from a CD-ROM with an unrecognized filesystem format.  Under Win2K/XP, CiderPress relies on a technology called SPTI (SCSI Pass-Through Interface) to access the disc.  Select the drive you want from the "logical" list, by letter (e.g. "D:\").  Under Win98/ME, it's necessary to use an ASPI driver (Advanced SCSI Programming Interface), just like CD recording applications do.  CiderPress will look for "wnaspi32.dll", and use it if found (Win98 includes it -- look in the About box to see if it was loaded successfully).  CD-ROM drives show up in the "physical" list, described by manufacturer and model number.  Some external CD-ROM drives may not show up in the list.

+

 

+

Generally speaking, SPTI and ASPI have equivalent performance.  The only notable difference is that SPTI requires exclusive access to a device, so you can't have a CD-ROM open in the file list and then open it in the volume copier.  Some ASPI layers will pick up devices other than CD-ROM drives, such as SCSI hard drives, Zip drives, and even CF card readers.

+

 

+

Hard drives partitioned for an Apple II or Macintosh can be accessed if attached to an IDE or SCSI connector.  Under Win9x/ME you can only access drives that the ASPI layer can find, which usually means you can only get to SCSI hard drives.

+

 

+

Here's what you should do:

+

 

+

In Windows 2000/XP:

+
  • Use "A:\" to access your floppy drive. +
  • Use "D:\" (or something similar) to access your CD-ROM drive. +
  • Use "physical disk N" to access hard drives. +
  • Use "physical disk N" to access your CF card if that's an option.  If not, use the logical drive (e.g. "M:\"), but be aware that the card may appear to have a different size when formatted for CFFA vs. Windows.  With some card readers, the size shown for the card may be wildly inaccurate, especially on Win2K or earlier.
+

 

+

In Windows 9x/ME:

+
  • Use "floppy drive N" to access floppies.  CiderPress will actually hide "A:\" if the disk doesn't have a Windows filesystem, because "logical" access to such disks is very slow.  (It will otherwise show it, so you can identify your Windows disks.)  After overwriting a disk, Windows will continue to show the old volume label until you eject the disk. +
  • Select your CD-ROM drive by vendor name and model number. +
  • Select SCSI hard drives by vendor name and model number. +
  • Use the logical drive (e.g. "M:\") to access CF cards.  If the logical drive shows up in the list when you insert a Windows-formatted card but not with a ProDOS-formatted card, you have a brain-damaged CF card reader driver, and it's not going to work.
+

 

+

Access to physical devices other than floppy disks in Win2K/XP requires "administrator" privileges.

+

 

+

If you un-check the "read only" box, Win2K/XP will not allow you to open the volume a second time, e.g. you can't have a disk open in read-write mode and then open it again in the volume copier.

+

 

+

The "filename" for physical disks will show up as two digits, e.g. "81:\" for the second physical disk.  This is an artifact of the way the PC BIOS works.  CD-ROMs and hard drives under Win9x/ME will look like "ASPI:0:1:0\".

+

 

+

You cannot create or access files larger than 2GB under Win9x/ME.  This is an operating system limit, and cannot be circumvented.

+

 

+

CiderPress has a self-imposed 8GB volume limit (as a "reasonableness" test to keep it from running amok).  This should be large enough to handle CF cards and hard drives partitioned for use on an Apple II.

+

 

+

CiderPress does not detect media ejections or swapping.  Do not eject disks or CF cards while CiderPress has them open.

+

 

+

In some cases you may need to be patient!  Scanning the contents of a CD-ROM with 10,000 files spread across several 32MB ProDOS volumes can take a few minutes. + +

+ diff --git a/app/Help/html/t244.htm b/app/Help/html/t244.htm new file mode 100644 index 0000000..41cb28d --- /dev/null +++ b/app/Help/html/t244.htm @@ -0,0 +1,64 @@ + + + Appendix - About Removable Media (CF, floppy, CD-ROM) + + + + + + + + + + + + + +

About Removable Media (CF, floppy, CD-ROM, external HD)

+

 

+

The ability to move data between a PC and an Apple II on removable media can be very handy.  With a CFFA card installed in an Apple II, and a CF card reader on a PC, you can move entire hard drive volumes around easily.  Floppy disks are easier to insert and eject on the Apple II, but hold less.  In both cases you need suitable hardware on both the Apple II side and the PC side.

+

 

+

CiderPress does not detect media ejections or swapping.  Do not eject disks or CF cards while CiderPress has them open.

+

 

+

Floppy Disks

+

 

+

Formatting a 3.5" disk with ProDOS can be very useful if you have a way to read the disk on an Apple II or Macintosh.  Newer Macs, and Apple IIs equipped with appropriate hardware, can read and write PC-formatted 3.5" floppies.  An Apple II requires a SuperDrive (with controller card), PC Transporter, or Tulin "floptical" drive.  Without one of these, it's not possible to read PC disks.

+

 

+

Inserting a ProDOS disk into a Windows machine can cause some consternation for the OS.  For example, the capacity of a PC floppy disk cannot easily be determined.  There are BIOS calls to retrieve the type of drive, but not the type of media currently inserted.  Common practice is to examine sector counts stored in the floppy boot sector.  Since ProDOS and HFS floppies do not follow PC boot sector conventions, the size of a floppy disk must be determined by other means.  Specifically, accessing blocks to see which calls succeed and which fail.  A disk with bad blocks could be interpreted as smaller than it actually is.  Windows may actually refuse to do a "quick format" on a ProDOS formatted disk, because it's unable to tell how large it should be.

+

 

+

CiderPress has been tested with 720KB and 1.4MB 3.5" floppy disks.  It will not work with 800K or 1.6MB 3.5" floppies from an Apple II or Macintosh, because the drive in a PC is not capable of reading them.  For similar reasons, it cannot read 140KB 5.25" floppies created on an Apple II.  CiderPress has not been tested with 360KB or 1.2MB 5.25" floppy disks, because they're no longer used in the PC world, and they can't be read on an Apple II or Macintosh.

+

 

+

CiderPress does not "format" floppy disks or other volumes directly.  Instead, open the disk you want to format with the Volume Copier, and copy a ProDOS volume onto it.  If you don't have a ProDOS disk image of the appropriate size, create one with the Disk Image Creator first.

+

 

+

Compact Flash Cards

+

 

+

Richard Dreher's CFFA card for the Apple II created the ability to access inexpensive high-capacity compact flash card media as a hard drive.  Because the cards are relatively easy to install, and CF card readers are common on PCs (especially laptops), they make an ideal way to transport large quantities of information.

+

 

+

As with floppies, CF cards formatted for ProDOS or HFS are not handled well by Windows.  Disks can be accessed as "physical" or "logical" volumes.  "Physical" disks correspond to physically connected devices.  Block 0 holds a partition table for the rest of the disk.  ProDOS and HFS don't have a Windows-style partition table, so Windows can become very confused when a non-Windows CF card is plugged in.  "Logical" volumes, such as "C:", are created by the device driver.  For a disk device they are generated from the partition table, so a CF card may have one or more logical volumes that correspond to part or all of the physical storage.

+

 

+

Long story short: whether or not your CF card is viewable in Windows depends on what hardware and drivers you're using to access the card.  You may be able to access it as a physical disk, logical disk, both, or neither.  Sometimes under Win98 the ASPI driver will find it.  See "Opening a Volume" for additional information.

+

 

+

Assuming it's possible to access the CF card, figuring out what's on it can be tricky.  A CF card can be formatted with 4 partitions or 8 depending on the firmware setting on the CFFA card in the Apple II.  With a GS/OS driver, the 4-partition mode can actually hold 6 partitions.  If you are using a card larger than 128MB, CiderPress will have to make some educated guesses as to where your partitions are and what's in them.  For cards 1GB and smaller, it usually guesses right.  However, you can override its choice by enabling "Confirm disk image format" and selecting an alternate partitioning scheme when opening the volume.

+

 

+

One caution: if you format a disk for ProDOS, and then format it with your camera, you may find that it still appears to have some ProDOS files on it.  (CiderPress should identify it as an MS-DOS "FAT" filesystem, but if the camera uses a non-standard boot block it may not be detected correctly.)  Some files may appear to be damaged.  This is because the camera's format routine didn't zero out all of the blocks, so some of the ProDOS directory structure is still present.  Attempting to read or write files to the volume as if it were a ProDOS disk is not recommended.  The safe way to switch between Apple II and Windows formatting is to use the image-copy tool to overwrite the entire CF card.  Be aware that formatting with a camera can reduce the number of blocks available on the drive, which will make copying images onto it impossible: the image copier only works if the destination volume is at least as large as the source volume.

+

 

+

The speed at which CF cards are read or written depends primarly on your card reader.  USB2.0 readers will be faster than USB1.x, and Firewire, PCMCIA, or IDE interfaces will usually be faster than USB2.0.  Also, some cards have a higher speed rating than others.  Speeds of 200-400KB/sec are typical when copying from a USB1.x device, while writing to it may reach 700KB/sec.  Writing tends to be faster than reading because of block caching.

+

 

+

CiderPress assumes that the first partition on a CFFA card will be ProDOS or HFS.  If it's not, the image will not be detected as CFFA.

+

 

+

CD-ROM

+

 

+

CD-ROMs for Apple IIs and Macintoshes were created with a partition table identical to those found on Macintosh hard drives.  This allows a CD-ROM to have several ProDOS and HFS partitions.  Happily, the format is well defined, and there is no ambiguity in the size or location of each partition.  Occasionally the partition information is wrong, and an "Apple_Extra" partition refers to parts of the disc outside the recorded area.  In such cases CiderPress will trim its internal copy of the map to fit what's actually on the disc.

+

 

+

Access to files on CD-ROMs can be slow, especially on ProDOS volumes.  Unlike ISO-9660 discs, the file layout on Apple II CD-ROMs is not optimized for sequential accesses, and the drive head has to seek to a new position often.  If the speed becomes a problem, extract the CD-ROM into a ".ISO" image file and use that instead.

+

 

+

CiderPress does not have the ability to write to CD-Rs.

+

 

+

Hard Drives

+

 

+

Apple II or Macintosh hard drives can be connected, assuming you have the necessary hardware (e.g. SCSI interface).  Non-SCSI drives, such as the Applied Ingenuity InnerDrive or Vulcan drives, may not be formatted with the Macintosh partioning scheme and hence may be inaccessible.

+

 

+

Figuring out the size of a hard drive is a bit tricky under Windows, which uses different interfaces in different versions of the OS.  Some interfaces return different answers depending on what version you're running.  CiderPress currently scans the drive to determine its size.

+

+

+ diff --git a/app/Help/html/t245.htm b/app/Help/html/t245.htm new file mode 100644 index 0000000..9c209dd --- /dev/null +++ b/app/Help/html/t245.htm @@ -0,0 +1,44 @@ + + + Tool - Windows Volume Copier + + + + + + + + + + + +

Windows Volume Copier

+

 

+

This tool lets you copy all or part of a Windows volume to or from a file.  This can be used to make images of 3.5" floppy disks, copy disk images onto 3.5" disks, back up a CFFA card, or swap partitions in and out of a hard drive.  This can also operate on normal disk image files and block images extracted from devices.

+

 

+

WARNING: it's possible to destroy all data on your hard drive.  Make sure you're opening the right volume!  When in doubt, open the disk in "read only" mode.

+

 

+

There are two versions of the tool.  If you select "Volume copier (open volume)", you will be given a list of volumes to choose from.  Select the volume you want to work with.  If you check "read only", copying data into the volume will be disallowed.  If it's not checked, the volume will be opened with write access enabled.  In either case, under Windows 2000 or XP you will need to have administrator privileges to access volumes other than the floppy drive.

+

 

+

If you select "Volume copier (open file)", you can open any disk image of your choosing.  This can be a handy way to extract from or modify a multi-partition image file.

+

 

+

CiderPress will try to figure out what format the volume is in, automatically detecting any sub-volumes, such as CFFA partitions and hard drive partitions.  If the volume has a single filesystem on it, CiderPress will display the volume name, format, and volume size in blocks and megabytes.  If the volume has sub-volumes, you will see one entry for the entire volume (shown with a large green dot) and below it one entry for each sub-volume (with a smaller blue dot).

+

 

+

Click on the volume or sub-volume you want to manipulate.  To copy the volume to a file, click on "copy to file".  This will create a ProDOS ordered ("xxx.po") disk image that some Apple II emulators will be able to use directly.  To copy a file onto the volume, click on "copy from file".  This pulls blocks out of the disk image file and writes them to the volume or sub-volume.  You can open any disk image format that CiderPress supports.

+

 

+

When copying from a file to a volume, the file must be smaller than the volume.  You cannot, for example, copy a 32MB ProDOS volume onto a 1.4MB floppy.  If you copy a 1.4MB floppy image onto a 32MB CFFA partition, you will have a 1.4MB ProDOS partition and 30.6MB of wasted space.  If you copy a 140K DOS 3.3 image onto a 32MB CFFA partition, you will end up with a useless partition, because nothing will look for a DOS volume there.  For safety, CiderPress will not allow you to copy data onto a volume 8GB or larger.

+

 

+

When copying large volumes to disk, CiderPress starts by creating an empty disk image file.  For large (512MB+) volumes, this may take several seconds as Windows creates an empty file.

+

 

+

If you are overwriting the first volume of a CFFA image, make sure you're copying ProDOS or HFS in.  If CiderPress can't recognize the first partition, it may not be able to detect that the volume is a CFFA card, and will not display the CFFA sub-volumes.

+

 

+

The sizes used are for the entire partition.  If you formatted a 32MB ProDOS volume in a 1GB partition on a CFFA card, CiderPress will treat it as a 1GB volume, even though ProDOS is only on the first part of it.  Extracting that ProDOS volume may be awkward.

+

 

+

Hard drives with Macintosh-style partioning have explicit filesystem identification for each partition.  That is, each partition will be labeled as ProDOS, HFS, a device driver, or whatever is appropriate.  CiderPress does not currently have the ability to change these labels.  Copying the wrong thing onto a partition, such as putting a ProDOS volume into a partition meant for HFS, could have unexpected results.

+

 

+

Bear in mind that old hard drives are pretty slow by today's standards.  A 2GB drive purchased in the mid-1990s will deliver 4-5MB/sec on bulk reads, which means it'll take about 8 minutes to back up the entire drive.  These drives tended to have small caches and slow seeks though, so it can take 30 seconds to a minute for the contents of the disk to be loaded, because scanning the list of files requires lots of single-block reads.

+

 

+

If CiderPress encounters errors while reading, it will start doing single-block reads instead of bulk reads.  This can be *significantly* slower, on the order of 5-10x for some types of drives.  Errors encountered while writing halt copying immediately.

+

+

+ diff --git a/app/Help/html/t247.htm b/app/Help/html/t247.htm new file mode 100644 index 0000000..92a5879 --- /dev/null +++ b/app/Help/html/t247.htm @@ -0,0 +1,34 @@ + + + Disk Image Creator + + + + + + + + + +

Create Disk Image

+

 

+

This allows you to create blank, formatted disk images in a variety of formats.  The images created can be used with CiderPress or an Apple II emulator.

+

 

+

Start by selecting the filesystem.  CiderPress currently supports creation of images in DOS 3.2, DOS 3.3, ProDOS, and UCSD Pascal formats.  You can also choose to create a completely blank file with the specified size, though this is only useful in a few circumstances.

+

 

+

The choice of filesystem determines which size options are available to you.  DOS 3.2/3.3 formatting is only allowed on 140K floppies, Pascal can be written to 140K or 800K floppies, and ProDOS can be written to images from 16 blocks up to 32MB.  Blank images can be as small as 1 block or as large as 8GB.  Your filesystem selection also enables some filesystem-specific options:

+

 

+

DOS 3.2/3.3: choose the disk volume number (default 254) and whether or not a DOS image should be written.  If "Allocate DOS tracks" is checked, tracks 1 and 2 are marked "in use", and a bootable DOS image is written to the disk.  If it's not checked, tracks 1 and 2 are marked as free space, and the disk will not be bootable.

+

 

+

ProDOS: choose the volume name.  ProDOS volume names must start with a letter, contain only letters, numbers, and '.', and can be at most 15 characters long.  To make the disk bootable, you will need to copy the "PRODOS" file from another ProDOS 8 disk.

+

 

+

Pascal: choose the volume name.  Pascal volume names can only be 7 characters long, but may contain letters, numbers, and symbols other than "$=?,[#:".  To make the disk bootable, you will need "SYSTEM.APPLE" and "SYSTEM.PASCAL" from a Pascal system disk.

+

 

+

After you hit "OK", you will be prompted for the name of the file to save to.  For 140K floppy images you can select DOS order (".do", the default) or ProDOS order (".po").  For DOS 3.2, ".d13" must be used.  For other images only ProDOS ordering is available.  If you want the image to be in a different format, such as .SDK or .2MG, use the Disk Image Converter tool.

+

 

+

If you want to create a blank filesystem image on physical media (e.g. format a 1.4MB floppy disk for ProDOS), create an image of the appropriate size, open the floppy disk with the Volume Copier, then copy the image onto the disk with the "load from file" button.

+

 

+

Tip: if you want to create several images of the same kind, create one and then use Windows Explorer commands to make multiple copies of the file.

+

+

+ diff --git a/app/Help/html/t25.htm b/app/Help/html/t25.htm new file mode 100644 index 0000000..c0d294c --- /dev/null +++ b/app/Help/html/t25.htm @@ -0,0 +1,45 @@ + + + Using the File Viewer + + + + + + + + + + +

Using the File Viewer

+

 

+

With the file viewer you can examine files stored in an archive or disk image without having to extract them first.  Files may be converted from several different Apple II formats.

+

 

+

When the file viewer opens you will be shown the first file you selected from the file list.  If you selected multiple files, the "Prev" and "Next" buttons can be used to move between them.

+

 

+

The "data", "resource", and "comment" buttons on the left can be used to choose which part of the file you want to view.  If the file doesn't have the part in question, the button will be dimmed.  Disk images in NuFX archives are treated as data forks.

+

 

+

You can choose how you want the file to be formatted by choosing a formatter from the drop-down list.  You will always have the option of viewing data in raw form or as a hex dump.  If not disabled, a generic text converter that changes end-of-line characters and strips "high ASCII" will also be available.  Certain types of files will have additional options that can be chosen from the list.  The buttons labeled "best", "hex", and "raw" change the selection to the best formatter, the hex dump formatter, and the raw dump, respectively.

+

 

+

The "best" option, which is always the first in the list, is determined by examining the file.  Certain file viewer preferences, such as disabling reformatters or setting a preference for black & white hi-res images, will affect the conversion.  The other modes are still available and may be chosen from the list, but the viewer will default to your preference.

+

 

+

For text documents, the font can be changed with the "Font" button.  A monospace font like Courier or Courier New is recommended for Apple II files since most of them were created with a fixed-width font in mind.  The default is 10-point Courier New.  If you're viewing a IIgs word processing file, such as a Teach document, the file may be in multiple fonts and multiple sizes.  Using the "font" button will force the text to use a single font and size.

+

 

+

You can use the "Find" button to search for text.  The search starts at the currently selected text or, if none is selected, at the blinking cursor.

+

 

+

You can print text or graphics with the "Print" button.  The document will be sent to the printer using the fonts you see on screen.

+

 

+

If a format converter fails, perhaps because the file being converted has become corrupted, the "raw" output will be displayed instead.  If an error occurs, such as trying to view a file larger than the configured maximum limit, a message will be displayed on a yellow background.

+

 

+

All hex dumps, text, and pictures can be cut and pasted directly from the file viewer.  Printing "raw" output is generally not a good idea, because the output may contain "page feed" characters that leave all or part of a page blank.

+

 

+

You can also copy documents to other programs.  To select the entire document, click on the document to set the input focus, then hit Ctrl-A to select all and Ctrl-C to copy it to the clipboard.  Switch to another application (Windows WordPad and Microsoft Word are the most appropriate) and hit Ctrl-V to paste.

+

 

+

Bear in mind that not all applications support all formats.  Pasting text into Windows notepad, which doesn't support Rich Text Format, will cause highlighed BASIC listings and formatted AppleWorks documents to be converted to plain text.  Pasting graphics into Notepad doesn't work at all.

+

 

+

Click "Done" to close the window.

+

 

+

Tip: hit the Tab key to highlight the format selector, then use the up and down arrows to move between different conversion modes.

+

+

+ diff --git a/app/Help/html/t257.htm b/app/Help/html/t257.htm new file mode 100644 index 0000000..7192fb7 --- /dev/null +++ b/app/Help/html/t257.htm @@ -0,0 +1,23 @@ + + + Select Location + + + + + + + + +

Select Location

+

 

+

Select the disk or subdirectory where the files will be added.  If the current disk has sub-volumes (e.g. embedded DOS 3.3 volumes or CFFA partitions), they will be shown under the encapsulating disk volume.

+

 

+

Disks in formats that cannot be written are shown with a red 'X' through the disk icon.  This commonly appears in the root volume of a partitioned image.  For example, you can add files to CFFA partitions, but you can't add files to the CFFA entry because it only contains other partitions.  It can also appear for partitions that appear to be damaged or hold damaged files.

+

 

+

You can skip this step on ProDOS disks by selecting a directory before using "add files".  The files will be placed in the selected directory.

+

 

+

If you want to add or extract partitions, use the volume copier tool instead.

+

+

+ diff --git a/app/Help/html/t258.htm b/app/Help/html/t258.htm new file mode 100644 index 0000000..baede9d --- /dev/null +++ b/app/Help/html/t258.htm @@ -0,0 +1,57 @@ + + + Archive Info + + + + + + + + +

Archive Info

+

 

+

The Archive Info command in the "File" menu provides a way to view information about the currently open disk image or file archive.  The set of information shown depends on the kind of file currently open.

+

 

+

NuFX (ShrinkIt) Archive

+

 

+

Filename: the name of the file that is currently open.

+

Format: archives can be plain ShrinkIt archives (NuFX), wrapped in a Binary II wrapper (usually named .BXY), GS/ShrinkIt self-extracting (.SEA), or GS/ShrinkIt self-extracting in a Binary II wrapper (.BSE).

+

Records: the number of records in the archive.  Each file, whether forked or not, occupies one record.

+

Master Version: the master version number of the NuFX archive.  This can be useful when trying to determine if an archive is from a really old version of ShrinkIt.  The most current version is 2.

+

Created: the date and time when the archive was created, if available.

+

Modified: the date and time when the archive was last modified.

+

Junk Skipped: the number of bytes skipped over when scanning for the start of the archive.  NufxLib skips over MacBinary headers and the leftover HTTP junk that seems to show up in files on some FTP sites.  Most other NuFX applications, e.g. ShrinkIt, do not, so this can explain why an archive won't open on an Apple II.

+

 

+

Disk Image

+

 

+

Filename: the name of the file that is currently open.

+

Outer Format: the name of an external "wrapper", if any; usually gzip (.gz) or zip (.zip).

+

File Format: the overall format of the disk image file.  Common formats are 2IMG (.2MG) and unadorned (.PO, .DO, .DSK).

+

Physical Format: internal layout of the file.  Most files are "cooked" sectors, but some are in a nibble format.

+

 

+

The Sub-Volume box shows the name of the volume that the rest of the information applies to.  Most disks don't have sub-volumes, and the box will be greyed out.  UNIDOS 800K disks, Macintosh-style partitions, CFFA cards, and ProDOS disks with embedded DOS images will have entries here.  Selecting a different entry will change the information below.

+

 

+

Sector Ordering: sector layout within the image.  Most disks use DOS (.DO) or ProDOS (.PO) order.

+

Filesystem Format: the type of filesystem on the disk, e.g. DOS 3.3, ProDOS, Pascal.  For "hybrid" disks, such as DOS3.3/ProDOS mixed on a 5.25" disk, only the dominant filesystem will be shown.

+

Files+Directories: the number of files and directories on the disk.  For ProDOS the count includes the volume directory.

+

Storage Capacity: how many blocks or sectors the disk can hold.  In some cases, such as an 800K disk image copied to a 32MB CFFA partition, a second number will be shown indicating the maximum size of the disk image area.

+

Free Space: how much free space is on the disk.  For formats like CFFA, which just hold other disk images, this is meaningless.

+

Writable Format: says whether or not CiderPress is capable of adding and deleting files on disks with this format.  Currently this is "yes" for DOS 3.3, ProDOS, and UCSD Pascal.

+

Damaged: this indicates whether or not CiderPress believes the disk is damaged.  If it does, the disk will be marked read-only, and attempts to add or delete files will be blocked.

+

Notes: if CiderPress detects damage or other anomalies when scanning the disk, they wll be noted here.

+

 

+

More information about the different disk formats can be found here.

+

 

+

Binary II Archive

+

 

+

Filename: the name of the file that is currently open.

+

Records: the number of entries in the Binary II archive.

+

 

+

AppleLink Compression Utility Archive

+

 

+

Filename: the name of the file that is currently open.

+

Records: the number of entries in the ACU archive.

+

+

+ diff --git a/app/Help/html/t259.htm b/app/Help/html/t259.htm new file mode 100644 index 0000000..fff864c --- /dev/null +++ b/app/Help/html/t259.htm @@ -0,0 +1,33 @@ + + + Preferences - Disk Image + + + + + + + + + + +

Disk Image Preferences

+

 

+

You can access the Disk Image Preferences by selecting "Preferences..." from the "Edit" menu, and then clicking on the "Disk Images" tab.

+

 

+

General

+

 

+

If "confirm disk image format" is enabled, you will be shown the Disk Image Characteristics dialog whenever a disk image is opened.  This gives you an opportunity to see what format CiderPress believes the disk is in, and to override it.

+

 

+

The "default to read-only when opening volumes" setting determines whether the "read-only" box is checked in the Open Volume dialog.  This should normally be set as a safety feature, but if you find yourself writing to physical disks frequently, you can save yourself a click by disabling this option.

+

 

+

"Allow write access to physical disk 0" disabled a safety feature.  On most systems, physical disk 0 is your boot disk (i.e. C:\).  If you have multiple drives, this may not be the case.  By default, CiderPress prevents you from opening physical disk 0 for writing; if you set this checkbox, write access will be allowed.  It's best to leave this disabled unless you get a message that says, "Unable to open '80:\': for safety, write access to this volume is forbidden" while trying to open a disk that you are sure contains Apple II data.

+

 

+

ProDOS

+

 

+

When Apple released GS/OS, they added the ability to have lower-case letters and spaces in file and volume names.  This made file listings nicer to look at, but broke compatibility with versions of ProDOS 8 older than v1.8.  If "allow lower-case letters and spaces in filenames" is enabled, files added to ProDOS disks will use mixed-case filenames.  If disabled, all filenames are stored in upper case.  Uncheck this item for best compatibility.

+

 

+

The "use 'sparse' allocation for empty blocks" option enables a handy space-saving feature.  Disk blocks filled entirely with zeroes aren't actually written to disk.  Every version of ProDOS supports this feature, so there's no real reason to disable it, but it's there if you want to experiment.

+

+

+ diff --git a/app/Help/html/t262.htm b/app/Help/html/t262.htm new file mode 100644 index 0000000..9fd396b --- /dev/null +++ b/app/Help/html/t262.htm @@ -0,0 +1,41 @@ + + + Appendix - Administrator Privileges + + + + + + + + + + +

Administrator Privileges

+

 

+

Windows 2000, Windows XP, and presumably any subsequent version of Windows requires "administrator" privileges to access logical and physical devices directly.  This is required because the direct block access bypasses normal file access control mechanisms.  You either need to log in as an administrator to use the device-access features of CiderPress, or upgrade the privilege level of your non-administrator account.

+

 

+

Most Win2K/XP users are set up with administrator access, but some may not be.  CiderPress will tell you if devices are failing to open because of access permissions.  To gain administrator access, you have to start by having administrator access to the machine.  Yes, this is a bit of a chicken and egg problem, but there's no way around it.  If you don't know how to log in as administrator, ask the person who set up your computer.

+

 

+

Windows 2000:

+
  • From the "Start" menu, select "Settings" and then "Control Panels". +
  • Open the "Users and Passwords" control panel.  If you're not allowed to do this, you're not an administrator, and cannot proceed further. +
  • You should see a list of users on the machine.  Find the username you log in as, and make sure that "Administrator" shows up in the list of groups. +
  • If you're not in the "administrator" group, click on the "Advanced" tab, and click the "Advanced" button to bring up the "Local Users and Groups" dialog. +
  • Click on the "Users" folder on the left side, then click on your user name on the right side.  From the "Action" menu select "Properties". +
  • Click the "Member Of" tab.  Click the "Add" button to open the "Select Groups" dialog. +
  • Click on "Administrators".  Click "Add".  Click "OK" in this dialog and the previous one. +
  • Close the dialog boxes.  You should be all set.
+

 

+

Windows XP:

+
  • From the "Start" menu, select "Control Panel". +
  • Click on "User Accounts".  If you only see the current account, and it says "limited user", you're not an administator and cannot proceed further. +
  • Click on the account you want to change. +
  • Click on "Change my account type". +
  • Click the "Computer Administrator" radio button.  Click "change account type". +
  • Close the dialog boxes.  You should be all set.
+

 

+

Win9x/ME does not have the concept of user privilege levels, so none of the above is necessary.

+

+

+ diff --git a/app/Help/html/t263.htm b/app/Help/html/t263.htm new file mode 100644 index 0000000..ce019a2 --- /dev/null +++ b/app/Help/html/t263.htm @@ -0,0 +1,20 @@ + + + Creating Subdirectories + + + + + + + + + +

Creating Subdirectories

+

 

+

To create a new subdirectory on a ProDOS disk, select the subdirectory in which it will reside, then use the File->Create Subdirectory command.

+

 

+

This feature is disabled for ShrinkIt archives, because they don't store subdirectories explicitly.  You can, however, rename files to make them appear as if they were in a subdirectory.

+

+

+ diff --git a/app/Help/html/t268.htm b/app/Help/html/t268.htm new file mode 100644 index 0000000..d46d0d6 --- /dev/null +++ b/app/Help/html/t268.htm @@ -0,0 +1,34 @@ + + + Renaming a Volume + + + + + + + + +

Renaming a Volume

+

 

+

You can change the volume name of a ProDOS or Pascal disk image, or the volume number of a DOS 3.3 disk image, by selecting "Rename volume" from the Actions menu.

+

 

+

You will be presented with a tree of volumes to rename.  In most cases there will only be one possible, but if you're working with a disk image that has embedded DOS sub-volumes, or a partitioned image like a CFFA card, you will see multiple entries.  Click on the one you want to rename.

+

 

+

In the box at the bottom, enter the new volume name or number.  When you click "OK", CiderPress will update the volume name.

+

 

+

Volume names for ProDOS and Pascal are very similar to file names.  ProDOS volume names aren't allowed to have a space in them, even if "allow lower case" is enabled, but are otherwise identical.  Pascal volume names use the same set of characters as filenames, but are limited to 7 characters.

+

 

+

The volume "name" for a DOS 3.3 disk is its volume number, which can range from 1 to 254.  (Initializing a disk under DOS 3.3 with volume number 0 yields volume number 254.  Attempting to use volume number 255 results in a "range error".)

+

 

+

The DOS volume number is actually stored in up to three places:

+

1. If the file has a 2MG header, the volume number may be specified there.

+

2. If the file is a nibble image, a copy of the volume number is stored in the address header of every sector on the disk.

+

3. A copy is stored in the disk Volume Table of Contents (VTOC).

+

 

+

The "rename volume" function only updates #3.  The DOS "CATALOG" command uses #2, which means that changing the volume number with CiderPress may not have an impact on what you see in an emulator.  For non-nibble images, most emulators just generate the default volume number (254) into each sector.  CiderPress itself prefers #2 over #3, so changing the volume number on a nibble image may not have any noticeable impact within CiderPress itself.

+

 

+

Some emulators will obey the 2MG volume number (#1), so you may want to change it in both places.  You can set the value in the 2MG header with the 2MG Properties Editor.  All things considered, it's probably best to just leave it set to 254. + +

+ diff --git a/app/Help/html/t272.htm b/app/Help/html/t272.htm new file mode 100644 index 0000000..858678e --- /dev/null +++ b/app/Help/html/t272.htm @@ -0,0 +1,46 @@ + + + Tool - EOL Scanner + + + + + + + + + +

EOL Scanner

+

 

+

EOL is an acronym for "end of line".  Each line of a text file ends with an end-of-line marker.  The Apple II and Macintosh use a carriage return, UNIX systems use a linefeed, and Windows uses a carriage return followed by a linefeed.  These are usually abbreviated "CR", "LF", and "CRLF".

+

 

+

When text files are moved from one system to another, the end-of-line markers on text files need to be converted.  Unfortunately, overzealous converters will sometimes convert a non-text file, resulting in corrupted data.  The only way to tell if a file has been corrupted is to count up the occurrences of CR, LF, and CRLF, and see if they make sense.

+

 

+

The EOL Scanner tool does exactly that.  The number of times CR, LF, and CRLF appear are counted and displayed.  This information, combined with some knowledge of the format of the file, will tell you if a file has been corrupted by an EOL conversion.  The tool also counts up "high-ASCII" characters to test for conversions to and from DOS text files.

+

 

+

Take for example a healthy 140K disk image.  The scanner reports the following:

+

143360 characters

+

43582 high-ASCII characters

+

381 carriage returns

+

863 line feeds

+

3 CRLFs

+

 

+

A typical disk image will have a smattering of CR (hex value 0x0d) and LF (hex value 0x0a).  Occasionally they will appear near each other and form a CRLF.  A disk image with lots of text files will have many more CRs than LFs, while a disk with programs on it could have any amount of either.  (To be accurate, a DOS 3.3 disk with text files won't show a large number of CRs, because DOS 3.3 uses "high ASCII" 0x8d instead of 0x0d.)  Note that an occurrence of "CRLF" only updates the CRLF counter, not the CR and LF counters.

+

 

+

Now lets look at a disk image that doesn't seem to work.  The scanner comes back with:

+

143360 characters

+

56085 high-ASCII characters

+

530 carriage returns

+

0 line feeds

+

0 CRLFs

+

 

+

The disk image has absolutely no line feeds whatsoever.  A blank formatted ProDOS disk will have 3 or 4 carriage returns and line feeds, a blank unbootable DOS disk 1 of each.  A non-empty disk should never have zero CRs or LFs.  This disk was corrupted by a converter that changed all of the linefeeds to carriage returns.

+

 

+

Similar results hold for compressed data archives.  Data that is well compressed will show a fairly even distribution of all possible characters, so a total absence of CR or LF is a big red flag.  Of course, if the archive is only a few hundred bytes long, it's quite possible that no CRs or LFs will be found.

+

 

+

Disk images in nibble format (.nib) have no CRs or LFs in them.  This is normal.  The entire file should be "high ASCII" characters.

+

 

+

Besides its use as a diagnostic tool, the EOL Scanner can also tell you what format a text file is in, and also how many lines it has. + +

+ diff --git a/app/Help/html/t273.htm b/app/Help/html/t273.htm new file mode 100644 index 0000000..dc275ff --- /dev/null +++ b/app/Help/html/t273.htm @@ -0,0 +1,39 @@ + + + Copy and Paste + + + + + + + + + +

Copy and Paste

+

 

+

CiderPress can use the Windows clipboard to copy Apple II files around.  You can copy files from any disk image or file archive that CiderPress can open, and paste them into NuFX (ShrinkIt) archives and writeable disk images (currently DOS, ProDOS, and Pascal are supported).

+

 

+

To copy files, open the archive, select the files you want from the file list, and use "Edit->Copy".  (Or, right click and choose "Copy".  Or hit Ctrl-C.)  The files will be extracted from the archive or disk image and placed on the Windows clipboard.

+

 

+

Next, open the archive where you want the files to go.  If it's a ProDOS disk image, select the directory where you want the files to appear.  Select "Edit->Paste".  (Or right click and choose "Paste".  Or hit Ctrl-V.)  The files will be added.  You can also have two copies of CiderPress open, and copy from one and paste to the other.

+

 

+

If you're pasting to a disk image with sub-volumes, or pasting to a ProDOS disk with subdirectories and didn't select a subdirectory, you will be asked to choose where the files will go.  This is similar to the way "add files" works -- if the destination isn't obvious, CiderPress will ask.

+

 

+

Copying and and pasting is meant to be simple, but there's a lot of complexity underneath it.  Here are some things you should be aware of:

+

 

+
  • Files copied from ProDOS volumes are extracted with their full paths, e.g. "subdir1:subdir2:foo.txt".  You may choose to strip the subdirectories off with a global preference.  This determines whether pasting "subdir1:subdir2:foo.txt" into "subdir3" yields "subdir3:foo.txt" or "subdir3:subdir1:subdir2:foo.txt".  Files pasted to DOS or Pascal disks have their paths stripped automatically. +
  • Unlike the "add files" approach, which prompts you when new filenames clash with existing files, "paste" automatically handles conflicting files for you.  If you paste a file called "FOO" to the same disk image twice, the second one will be called "FOO1".  If you paste files with the same name multiple times to a NuFX archive, you will simply have multiple entries called "FOO", because NuFX allows duplicate filenames. +
  • Files converted between different operating systems will have their file types converted.  The mapping of DOS and Pascal types to ProDOS types is shown here.  Files pasted to DOS disks that don't have a direct file type conversion will become 'B' if they are less than 64K, or 'S' if they are more.  ProDOS "SRC" files become 'T'.  Most files converted to Pascal disks become "PDA" (generic data).  CiderPress does not currently convert in and out of Pascal Text (PTX) format. +
  • DOS text files use "high ASCII" format.  Text files pasted to and from DOS volumes will be converted appropriately.  (Text files copied from one DOS volume to another are left alone, not converted twice.)  Because all Apple II formats use carriage returns to indicate the ends of lines, no end-of-line conversion is done when pasting files. +
  • The comments stored in NuFX archives are not copied with the files.  (This may be fixed in a future release.) +
  • Copying and pasting files from Windows Explorer is not currently supported.  You can, however, paste into an application such as Notepad to get a tab-delimited copy of the file list (pathname, file type, aux type, etc).  If you paste this into a spreadsheet, such as Microsoft Excel, each field gets its own row and column. +
  • Selecting a directory on a ProDOS disk copies the directory, not the directory and all of its contents.  Pasting the directory into a ProDOS disk image creates an empty directory.  If a directory with that name already exists, nothing happens.  NuFX archives do not store directories, so pasting a directory into a NuFX archive has no effect.  You cannot copy the volume directory of a ProDOS disk, though there is no harm in trying. +
  • Resource forks are not pasted to DOS or Pascal disks.  If you paste a forked file, only the data fork is added.  (All forked files on ProDOS disks have a data fork, even if it's just an empty one, but forked files in NuFX archives may have just the resource fork.  Pasting a forked file to a DOS disk may or may not actually create a file.) +
  • Some DOS games were stored in 'B' files with a short "loader" segment.  The "loader" would start immediately and load the rest of the game itself.  CiderPress obeys the shorter length value, and as a result will not copy the entire file (as evidenced by the pasted file being significantly smaller than the original). +
  • Files are copied and pasted in the order in which they appear in the file list.  You can alphabetize your disks by sorting the list by pathname and copying & pasting the files to a new disk. +
  • Damaged files are not copied to the clipboard. +
  • In Win98, copying 16MB or more to the clipboard causes the system to lock up.  CiderPress therefore limits you to copying less than 16MB of data under Win98/ME.  Because of overhead added to the clipboard data, it's not possible to copy 16MB files (the largest possible under ProDOS) to the clipboard.
+

+

+ diff --git a/app/Help/html/t277.htm b/app/Help/html/t277.htm new file mode 100644 index 0000000..5da6bf1 --- /dev/null +++ b/app/Help/html/t277.htm @@ -0,0 +1,32 @@ + + + Tool - 2MG Properties Editor + + + + + + + + + + + +

2MG Properties Editor

+

 

+

This tool allows you to see and update some of the attributes embedded in a 2MG disk image file.  Select the disk image you want to open (it will usually have a ".2mg" or ".2img" suffix), and click "Open".

+

 

+

Some fields from the file header are shown at the top.  "Creator" is a 4-letter code for the software that created the file (CiderPress uses 'CdrP').  "Version" is the 2MG file version number, usually 0 or 1.  "Image format" tells you whether the image uses DOS-ordered sectors, ProDOS-ordered sectors, or raw nibbles.  "Blocks" is the number of 512-byte blocks in the file.

+

 

+

"Locked" is a software flag used to indicate whether or not the virtual disk has been write-protected.  Some emulators obey the flag, some don't.

+

 

+

"Specify disk volume number" indicates whether or not a volume number has been explicitly defined.  This is potentially of use for 140K 5.25" disk images.  5.25." floppies have a volume number embedded in the address field of every sector on the disk, but this value is lost when disks are converted to sector images (you have to use nibble images to retain it).  Some emulators will use the volume number from the 2MG header to determine the sector-address-field volume number.  This is only useful for a handful of mildly copy-protected disks that actually care about the volume number.

+

 

+

The "Volume number" field is enabled if the previous checkbox is set.  You may enter a number from 1 to 254.

+

 

+

The "Comment" box holds the comment for this file.  It can be any length you want.

+

 

+

If CiderPress is unable to open the file for writing, perhaps because it's marked read-only in Windows (a common occurrence for files copied off of a CD-ROM), the file will be opened read-only.  You will be able to see the contents of the fields but not edit them. + +

+ diff --git a/app/Help/html/t28.htm b/app/Help/html/t28.htm new file mode 100644 index 0000000..674c22c --- /dev/null +++ b/app/Help/html/t28.htm @@ -0,0 +1,30 @@ + + + Preferences - Files + + + + + + + + + +

File Preferences

+

 

+

Temp Folder

+

 

+

The folder for temporary files is set by default to the system temporary folder.  You may set this anywhere you wish.

+

 

+

The folder is used when you double-click on a ShrinkIt archive, Binary II archive, or archived disk image in the file list.  The file in question is copied into the temp folder and passed as an argument to a new instance of CiderPress.

+

 

+

External File Viewer Extensions

+

 

+

In some cases you may want to launch an external viewer to handle certain types of files stored in ShrinkIt archives or disk images.  For example, CiderPress does not have a built-in GIF or JPEG viewer.  If you put "gif; jpg; jpeg" in this field, then any files that end with those extensions will be opened using the default viewer (the program that gets run if you double-click on the file in Windows).

+

 

+

The file extensions are separated by semicolons, and should not include a leading dot ('.').  You will need to configure the default "open" handler in Windows for the specified file extensions yourself.  This can usually be done by opening a folder from My Computer, selecting "Folder Options" from the "Tools" menu, clicking on the "File Types" tab, and then editing the entry for the file type in question.

+

 

+

When you double-click a file with a matching extension, it is extracted to a temporary file and handed to the external viewer.  When you exit CiderPress, all of the temporary files created in this manner are deleted.  If an external viewer still has the file open, it may not be possible for CiderPress to remove it.  The file will eventually be removed by the Windows disk cleanup feature.

+

+

+ diff --git a/app/Help/html/t284.htm b/app/Help/html/t284.htm new file mode 100644 index 0000000..5364184 --- /dev/null +++ b/app/Help/html/t284.htm @@ -0,0 +1,35 @@ + + + CiderPress Help + + + + + + + + +

CiderPress Help

+

 

+

If you're reading this much, you know how to access the "help" system.  In case you got here by accident: select "Contents..." from the "Help" menu, or hit F1 while the menus are active.  Many of the interactive dialogs also have "Help" buttons that will take you directly to a relevant page.

+

 

+

Most dialog windows have a little question mark ('?') in the upper right-hand corner.  If you click on that, then click on a button or checkbox in the same window, you will get a short description of what that button does.

+

 

+

A Frequently Asked Questions list and a CiderPress tutorial are available from http://a2ciderpress.com/.

+

 

+

 

+

The "About..." item on the Help menu brings up the CiderPress "About Box".  This shows the version you're using, what versions of DLLs were loaded, and to whom your copy is registered.  If the product has not been registered, it shows how many days are left in the 30-day evaluation period.

+

 

+

"DLL" is an acronym for Dynamic Loadable Library.  That's a fancy way of saying that it's a part of the program that is stored in a separate file, which means it can be shared among multiple copies of the same program or multiple different programs.  The DLLs used by CiderPress are:

+

 

+
  • DiskImg.  All of the code for accessing disk images is here.  This is an integral part of CiderPress, and is shared by the CiderPress application and MDC (Multi-Disk Catalog). +
  • NufxLib.  All of the code for accessing NuFX (ShrinkIt) archives is here.  This is an open-source library developed by the author of CiderPress.  It's also used by the NuLib2 command-line utility. +
  • zlib.  Free software from the authors of gzip.  This provides "deflate" compression, and is used by hundreds of different applications. +
  • wnaspi32, a/k/a "the ASPI layer".  Unlike the previous DLLs, this one is only loaded when necessary.  For CiderPress, it's only necessary under Win98/ME, so Win2K/XP users won't ever see this loaded.
+

 

+

The first three DLLs are distributed with CiderPress, and are updated whenever you download a new version of CiderPress.  The ASPI DLL is part of the operating system, and may be replaced when you install CD recording software.  (If you want to use a specific version of wnaspi32.dll, copy it into the CiderPress installation directory, usually C:\Program Files\faddenSoft\CiderPress\.)

+

 

+

Click on "Credits" to bring up some information about the development of CiderPress.  If your copy has not been registered, click on "Enter registration code" to enter the code you received from faddenSoft after buying the product.

+

+

+ diff --git a/app/Help/html/t29.htm b/app/Help/html/t29.htm new file mode 100644 index 0000000..e6ca1fc --- /dev/null +++ b/app/Help/html/t29.htm @@ -0,0 +1,22 @@ + + + Preferences - Compression + + + + + + + + + +

Compression Preferences

+

 

+

You can access the Compression Preferences by selecting "Preferences..." from the "Edit" menu, and then clicking on the "Compression" tab.

+

 

+

This screen lets you choose the default compression method.  This will be used for all files added to an archive, and will be the default choice when you ask CiderPress to re-compress files.  It's also used by the disk image conversion tools.

+

 

+

The compression algorithms are described in detail here.

+

+

+ diff --git a/app/Help/html/t38.htm b/app/Help/html/t38.htm new file mode 100644 index 0000000..37aac45 --- /dev/null +++ b/app/Help/html/t38.htm @@ -0,0 +1,24 @@ + + + Choose Folder + + + + + + + + + +

Choose Folder

+

 

+

This allows you to choose a folder on a local disk or across a network.  Click on the folder you want in the "tree" display, then click "Select".  Click on '+' signs to expand branches of the tree, '-' signs to collapse branches.

+

 

+

The full name of the folder that is currently selected is shown in the grey box underneath the tree.  Some folders, such as "My Computer", are special and do not have a pathname.  When these are selected in the tree, the "Select" button will be dimmed.

+

 

+

If you know the full pathname of the folder you want, you can type it in where it says "type the folder name" and then click on "Expand Tree".  The folder you entered will be selected in the tree.

+

 

+

If you click on the button next to the grey box (looks like a folder with a star in the upper right corner), CiderPress brings up the "New Folder" dialog.  This allows you to create a new folder inside the currently-selected folder.

+

+

+ diff --git a/app/Help/html/t39.htm b/app/Help/html/t39.htm new file mode 100644 index 0000000..7c88f8f --- /dev/null +++ b/app/Help/html/t39.htm @@ -0,0 +1,79 @@ + + + Extracting Files + + + + + + + + + + +

Extracting Files

+

 

+

If you only want to extract a few files, select them from the file list before clicking on "Extract...".  Selected subdirectories are ignored; only plain files are examined.

+

 

+

The extraction options dialog presents a large set of choices.  If you find the range of options bewildering, you may want to walk through the tutorial on the faddenSoft web site.  The Quick Configuration buttons, described later, can simplify common tasks.

+

 

+

Files to Extract

+

 

+

You may choose to extract the files selected in the file list, or all of the files in the archive or disk image.  If no files have been selected, "all files" will be the only option available.

+

 

+

Parts to Extract

+

 

+

You can further refine your selection by choosing to extract only certain kinds of entries.  You will almost always want to leave "data forks" and "disk images" enabled, unless you have an archive that is a mixture of the two.  "Disk images" refers to ShrinkIt-archived disk images (the file type is listed as "Disk"), not disk images stored as files.

+

 

+

If you just want to view the contents of the files under Windows, there's usually not much value in extracting the resource forks.

+

 

+

Attempting to extract a ProDOS subdirectory file (type "DIR") will not work.  You can examine them as raw data in the file viewer, but extracting them as raw data doesn't make much sense.  Instead, folders are automatically created as they are needed.

+

 

+

Format Conversion

+

 

+

Two options are available.  If you select "Convert to non-Apple II formats", then files will be converted in the same way they would when viewed with the file viewer.  For example, BASIC programs will be converted to TXT or RTF files, and graphic files are extracted as Windows bitmaps (BMP).  The individual converters can be turned on and off from the file viewer preferences page.  Files without specific conversions are treated as text or binary data according to the rules specified in the "text conversion" options (described below).

+

 

+

The "Extract disks as .2MG" selects whether disk images in NuFX archives are extracted to ProDOS-order ".PO" files or Universal Disk Format 2IMG files.  The latter is generally preferred for use with Apple II emulators because the format contains some useful information about the disk image.

+

 

+

Filenames

+

 

+

There are a couple of ways to tweak the filenames.  Selecting "Add file attribute preservation" will extend the filename with an attribute preservation sequence, and will replace any characters not legal in Windows with "%xx" codes.  This can be used to restore the file type, aux type, original filename, and whether the file holds a data fork, resource fork, or disk image.  More detail can be found here.  This setting is useful when you plan to add the files back into an archive.

+

 

+

The "Add type extension" option adds a three-letter extension to files that lack one.  For example, any file of type TXT will be given a ".TXT" extension so that you can open the file with Notepad by double-clicking on it.

+

 

+

The filename alterations that affect the list view, such as converting filenames to lower case or replacing spaces with underscores, are also taken into account here.  These are configured in the General Preferences screen.

+

 

+

Text Conversion

+

 

+

Text files on the Apple II have carriage returns (CR, ASCII code 13) at the end of each line.  UNIX and its derivatives use linefeeds (LF, ASCII code 10), and Windows prefers a carriage return followed by a linefeed (CRLF).  CiderPress can convert these "end-of-line markers" to CRLF so that Windows applications can read the files.

+

 

+

Not all files of type TXT are text files, and not all text files have type TXT, so CiderPress can try to sort things out for you.  There are four settings for end-of-line conversion: off, by file type, automatic scan, and on.  When it's set to "off", nothing is converted; when it's "on", everything is converted.  If you select "Convert text files by file type", only files of type "TXT" or "SRC" are converted.  In the "Auto-detect & convert files with text" mode, CiderPress will scan each file and convert the ones that look like text files, regardless of file type.

+

 

+

Apple DOS 3.3 complicates matters somewhat with "high ASCII" text files.  These look garbled unless the high bit of every byte is stripped.  However, stripping every text file would cause Apple IIgs documents with "smart quotes" and accented characters to appear damaged.  CiderPress only strips the high bits if the end-of-line converter is also enabled, and does so only on DOS 3.3 text files or on text files that are entirely composed of characters with the high bit set.  (The "strip high ASCII text files" option is dimmed when "don't convert text files" is selected.)

+

 

+

Archived disk images (e.g. "Disk" entries in a ShrinkIt Archive) never undergo text conversion, even when "Convert ALL files" is selected.  Neither do resource forks.

+

 

+

Miscellaneous

+

 

+

Two options that you may find useful.  These are not affected by the Quick Configuration buttons.

+

 

+

"Strip folder names" reduces the pathnames shown in the list to just their filenames.  Everything you extract will end up in the same folder.

+

 

+

If you select "Overwrite existing files", you will not be asked to confirm overwriting of files with the same name as files being extracted.

+

 

+

Quick Configuration Buttons

+

 

+

There are two large buttons at the bottom of the dialog that allow you to choose from the two most common configurations.  Pressing the buttons just changes the state of the controls in the dialog.  There are no hidden options or side-effects.

+

 

+

"Configure to preserve Apple II formats" is useful when you want to extract files from one archive and add them to another.  Resource forks are extracted, file attribute preservation is enabled, and format converters (including text conversion) are disabled.  These files will most likely not be readily usable under Windows, so file extensions are not added.

+

 

+

Click on "Configure for easy access in Windows" when you want to extract files for viewing under Windows.  File viewer and text converters are enabled, and file extensions are added where appropriate.  Disks are extracted in 2MG format.

+

 

+

Other Notes

+

 

+

Extracting a file that already exists brings up a small dialog that lets you choose whether or not to overwrite the file.  You can choose to overwrite it, skip it, overwrite it and all other conflicting files, skip it and all other conflicting files, rename the file being extracted, or cancel the whole thing.

+

 

+

"Damaged" files will not be extracted.

+

+

+ diff --git a/app/Help/html/t41.htm b/app/Help/html/t41.htm new file mode 100644 index 0000000..70de36f --- /dev/null +++ b/app/Help/html/t41.htm @@ -0,0 +1,70 @@ + + + Add Files Dialog + + + + + + + + + +

Add Files

+

 

+

Use this feature to add files to a disk image or ShrinkIt archive.  This dialog is similar in many ways to the standard Windows "open file(s)" dialog, but it has been customized to allow you to select folders as well as files.

+

 

+

Select the files and folders you want to add, then click on "Accept".  You can click on a file and then shift-click on another to select a range of files.  Use control-click to select or unselect a single file in a group.  Double-clicking a file immediately selects that file and starts the "add files" process, while double-clicking a folder simply opens the folder.

+

 

+

(The differences from the standard Windows "open files" behavior may occasionally cause confusion.  For the most part you shouldn't notice anything unusual.  Just remember that clicking on "Accept" will add everything selected, including folders.)

+

 

+

CiderPress tries to ensure that all files you select are added without conflicting with each other.  For example, if you add "ReallyLongFilenameA" and "ReallyLongFilenameB" to a ProDOS disk, it will add them as "ReallyLongFilen" and "ReallyLongFile1".  CiderPress will try to preserve filename extensions, so "ReallyLongFileName.c" becomes "ReallyLongFil.c".

+

 

+

The dialog has a few options you can change, described below.

+

 

+

File attribute preservation

+

 

+

Use this to decide whether CiderPress will accept or ignore file attribute preservation sequences in filenames.  If a file was extracted with tags (strings that look like "#062000"), they will be used to determine the file type and fork of the file being added.  Also, any characters that were invalid in Windows filenames and had to be changed to "%xx" sequences will be converted back.

+

 

+

If the option is set to "Ignore file attribute preservation tags", CiderPress will act as if it has never heard of the things.  Files will be added as type NON, and the "#062000" and "%xx" stuff will be added exactly as it appears on disk.  You should only use this when adding files that have '#' or '%' characters that are confusing CiderPress.

+

 

+

If the option is set to "Use file attribute preservation tags", CiderPress will use them whenever it finds them.  If it doesn't find them, the file will be added with type NON.  This is the default setting.

+

 

+

The "Use tags and guess type from extension" goes a little farther, and tries to set the ProDOS file type based on the Windows extension.  For example, ".txt" files will be added with type TXT, and ".shk" files will become $e0 with auxtype $8002.  This is very useful when adding files to DOS 3.3 disks, because it ensures that ".txt" files get file type 'T'.  Without this, ".txt" files will be added as 'B'.  Use this option if you are adding files that weren't generated on an Apple II, like Windows text files or graphics.

+

 

+

Text conversion

+

 

+

This option allows you to convert text files from Windows text conventions (carriage return followed by linefeed at the end of each line) to Apple II conventions (carriage return at the end of each line).  Due to limitations in the NufxLib library -- as well as philosophical concerns about altering archived files -- the feature is disabled when adding files to ShrinkIt archives.  It's enabled for disk images only.

+

 

+

You have four choices.  The most basic are "Don't convert text files", which adds every file exactly as it is, and "Convert ALL files", which converts all EOL markers found in every file.  The "convert all" option is generally not recommended, because it will try to convert non-text files, potentially rendering them unusable.

+

 

+

The "Convert text files by file type" option will convert anything added as "TXT or "SRC", and leave everything else alone.  The file type is determined based on the file attribute preservation setting (discussed above).  If CiderPress is configured to ignore attribute preservation tags, files will be added with type "NON", which does not undergo a text conversion with this setting.

+

 

+

When "Auto-detect & convert files with text" is selected, CiderPress scans the file to see if it appears to be text.  The file type is ignored.  This can be helpful, because it'll convert Windows files with names like "README" or old documents called "file.doc".  (It was common practice to name text files ".doc" until Microsoft Word claimed that extension.)

+

 

+

If CiderPress gets the auto-detection wrong, delete the files, and re-add the files that didn't work, setting the conversion to be always off or always on.  (Tip: if you delete the bad ones, you can re-add the entire set, and when asked if you want to overwrite an existing file, say "no to all".  That way you don't have to hand-select just the files to re-add.)

+

 

+

There is a small performance boost when text conversion is turned off.  If you're adding files that previously came out of an Apple II disk image, and no text conversion was performed during the extraction, turn text conversion off when adding files.  Conversely, if you're adding text files or source code that you've been editing under Windows, set it to "by type" or "auto".

+

 

+

Resource forks are never converted, regardless of their contents and the current settings.  Any file added to a DOS disk that is identified as text will also be converted to "high ASCII".

+

 

+

Miscellaneous

+

 

+

If "Include subfolders" is checked, then CiderPress will descend into any folders you have selected, adding files found in them and descending into their sub-folders.  If it's not checked, only files in the current directory will be added.  You will usually want to have this checked.

+

 

+

If you decide you don't want folder names, check the "Strip folder names" box.  This removes the folder names, effectively putting all files into the same folder in the archive.  This option is enabled automatically when adding files to DOS 3.3 and Pascal disks, which don't have folders.

+

 

+

The "Overwrite existing files" setting will cause any entries with the same name (case-insensitive) as a file being added to be overwritten by the newly-added file.  If this box is not checked, you will be presented with the option of overwriting the existing file, skipping the add of the new file, or renaming the new file.  (The option to rename the file being added is not available for ShrinkIt archives, because NufxLib doesn't support it.)

+

 

+

Storage prefix

+

 

+

This option is only available when adding to a ShrinkIt archive.  Anything you put here will be prepended to the filename stored in the archive.  The reasons for doing this may not be immediately obvious.

+

 

+

Suppose you want to add a file called "foo" to an archive.  If you move to the folder with "foo" in it, select it, and click on "Accept", it will be added to the archive as "foo".  This is fine, unless you want it to appear in the same sub-folder in the archive as other files.  Perhaps you have a file called "bar" stored as "dir1:subdir2:bar", and you want "foo" and "bar" to be extracted to the same place.

+

 

+

You could create a folder called "dir1" under Windows, and then create another folder called "subdir2" in that, and then put "foo" in that folder, and finally have CiderPress do an Add Files on "dir1".  If you put "dir1:subdir2" into the Storage Prefix box, and then just add "foo", you will get exactly the same result -- files added as "dir1:subdir2:foo" -- with significantly less effort.

+

 

+

(You could, in this case, just add "foo" and then use the Rename Entry feature to change the pathname, but that becomes tedious when a large set of files is involved.)

+

+

+ diff --git a/app/Help/html/t42.htm b/app/Help/html/t42.htm new file mode 100644 index 0000000..3cc8245 --- /dev/null +++ b/app/Help/html/t42.htm @@ -0,0 +1,44 @@ + + + Rename Entry + + + + + + + + + +

Rename Entry

+

 

+

This feature is disabled when an archive or disk image is opened in read-only mode.

+

 

+

Select one or more files to rename, then activate the "Rename..." command.  A dialog opens for the first file.

+

 

+

The grey edit field on the top is the current name of the file.  The edit field on the bottom is the name to change the file to; it defaults to the current name of the file.  The box labeled "Path separator character" shows the character used to separate pathname components from each other in this specific file.  This requires a little explanation.

+

 

+

If you have a folder "subdir", in which is a file called "foo", you would access it as "subdir\foo" under Windows.  Under UNIX or ProDOS 8 you would use "subdir/foo", and under GS/OS you would write "subdir:foo".  CiderPress follows the GS/OS convention, so pathnames from disk images and in files archived by CiderPress always use ':'.

+

 

+

Suppose you tried to extract a file called "subdir/foo:bar".  On a UNIX system this would be a folder called "subdir" with a file called "foo:bar" in it, but on an HFS filesystem that would be a folder called "subdir/foo" with a file called "bar" in it.  ShrinkIt archives were intended to be multi-platform, so the format requires the application adding the file to specify the value for the separator.  Most archives use '/' or ':', but a few use '\'.

+

 

+

This is important to understand because, when renaming files in a ShrinkIt archive, you're not just changing the filename, you're changing the entire pathname.  You can effectively move a file into a different subdirectory by renaming "subdir1:foo" to "subdir2:foo".  You need to be aware that the path separator character isn't always the same for every file.

+

 

+

You can change the path separator character for files in NuFX archives.  The NufxLib library used by CiderPress currently does not allow a null value for the separator, so if you try to delete the character altogether, CiderPress will substitute ASCII value 0xff, which looks like a 'y' with an umlaut under Windows.  This value can also appear for files copied & pasted from DOS disk images.  This behavior may be corrected in a future release of NufxLib.

+

 

+

If you're renaming a file on a disk image, you will be shown the full path but can only change the file name.  (There is currently no way to "move" a file to a different subdirectory, but you can copy and paste the file to a new folder if the disk has sufficient space.)

+

 

+

After choosing the new name, press "OK" to accept it.  The dialog will update to show the name of the next file in the list.  If you decide you don't want to rename this file, you can either click on "Skip" to move on to the next entry or "Cancel" to drop out of the process.

+

 

+

ShrinkIt stores disk images with the disk volume name, not a pathname.  For this reason, the filename separator character cannot be part of a disk image name.

+

 

+

If you have one of the filename alterations enabled, such as conversion to lower case or replacing spaces with underscores, you will be shown the name with the modifications already made.  If you press "OK", the alterations will become a permanent part of the archive, and will not go away when you turn the alterations off.  You may want to switch these off before renaming entries.

+

 

+

The aux type of AppleWorks files is not updated in ShrinkIt archives when the filename changes.  (The aux type is used as lower-case flags.)  This may result in strange-looking filenames when the contents are extracted to a disk image.  The lower case flags are set appropriately when AppleWorks files are renamed on a disk image, even if the ProDOS "allow lower case" preference is turned off.

+

 

+

You cannot rename the volume directory of a ProDOS or HFS volume.  Attempts to do so will be silently ignored.  Use the Rename Volume command instead.

+

 

+

Some HFS files may have strange characters in the filenames.  These are "Macintosh Roman" characters that don't translate directly to Windows equivalents.  The names in the file list are "sanitized", with characters like '¥' converted to simple letters and numbers, but when renaming a file the name is presented unmodified. + +

+ diff --git a/app/Help/html/t43.htm b/app/Help/html/t43.htm new file mode 100644 index 0000000..43aa8e1 --- /dev/null +++ b/app/Help/html/t43.htm @@ -0,0 +1,25 @@ + + + Edit Comment + + + + + + + + +

Edit Comment

+

 

+

This feature only works for NuFX archives, because that is the only Apple II format CiderPress supports that allows file comments.  It will be disabled for archives opened read-only.

+

 

+

To add, edit, or delete a comment, select the entry you want to modify.  You may only select one entry at a time.  Activate the "Edit comment..." command.  If the entry does not already have a comment attached, you will be asked if you want to add one.

+

 

+

The dialog that appears allows you to edit the text of the comment or delete it entirely.  If you hit "Cancel", your changes will be discarded.

+

 

+

Comments in NuFX archives use a "pre-sized" buffer.  For example, when GS/ShrinkIt adds files or disks to an archive, the first entry has space set aside for a 200-character comment.  The idea was to allow comments to be updated without having to shift lots of data around to make room.  This space is allocated by GS/ShrinkIt whether you choose to write a comment or not.  Any comments you add with CiderPress will also be "over-sized".

+

 

+

If you enable the "Mimic ShrinkIt" feature on the General Preferences screen, CiderPress will behave like GS/ShrinkIt and add an empty comment to the first entry whenever you add files or disks to an archive.

+

+

+ diff --git a/app/Help/html/t44.htm b/app/Help/html/t44.htm new file mode 100644 index 0000000..59de355 --- /dev/null +++ b/app/Help/html/t44.htm @@ -0,0 +1,21 @@ + + + Edit File Associations + + + + + + + + +

Edit File Associations

+

 

+

CiderPress can be "associated" with file types, meaning that when a file with an associated extension is opened (usually by double-clicking on it from Windows Explorer), CiderPress is launched to handle it.  The recognized extensions, and the default behavior when opening them, are listed here.

+

 

+

When CiderPress is first installed, all recognized extensions that do not already have an association are linked to it.  You can use this dialog to associate or disassociate any of the file types by clicking in the checkbox next to the extension.

+

 

+

This dialog changes the settings but does not make them permanent.  Hit "OK" or "Apply" in the preferences pages to actually make the update, or "Cancel" to undo the changes.

+

+

+ diff --git a/app/Help/html/t45.htm b/app/Help/html/t45.htm new file mode 100644 index 0000000..58de3a3 --- /dev/null +++ b/app/Help/html/t45.htm @@ -0,0 +1,73 @@ + + + Appendix - File Extensions + + + + + + + + + +

File Extensions

+

 

+

CiderPress handles a variety of Apple II file and disk image formats.  If you associate these files with CiderPress, opening the documents (perhaps by double-clicking on them from Windows Explorer) will launch CiderPress automatically.

+

 

+

Some files can be interpreted in more than one way.  For example, ".BXY" files are ShrinkIt archives wrapped in a Binary II header.  The file selector you choose in the "Open File" dialog determines how the file is opened.  When double-clicking on a file, however, you don't have an opportunity to make a choice, so CiderPress tries to guess which way you wanted.  The same applies when opening a file with the selector set to "All Files (*.*)".

+

 

+

The following table summarizes the types handled and the method of handling them.

+

 

+

 

+

Ext Description Default Action  

+

 

+

.2MG 2IMG disk image Open as disk image  

+

 

+

.APP Disk image in TrackStar nibble format Open as disk image  

+

 

+

.BNY Binary II Open as Binary II  

+

 

+

.BQY Compressed Binary II Open as Binary II  

+

 

+

.BSE GSHK Self-Extracting Archive, wrapped in Binary II Open as NuFX  

+

 

+

.BXY NuFX wrapped in Binary II Open as NuFX  

+

 

+

.DDD DDD-compressed disk Open as disk image  

+

 

+

.DO DOS-order disk image Open as disk image  

+

 

+

.DC6 DiskCopy 6.x image Open as disk image  

+

 

+

.DSK Disk image (often DiskCopy 4.2) Open as disk image  

+

 

+

.GZ Disk image compressed with gzip Open as disk image  

+

 

+

.HDV Raw disk image Open as disk image  

+

 

+

.IMG Disk image (usually Copy ][+) Open as disk image  

+

 

+

.PO ProDOS-order disk image Open as disk image  

+

 

+

.RAW Raw disk image Open as disk image  

+

 

+

.SDK NuFX disk archive Open as disk image  

+

 

+

.SEA GSHK Self-Extracting Archive Open as NuFX  

+

 

+

.SHK NuFX file or disk archive Open as NuFX  

+

 

+

.ZIP Disk image compressed with ZIP Open as disk image  

+

 

+

(none) File with no extension Open as disk image  

+

 

+

 

+

 

+

If the default handler fails, the file will not be opened.

+

 

+

DiskCopy 6 can create images in a "raw" format or with fancy headers.  CiderPress only handles the "raw" form.

+

 

+

CiderPress does not create file associations for .RAW because there are many other PC file formats that use the same extension.  A similar exclusion is made for .GZ and .ZIP, because the extension only indicates that "gzip" or "zip" was used to compress the file.  It doesn't say anything about the contents. + +

+ diff --git a/app/Help/html/t46.htm b/app/Help/html/t46.htm new file mode 100644 index 0000000..3439047 --- /dev/null +++ b/app/Help/html/t46.htm @@ -0,0 +1,18 @@ + + + How (and Why) to Register + + + + + + + + + +

How (and Why) to Register

+

 

+

Registration is no longer required.

+

+

+ diff --git a/app/Help/html/t47.htm b/app/Help/html/t47.htm new file mode 100644 index 0000000..1ccd388 --- /dev/null +++ b/app/Help/html/t47.htm @@ -0,0 +1,108 @@ + + + Features + + + + + + + + +

Features

+

 

+

CiderPress is a fully-functional "ShrinkIt for Windows" that can operate on disk images and file archives.  Files can be viewed or extracted in their native form, or converted to formats better suited for browsing in Windows.

+

 

+

When working with NuFX (ShrinkIt) archives and DOS 3.2/3.3, ProDOS, HFS, and UCSD Pascal disk images, you can:

+
  • View files without having to extract them first.  Special converters are provided for several popular file formats. +
  • Extract files and directories, optionally converting them.  File type information can be preserved, using the method developed for use in NuLib2. +
  • Add individual files or entire directories full of files. +
  • Copy & paste files through the Windows clipboard. +
  • Rename files. +
  • Delete files or entire subdirectories. +
  • Edit file type, auxtype, and access permissions of ProDOS files. +
  • Print a listing of the files in the archive.
+

 

+

On NuFX archives, you can also:

+
  • Convert a ShrinkIt file archive directly to a ProDOS disk image. +
  • Re-compress entries with a different algorithm.  All compression methods defined in the NuFX specification are supported, as well as gzip "deflate". +
  • Add, update, and delete comments. +
  • Test entries or whole archives.
+

 

+

On disk images, you can also:

+
  • Create subdirectories. +
  • Change volume names and numbers.
+

 

+

Read-only access (viewing and extracting files, but not adding or deleting) is supported for Binary II archives, AppleLink Compression Utility archives, and CP/M and RDOS disk images.

+

 

+

The file viewer can convert several formats for easier viewing on a PC:

+
  • ProDOS text with carriage returns to Windows "CRLF" format. +
  • DOS 3.3 "high ASCII" text to plain text. +
  • CP/M text to plain text. +
  • UCSD Pascal text to plain text. +
  • UCSD Pascal code to partially analyzed hex dump. +
  • Applesoft BASIC to text (matches output of "LIST" command), with or without color syntax highlighting. +
  • Integer BASIC to text (matches output of "LIST" command), with or without color syntax highlighting. +
  • Apple /// Business BASIC to text (matches output of "LIST" command), with or without color syntax highlighting. +
  • S-C Assembler to text. +
  • LISA tokenized assembly source to text. +
  • Merlin assembly source to properly-tabbed text. +
  • 65C02/65816 code disassembly, to //e or IIgs "monitor" output. +
  • Magic Window / Magic Window II "formatted" files to text. +
  • AppleWorks Word Processor to Rich Text Format (supports left/right margins, bold, italic, etc). +
  • AppleWorks Database to CSV (suitable for import into Excel or other applications). +
  • AppleWorks Spreadsheet to CSV. +
  • Teach (GWP $5445) document to Rich Text Format. +
  • AppleWorks GS Word Processor (GWP $8010) to Rich Text Format. +
  • Hi-Res graphics to 560x384 16-color .BMP (B&W or color with half-pixel shifting). +
  • Double Hi-Res graphics to 560x384 16-color .BMP (B&W or color). +
  • Super Hi-Res graphics to 640x400 256-color .BMP.  Supported formats include unpacked ($c1/0000), Paintworks ($c0/0000), packed ($c0/0001), DreamGrafix ($c0/8005), and Apple Preferred Format ($c0/0002) up to 1024x1024. +
  • 3200-color Super Hi-Res graphics to 640x400 24-bit .BMP.  Supported formats include unpacked ($c1/0002 or ".3200"), packed (".3201"), DreamGrafix ($c0/8005), and Apple Preferred Format ($c0/0002 with "MULTIPAL"). +
  • Print Shop and Print Shop GS graphics to 88x52 .BMP (B&W and color, respectively). +
  • Macintosh Paint images to 576x720 2-color .BMP. +
  • Apple IIgs resource forks are split into individual resources and displayed as hex dumps.
+

 

+

In addition, any fork of any file can be viewed in its "raw" state or as a hex dump.

+

 

+

CiderPress has the ability to identify most common disk image formats, and view or extract files directly from them.  Supported file formats include:

+
  • Universal Disk Images (.2mg), all formats +
  • DiskCopy 4.2 (.dsk) +
  • Copy II Plus (.img) +
  • Sim //e HDV images (.hdv) +
  • TrackStar images (.app) +
  • Dalton's Disk Disintegrator (DDD 2.1+, DDD Pro 1.1+) (.ddd) +
  • FDI "raw" images of 5.25" and 3.5" disks (.fdi) +
  • Unadorned sector-format files (.po, .do, .d13, .raw, .hdv, .iso) +
  • Unadorned nibble-format files (.nib, .nb2) +
  • Any of the above compressed with gzip (.gz) +
  • Any of the above compressed with zip (.zip) +
  • ShrinkIt (NuFX) compressed disk images (.shk, .sdk)
+

 

+

The file format, filesystem, and sector ordering are determined automatically for most disks.  The settings can be overridden if necessary.  The recognized disk formats are:

+
  • DOS 3.2/3.3 (13, 16, or 32 sectors, up to 50 tracks) +
  • ProDOS +
  • HFS +
  • UCSD Pascal +
  • CP/M +
  • SSI's RDOS (13-sector, 16-sector, and 13 converted to 16) +
  • UNIDOS / AmDOS / OzDOS (two DOS volumes on an 800k disk) +
  • ProSel Uni-DOS / DOS Master (DOS volumes embedded in an 800K ProDOS disk) +
  • CFFA fixed-size partitions (4-part and 8-part formats) +
  • Macintosh-style partitoning (for CD-ROMs and SCSI hard drives) +
  • ///SHH Systeme MicroDrive partitioning +
  • FocusDrive partitioning
+

 

+

Images larger than floppies, such as ProDOS hard drive partition images, are fully supported.  Physical media, including floppy disks, CD-ROMs, CFFA-formatted CompactFlash cards, and SCSI hard drives can be accessed directly (assuming you have appropriate hardware).

+

 

+

CiderPress includes a collection of tools:

+
  • Disk viewer - view disk images as blocks, sectors, or nibblized tracks. +
  • Disk image converter - convert disk images from one format to another.  Can operate on individual images or perform a bulk conversion on a large set. +
  • Disk image creator - create bootable DOS 3.3, ProDOS, or Pascal disk images from scratch. +
  • Volume copier - copy all or part of a disk image from one place to another. +
  • SST image merge - combine images generated by SST into a single .nib image file. +
  • 2MG properties editor - edit comments, lock/unlock images. +
  • EOL scanner - check for ASCII transfer damage. +
  • Import from WAV - extract programs from Apple II cassette tapes.
+

+

+ diff --git a/app/Help/html/t48.htm b/app/Help/html/t48.htm new file mode 100644 index 0000000..a908d49 --- /dev/null +++ b/app/Help/html/t48.htm @@ -0,0 +1,61 @@ + + + Available Commands + + + + + + + + + + +

Available Commands

+

 

+

If you've used other file archive software, such as WinZip or WinRAR, then you already know most of what you need to know to use CiderPress.  There are some differences, mainly because CiderPress is optimized for use with Apple II files.

+

 

+

Things you can do:

+

 

+

Selecting the command you want.

+

Opening, closing, and creating archives and disk images.

+

Opening raw disk volumes.

+

Getting information about an archive.

+

Working with the file list.

+

Printing the file list.

+

Viewing the contents of files in an archive or disk image.

+

Adding files and disk images to an archive.

+

Creating new subdirectories.

+

Extracting files and disk images.

+

Copying and pasting files.

+

Testing entries in an archive.

+

Renaming entries.

+

Renaming disk volumes.

+

Deleting entries.

+

Editing archive comments.

+

Editing attributes of archived files.

+

Convert disk image to file archive.

+

Convert file archive to disk image.

+

Import files from Apple II cassette tapes.

+

Import BASIC programs from text files.

+

 

+

CiderPress has some additional tools that you may find useful:

+

 

+

Disk sector viewer.

+

Disk image converter.

+

Bulk disk image converter.

+

SST image merge.

+

Volume copier.

+

2MG properties editor.

+

End-Of-Line scanner.

+

 

+

There are several screens of preferences:

+

 

+

General preferences.

+

Disk Image preferences.

+

Default compression selection.

+

File viewer settings.

+

File and folder locations.

+

+

+ diff --git a/app/Help/html/t49.htm b/app/Help/html/t49.htm new file mode 100644 index 0000000..6060be5 --- /dev/null +++ b/app/Help/html/t49.htm @@ -0,0 +1,25 @@ + + + Entering Registration Data + + + + + + + + + + +

Entering Registration Data

+

 

+

After you register CiderPress you will receive an e-mail message with your registration code.  Copy the information from the message exactly as it appears.  Upper-case vs. lower case is important, as is all punctuation.  Don't forget to put the hyphens ('-') in when typing the registration key.

+

 

+

The easiest way to fill the fields out is to cut and paste directly from the registration message.  Copy the text from the message, click in the appropriate field in the CiderPress dialog, and hit Ctrl-V to paste it.

+

 

+

As you paste or type the text in, you will see the four-character "checksum" value change.  Make sure the checksum shown in your confirmation letter matches what you see on screen.  If they don't match, something has been mis-typed.  (If you're cutting & pasting, make sure you don't accidentally paste the checksum values into the box.)

+

 

+

When you hit "OK", CiderPress will verify your key.  If all fields have been entered correctly, you will return to the "About" box with your name and company shown, and the "Enter registration code" button will be disabled.

+

+

+ diff --git a/app/Help/html/t50.htm b/app/Help/html/t50.htm new file mode 100644 index 0000000..0ed5d84 --- /dev/null +++ b/app/Help/html/t50.htm @@ -0,0 +1,44 @@ + + + Working With the File List + + + + + + + + + +

Working With the File List

+

 

+

After an archive or disk image is successfully opened you will be presented with a list of files found inside.  The list is divided into several columns:

+

 

+

Pathname

+

File type

+

Aux type

+

Modification date

+

Format

+

Size

+

Ratio

+

Packed size

+

Access

+

 

+

Columns can be hidden or returned to default sizes with buttons in the preferences screens.  You can resize them by clicking and dragging on the space between items in the column header.  Hide columns by shrinking them down until they disappear.

+

 

+

Any column can be sorted.  Click on the column header once to sort on that column.  Click on it a second time to change the direction of the sort.  You can also use the "Sort" feature in the "Edit" menu to choose a column to sort on, or choose to return to the original order of the files.

+

 

+

Column widths and sort order are retained across invocations.  If you change the screen font sizes with the Windows "appearances" settings, use the "Defaults" button in the preferences screen to adjust the widths for the new font size.

+

 

+

Select entries in the list by clicking on them.  To select multiple entries, click on the first item and then shift-click on the last item.  You can control-click to add or remove items from the selection list.  To select all items, type Ctrl-A, or use the "Select all" function from the "Edit" menu.  The "Invert selection" feature selects everything that isn't selected, and un-selects everything that is.

+

 

+

Double-clicking on most items will immediately bring up the file viewer.  Double-clicking on ShrinkIt archives, Binary II archives, or archived disk images will cause the file to be copied into the temp folder and opened in a new instance of CiderPress.  (The opened copy will be marked read-only because the file in the temp folder is thrown out as soon as CiderPress exits.)

+

 

+

If you double-click on multiple files (click, hold the shift key down, then double-click), the file viewer is opened for all of them regardless of what they contain.

+

 

+

Right-clicking brings up an abbreviated "actions" menu.

+

 

+

You can search for entries in large archives or disk images with the "Find" feature.  Hit Ctrl-F, or select "Find" from the "Edit" menu.  You can make the search case-sensitive if you like, and if you select "whole words" it will only match complete filenames or filename components.  The search begins from the currently selected item, and wraps around when it reaches the end of the list. + +

+ diff --git a/app/Help/html/t51.htm b/app/Help/html/t51.htm new file mode 100644 index 0000000..763ae4d --- /dev/null +++ b/app/Help/html/t51.htm @@ -0,0 +1,35 @@ + + + Opening, Closing, and Creating Files + + + + + + + + + + +

Opening, Closing, and Creating Files

+

 

+

Open an archive or disk image by selecting "Open..." from the "File" menu.  Select the file to open, and click the "Open" button.  All of the standard Windows "open file dialog" features work here.  For example, if you want to change the current folder to "C:\apple2\disks", you could navigate there by selecting "C:" from the drop-down menu and then double-clicking on the "apple2" folder and then the "disks" folder.  A perhaps faster approach is to click in the "File name:" box, type "C:\apple2\disks", and hit return.

+

 

+

The class of files you select in the "Files of type:" box does more than just choose which files you get to see.  In some cases, it determines how the file is opened.  For example, a .BXY file is a ShrinkIt archive with a Binary II header.  If you select "ShrinkIt Archives" or "All Files", the file will be opened as a ShrinkIt archive.  If you select "Binary II Archives", the file will be opened as a Binary II archive (with a single ShrinkIt archive inside).  The same applies to ShrinkIt archives with a single disk image in them.  They can be opened either as ShrinkIt archives or as disk images.

+

 

+

You may want to examine the default behavior defined for each file extension when double-clicked from Windows Explorer or opened with "All Files (*.*)".

+

 

+

If you select "Open as read-only", the file will be open in read-only mode.  This means that operations that modify the file, such as adding, deleting, or renaming files, will be deactivated.  The file will automatically be opened in read-only mode if the file itself is marked "read only" in Windows.  (You can change this setting before opening the file by right-clicking on the filename, selecting "properties", and un-checking the "Read-only" box.)  Disk images that appear to be damaged will also be opened in read-only mode to prevent modifications from exacerbating problems.  You can check for damage with the Archive Info feature.

+

 

+

CiderPress can open disk images stored in gzip (.gz) or Zip (.zip) archives, so long as the archive contains only one file, and the file is 32MB or less when expanded.  Because the disk image is uncompressed to memory, CiderPress does not handle compressed images larger than 32MB.  Also, ShrinkIt archives inside Zip or gzip archives cannot be opened.  You can extract them with a program like WinZip or by enabling "compressed folder" support in Windows XP.

+

 

+

You can create a new, empty ShrinkIt archive by selecting "New -> ShrinkIt archive..." from the File menu.  The archive is created immediately.  If you close the archive while it is still empty, the file will be removed.  You can create disk images with the "New -> Disk image..." function.

+

 

+

In most cases, any changes you make to a file archive or disk image happen immediately.  If you're working with a compressed disk image, stored in a ShrinkIt, ZIP, or gzip file, the image isn't recompressed until you close it.  You can flush the changed data sooner by using the "Save changes" menu item.  This will automatically be invoked for you if you use one of the tools that can modify disk images (e.g. the volume copier).

+

 

+

Close the current archive or disk image with "Close" from the File menu.  You won't often need to use this, since the files are closed automatically when a new file is opened or the program exits.

+

 

+

Changes made to an archive or disk image by another program, such as an Apple II emulator, will not be detected automatically.  For example, if you add or delete files from a disk image with Copy ][+ in an emulator, you will need to close and re-open the file.  The easiest way to do this is with the "Reopen" command in the File menu. + +

+ diff --git a/app/Help/html/t52.htm b/app/Help/html/t52.htm new file mode 100644 index 0000000..1c5600c --- /dev/null +++ b/app/Help/html/t52.htm @@ -0,0 +1,27 @@ + + + Selecting Commands + + + + + + + + +

Selecting Commands

+

 

+

There are three distinct ways to perform actions:

+

 

+

1. Select a command from the menu at the top of the screen.

+

2. Select a command from the toolbar below the menu.

+

3. When a file is open, right-click and select a command from the menu that pops up.

+

 

+

All three approaches produce the same results.

+

 

+

There is a fourth way to initiate action: double-click on an item in the file listing.  The exact behavior depends on what it is you clicked on.  See Working With the File List for details.

+

 

+

Most features will be disabled unless an archive or disk image is open.  Some will be disabled until you select one or more entries from the list.  Some are only active for ShrinkIt archives, or will be dimmed if the file is opened read-only.

+

+

+ diff --git a/app/Help/html/t53.htm b/app/Help/html/t53.htm new file mode 100644 index 0000000..ad3d228 --- /dev/null +++ b/app/Help/html/t53.htm @@ -0,0 +1,20 @@ + + + Printing + + + + + + + + + +

Printing

+

 

+

The output sent to the printer looks very much like the file list when all columns are enabled.  The sort order matches the current file list.

+

 

+

Select "Print..." from the "File" menu to bring up a standard Windows print dialog.  Choose your printer and, optionally, a range of pages to print.

+

+

+ diff --git a/app/Help/html/t54.htm b/app/Help/html/t54.htm new file mode 100644 index 0000000..f667650 --- /dev/null +++ b/app/Help/html/t54.htm @@ -0,0 +1,20 @@ + + + Viewing Files + + + + + + + + + +

Viewing Files

+

 

+

To use the "View..." command, first select the files you want to view.  Select the "View..." menu item or click on the toolbar button.  The File Viewer opens.

+

 

+

Double-clicking on most kinds of files will open the file viewer.  However, if you double-click on a ShrinkIt archive or disk image, a new instance of CiderPress will be launched with the file displayed in it.  (You can get the same behavior with disk images by selecting the image and then using "Open as disk image" from the Actions menu.)

+

+

+ diff --git a/app/Help/html/t55.htm b/app/Help/html/t55.htm new file mode 100644 index 0000000..c5ce276 --- /dev/null +++ b/app/Help/html/t55.htm @@ -0,0 +1,39 @@ + + + Adding Files and Disks + + + + + + + + + +

Adding Files and Disks

+

 

+

Add files and folders to an archive by selecting "Add files..." from the "Actions" menu.

+

 

+

In most cases you will immediately be asked to choose the files you want to add.  See the explanation of the "Add Files" dialog for details on what to do next.

+

 

+

If you're adding files to a ProDOS disk that has subdirectories, or to an image with sub-volumes (e.g. CFFA or Macintosh partition image), you will need to select which disk and which subdirectory you want to add files to.  There are two ways to do this.

+

 

+
  • The first way is to click on the name of an existing subdirectory, or the ProDOS volume directory.  If CiderPress sees that you have a single subdirectory selected, or if there's only one place the files could possibly go, the files will be added there. +
  • If you don't have a subdirectory selected, and there's more than one place where files could be added, you will be given the opportunity to choose the location from a tree of possible locations.
+

 

+

In either case, the subdirectory chosen will show up in the "storage prefix" box in the next screen.

+

 

+

Files added to a ProDOS disk get file type "NON" and auxtype $0000 unless one of the file attribute preservation options is enabled.  DOS 3.3 disks get file types in a similar way, but files that aren't 'A', 'I', or 'T' will be set to type 'B'.  Any non-text file over 64K will get file type 'S'.

+

 

+

All files added to a Pascal disk get the "PDA" type (Pascal Data file), unless they have a ProDOS type that matches one of the Pascal values.  (Text files added to a Pascal disk become PDA, not PTX.  This may change in a future release.)  Some parts of the UCSD Pascal system rely on the filename suffix rather than the file type, e.g. "file.text" vs. "file.code", so changing the file's type may not have an effect on some applications.

+

 

+

Disk images added to a ShrinkIt archive are added one at a time.  If the disk image format can't be determined, you will be asked to specify the details on a "disk image characteristics" dialog.

+

 

+

If an entry already exists, you will be given the opportunity to decide if you want to overwrite it.

+

 

+

When adding "forked" files, you need to add the data and resource forks at the same time.  If you try to add them in two steps, CiderPress will assume that they are parts from different files that happen to have the same name, and will offer to replace the existing file with the new one instead of combining the two together.

+

 

+

Tip: if disk images were extracted with file attribute preservation enabled, they can be added en masse using the "Add files..." mechanism.  Just tell CiderPress to make use of the preservation sequences, and the disk images will be detected automatically.

+

+

+ diff --git a/app/Help/html/t56.htm b/app/Help/html/t56.htm new file mode 100644 index 0000000..82ae1f9 --- /dev/null +++ b/app/Help/html/t56.htm @@ -0,0 +1,22 @@ + + + Testing Archives + + + + + + + + + +

Testing Archives

+

 

+

This feature does not work on disk images, because they don't have any sort of checksum or CRC on the files.  Every file on a disk archive is scanned when the disk is opened, and any obviously damaged files are labeled as such in the file list.

+

 

+

Files in ShrinkIt, Binary II, and AppleLink Compression Utility archives can be tested, but not all of those have CRCs either.  In those cases CiderPress will read the data to verify that the archive hasn't been truncated.  Errors in compressed data can sometimes be detected without a CRC.  The overall structure of the archive, including any CRCs on header fields, is verified when the archive is opened.

+

 

+

For files that do have checksums or CRCs, CiderPress will use the appropriate error detection algorithm, uncompressing the data when necessary.  Testing an archive essentially does a full extraction, doing everything except write the data to disk. + +

+ diff --git a/app/Help/html/t57.htm b/app/Help/html/t57.htm new file mode 100644 index 0000000..f7744cc --- /dev/null +++ b/app/Help/html/t57.htm @@ -0,0 +1,23 @@ + + + Delete Entries + + + + + + + + +

Delete Entries

+

 

+

Use this feature to delete some or all files in an archive or disk image.  Select the files you want to delete in the file list, then activate the "Delete..." function.  When you confirm by pressing "OK", all entries are immediately deleted.

+

 

+

There is no "undo" or "undelete" feature.  The entries you delete are gone forever as soon as you press "OK".  Use this feature with caution.

+

 

+

If you delete all entries from a ShrinkIt archive, and close the archive without adding any new ones, the archive file will be removed.

+

 

+

If you select a folder on a ProDOS disk image, all files in the folder will automatically be selected for you when you click "delete".  You cannot delete the volume directory.

+

+

+ diff --git a/app/Help/html/t58.htm b/app/Help/html/t58.htm new file mode 100644 index 0000000..c035624 --- /dev/null +++ b/app/Help/html/t58.htm @@ -0,0 +1,26 @@ + + + Re-Compress Entries + + + + + + + + + +

Re-Compress Entries

+

 

+

This feature is only enabled for ShrinkIt archives, because disk images don't have compressed entries and Binary II archives are always opened read-only in CiderPress.

+

 

+

Use this function to change the way files and archived disk images are compressed.  ShrinkIt archives created with ProDOS 8 ShrinkIt or the original NuLib are compressed with "dynamic LZW/1", while archives created with GS/ShrinkIt or NuLib2 are compressed with the slightly enhanced "dynamic LZW/2".  You may want to use the gzip "deflate" algorithm to reduce the size of the files even further.

+

 

+

Be aware that not all compression formats can be unpacked with all software.  The best overall choice is "dynamic LZW/2".  If the files will only ever be opened with CiderPress or NuLib2, you may want to use "deflate".  See the Compression Algorithms page for more information about the algorithms and application compatibility.

+

 

+

Each fork of each file is expanded and re-compressed individually.  The files are read in batches, compressed, and written back out.  If you cancel the process, entries that have previously been written out will remain in their re-compressed state.

+

 

+

At the end of the process a dialog appears showing the size before and after of the files in the archive.

+

+

+ diff --git a/app/Help/html/t59.htm b/app/Help/html/t59.htm new file mode 100644 index 0000000..a0c45cb --- /dev/null +++ b/app/Help/html/t59.htm @@ -0,0 +1,31 @@ + + + List - Pathname + + + + + + + + +

List - Pathname

+

 

+

The full pathname of the file.  In disk archives that don't support folders (DOS 3.2/3.3, Pascal, CP/M, RDOS), this is just the filename.  For ProDOS disks and ShrinkIt archives, the pathname includes all folders out to the "root" of the collection.

+

 

+

The names are usually presented exactly as they appear in the original, but there are a few exceptions:

+

 

+
  • ProDOS names are converted to lower case based on the case flags.  These were added in ProDOS 8 v1.8 to allow the GS/OS FST to put lower case and spaces in names. +
  • AppleWorks filenames stored on a ProDOS disk are converted to lower case based on the aux type.  This value overrides the ProDOS flags.  (AppleWorks files stored in ShrinkIt archives are simply presented as they were stored.) +
  • The names of files on DOS 3.3 volumes are "sanitized", so that inverse and flashing characters are converted to normal text. +
  • If the appropriate preference is enabled, filenames stored on DOS 3.3 volumes are converted to mixed case based on common rules for English titles.  Filenames with lower case in them already -- uncommon but not unheard-of -- are left alone. +
  • If the appropriate preference is enabled, all filenames have spaces converted to underscores.  This could be useful for files destined to be served directly from a web site.
+

 

+

The ProDOS volume name is not shown as part of the pathname, except in the entry for the volume directory itself (identifiable as a pathname starting with ':').

+

 

+

There may be one of four icons to the left of the filename.  A document icon that is "empty" (has a white interior) indicates a ShrinkIt archive entry with an empty comment.  Most archives created by GS/ShrinkIt have an empty comment added to the first entry, so this is fairly common.  If the document icon is solid yellow, that means there is a comment with information in it.  This can be viewed with the file viewer or by using the "edit comment" feature.  A red 'X' icon indicates a damaged entry, usually on a disk image.  CiderPress was unable to fully process the file, so it has been marked as unavailable.  A blue '?' icon indicates a suspicious entry; it's not unreadable, but it doesn't look healthy.

+

 

+

Files in a sub-volume, such as a DOS 3.3 disk embedded in a ProDOS disk, are shown as being in a folder (something like "_DOS001").  This is done so that the files will be extracted into a separate folder from the outer-volume content, and also to keep the files grouped together when the file list is sorted by name. + +

+ diff --git a/app/Help/html/t60.htm b/app/Help/html/t60.htm new file mode 100644 index 0000000..dde04b0 --- /dev/null +++ b/app/Help/html/t60.htm @@ -0,0 +1,61 @@ + + + List - File Type + + + + + + + + + +

List - File Type

+

 

+

This field displays the ProDOS file type.  Types that don't have three-letter abbreviations assigned are shown in hexadecimal notation.  Archived disk images are listed simply as "Disk".

+

 

+

Forked files are noted with a plus sign ('+') following the file type.  Folders appear with a trailing slash ('/'), and will usually appear as "DIR/".  However, it is possible (but not recommended!) for a folder to have a different file type.

+

 

+

Macintosh files stored in a ShrinkIt archive may be displayed with a 32-bit Mac file type instead.

+

 

+

File types from non-ProDOS disks are converted to the most appropriate type.  The following conversions are used:

+

 

+

DOS 'T' TXT  

+

 

+

DOS 'I' INT  

+

 

+

DOS 'A' BAS  

+

 

+

DOS 'B' BIN  

+

 

+

DOS 'S' $F2  

+

 

+

DOS 'R' REL  

+

 

+

DOS 'A' #2 $F3  

+

 

+

DOS 'B' #2 $F4  

+

  

+

 

+

Pascal Untyped NON  

+

 

+

Pascal Xdsk (bad blocks) BAD  

+

 

+

Pascal Code PCD  

+

 

+

Pascal Text PTX  

+

 

+

Pascal Info $F3  

+

 

+

Pascal Data PDA  

+

 

+

Pascal Graf $F4  

+

 

+

Pascal Foto FOT  

+

 

+

Pascal SecurDir $F5  

+

  

+

Files given "$Fn" types have formats that are not well defined.

+

+

+ diff --git a/app/Help/html/t61.htm b/app/Help/html/t61.htm new file mode 100644 index 0000000..9cddf9f --- /dev/null +++ b/app/Help/html/t61.htm @@ -0,0 +1,26 @@ + + + List - Aux Type + + + + + + + + + +

List - Aux Type

+

 

+

The auxiliary type of the file.  The exact meaning of this varies depending on the archive or disk image.

+

 

+
  • ShrinkIt archives: the ProDOS "aux type", or the size of an archived disk image. +
  • Binary II, ProDOS: the value of the 16-bit "aux type" field.  For BIN files this is usually the load address.  For Applesoft BAS files it's the start address of the program. +
  • DOS 3.2/3.3: for 'B' (BIN) the load address is pulled out of the first sector of the file.  For 'A' (BAS) the field is always set to $0801, and for 'I' (INT) and 'T' (TXT) it's always set to $0000. +
  • Pascal, CP/M: set to $0000 for all files. +
  • RDOS: the load address of the file.
+

 

+

ShrinkIt is capable of storing Macintosh files from HFS volumes, in which case the "aux type" field will hold a 32-bit creator type.

+

+

+ diff --git a/app/Help/html/t62.htm b/app/Help/html/t62.htm new file mode 100644 index 0000000..95c30d9 --- /dev/null +++ b/app/Help/html/t62.htm @@ -0,0 +1,29 @@ + + + List - Mod Date + + + + + + + + + + +

List - Mod Date

+

 

+

The modification date of the entry.

+

 

+

ShrinkIt archives use the IIgs "DateTime" format, which includes year/month/day and hours/minutes/seconds.

+

 

+

ProDOS disks and Binary II archives use the ProDOS date format, which has year/month/day and hours/minutes but not seconds.

+

 

+

Pascal disks use the Pascal date format, which has year/month/day but no time.

+

 

+

DOS 3.3, CP/M, and RDOS do not store dates.

+

 

+

When no date is available, "[no date]" is shown.  This is expected on disk images and archives created on systems without clocks.  If the stored date is invalid (e.g. February 31st), it will be shown as "<invalid>".

+

+

+ diff --git a/app/Help/html/t63.htm b/app/Help/html/t63.htm new file mode 100644 index 0000000..dee4667 --- /dev/null +++ b/app/Help/html/t63.htm @@ -0,0 +1,24 @@ + + + List - Format + + + + + + + + + +

List - Format

+

 

+

For ShrinkIt archives, this describes the compression format used.  Possible values are described here.

+

 

+

For Binary II archives, this holds a guess at whether the file is stored uncompressed or "squeezed".  There is no 100% reliable way to determine if a file stored in Binary II was squeezed, so a quick examination of the file contents is used to determine the status.

+

 

+

For disk archives, the name of the file system is shown.  This is done to emphasize that files with the same file type may be structurally different on different file systems.  For example, DOS text files use ASCII characters with the high bit set, while ProDOS text files leave the high bit unset.

+

 

+

It's also useful on mixed-filesystem disks, such as ProSel "Uni-DOS" 800K disks that have a 200K DOS 3.3 filesystem embedded in an 800K ProDOS volume.

+

+

+ diff --git a/app/Help/html/t64.htm b/app/Help/html/t64.htm new file mode 100644 index 0000000..103601e --- /dev/null +++ b/app/Help/html/t64.htm @@ -0,0 +1,20 @@ + + + List - Size + + + + + + + + + +

List - Size

+

 

+

This is the full length of the file when uncompressed and "sparse" blocks filled are in.

+

 

+

The size does not reflect format conversions (e.g. converting a graphic to a BMP) or text conversions (changing end-of-line markers), either of which can result in significantly different extracted sizes.  The size will be accurate only when all conversions are off ("preservation mode").

+

+

+ diff --git a/app/Help/html/t65.htm b/app/Help/html/t65.htm new file mode 100644 index 0000000..b13d96b --- /dev/null +++ b/app/Help/html/t65.htm @@ -0,0 +1,18 @@ + + + List - Ratio + + + + + + + + + +

List - Ratio

+

 

+

This is simply the ratio of  the "Size" field to the "Packed" field.  An uncompressed, non-sparse file is displayed as "100%".

+

+

+ diff --git a/app/Help/html/t66.htm b/app/Help/html/t66.htm new file mode 100644 index 0000000..a4aab2f --- /dev/null +++ b/app/Help/html/t66.htm @@ -0,0 +1,20 @@ + + + List - Packed + + + + + + + + + +

List - Packed

+

 

+

This represents the compressed size of data in a ShrinkIt archive.  The size does not include archive overhead (e.g. storage of the filename, CRCs, and file attributes).

+

 

+

On a disk archive, this indicates the size needed to store the file.  Some files take less space than you might expect because they are "sparse".  On filesystems that support sparse files (ProDOS, and to some extent DOS 3.3), a block filled entirely with zeros isn't actually stored on the disk.  Instead, the file system structure is updated to indicate that there is a gap, and when the file is read the missing data is filled in with zero bytes.

+

+

+ diff --git a/app/Help/html/t67.htm b/app/Help/html/t67.htm new file mode 100644 index 0000000..46327b7 --- /dev/null +++ b/app/Help/html/t67.htm @@ -0,0 +1,29 @@ + + + List - Access + + + + + + + + + + + +

List - Access

+

 

+

This column shows the ProDOS access permissions for each entry.  The letters are:

+

 

+

d - file may be deleted

+

n - file may be renamed

+

b - backup needed

+

i - file is invisible

+

w - file may be modified

+

r - file may be read

+

 

+

DOS 3.3 and CP/M only understand "locked" and "unlocked", which correspond to "r" and "dnwr", respectively.  For Pascal and RDOS disks, all files are effectively "unlocked".

+

+

+ diff --git a/app/Help/html/t68.htm b/app/Help/html/t68.htm new file mode 100644 index 0000000..b80ed12 --- /dev/null +++ b/app/Help/html/t68.htm @@ -0,0 +1,48 @@ + + + Appendix - File Attribute Preservation + + + + + + + + + +

File Attribute Preservation

+

 

+

The definitive guide to the file attribute preservation mechanism employed by CiderPress can be found in the "library" section of the www.nulib.com web site.  This is a brief introduction to the topic.

+

 

+

There are four attributes that must be restored when adding Apple II files: file type, aux type, pathname, and file part (i.e. data fork, resource fork, disk image, or comment).

+

 

+

File Type and Aux Type

+

 

+

ProDOS files use an 8-bit file type and a 16-bit aux type.  These can be encoded in a six-character hexadecimal string that looks like "#062000".  The '#' is used to indicate the start of an attribute preservation string.

+

 

+

HFS files with 32-bit file and creator types require more digits, resulting in a 16-character hexadecimal string.

+

 

+

Extracted folders do not have preservation strings added.

+

 

+

Pathname

+

 

+

Some characters, such as '/', are legal in Apple II filesystems (DOS 3.3, HFS) but illegal under Windows.  These are converted to "%nn" sequences, e.g. "foo/bar" becomes "foo%2fbar".

+

 

+

Some words, such as "AUX" and "PRN", cannot be used as filenames under Windows.  These are prefixed with "%00", so "Aux" would become "%00Aux".  (If file attribute preservation is turned off, these will be prefixed with underscores, e.g. "_Aux".)  The "%00" is removed when the file is added.

+

 

+

The complete list of illegal names: CON, PRN, NUL, AUX, LPT1, LPT2, LPT3, LPT4, COM1, COM2, COM3, COM4.  This also affects files that start with the name and a dot, e.g. "AUX.FOO" is also illegal and will be altered.

+

 

+

File Part

+

 

+

HFS and ProDOS support the notion of "forked" files.  This horrible idea has caused problems for users and developers alike since the Macintosh was first released in 1984.  The basic idea is that a file is actually two files with the same name, one of which (the "data fork") has unstructured data such as ASCII text, while the other one (the "resource fork") holds highly-structured data.  Some ProDOS literature refers to these as "extended" files.

+

 

+

Because Windows doesn't handle "forked" files, each fork must be stored in a separate file.  Resource forks are indicated by adding the letter 'r' to the end of the preservation sequences, and disk images have the letter 'i'.  These files are automatically converted back to the correct file part when added to an archive.  If two files have the same name, but the preservation sequences indicate one is a data fork and the other a resource fork, then the two forks will be combined into a single file in the archive.

+

 

+

Other Considerations

+

 

+

The modification date of the original file, if any, can be stored in the local filesystem.  Access permissions aren't completely restored, but they usually don't need to be -- most Apple II files are either "locked" or "unlocked", and that can be encoded in Windows access permissions.

+

 

+

The scheme falls apart somewhat if the generated filenames are longer than Windows can support.  Windows "vfat", "fat32", and "ntfs" filesystems can handle names far longer than any Apple II filesystem, so this should not be a problem.

+

+

+ diff --git a/app/Help/html/t69.htm b/app/Help/html/t69.htm new file mode 100644 index 0000000..d247ad7 --- /dev/null +++ b/app/Help/html/t69.htm @@ -0,0 +1,62 @@ + + + Appendix - Compression Algorithms + + + + + + + + + +

Compression Algorithms

+

 

+

CiderPress supports every compression algorithm listed in the NuFX and Binary II specifications, as well as those listed in the "NuFX addendum" on www.nulib.com.  The actual compression code lives in the NufxLib library, however, and the library can be built with some or all of the compression code disabled.  You can see which algorithms are enabled by going to the Compression Preferences screen.

+

 

+

No compression

+

 

+

Exactly what it says: the contents are not compressed in any way.

+

 

+

Squeeze (sometimes "SQueeze")

+

 

+

This format became popular under CP/M with the "sq" and "usq" commands, which created ".QQ" or ".QQQ" files.  These appeared on the Apple II as Donald Elton's "sq3" and "usq2" utilities, and un-squeezing became part of Floyd Zink's "BLU" utility.  The algorithm, a combination of RLE (Run-Length Encoding) and Huffman encoding, is generally inferior to LZ-based techniques, and Squeeze fell out of common use after ShrinkIt was released.  It was, however, an official part of the NuFX format specification.

+

 

+

Most NuFX utilities can handle Squeezed files, but ProDOS 8 ShrinkIt has a bug that prevents it from unpacking the files correctly.  GS/ShrinkIt handles them correctly.  No Apple II utility actually creates Squeezed NuFX archives.

+

 

+

Dynamic LZW/1

+

 

+

Originally designed to compress tracks on 5.25" disks, the original ShrinkIt compression algorithm grabs a 4K chunk of data, compresses it with RLE, and then compresses the result with LZW (Lempel-Ziv-Welch).  A 16-bit CRC is computed on each compressed chunk.

+

 

+

All NuFX utilities can handle this algorithm.

+

 

+

Dynamic LZW/2

+

 

+

This is a slightly improved version of the original, first introduced in GS/ShrinkIt.  All NuFX utilities can handle this algorithm, making this the best choice for compressing Apple II files.

+

 

+

LZC-12

+

 

+

Before ShrinkIt was born, UNIX systems had the "compress" command.  A fairly pure implementation of the LZW algorithm, "compress" was widely used until the Unisys GIF/LZW controversy sped adoption of the superior "gzip".  LZC-12 produces output equivalent to "compress -b12", i.e. LZW with a maximum code length of 12 bits.

+

 

+

The algorithm was first supported in NuLib, and can be unpacked by NuLib, NuLib2, and GS/ShrinkIt.

+

 

+

LZC-16

+

 

+

Just like LZC-12, but the maximum code length is increased to 16 bits.  Usually offers improved compression over LZC-12, though it's only noticeable on larger files.

+

 

+

Same compatibility as LZC-12.

+

 

+

Deflate

+

 

+

This algorithm uses LZH (Lempel-Ziv + Huffman), which is in a different LZ family from LZW.  The algorithm became popular in archive utilities like LHArc, and eventually became the standard PKZIP archive format.  Some of the authors of the free "Info-Zip" utility decided to write a replacement for UNIX "compress" called GNU Zip ("gzip" for short), using the same algorithm.  It quickly became popular, and "deflate" is now defined as an Internet standard (RFC 1951), and is used for everything from file distribution to PNG graphics.  It was first implemented for NuFX archives in NuLib2 v1.1, and is the best general-purpose compression that CiderPress has to offer.

+

 

+

Unfortunately, few NuFX utilities can unpack this format.  It is unlikely you will ever be able to access "deflated" files on an Apple II.  Only use this for archives that will only be accessed from CiderPress or NuLib2.

+

 

+

Bzip2

+

 

+

This is a relatively new format that relies on the BWT (Burrows-Wheeler Transform) algorithm.  It is slower and more memory-intensive than "deflate", but does exceptionally well on large collections of text files or source code.  It is becoming the standard way to compress source code distributed on the Internet.  It is generally inferior to "deflate" on Apple II files, so unless you have an 800K disk image full of text files there's not much point in using it.

+

 

+

It was first implemented for NuFX archives in NuLib2 v1.1, and it is unlikely to be supported by anything else, so it's usually disabled in NufxLib.

+

+

+ diff --git a/app/MyApp.cpp b/app/MyApp.cpp index 9ecd5b2..876d433 100644 --- a/app/MyApp.cpp +++ b/app/MyApp.cpp @@ -12,6 +12,7 @@ #include "Registry.h" #include "Main.h" #include "DiskArchive.h" +#include "Help/PopUpIds.h" #include /* magic global that MFC finds (or that finds MFC) */ @@ -27,7 +28,6 @@ DebugLog* gDebugLog; */ MyApp::MyApp(LPCTSTR lpszAppName) : CWinApp(lpszAppName) { - gDebugLog = new DebugLog(L"C:\\src\\cplog.txt"); time_t now = time(NULL); @@ -42,6 +42,8 @@ MyApp::MyApp(LPCTSTR lpszAppName) : CWinApp(lpszAppName) tmpDbgFlag |= _CRTDBG_LEAK_CHECK_DF; _CrtSetDbgFlag(tmpDbgFlag); LOGI("Leak detection enabled"); + + EnableHtmlHelp(); } /* @@ -63,13 +65,13 @@ BOOL MyApp::InitInstance(void) m_pMainWnd->ShowWindow(m_nCmdShow); m_pMainWnd->UpdateWindow(); - LOGI("Happily in InitInstance!"); + LOGD("Happily in InitInstance!"); /* find our .EXE file */ //HMODULE hModule = ::GetModuleHandle(NULL); WCHAR buf[MAX_PATH]; if (::GetModuleFileName(NULL /*hModule*/, buf, NELEM(buf)) != 0) { - LOGI("Module name is '%ls'", buf); + LOGD("Module name is '%ls'", buf); fExeFileName = buf; WCHAR* cp = wcsrchr(buf, '\\'); @@ -78,8 +80,7 @@ BOOL MyApp::InitInstance(void) else fExeBaseName = fExeFileName.Left(cp - buf +1); } else { - LOGI("BIG problem: GetModuleFileName failed (err=%ld)", - ::GetLastError()); + LOGW("GLITCH: GetModuleFileName failed (err=%ld)", ::GetLastError()); } LogModuleLocation(L"riched.dll"); @@ -171,3 +172,359 @@ BOOL MyApp::OnIdle(LONG lCount) return bMore; } + +// TODO: figure out why we have help topics without matching control ID constants +/*static*/ const DWORD MyApp::PopUpHelpIds[] = { + IDOK, IDH_IDOK, + IDCANCEL, IDH_IDCANCEL, + IDHELP, IDH_IDHELP, + IDC_NUFXLIB_VERS_TEXT, IDH_NUFXLIB_VERS_TEXT, + IDC_CONTENT_LIST, IDH_CONTENT_LIST, + IDC_COL_PATHNAME, IDH_COL_PATHNAME, + IDC_COL_TYPE, IDH_COL_TYPE, + IDC_COL_AUXTYPE, IDH_COL_AUXTYPE, + IDC_COL_MODDATE, IDH_COL_MODDATE, + IDC_COL_FORMAT, IDH_COL_FORMAT, + IDC_COL_SIZE, IDH_COL_SIZE, + IDC_COL_RATIO, IDH_COL_RATIO, + IDC_COL_PACKED, IDH_COL_PACKED, + IDC_COL_ACCESS, IDH_COL_ACCESS, + IDC_COL_DEFAULTS, IDH_COL_DEFAULTS, + IDC_DEFC_UNCOMPRESSED, IDH_DEFC_UNCOMPRESSED, + IDC_DEFC_SQUEEZE, IDH_DEFC_SQUEEZE, + IDC_DEFC_LZW1, IDH_DEFC_LZW1, + IDC_DEFC_LZW2, IDH_DEFC_LZW2, + IDC_DEFC_LZC12, IDH_DEFC_LZC12, + IDC_DEFC_LZC16, IDH_DEFC_LZC16, + IDC_DEFC_DEFLATE, IDH_DEFC_DEFLATE, + IDC_DEFC_BZIP2, IDH_DEFC_BZIP2, + 1024, IDH_TOPIC1024, + IDC_PVIEW_NOWRAP_TEXT, IDH_PVIEW_NOWRAP_TEXT, + IDC_PVIEW_BOLD_HEXDUMP, IDH_PVIEW_BOLD_HEXDUMP, + IDC_PVIEW_BOLD_BASIC, IDH_PVIEW_BOLD_BASIC, + IDC_PVIEW_DISASM_ONEBYTEBRKCOP, IDH_PVIEW_DISASM_ONEBYTEBRKCOP, + IDC_PVIEW_HIRES_BW, IDH_PVIEW_HIRES_BW, + IDC_PVIEW_DHR_CONV_COMBO, IDH_PVIEW_DHR_CONV_COMBO, + IDC_PVIEW_HITEXT, IDH_PVIEW_HITEXT, + IDC_PVIEW_PASCALTEXT, IDH_PVIEW_PASCALTEXT, + IDC_PVIEW_APPLESOFT, IDH_PVIEW_APPLESOFT, + IDC_PVIEW_INTEGER, IDH_PVIEW_INTEGER, + IDC_PVIEW_HIRES, IDH_PVIEW_HIRES, + IDC_PVIEW_DHR, IDH_PVIEW_DHR, + IDC_PVIEW_SHR, IDH_PVIEW_SHR, + IDC_PVIEW_AWP, IDH_PVIEW_AWP, + IDC_PVIEW_PRODOSFOLDER, IDH_PVIEW_PRODOSFOLDER, + IDC_PVIEW_RESOURCES, IDH_PVIEW_RESOURCES, + IDC_PVIEW_RELAX_GFX, IDH_PVIEW_RELAX_GFX, + IDC_PVIEW_ADB, IDH_PVIEW_ADB, + IDC_PVIEW_SCASSEM, IDH_PVIEW_SCASSEM, + IDC_PVIEW_ASP, IDH_PVIEW_ASP, + IDC_PVIEW_MACPAINT, IDH_PVIEW_MACPAINT, + IDC_PVIEW_PASCALCODE, IDH_PVIEW_PASCALCODE, + IDC_PVIEW_CPMTEXT, IDH_PVIEW_CPMTEXT, + IDC_PVIEW_GWP, IDH_PVIEW_GWP, + IDC_PVIEW_DISASM, IDH_PVIEW_DISASM, + IDC_PVIEW_PRINTSHOP, IDH_PVIEW_PRINTSHOP, + IDC_PVIEW_TEXT8, IDH_PVIEW_TEXT8, + IDC_PVIEW_SIZE_EDIT, IDH_PVIEW_SIZE_EDIT, + IDC_PVIEW_SIZE_SPIN, IDH_PVIEW_SIZE_SPIN, + IDC_DISKEDIT_DOREAD, IDH_DISKEDIT_DOREAD, + IDC_DISKEDIT_DOWRITE, IDH_DISKEDIT_DOWRITE, + IDC_DISKEDIT_TRACK, IDH_DISKEDIT_TRACK, + IDC_DISKEDIT_TRACKSPIN, IDH_DISKEDIT_TRACKSPIN, + IDC_DISKEDIT_SECTOR, IDH_DISKEDIT_SECTOR, + IDC_DISKEDIT_SECTORSPIN, IDH_DISKEDIT_SECTORSPIN, + IDC_DISKEDIT_OPENFILE, IDH_DISKEDIT_OPENFILE, + IDC_DISKEDIT_EDIT, IDH_DISKEDIT_EDIT, + IDC_DISKEDIT_PREV, IDH_DISKEDIT_PREV, + IDC_DISKEDIT_NEXT, IDH_DISKEDIT_NEXT, + IDC_STEXT_SECTOR, IDH_STEXT_SECTOR, + IDC_STEXT_TRACK, IDH_STEXT_TRACK, + IDC_DISKEDIT_DONE, IDH_DISKEDIT_DONE, + IDC_DISKEDIT_HEX, IDH_DISKEDIT_HEX, + IDC_DISKEDIT_SUBVOLUME, IDH_DISKEDIT_SUBVOLUME, + 1082, IDH_TOPIC1082, + 1089, IDH_TOPIC1089, + IDC_DECONF_FSFORMAT, IDH_DECONF_FSFORMAT, + IDC_DECONF_SECTORORDER, IDH_DECONF_SECTORORDER, + IDC_DECONF_PHYSICAL, IDH_DECONF_PHYSICAL, + IDC_DECONF_FILEFORMAT, IDH_DECONF_FILEFORMAT, + IDC_DECONF_SOURCE, IDH_DECONF_SOURCE, + IDC_DISKIMG_VERS_TEXT, IDH_DISKIMG_VERS_TEXT, + IDC_FVIEW_EDITBOX, IDH_FVIEW_EDITBOX, + IDC_SELECTED_COUNT, IDH_SELECTED_COUNT, + 1103, IDH_TOPIC1103, + 1105, IDH_TOPIC1105, + IDC_DECONF_HELP, IDH_DECONF_HELP, + IDC_SUBV_LIST, IDH_SUBV_LIST, + IDC_DEFILE_FILENAME, IDH_DEFILE_FILENAME, + IDC_DEFILE_RSRC, IDH_DEFILE_RSRC, + IDC_CIDERPRESS_VERS_TEXT, IDH_CIDERPRESS_VERS_TEXT, + IDC_PREF_TEMP_FOLDER, IDH_PREF_TEMP_FOLDER, + IDC_CHOOSEDIR_TREE, IDH_CHOOSEDIR_TREE, + IDC_CHOOSEDIR_PATHEDIT, IDH_CHOOSEDIR_PATHEDIT, + IDC_CHOOSEDIR_EXPAND_TREE, IDH_CHOOSEDIR_EXPAND_TREE, + IDC_CHOOSEDIR_PATH, IDH_CHOOSEDIR_PATH, + IDC_CHOOSEDIR_NEW_FOLDER, IDH_CHOOSEDIR_NEW_FOLDER, + IDC_PREF_CHOOSE_TEMP_FOLDER, IDH_PREF_CHOOSE_TEMP_FOLDER, + IDC_FVIEW_FONT, IDH_FVIEW_FONT, + IDC_FVIEW_NEXT, IDH_FVIEW_NEXT, + IDC_FVIEW_PREV, IDH_FVIEW_PREV, + IDC_NEWFOLDER_CURDIR, IDH_NEWFOLDER_CURDIR, + IDC_NEWFOLDER_NAME, IDH_NEWFOLDER_NAME, + IDC_EXT_PATH, IDH_EXT_PATH, + IDC_EXT_CONVEOLTEXT, IDH_EXT_CONVEOLTEXT, + IDC_EXT_CONVEOLALL, IDH_EXT_CONVEOLALL, + IDC_EXT_STRIP_FOLDER, IDH_EXT_STRIP_FOLDER, + IDC_EXT_OVERWRITE_EXIST, IDH_EXT_OVERWRITE_EXIST, + IDC_EXT_SELECTED, IDH_EXT_SELECTED, + IDC_EXT_ALL, IDH_EXT_ALL, + IDC_EXT_REFORMAT, IDH_EXT_REFORMAT, + IDC_EXT_DATAFORK, IDH_EXT_DATAFORK, + IDC_EXT_RSRCFORK, IDH_EXT_RSRCFORK, + IDC_EXT_CONVEOLNONE, IDH_EXT_CONVEOLNONE, + IDC_EXT_CHOOSE_FOLDER, IDH_EXT_CHOOSE_FOLDER, + IDC_PROG_ARC_NAME, IDH_PROG_ARC_NAME, + IDC_PROG_FILE_NAME, IDH_PROG_FILE_NAME, + IDC_PROG_VERB, IDH_PROG_VERB, + IDC_PROG_TOFROM, IDH_PROG_TOFROM, + IDC_PROG_PROGRESS, IDH_PROG_PROGRESS, + IDC_OVWR_YES, IDH_OVWR_YES, + IDC_OVWR_YESALL, IDH_OVWR_YESALL, + IDC_OVWR_NO, IDH_OVWR_NO, + IDC_OVWR_NOALL, IDH_OVWR_NOALL, + IDC_OVWR_NEW_INFO, IDH_OVWR_NEW_INFO, + IDC_OVWR_RENAME, IDH_OVWR_RENAME, + IDC_OVWR_EXIST_NAME, IDH_OVWR_EXIST_NAME, + IDC_OVWR_EXIST_INFO, IDH_OVWR_EXIST_INFO, + IDC_OVWR_NEW_NAME, IDH_OVWR_NEW_NAME, + IDC_RENOVWR_SOURCE_NAME, IDH_RENOVWR_SOURCE_NAME, + IDC_RENOVWR_ORIG_NAME, IDH_RENOVWR_ORIG_NAME, + IDC_RENOVWR_NEW_NAME, IDH_RENOVWR_NEW_NAME, + IDC_SELECT_ACCEPT, IDH_SELECT_ACCEPT, + IDC_ADDFILES_PREFIX, IDH_ADDFILES_PREFIX, + IDC_ADDFILES_INCLUDE_SUBFOLDERS, IDH_ADDFILES_INCLUDE_SUBFOLDERS, + IDC_ADDFILES_STRIP_FOLDER, IDH_ADDFILES_STRIP_FOLDER, + IDC_ADDFILES_NOPRESERVE, IDH_ADDFILES_NOPRESERVE, + IDC_ADDFILES_PRESERVE, IDH_ADDFILES_PRESERVE, + IDC_ADDFILES_PRESERVEPLUS, IDH_ADDFILES_PRESERVEPLUS, + IDC_ADDFILES_STATIC1, IDH_ADDFILES_STATIC1, + IDC_ADDFILES_STATIC2, IDH_ADDFILES_STATIC2, + IDC_ADDFILES_STATIC3, IDH_ADDFILES_STATIC3, + IDC_ADDFILES_OVERWRITE, IDH_ADDFILES_OVERWRITE, + IDC_PREF_SHRINKIT_COMPAT, IDH_PREF_SHRINKIT_COMPAT, + IDC_USE_SELECTED, IDH_USE_SELECTED, + IDC_USE_ALL, IDH_USE_ALL, + IDC_RENAME_OLD, IDH_RENAME_OLD, + IDC_RENAME_NEW, IDH_RENAME_NEW, + IDC_RENAME_PATHSEP, IDH_RENAME_PATHSEP, + IDC_COMMENT_EDIT, IDH_COMMENT_EDIT, + IDC_COMMENT_DELETE, IDH_COMMENT_DELETE, + IDC_RECOMP_COMP, IDH_RECOMP_COMP, + IDC_PREF_ASSOCIATIONS, IDH_PREF_ASSOCIATIONS, + IDC_ASSOCIATION_LIST, IDH_ASSOCIATION_LIST, + IDC_REG_COMPANY_NAME, IDH_REG_COMPANY_NAME, + IDC_REG_EXPIRES, IDH_REG_EXPIRES, + IDC_ABOUT_ENTER_REG, IDH_ABOUT_ENTER_REG, + IDC_REGENTER_USER, IDH_REGENTER_USER, + IDC_REGENTER_COMPANY, IDH_REGENTER_COMPANY, + IDC_REGENTER_REG, IDH_REGENTER_REG, + IDC_REG_USER_NAME, IDH_REG_USER_NAME, + IDC_ZLIB_VERS_TEXT, IDH_ZLIB_VERS_TEXT, + IDC_EXT_CONVHIGHASCII, IDH_EXT_CONVHIGHASCII, + IDC_EXT_DISKIMAGE, IDH_EXT_DISKIMAGE, + IDC_EXT_DISK_2MG, IDH_EXT_DISK_2MG, + IDC_EXT_ADD_PRESERVE, IDH_EXT_ADD_PRESERVE, + IDC_EXT_ADD_EXTEN, IDH_EXT_ADD_EXTEN, + IDC_EXT_CONFIG_PRESERVE, IDH_EXT_CONFIG_PRESERVE, + IDC_EXT_CONFIG_CONVERT, IDH_EXT_CONFIG_CONVERT, + IDC_PREF_COERCE_DOS, IDH_PREF_COERCE_DOS, + IDC_PREF_SPACES_TO_UNDER, IDH_PREF_SPACES_TO_UNDER, + IDC_REGENTER_USERCRC, IDH_REGENTER_USERCRC, + IDC_REGENTER_COMPCRC, IDH_REGENTER_COMPCRC, + IDC_REGENTER_REGCRC, IDH_REGENTER_REGCRC, + IDC_RENAME_SKIP, IDH_RENAME_SKIP, + IDC_DECONF_VIEWASBLOCKS, IDH_DECONF_VIEWASBLOCKS, + IDC_DECONF_VIEWASSECTORS, IDH_DECONF_VIEWASSECTORS, + IDC_DECONF_VIEWASNIBBLES, IDH_DECONF_VIEWASNIBBLES, + IDC_DECONF_OUTERFORMAT, IDH_DECONF_OUTERFORMAT, + IDC_DECONF_VIEWAS, IDH_DECONF_VIEWAS, + IDC_IMAGE_TYPE, IDH_IMAGE_TYPE, + IDC_DISKCONV_DOS, IDH_DISKCONV_DOS, + IDC_DISKCONV_DOS2MG, IDH_DISKCONV_DOS2MG, + IDC_DISKCONV_PRODOS, IDH_DISKCONV_PRODOS, + IDC_DISKCONV_PRODOS2MG, IDH_DISKCONV_PRODOS2MG, + IDC_DISKCONV_NIB, IDH_DISKCONV_NIB, + IDC_DISKCONV_NIB2MG, IDH_DISKCONV_NIB2MG, + IDC_DISKCONV_D13, IDH_DISKCONV_D13, + IDC_DISKCONV_DC42, IDH_DISKCONV_DC42, + IDC_DISKCONV_SDK, IDH_DISKCONV_SDK, + IDC_DISKCONV_TRACKSTAR, IDH_DISKCONV_TRACKSTAR, + IDC_DISKCONV_HDV, IDH_DISKCONV_HDV, + IDC_DISKCONV_DDD, IDH_DISKCONV_DDD, + IDC_DISKCONV_GZIP, IDH_DISKCONV_GZIP, + IDC_DISKEDIT_NIBBLE_PARMS, IDH_DISKEDIT_NIBBLE_PARMS, + IDC_PROPS_PATHNAME, IDH_PROPS_PATHNAME, + IDC_PROPS_FILETYPE, IDH_PROPS_FILETYPE, + IDC_PROPS_AUXTYPE, IDH_PROPS_AUXTYPE, + IDC_PROPS_ACCESS_R, IDH_PROPS_ACCESS_R, + IDC_PROPS_ACCESS_W, IDH_PROPS_ACCESS_W, + IDC_PROPS_ACCESS_N, IDH_PROPS_ACCESS_N, + IDC_PROPS_ACCESS_D, IDH_PROPS_ACCESS_D, + IDC_PROPS_ACCESS_I, IDH_PROPS_ACCESS_I, + IDC_PROPS_ACCESS_B, IDH_PROPS_ACCESS_B, + IDC_PROPS_MODWHEN, IDH_PROPS_MODWHEN, + IDC_PROPS_TYPEDESCR, IDH_PROPS_TYPEDESCR, + 1269, IDH_TOPIC1269, + IDC_CONVFILE_PRESERVEDIR, IDH_CONVFILE_PRESERVEDIR, + IDC_CONVDISK_140K, IDH_CONVDISK_140K, + IDC_CONVDISK_800K, IDH_CONVDISK_800K, + IDC_CONVDISK_1440K, IDH_CONVDISK_1440K, + IDC_CONVDISK_5MB, IDH_CONVDISK_5MB, + IDC_CONVDISK_16MB, IDH_CONVDISK_16MB, + IDC_CONVDISK_20MB, IDH_CONVDISK_20MB, + IDC_CONVDISK_32MB, IDH_CONVDISK_32MB, + IDC_CONVDISK_SPECIFY, IDH_CONVDISK_SPECIFY, + IDC_IMAGE_SIZE_TEXT, IDH_IMAGE_SIZE_TEXT, + IDC_BULKCONV_PATHNAME, IDH_BULKCONV_PATHNAME, + IDC_PREF_EXTVIEWER_EXTS, IDH_PREF_EXTVIEWER_EXTS, + IDC_VOLUME_LIST, IDH_VOLUME_LIST, + IDC_OPENVOL_READONLY, IDH_OPENVOL_READONLY, + IDC_VOLUMECOPYPROG_FROM, IDH_VOLUMECOPYPROG_FROM, + IDC_VOLUMECOPYPROG_TO, IDH_VOLUMECOPYPROG_TO, + IDC_VOLUMECOPYPROG_PROGRESS, IDH_VOLUMECOPYPROG_PROGRESS, + IDC_CONVDISK_SPECIFY_EDIT, IDH_CONVDISK_SPECIFY_EDIT, + IDC_CONVDISK_COMPUTE, IDH_CONVDISK_COMPUTE, + IDC_DEOW_FILE, IDH_DEOW_FILE, + IDC_CONVDISK_SPACEREQ, IDH_CONVDISK_SPACEREQ, + IDC_DEOW_VOLUME, IDH_DEOW_VOLUME, + IDC_DEOW_CURRENT, IDH_DEOW_CURRENT, + 1306, IDH_TOPIC1306, + IDC_CONVDISK_VOLNAME, IDH_CONVDISK_VOLNAME, + IDC_VOLUME_FILTER, IDH_VOLUME_FILTER, + IDC_VOLUMECOPYSEL_LIST, IDH_VOLUMECOPYSEL_LIST, + IDC_VOLUEMCOPYSEL_TOFILE, IDH_VOLUEMCOPYSEL_TOFILE, + IDC_VOLUEMCOPYSEL_FROMFILE, IDH_VOLUEMCOPYSEL_FROMFILE, + IDC_CREATEFS_DOS32, IDH_CREATEFS_DOS32, + IDC_CREATEFS_DOS33, IDH_CREATEFS_DOS33, + IDC_CREATEFS_PRODOS, IDH_CREATEFS_PRODOS, + IDC_CREATEFS_PASCAL, IDH_CREATEFS_PASCAL, + IDC_CREATEFS_HFS, IDH_CREATEFS_HFS, + IDC_CREATEFS_BLANK, IDH_CREATEFS_BLANK, + 1320, IDH_TOPIC1320, + IDC_CREATEFSDOS_ALLOCDOS, IDH_CREATEFSDOS_ALLOCDOS, + IDC_CREATEFSDOS_VOLNUM, IDH_CREATEFSDOS_VOLNUM, + IDC_CREATEFSPRODOS_VOLNAME, IDH_CREATEFSPRODOS_VOLNAME, + IDC_CREATEFSPASCAL_VOLNAME, IDH_CREATEFSPASCAL_VOLNAME, + IDC_ASPI_VERS_TEXT, IDH_ASPI_VERS_TEXT, + IDC_PREF_SUCCESS_BEEP, IDH_PREF_SUCCESS_BEEP, + IDC_ADD_TARGET_TREE, IDH_ADD_TARGET_TREE, + IDC_AIDISK_SUBVOLSEL, IDH_AIDISK_SUBVOLSEL, + IDC_AIDISK_NOTES, IDH_AIDISK_NOTES, + IDC_AI_FILENAME, IDH_AI_FILENAME, + IDC_AIBNY_RECORDS, IDH_AIBNY_RECORDS, + IDC_AINUFX_FORMAT, IDH_AINUFX_FORMAT, + IDC_AINUFX_RECORDS, IDH_AINUFX_RECORDS, + IDC_AINUFX_MASTERVERSION, IDH_AINUFX_MASTERVERSION, + IDC_AINUFX_CREATEWHEN, IDH_AINUFX_CREATEWHEN, + IDC_AINUFX_MODIFYWHEN, IDH_AINUFX_MODIFYWHEN, + IDC_AINUFX_JUNKSKIPPED, IDH_AINUFX_JUNKSKIPPED, + IDC_AIDISK_OUTERFORMAT, IDH_AIDISK_OUTERFORMAT, + IDC_AIDISK_FILEFORMAT, IDH_AIDISK_FILEFORMAT, + IDC_AIDISK_PHYSICALFORMAT, IDH_AIDISK_PHYSICALFORMAT, + IDC_AIDISK_SECTORORDER, IDH_AIDISK_SECTORORDER, + IDC_AIDISK_FSFORMAT, IDH_AIDISK_FSFORMAT, + IDC_AIDISK_FILECOUNT, IDH_AIDISK_FILECOUNT, + IDC_AIDISK_CAPACITY, IDH_AIDISK_CAPACITY, + IDC_AIDISK_FREESPACE, IDH_AIDISK_FREESPACE, + IDC_AIDISK_DAMAGED, IDH_AIDISK_DAMAGED, + IDC_AIDISK_WRITEABLE, IDH_AIDISK_WRITEABLE, + IDC_PDISK_CONFIRM_FORMAT, IDH_PDISK_CONFIRM_FORMAT, + IDC_PDISK_PRODOS_ALLOWLOWER, IDH_PDISK_PRODOS_ALLOWLOWER, + IDC_PDISK_PRODOS_USESPARSE, IDH_PDISK_PRODOS_USESPARSE, + IDC_FVIEW_PRINT, IDH_FVIEW_PRINT, + IDC_CREATESUBDIR_BASE, IDH_CREATESUBDIR_BASE, + IDC_CREATESUBDIR_NEW, IDH_CREATESUBDIR_NEW, + IDC_RENAMEVOL_TREE, IDH_RENAMEVOL_TREE, + IDC_RENAMEVOL_NEW, IDH_RENAMEVOL_NEW, + IDC_ADDFILES_CONVEOLNONE, IDH_ADDFILES_CONVEOLNONE, + IDC_ADDFILES_CONVEOLTEXT, IDH_ADDFILES_CONVEOLTEXT, + IDC_ADDFILES_CONVEOLALL, IDH_ADDFILES_CONVEOLALL, + IDC_ADDFILES_STATIC4, IDH_ADDFILES_STATIC4, + IDC_PROPS_CREATEWHEN, IDH_PROPS_CREATEWHEN, + IDC_EOLSCAN_CR, IDH_EOLSCAN_CR, + IDC_EOLSCAN_LF, IDH_EOLSCAN_LF, + IDC_EOLSCAN_CRLF, IDH_EOLSCAN_CRLF, + IDC_EOLSCAN_CHARS, IDH_EOLSCAN_CHARS, + IDC_PREF_PASTE_JUNKPATHS, IDH_PREF_PASTE_JUNKPATHS, + IDC_EXT_CONVEOLTYPE, IDH_EXT_CONVEOLTYPE, + IDC_ADDFILES_CONVEOLTYPE, IDH_ADDFILES_CONVEOLTYPE, + IDC_TWOIMG_LOCKED, IDH_TWOIMG_LOCKED, + IDC_TWOIMG_DOSVOLSET, IDH_TWOIMG_DOSVOLSET, + IDC_TWOIMG_DOSVOLNUM, IDH_TWOIMG_DOSVOLNUM, + IDC_TWOIMG_COMMENT, IDH_TWOIMG_COMMENT, + IDC_TWOIMG_CREATOR, IDH_TWOIMG_CREATOR, + IDC_TWOIMG_VERSION, IDH_TWOIMG_VERSION, + IDC_TWOIMG_FORMAT, IDH_TWOIMG_FORMAT, + IDC_TWOIMG_BLOCKS, IDH_TWOIMG_BLOCKS, + IDC_FVIEW_DATA, IDH_FVIEW_DATA, + IDC_FVIEW_RSRC, IDH_FVIEW_RSRC, + IDC_FVIEW_CMMT, IDH_FVIEW_CMMT, + IDC_FVIEW_FORMATSEL, IDH_FVIEW_FORMATSEL, + IDC_FVIEW_FMT_HEX, IDH_FVIEW_FMT_HEX, + IDC_FVIEW_FMT_RAW, IDH_FVIEW_FMT_RAW, + IDC_FVIEW_FMT_BEST, IDH_FVIEW_FMT_BEST, + IDC_PDISK_OPENVOL_RO, IDH_PDISK_OPENVOL_RO, + IDC_EOLSCAN_HIGHASCII, IDH_EOLSCAN_HIGHASCII, + IDC_CASSETTE_LIST, IDH_CASSETTE_LIST, + IDC_IMPORT_CHUNK, IDH_IMPORT_CHUNK, + IDC_CASSETTE_ALG, IDH_CASSETTE_ALG, + IDC_CASSETTE_INPUT, IDH_CASSETTE_INPUT, + IDC_CASSIMPTARG_FILENAME, IDH_CASSIMPTARG_FILENAME, + IDC_CASSIMPTARG_BAS, IDH_CASSIMPTARG_BAS, + IDC_CASSIMPTARG_INT, IDH_CASSIMPTARG_INT, + IDC_CASSIMPTARG_BIN, IDH_CASSIMPTARG_BIN, + IDC_CASSIMPTARG_BINADDR, IDH_CASSIMPTARG_BINADDR, + IDC_CASSIMPTARG_RANGE, IDH_CASSIMPTARG_RANGE, + IDC_CLASH_RENAME, IDH_CLASH_RENAME, + IDC_CLASH_SKIP, IDH_CLASH_SKIP, + IDC_CLASH_WINNAME, IDH_CLASH_WINNAME, + IDC_CLASH_STORAGENAME, IDH_CLASH_STORAGENAME, + IDC_PREF_REDUCE_SHK_ERROR_CHECKS, IDH_PREF_REDUCE_SHK_ERROR_CHECKS, + IDC_IMPORT_BAS_RESULTS, IDH_IMPORT_BAS_RESULTS, + IDC_IMPORT_BAS_SAVEAS, IDH_IMPORT_BAS_SAVEAS, + IDC_FVIEW_FIND, IDH_FVIEW_FIND, + IDC_CREATEFSHFS_VOLNAME, IDH_CREATEFSHFS_VOLNAME, + IDC_PROPS_HFS_FILETYPE, IDH_PROPS_HFS_FILETYPE, + IDC_PROPS_HFS_AUXTYPE, IDH_PROPS_HFS_AUXTYPE, + IDC_PROPS_HFS_MODE, IDH_PROPS_HFS_MODE, + IDC_PROPS_HFS_LABEL, IDH_PROPS_HFS_LABEL, + IDC_PASTE_SPECIAL_COUNT, IDH_PASTE_SPECIAL_COUNT, + IDC_PASTE_SPECIAL_PATHS, IDH_PASTE_SPECIAL_PATHS, + IDC_PASTE_SPECIAL_NOPATHS, IDH_PASTE_SPECIAL_NOPATHS, + IDC_PROGRESS_COUNTER_COUNT, IDH_PROGRESS_COUNTER_COUNT, + IDC_PROGRESS_COUNTER_DESC, IDH_PROGRESS_COUNTER_DESC, + IDC_PDISK_OPENVOL_PHYS0, IDH_PDISK_OPENVOL_PHYS0, + IDC_PREF_SHK_BAD_MAC, IDH_PREF_SHK_BAD_MAC, + 0 +}; + +/*static*/ BOOL MyApp::HandleHelpInfo(HELPINFO* lpHelpInfo) +{ + CString path(gMyApp.m_pszHelpFilePath); + path += "::/PopUp.txt"; + + LOGD("HandleHelpInfo ID=%d", lpHelpInfo->iCtrlId); + ::HtmlHelp((HWND) lpHelpInfo->hItemHandle, path, + HH_TP_HELP_WM_HELP, (DWORD) PopUpHelpIds); + + return TRUE; +} + +/*static*/ void MyApp::HandleHelp(CWnd* pWnd, DWORD topicId) +{ + CWnd* pParent = pWnd->GetTopLevelParent(); + LOGD("HandleHelp ID=%lu parent=%p", topicId, pParent); + ::HtmlHelp(pParent->m_hWnd, gMyApp.m_pszHelpFilePath, + HH_HELP_CONTEXT, topicId); +} diff --git a/app/MyApp.h b/app/MyApp.h index fdd4718..76860df 100644 --- a/app/MyApp.h +++ b/app/MyApp.h @@ -31,6 +31,16 @@ public: const WCHAR* GetExeFileName(void) const { return fExeFileName; } const WCHAR* GetExeBaseName(void) const { return fExeBaseName; } + /* + * Handles pop-up help requests. Call this from OnHelpInfo. + */ + static BOOL HandleHelpInfo(HELPINFO* lpHelpInfo); + + /* + * Handles help topic requests. Call this from OnHelp. + */ + static void HandleHelp(CWnd* pWnd, DWORD topicId); + private: virtual BOOL InitInstance(void) override; virtual BOOL OnIdle(LONG lCount) override; @@ -42,6 +52,15 @@ private: */ void LogModuleLocation(const WCHAR* name); + /* + * This holds pairs of control IDs and popup help IDs, for use by + * HtmlHelp HH_TP_HELP_WM_HELP. + * + * The control and help ID values are identical just to make life + * simpler, but we need a table anyway. + */ + static const DWORD PopUpHelpIds[]; + CString fExeFileName; CString fExeBaseName; }; diff --git a/app/app.vcxproj b/app/app.vcxproj index 8f23832..503e576 100644 --- a/app/app.vcxproj +++ b/app/app.vcxproj @@ -46,11 +46,13 @@ $(SolutionDir)$(Configuration)\ $(Configuration)\ false + CiderPress $(SolutionDir)$(Configuration)\ $(Configuration)\ true + CiderPress @@ -81,6 +83,7 @@ Windows MachineX86 + htmlhelp.lib NDEBUG;%(PreprocessorDefinitions) @@ -91,8 +94,8 @@ - - + Copy HtmlHelp file + copy $(ProjectDir)\Help\CiderPress.chm $(OutDir) NDEBUG;%(PreprocessorDefinitions) @@ -126,6 +129,7 @@ Windows MachineX86 + htmlhelp.lib _DEBUG;%(PreprocessorDefinitions) @@ -140,6 +144,12 @@ _DEBUG;%(PreprocessorDefinitions) 0x0409 + + copy $(ProjectDir)\Help\CiderPress.chm $(OutDir) + + + Copy HtmlHelp file + @@ -221,9 +231,6 @@ - - - {0cfe6fad-0126-4e99-8625-c807d1d2aaf4} diff --git a/app/app.vcxproj.filters b/app/app.vcxproj.filters index 70b890c..422234e 100644 --- a/app/app.vcxproj.filters +++ b/app/app.vcxproj.filters @@ -242,9 +242,6 @@ Resource Files - - - Source Files

Quick overview of CiderPress features.