New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Support Uthernet II card #518
Comments
I will second the desire for U2 emulation, since that is the currently available card and what many might have in their real apples. |
Streaming demo using Uthernet II: And posting on csa2, Streaming video:
|
Hi The card supports 4 type of sockets: MACRAW, IPRAW, UDP and TCP. MACRAW works almost the same as Uthernet I, and one sends Ethernet II frames via libpcap. The other types are more complicated to emulate, but would be easier to use for the 6502 as they abstract away part of the low level network mechanics. Currently
There exists another emulation of the w5100 chip, in the ZX fuse emulator. See this message where I asked a few questions: https://sourceforge.net/p/fuse-emulator/mailman/message/37269523/ |
ii-vision uses the more advanced socket modes tcp, which is currently NOT implemented. https://github.com/KrisKennaway/ii-vision/blob/master/player/main.s#L179 But I would like to try it. I have not found a disk, not do I know how to build one. Does anybody have it? |
For reference, the code is available here |
I found how to compile the code. A few things are hardcoded in the assembly file, like IP addresses and slot location, so ability to compile is useful. |
Here it is: II Vision running on the emulated Uthernet II |
That great @audetto! AFAIK this is the first emulation of Uthernet II, so a really great result! How easy would it be to port it back into AppleWin? btw, your YouTube video has no sound, but "II Vision" supports both video and sound. Why is there no sound? |
First the easy answer. I don't know, converting an mp4 to the II vision format has been very complicated. The W5100 emulation is platform independent, but it has 4 modes of operation
If you want to run a server (in TCP / UDP mode), listening to clients, this might require some extra work and port forwarding. |
Hi I have worked with Oliver to allow Uthernet II to work on AppleWin Windows with Visual Studio. I would like to propose a PR in the near future to integrate it properly in AppleWin. As I mentioned here #949
To cut a long story short, it would simplify the above tasks if Uthernet 1 were a |
This sounds great!
No one is working on this, and it is a definitely a good thing to do - so please proceed. Ultimately all the cards should be migrated to a |
@audetto: your work in PR #1047 has been merged into master. You listed these remaining items to do:
|
@audetto - in terms of AppleWin user-level documentation for the Uthernet II card support, can you list what is implemented (full/partial) and what is not? Protocols:
|
btw, W5100 errata v2.6 is here. Erratum 1 talks about a bug in UDP/IPRAW modes, when SEND and RECV occur at the same time, but no mention of the IPRAW bug described in that A2osX issue. |
These errata are interesting, but not easy to understand. I have written an implementation of IPRAW, but the only software using it (a2osx) has a bug (a real one in software), so it is extremely hard to test it properly. Will extend the html files to describe the Uthernet II. |
Let me complete some coding on another piece of software and i wil go back on A2osX networking & Uthernet II IPRAW support |
@audetto - check out @oliverschmidt's new release: https://github.com/oliverschmidt/A2Stream |
You remember the odd ANN3 issue we discussed recently? We were testing A2Stream. Anyway I found that the code was not handling TCP connection failures very well. The is PR for this: #1070 A2Stream calls for a new audio card: the output tape! anyone? |
For sure. The knowledge I gained from that resulted in https://github.com/oliverschmidt/A2Stream/blob/main/a2stream.c#L409 |
@audetto - the Uthernet II support is looking good, and given Oliver's |
The final sprint of |
Hi Oliver, It's always great to learn of cases when AppleWin was used in development situations, and also good to know that @audetto's Uthernet II emulation has been well exercised!
Possibly related to this issue #579 ?
|
My problem with #579 is, that it makes a statement - that I don't want to comment on - but doesn't state what exactly AppleWin is supposed to do wrong. |
One (obvious) interpretation is that the next speaker sample output should
be scaled down in amplitude if within certain deltas of the previous
speaker access.
|
So it's 'obvious'? That reminds me why I'm not part of the AppleWin development team anymore. Bye. |
I am sure there is, but I think it is in a very good state for a release. Go ahead. After the release, what should I do for the code I wrote to log the network traffic
|
Are you annoyed by my comment for some reason? I'm not sure why. No offense was intended. I'm just saying it's easy to dream up some obvious/naïve/unsophisticated interpretation of how the effect might be emulated. But how to accurately simulate the physics of a speaker cone isn't at all obvious to me. I studied computer science, not engineering or computational physics. There are many other things that I wish I had studied ... Cheers, |
Hi @audetto -
IMO, it'd be very handy to be able to generate a PCAP from the command line, so option-3 sounds good to me. |
Really? If
I see. Thanks for clarifying. #579 opens with stating: An undocumented fact about the Apple's speaker is that it doesn't click every time you reference an address in [$C030..$C03F], but every other time. I consider this plain wrong. Just write
and you'll clearly notice a click every time you do Apart from that...
Regards, |
Extra logging to debug TCP issues. |
Hi @audetto - what are these TCP issues? Perhaps best to move any further issues to a new issue, and then I will close this (since AppleWin with U2 support got released). |
Oliver reported an issue whereby the TCP socket is closed with WSAECONNRESET just before its natural end, so the last few seconds of the stream are lost. The suspect is that this only happens on a non-virtualised Windows PC (which I don't have right now), and so far have been unable to replicate, nor do we have any idea why this happens. There are not enough data points to pin point anything in particular. We can close this and reopen another one when we have more information. |
Closing this, as Uthernet II card is now supported. |
Uthernet II uses the WIZnet W5100 for hardware TCP/IP stack (the original Uthernet used the cs8900a ethernet controller) . (Datasheet here.)
http://a2retrosystems.com/products.htm:
So far no requests for supporting this card, but there's this comment on http://a2retrosystems.com:
Anyway, I'm creating this issue as a placeholder for potential future work.
The text was updated successfully, but these errors were encountered: