a2d/desk.acc
2018-03-05 21:20:00 -08:00
..
docs
fonts DeskTop: Icon disassembly WIP 2017-09-27 19:41:40 -07:00
inc
orig Makefile tweaks 2018-02-21 21:18:46 -08:00
res procs, errs 2018-03-05 21:20:00 -08: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 wider block separator comment 2018-03-04 21:36:00 -08:00
date.s wider block separator comment 2018-03-04 21:36:00 -08:00
Makefile Makefile tweaks 2018-02-21 21:18:46 -08:00
puzzle.s wider block separator comment 2018-03-04 21:36:00 -08:00
README.md selection renames/docs 2018-02-19 11:33:13 -08: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

Disassembly of the desk accessories:

  • Show Text File - in progress! 95% complete
  • Calculator - in progress! 99% complete
  • Date - in progress! 99% complete
  • Puzzle - in progress! 99% complete
  • Sort Directory - not started

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, start $800)
  • infos/*.info - da65 "info" file - used to inform disassembly
  • *.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) and output files 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.

Tips:

  • While I'm disassembling (i.e. guessing what entry points do and what parameters are, converting .word to .byte, etc) I leave this running in another window:

    while true; do clear; res/go.sh; sleep 1; done

Install Instructions

Transfer the .F1 files to your Apple (real or virtual) ensuring you:

  • Drop the suffix
  • Replace . in the name with spaces
  • Ensure they have ProDOS file type $F1
  • Ensure they have start address $800

The last two are tricky, and depend on how you're copying the files. My process is to use Virtual ][ on my Mac and mount a folder as a ProDOS drive; I copy one of the original DAs into the folder which gives it the $F1 filetype as a suffix and start address as an invisible resource stream. I then unmount the folder, overwrite the DA with a newly built one, and remount the folder.

Finally:

  • Drop the files into your A2.DESKTOP\DESK.ACC folder
  • 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
    • Press Open-Apple and click on each file in the desired order
    • Select Sort Directory from the Apple menu, and verify the order
    • Restart