From f72a85e80247fa8377191ad8a51acb1459588cf3 Mon Sep 17 00:00:00 2001 From: blondie7575 Date: Sun, 31 Dec 2017 14:23:58 -0800 Subject: [PATCH] Added Applesoft API to get selected view - Also combined WIPE/ERASE APIs into one --- Documentation.md | 4 ++-- applesoft.s | 57 ++++++++++++++++++++++++++++++++++------------- weegui.dsk | Bin 143360 -> 143360 bytes weegui.s | 4 ++-- 4 files changed, 46 insertions(+), 19 deletions(-) diff --git a/Documentation.md b/Documentation.md index e2e64e0..2af4abe 100644 --- a/Documentation.md +++ b/Documentation.md @@ -621,7 +621,7 @@ Erases the content area of the selected view. The frame is not touched. AssemblyApplesoft
 X:		WGEraseViewContents
 
-&ERASE
+&ERASE(0)
 
@@ -633,7 +633,7 @@ Erases the content area and frame of the selected view. AssemblyApplesoft
 X:		WGEraseView
 
-&WIPE
+&ERASE(1)
 
diff --git a/applesoft.s b/applesoft.s index 4297895..11423a0 100644 --- a/applesoft.s +++ b/applesoft.s @@ -878,9 +878,22 @@ WGAmpersand_GOSUB: ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGAmpersand_ERASE -; Erases the contents of the selected view -; &ERASE +; Erases the contents of the selected view (with frame if 1) +; &ERASE(0 or 1) WGAmpersand_ERASE: + jsr WGAmpersandBeginArguments + jsr WGAmpersandIntArgument + + pha + jsr WGAmpersandEndArguments + + pla + beq WGAmpersand_ERASEcontents + jsr WGEraseView + jsr WGBottomCursor + rts + +WGAmpersand_ERASEcontents: jsr WGEraseViewContents jsr WGBottomCursor rts @@ -1097,16 +1110,6 @@ WGAmpersand_KILL: rts -;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; -; WGAmpersand_WIPE -; Erases all of the selected view -; &WIPE -WGAmpersand_WIPE: - jsr WGEraseView - jsr WGBottomCursor - rts - - ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGAmpersand_EXIT ; Shuts down WeeGUI @@ -1141,6 +1144,30 @@ WGBottomCursor: +;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; +; WGAmpersand_GTSEL +; Returns ID of selected view +; >SEL(A%) + +WGAmpersand_GTSEL: + jsr WGAmpersandBeginArguments + + jsr PTRGET + + lda WG_ACTIVEVIEW + pha + + ldy #0 + lda #0 + sta (VARPNT),y + iny + pla + sta (VARPNT),y + + jsr WGAmpersandEndArguments + rts + + ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ; WGGosub ; Performs an Applesoft GOSUB to a line number @@ -1297,9 +1324,6 @@ WGAmpersandCommandTable: .byte "KILL",0,0 .addr WGAmpersand_KILL -.byte "WIPE",0,0 -.addr WGAmpersand_WIPE - .byte "EXIT",0,0 .addr WGAmpersand_EXIT @@ -1312,6 +1336,9 @@ WGAmpersandCommandTable: .byte "STRW",0,0 .addr WGAmpersand_STRW +.byte "GTSEL",0 +.addr WGAmpersand_GTSEL + ;.byte TOKEN_GOSUB,0,0,0,0,0,0,0,0,0,0,0,0,0 ; For internal testing of the procedural gosub ;.addr WGAmpersand_GOSUB diff --git a/weegui.dsk b/weegui.dsk index de2c741d8339b194a35307d444c1d3c12aab51d8..b4221e24e7b10fc692781ca27f588fdc2574600f 100644 GIT binary patch delta 4552 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 Wi@N>{iao@f7`>!8FxocCy!0Q7_2jYu diff --git a/weegui.s b/weegui.s index ce45109..40d7dfb 100644 --- a/weegui.s +++ b/weegui.s @@ -110,9 +110,9 @@ WGInit: ; tsb MEMBITMAP + $12 ; Protect us from Applesoft by setting up HIMEM -; lda #$77 ; 7800 (really 77ff) +; lda #$78 ; 7800 (really 77ff) ; sta LINNUMH -; lda #$ff +; lda #$00 ; sta LINNUML ; jsr SETHI