- Fixed mashing mouse buttin causing Applesoft GOSUBs to fail intermittently

This commit is contained in:
Quinn Dunki 2015-01-14 13:29:12 -08:00
parent 28956650ff
commit fa6276dbc3
5 changed files with 14 additions and 12 deletions

View File

@ -2,16 +2,16 @@
Known issues
------------
- Hitting Reset in app that uses windows and desktop (no mouse needed) seems to mess up screen holes for Disk II
- Mashing a button with mouse in Applesoft will cause Undefined Statement error
- Repainting a view while the mouse cursor is on it will cause artifacts when mouse moves
- Quitting sometimes leaves BASIC in inverted text mode
- Quitting with button highlighted leaves us in inverted text mode
- After initial run of basic demo, additional run fails with no buffers available
- Hitting Reset during a WeeGUI application will leave your Apple II in an unsafe state
To Do:
------
- Repainting a view while the mouse cursor is on it will cause artifacts when mouse moves
- Quitting sometimes leaves BASIC in inverted text mode
- Quitting with button highlighted leaves us in inverted text mode
- After initial run of basic demo, additional run fails with no buffers available
- Make WGFillRect support 1 height and 1 width
- If called in inverse mode, clear screen clears inverse
- Fix unclosed PRE tags in documentation

View File

@ -928,8 +928,8 @@ WGBottomCursor:
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; WGGosub
; Performs an Applesoft GOSUB to a line number
; PARAM0: Line number (LSB)
; PARAM1: Line number (MSB)
; WG_GOSUBLINE: Line number (LSB)
; WG_GOSUBLINE+1: Line number (MSB)
;
WGGosub:
lda #0
@ -962,9 +962,9 @@ WGGosub:
; by faking the setup portion of the GOSUB, then leaving
; the state as GOTO expects it, we can fake the entire
; process to GOSUB to a line number we specify
lda PARAM0
lda WG_GOSUBLINE
sta LINNUML
lda PARAM1
lda WG_GOSUBLINE+1
sta LINNUMH
jsr GOTO+3

View File

@ -60,6 +60,8 @@ WG_PENDINGACTIONVIEW:
WG_GOSUB: ; Set if an Applesoft gosub was generated by a view action
.byte 0
WG_GOSUBLINE: ; Line number for the pending GOSUB
.byte 0,0
WG_VIEWCLIP:
; X0,Y0,X1,Y1. Edges of current window, in view space, right span

View File

@ -721,9 +721,9 @@ WGViewFocusAction_buttonClickApplesoft:
beq WGViewFocusAction_mightBeZero
WGViewFocusAction_buttonClickApplesoftNotZero:
sta PARAM0
sta WG_GOSUBLINE
lda WG_VIEWRECORDS+11,y
sta PARAM1
sta WG_GOSUBLINE+1
WGViewFocusAction_buttonClickApplesoftGosub:
; Caller needs to handle Applesoft Gosub, so signal with a flag and return

Binary file not shown.