Commit Graph

267 Commits

Author SHA1 Message Date
Joshua Bell
8231e303f4 Add Control Panel DA.
* Desktop pattern
* Double-click speed
* Joystick calibration
* Insertion point blink speed

Settings live in LCBANK1 at $FF80 and are persisted directly to DESKTOP2 when the DA closes. DeskTop itself is modified to pull values from there. IP blink routines are improved to not slow down when the mouse pointer is over the window.

Fixes #2, #31, #72
2019-07-30 21:22:28 -07:00
Joshua Bell
ea4acbeb3f Rename the icon management logic in Aux 'Icon ToolKit' 2019-07-28 16:54:06 -07:00
Joshua Bell
15bd7be90d Add MGTK Font file support for Preview.
Correct docs for some DeskTop icon APIs, and improve resilience of
some of the APIs to having atypical grafports selected when called.
2019-07-26 20:44:22 -07:00
Joshua Bell
5cc1c2c188 Fix clock inversion when desktop icon is selected. Fixes #161 2019-07-12 14:07:30 -07:00
Joshua Bell
d2f88aaed1 Prevent crashes in Calculator/Eyes DA using ROM FP routines
During calls, MGTK uses the top half of the zero page to hold the
active grafport and local variables. It normally saves/restores the ZP
on each call so that the application's ZP state is preserved. Per
docs, the ZP1 call with param $00 can be used to disable this; MGTK
will write its state to the ZP and assume the ZP is not touched until
a subsequent ZP1 call with param $80, allowing higher performance.

DeskTop would normally run in this state ($00), except when DAs were
invoked since they could use ROM routines (etc) and expect the top
half of the ZP to be preserved during MGTK calls. But it did this with
a toggle ($00, $80, run the DA, then $00 again). Confusingly, the Calc
(and Eyes, c/o copy/pasta) DA would also attempt to get to a normal
state when running ($80, run, $00).

