« May 2007 | Main | July 2007 »

June 24, 2007

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/

 

June 17, 2007

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/

June 16, 2007

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

 

June 11, 2007

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

MEMORY MANAGEMENT SOFT SWITCHES

$C000W80STOREOFFAllow page2 to switch video page1 page2
$C001W80STOREONAllow page2 to switch main & aux video memory
$C002WRAMRDOFFRead enable main memory from $0200-$BFFF
$C003WRAMDRON Read enable aux memory from $0200-$BFFF
$C004WRAMWRTOFFWrite enable main memory from $0200-$BFFF
$C005WRAMWRTONWrite enable aux memory from $0200-$BFFF
$C006WINTCXROMOFFEnable slot ROM from $C100-$CFFF
$C007WINTCXROMONEnable main ROM from $C100-$CFFF
$C008WALZTPOFFEnable main memory from $0000-$01FF & avl BSR
$C009WALTZPON Enable aux memory from $0000-$01FF & avl BSR
$C00AWSLOTC3ROMOFFEnable main ROM from $C300-$C3FF
$C00BWSLOTC3ROMONEnable slot ROM from $C300-$C3FF

VIDEO SOFT SWITCHES

$C00CW80COLOFFTurn off 80 column display
$C00DW80COLON Turn on 80 column display
$C00EWALTCHARSETOFFTurn off alternate characters
$C00FWALTCHARSETONTurn on alternate characters
$C050R/WTEXTOFF Select graphics mode
$C051R/WTEXTONSelect text mode
$C052R/WMIXEDOFFUse full screen for graphics
$C053R/WMIXEDON Use graphics with 4 lines of text
$C054R/WPAGE2OFFSelect panel display (or main video memory)
$C055R/WPAGE2ON Select page2 display (or aux video memory)
$C056R/WHIRESOFFSelect low resolution graphics
$C057R/WHIRESON Select high resolution graphics

SOFT SWITCH STATUS FLAGS

$C010R7AKD1=key pressed 0=keys free (clears strobe)
$C011R7BSRBANK21=bank2 available 0=bank1 available
$C012R7BSRREADRAM1=BSR active for read 0=$D000-$FFFF active
$C013R7RAMRD0=main $0200-$BFFF active reads 1=aux active
$C014R7RAMWRT0=main $0200-$BFFF active writes 1=aux writes
$C015R7INTCXROM1=main $C100-$CFFF ROM active 0=slot active
$C016R7ALTZP1=aux $0000-$1FF+auxBSR 0=main available
$C017R7SLOTC3ROM1=slot $C3 ROM active 0=main $C3 ROM active
$C018R780STORE 1=page2 switches main/aux 0=page2 video
$C019R7VERTBLANK1=vertical retrace on 0=vertical retrace off
$C01AR7TEXT1=text mode is active 0=graphics mode active
$C01BR7MIXED1=mixed graphics & text
$C01CR7PAGE21=video page2 selected or aux
$C01DR7HIRES1=high resolution graphics 0=low resolution
$C01ER7ALTCHARSET1=alt character set on 0=alt char set off
$C01FR780COL1=80 col display on 0=80 col display off