Coder Social home page Coder Social logo

fadden / ciderpress Goto Github PK

View Code? Open in Web Editor NEW
128.0 18.0 25.0 22.75 MB

CiderPress Apple II archive utility for Windows

Home Page: https://a2ciderpress.com/

License: Other

C++ 64.47% C 27.96% HTML 7.25% Shell 0.11% Makefile 0.18% Batchfile 0.01% Clarion 0.03%
apple2

ciderpress's People

Contributors

boblaublaw avatar fadden avatar markdavidlong avatar polluks avatar salfter avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

ciderpress's Issues

create 32Mb image misses the last block

When I ask CiderPress 4.03 to create a 32Mb images, the file size is 0x1FFFE00 long, instead of 0x2000000 (but 16Mb images are 0x1000000 as expected). That prevents ProDOS from using the last block in the image, and of concatenating images to produce a CFFA multi-partition image.

Linux Utilities / getfile

Hi there,

Every time i use getfile i receive this message:
nufxlib: ERROR: Not a NuFX archive? Got 0xa20100001200...

How to edit the code to remove this message?

Inconsistent file extension handling during extraction

From https://groups.google.com/d/msg/comp.sys.apple2/8VTjK-kMZXo/X3xbW_M0CQAJ :

"I have a question regarding the behaviour of the Extract files / Add type extension feature.
When I export more than one Merlin source code, I click on "easy access in Windows" and uncheck "add type extension", then the first file keeps its .S extension, others have the .TXT extension added. I'd like all not to have the .TXT extension as the option is unchecked.

I think this is a bug and I do not find it corrected on your changelog page."

Possibly related to issue #9 and issue #10.

Incorrect file size on this file

ftp://ftp.apple.asimov.com/pub/apple_II/images/games/file_based/escape_taipan_u-boatcommand.dsk

Taipan and Taipan Instructions report as 144 bytes in Ciderpress and cannot be copy/pasted. But Copy II+ or even the most standard and basic file copier of all time, FID, from the System Master disk, can make a copy.

How to edit BASIC files

