a2d/desk.acc
2017-09-13 19:31:54 -07:00
..
docs Add docs explaining HR to DHR conversion process 2017-09-08 15:54:14 -07:00
infos Initial disassembly snapshot for Date and Puzzle 2017-09-10 20:18:29 -07:00
orig Initial disassembly snapshot for Date and Puzzle 2017-09-10 20:18:29 -07:00
res Initial disassembly snapshot for Date and Puzzle 2017-09-10 20:18:29 -07:00
.gitignore Rework files, add Makefile 2017-09-04 13:51:51 -07:00
a2d.inc Date: Identify save to file logic 2017-09-13 19:31:54 -07:00
calculator.s Identify SET_FILL_MODE 2017-09-10 10:40:08 -07:00
date.s Date: Identify save to file logic 2017-09-13 19:31:54 -07:00
go.sh Puzzle: routines and param blocks 2017-09-11 20:38:58 -07:00
hgr_to_dhr.inc HGR works 2017-09-04 19:18:37 -07:00
hires_table.inc HGR works 2017-09-04 19:18:37 -07:00
Makefile Initial disassembly snapshot for Date and Puzzle 2017-09-10 20:18:29 -07:00
puzzle.s Puzzle: routines and param blocks 2017-09-11 23:16:29 -07:00
README.md Update completion estimate in readme 2017-09-13 00:04:48 -07:00
show_image_file.s Clarify close button handler, A2D API comments 2017-09-09 18:43:32 -07:00
show_text_file.s Clarify close button handler, A2D API comments 2017-09-09 18:43:32 -07:00

Disassembly of the desk accessories:

  • Show Text File - in progress! 90% complete
  • Calculator - in progress! 90% complete
  • Date - in progress! 50% complete
  • Puzzle - in progress! 75% 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

  • go.sh - bash script to build, verify, and copy files

  • 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; ./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