Commit Graph

1202 Commits

Author SHA1 Message Date
Joshua Bell ebb03dbb61 Bump version 2019-07-30 21:26:02 -07:00
Joshua Bell 2415869008 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 daf6e87aec Rename the icon management logic in Aux 'Icon ToolKit' 2019-07-28 16:54:06 -07:00
Joshua Bell 24d318c274 Disasm: icon offset logic 2019-07-28 15:24:36 -07:00
Joshua Bell 13c1f6166a Move macros.inc into inc/ to tidy top level dir 2019-07-27 10:49:13 -07:00
Joshua Bell ff2f652c96 Move MGTK to mgtk/ dir to tidy up top level 2019-07-27 10:45:31 -07:00
Joshua Bell 157c6a3f0c 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 6e96eae7ed DeskTop: Fix highlighting when dragging over icons. Fixes #163
The DeskTop library routines for handling icons switched GrafPorts
in a fragile way, which previous changes had broken. Updates to
the volume icon clipping code left the GrafPort used for icon
drawing clipped, and it was not restored correctly before subsequent
file icons were drawn.

Ensure the correct grafports are used everywhere, and reset them
when necessary. Further simplification is possible.
2019-07-23 21:07:53 -07:00
Joshua Bell e8a9add613 Correct icon clipping while dragging. Fixes #162
When dragging a selection over a desktop icon, the clipping rect of
the GrafPort used for drawing the outline would be changed. Broken
at some point, but probably only worked by accident. (Zero page fun?)

Introduce a dedicated grafport for drawing the outline.

Also, add some macros for pushorg/poporg
2019-07-22 21:14:20 -07:00
Joshua Bell 37091f842a Preview: Infer BIN at $4000 as image too 2019-07-20 10:06:01 -07:00
Joshua Bell a2659c7ae0 Fix clock inversion when desktop icon is selected. Fixes #161 2019-07-12 14:07:30 -07:00
Joshua Bell f96c43c3a3 version bump 2019-07-12 11:43:00 -07:00
Joshua Bell 92482500a6 Calculator DA: Fix FSUB call. Fixes #159
When updating how Calculator calls ROM routines in 88666311 the FSUB
wrapper was missing a PLA. Convert the wrappers into a macro to avoid
such mistakes (D.R.Y.)

Also, updated refs to CHRGET routine.
2019-07-11 21:18:48 -07:00
Joshua Bell 25297ccb28 Simplify Calculator DA's init/exit/redraw logic 2019-07-11 16:43:15 -07:00
Joshua Bell 46e413f3f1 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 9e7fcdf9ea Key Caps DA: Fix IIc+ test 2019-07-11 15:08:14 -07:00
Joshua Bell 393bd12491 This Apple DA: Add II/II+ icon, for kicks 2019-06-26 20:00:05 -07:00
Joshua Bell 2d111d1771 Hold Apple key when double-clicking/File>Open to close parent. Resolves #9 2019-05-13 20:46:05 -07:00
Joshua Bell 1c10845cfd Add docs about Mouse Keys mode 2019-05-12 19:01:53 -07:00
Joshua Bell 39260141e8 DeskTop: Streamline File menu; repurpose Apple-W shortcut. Fixes #154 2019-05-09 21:43:51 -07:00
Joshua Bell 5efade0c6e DeskTop: Fix for icon redraw lockup #153 2019-05-09 20:56:36 -07:00
Joshua Bell dae33abc9a DeskTop: rename 'View > as Icons' menu item 2019-05-05 20:28:52 -07:00
Joshua Bell fbfca81acc Travis CI: Deploy tagged versions as pre-releases 2019-05-05 18:12:50 -07:00
Joshua Bell 0daa0f6184 DeskTop: Make type remapping data driven 2019-04-28 23:11:48 -07:00
Joshua Bell e3424bde4f Tweak release notes after previous fix 2019-04-25 21:28:28 -07:00
Joshua Bell aa9194ad3f DeskTop: Improve window bounds calc for icon clipping. Fixes #152
The logic for computing window bounds started with the cliprect
returned by GetWinPort. But if the window content area is offscreen
that rect is invalid. Instead, use the Winfo's position/size records.

Also, significantly simplify the math used to account for borders,
title bars and scroll bars.
2019-04-25 21:25:58 -07:00
Joshua Bell 462d3e1914 DeskTop: Don't redraw hilited icons when obscured. Fixes #151 2019-04-24 23:45:18 -07:00
Joshua Bell e028076e0c Merge remote-tracking branch 'origin/disasm' 2019-04-24 23:44:08 -07:00
Joshua Bell f5b12036df disasm: handle_title_click 2019-04-24 23:41:53 -07:00
Joshua Bell 83e5fe0af4 Remove obsolete comment 2019-04-23 21:20:08 -07:00
Joshua Bell d324039d84 Update release notes w/r/t previous commit 2019-04-22 22:49:04 -07:00
Joshua Bell 6a14ad7bf0 DeskTop: Check block count when treating BIN as FOT 2019-04-22 21:44:43 -07:00
Joshua Bell 4eb5057831
Updated README
Links! Emoji! YouTube link!
2019-04-22 21:23:36 -07:00
Joshua Bell 1e162f3564 Make Apple-Delete shortcut for deleting file. Fixes #150 2019-04-14 19:38:47 -06:00
Joshua Bell 91d91d14c8 Use lookup table for hex digits 2019-04-12 10:27:55 -06:00
Joshua Bell f4114b3900 Merge remote-tracking branch 'origin/disasm' 2019-04-12 10:07:08 -06:00
Joshua Bell 4c875790b0 disasm: window icon/filerecord mapping 2019-04-12 10:03:07 -06:00
Joshua Bell 3e5bc7d5de DeskTop: bump release 2019-04-04 09:08:40 -07:00
Joshua Bell bf3ab53af7 Disk Copy: Don't hard-code cross-overlay addresses. Fixes #147 2019-04-04 09:04:05 -07:00
Joshua Bell c5647d5007 Include ProDOS 2.4.2/BASIC.SYSTEM 1.6 for packaging 2019-04-03 22:38:55 -07:00
Joshua Bell ba8c5a7383 DeskTop: Bump version/date 2019-04-03 19:35:38 -07:00
Joshua Bell 74f11c173d 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 6304d4789d Travis CI: Fix preview path 2019-04-02 21:34:15 -07:00
Joshua Bell 632cad07ee Travis CI: Build preview dir too 2019-04-02 21:32:07 -07:00
Joshua Bell 1189a3a275 bump version/date 2019-04-02 21:21:07 -07:00
Joshua Bell f93b103687 Re-associate windows with dir icons. Fixes #144 2019-04-01 22:05:22 -07:00
Joshua Bell 9b2b361e90 Better handlng of recycled icons, dedupe code. 2019-04-01 20:37:01 -07:00
Joshua Bell 1abe9dec39 Merge remote-tracking branch 'origin/disasm' 2019-04-01 19:03:36 -07:00
Joshua Bell 7cf6f9406c disasm: window open logic 2019-04-01 18:58:01 -07:00
Joshua Bell b971f98a45 disasm: Disk Copy overlay flow 2019-03-30 16:57:37 -07:00