Commit Graph

199 Commits

Author SHA1 Message Date
Andy McFadden
5f5c089506 Update to Visual Studio 2022 2022-06-15 08:17:39 -07:00
Andy McFadden
f63738444c Version 4.1.1-d1 2022-01-07 11:35:36 -08:00
Andy McFadden
2cb5bf0dcc Fix file viewer layout
If scaling > 100% is enabled on the primary display, the controls in
the dialog window get bigger.  The file viewer uses hard-coded values
for the initial and minimum window size, which causes the expanded
controls to draw on top of each other.  (Issue #53.)

We now query the system for the scale factor, and adjust the window
size accordingly.
2022-01-07 11:34:46 -08:00
Andy McFadden
b42cc8efe9 Fix Linux build
gcc is justifiably annoyed by variable initialization crossed by
a goto.

(issue #51)
2021-09-07 13:36:28 -07:00
Andy McFadden
5950cb7c74 Version 4.1.0 2021-08-16 15:20:10 -07:00
Andy McFadden
b87037b75e Version 4.1.0-d3 2021-07-23 19:24:15 -07:00
Andy McFadden
d39c61255c Work around ProDOS sparse block issue
It appears that some programs, notably Copy ][+ and the GS/OS FST,
expect that the first block of a sparse file will always be
allocated, even if it's just 512 zeroes.  I've only seen this fail
in cases where the first entry in the master index block of a "tree"
file is zero, because the first 128KB are sparse, but rumor has it
that the issue can affect "sapling" files as well.

This changes CiderPress to work the way ProDOS does: always allocate
a block to hold the first 512 bytes of the file.  The only exception
to this is a file that is nothing but zeroes (perhaps populated by
creating a file and setting its EOF to something large), which can
be stored as a seedling.

(for issues #15 and #49)
2021-07-23 18:52:23 -07:00
Andy McFadden
e098069b10 Version 4.1.0-d2 2021-05-10 17:42:39 -07:00
Andy McFadden
6de7cfefc0 Properly restore negative window positions
It's okay to have the window off the top/left edge of the primary
display, but CiderPress was rejecting the values and reverting to
default placement.

(for issue #41)
2021-05-10 16:01:45 -07:00
Andy McFadden
e782a9df6e Update README to note loss of WinXP support 2021-05-10 14:51:37 -07:00
Andy McFadden
4235b47748 Save and restore main window placement
Windows' default behavior is apparently to fill the display with the
app window, capped at 1920x1200.  This is annoyingly large for most
situations.

We now save the main window rect (LTRB) and maximization status in
the configuration area of the registry.  The window placement calls
are supposed to do something reasonable when the window would be
completely off-screen (e.g. because a secondary monitor was disabled).
2021-05-10 14:15:49 -07:00
Andy McFadden
eff69cce86 Fix a few compiler warnings
Mostly uninitialized class members.  Should not cause a change in
behavior.
2021-05-09 18:43:59 -07:00
Andy McFadden
adaeb2c6eb Fix warnings
Added explicit casts and class initializers.  The problems were
identified by the VS2019 compiler.
2021-04-24 13:43:04 -07:00
Andy McFadden
8a6a4ada5c Update to latest build tools (breaks WinXP)
This updates the project to use the VS2019 toolchain (v142).  Note
this breaks WinXP compatibility.

The MFC and VC runtime DLLs have been updated from v120 to v140.

The program version has been updated to v4.1.0-d1.
2021-04-24 11:38:41 -07:00
Andy McFadden
295d9c269c Version 4.0.5 2021-04-24 10:05:44 -07:00
Andy McFadden
9698f46eae Revert "Workaround for egregious window placement behavior"
This reverts commit 0a317cb0e7.
2021-04-24 09:59:35 -07:00
Andy McFadden
17689a7b23 Merge branch 'master' of https://github.com/fadden/ciderpress 2021-04-18 17:16:58 -07:00
Andy McFadden
1f17f9747d Version 4.0.5-d2 2021-04-18 17:16:29 -07:00
Andy McFadden
0a317cb0e7 Workaround for egregious window placement behavior
Windows is currently creating the main window at near-maximal size.
It used to remember the size and placement, but no longer does.

As a workaround, the initial size is set to 1150x800, which is large
enough to show all columns without scrolling even with very wide
pathnames.  With some effort this could be modified to respect the
maximum size of the monitor on which it will be displayed, so that
anyone still running at 1024x768 won't be in a bad place.

Ideally it would remember the previous size and position.  See
issue #41 for discussion.
2021-04-18 17:06:01 -07:00
Andy McFadden
27cefa61d3
Merge pull request #47 from markdavidlong/dosnames
Raw Filename Accessor in A2File, et al.
2021-03-01 16:16:11 -08:00
mlong
8813a5efd9 Fixed typo. 2021-02-28 12:28:27 -06:00
mlong
dcefd2d2b6 Fixed a couple of stupid copy/paste errors 2021-02-27 18:24:28 -06:00
mlong
db3ca0a8ca Added file length size option to getRawFileName 2021-02-27 16:51:40 -06:00
mlong
fd4ac77bcf Added raw filename to A2File and children. Handled in RDOS and DOS types, especially. 2021-02-26 18:36:20 -06:00
mlong
95c0ec7348 Updating .gitignore 2021-02-26 18:12:29 -06:00
Andy McFadden
7c637c4e6d Fix MakeDisk utility
This addresses two issues: (1) failing to check for regular files;
(2) failing to test for files larger than 2GB.

(issue #44)
2020-11-07 09:17:14 -08:00
Andy McFadden
9de0b42147 Update dist config 2020-08-03 13:59:43 -07:00
Andy McFadden
008d13a4b1 Version 4.0.5-d1 2020-08-03 13:52:38 -07:00
Andy McFadden
5e9d8f0102 Fix crash in IsSCAssem
The test for "is this an S-C Assembler source file" tried to
dereference a null pointer when asked to examine a file with a
zero-length data fork.  The test only fires for files with type=INT
and auxType=0, so this is pretty hard to hit.  The specific failing
case had a damaged file with the appropriate file type.

Issue #42
2020-08-03 13:47:42 -07:00
Andy McFadden
a85ceca75f Version 4.0.4 2020-07-23 14:53:58 -07:00
Andy McFadden
fb25998be5 Fix handling of ProDOS disks with short volume directories
The ProDOS code was assuming that the volume directory was 4 blocks
long.  Some disks, such as the ProDOS 2.4.2 distribution disk, only
use the first two blocks.  CiderPress now scans the volume directory
to determine the actual length.

Fixes issue #32.
2020-07-23 14:12:16 -07:00
Andy McFadden
21151cd76a Version 4.0.4-d2 2020-07-12 11:10:44 -07:00
Andy McFadden
e5ac0ac631 Fix OMF version confusion
VERSION=0/1/2 corresponds, simply, to v0/v1/v2, where v0 was only
used for some older 8-bit Orca/M stuff.  v2.1 can be detected by
looking for the optional "tempOrg" field.

Also, allow the disk version number to be set to zero in 2IMG images.
2020-06-25 14:12:29 -07:00
Andy McFadden
e625ab5f3a Version 4.0.4-d1
The latest DeployMaster got fussy about registry keys and whether
it's installing for the computer or a single user.  Seemed to work
okay on my system.
2020-03-26 11:09:20 -07:00
Andy McFadden
8d5e07e683 Allow files larger than 16MB to be added to HFS volumes
Ideally this would add a "what's your limit" call to the disk image
library, but this will do for now.
2020-03-26 11:08:24 -07:00
Andy McFadden
8ecb8e35eb Fix INSTR( token in Apple /// Business BASIC
Should be "INSTR(" rather than "INSTR$(".  Fixes issue #38.
2019-10-27 08:05:12 -07:00
Andy McFadden
31197837fe Update version to 4.0.3 2017-12-12 10:54:20 -08:00
Andy McFadden
da182e1c61 Change file extraction extension handling
When extracting files, you can ask CiderPress to add a file extension
by checking the "add file extension" box.  Whether or not this box
is checked, files that undergo a format conversion (e.g. AWP to RTF,
or SHR to BMP) have a file extension added to identify the file's
new format.

This turned out to be confusing and inconvenient at times, notably
when working with Merlin source files.  See issues #10 and #26 on
github for details.

CiderPress no longer adds file extensions to format-converted files
unless the "add file extension" box is checked.  (The "Configure for
easy access in Windows" button checks this box for you, so the
default behavior is still "safe".)

Also, fix a minor visual glitch in the extract dialog.

Also, update to version 4.0.3-a3.
2017-12-01 13:48:50 -08:00
Andy McFadden
1c2b187a32 Release v4.0.3-a2 2017-11-13 14:33:08 -08:00
Andy McFadden
2adbe9591f Add optional MouseText-to-ASCII conversion
The AWP5 MouseText output is okay for some things but not others.
This adds an ASCII conversion, enabled through a preference.
2017-11-13 14:24:58 -08:00
Andy McFadden
3d88397024 Adjust width of extract dialog
The last letter of "Auto-detect & convert files with text" was being
cut off.
2017-11-13 12:59:34 -08:00
Andy McFadden
35a897b248 Add support for AW5 inverse and MouseText
AppleWorks 5 added inverse text and MouseText.  We can handle inverse
text with RTF features, and convert MouseText to something vaguely
similar in the Unicode symbol set.
2017-11-11 14:53:28 -08:00
Andy McFadden
640959dad5 Fix 64-bit math error
32-bit * 32-bit = 32-bit, so disk images with partitions whose size
exceeded the capacity of a 32-bit int were coming out wrong.

Updated version to 4.0.3-a1.
2017-10-30 10:17:54 -07:00
Andy McFadden
c2e3fb8353 Update version for v4.0.2 release 2017-09-22 17:40:23 -07:00
Andy McFadden
d35a9670b5 Rework Super Hi-Res handling, particularly APF
We weren't handling oddly sized images well.  This was mostly a
problem for Apple Preferred Format, PNT/$0002.
2017-09-22 16:23:33 -07:00
Andy McFadden
549342b3d9 Fix file viewer glitch with empty output
The file viewer was seeing zero-length formatted output and assuming
that it was the result of zero-length input.  This is a problem
because the code disables the format options when there's nothing to
format.  This resulted in the strange behavior noted in issue #14.

Now the "is source empty" value is passed explicitly, and we display
a different message when the formatter fails.
2017-09-22 11:25:08 -07:00
Andy McFadden
9f0640142d Update deploy file for v4.0.2-a3 2017-09-21 15:06:38 -07:00
Andy McFadden
1797536793 Update version to 4.0.2-a3 2017-09-21 13:59:33 -07:00
Andy McFadden
8e326f2f62 Fix for issue #20
Reject NuDateTime structs with invalid fields.  Passing bogus values
to the ATL CTime constructor does bad things.
2017-09-21 12:20:16 -07:00
Andy McFadden
a8c2e4cfd6 Bump copyright date 2016-01-11 13:52:30 -08:00