MacIP connection fails if MacIP gateway IP address has 3 digits in any octet
Is it possible to upload an assembled copy of this v1.3 revision of the MacIP Link Layer? The current v1.2 is basically unusable on a real IIgs, particularly with AFPBridge and NetDisk.
File that was provided with Marinetti 3.0B1
Testing SmartSVN commit with HTTPS
It is a duplicate :)
Duplicate? or regression? https://sourceforge.net/p/marinetti/bugs/61/
TCPIPReadTCP and rrMoreFlag
Ouch. https://sourceforge.net/p/marinetti/code/HEAD/tree/trunk/MOSP/Marinetti/Init/I.TCP.S#l1194
Relevant source file is: https://sourceforge.net/p/marinetti/code/HEAD/tree/trunk/MOSP/Marinetti/Init/I.ICMP.S#l102
TCPIPReadTCP and rrMoreFlag
Optimization of INIT/I.TCP.S TCPOPEN code
Option to remove alert windows
Incorporate use of Apple Installer
Hello Gentlemen, Instant Magic installs a previous version of Marinetti, then manual copies are required to install the latest components. There are two options: use Apple's installer or have an updated version of Instant Magic script. I do not mind using one or another. The user does not care as long as s/he has a simple and easy way to install Marinetti. That is why I made the Installer scripts. Instant Magic looks powerful but if a programmer has to deal with resources to create an updated version,...
I have no issue switching over to an Apple Installer, assuming there are no licensing issues, it is simple to update, and if it is easier (or just as easy) to install over the Install Magic one. I don’t even remember an Apple Installer being available outside Apple proprietary use, so that’s enlightening and makes me question why I even bothered writing Install Magic. I have no working emulator* so I can’t check, but does Install Magic not provide an easy one click install? This would seem bad design...
The two scripts are available in the /Marinetti/Scripts/ folder. The advantage of such scripts is that you can install Marinetti and its updates in a click. The old way (which is powerful as well) installs an old version of Marinetti and requires the user to perform additional tasks that my installer scripts provide automagically.
I have asked Antoine to provide more information on the process for using the Apple Installer and to provide any relevant scripts. I would like to understand if there is any feature of InstallMagic being used by the Marinetti installation that is not able to be provided by the Apple Installer.
Incorporate use of Apple Installer
Add config for MTU to Uthernet Link Layer
Todo: Incorporate the source code changes into the repository. Depends on https://sourceforge.net/p/marinetti/support-requests/55/
Email from Rhett> The "PrepareDevEnv" doc says that I should go get a "MOSPx.xxx.bxy" file from the Sourceforge site. When I check out the "Source Files" and "Object Files" folders on the site, though, explicitly say that they're full of out-of-date stuff, that I should get everything from the CVS (which is now SVN, yes?), and that I shouldn't mess with anything there unless I know what I'm doing.
The System 6.0.1 macros are now available in a format that works well for Merlin source code: https://github.com/roughana/supermacs
Ewen has provided Hugh with a build of the Uthernet LL that includes the MTU config. Hugh has tested it and it is working for him. The updated Uthernet LL v1.04 is available from Ewen's website. http://speccie.uk/speccie/downloads/uthernetll.bxy
Wow, great catch. I probably wrote this 30-35 years ago and would have used it in most of the IIgs code I ever wrote. I’ll have to check whether it’s in the original file or whether it was a custom merge for the Marinetti public release. However I have no working emulator for macOS in order to check. On 5 Jan 2020, at 02:02, Kelvin Sherlock ksherlock@users.sourceforge.net wrote: [bugs:#80] https://sourceforge.net/p/marinetti/bugs/80/ PLS Macro fixup
Ewen has been approached to update the Uthernet config to support the MTU.
Add config for MTU to Uthernet Link Layer
:MSGTBL
confusing math in I.PREFS.S
Wow, great catch. I probably wrote this 30-35 years ago and would have used it in most of the IIgs code I ever wrote. I’ll have to check whether it’s in the original file or whether it was a custom merge for the Marinetti public release. However I have no working emulator for macOS in order to check. On 5 Jan 2020, at 02:02, Kelvin Sherlock ksherlock@users.sourceforge.net wrote: [bugs:#80] https://sourceforge.net/p/marinetti/bugs/80/ PLS Macro fixup Status: open Group: Reproducable Created: Sat Jan...
PLS Macro fixup
Marinetti 3.0b11 released
Internal note: PC;GSport;NewDev2;Testbuild;Init;I.TCP.B77.S & Testbuild:Changelog.b11
TCPIPReadLineTCP return value
Stephen Huemann reported that the LOOKFORDELIMIT routine was not setting the TCP ErrorCode correctly in the user record, so a value set by earlier code may remain present there. This may lead to it returning an error code like tcperrConClosing even when successfully returning data. He suggested the following change (where lines beginning with '+' are additions. BNEL :SCANLOOP + BRA :NOLINE Exit Code :EXITOK + LDA #tcperrOK + LDY #uwTCP_ErrCode + STA [USERPTR],Y :NOLINE JSR :SETMOREFLAG LDA #terrOK...
ICMP: TCP sequence number checking
Increase the incoming packet size to improve performance
Combined with bugs fixed in the alternate build of 3.0b10 from the Dell Internal note: 3.0b11 was built on Dell using GSport, NewDev2 volume, Testbuild; I.TCP.F34.S
Remove PtrToPtr debugging from build
TCPIPSendICMPEcho failing
tcpip.h edit
TCPIPReadTCP returns incorrect rrbuffcount
Code changed to cater for delimiter length if necessary. Build provided to Stephen for confirmation of fix.
The code shown doesn't account for the delimiter bytes in the case that they're stripped out separately, unless you've already done that elsewhere. Basically, in that case you would want to add :STRINGLEN into :RETURNSIZE before running this code (but after rlrBuffCount and rlrBuffSize are set to :RETURNSIZE). Other than that, it looks OK to me.
TCPIPSendIPDatagram bad
First attempt * Finally, update the push offset LDY #uwTCPPushInFlag LDA [USERPTR],Y ;Pending push? BEQ :EXITOK LDY #uwTCPPushInOffset+2 LDA [USERPTR],Y CMP :RETURNSIZE+2 BCC :CLEAROFFSET ;More data read than push offset LDY #uwTCPPushInOffset LDA [USERPTR],Y SEC SBC :RETURNSIZE BCC :CLEAROFFSET ;More data read than push offset STA [USERPTR],Y LDY #uwTCPPushInOffset+2 LDA [USERPTR],Y SBC :RETURNSIZE+2 STA [USERPTR],Y DEY DEY ORA [USERPTR],Y BNE :EXITOK ;PUSHSTILLVALID BEQ :CLEARPUSHFLAG :CLEAROFFSET...
The Nice-to-Have sequence checking is captured as feature request ICMP: TCP sequence number checking
Internal note: Dell, GSport, NewDev.HDV, :NewDev2:TESTBUILD:Marinetti:Init:I.TCP.B57.S Also, I.TCP.SENDSUB.S created to split out some source as Merlin editor buffer was filled.
I’ve recently run into something that I think is probably the same issue Ewen was experiencing. In my code, I was getting an intermittent but fairly frequent issue where the returned data in an HTTP response would be corrupt, generally with good data at the beginning but then another partial copy of the same data after it. I did some debugging on this issue, and I’m pretty sure I’ve tracked down the cause of it. In brief, it may occur if the caller uses TCPIPReadLineTCP and then subsequently uses...
Internal: PC /NewDev2/Testbuild/Marinetti/Init/I.IP.B79.S
TCPIPGetErrorTable tcpDGMSTBLEN
TCPIPGetErrorTable tcpDGMSTBLEN
Internal: PC /NewDev2/Testbuild/Marinetti/Init/I.IP.B78.S
tcpip.h edit
Internal note: PC: /NewDev2/Testbuild/Tools/Orca.C/tcpip.h 26/1/19
TCPIPGetErrorTable tcpDGMSTBLEN
TCPIPGetErrorTable tcpDGMSTBLEN
I finally got ethernet working under emulation and duplicate acks are 100% reproducable. The scenario seems to be: marinetti sends data server send ACK back Marinetti resends the most recent ACK, (ie, a duplicate ACK) If step 2 is an ACK with new data (the usual case for a client/server), the correct ACK will be sent in step 3. This can be recreated by telnetting to a unix server - echos are suppressed during password entry. or, after logging in, run stty -echo ; cat to disable echoing (and run cat...
Todo: When this is solved, check if https://sourceforge.net/p/marinetti/bugs/44/ can be closed.
tcpip.h edit
After some more tests, even though the datagrams do seem to be short for TCPIPSendICMP and TCPIPsendICMPEcho, they are valid, and do get Echo responses back from the host that is being called. Please note that if you are using Sweet16 (and posibly other emulators), the intermediate Mac host will change the datagrams on the way through to "Pseudo SLIRP Echo" datagrams, which the host will not recognise, and so will not return Echo responses.
Internal note: Dell, GSport, NewDev.HDV, :NewDev2:TESTBUILD:Marinetti:Init:I.TCP.B41.S Patch to skip TCPTOSSUNCLAIMED as a way of avoiding the problem.
Internal note: Dell, GSport, NewDev.HDV, :NewDev2:TESTBUILD:Marinetti:Init:I.TCP.B41.S Patch to skip TCPTOSSUNCLAIMED
Source file I.Init.S holds the PASC2HEXIP routine that parses the IP address and port.
TCPIPReadLineTCP return value
Internal note: PC;GSport;NewDev2;Testbuild;Init;I.Init.B77.S & Testbuild:Changelog.b10
TCPIPReadLineTCP return value
Internal note: PC;GSport;NewDev2;Testbuild;Init;I.Init.B77.S
TCPIPReadLineTCP return value
TCPIPReadLineTCP return value
TCPIPConvertIPToHex not parsing port number
IPSENDDATAGRAM Usage of OpenDatagram requires correct DP to be set and then the local variable usage requires the original DP to be restored. PHD and PLD added around OpenDatagram and another LDA >MyDP TCD inserted prior to WriteDatagram to be consistent with other usages of OpenDatagram and WriteDatagram. AFAICT This has never been correct. There was old code commented out which used SendDatagram directly. Looks like Richard was converting and never tested. Internal note: PC;GSport; NewDev2; testbuild;...
Standard project directories initialized by cvs2svn.
initial checkin
This module was converted using Merlin's '^' export command to strip Hi Bits.
This commit was manufactured by cvs2svn to create tag 'start'.
Update with some changes to test display of differences
Committing the ADD.
GNU Lesser General Public Licence
Description of how to build Marinetti using Merlin
Description of CVS Repository directories and content
Copies data and resource forks of files with various options
Richard's Utility Macros
Developer Macros for TCP/IP Toolset and data structures
Equates for TCP/IP data structures
Init Link file (no assembly performed)
Init Resources
This commit was manufactured by cvs2svn to create tag 'MOSP3_0d1'.
Init Link file (assembles all sources)
Changes for 3.0d3 derived by Andrew Roughan from 3.0d4 release notes.
Commands for use by Casper
Scripted Point To Point protocol Link Layer sources
Scripted Point To Point protocol Link Layer Resources
Scripted PPP Link file (assembles all source)
Scripted PPP Link file (no source assembled)
Update for Point to Point Link Layer modules
Subroutine library for Casper
Where to place content of this directory
This commit was manufactured by cvs2svn to create tag 'MOSP3_0d4'.
Patch to correct placement of Casper subroutine library files