I have a disk with a HELLO in BAS (#fc0801) format. I want to edit it (change the code). How to do that? I have exported to TXT file in windows, and tried to import after editing, but it fails to load in AppleWin.

HELLO.txt

10 HOME
20 PRINT "DISQUETE:"
30 PRINT "OPERADOR:"
40 VTAB(2): PRINT CHR$(4);"CATALOG"
50 NEW
60 END

Rename to HELLO#fc0801 (or HELLO.BAS)

Open CiderPress > Add Files > Select HELLO#fc0801

Select

  • Use tags and guess type from extension
  • Convert text files by file type

Click Accept

The result is corrupted (look 1st line) and don't load in AppleWin:

 18464 OME
20 PRINT "DISQUETE:"
30 PRINT "OPERADOR:"
40 VTAB(2): PRINT CHR$(4);"CATALOG"
50 NEW
60 END

Remember window size

Every time I launch Ciderpress it creates a window that is 3820 pixels wide on my monitor. So the first thing I have to do is reduce the width of the window. It would be nice if it remembered the window size.

Provide option to extract with conversion and keep original filenames

To facilitate moving source files out of an archive for use on Windows with Merlin32, I would like to have an option to extract files with conversion but to keep the filename unchanged.
Currently, Merlin source files are extracted with .TXT suffix. It is annoying to have to rename them.

Improve handling of ambiguously-sized media

I have a 256MB CF card in a USB reader plugged into a Windows 10 system. It takes 30+ seconds for CiderPress to open the volume, during which time it appears to be hung.

The problem is that the CF card or reader is unable to report the size of the card, so CiderPress has to probe for it by reading blocks and seeing which succeed and which fail. Bad blocks take a second or two to return an error, so the whole process takes quite a while.

CiderPress should show some sort of progress dialog with a cancel button while this is going on.

CiderPress crashes when extracting files on WinXP

Ciderpress CTD's when extracting files from a floppy image to the PC's hard disk, if you try canceling it while it is extracting.

I was working with a prodos image at the time, if that makes any difference..

Feature Request: Retain (or Change) Volume Name when Restoring a Volume

I noticed that copying entire volumes (from a *.po file) also overwrites the partition name. Could that be an option? I want the contents of the partition (e.g. the games partition from whatisthe2gs.com), but I prefer my partition name, "GAMES," than the author's original partition name, "G."

Thank you for your consideration and for all of the dedication and hard work in providing this amazing utility to the Apple II community.

MDC to output filename from within zip file archive

Refer to ftp.apple.asimov.net/images/gs/sound/midi/midi1.zip
It contains one file: Bach Art of Fugue.2mg
Running through MDC produces the following (partially redacted at '...'):

MDC for Windows v3.0.0 (DiskImg library v5.0.1)
Copyright (C) 2014 by faddenSoft, LLC. All rights reserved.
MDC is part of CiderPress, available from http://www.a2ciderpress.com/.
Linked against NufxLib v3.1.0 and zlib v1.2.8
...
File: midi1.zip
Disk: ProDOS /BACH1 (800KB)
Name Type Auxtyp Modified Format Length

ABOUTBACHFUG TXT $0000 11-Jan-94 21:37 ProDOS 1458
...

Notice that the filename of the image within the zipfile is not output by MDC.
I'd like to see that filename (Bach Art of Fugue.2mg) as it could provide useful context to the contents.

Allow saving of files in file viewer

allow to save files as converted like when you wanto save after converting pictures to windows , save as bmp or gif, jpg, etc and other files like word, text, etc saved as rtf or text, etc

Handle reconstitution of resources that have been split by Mac OS X into ._<filename>

I received a source zip with files in it with resource forks split like this (AppleDouble format):
\TCZ.TermGS\TC.TERM.res
\TCZ.TermGS._TC.TERM.res

I gather this was created when OS X copied the files to an SMB share.
Wikipedia says:
"OS X supports resource forks on Windows SMB shares by creating a hidden file in the same directory with the data fork file, with the characters "._" at the beginning of the file name."

I didn't realise they were split out because I had 'Do not show hidden files' option set in Windows Explorer. I discovered them when I added the entire folder to an SHK archive where they were visible.

My request is, when adding files that have been split in this way, reconstitute the resource fork on the file inside the SHK archive. I know Ciderpress has its own mechanism for splitting resource forks out and does reconstitute those, so this is hopefully a simple extension so support.

File Viewer window displays incorrectly on high DPI displays

On high DPI displays with greater than 100% display scaling enabled, the File Viewer dialog doesn't display properly. When it initially comes up, the window is too narrow, causing buttons to draw on top of each other like this:

image

Resizing the window causes the button text to become garbled:

image

Moving the window so the corrupted portion goes off the screen and then back on causes the buttons to redraw correctly.

I am using CiderPress 4.1.0 on Windows 11 with a scaling factor of 150%. I suspect but have not confirmed that this would also happen on Windows 10 with display scaling enabled.

Better support for DOS 3.3 random-access text files

[ imported from Anonymous bug, https://sourceforge.net/p/ciderpress/bugs/1/ ]

Grab
http://www.apple2.org.za/mirrors/ground.icaen.uiowa.edu/apple8/Games/FarFuture/TRADER.SDK

Convert to a disk image (e.g. DSK). Open up in AppleWin (etc). Look at the random access text file "SHIPS", e.g. by running:

10 PRINT CHR$(4)"OPEN SHIPS,L100"
20 PRINT CHR$(4)"READ SHIPS,R0"
30 INPUT N
40 FOR I = 1 TO N
50 PRINT CHR$(4)"READ SHIPS,R";I
60 INPUT A$
70 PRINT I;" > ";MID$(A$,52,33)
80 NEXT
90 PRINT CHR$(4)"CLOSE SHIPS"

Note that it has 27 records total (record 0 being a numeric count of the number of remaining records). 25 is "BLACK ORCHID SCOUT/COURIER". 26 is "X-51215 EXPRESS BOAT"

Now open up the SDK or DSK in CiderPress, and look at the SHIPS file, either as Converted Text or Hex Dump. Note that the BLACK ORCHID is the last record!

I believe CiderPress isn't handling some subtlety of random access text files. I tried "copying" the file within the disk image by extending the applesoft program to write out an identical file - same behavior. I then made the program output duplicate copies of the last line and was then able to view it in CiderPress.

Access to raw DOS filenames and VTOC?

As a 3rd-party user of the diskimg library, I think it would be handy to have access to the raw DOS filename in order to handle control characters, inverse/flash characters, etc. Also, it would be convenient to have a way to override the default VTOC Track and Sector constants. Perhaps some of the DiskFSDOS33 members would be better as protected rather than private, as a subclass might be useful downstream, as well.

Unable to install 4 PRODOS Images to a Transcend 128MB Industrial SD Card

Dear folks,

I'm having trouble using Ciderpress v4.0.3 or v3.0.1 together with a 128MB Transcend Industrial SD Card.
Using the "Volume copier" functionallity and trying to install a ProDOS 32MB image to an empty card, always leads into the problem that this image will consume the full 128MB of the card instead of creating one 32MB image and leaving room for additional 3 CFFA 32MB images. Ciderpress doesn't offer CFFA (4 or 6 patition) filesystem here.

volume copier 1
volume copier 2
volume copier 3
volume copier 4
volume copier 5_prodos
volume copier 6

Using a 512MB card everything works fine, means Ciderpress offers CFFA (4 or 6 partions) filesystem capability automatically.

volume copier 7 - 512mb cffa offer

So it seems to be that the conflict only appears when using a 128MB SD card. Can you take a look into this, please ?

Kind regards Torsten

Feature Request: Overwrite Volume in Partition Map

I have microSD card being used with SCSI2SD. It has Apple Partition Map of several partitions.
I want to completely replace the content of a partition with the latest HDV image of TotalReplay.
If I open two CP windows and select all content of TR window, ctrl-c, select partition destination in partition map and ctrl-p, I get 50 files copied before the volume directory is full. ie none of the subdirectories are being created in destination.
Is there another way to do what I want?

Feature Request: Drag and drop files between CP windows

If I want to move files between disk images, I currently have to export from one and import from the other via the filesystem. It would be much more convenient to be able to drag a file or a folder or selection of files/folders from one disk image in a CP window to another disk image in another CP window.

Ciderpress 4.03 File Viewer Copy/Paste bug?

Having used ciderpress 4.0.3 occasionally for the past few years and used it to view Applessoft Basic listings from disk images with the File Viewer, I've always had Applesoft Basic selected in the formatter drop-down list box when viewing Applesoft Basic files and simply copied & pasted the contents of the viewer to a Windows 10 text file, primarily for archiving these files to a Windows file format.

Recently, I printed out the contents of one of these text files for review and planning software updates only to find that the "/" character, which does display in File Viewer, did not and would not copy over to a Windows Notepad file no matter how many times I tried.

Here is an example line number that appears in File Viewer:
340 HPLOT X / S,Y / S

Here is what gets copied and pasted into Windows 10 Notepad:
340 HPLOT X S,Y S

I then clicked the Best button and copied and pasted again to the Notepad file. This time the "/" character was copied and pasted correctly.

Wouldn't it be "best" if when selecting the Applesoft Basic formatter that it defaults to Best to insure all characters would be accurately copied and pasted to another text app?

I love ciderpress and am most appreciative and thankful to Fadden for making this available to us old farts.

Regards,

airnocker

Finish Unicode filename support

While CiderPress is now able to display Mac OS Roman names properly, it still treats the characters as CP-1252 internally. There are two separate but related issues:

(1) Handling of "local" filenames, i.e. the name on NTFS. Right now the filename-preservation code converts all high-ASCII values to hex codes or '_' (depending on the preservation setting). The app should operate on Unicode filenames, converting in and out of Mac OS Roman, but that means updating the libraries (NufxLib and DiskImg) to support wide-character strings, which is non-trivial.

(2) Handling of archive filenames within the app. One somewhat jarring example is the "rename entry" dialog, which displays and expects CP-1252 characters. Many of the other dialogs, e.g. the progress dialog when testing the contents of an archive, also show the CP-1252 form. Since we're just operating on NuFX or disk image content, we can use Unicode within the app and Mac OS Roman in the libraries, and everybody is happy.

The in-app handling is easier to deal with because the code isn't expected to compile on Linux or Mac OS X, which means we don't have to do a compile-time switch between wide and narrow strings. Mostly we just need to make sure that everything agrees on what form the strings are in and converts as needed.

The current behavior is essentially unchanged from the original, except for a minor tweak to the "display name" used in the content list, which means it's unlikely to break anything new. Given the substantial changes made to the source code as part of the general clean-up for v4.0.0, this is a good thing. But it does leave matters half-finished.

This crashes ciderpress 4.x

ftp://ftp.apple.asimov.com/pub/apple_II/images/communications/proterm/mousetrap.shk

Trying to open that file causes an unrecoverable crash. Have to manually terminate ciderpress. However, CP version 3.x reads it just fine.

Linux samples

Hi,

mdc - works pretty well It list files inside .dsk perfectly.
getfile - doesn't work so well. It get file, but stdout is horrible, ilegible, strange characters
iconv - i have tried .DSK to .DO, it convert but don't load in AppleWin

About getfile i think it was made to work with NuFX files not disk images.

DSK

SHK

To manipulate SHK files (NuFX) maybe you wish to use nulib2 (https://github.com/fadden/nulib2) not nufxlib, but nulib2 as you can see here:
nulib2

About iconv i was unable to understand how to use it. Have tried dsk > do, works but don't load in AppleWin.

Anyway, CiderPress works very well under Linux through Wine. I just think that native linux tools would be better for me.

Thx!

Unable to identify filesystem on 'Blank3.2.1.nib' - for newly INIT'ed DOS 3.2 .nib file

Hi Andy,

Let me start by saying that I really enjoy using CP, and appreciate the effort you have put into it.

I'm using CP 4.0.3, and the DOS 3.2 .nib file was created with AppleWin 1.25.0.4 (or a patched version of 1.27.0.0).
NB. AppleWin 1.26.x and 1.27.0.0 have a bug that results in DOS 3.2 INIT failing with an I/O ERROR.

Firstly it's worth stating that DOS 3.2 (or DOS 3.2.1) INIT (during the formatter pass for tracks $00-$22), only writes the addr field for each sector, and not the data field. After the 35 tracks have been formatted, then it writes some sectors with actual data (eg. for boot, VTOC and HELLO), and these sectors will be the only ones with data fields.

I've stepped through the latest CP 4.0.3 code, and the issue is that CP assumes that the tracks it verifies (1,16,17,26) have sectors with data on them.

In Nibble.cpp:
DIError DiskImg::AnalyzeNibbleData(void)

    /*
     * Try to read sectors from tracks 1, 16, 17, and 26.  If we can get
     * at least 13 out of 16 (or 10 out of 13) on three out of four tracks,
     * we have a winner.
     */

The specifics are:

DOS 3.2 INIT writes to these tracks:

  • formats tracks $00-$22 as described above
  • $11
  • $00,$01,$02
  • $11,$12 (17,18)

For CP's disk type (NibbleDescr): 'DOS 3.2 Standard'

Using CiderPress to count readable sectors for INIT tracks (after formatting $00-$22):

track sector count
$00 13
$01 13
$02 9
$11 13
$12 2

Using CiderPress to count readable sectors for default CP tracks:

track sector count
1 13
16 0
17 13
27 0

goodTracks = 2, which is less than 3, so CP fails to identify the disk as DOS 3.2 Standard.

Here's a .nib INIT'ed using a patched AppleWin 1.27.0.0:
Blank3.2.1.nib.zip

Support for later versions of AppleSingle archive format

[ imported from Andrew Roughan's feature request, https://sourceforge.net/p/ciderpress/feature-requests/3/ ]

I've been informed that Ciderpress does not handle the latest AppleSingle archive format. Apparently it was updated at some point after the release of GSHK.

While getting an Apple II artifact into a the latest AppleSingle archive format is probably not possible to do on a real Apple II, it has happened that Apple II files uploaded with a Mac can have this wrapper added.

Being able to remove this wrapper to get at the content within would be a nice to have addition to Ciderpress.

Test files: Binary file stored on Sourceforge that were uploaded with MacCVS
e.g.
http://marinetti.cvs.sourceforge.net/viewvc/marinetti/MOSP/Marinetti/LinkLayers/MACIP/MacIP.RES

Here's a description of Version 2
http://kaiser-edv.de/documents/AppleSingle_AppleDouble.pdf

Feature Request: OMF Support

OMF Supoprt would be really nice! Maybe you could just give each load segment it's own bank, so they all start at SEGNUMBER:0000? I think this would be fine for disassembly purposes.

Just a thought :-)

Feature Request: CRC/checksums

The addition of a column displaying a CRC/checksum would be nice and helpful for archiving and curating multiple versions of a program/file. Something like how WinZIP and WinRAR do it.

Instead, what I have to do is export the file to windows and do a bit-by-bit comparison there.

Improve handling of EDASM sources

EDASM source files are currently just displayed as formatted text. It'd look a bit better if the fields were tabbed out.

There appears to be a bug in the file viewer as well: if you view an EDASM source (ProDOS type TXT, filename.S) and manually select "Merlin Assembler", the viewer switches to "(file is empty)" and disables the view controls.

Examples can currently be found here: https://github.com/markpmlim/EdAsm

Virus in ciderpress.exe??

Just tired to pull the 4.0.3 release from the Releases tab above and install, and I'm getting Defender popping up telling me there's a virus in ciderpress.exe . False positive? Anyone else seeing this?

Reading and writing to real 3.5" disks in Windows.

Dear Developers,
I want to use cider press to write disk images to a real 3.5" floppy disk so I can use them on my Applie //C+. Your documentation does mention physical disks (hard disks I presume) and CF drives, but is very vague in providing instructions on how to write to and read from real 3.5"physical floppy disks (blank disks for apple IIC+ not HD disks) via physical PCs floppy disk drive.

If this is not something CiderPress is designed to do, be more upfront about this in your documentation, especially places like the about section and FAQ.

If it is something Cider Press supports, make better documentation or make it easier for users to find this information. Certainly, if it is possible your user interface does not make this apparent either.

       Kind Regards,

                  Andrew.

Volume Copy - Load from file failed with file on share

Running Ciderpress on a Windows VM, with an HDV file residing on a network share mounted on Z:, the "Load from file" functionality trying to write to a volume on a CF card hung Ciderpress with no progress then after several minutes crashed (Abort/Retry/Ignore) with some "file not found" error.

Copying the HDV file to a local drive and retrying worked.

The HDV file was created directly on the share from Ciderpress, so the other direction works.

(Apologies for the vague details.)

Be more clever when opening files

The current implementation tries to open the file using the type specified by the filename filter. In the open dialog, if you have "ShrinkIt archive" selected, it will try to open whatever file you specify as a ShrinkIt archive. If it's an ACU archive, you will get an error.

CiderPress should be able to figure out that it's actually an ACU archive and just do the right thing. Sometimes it needs to rely on the filter setting because an archive can be opened in more than way. For example, you might want to open a .SDK file as a disk image to see the contents, or as a ShrinkIt archive to see the disk image itself.

Merlin formatting introduces erroneous spaces

Merlin source formatting and exporting introduces spaces before ';' within macro parameters.
This causes failures when trying to assemble the files in Merlin32.

For example:
'Converted Text' view of a partial Merlin source file (This is fine - no additional white space)

~PPToPort #:LOCINFO;#:SRCRECT;#0;#0;#0
~EndUpdate WINDPORT
 PLD
 PLB
 RTL

:LOCINFO DA $80
:PICPTR ADRL 0
 DA $A0
:SRCRECT RECTAT 0;0;200;640

'Merlin Assembler' view of Merlin source file - Notice additional white spaces on the indicated lines

~PPToPort #:LOCINFO ;#:SRCRECT;#0;#0;#0    <-----
~EndUpdate WINDPORT
    PLD
    PLB
    RTL

:LOCINFO DA $80
:PICPTR ADRL 0
    DA $A0
:SRCRECT RECTAT 0 ;0;200;640 <-----

When exporting the files using the Auto-detect & convert file with Tex option, the additional spaces are also being introduced.

Merlin 32 treats the rest of the line as a comment instead of as parameters for the macro.
I believe Merlin 16 would as well.

Rule: Never introduce a space into the line if there is not already a space.

Trackstar format info

The value at $19FE is the length (n) of the backwards-encoded part that begins at $0081. The bytes following $0081+n are encoded forwards, A length of zero means that the entire track is backwards (track length couldn't be determined).
The value at $0080 is 1 in all of the 80-track images that I have.

IIgs monitor listing handling of SEP and REP

When viewing an object file with "IIgs monitor listing (long regs)" the disassembly is not adjusted for the length of the accumulator when SEP #20 is in the the listing.

00/9952: E2 20 SEP #20
00/9954: 29 7F 91 AND #917F

Should be
00/9952: E2 20 SEP #20
00/9954: 29 7F AND #7F

And relatedly, with "IIgs monitor listing (short regs)"
00/9973: C2 20 REP #20
00/9984: 29 FF AND #FF
00/9986: 00 F0 BRK F0
00/9988: 4D 20 F4 EOR F420

Should be
00/9973: C2 20 REP #20
00/9984: 29 FF AND #00FF
00/9987: F0 4D BEQ 99D6

Crash when trying to view a file that appears to point to nonsensical sectors

On this disk image of the Apple II+ Dealer Diagnostics, attempting to open the file DIAGNOSTICS-16 SECTOR causes a crash after a couple of seconds:

Log Name:      Application
Source:        Application Error
Date:          2020-08-03 00:47:32
Event ID:      1000
Task Category: (100)
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      minenwerfer
Description:
Faulting application name: CiderPress.exe, version: 4.0.0.0, time stamp: 0x5f1a05d8
Faulting module name: CiderPress.exe, version: 4.0.0.0, time stamp: 0x5f1a05d8
Exception code: 0xc0000005
Fault offset: 0x0004ce7a
Faulting process id: 0x36f4
Faulting application start time: 0x01d669512c3d9954
Faulting application path: C:\Program Files (x86)\faddenSoft\CiderPress\CiderPress.exe
Faulting module path: C:\Program Files (x86)\faddenSoft\CiderPress\CiderPress.exe
Report Id: 62a4601d-5867-4e99-8688-fbc7e0785e7c
Faulting package full name: 
Faulting package-relative application ID: 
Event Xml:
<Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
  <System>
    <Provider Name="Application Error" />
    <EventID Qualifiers="0">1000</EventID>
    <Level>2</Level>
    <Task>100</Task>
    <Keywords>0x80000000000000</Keywords>
    <TimeCreated SystemTime="2020-08-03T04:47:32.190674600Z" />
    <EventRecordID>40251</EventRecordID>
    <Channel>Application</Channel>
    <Computer>minenwerfer</Computer>
    <Security />
  </System>
  <EventData>
    <Data>CiderPress.exe</Data>
    <Data>4.0.0.0</Data>
    <Data>5f1a05d8</Data>
    <Data>CiderPress.exe</Data>
    <Data>4.0.0.0</Data>
    <Data>5f1a05d8</Data>
    <Data>c0000005</Data>
    <Data>0004ce7a</Data>
    <Data>36f4</Data>
    <Data>01d669512c3d9954</Data>
    <Data>C:\Program Files (x86)\faddenSoft\CiderPress\CiderPress.exe</Data>
    <Data>C:\Program Files (x86)\faddenSoft\CiderPress\CiderPress.exe</Data>
    <Data>62a4601d-5867-4e99-8688-fbc7e0785e7c</Data>
    <Data>
    </Data>
    <Data>
    </Data>
  </EventData>
</Event>

I would fully expect an error message upon attempting to read the file - upon trying to view the file in Copy II Plus 8.4, I received an I/O error at track $E7, sector $A5, which is utterly impossible, so this image is either corrupt or not entirely what it says it is filesystem-wise:

image

However, CiderPress crashing indicates to me that there could be a buffer overflow, and that may have security implications.

Assertion in diskimg5.dll; File: DiskImg.cpp; Line: 1158; Expression: fLength >= 0

CiderPress is hitting an assertion failure. To reproduce: Use RAMFAST to format and create partitions on a SCSI hard drive. Note that the "hard drive" is a the "SCSI Hard Drive Emulator for retro computing" at http://www.codesrc.com/mediawiki/index.php?title=SCSI2SD, version 5b. This SCSI emulator on MicroSD works perfectly: all RAMFAST operations work, including formatting, creating partitions, reading and writing to the partitions, loading GS/OS 6.0.1, etc.

Unfortunately, when you bring the Hard Drive (the MicroSD card) to Windows 10 and ask CiderPress to open "a logical or physical volume," it triggers the assertion. You can see CiderPress's dialog printing the names of the partitions, one by one, very quickly, but it finally fails in a very non-elegant fashion:

Disk Sector Viewer and Volume Copier: C:\Src\CiderPress\diskimg\DiskImg.cpp, Line 1158, fLength >= 0 (sometimes line 1156).

If you ignore the assertion failure, CiderPress continues and lists the RAMFAST partitions. You can click [Copy to File] and copy the partition. UNFORTUNATELY, you cannot use [Load from File] (it's greyed out) as that's the most important function needed. I want to set up my SCSI hard drive, loading entire partitions as per http://www.whatisthe2gs.apple2.org.za/cffa2-card-review/. This would seem to be critical functionality. Please let me know how/if I can be of help to rectify this error. Thank you.

Display resources from resource fork where format is known

Viewing the resource fork of a file displays the resources in a generic way.
I would like to see the resources displayed in a way that best shows what the resource is.
e.g. given resType = 0x8029 - rVersion 00000000: 07 60 00 03 0f 00 ....
Display as "3.0b7" like the Finder would with OA-I

This can be in addition to the generic way - perhaps with a button that pops up a window to display the resource.

Sparse files can be incompatible with GS/OS

If you have a file which has 512 bytes or more of zeros at the start of the file, Ciderpress will write the first block as a sparse block.

If you attempt to read this using GS/OS / the ProDOS FST it will not be read in as sparse! As a result the file will be corrupt.

If you write 512 bytes or more of zeros from within a GS/OS program it will not write the first block as a sparse block! Other blocks will be written as sparse, but not the first. As a result, this issue was never encountered prior to the invention of external tools.

There even appears to be code within GS/OS when reading the file to bypass sparse handling for the first block. So it appears to be deliberate behaviour, even though the reasons are unknown.

Volumes can't be unlocked once Ciderpress locks them.

I have had intermittent issues with volumes suddenly becoming locked and read-only. I think I have finally figured out what triggers this action. In Preferences/disk images/general, the default for "Default to read-only when opening volumes" is ticked. If you convert an image from .PO to .2MG it will become locked with no apparent way to unlock it. I haven't tested other formats but assume they would act in a similar fashion.

I assume this is the way it's supposed to work, but the only way to recover from this that I (and others I have talked to) have found is to create a brand new image and copy everything from the locked one to the new one. Effective, but time consuming since GS/OS doesn't allow volume renaming. Create a new image with a different name, copy everything to it, delete the locked image, create a new one with the original name, and copy again.

I would suggest either changing the default of that option to UNTICKED and maybe add an option to manually unlock volumes. If it's already there then make it more obvious...because we haven't found it yet. ;)

Support extended character set in AWP conversion

AppleWorks 5.x allows inverse and MouseText characters. CiderPress has no special handling for these, so documents that use them come out looking weird.

MouseText characters should be converted to something close in the Unicode BMP.

In theory inverse should be handled with the Rich Text background color command (\cbN), but that doesn't seem to have an effect in rich edit controls or MS Word. However, the highlight command (\highlightN) does seem to work, so setting the font color to white and highlighting in black may yield the desired results.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.