diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index f3ceae33..e1874f00 100644 Binary files a/.Floppies/A2OSX.BUILD.po and b/.Floppies/A2OSX.BUILD.po differ diff --git a/.Floppies/A2OSX.TEST.po b/.Floppies/A2OSX.TEST.po index 9b4dff78..49a960ed 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BIN/CC.S.DECL.txt b/BIN/CC.S.DECL.txt index 11252f8c..1839df63 100644 --- a/BIN/CC.S.DECL.txt +++ b/BIN/CC.S.DECL.txt @@ -2,7 +2,62 @@ NEW AUTO 3,1 .LIST OFF *-------------------------------------- -CC.DECL. +CC.DECL jsr CC.IsLetter + bcc .10 + +* TODO: PREOPS ++ --..... + + bcs .90 + +.10 >LDYA L.CC.SCSPEC + jsr CC.LookupID + bcs .20 + +* TODO: typedef .... + + bcs .90 +*-------------------------------------- +.20 >LDYA L.CC.TYPEQUAL + jsr CC.LookupID + bcs .80 + + jsr CC.TYPE.Decl + bcs .99 + + ldx #SYM.SC.STATIC Y,A = Type/Qual + bit ScopenCnt + bpl .21 + + bit #SYM.Q.FUNC someone wants to add a local f() ? + bne .90 + + ldx #SYM.SC.AUTO + +.21 jsr CC.SYM.New Y,A=T/Q, add with undef value... + bcs .99 + + + + + +.80 bit #$60 + clc + rts + +.90 lda #E.CSYN + sec +.99 rts +*-------------------------------------- +CC.SCSPEC.AUTO +CC.SCSPEC.REGISTER +CC.SCSPEC.STATIC +CC.SCSPEC.EXTERN +CC.SCSPEC.TYPEDEF + + +.99 lda #E.CSYN + sec +.9 rts *-------------------------------------- MAN SAVE usr/src/bin/cc.s.decl diff --git a/BIN/CC.S.DIR.txt b/BIN/CC.S.DIR.txt index eeccec48..b9ee019a 100644 --- a/BIN/CC.S.DIR.txt +++ b/BIN/CC.S.DIR.txt @@ -32,6 +32,8 @@ CC.DIR.DEFINE jsr CC.CheckSpace >STYA ZPSymID + jsr CC.SkipX + jsr CC.CheckSpace bcs .99 diff --git a/BIN/CC.S.KW.txt b/BIN/CC.S.KW.txt index d04847c7..66815276 100644 --- a/BIN/CC.S.KW.txt +++ b/BIN/CC.S.KW.txt @@ -278,8 +278,7 @@ CC.KW.RETURN ldy CStackPtr rts *-------------------------------------- CC.KW.SIZEOF -*-------------------------------------- -CC.KW.TYPEDEF lda #E.CSYN + lda #E.CSYN sec rts *-------------------------------------- @@ -296,6 +295,8 @@ CC.KW.STRUCT >ENTER 4 tya ldy #1 sta (pStack),y + + jsr CC.SkipX jsr CC.GetNextCharNB bcs .99 diff --git a/BIN/CC.S.SYM.txt b/BIN/CC.S.SYM.txt index a56f2956..b0999ccb 100644 --- a/BIN/CC.S.SYM.txt +++ b/BIN/CC.S.SYM.txt @@ -14,7 +14,8 @@ CC.SYM.New >STYA ZPPtr2 T/Q jsr CC.SYM.NewKey bcs .9 - >STYA ZPSymID Y,A = KeyID, X = KeyLen + >STYA ZPSymID Y,A = KeyID + stx ZPPtr3+1 X = KeyLen >LDYAI 256 >SYSCALL GetMem @@ -34,6 +35,11 @@ CC.SYM.New >STYA ZPPtr2 T/Q sta ZPSymSize stz ZPSymSize+1 + ldx ZPPtr3+1 Key Len + jsr CC.SYM.Link + + jsr CC.SkipX + jsr CC.GetCharNB bcs CC.SYM.SetAddr @@ -174,25 +180,9 @@ CC.SYM.SetAddrL jsr CC.SYM.GetSymSizeOfInAXC CC.SYM.NewKey >PUSHA >PUSHW ZPLineBufPtr >SYSCALL SListNewKey - bcs .9 +* bcs .9 - phy - pha - - lda #0 - ldy #SYM.Addr - sta (ZPSymBufPtr),y - iny - sta (ZPSymBufPtr),y - - jsr CC.SYM.Link - - jsr CC.SkipX - - clc - - pla Y,A = KeyID, X = KeyLen - ply +* clc Y,A = KeyID, X = KeyLen .9 rts *-------------------------------------- @@ -203,6 +193,12 @@ CC.SYM.Link >LDYA L.CC.LIBC phx + lda #0 + ldy #SYM.Addr + sta (ZPSymBufPtr),y + iny + sta (ZPSymBufPtr),y + ldx #0 .1 lda (ZPLookupPtr) diff --git a/BIN/CC.S.txt b/BIN/CC.S.txt index df1b9f7a..6285504a 100644 --- a/BIN/CC.S.txt +++ b/BIN/CC.S.txt @@ -155,6 +155,7 @@ J.CC.cBOPS .DA CC.BOPS.cMUL .DA CC.BOPS.LOR L.CC.DIRS .DA CC.DIRS L.CC.KW .DA CC.KW +L.CC.SCSPEC .DA CC.SCSPEC L.CC.TYPEQUAL .DA CC.TYPEQUAL L.CC.TYPESPEC .DA CC.TYPESPEC L.CC.TYPES .DA CC.TYPES @@ -174,7 +175,6 @@ J.CC.KW .DA CC.KW.IF .DA CC.KW.RETURN *-------------------------------------- .DA CC.KW.SIZEOF - .DA CC.KW.TYPEDEF .DA CC.KW.STRUCT *-------------------------------------- J.CC.KW.END .DA CC.KW.IF.END @@ -183,6 +183,11 @@ J.CC.KW.END .DA CC.KW.IF.END .DA CC.KW.DO.END .DA CC.KW.FOR.END *-------------------------------------- +J.CC.SCSPEC .DA CC.SCSPEC.AUTO + .DA CC.SCSPEC.REGISTER + .DA CC.SCSPEC.STATIC + .DA CC.SCSPEC.EXTERN + .DA CC.SCSPEC.TYPEDEF J.CC.TYPEQUAL .DA CC.TYPE.CONST .DA CC.TYPE.VOLATILE J.CC.TYPESPEC .DA CC.TYPE.SIGNED @@ -839,11 +844,15 @@ CC.KW >PSTR "if" >PSTR "continue" >PSTR "return" >PSTR "sizeof" - >PSTR "typedef" >PSTR "struct" .HS 00 *-------------------------------------- -* Type Declaration +CC.SCSPEC >PSTR "auto" + >PSTR "register" + >PSTR "static" + >PSTR "extern" + >PSTR "typedef" + .HS 00 *-------------------------------------- CC.TYPEQUAL >PSTR "const" ALL >PSTR "volatile" diff --git a/BIN/UNAME.S.txt b/BIN/UNAME.S.txt index 90407dd3..aece8b82 100644 --- a/BIN/UNAME.S.txt +++ b/BIN/UNAME.S.txt @@ -60,6 +60,9 @@ L.TYPES .DA TYPE.UNKNOWN .DA TYPE.IIe .DA TYPE.IIc .DA TYPE.IIgs +L.SUBT.ROM .DA SUBT.ROM +L.SUBT.IIE .DA SUBT.ENH + .DA SUBT.LCCARD L.CPUS .DA CPU.65C02 .DA CPU.65R02 .DA CPU.65816 @@ -87,13 +90,13 @@ CS.RUN ldy #S.PS.ARGC cmp #'-' bne .99 - ldy #1 + ldy #1 lda (ZPPtr1),y beq .99 jsr CS.RUN.CheckOpt bcc .1 - + .99 >PUSHW L.MSG.USAGE >PUSHBI 0 >SYSCALL PrintF @@ -112,38 +115,33 @@ CS.RUN ldy #S.PS.ARGC *-------------------------------------- CS.RUN.PRINT bit bHostName bpl .1 - + jsr CS.RUN.GetHostName bcs .1 - + >LDYA pData - jsr CS.RUN.PRINTYA + jsr CS.RUN.PRINTYA .1 bit bMachineType bpl .2 - - lda A2osX.HWType - asl - tax - - >LDYA L.TYPES,x - jsr CS.RUN.PRINTYA - + + jsr CS.RUN.TYPESUBT + .2 bit bCPUType bpl .3 - + lda A2osX.CPUTYPE - + asl and #$0F tax - + >LDYA L.CPUS-2,x jsr CS.RUN.PRINTYA - + .3 bit bCPUSpeed bpl .4 - + >PUSHW L.CPU.SPEED >PUSHW A2osX.CPUSPEED >PUSHBI 2 @@ -151,14 +149,14 @@ CS.RUN.PRINT bit bHostName .4 bit bAltCPU bpl .5 - - - - + + + + .5 bit bKernelVersion bpl .6 - + >PUSHW L.KERNEL.VER >PUSHW A2osX.KVER >PUSHBI 2 @@ -166,19 +164,19 @@ CS.RUN.PRINT bit bHostName .6 bit bKernelBuild bpl .60 - + jsr CS.RUN.GetBuild bcs .60 - + >LDYA pData jsr CS.RUN.PRINTYA - - - + + + .60 bit bKernelMode bpl .7 - + ldx #0 bit A2osX.IRQMode bpl .61 @@ -190,18 +188,18 @@ CS.RUN.PRINT bit bHostName inx inx - -.61 >LDYA L.KERNEL.MODES,x + +.61 >LDYA L.KERNEL.MODES,x jsr CS.RUN.PRINTYA - + .7 bit bKernelClk bpl .8 - - + + .8 >PUSHW L.MSG.CRLF >PUSHBI 0 >SYSCALL PrintF - + lda #0 sec @@ -210,7 +208,7 @@ CS.RUN.PRINT bit bHostName CS.RUN.GetHostName >LDYA L.ETCHOSTNAME bra CS.RUN.GetFile - + CS.RUN.GetBuild >LDYA L.ETCVERSION CS.RUN.GetFile stz hFILE @@ -218,18 +216,18 @@ CS.RUN.GetFile stz hFILE >PUSHYA >PUSHBI O.RDONLY >PUSHBI 0 - + sta (pData) - + >PUSHWZ >SYSCALL FOpen bcs .9 - + sta hFILE - + >LEA.G FGetSBuf >STYA ZPPtr1 - + .1 >PUSHB hFILE >PUSHW ZPPtr1 >PUSHWI 64 @@ -238,40 +236,71 @@ CS.RUN.GetFile stz hFILE lda (ZPPtr1) beq .1 - + cmp #'#' beq .1 - + ldy #$ff - + .2 iny lda (ZPPtr1),y sta (pData),y bne .2 .8 clc - + .9 php pha - + lda hFILE beq .90 - + >SYSCALL FClose - -.90 pla + +.90 pla plp rts *-------------------------------------- +CS.RUN.TYPESUBT lda A2osX.HWType + asl + tax + + >LDYA L.TYPES,x + jsr CS.RUN.PRINTYA + + lda A2osX.HWType + beq .8 Unknown + + cmp #A2osX.HWType.IIc + bcc .1 + + >PUSHW L.SUBT.ROM //c & IIgs + >PUSHB A2osX.HWSubT + >PUSHBI 1 + >SYSCALL PrintF + rts + +.1 lda A2osX.HWSubT //e + beq .8 + + asl + tax + + >PUSHW L.SUBT.IIE-2,x + >PUSHBI 0 + >SYSCALL PrintF + +.8 rts +*-------------------------------------- CS.RUN.PRINTYA >PUSHYA >PUSHBI 0 - + CS.RUN.PRINTF lda Count beq .1 - + lda #C.SPACE >SYSCALL PutChar - + .1 >SYSCALL PrintF inc Count @@ -279,11 +308,11 @@ CS.RUN.PRINTF lda Count CS.DOEVENT sec rts *-------------------------------------- -CS.QUIT +CS.QUIT .8 clc rts *-------------------------------------- -CS.RUN.CheckOpt ldy #1 +CS.RUN.CheckOpt ldy #1 lda (ZPPtr1),y ldx #OptionVars-OptionList-1 @@ -335,6 +364,9 @@ TYPE.UNKNOWN .AZ "Unknown_HW" TYPE.IIe .AZ "Apple//e" TYPE.IIc .AZ "Apple//c" TYPE.IIgs .AZ "AppleIIgs" +SUBT.ROM .AZ "_ROM%h" +SUBT.ENH .AZ "_Enh" +SUBT.LCCARD .AZ "_LCCard" CPU.65C02 .AZ "65c02" CPU.65R02 .AZ "65r02" CPU.65816 .AZ "65816" diff --git a/SYS/KM.APPLETALK.S.txt b/SYS/KM.APPLETALK.S.txt index c4268350..d269b949 100644 --- a/SYS/KM.APPLETALK.S.txt +++ b/SYS/KM.APPLETALK.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF sys/km.appletalk + .TF sys/km/km.appletalk *-------------------------------------- .INB inc/macros.i .INB inc/io.i diff --git a/SYS/KM.NSC.S.txt b/SYS/KM.NSC.S.txt index ec4dcefe..7d4dd8fc 100644 --- a/SYS/KM.NSC.S.txt +++ b/SYS/KM.NSC.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF sys/km.nsc + .TF sys/km/km.nsc *-------------------------------------- .INB inc/macros.i .INB inc/io.i diff --git a/SYS/KM.RAMWORKS.S.txt b/SYS/KM.RAMWORKS.S.txt index 5586f10b..1d09cdba 100644 --- a/SYS/KM.RAMWORKS.S.txt +++ b/SYS/KM.RAMWORKS.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF sys/km.ramworks + .TF sys/km/km.ramworks *-------------------------------------- .INB inc/macros.i .INB inc/io.i diff --git a/SYS/KM.VSDRIVE.S.txt b/SYS/KM.VSDRIVE.S.txt index 1e38981a..9254d0b0 100644 --- a/SYS/KM.VSDRIVE.S.txt +++ b/SYS/KM.VSDRIVE.S.txt @@ -3,7 +3,7 @@ NEW .LIST OFF .OP 65C02 .OR $2000 - .TF sys/km.vsdrive + .TF sys/km/km.vsdrive *-------------------------------------- .INB inc/macros.i .INB inc/io.i