Disassembly of the Apple II Desktop - ProDOS GUI
Go to file
Joshua Bell 36439b1219 Reset 'last menu', fixes DA menu restore after double-click. Fixes #139
Full-screen DAs/Previews assume they were launched from a menu and need to
restore the menu bar and hilite state. If launched via double-click there
is no hilite state to restore; handle this by setting the "last menu id"
to an unused value so the HiliteMenu call is a no-op.
2019-03-17 16:15:00 -07:00
desk.acc Add 'Screen Saver' DA, issue #27. Also adds DrawMenu to MGTK, fixes #136. 2019-03-11 19:44:07 -07:00
desktop Reset 'last menu', fixes DA menu restore after double-click. Fixes #139 2019-03-17 16:15:00 -07:00
desktop.system Copy PREVIEW/ subdir to RAMCard as well 2019-02-02 12:38:36 -08:00
docs Image Preview: Add Minipix/Print Shop clip art support. Fixes #24 2019-03-08 18:53:37 -08:00
fonts Remove desk.acc/fonts, update tools. Resolves #76 2018-04-27 19:37:12 -07:00
inc DeskTop: Avoid frequent STATUS calls on Laser 128. Maybe fixes #138 2019-03-17 15:34:18 -07:00
preview Add 'Screen Saver' DA, issue #27. Also adds DrawMenu to MGTK, fixes #136. 2019-03-11 19:44:07 -07:00
res Remove RAM.SYSTEM (moved to external repo). Fixes #108 2019-02-24 20:14:25 -08:00
.gitignore add script to generate ShrinkIt file if nulib2 is available (#128) 2019-02-14 11:06:08 -08:00
.travis.yml Add "Preview DAs", allow opening text/graphics directly (Issue #101) 2019-01-21 12:35:43 -08:00
APIs.md Add "Preview DAs", allow opening text/graphics directly (Issue #101) 2019-01-21 12:35:43 -08:00
CODE_OF_CONDUCT.md
CodingStyle.md disasm: copy/delete/lock/unlock/size operations 2019-01-14 20:43:17 -08:00
CONTRIBUTING.md Update docs regarding branch structure 2018-12-09 20:43:56 -08:00
desktop.inc Show Apple icon for Desk Accessory files, allow running (Fixes #101. Fixes #116.) 2019-02-22 20:21:58 +11:00
macros.inc Free up more res space; pad with xx's for easier hole finding 2019-01-17 21:27:56 -08:00
mgtk.inc Add 'Screen Saver' DA, issue #27. Also adds DrawMenu to MGTK, fixes #136. 2019-03-11 19:44:07 -07:00
MGTK.md Add 'Screen Saver' DA, issue #27. Also adds DrawMenu to MGTK, fixes #136. 2019-03-11 19:44:07 -07:00
README.md Documentation updates 2018-04-27 20:40:39 -07:00
RELEASE-NOTES.md DeskTop: Avoid frequent STATUS calls on Laser 128. Maybe fixes #138 2019-03-17 15:34:18 -07:00

Apple II DeskTop

Build Status

Work-in-Progress disassembly of Apple II Desktop (a.k.a. MouseDesk)

Background

Apple II Desktop started its life as "MouseDesk" by Version Soft. It is a mouse-driven Mac-like "Finder" GUI application for 8-bit Apples with 128k of memory (Enhanced Apple //e, Apple //c) using double-hires monochrome graphics (560x192) and the ProDOS operating system.

Apple Computer acquired the software and released it - rebranded as Apple II Desktop - as the initial system software for the Apple IIgs before 16-bit GS/OS replaced it. The rebranded version still functions on 8-bit Apples.

Overview: http://toastytech.com/guis/a2desk.html

Manual: Apple IIgs System Disk Users Guide (1986) - Chapter 2 “The DeskTop”

A pieced-together history, details of versions, bug reports and feature requests: https://mirrors.apple2.org.za/ground.icaen.uiowa.edu/MiscInfo/Misc/mousedesk.info

Disks can be found at: ftp://ftp.apple.asimov.net/pub/apple_II/images/masters/other_os/gui/

Other GUI environments exist for the 8-bit Apples, including GEOS (which includes productivity applications) and Quark Catalyst. While A2.Desktop is more limited - serving only as a file manager and application launcher - it is (subjectively) more visually appealing and better integrated with ProDOS.

Goal

The goal of this project is to disassemble/reverse-engineer the suite with an eye towards understanding how it functions, and eventually fixing bugs and adding functionality.

Tools

The cc65 tool chain will be used; source files will target the ca65 macro assembler. Cross-development on modern systems will be assumed. (Sorry, Merlin purists! We still love you.)

Code of Conduct

Discussions should be polite, respectful and inclusive, and focus on the code. Harassment will not be tolerated. Keep comments constructive. Please read the full Code of Conduct.