From 67a4dc18dbad1c8419ba6132a44af248a2452374 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20GIBERT?= Date: Sun, 27 Nov 2016 22:59:46 +0100 Subject: [PATCH] Kernel version 0.8 : DHCP, fix when multible DNS servers in options, long domain names... --- A2OSX.BOOT.po | Bin 143360 -> 143360 bytes A2OSX.SRC.po | Bin 819200 -> 819200 bytes A2osX.STARTUP.txt | 4 +-- BIN/IPCONFIG.S.txt | 2 +- DRV/DHGR.DRV.S.txt | 13 +++++++-- DRV/SSC.DRV.S.txt | 3 +- DRV/SSC.I.DRV.S.txt | 3 +- INC/LIBTCPIP.I.txt | 2 +- SBIN/DESKTOP.S.txt | 24 ++++++++-------- SBIN/DHCPCLNT.S.txt | 65 +++++++++++++++++++++++-------------------- SBIN/SHELL.S.CMD.txt | 16 +++++------ SBIN/TCPIP.S.CFG.txt | 35 +++++++++++++---------- 12 files changed, 94 insertions(+), 73 deletions(-) diff --git a/A2OSX.BOOT.po b/A2OSX.BOOT.po index 7dac558f1e77c6fed5af5d2a0185a89ecabe9c2d..c203e289e4a470bb38fa58a8518a722ee13bb087 100644 GIT binary patch delta 3669 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%0An5*#l1XJ`cK*`+D49poudQ8DQ9QlGQGBn< zQS2x#XAKKyFMXh*q`cg5=f@i6J#?2&NqL!}dJ+0x^`lvd$|$KYR4-mQyLM5C5^U PM$Tk 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 TswcK4lu|61CE delta 16997 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 diff --git a/A2osX.STARTUP.txt b/A2osX.STARTUP.txt index 843cca2f..4e81ddd4 100644 --- a/A2osX.STARTUP.txt +++ b/A2osX.STARTUP.txt @@ -13,7 +13,7 @@ SET INSDRV CONSOLE.DRV STARTPROC GETTY CON ${A2OSX}SBIN/LOGIN # Serial Login -#INSDRV SSC.I.DRV 9600 N 8 1 X +#INSDRV SSC.DRV 9600 N 8 1 X #STARTPROC GETTY COM2 LOGIN #INSDRV PIC.DRV # Network Section @@ -29,8 +29,8 @@ STARTPROC DHCPCLNT #CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE # End Network Section # GUI Section -#INSDRV DHGR.DRV INSDRV MOUSE.DRV +INSDRV DHGR.DRV #STARTPROC DESKTOP # End GUI Section ECHO *** End A2osX Startup file *** diff --git a/BIN/IPCONFIG.S.txt b/BIN/IPCONFIG.S.txt index 24556088..c3d5653c 100644 --- a/BIN/IPCONFIG.S.txt +++ b/BIN/IPCONFIG.S.txt @@ -263,7 +263,7 @@ MSG2.DHCPSRVR >CSTR " DHCP Server : %d.%d.%d.%d\n" MSG2.IP >CSTR " IP/Mask : %d.%d.%d.%d/%d.%d.%d.%d\n" MSG2.GW >CSTR " Gateway : %d.%d.%d.%d\n" MSG2.DNS >CSTR " DNS : %d.%d.%d.%d,%d.%d.%d.%d\n" -MSG2.HOSTNAME >CSTR " Hostname : %s.%s\n" +MSG2.HOSTNAME >CSTR " Hostname : %S.%S\n" hLIBTCPIP .BS 1 DevID .BS 1 MAN diff --git a/DRV/DHGR.DRV.S.txt b/DRV/DHGR.DRV.S.txt index 081fd3ec..127cb55d 100644 --- a/DRV/DHGR.DRV.S.txt +++ b/DRV/DHGR.DRV.S.txt @@ -130,8 +130,8 @@ MSG.DETECT >CSTR "\nApple IIe/IIc DHGR Driver.\n" DEV.HEADER cld jmp (DRV.CS.START,x) .HS 00 DevID - .DA #0 No Flag - >PSTR "GFX" NAME + .DA #S.DEV.F.EVENT + >PSTR "GFX" NAME .HS 00 NAME must Be 5 bytes long .HS 00 .HS 00.00.00.00 @@ -208,7 +208,14 @@ OPEN ldy #S.DEV.ID .8 clc rts *-------------------------------------- -GETEVENT +GETEVENT lda A2osX.ASCREEN + cmp #3 is HGR1 screen active? + bne .9 no....exit + +.9 lda #0 Error = no event + sec + rts +*-------------------------------------- COUT IRQ sec rts diff --git a/DRV/SSC.DRV.S.txt b/DRV/SSC.DRV.S.txt index eea8bda0..a5e05c2b 100644 --- a/DRV/SSC.DRV.S.txt +++ b/DRV/SSC.DRV.S.txt @@ -122,9 +122,10 @@ hArgs .BS 1 *-------------------------------------- DEV.HEADER cld jmp (DRV.CS.START,x) + .HS 00 DevID .DA #S.DEV.F.EVENT+S.DEV.F.COUT+S.DEV.F.CHAR DEV.HEADER.NAME >PSTR "COM1" NAME - .HS 00.00 + .HS 00 .HS 00.00.00.00 *-------------------------------------- * Driver Code diff --git a/DRV/SSC.I.DRV.S.txt b/DRV/SSC.I.DRV.S.txt index fd426d60..43cc1e6a 100644 --- a/DRV/SSC.I.DRV.S.txt +++ b/DRV/SSC.I.DRV.S.txt @@ -157,9 +157,10 @@ hArgs .BS 1 *-------------------------------------- DEV.HEADER cld jmp (DRV.CS.START,x) + .HS 00 DevID .DA #S.DEV.F.IRQ+S.DEV.F.EVENT+S.DEV.F.COUT+S.DEV.F.CHAR DEV.HEADER.NAME >PSTR "COM1" NAME - .HS 00.00 + .HS 00 .HS 00.00.00.00 *-------------------------------------- * Driver Code diff --git a/INC/LIBTCPIP.I.txt b/INC/LIBTCPIP.I.txt index 596acd40..59a4c75f 100644 --- a/INC/LIBTCPIP.I.txt +++ b/INC/LIBTCPIP.I.txt @@ -105,7 +105,7 @@ S.IPCFG.GW .EQ 20 S.IPCFG.DNS1 .EQ 24 S.IPCFG.DNS2 .EQ 28 S.IPCFG.HOSTNAME .EQ 32 1+15 char PSTR -S.IPCFG.DOMAIN .EQ 48 1+35 char PSTR +S.IPCFG.DOMAIN .EQ 48 1+79 char PSTR * S.IPCFG .EQ 128 *-------------------------------------- diff --git a/SBIN/DESKTOP.S.txt b/SBIN/DESKTOP.S.txt index eed49ea7..56f5909c 100644 --- a/SBIN/DESKTOP.S.txt +++ b/SBIN/DESKTOP.S.txt @@ -105,18 +105,13 @@ CS.INIT >LDYA L.MSG.INIT CS.RUN clc rts *-------------------------------------- -CS.DOEVENT lda KBD - bpl .1 - sta KBDSTROBE +CS.DOEVENT ldy #S.EVT.hDEV - jsr Destop.Paint + lda hDevMouse Mouse is active ? + beq .1 go check KB -.1 lda hDevMouse Mouse is active ? - beq .99 go check KB - - ldy #S.EVT.hDEV cmp (pEvent),y Event coming from Mouse ? - bne .1 + bne .1 go check KB lda A2osX.ASCREEN GUI screen active ? cmp #3 @@ -148,9 +143,16 @@ CS.DOEVENT lda KBD >LDYA L.SetPixel.X ldx #DEVMGR.GFX.SETPIXEL jsr GoDevGFX - -.98 clc +.98 clc Mark event proceeded rts + +.1 lda A2osX.ASCREEN GUI screen active ? + cmp #3 + bne .99 not for us... + + sec + rts + .99 sec rts diff --git a/SBIN/DHCPCLNT.S.txt b/SBIN/DHCPCLNT.S.txt index fed94116..3ebd8f8f 100644 --- a/SBIN/DHCPCLNT.S.txt +++ b/SBIN/DHCPCLNT.S.txt @@ -333,57 +333,62 @@ CheckDHCPOffer jsr CheckDHCPXID *-------------------------------------- GetDHCPOption cmp #S.DHCP.OPTIONS.MASK bne .1 - ldy #S.IPCFG.MASK + ldx #S.IPCFG.MASK bra GetDHCPOption.CopyIP .1 cmp #S.DHCP.OPTIONS.GW bne .2 - ldy #S.IPCFG.GW + + ldx #S.IPCFG.GW bra GetDHCPOption.CopyIP .2 cmp #S.DHCP.OPTIONS.DNS bne .3 - ldy #S.IPCFG.DNS1 + + ldx #S.IPCFG.DNS1 bra GetDHCPOption.CopyIP .3 cmp #S.DHCP.OPTIONS.DOMAIN bne .9 ldy #1 - ldx #$FF -.4 iny - inx - lda (ZPFramePtr),y - sta UsrBuf256,x - bne .4 - ldy #S.IPCFG.DOMAIN-1 - ldx #$FF + + lda (ZPFramePtr),y Get String len + cmp #80 + bcc .4 + lda #79 + +.4 sta IPCFG+S.IPCFG.DOMAIN store len + tax + .5 iny - inx - lda UsrBuf256,x - sta IPCFG,y + lda (ZPFramePtr),y + sta IPCFG+S.IPCFG.DOMAIN-1,y + dex bne .5 - - + .9 rts +*-------------------------------------- GetDHCPOption.CopyIP - phy - ldy #2 - ldx #0 -.1 lda (ZPFramePtr),y - sta UsrBuf256,x + ldy #1 + lda (ZPFramePtr),y Get Byte count + cmp #9 + bcc .1 + lda #8 max 8 bytes (2 DNS) + +.1 iny + +.2 pha + + lda (ZPFramePtr),y + sta IPCFG,x iny inx - cpx #4 - bne .1 - ply - ldx #0 -.2 lda UsrBuf256,x - sta IPCFG,y - iny - inx - cpx #4 + + pla + dec bne .2 + rts *-------------------------------------- CheckDHCPAck jsr CheckDHCPXID diff --git a/SBIN/SHELL.S.CMD.txt b/SBIN/SHELL.S.CMD.txt index d57f7d69..e8628ce8 100644 --- a/SBIN/SHELL.S.CMD.txt +++ b/SBIN/SHELL.S.CMD.txt @@ -421,25 +421,23 @@ Cmd.Exec.TIME clc >SYSCALL PStrFTime >LDYAI UsrBuf256 + >SYSCALL PPrintFYA bcs .9 lda #13 >SYSCALL COutA .9 rts *-------------------------------------- Cmd.Exec.ECHO lda ARGS - beq Cmd.Exec.ECHO.SYN - + beq .1 >LDYA L.ARGS >SYSCALL PPrintFYA - clc - rts + bcs .9 -Cmd.Exec.ECHO.SYN - lda #SYSMGR.ERRSYN - sec -Cmd.Exec.ECHO.RTS - rts +.1 lda #13 + >SYSCALL COutA + +.9 rts *-------------------------------------- Cmd.Exec.READ clc diff --git a/SBIN/TCPIP.S.CFG.txt b/SBIN/TCPIP.S.CFG.txt index a407f6c0..845ea47e 100644 --- a/SBIN/TCPIP.S.CFG.txt +++ b/SBIN/TCPIP.S.CFG.txt @@ -68,22 +68,29 @@ CFG.Read.HOSTNAME >SYSCALL GetMemPtrA >STYA ZPIPCfgPtr - lda CFG.FileLen+1 - bne .9 - ldy CFG.FileLen - beq .9 - cpy #15 - bcs .9 +* read 15 chars MAX, until CR or EOF - sta IPCFG+S.IPCFG.HOSTNAME,y - -.1 dey - bmi .2 - lda (ZPIPCfgPtr),y - sta IPCFG+S.IPCFG.HOSTNAME,y - bra .1 + ldx #$15 + lda CFG.FileLen+1 + bne .1 File is more than 256....? -.2 jsr CFG.Read.CleanUp + ldx CFG.FileLen + beq .9 len is 0 !!! + +.1 ldy #0 + +.2 lda (ZPIPCfgPtr),y + cmp #13 + beq .8 A CR, end of name + + iny + sta IPCFG+S.IPCFG.HOSTNAME,y + dex + bne .2 + +.8 sty IPCFG+S.IPCFG.HOSTNAME + + jsr CFG.Read.CleanUp clc rts