Yeonung
Thanks. I didn't know that
Kirn
Yes, I know that Wine supports 16-bit programs using their VDM, but it's not done in a fully Windows NT compatible manner
Kirn
Wine kinda hosts each program as a 32-bit process on its own, whereas Windows NT uses a single VDM instance to run them all in a single process.
Kirn
The NT way is necessary for full compatibility, including some of the tricks used back on Windows 3.1 for cross-program communication
Kirn
Wine's way isn't fully compatible with Windows 3.1 and can break old programs
Kirn
I have no idea
Kirn
I am not a ReactOS developer
Kirn
Exactly what it sounds like.
Kirn
In Windows 3.1, all programs ran in a shared memory space, sort of like DLLs in a single process.
Kirn
No, break as in cause to not function correctly
Kirn
In 16-bit Windows, there was no memory protection between programs
Kirn
So one program could communicate with another by directly accessing it's memory
Kirn
This doesn't work in 32-bit because each process has isolated memory with protection from each other
Kirn
Windows NT had an option for 16-bit programs, "run in separate memory space", which would run that program in a separate VDM instance
Kirn
95/98/ME was just further development of old 16-bit Windows.
Kirn
NT came before Windows 95 by nearly 5 years.
Kirn
Just wasn't meant for regular home use until XP
Kirn
Wine used to do things like the NT VDM, running all 16-bit code in a single VDM instance
Kirn
That old Wine VDM could also run some DOS programs
Kirn
But it was buggy as hell and depended on virtual-8086 mode of the CPU
Kirn
That was thrown away
Kirn
Because it can't work on 64-bit OS
Kirn
Wine now runs 16-bit programs in regular 32-bit mode, which works on 64-bit OS, but isn't fully compatible with all 16-bit programs
Kirn
32-bit mode supports the same weird memory segmenting that 16-bit mode does; Chrome 32-bit uses that stuff as part of the security sandbox.
Kirn
Wine just uses thunking wrappers for API calls
Kirn
Most 16-bit programs are fine with this because they only make regular Windows API calls
Kirn
And their far calls (across x86 segments) work fine with 32-bit segmenting as long as you are careful with the pointers
Kirn
But a few of those old programs also use DOS kernel calls
Kirn
Or will communicate with other programs by using direct memory access
Kirn
These programs now crash on Wine
Kirn
But those are very rare
Kirn
ReactOS is best to implement a 16-bit app layer inside of the new NTVDM implementation, because it supports DOS API and also single memory space of old Windows 3.1
Kirn
For maximum compatibility
Kirn
“Why I’m writing a Windows 3 Emulator” @CantabileApp https://hackernoon.com/win3mu-part-1-why-im-writing-a-16-bit-windows-emulator-2eae946c935d
Kirn
This crazy chap appears to have written a 16-bit emulator that maps win16 API calls to native API
Kirn
Might be useful
orestes
if windows 95 was a disaster you wouldn't be using your nice windows 10 or 7
Mike
Windows NT had an option for 16-bit programs, "run in separate memory space", which would run that program in a separate VDM instance
Iirc, this could also be enabled for windows 9x by changing some parameter with xteq x setup. Not sure if it worked only for explorer or for every program, though
Mike
This thing is not open source enough
And contacting him and asking if he would release under GPL?
Kirn
what's a api? t.dumbfuck
Who are you calling a dumbfuck?
Stas'M
And contacting him and asking if he would release under GPL?
Somebody already tried this without success, he's making his own business
Batnam
@jeditobe might wanna step in here
Kirn
Perhaps, I am at a bit of a loss.
Eris
what's a api? t.dumbfuck
i think he insulted himself, for whatever reason that may be
Alejandro Jeditobe
Alejandro Jeditobe
Please be polite or i will use my ban hammer
Anonymous
yikes. t. is shorthand for terevisin means "greetings from" in Finnish
Anonymous
so yes, I was calling myself a dumbass because I don't know what an API is
Anonymous
sorry for the confusion lmao
Kirn
yikes. t. is shorthand for terevisin means "greetings from" in Finnish
Well, try avoiding weird linguistic quirks limited to small nations.
Kirn
It can cause confusion for those living anywhere else
orestes
why speak finnish when you're in the english chat
Mike
Finnish? The land of perasmies 😅👍
Mike
Wish they translated it in english!
Anonymous
[CORE-10546] AIDA64 hangs in r69930 after some actions was resolved as Cannot Reproduce by Samuel Serapion https://jira.reactos.org/browse/CORE-10546
Anonymous
[CORE-12047] Fixes for legacy Mm Paging was resolved as Fixed by zefklop and will be merged in 0.4.3 https://jira.reactos.org/browse/CORE-12047
Anonymous
[CORE-10451] After logon ReactOS hangs (freezes) was resolved as Cannot Reproduce by Samuel Serapion https://jira.reactos.org/browse/CORE-10451
Anonymous
[CORE-9189] Crash in ntdll_apitest:exception was resolved as Fixed by Samuel Serapion https://jira.reactos.org/browse/CORE-9189
Mike
Dosbox once crashed and now i can't run it anymore in my pc
Mike
Did they stop releasing?
Mike
😔
Mike
If it's legal yes, this would be good
Mike
But may still be copyrighted
Mike
Microsoft recycles code, too. This explains why sometimes a windows 3.x bug afflicts modern systems too
Mike
http://news.bbc.co.uk/2/hi/technology/8499859.stm
Mike
I trust our devs. Bugs can happen, though.
Олександр
Historical reasons
Олександр
Developers were used to SVN for a long time and nobody really cared about Git
Олександр
And when Git migration was decided there were many difficulties with migrating the whole SVN history to Git due to how SVN works (ability to checkout arbitary folder resulted in branches that are created from a folder and not a top-level)
Олександр
And there was discussion about splitting the repo to a bunch of small ones but it proved to be too difficult to do both things at once
Олександр
Now we have needed toolchain to migrate history (all tested) and the Git mirror of master branch that exists on GitHub and git.reactos.org now will be replaced by fully ported repo with full history and branches.
Олександр
This introduces completely new workflow that many devs need to learn
Олександр
But that also means it's a bit more easier and more fun to contribute using Pull Requests!