a2d/desk.acc/README.md

74 lines
2.4 KiB
Markdown
Raw Normal View History

2017-08-29 03:58:09 +00:00
Disassembly of the desk accessories:
* [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
* `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
files with a `.F1` suffix, representing the $F1 file type required.
2017-09-07 15:34:45 +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:
`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
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