Giter Club home page Giter Club logo

diskbrowser's Introduction

Apple II Disk Browser

Alternative

There is a beta release of DiskBrowser2 available.

Features

  • Cross-platform (Windows, MacOS, Linux)
  • Disk formats
    • DOS
    • Prodos
    • Pascal
    • CPM
    • HDV
    • 2mg
    • shrinkIt, gzip, zip
    • hybrid disks
    • woz
    • Unidos
  • File Formats
    • Applesoft and Integer Basic
    • Pascal
    • 6502
    • Appleworks
    • Visicalc
    • Graphics files
  • Disk Internals
    • Wizardry
    • Infocom
  • Track / Sector / Block display
  • Comprehensive disk listing

Documentation

Installation

  • Install the latest version of the JDK.
  • Download DiskBrowser.jar from the releases page.
  • Double-click the jar file, or enter 'java -jar DiskBrowser.jar' in the terminal.
  • Set your root folder (the top-level folder where you keep your disk images).

Example Screens

Disk listing

Select a disk from the Disk Tree tab to display the catalog and disk layout. Disk listing

Disk contents

Double-click a disk from the Disk Tree tab and a new tab appears. This tab contains a list of all the files on the disk. Click on a file and the Output panel will display the contents of that file. The disk sectors containing the file will also be highlighted in the Disk Layout panel. Disk catalog

Detailed sector display

Click on any sector in the Disk Layout panel and the Output panel will display the contents of that sector. If it is a recognised sector type, it will be formatted for easier reading. Sector details

Cross-platform

Java runs on Windows, MacOS and Linux.

Windows

Graphics

Graphics

Applesoft Formatting and Analysis

Applesoft programs are displayed in a modern, easily-readable format. A comprehensive cross-listing of variables, strings, calls and jumps is available. Easily find duplicate variable names. For the truly retro look, programs can be displayed in the original 40-column line wrap mode. Applesoft

Pascal code

Pascal Pascal

Infocom

Infocom

Wizardry

Wizardry scenarios 1 to 3 are reasonably complete, Wizardry IV and V are partially done. For a dedicated Wizardry application see WizardryApp. Wizardry Scenarios 4 and 5 come on multiple disks, and they need to be named so that the only difference between disk names is the identifier before the '.dsk' suffix. Wizardry

Visicalc

DiskBrowser has an inbuilt Visicalc processor which will evaluate the sheet and display the results. Visicalc

Complete Disk List

Generates a list of all the disks in your collection. The list can be sorted by any of the table headings. Checksums can be generated as needed, or for the whole collection. Disk List Select a disk and click the duplicates button to see all of the disks that share the same checksum. Duplicates

diskbrowser's People

Contributors

cybernesto avatar dmolony avatar frankmilliron 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

diskbrowser's Issues

Running DiskBrowser on macOS X Mojave 10.14

Hi Denis,

I would suggest to give a hint to macOS X users that jarlauncher included with theirs systems may not work. Opening DiskBrowser from the Terminal works much better.
Kind regards
Uwe

P.S. Have you seen that the German Computer Magazine c't (https://www.heise.de/ct/) did recommends your application for Apple II fans. Drop me an Email if you want the magazine or the article ([email protected]).

Feature Request: Apple 3 Pascal Disk

Hi Denis,

what do you think of making Apple /// disk images as accessible as Apple ][ disk images? As you support Prodos already, which is an Apple ][ port of Apple /// SOS, disks show up already flawlessly. There seems to be a little piece of code missing to let your pCode disassembler acting on Apple 3 pascal code files. See the enclosed screenshot.

Thank you very much for your hard work and your useful utility.
Kind regards Uwe

Bildschirmfoto 2022-01-31 um 11 56 30

Feature Request: Support Total Replay packed artwork

The Total Replay build process incorporates Exomiser packing of art files to reduce space on disk. These packed files cannot be displayed by DiskBrowser.

The Total Replay make file includes the following relevant lines:
rem https://bitbucket.org/magli143/exomizer/wiki/Home
set EXOMIZER=exomizer mem -q -P23 -lnone

