dskexplorer.rb

dskexplorer.rb is a browser based DSK archive exploring tool. It can explore both local disk and remote web archives. It is part of the dsktool.rb package. You will need to have ruby installed.

To install dskexplorer.rb, you just need to install the dsktool.rb rubygem. Depending on your OS, that is done by typing either gem install dsktool or sudo gem install dsktool at a command prompt.

To use, run dskexplorer.rb and specify the location of the DSK archive to explore using the ‘-r’ switch.
For example dskexplorer.rb -r http://www.apple2.org.za/mirrors/
Then open a browser, and navigate to http://localhost:6502/

 

using dsktool.rb on ubuntu

first install the dsktool gem with sudo gem install dsktool

now try to run dsktool.rb with dsktool.rb -v

If you get an error message like "-bash: dsktool.rb: command not found" then you will need to put the gem bin directory into your path:
open up ~/.bashrc  in the editor of your choice, and at the bottom of the file add 
export PATH=$PATH:/var/lib/gems/1.8/bin
Then save .bashrc, and restart your terminal window.

Now try to view the catalog of an online dsk file:

dsktool.rb http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/unsorted/White_Disks/white_25a.dsk.gz -c

Your should get back a listing like:

*T 049 BASICS OF KRACKING 2
*A 00A HELLO
*T 030 KRACKING CYCLOD2
*T 049 BASICS OF KRACKING 3
*T 042 BASICS OF KRACKING 4
*B 01B DEMUFFIN PLUS
*A 003 LIST TEXT FILES: INSTRUCTIONS
*A 003 LIST TEXT FILES
*T 021 KRACKING WAY OUT
*T 047 KRACKING CYCLOD
*T 037 BASICS OF KRACKING 1
*T 01D KRACKING WAY OUT2

Now you can read one of the individual files, like this:
dsktool.rb http://www.apple2.org.za/mirrors/ftp.apple.asimov.net/images/unsorted/White_Disks/white_25a.dsk.gz -e "BASICS OF KRACKING 1" | less
to view one of the classic introductions to removing copy-protection from Apple II disks by Krackowicz

More complete docs can be found at http://dsktool.rubyforge.org/

dsktool.rb

dsktool.rb

dsktool.rb is a command line tool + libraries (all in ruby) for manipulating DSK format images used by Apple 2 emulators. Currently only DOS 3.3 format is supported.

Usage
—–
dsktool.rb [switches]

-c | –catalog               display catalog
-l | –list FILENAME         monitor style listing (disassembles 65C02 opcodes)
-e | –extract FILENAME      extract file by name (either to stdout,
                              or file specified by –output)
-h | –help                  display this message
-o | –output FILENAME       specify name to save extracted file as
-x | –explode               extract all files
-v | –version               show version number

examples:

       dsktool.rb -c DOS3MASTR.dsk
       dsktool.rb -l FID DOS3MASTR.dsk
       dsktool.rb -l fid -o fid.asm DOS3MASTR.dsk
       dsktool.rb -e "COLOR DEMOSOFT" DOS3MASTR.dsk
       dsktool.rb -e HELLO -o HELLO.bas DOS3MASTR.dsk
       dsktool.rb -x DOS3MASTR.dsk

 

Apple //e Soft Switch, Status, and other I/O locations

MEMORY MANAGEMENT SOFT SWITCHES

$C000 W 80STOREOFF Allow page2 to switch video page1 page2
$C001 W 80STOREON Allow page2 to switch main & aux video memory
$C002 W RAMRDOFF Read enable main memory from $0200-$BFFF
$C003 W RAMDRON Read enable aux memory from $0200-$BFFF
$C004 W RAMWRTOFF Write enable main memory from $0200-$BFFF
$C005 W RAMWRTON Write enable aux memory from $0200-$BFFF
$C006 W INTCXROMOFF Enable slot ROM from $C100-$CFFF
$C007 W INTCXROMON Enable main ROM from $C100-$CFFF
$C008 W ALZTPOFF Enable main memory from $0000-$01FF & avl BSR
$C009 W ALTZPON Enable aux memory from $0000-$01FF & avl BSR
$C00A W SLOTC3ROMOFF Enable main ROM from $C300-$C3FF
$C00B W SLOTC3ROMON Enable slot ROM from $C300-$C3FF

VIDEO SOFT SWITCHES

$C00C W 80COLOFF Turn off 80 column display
$C00D W 80COLON Turn on 80 column display
$C00E W ALTCHARSETOFF Turn off alternate characters
$C00F W ALTCHARSETON Turn on alternate characters
$C050 R/W TEXTOFF Select graphics mode
$C051 R/W TEXTON Select text mode
$C052 R/W MIXEDOFF Use full screen for graphics
$C053 R/W MIXEDON Use graphics with 4 lines of text
$C054 R/W PAGE2OFF Select panel display (or main video memory)
$C055 R/W PAGE2ON Select page2 display (or aux video memory)
$C056 R/W HIRESOFF Select low resolution graphics
$C057 R/W HIRESON Select high resolution graphics

SOFT SWITCH STATUS FLAGS

$C010 R7 AKD 1=key pressed 0=keys free (clears strobe)
$C011 R7 BSRBANK2 1=bank2 available 0=bank1 available
$C012 R7 BSRREADRAM 1=BSR active for read 0=$D000-$FFFF active
$C013 R7 RAMRD 0=main $0200-$BFFF active reads 1=aux active
$C014 R7 RAMWRT 0=main $0200-$BFFF active writes 1=aux writes
$C015 R7 INTCXROM 1=main $C100-$CFFF ROM active 0=slot active
$C016 R7 ALTZP 1=aux $0000-$1FF+auxBSR 0=main available
$C017 R7 SLOTC3ROM 1=slot $C3 ROM active 0=main $C3 ROM active
$C018 R7 80STORE 1=page2 switches main/aux 0=page2 video
$C019 R7 VERTBLANK 1=vertical retrace on 0=vertical retrace off
$C01A R7 TEXT 1=text mode is active 0=graphics mode active
$C01B R7 MIXED 1=mixed graphics & text
$C01C R7 PAGE2 1=video page2 selected or aux
$C01D R7 HIRES 1=high resolution graphics 0=low resolution
$C01E R7 ALTCHARSET 1=alt character set on 0=alt char set off
$C01F R7 80COL 1=80 col display on 0=80 col display off