2017-08-29 03:58:09 +00:00
|
|
|
Disassembly of the desk accessories:
|
|
|
|
|
2017-09-17 00:11:50 +00:00
|
|
|
* [Show Text File](show_text_file.s) - in progress! 95% complete
|
|
|
|
* [Calculator](calculator.s) - in progress! 99% complete
|
|
|
|
* [Date](date.s) - in progress! 99% complete
|
|
|
|
* [Puzzle](puzzle.s) - in progress! 99% complete
|
2017-08-29 04:22:38 +00:00
|
|
|
* Sort Directory - _not started_
|
2017-08-29 04:25:26 +00:00
|
|
|
|
2017-09-04 20:51:51 +00:00
|
|
|
New desk accessories:
|
2017-09-07 15:34:45 +00:00
|
|
|
* [Show Image File](show_image_file.s) - complete!
|
2017-09-04 20:51:51 +00:00
|
|
|
|
2017-08-29 04:25:26 +00:00
|
|
|
## Desk Accessory Details
|
|
|
|
|
|
|
|
* Loaded at $800 through (at least) $14FF
|
|
|
|
* Copy themselves from Main into Aux memory (same location)
|
2018-01-29 05:18:00 +00:00
|
|
|
* Can call into ProDOS MLI and MGTK/A2D entry points ($4000, etc)
|
2018-02-19 19:33:13 +00:00
|
|
|
* See [API.md](API.md) for programming details
|
2017-09-04 19:56:41 +00:00
|
|
|
|
2017-09-04 20:51:51 +00:00
|
|
|
## Files
|
2017-09-04 19:56:41 +00:00
|
|
|
|
2017-09-04 20:51:51 +00:00
|
|
|
* `Makefile` - cleans/builds targets
|
2017-09-11 03:18:29 +00:00
|
|
|
* `orig/*.bin` - original binary (type $F1, start $800)
|
|
|
|
* `infos/*.info` - da65 "info" file - used to inform disassembly
|
2017-09-04 19:56:41 +00:00
|
|
|
* `*.s` - source (originally generated using da65, now modified)
|
2017-09-07 15:34:45 +00:00
|
|
|
|
|
|
|
## Build Instructions
|
|
|
|
|
|
|
|
On Unix-like systems (including Mac OS X) `make all` should build
|
|
|
|
build the desk accessory files (original and new) and output
|
2017-09-11 03:18:29 +00:00
|
|
|
files with a `.F1` suffix, representing the $F1 file type required.
|
2017-09-07 15:34:45 +00:00
|
|
|
|
2017-09-11 03:18:29 +00:00
|
|
|
For the original DAs, the `.F1` and `.bin` files can be compared
|
2017-09-07 15:34:45 +00:00
|
|
|
using `diff` to ensure that no changes have been introduced by the
|
|
|
|
disassembly process.
|
|
|
|
|
2017-09-07 15:37:13 +00:00
|
|
|
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:
|
|
|
|
|
2017-09-17 00:11:50 +00:00
|
|
|
`while true; do clear; res/go.sh; sleep 1; done`
|
2017-09-07 15:37:13 +00:00
|
|
|
|
|
|
|
|
2017-09-07 15:34:45 +00:00
|
|
|
## Install Instructions
|
|
|
|
|
2017-09-11 03:18:29 +00:00
|
|
|
Transfer the `.F1` files to your Apple (real or virtual) ensuring you:
|
2017-09-07 15:34:45 +00:00
|
|
|
|
|
|
|
* 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
|
2017-09-07 15:37:13 +00:00
|
|
|
the menu order:
|
2017-09-07 15:34:45 +00:00
|
|
|
* Open the `A2.DESKTOP\DESK.ACC` folder
|
2018-01-21 23:49:54 +00:00
|
|
|
* Press Open-Apple and click on each file in the desired order
|
2017-09-07 15:34:45 +00:00
|
|
|
* Select Sort Directory from the Apple menu, and verify the order
|
|
|
|
* Restart
|