Mercurial > hg > Members > kono > nitros9-code
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