In rev 30532c31 I disabled DeskTop's toggling around DAs to fix an
issue in the Sort Directory DA (see #119), which might have changed
the overall behavior. The result is that on the IIc+ (and possibly
other hardware, but not Virtual II or Laser 128EX) the Calc and Eyes
DAs would crash.

This change disables use of the ZP1 by DeskTop and the DAs. This will
likely impair performance somewhat due to the save/restore overhead on
each call, but at least this gets us to a "known good state".

Fixes #157, #158
2019-07-11 15:50:20 -07:00
Joshua Bell
2b17c2074c Hold Apple key when double-clicking/File>Open to close parent. Resolves #9 2019-05-13 20:46:05 -07:00
Joshua Bell
3d379d503b DeskTop: Streamline File menu; repurpose Apple-W shortcut. Fixes #154 2019-05-09 21:43:51 -07:00
Joshua Bell
7f53374dc8 DeskTop: Make type remapping data driven 2019-04-28 23:11:48 -07:00
Joshua Bell
3424bb94d1 DeskTop: Don't redraw hilited icons when obscured. Fixes #151 2019-04-24 23:45:18 -07:00
Joshua Bell
d0407cfcbd Merge remote-tracking branch 'origin/disasm' 2019-04-24 23:44:08 -07:00
Joshua Bell
f997da9784 disasm: handle_title_click 2019-04-24 23:41:53 -07:00
Joshua Bell
9244369165 DeskTop: Check block count when treating BIN as FOT 2019-04-22 21:44:43 -07:00
Joshua Bell
1010931df3 Make Apple-Delete shortcut for deleting file. Fixes #150 2019-04-14 19:38:47 -06:00
Joshua Bell
26bb407aea Use lookup table for hex digits 2019-04-12 10:27:55 -06:00
Joshua Bell
29d6ff0f1f Merge remote-tracking branch 'origin/disasm' 2019-04-12 10:07:08 -06:00
Joshua Bell
e5e94ca480 disasm: window icon/filerecord mapping 2019-04-12 10:03:07 -06:00
Joshua Bell
8f22609e21 Fix opening folder/volume via double-clicking. Fixes #146
Broken by recent refactor; icon ptr needed to be saved after lookup.
2019-04-03 19:33:19 -07:00
Joshua Bell
82c7d71471 Re-associate windows with dir icons. Fixes #144 2019-04-01 22:05:22 -07:00
Joshua Bell
144a7eb9f8 Better handlng of recycled icons, dedupe code. 2019-04-01 20:37:01 -07:00
Joshua Bell
e9a9897a1f Merge remote-tracking branch 'origin/disasm' 2019-04-01 19:03:36 -07:00
Joshua Bell
9b1a4410fa disasm: window open logic 2019-04-01 18:58:01 -07:00
Joshua Bell
6bafe66a88 Macro tidying: use param blocks; dedupe macros that differ only by order 2019-03-30 08:34:49 -07:00
Joshua Bell
59455d3cff Hook reset to cleanly quit DeskTop back to ProDOS. Resolves #141
* Fails on Virtual II and KEGS/GSPort/GSPlus, as they fail to
  disable aux memory on reset
* Will fail within Disk Copy overlay
2019-03-29 18:52:52 -07:00
Joshua Bell
fecda5d801 DeskTop: Restore leading 0 for minutes 2019-03-26 21:28:22 -07:00
Joshua Bell
703e807447 DeskTop: tighten up clock code, remove extra space 2019-03-26 18:49:22 -07:00
Joshua Bell
7f2b5d0a4d DeskTop: Show day-of-week in menu bar clock. Fixes #142 2019-03-26 17:14:56 -07:00
Joshua Bell
3d95c996f2 DeskTop: apple-backtick and apple-tab cycle windows. Fixes #143 2019-03-25 22:04:54 -07:00
Joshua Bell
8d1527eb66 doc updates 2019-03-17 19:17:28 -07:00
Joshua Bell
ad43b11ec4 DeskTop: Relocate removable device enumeration to init to save space 2019-03-17 19:10:06 -07:00
Joshua Bell
f1ff7c3372 Remove unused 'System/Start' path check 2019-03-17 18:47:59 -07:00
Joshua Bell
14b2cc6d73 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
Joshua Bell
3236eb26be DeskTop: Avoid frequent STATUS calls on Laser 128. Maybe fixes #138
Also adjust double-click timing on Laser 128, assuming acceleration.
2019-03-17 15:34:18 -07:00
Joshua Bell
19470f403c DeskTop: improve volume icon spacing 2019-03-16 16:36:28 -07:00
Joshua Bell
000a4a70e1 DeskTop: bottom-align volume icons 2019-03-15 20:03:28 -07:00
Joshua Bell
23240d8efe Image Preview: Add Minipix/Print Shop clip art support. Fixes #24 2019-03-08 18:53:37 -08:00
Joshua Bell
9c135b8b7a Merge remote-tracking branch 'origin/disasm' 2019-02-28 20:14:16 -08:00
Joshua Bell
fd79e7856a disasm: scroll thumbs 2019-02-28 20:14:07 -08:00
Joshua Bell
a38e151d89 Merge remote-tracking branch 'origin/disasm' 2019-02-25 19:51:53 -08:00
Joshua Bell
d611f9981d disasm: Correct screen_to_window/window_to_screen directions 2019-02-25 19:47:50 -08:00
Joshua Bell
44cc3ed49c Merge remote-tracking branch 'origin/disasm' 2019-02-25 19:38:40 -08:00
Joshua Bell
0f60915674 disasm: volume/folder opening 2019-02-25 19:38:12 -08:00
Joshua Bell
123f87de77 Remove RAM.SYSTEM (moved to external repo). Fixes #108 2019-02-24 20:14:25 -08:00
mgcaret
63772d5c99 Fix IRQ handling for MLI calls. (#133)
* remove all IRQ-disabling wrappeds to MLI calls
2019-02-24 18:32:32 +11:00
Joshua Bell
b14abdf502 Show Apple icon for Desk Accessory files, allow running (Fixes #101. Fixes #116.) 2019-02-22 20:21:58 +11:00
Joshua Bell
c85c08f72b Merge remote-tracking branch 'origin/disasm' 2019-02-22 18:30:13 +11:00
Joshua Bell
786dc99e0c disasm: prompt/input key handling 2019-02-22 11:34:02 +11:00
Joshua Bell
bda47687d8 Merge remote-tracking branch 'origin/disasm' 2019-02-19 09:14:23 +11:00
Joshua Bell
9ddc8309f2 disasm: window dimensions 2019-02-19 09:14:06 +11:00
Joshua Bell
8e70e43af9 Merge remote-tracking branch 'origin/disasm' 2019-02-17 17:23:40 +11:00
Joshua Bell
780179392c disasm: scrollbars and ports 2019-02-17 17:20:49 +11:00