a2d/desk.acc
2018-04-25 19:20:09 -07:00
..
docs Add docs explaining HR to DHR conversion process 2017-09-08 15:54:14 -07:00
fonts DeskTop: Icon disassembly WIP 2017-09-27 19:41:40 -07:00
inc Show Image File additions/fixes 2017-09-18 19:50:16 -07:00
orig DAs: start disassembly work on Sort Directory 2018-04-19 21:23:23 -07:00
res More Travis/Deploy experimenting 2018-04-25 19:20:09 -07:00
.gitignore build into subdirs 2018-02-21 08:04:32 -08:00
API.md selection renames/docs 2018-02-19 11:33:13 -08:00
calculator.s de-raw 2018-03-07 10:39:36 -08:00
date.s wider block separator comment 2018-03-04 21:36:00 -08:00
eyes.s Eyes DA: Fix glitch on first run 2018-04-18 22:37:52 -07:00
Makefile DAs: fix aux types 2018-04-20 22:27:54 -07:00
puzzle.s wider block separator comment 2018-03-04 21:36:00 -08:00
README.md More Travis/Deploy experimenting 2018-04-25 19:20:09 -07:00
show.image.file.s wider block separator comment 2018-03-04 21:36:00 -08:00
show.text.file.s wider block separator comment 2018-03-04 21:36:00 -08:00
sort.directory.s sort.directory DA disassembly WIP 2018-04-20 21:58:15 -07:00
this.apple.s This Apple DA: Apple /// icon tweak 2018-04-21 08:42:50 -07:00

Disassembly of the original desk accessories:

New desk accessories:

Desk Accessory Details

  • Loaded at $800 through (at least) $14FF
  • Copy themselves from Main into Aux memory (same location)
  • Can call into ProDOS MLI and MGTK/A2D entry points ($4000, etc)
  • See API.md for programming details

Files

  • Makefile - cleans/builds targets
  • orig/*.bin - original binary (type $F1, auxtype $0640, start $800)
  • *.s - source (originally generated using da65, now modified)

Build Instructions

On Unix-like systems (including Mac OS X) make all should build build the desk accessory files (original and new) into out/ output with a .$F1 suffix, representing the $F1 file type required.

For the original DAs, the .$F1 and .bin files can be compared using diff to ensure that no changes have been introduced by the disassembly process.

With desk.acc as the current directory, run res/go.sh to automatically verify that the files are unchanged from the original, and also generate semi-useful stats showing disassembly progress.

Getting The DAs Onto Your Apple II

There are a handful of approaches for getting the files on your real or virtual Apple.

Create a Disk Image

To produce a ProDOS disk image with the DA files, install and build the Cadius tool:

git clone https://github.com/mach-kernel/cadius /tmp/cadius
make -C /tmp/cadius
CADIUS=/tmp/cadius/bin/release/cadius

Then from the desk.acc/ directory, run: go/package.sh

This will generate: desk.acc/out/DeskAccessories.po

Mount this disk image in your emulator, or transfer it to a real floppy with ADTPro, then follow the install instructions below.

Mounting Folder via the Virtual ][ Emulator

If you use Virtual ][ as your emulator, you can skip creating a disk image.

With desk.acc as your current directory, create a mount folder, run the res/go.sh script, and the built files will automatically be copied in. Then run Virtual ][ and use the Media > Mount Folder as ProDOS Disk... menu item. A new ProDOS volume called /MOUNT will be available.

Other

If you need to copy the files some other way (e.g. via CiderPress), you need to do the following:

Transfer the .$F1 files in the out directory, ensuring you:

  • Drop the suffix
  • Replace . in the name with spaces
  • Ensure they have ProDOS file type $F1
  • Ensure they have start address $800
  • Ensure they have auxtype $0640 (to match the originals)

The last three are tricky, and depend on how you're copying the files.

Install Instructions

Once you have the files accessible on your Apple:

  • Copy the files into your A2.DESKTOP/DESK.ACC folder (using A2D or any other tool)
  • Restart so A2D picks up the new DA

Tips:

  • You can use the Sort Directory DA to order the files, which controls the menu order:
    • Open the A2.DESKTOP/DESK.ACC folder
    • Hold Open-Apple and click on each file in the desired order
    • Select Sort Directory from the Apple menu, and verify the order
    • Restart