:compress
for %%q in (res\action.dhgr.uncompressed*) do if not exist res\action.dhgr%%~nxq %EXOMIZER% res\action.dhgr.uncompressed%%~nxq@0x4000 -o res\action.hgr%%~nxq
for %%q in (res\action.hgr.uncompressed*) do if not exist res\action.hgr%%~nxq %EXOMIZER% res\action.hgr.uncompressed%%~nxq@0x4000 -o res\action.hgr%%~nxq
for %%q in (res\artwork.shr.uncompressed*) do if not exist res\artwork.shr%%~nxq %EXOMIZER% res\artwork.shr.uncompressed%%~nxq@0x2000 -o res\artwork.shr%%~nxq
cscript /nologo bin\buildfileinfo.js res\TITLE.HGR "06" "4000"
cscript /nologo bin\buildfileinfo.js res\TITLE.DHGR "06" "4000"
cscript /nologo bin\buildfileinfo.js res\ACTION.HGR "06" "3FF8"
cscript /nologo bin\buildfileinfo.js res\ACTION.DHGR "06" "3FF8"
cscript /nologo bin\buildfileinfo.js res\ACTION.GR "06" "6000"
cscript /nologo bin\buildfileinfo.js res\ARTWORK.SHR "06" "1FF8"

com.bytezone.common package not commited?

I had the hope to contribute a bit to your project but the com.bytezone.common package is missing and I am not able to build. Is it not being commited or am I missing something?

Doesn't launch on macOS 10.14.4 with latest Java SDK

Config: macOS 10.14.4, Java SE Development Kit 12

Error message:
Apr 8 08:45:06 iMac com.apple.preference.security.remoteservice[5098]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug
Apr 8 08:45:56 iMac Jar Launcher[5104]: DEPRECATED USE in libdispatch client: dispatch source activated with no event handler set; set a breakpoint on _dispatch_bug_deprecated to debug.

Thanks for any advice
Tiza59

missing dependency - com.bytezone.common

I was attempting to use it, seems interesting. But the ui package has problems compiling due to missing dependency for "com.bytezone.common" package classes.

Wizardry 1

I have a WIZ1.DSK file for PC that is not recognized, is that out of scope for this project?
I've been looking for Tommy's Wiz1WizardryPascal.txt and Wiz1StartupPascal.txt or any info on Wizardry's SYSTEM.INTERP to no avail.

repo is unbuildable : no build system file and missing subtree

Hi,

There is no build file anywhere. As I only have Java 11 on my system, I would have liked the possibility of building this package and there is no easy way without a maven, ant or any other build system build file. Is it possible for you to provide one?

Also, there seems to be at least one missing package. The only provided subtree is com.bytezone.diskbroswer but it depends on com.bytezone.input which is missing.

I cannot wait to try your utility. Thank you!

Logo design contribution

Hallo @dmolony
I am designer want to make a logo for this projects,If you have any requirements to make this logo then let me know.
Thank you

Wishlist: operate directly on files in Output window.

DiskBrowser is great and solved my problem. I do have a suggestion or two, if you are open to ideas.

Currently, DiskBrowser starts out showing a list of files on a disk in the Output window, but cannot actually display, save, or otherwise operate on those files until the user double-clicks on the name of the disk image in the Catalog window. After that, the Catalog window shows the list of files which the user can click on to show formatted views of the files.

It would be nice if the user did not have to double-click on the disk image to start examining files. There are many possible solutions, but the cleanest would be to let the user click on the filename in the Output window and have that automatically show the contents.

If that is too complicated to implement, another way would be to let users right-click on files in the Output window to pop up a context menu. It could offer options like, "Save file", "Display Formatted Text View", "Display Hex dump", and "Open in Default App".

Thanks again for the useful program!

Feature request: Write to a DSK from PC

Hi Denis,

