a2d/desk.acc
2018-01-05 00:26:13 -08:00
..
docs
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
infos
orig
res DeskTop: Icon disassembly WIP 2017-09-27 19:41:40 -07:00
.gitignore Clean up directories, start work mapping DESKTOP2 2017-09-16 17:11:50 -07:00
a2d.md Standardize state label names a bit 2017-10-07 20:22:39 -07:00
calc_fixed.s DeskTop: Start cleaning up Loader 2018-01-04 21:57:50 -08:00
calculator.s DeskTop: Start cleaning up Loader 2018-01-04 21:57:50 -08:00
date.s Split up include files for GUI library vs. DeskTop app 2017-10-11 20:45:58 -07:00
Makefile Segment work 2017-12-15 21:36:09 -08:00
puzzle.s DeskTop: Start cleaning up Loader 2018-01-04 21:57:50 -08:00
README.md Clean up directories, start work mapping DESKTOP2 2017-09-16 17:11:50 -07:00
show_image_file.s Split up include files for GUI library vs. DeskTop app 2017-10-11 20:45:58 -07:00
show_text_file.s DeskTop: Puzzle out the segment loader 2018-01-05 00:26:13 -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 A2D entry points ($4000, etc)

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 the each file in the desired order
    • Select Sort Directory from the Apple menu, and verify the order
    • Restart