Geoff Body has requested a new build of the MacIP Link Layer. He wrote>
I was wondering if you could build a new MACIP LL for me with the following
changes in the following routine.
There are two instructions to insert and a value to be modified.
Insert here
JSL E11018 - RamForbid ; Queue modification is about to start, stop new
packets being sent to listener which also modifies the queue
LDY #8
LDA [MACIPQHANDLE],Y
PHA
LDY #6
]L1 LDA [MACIPQPTR],Y
TAX
DEY
DEY
LDA [MACIPQPTR],Y
PHA
DEY
DEY
TXA
STA [MACIPQPTR],Y
DEY
DEY
PLA
STA [MACIPQPTR],Y
TYA
CLC
Modify the following line from ADC #8 to ADC #10 (not a hex number)
Following this code by hand indicates that the queue gets duplicated half
handle moves,
starts at offset 6 -> 2, 4->0, which moves handle 2 to handle 1, adds 8 for
new offset and would go 8->4, 6->2 at which point LSB of handle 3 and MSB of
handle 2 gets moved, should be 10->6, 8->4
ADC #10
TAY
CMP 1,S
BCC ]L1
PLS
PEA 0
LDY #8
LDA [MACIPQHANDLE],Y
SEC
SBC #4
PHA
PZL MACIPQHANDLE
_SetHandleSize
Insert here
JSL E1101C - RamPermit ; Queue modification is now completed, allows new
packets to be sent to listener
Changes made to local workspace in Testbuild/Marinetti/LinkLayers/MacIP on MacMini.
Build of MacIP LL 1.3 sent to Geoff Body for testing.
If this improves Geoff's testing then this will be accepted and committed into repository.
Last edit: Andrew Roughan 2014-05-26
GeoffB> I had it spewing out a recursive filesystem listing via Telnet to the Linux for about 10 minutes. At which point there was a ptr 2 ptr error, but it didn't lockup/freeze. So an improvement.
Without the RamForbid and RamPermit it freezes.
Given the above, these changes should be committed as permanent fixes. Created:
https://sourceforge.net/p/marinetti/bugs/68/
Last edit: Andrew Roughan 2014-06-01