changeset 1423:4ab5990789f7

Updated global name in systype, windint and cc3io. gshell has more 6809 code added
author boisy
date Tue, 02 Dec 2003 00:36:54 +0000
parents 59187a65f10c
children 32f1dae476b7
files 3rdparty/packages/multivue/cmds_6809/gshell.asm defs/systype level2/modules/cc3io.asm level2/modules/windint.asm
diffstat 4 files changed, 58 insertions(+), 12 deletions(-) [+]
line wrap: on
line diff
--- a/3rdparty/packages/multivue/cmds_6809/gshell.asm	Mon Dec 01 02:52:30 2003 +0000
+++ b/3rdparty/packages/multivue/cmds_6809/gshell.asm	Tue Dec 02 00:36:54 2003 +0000
@@ -337,6 +337,10 @@
          tfm   s,u+
          leas  1,s        Eat 0 byte
          ELSE
+         clrb
+CSTART1  clr   ,u+
+         decb
+         bne   CSTART1
          ENDC
          ldx   ,S         Get ptr to start of data area again
          leau  ,X         Point U to it again
@@ -347,6 +351,11 @@
          ldw   ,y++       Get size of data block
          tfm   y+,u+      Block copy initialized data
          ELSE
+         ldx   ,y++
+CSTART2  lda   ,y+
+         sta   ,u+
+         leax  -1,x
+         bne   CSTART2
          ENDC
          ldu   2,S        Get ptr to start of data area again
          leau  <TNDYITMS,U Point to Tandy Menu Items array in data area
@@ -358,6 +367,17 @@
          subr  u,w        W=Size of area to clear
          tfm   s,u+       Clear until end of data area
          ELSE
+         ldx   ,y++
+CSTART3  lda   ,y+
+         sta   ,u+
+         leax  -1,x
+         bne   CSTART3
+         ldd   ,s
+         pshs  u
+         subd  ,s++
+CSTART4  clr   ,u+
+         subd  #$0001
+         bne   CSTART4
          ENDC
          ldu   3,s        Get ptr to start of data area again
          leas  5,s        Eat zero byte & End/Start of data markers
@@ -1331,8 +1351,16 @@
          ENDC
          std   SELECTED   0 out currently selected icon ptr
          ldd   MAXICONS   Get # icons/screen
+         IFNE  H6309
          muld  SCREENOW   Multiply by screen set #
          stw   2,s        Save result
+         ELSE
+         pshs  x,y,u
+         ldx   SCREENOW
+         bsr   MUL16
+         stu   2,s
+         puls  x,y,u
+         ENDC
          ldu   FTBLSPTR   Get ptr to file icon descriptor table
          bra   DRAWSCR2
 
@@ -4887,9 +4915,19 @@
 *NOTE: SINCE THIS MULD DOES THE WIDTH OF A WINDOW, WHICH CAN NEVER GET PAST
 * 106 CHARACTERS, WE SHOULD BE ABLE TO USE A STRAIGHT 8 BIT MUL, FOLLOWED BY
 * AND ADDD#7 ON _BOTH_ THE 6809 & 6309 VERSIONS.
+         IFNE  H6309
          muld  #6         Multiply by 6 (for 6 pixel font chars)
          ldd   #7         Add 7 extra pixels (border?)
          addr  w,d
+         ELSE
+         pshs  x,y,u
+         ldx   #6
+         bsr   MUL16
+         pshs  u
+         ldd   #7
+         addd  ,s++
+         puls  x,y,u
+         ENDC
          lbsr  DIVDX8     Divide by 8 (shift method) for # 8 pixel chars for window width
          addd  #3         Add 3 more for borders?
          cmpd  WINDWSZX   Too big for current screen width?
@@ -7565,10 +7603,21 @@
 *   RANGE (?)
 
 ATOI4    ldd   1,S        Get current result (so far)
+         IFNE  H6309
          muld  #10        Bump up by one order of magnitude (Since on next digit)
          ldb   ,S         Get original numeric char
          sex              make 16 bit (note: still ascii version!)
          addr  w,d        Add to current base digit value (1,10,100,1000,10000)
+         ELSE
+         pshs  x,y,u
+         ldx   #10
+         bsr   MUL16
+         ldb   ,s
+         sex
+         pshs  u
+         addd  ,s++ 
+         puls  x,y,u
+         ENDC
          std   1,S        Save current result
 ATOI5    ldb   ,U+        Get next char from ASCII buffer
 ATOI6    subb  #$30       Convert to binary
--- a/defs/systype	Mon Dec 01 02:52:30 2003 +0000
+++ b/defs/systype	Tue Dec 02 00:36:54 2003 +0000
@@ -497,7 +497,7 @@
 *                           (Used by comod (GRF/WIND/VDGInt) to determine
 *                            whether or not to update GIME regs themselves
 *                            If not current device, they don't.)
-g000B    rmb   1          current device's V.TYPE
+G.WinType rmb  1          current device's V.TYPE
 G.CurDvM rmb   2          current device memory pointer for co-module use
 G.WIBusy rmb   1          WindInt is busy flag (1=busy)
 G.AlPckt rmb   6          F$Alarm time packet
--- a/level2/modules/cc3io.asm	Mon Dec 01 02:52:30 2003 +0000
+++ b/level2/modules/cc3io.asm	Tue Dec 02 00:36:54 2003 +0000
@@ -871,18 +871,17 @@
          puls  pc,u,y,x,b,a	restore regs and return
 
 * Initialize mouse
+* Also called when CLEARing to a new window.
 setmouse pshs  x		save register used
-         ldd   <V.MSmpl,u	get sample and timeout
+         ldd   <V.MSmpl,u	get sample and timeout from win devmem
          ldx   <D.CCMem		get ptr to CC mem
-         sta   <G.MSmpRt,x	set sample tick count
-         sta   <G.MSmpRV,x	set sample rate
+         sta   <G.MSmpRt,x	set sample tick count in global mem
+         sta   <G.MSmpRV,x	set sample rate in global mem
          stb   <G.Mouse+Pt.ToTm,x set timeout constant in mouse packet
-*         ldd   <MS.Side,u	get mouse side to use
-         ldb   <V.MAutoF,u	get mouse side to use
-*         sta   <G.KyMse,x	set it
-         stb   <G.AutoMs,x
+         ldb   <V.MAutoF,u	get auto follow flag from win devmem
+         stb   <G.AutoMs,x	and set auto follow flag in global mem
          lda   V.TYPE,u		get device type
-         sta   g000B,x		set it
+         sta   <G.WinType,x	set it
          clra  
          puls  pc,x		restore and return
 
@@ -1313,8 +1312,6 @@
          stb   <V.MTime,u	save new timeout
 L0820    ldb   R$Y+1,x		get auto-follow flag
          stb   <V.MAutoF,u	save it was MS.Side wrong RG
-* New line to compliment above. RG
-*         clr   MS.Side,u      force keymouse inactive
          ldy   <D.CCMem		get ptr to CC mem
          cmpu  <G.CurDev,y	are we current device?
          bne   L083D		no, exit without error
--- a/level2/modules/windint.asm	Mon Dec 01 02:52:30 2003 +0000
+++ b/level2/modules/windint.asm	Tue Dec 02 00:36:54 2003 +0000
@@ -807,7 +807,7 @@
          bne   Nul2
          puls  b
          ENDC
-         lda   >WGlobal+g000B     is this a window?
+         lda   >WGlobal+G.WinType     is this a window?
          bmi   L0499      no, return
          IFNE  H6309
          clrd