diff --git a/.Floppies/A2OSX.BUILD.po b/.Floppies/A2OSX.BUILD.po index e52dcf03..38f30e63 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 62671ac5..116559c1 100644 Binary files a/.Floppies/A2OSX.TEST.po and b/.Floppies/A2OSX.TEST.po differ diff --git a/BASIC.FX/BASIC.S.A.txt b/BASIC.FX/BASIC.S.A.txt index e68f23fc..efe0c3f1 100644 --- a/BASIC.FX/BASIC.S.A.txt +++ b/BASIC.FX/BASIC.S.A.txt @@ -1172,118 +1172,6 @@ LA1F2 clc sbc AS.STRINGSTART+1 rts *-------------------------------------- -BS.GetSysBuf lda #$04 - -LA1FB sta XBBB5 - jsr BS.KW.FRE - bcs LA24E - - lda AS.STRINGSTART+1 - sbc AS.ARRAYEND+1 - cmp XBBB5 - lda #BS.E.NOBUFFER - bcc LA24E - - lda AS.STRINGSTART+1 - sta ZP.PCH - sbc XBBB5 - sta ZP.A1H - sta AS.STRINGSTART+1 - - lda AS.STRINGSTART - sta ZP.PCL - sta ZP.A1L - - lda AS.HIMEM - sbc ZP.PCL - sta XBBED - - lda AS.HIMEM+1 - sbc ZP.PCH - sta BS.BUFPAGEs - - jsr BS.MoveMemUp - lda #$00 - sec - sbc XBBB5 - sta XBBE2 - jsr LA3A3 - lda AS.HIMEM+1 - sta XBBB7 - sec - sbc XBBB5 - sta AS.HIMEM+1 - clc - adc #$04 - sta BS.BUFPAGE - rts - -LA24E sec - rts - -XBBB5 .BS 1 -*-------------------------------------- -LA250 jsr BS.KW.FRE - bcs LA29D - - lda AS.HIMEM+1 - sbc #$00 - sta ZP.PCH - adc #$03 - sta ZP.A1H - lda AS.STRINGSTART - sta ZP.PCL - sta ZP.A1L - lda AS.HIMEM - sec - sbc AS.STRINGSTART - sta XBBED - lda AS.HIMEM+1 - sbc AS.STRINGSTART+1 - sta BS.BUFPAGEs - jsr BS.MoveMemDown - - lda #$04 - sta XBBE2 - clc - adc AS.HIMEM+1 - sta AS.HIMEM+1 - jsr LA3A3 - - lda BS.BUFPAGE - cmp AS.HIMEM+1 - beq LA2B7 - - pha - ldx GP.OPENCNT - beq LA29B - - lda AS.HIMEM+1 - -LA293 cmp BS.BUFPAGEs,x - beq LA29E - - dex - bne LA293 - -LA29B pla - sec -LA29D rts - -LA29E pla -*-------------------------------------- -BS.SetFileBuf sta GP.SBUFADR+1 - sta BS.BUFPAGEs,x - - stz GP.SBUFADR - lda BS.REFNUMs,x - sta GP.MLIMRKEOFBUF.REFNUM - lda #MLI.C.SETBUF - jmp GP.GOSYSTEM - -LA2B7 clc - rts -*-------------------------------------- MAN SAVE usr/src/basic.fx/basic.s.a LOAD usr/src/basic.fx/basic.s diff --git a/BASIC.FX/BASIC.S.B.txt b/BASIC.FX/BASIC.S.B.txt index b7601d49..fce2d20c 100644 --- a/BASIC.FX/BASIC.S.B.txt +++ b/BASIC.FX/BASIC.S.B.txt @@ -1,6 +1,123 @@ NEW AUTO 3,1 *-------------------------------------- +BS.GetSysBuf lda #$04 + +LA1FB sta XBBB5 + jsr BS.KW.FRE + bcs LA24E + + lda AS.STRINGSTART+1 + sbc AS.ARRAYEND+1 + cmp XBBB5 + lda #BS.E.NOBUFFER + bcc LA24E + + lda AS.STRINGSTART+1 + sta ZP.PCH + sbc XBBB5 + sta ZP.A1H + sta AS.STRINGSTART+1 + + lda AS.STRINGSTART + sta ZP.PCL + sta ZP.A1L + + lda AS.HIMEM + sbc ZP.PCL + sta BS.ReqMem + + lda AS.HIMEM+1 + sbc ZP.PCH + sta BS.ReqMem+1 + + jsr BS.MoveMemDown + + lda #$00 + sec + sbc XBBB5 + sta XBBE2 + jsr LA3A3 + lda AS.HIMEM+1 + sta XBBB7 + sec + sbc XBBB5 + sta AS.HIMEM+1 + clc + adc #$04 + sta BS.BUFPAGE + rts + +LA24E sec + rts + +XBBB5 .BS 1 +*-------------------------------------- +BS.FreeSysBuf jsr BS.KW.FRE + bcs LA29D + + lda AS.HIMEM+1 + sbc #$00 + sta ZP.PCH + adc #$03 + sta ZP.A1H + + lda AS.STRINGSTART + sta ZP.PCL + sta ZP.A1L + + lda AS.HIMEM + sec + sbc AS.STRINGSTART + sta BS.ReqMem + + lda AS.HIMEM+1 + sbc AS.STRINGSTART+1 + sta BS.ReqMem+1 + + jsr BS.MoveMemUp + + lda #$04 + sta XBBE2 + clc + adc AS.HIMEM+1 + sta AS.HIMEM+1 + jsr LA3A3 + + lda BS.BUFPAGE + cmp AS.HIMEM+1 + beq LA2B7 + + pha + ldx GP.OPENCNT + beq LA29B + + lda AS.HIMEM+1 + +LA293 cmp BS.BUFPAGEs-1,x + beq LA29E + + dex + bne LA293 + +LA29B pla + sec +LA29D rts + +LA29E pla +*-------------------------------------- +BS.SetFileBuf sta GP.SBUFADR+1 + sta BS.BUFPAGEs-1,x + + stz GP.SBUFADR + lda BS.REFNUMs,x + sta GP.MLIMRKEOFBUF.REFNUM + lda #MLI.C.SETBUF + jmp GP.GOSYSTEM + +LA2B7 clc + rts +*-------------------------------------- BS.GETBUFR jsr LA1FB bcs LA304 @@ -18,7 +135,7 @@ LA2C5 sta GP.SBUFADR+1 adc #$04 sta XBBB7 -LA2D6 cmp BS.BUFPAGEs,x +LA2D6 cmp BS.BUFPAGEs-1,x bne LA2EB lda GP.SBUFADR+1 @@ -67,7 +184,7 @@ LA327 lda XBBB7 ldx GP.OPENCNT beq LA351 -LA32F cmp BS.BUFPAGEs,x +LA32F cmp BS.BUFPAGEs-1,x bne LA34E lda AS.HIMEM+1 @@ -97,8 +214,8 @@ LA356 pha pla rts *-------------------------------------- -BS.MoveMemUp ldy #$00 - cpy BS.BUFPAGEs +BS.MoveMemDown ldy #$00 + cpy BS.ReqMem+1 beq .2 .1 lda (ZP.PCL),y @@ -108,10 +225,10 @@ BS.MoveMemUp ldy #$00 inc ZP.PCH inc ZP.A1H - dec BS.BUFPAGEs + dec BS.ReqMem+1 bne .1 -.2 cpy XBBED +.2 cpy BS.ReqMem beq .8 lda (ZP.PCL),y @@ -121,17 +238,17 @@ BS.MoveMemUp ldy #$00 .8 rts *-------------------------------------- -BS.MoveMemDown ldy XBBED +BS.MoveMemUp ldy BS.ReqMem XA386 beq LA38F SELF MODIFIED LA388 jsr LA39A dec ZP.A1H dec ZP.PCH -LA38F cpy BS.BUFPAGEs +LA38F cpy BS.ReqMem+1 beq LA3A2 - dec BS.BUFPAGEs + dec BS.ReqMem+1 bra LA388 *-------------------------------------- LA39A dey @@ -227,12 +344,12 @@ LA411 jsr LA021 sec sbc AS.VARSTART sta BS.BAS.HDR - sta XBBED + sta BS.ReqMem lda AS.ARRAYEND+1 sbc AS.VARSTART+1 sta BS.BAS.HDR+1 - sta BS.BUFPAGEs + sta BS.ReqMem+1 lda AS.ARRAYSTART sbc AS.VARSTART @@ -243,7 +360,7 @@ LA411 jsr LA021 sta BS.BAS.HDR+3 lda AS.STRINGSTART - sbc XBBED + sbc BS.ReqMem sta ZP.A1L lda AS.STRINGSTART+1 @@ -251,7 +368,7 @@ LA411 jsr LA021 sta ZP.A1H lda AS.ARRAYEND - sbc XBBED + sbc BS.ReqMem sta ZP.PCL lda AS.ARRAYEND+1 @@ -260,12 +377,15 @@ LA411 jsr LA021 lda #$03 sta XA386+1 - jsr BS.MoveMemDown + + jsr BS.MoveMemUp lda #$07 sta XA386+1 + lda ZP.A1L sta XBBE9 + inc ZP.A1H lda ZP.A1H sta XBBEA @@ -284,13 +404,13 @@ LA411 jsr LA021 LA47F rts *-------------------------------------- LA480 lda BS.BAS.HDR - sta XBBED + sta BS.ReqMem clc adc AS.VARSTART sta AS.ARRAYEND lda BS.BAS.HDR+1 - sta BS.BUFPAGEs + sta BS.ReqMem+1 adc AS.VARSTART+1 sta AS.ARRAYEND+1 @@ -308,9 +428,10 @@ LA480 lda BS.BAS.HDR sta ZP.PCL lda XBBEA sta ZP.PCH - jsr BS.MoveMemUp - lda XBBED + jsr BS.MoveMemDown + + lda BS.ReqMem clc adc ZP.PCL sta AS.STRINGSTART diff --git a/BASIC.FX/BASIC.S.C.txt b/BASIC.FX/BASIC.S.C.txt index 6db364b6..8f929da3 100644 --- a/BASIC.FX/BASIC.S.C.txt +++ b/BASIC.FX/BASIC.S.C.txt @@ -731,7 +731,7 @@ LB2D5 jsr BS.GetSysBuf adc BS.BUFPAGE pha -LB2F2 cmp BS.BUFPAGEs,x +LB2F2 cmp BS.BUFPAGEs-1,x beq LB2FB dex @@ -740,7 +740,7 @@ LB2F2 cmp BS.BUFPAGEs,x brk LB2FB tya - sta BS.BUFPAGEs,x + sta BS.BUFPAGEs-1,x lda BS.REFNUMs,x sta GP.MLIMRKEOFBUF.REFNUM lda #MLI.C.SETBUF @@ -750,6 +750,7 @@ LB2FB tya brk LB30D pla + LB30E sta BS.BUFPAGE sta GP.OSYSBUF+1 @@ -760,7 +761,7 @@ LB30E sta BS.BUFPAGE bcc LB327 pha - jsr LA250 + jsr BS.FreeSysBuf pla sec rts @@ -906,14 +907,16 @@ LB41D jsr BS.GetSysBuf lda BS.BUFPAGE sta GP.OSYSBUF+1 + lda #$07 sta MLI.LEVEL + lda #MLI.C.OPEN jsr GP.GOSYSTEM bcc LB43B pha - jsr LA250 + jsr BS.FreeSysBuf pla sec rts @@ -929,7 +932,7 @@ LB443 lda #$00 sta GP.DIRFLG ldx GP.OPENCNT lda BS.BUFPAGE - sta BS.BUFPAGEs+1,x + sta BS.BUFPAGEs,x lda GP.OREFNUM sta BS.REFNUMs+1,x inc GP.OPENCNT @@ -1056,17 +1059,17 @@ BS.KW.CLOSE lda GP.FoundBITS bcs LB4B1 LB515 sta GP.MLICF.REFNUM - lda BS.BUFPAGEs,x + lda BS.BUFPAGEs-1,x sta BS.BUFPAGE bit GP.EXECFILE bmi LB53F ldy GP.OPENCNT pha - lda BS.BUFPAGEs,y - sta BS.BUFPAGEs,x + lda BS.BUFPAGEs-1,y + sta BS.BUFPAGEs-1,x pla - sta BS.BUFPAGEs,y + sta BS.BUFPAGEs-1,y lda BS.REFNUMs,x pha lda BS.REFNUMs,y @@ -1079,7 +1082,7 @@ LB53F stz MLI.LEVEL jsr BS.MLIClose bcs LB572 - jsr LA250 + jsr BS.FreeSysBuf bit GP.EXECFILE bpl LB55E diff --git a/BASIC.FX/BASIC.S.D.txt b/BASIC.FX/BASIC.S.D.txt index f69acc40..4f3fd169 100644 --- a/BASIC.FX/BASIC.S.D.txt +++ b/BASIC.FX/BASIC.S.D.txt @@ -158,12 +158,16 @@ XBBE2 .BS 1 BS.BUFPAGE .BS 1 BS.BAS.HDR .BS 5 + XBBE9 .BS 1 XBBEA .BS 1 + XBBEB .BS 1 XBBEC .BS 1 -XBBED .BS 1 -BS.BUFPAGEs .BS 8 + +BS.ReqMem .BS 2 + +BS.BUFPAGEs .BS 7 BS.REFNUMs .BS 8 BS.REFNUM .BS 1 BS.RecordSize .BS 2 diff --git a/BIN/IRC.S.txt b/BIN/IRC.S.txt index 1e24b475..1f83b39b 100644 --- a/BIN/IRC.S.txt +++ b/BIN/IRC.S.txt @@ -121,6 +121,7 @@ J.ESC .DA CS.RUN.CHARIN.LEFT .DO TLS=1 L.MSG.TLS .DA MSG.TLS L.MSG.TLS.1 .DA MSG.TLS.1 +L.MSG.TLSKO .DA MSG.TLSKO L.TLS.CHELLO .DA TLS.CHELLO L.TLS.CHELLO.UT .DA TLS.CHELLO.UT .FIN @@ -362,28 +363,37 @@ CS.RUN.TLS jsr CS.RUN.TLS.init >LIBCALL hLIBTCPIP,LIBTCPIP.Write bcs .9 -.1 >SLEEP + lda #TIMEOUT.MAX + sta TimeOut - lda TimeOut - bne .1 +.1 >SLEEP >PUSHB hSocket >PUSHW ZPBufPtr >PUSHWI 2048 >LIBCALL hLIBTCPIP,LIBTCPIP.Read - bcs .9 + bcc .2 + + ldx TimeOut + bne .1 - >STYA ZPPtr2 RCVD len + bra .9 + +.2 >STYA ZPPtr2 RCVD len >PUSHW L.MSG.TLS.1 >PUSHW ZPPtr2 >PUSHBI 2 >SYSCALL PrintF - sec + sec rts -.8 clc -.9 rts +.9 pha + >LDYA L.MSG.TLSKO + >SYSCALL PutS + pla + sec + rts *-------------------------------------- CS.RUN.TLS.init >LDYA L.MSG.TLS >SYSCALL PutS @@ -1095,6 +1105,7 @@ MSG.SKTERR .AZ "Socket Error : $%h\r\n" .DO TLS=1 MSG.TLS .AZ "TLS:Negociation..." MSG.TLS.1 .AZ "TLS:Received %D bytes.\r\n" +MSG.TLSKO .AZ "TLS:Negotiation failed." .FIN MSG.REGISTER .AZ "Registering User..." MSG.JOIN .AZ "Joining Channel..." @@ -1162,13 +1173,13 @@ TLS.CHELLO.UT .BS 4 TLS.CHELLO.R .BS 28 .DA #0 SID .DA #0,#2 CSL - .DA #0,#TLS.HS.CH.CS.RSAAES128GCMSHA256 + .DA #0,#TLS.HS.CH.CS.RSAAES128CBCSHA256 .DA TLS.HS.CH.CM.NONE .DA /TLS.CHELLO.LE,#TLS.CHELLO.LE TLS.CHELLO.E .HS 000D T=sig alg .HS 0004 sig alg Len .HS 0002 sig hash alg len - .HS 0401 RSA PKCS1 SHA256 + .HS 0401 SHA256 RSA TLS.CHELLO.L .EQ *-TLS.CHELLO TLS.CHELLO.L1 .EQ *-TLS.CHELLO.1 TLS.CHELLO.L2 .EQ *-TLS.CHELLO.2 diff --git a/DRV/UTHER2.AI.DRV.S.txt b/DRV/UTHER2.AI.DRV.S.txt index 6a8a188a..b0dd0960 100644 --- a/DRV/UTHER2.AI.DRV.S.txt +++ b/DRV/UTHER2.AI.DRV.S.txt @@ -789,11 +789,11 @@ WRITE php * dey * bpl .21 - lda #192 + lda #255 sta W5100.DR,x - lda #168 + lda #255 sta W5100.DR,x - lda #1 + lda #255 sta W5100.DR,x lda #255 sta W5100.DR,x @@ -900,8 +900,8 @@ DCB .DA #S.DCB.T.NIC .DA #S.DCB.NIC.SPEED.100 .HS 0008DC123456 MAC .DA #0,#0,#0,#0 IP - .DA #255,#255,#255,#0 MASK - .DA #192,#168,#1,#254 GW + .DA #0,#0,#0,#0 MASK + .DA #255,#255,#255,#255 GW *-------------------------------------- FRM.HDR .HS 0800 S.ETH.EII.TYPE .HS 4500 diff --git a/INC/NET.TLS.I.txt b/INC/NET.TLS.I.txt index 9d8d6a4d..53310e35 100644 --- a/INC/NET.TLS.I.txt +++ b/INC/NET.TLS.I.txt @@ -37,6 +37,9 @@ TLS.HS.CH.SID .EQ 36 TLS.HS.CH.CSL .EQ 37 TLS.HS.CH.CS .EQ 39 TLS.HS.CH.CS.RSAAES128CBCSHA .EQ $2F +TLS.HS.CH.CS.RSAAES256CBCSHA .EQ $35 +TLS.HS.CH.CS.RSAAES128CBCSHA256 .EQ $3C +TLS.HS.CH.CS.RSAAES256CBCSHA256 .EQ $3D TLS.HS.CH.CS.RSAAES128GCMSHA256 .EQ $9C TLS.HS.CH.CM .EQ 41 TLS.HS.CH.CM.NONE .EQ 1 Len=1, value=0 diff --git a/LIB/LIBBLKDEV.S.BB.txt b/LIB/LIBBLKDEV.S.BB.txt index b091ea1c..1f88a0fe 100644 --- a/LIB/LIBBLKDEV.S.BB.txt +++ b/LIB/LIBBLKDEV.S.BB.txt @@ -334,11 +334,9 @@ BB.Seek lda BB.HdrTrk get track we're on jsr .20 we are on 0/4 or 2/4 track - lda #1 - bra .9 no wait, next operation will be phy/plx/Ph0On,y + bra .10 no wait, next operation will be phy/plx/Ph0On,y .1 cmp BB.TargetQTrack we are on 1/4 or 3/4 - bcs .2 if CS, C > T, must move out inc CC: C < T, ON next PH @@ -386,7 +384,7 @@ BB.Seek lda BB.HdrTrk get track we're on .9 jsr BB.Wait100usecA ...wait... - lda BB.CurrentQTrack +.10 lda BB.CurrentQTrack cmp BB.TargetQTrack bne .3 @@ -395,12 +393,12 @@ BB.Seek lda BB.HdrTrk get track we're on lda #0 jsr BB.Wait100usecA - bcc .10 + bcc .11 - sta IO.D2.Ph0Off,x + lda IO.D2.Ph0Off,x nop nop -.10 lda IO.D2.Ph0Off,y +.11 lda IO.D2.Ph0Off,y *-------------------------------------- BB.Read ldx BB.Slotn0 diff --git a/LIB/LIBBLKDEV.S.D2.txt b/LIB/LIBBLKDEV.S.D2.txt index f657bd7a..87800d89 100644 --- a/LIB/LIBBLKDEV.S.D2.txt +++ b/LIB/LIBBLKDEV.S.D2.txt @@ -138,7 +138,7 @@ D2.MoveHead.SEI lda D2.CurrentQTrack bcc .90 - sta IO.D2.Ph0Off,x + lda IO.D2.Ph0Off,x nop nop .90 lda IO.D2.Ph0Off,y diff --git a/ProDOS.FX/ProDOS.S.XRW.txt b/ProDOS.FX/ProDOS.S.XRW.txt index 331094fe..a39c5b37 100644 --- a/ProDOS.FX/ProDOS.S.XRW.txt +++ b/ProDOS.FX/ProDOS.S.XRW.txt @@ -838,7 +838,7 @@ XRW.SeekYA sta XRW.D2Trk-1,x will be current track at the end bcc .90 - sta IO.D2.Ph0Off,x + lda IO.D2.Ph0Off,x nop clc Exit wit CC (recalibrate)