1
0
mirror of https://github.com/PDP-10/its.git synced 2026-03-20 08:28:43 +00:00

WIP: Telnet works!

This commit is contained in:
Adam Sampson
2018-08-10 17:16:44 +01:00
parent 038c153291
commit 4b6b473001
2 changed files with 10 additions and 10 deletions

View File

@@ -212,7 +212,7 @@ ETHRXI: PUSH P,Q ;IP can clobber all of these...
PUSH P,H
MOVE A,I ;Compute number of words
AOS A
ADDI A,3
LSH A,-2
MOVE C,A
;BUG INFO,[IP ipgipt A=],OCT,A
@@ -250,13 +250,6 @@ ETHTXI:
PUSH P,I
PUSH P,R
; We'll either send this packet, or send an ARP request.
; Either way we'll need our MAC address in the Ethernet header.
LDB I,[%NEAT"HA01+ETHME]
LDB R,[%NEAT"HA2+ETHME]
DPB I,[%NEH"SMAC01+ETHHBF]
DPB R,[%NEH"SMAC2+ETHHBF]
; Search the ARP table for the destination address.
MOVE C,PK.DST(A)
BUG INFO,[ethtxi A=],OCT,A,[ dest=],OCT,C
@@ -290,6 +283,9 @@ ETHTX2: ;Not found in ARP table
;requests rather than building it each time...
DPB C,[%NEAH"THA0+ETHABF]
DPB C,[%NEAH"THA12+ETHABF]
LDB I,[%NEAT"HA01+ETHME]
LDB R,[%NEAT"HA2+ETHME]
DPB I,[%NEAH"SHA01+ETHABF]
DPB R,[%NEAH"SHA2+ETHABF]
@@ -334,7 +330,9 @@ ETHTX5: PUSHJ P,ETHTX ;Send it!
POP P,C
POPJ P,
;Send an Ethernet packet (if possible).
;Send an Ethernet packet.
;The source MAC address in the Ethernet header will be filled in
;automatically (by the adapter).
;Unpacked header is in ETHHBF. R contains pointer to unpacked data.
;I contains data length in bytes.
;Clobbers A, B, C, TT, I.
@@ -361,7 +359,7 @@ ETHTX: BUG INFO,[ethtx ptr ],OCT,R,[ len ],OCT,I
BLTBU TT,(A)
ADDI I,%NEH"LENGTH-%NEH"PAD ;Add length of header
;BUG INFO,[ethtx end desc ],OCT,D,[ len ],OCT,I
BUG INFO,[ethtx end desc ],OCT,D,[ len ],OCT,I
JRST UNATX ;Transmit it
;Check whether the interface is able to send a packet.

View File

@@ -2059,6 +2059,7 @@ SUBTTL TCP Input Interrupt Level
%TSIFL==4 ; Bad seq, flush after handling RST/ACK/URG
TCPIS: METER("TCP: Segs rcvd")
BUG INFO,[tcpis]
SKIPN TCPUP ; Unless TCP claims to be up,
JRST TSIFL ; Throw it away, no TCP yet, sigh.
@@ -2066,6 +2067,7 @@ TCPIS: METER("TCP: Segs rcvd")
; checksumming it (sigh!). TT gets total # bytes in TCP segment.
CALL THCKSI ; Get checksum in A for segment
LDB B,[TH$CKS (H)] ; Get segment's checksum
BUG INFO,[tcpis csum=],OCT,B,[ exp=],OCT,A
CAME A,B ; Should match.
JRST TSIF01 ; Failed, go bump err count and flush it.
LDB T,[TH$THL (H)] ; Find TCP header length in words