Mercurial > hg > Members > kono > nitros9-code
changeset 1425:0aa81866992a
gshell is now 6809ized, DSK image is now 40tDS
author | boisy |
---|---|
date | Tue, 02 Dec 2003 15:53:22 +0000 |
parents | 32f1dae476b7 |
children | 58b7b86f61d5 |
files | 3rdparty/packages/multivue/cmds_6809/gshell.asm 3rdparty/packages/multivue/makefile |
diffstat | 2 files changed, 120 insertions(+), 12 deletions(-) [+] |
line wrap: on
line diff
--- a/3rdparty/packages/multivue/cmds_6809/gshell.asm Tue Dec 02 01:21:14 2003 +0000 +++ b/3rdparty/packages/multivue/cmds_6809/gshell.asm Tue Dec 02 15:53:22 2003 +0000 @@ -322,6 +322,10 @@ RenFlag rmb 1 Flag used by rename - whether to reset DIRSIG or not NSIGN rmb 1 "C" Variable. HANDLER rmb 2 "C" Variable. + IFEQ H6309 +REGE rmb 1 +REGF rmb 1 + ENDC END rmb 896 "C" Variable. DATASIZE equ . @@ -366,6 +370,8 @@ clr ,-s Zero byte subr u,w W=Size of area to clear tfm s,u+ Clear until end of data area + ldu 3,s Get ptr to start of data area again + leas 5,s Eat zero byte & End/Start of data markers ELSE ldx ,y++ CSTART3 lda ,y+ @@ -378,9 +384,9 @@ CSTART4 clr ,u+ subd #$0001 bne CSTART4 + ldu 2,s Get ptr to start of data area again + leas 4,s Eat zero byte & End/Start of data markers ENDC - ldu 3,s Get ptr to start of data area again - leas 5,s Eat zero byte & End/Start of data markers puls X Get ptr to end of parm area stx >MEMEND Save as end of data memory ptr leay ,U Point Y to start of data area @@ -1355,11 +1361,11 @@ muld SCREENOW Multiply by screen set # stw 2,s Save result ELSE - pshs x,y,u + pshs x,y ldx SCREENOW - bsr MUL16 + lbsr MUL16 + puls x,y stu 2,s - puls x,y,u ENDC ldu FTBLSPTR Get ptr to file icon descriptor table bra DRAWSCR2 @@ -1414,7 +1420,19 @@ incb Base 1 for divide stb 3,s Save # of screens ldd #21 Maximum # of screens + IFNE H6309 divd 3,s B= # of Y positions per screen + ELSE + clr ,-s +SCROLBRa inc ,s + subb 4,s + sbca #0 + bcc SCROLBRa +* addb 4,s +* tfr b,a + puls b + decb + ENDC std 1,s Save remainder & answer lda SCREENOW+1 Get current screen # inca Base 1 @@ -1424,7 +1442,19 @@ inca Base 1 ldb 1,s Get original remainder mul Calculate 2ndary offset - divd 3,s Divide by # screens total (Y pos=B) + IFNE H6309 + divd 3,s B= # of Y positions per screen + ELSE + clr ,-s +SCROLBRb inc ,s + subb 4,s + sbca #0 + bcc SCROLBRb +* addb 4,s +* tfr b,a + puls b + decb + ENDC addb ,s Add 2ndary to primary Y pos calc leas 3,s Eat stack decb Base 0 for scroll bar SETSTAT call @@ -1575,7 +1605,11 @@ tfr D,U stu -2,S beq CLASSIF4 + IFNE H6309 bsr GTFD.ATT Get file attributes + ELSE + lbsr GTFD.ATT Get file attributes + ENDC ldb #IC.FOLDR Default to folder (dir) bita #DIR. If it is dir, done bne CLASSIF3 @@ -1640,10 +1674,19 @@ beq CNTSCRN2 zero, save & exit IFNE H6309 decd + divd MAXICONS+1 Divide by # icons/"screen" ELSE subd #$0001 + clr ,-s +CNTSCRNa inc ,s + subb #MAXICONS+1 + sbca #0 + bcc CNTSCRNa +* addb #MAXICONS+1 +* tfr b,a + puls b + decb ENDC - divd MAXICONS+1 Divide by # icons/"screen" clra 16 bit result CNTSCRN2 std NSCREENS Save # of icon "screens" & return rts @@ -1851,7 +1894,13 @@ beq SELCICO1 decb If anything but AIF itself or found AIF extension, don't bne SELCICO2 draw box around icon -SELCICO1 lde #1 Flag we want inverted shadow as well +SELCICO1 + IFNE H6309 + lde #1 Flag we want inverted shadow as well + ELSE + lda #1 + sta REGE + ENDC bsr DRAIFBOX Draw "selected" box around icon SELCICO2 std 2,S clrb Reset foreground color to black @@ -1879,7 +1928,11 @@ ldb WNDWPATH+1 box around around icon) pshs d,X lbsr FCOLOR + IFNE H6309 clre Flag that we are just doing light grey box + ELSE + clr REGE + ENDC bsr DRAIFBOX Light grey box (same as background color) clrb stb 3,S @@ -1896,8 +1949,14 @@ subb #2 A little above top of icon pshs d ldx FL.XSTRT,U Get X pos of icon + IFNE H6309 ldf FL.ICONO,u Get icon type subf #IC.DRIVE Drive? (special case) + ELSE + lda FL.ICONO,u Get icon type + suba #IC.DRIVE Drive? (special case) + sta REGF + ENDC bne NormIcon No, do normal box leax -3,x Yes, smaller box bra Minus9 Go save X pos @@ -1924,11 +1983,19 @@ lbsr SETDPTR Set draw ptr to upper left corner of box * include text below icon as well ldd #36 Box height 36 pixels (2 above & below) + IFNE H6309 tstf + ELSE + tst REGF + ENDC bne NormIco2 ldd #24 Unless drive, then 24 NormIco2 std 4,S + IFNE H6309 tstf Drive? + ELSE + tst REGF + ENDC bne NormIco3 No, determine width ldb #29 Special width for drive bra DRAIFBO1 @@ -1940,7 +2007,11 @@ DRAIFBO1 std 2,S Save box width lbsr RBOX Draw box & return * use entry flag to flag whether + IFNE H6309 tste Do we want shadow too? + ELSE + tst REGE + ENDC beq DoneAIFB No, exit ldb #1 Dark Grey color std 2,s @@ -1950,7 +2021,11 @@ lbsr RLINE Draw vertical line clrb Set Y offset to 0 std 4,s + IFNE H6309 tstf Drive? + ELSE + tst REGF + ENDC bne NormIco4 No ldb #28 bra Do40Shdw @@ -4922,7 +4997,7 @@ ELSE pshs x,y,u ldx #6 - bsr MUL16 + lbsr MUL16 pshs u ldd #7 addd ,s++ @@ -7611,8 +7686,9 @@ ELSE pshs x,y,u ldx #10 - bsr MUL16 - ldb ,s + lbsr MUL16 + tfr y,d + ldb 6,s sex pshs u addd ,s++ @@ -7676,7 +7752,11 @@ DIVIDE.0 puls D std ,S ldd #45 + IFNE H6309 bra RPTERR + ELSE + lbra RPTERR + ENDC CCDIV subd #0 beq DIVIDE.0 @@ -7813,6 +7893,34 @@ os9 I$Write puls d,x,y,pc +* 16 bit multiply + IFEQ H6309 +MUL16 pshs d,x,y,u XmulD returns Y&U + clr 4,s + lda 3,s + mul + std 6,s + ldd 1,s + mul + addb 6,s + adca #0 + std 5,s + ldb ,s + lda 3,s + mul + addd 5,s + std 5,s + bcc MUL16b + inc 4,s +MUL16b lda ,s + ldb 2,s + mul + addd 4,s + clra + std 4,s + puls d,x,y,u,pc + ENDC + MenuColr fcb $1b,$32,2,$1b,$33,0 RegColr fcb $1b,$32,0,$1b,$33,2
--- a/3rdparty/packages/multivue/makefile Tue Dec 02 01:21:14 2003 +0000 +++ b/3rdparty/packages/multivue/makefile Tue Dec 02 15:53:22 2003 +0000 @@ -26,7 +26,7 @@ dsk: all $(RM) $(DISK) - $(OS9FORMAT_SS35) $(DISK) -n"Multi-Vue" + $(OS9FORMAT_DS40) $(DISK) -q -n"Multi-Vue" $(MAKDIR) $(DISK),CMDS $(MAKDIR) $(DISK),CMDS/ICONS $(MAKDIR) $(DISK),SYS