have you ever thought about writing files from the PC to an Apple ][ DSK (DOS 3.3) ?
If you think it could be done, I would very much like to be able to write binary object files in the BSAVE/BLOAD format with added load address and length, such that I can BLOAD them in AppeWin. I could also provide the object file with already added address and length.

Thank you again for your very useful program
regards Kai

Unable to close D1 tab

A bit of a minor bug but pressing Ctrl/Cmd+W on the D1 tab after opening a disk doesn't work. Doing this on any subsequent disk tabs (D2, D3 etc.) works fine

DiskBrowser misses TSList if Catalog also claims the sector

Discovered this issue with the 4am crack of "The Oregon Trail 1.4", side A, available here: https://archive.org/details/MECC_A157_v14_4amCrack

The issue is that OREGON.IMA is listed in the catalog, but DiskBrowser shows it as 0 sectors length.

What happened is that CATALOG sector at track 11, sector 9 lists the next entry at track 11, sector 8. However, THAT sector is actually the TSList for OREGON.IMA - not a CATALOG entry at all. (Well, it seems to work as both - when read as CATALOG it looks empty, when read as TSList it contains the sectors for OREGON.IMA)

This causes DiskBrowser to also show OREGON.IMA's sectors to be orphaned (those for track 11, sectors 1 through 7 plus the TSList at 8).

I'm not sure how best this would be fixed, it seems as though you need almost a "shared" half-filled box where a sector can do double-duty as both CATALOG and TSList. Real hardware presumably doesn't care as it'll be read in whichever mode it's operating in.

Feature Request: Export files as formatted files

Basically, export tokenized BASIC files as text, and prodos text files as plaintext files. Currently having to copy/paste from the formatted window which loses proper tab indenting and is a pain when working with multiple files.

Minimum Java version needed should be documented

I tried running against a new install of JRE 8 and got error
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: com/bytezone/diskbrowser/gui/DiskBrowser has been compiled by a more recent version of the Java Runtime (class file version 57.0), this version of the Java Runtime only recognizes class file versions up to 52.0

Apparently 57 means Java 13 is necessary.

Please update readme.md to indicate the minimum version of Java needed.

java.time.DateTimeException when loading Pascal image

Attempting to load any Pascal-formatted image with a file last modified in January of a year gives
(if the image is .woz)

java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0

(if the image is .dsk)

Exception in thread "AWT-EventQueue-0" java.time.DateTimeException: Invalid value for MonthOfYear (valid values 1 - 12): 0

The trace dump points to

return LocalDate.of (year, month, day);

To replicate, try loading any Wizardry 1-3 boot disk

Diskbrowser.jar stopped launching

Setup: macOS 10.13.6, JRE 10.0.2 installed.

I installed the JRE last night and was able to launch DiskBrower.jar fine. Shut down my Mac for the night. Restarted today and now the app no longer launches.

Here's what I think is the relevant Terminal output, if that helps:

ThunderTouch:~ boliver$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -jar /Users/boliver/Downloads/DiskBrowser.jar 
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at java.desktop/java.awt.Window.init(Unknown Source)
	at java.desktop/java.awt.Window.<init>(Unknown Source)
	at java.desktop/java.awt.Frame.<init>(Unknown Source)
	at java.desktop/javax.swing.JFrame.<init>(Unknown Source)
	at com.bytezone.diskbrowser.gui.DiskBrowser.<init>(DiskBrowser.java:27)
	at com.bytezone.diskbrowser.gui.DiskBrowser$2.run(DiskBrowser.java:211)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(Unknown Source)
	at java.desktop/java.awt.EventQueue.access$600(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.desktop/java.awt.EventQueue$4.run(Unknown Source)
	at java.base/java.security.AccessController.doPrivileged(Native Method)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source)
	at java.desktop/java.awt.EventQueue.dispatchEvent(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(Unknown Source)
	at java.desktop/java.awt.EventDispatchThread.run(Unknown Source)
ThunderTouch:~ boliver$ /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/bin/java -version
java version "10.0.2" 2018-07-17
Java(TM) SE Runtime Environment 18.3 (build 10.0.2+13)
Java HotSpot(TM) 64-Bit Server VM 18.3 (build 10.0.2+13, mixed mode)

Compiling project from source

Hi,

I've cloned the git repo and am trying to compile the project from source. The entire com.bytezone.input package and its classes do not exist. Can you add them to git, or are they proprietary?

Thank you.

p.s. going through closed issues, i see others have requested this before (e.g. issue 13). If you don't want to add it to the repo, I understand, but can you at least point me to those sources in a previous branch or release? (Sources preferred to binary jar files because I'm trying to understand your project in entirety, if that's ok). I am both a long-time Java dev, since the 1990s, and also an original Apple 2e owner -- so our paths cross :)

Feature request

Hi Denis,
this is a nice program...
however, I am missing very much a possibility to export files from the virtual Apple disks to files on the PC.
Could you please consider to implement such a function ?
I have also tried to capture high-lighted output from the middle window with CTRL-C and to paste it into NotePad or a Program for Hex-File editing. Sometimes it works, sometimes not.
Some of the original Apple files contain a mixture of ASCII code and raw integer numerical values including zeros. My impression is, that in such cases copy & paste of a high lighted section of the window contents only delivers a fraction from the beginning up to the next zero.
So in these cases copy/paste of the fully marked window does not work.
Best Regards
Kai

Folders missing

When trying to add a HOME directory. A directory with subdirectories does not show those subdirectories for selection.

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.