osd/osdnet.cpp: Removed dependency from OSD network device to libemu #12058
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is required for #12054 to avoid fatal errors with network devices. This doesn’t completely clean up the interface to OSD network modules (it’s still using free functions and static variables in a really nasty way), but it does clean up a very nasty cross dependency.
There are still issues with the receive polling timer:
emu_timer
will synchronise with real time. It doesn’t, so for a system that’s fairly lightweight to emulate (e.g. an Apple II with a Uthernet card), it polls furiously while running the emulation for a frame, then doesn’t poll at all for the majority of the time while it waits for the real world to catch up before updating video and starting the next frame.I realise this wreaks havoc with the macOS netdev PR. I haven’t forgotten. I’ll update that PR to deal with this myself.