Main

January 27, 2008

notes on an apple iie front panel

I'm working on some ideas that may eventually evolve into a 'front panel' for my //e.
The proposed feature list (in descending order of likelyhood that I will have the time & skill to implement):

  • A toggle to flip between a 'standard' ROM and a crack-ROM (most likely "Senior PROM")
  • A debounced 'NMI' pushbutton
  • A 4 digit readout of the current program counter
  • hardware breakpoints (i.e. an address can be entered through a 4x4 keyboard, and when that address is executed, read or written, an NMI is generated).
  • A 'single step' mode.

I intend to use one or more Atmega8 microcontrollers in this. Here are some relevant links so I can keep track of them:

January 01, 2008

dsktool 0.4.2

I've just released version 0.4.2 of dsktool.rb, a command line tool
and library for working with DSK images, written in ruby.

The major changes in this version are:

* DOS 3.3 support now read/write
* NADOL support (read/write)
* ProDOS support (read only)
* Pascal support (read only)
* Hi Res Graphics converted to PNG

Instructions on how to install and get started with dsktool.rb are at
http://dsktool.jamtronix.com

August 26, 2007

two apple 2 related items

Item the first: 

I've turned the 'Hardcore Computist' article index into a web page so
you can navigate from each article directly to the page containing the
article. In the process, I've created a mirror of the scans from
http://www.computist-project.net/, so i could link directly to a page.

The article index is at http://computist.jamtronix.com/article_index.html

Item the second:

I've released a new version of dsktool.rb. Change log:

V0.2.1
* Added support for NADOL disks (Nibbles Away Disk Optimized Language)
* Added sector viewer to dskexplorer.rb
* DOS 3.3 support now more robust

If you don't know what NADOL is, it's the "Nibbles Away Disk Optimized Language" - a simple DOS + Pascal like language orientated towards building scripts for deprotecting disks. But it's turing complete, and has enough text and graphics commands to allow creation of (for example) a BRICKOUT clone. Docs are at http://www.textfiles.com/apple/DOCUMENTATION/nibbles.away.iii.txt and there's a DSK image at http://jamtronix.com/dsks/NADOL.DSK 

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

April 22, 2007

Apple //e links

Apple //e reference manual (PDF - from 1000bit)

Beneath Apple DOS ( PDF - from 1000bit)

Apple II : The DOS manual (PDF - from the Nitrozone Five apple // collection)

Apple II Monitors Peeled (PDF - from the Nitrozone Five apple // collection)

The Computist Project 

ADTPro - Transfers images between modern PC and Apple II

Apple Assembly Line

Zero Page variables 

KRAKOWICZ'S KRACKING KORNER

comp.sys.apple2 newsgroup

Apple 2 Technical Notes 

ProDOS 8 Technical Reference Manual