mirror of
https://github.com/mi57730/a2d.git
synced 2024-07-15 14:28:53 +00:00
108 lines
3.4 KiB
Markdown
108 lines
3.4 KiB
Markdown
Disassembly of the original desk accessories:
|
|
|
|
* [Calculator](calculator.s) - complete!
|
|
* [Date](date.s) - complete!
|
|
* [Puzzle](puzzle.s) - complete!
|
|
* [Show Text File](show.text.file.s) - in progress! 95% complete
|
|
* [Sort Directory](sort.directory.s) - in progress! 40% complete
|
|
|
|
New desk accessories:
|
|
* [Show Image File](show.image.file.s) - complete!
|
|
* [This Apple](this.apple.s) - complete!
|
|
* [Eyes](eyes.s) - complete!
|
|
|
|
## 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](API.md) for programming details
|
|
|
|
## Files
|
|
|
|
* `Makefile` - cleans/builds targets
|
|
* `orig/*.bin` - original binary (type $F1, auxtype $0640, start $800)
|
|
* `*.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) into `out/`
|
|
output 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.
|
|
|
|
With `desk.acc` as the current directory, run `res/go.sh` to automatically
|
|
verify that the files are unchanged from the original, and also generate
|
|
semi-useful stats showing disassembly progress.
|
|
|
|
## Getting The DAs Onto Your Apple II
|
|
|
|
There are a handful of approaches for getting the files on your real
|
|
or virtual Apple.
|
|
|
|
### Create a Disk Image
|
|
|
|
To produce a ProDOS disk image with the DA files, install and build the
|
|
[Cadius](https://github.com/mach-kernel/cadius) tool:
|
|
|
|
```
|
|
git clone https://github.com/mach-kernel/cadius /tmp/cadius
|
|
make -C /tmp/cadius
|
|
CADIUS=/tmp/cadius/bin/release/cadius
|
|
```
|
|
|
|
Then from the `desk.acc/` directory, run: `go/package.sh`
|
|
|
|
This will generate: `desk.acc/out/DeskAccessories.2mg`
|
|
|
|
Mount this disk image in your emulator, or transfer it to a real floppy
|
|
with [ADTPro](http://adtpro.com/), then follow the install instructions
|
|
below.
|
|
|
|
### Mounting Folder via the Virtual ]\[ Emulator
|
|
|
|
If you use [Virtual \]\[](http://www.virtualii.com/) as your emulator,
|
|
you can skip creating a disk image.
|
|
|
|
With `desk.acc` as your current directory, create a `mount` folder,
|
|
run the `res/go.sh` script, and the built files will automatically be
|
|
copied in. Then run Virtual ]\[ and use the **Media** > **Mount Folder
|
|
as ProDOS Disk...** menu item. A new ProDOS volume called `/MOUNT` will
|
|
be available.
|
|
|
|
### Other
|
|
|
|
If you need to copy the files some other way (e.g. via
|
|
[CiderPress](http://a2ciderpress.com/)), you need to do the following:
|
|
|
|
Transfer the `.$F1` files in the `out` directory, ensuring you:
|
|
|
|
* Drop the suffix
|
|
* Replace `.` in the name with spaces
|
|
* Ensure they have ProDOS file type `$F1`
|
|
* Ensure they have start address `$800`
|
|
* Ensure they have auxtype `$0640` (to match the originals)
|
|
|
|
The last three are tricky, and depend on how you're copying the files.
|
|
|
|
## Install Instructions
|
|
|
|
Once you have the files accessible on your Apple:
|
|
|
|
* Copy the files into your `A2.DESKTOP\DESK.ACC` folder (using A2D or any other tool)
|
|
* 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
|
|
* Hold Open-Apple and click on each file in the desired order
|
|
* Select Sort Directory from the Apple menu, and verify the order
|
|
* Restart
|
|
|
|
|