VOGONS


Windows 95 full chip requirements?

Topic actions

Reply 20 of 27, by Jorpho

User metadata
Rank l33t++
Rank
l33t++

If you're not familiar with it, http://www.os2museum.com frequently has stories about old operating systems which won't boot on VMs or even on slightly newer hardware due to mindbogglingly obscure bugs, sometimes relating to things that don't quite match up to unpublished specs even though they should.

Scali wrote:
But we just linked to an 8-bit ISA expansion card with a 386 CPU on it, enabling it to run 32-bit software. The only question is […]
Show full quote
konc wrote:

Real mode support has been dropped since Windows 3.1, so I'd bet on a definitive "no" even though I didn't search for any substantial proof to support my answer.

But we just linked to an 8-bit ISA expansion card with a 386 CPU on it, enabling it to run 32-bit software.
The only question is: what else does Windows 95 need besides a 386+ CPU?
The AT standard adds an extra interrupt controller and extra DMA controller... But would Win95 really need those?
Perhaps other small things in the chipset that we've taken for granted on real 386+ systems, that aren't in a real PC/XT, and can't be added via some 8-bit ISA card either?

The wiki page does mention this: "Windows 3.0 and 3.1 (Inboard 386/AT model only)."
So I assume that means Windows 3.x already didn't work on an XT with Inboard 386. Which means the chances of Win9x running are slim.
I would like to know what exactly would be causing it not to work, and whether or not there'd be a way around it. I mean, perhaps with some alternative/modified chipset drivers, it may be possible to get it to work. You already have the CPU and the memory, so it must be something minor.

Edit:
A quick search revealed this: http://www.vintage-computer.com/vcforum/showt … ard-386-PC-quot
Apparently there *was* a special version of Windows 3.0 which came with drivers that made it work on a PC/XT.

Reply 21 of 27, by superfury

User metadata
Rank l33t++
Rank
l33t++

@Scali: I do have a 2nd interrupt controller and DMA controller emulated besides standard IBM PC hardware (atm just a 80(1)86 with 10MB RAM). So when I finish fixing the bugs in my 80(1)86 and add the upgrade to 286/386 (partially already written) I would be able to run Windows 95? Would 98/ME also run when I upgrade to 486 (basically just adding CMPXCHG and some flags afaik)?

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 22 of 27, by idspispopd

User metadata
Rank Oldbie
Rank
Oldbie

The AT also uses different keyboard scan codes that PC/XT. I suppose when the OS doesn't use BIOS but implements its own protected mode keyboard driver this matters.

Reply 23 of 27, by superfury

User metadata
Rank l33t++
Rank
l33t++

I also have the 3 keyboard scanmodes implemented. So this means, that when I upgrade the CPU fully to a 386/486 Windows 95 will run? Will 98(upgrade to 486) run as well? (ME won't run because it needs a Pentium processor?)

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 24 of 27, by SarahWalker

User metadata
Rank Member
Rank
Member

Probably. But from the looks of your other thread you're a LONG way off - you need a lot more of the CPU working first, and the protected mode & MMU functionality can be very difficult to get right. I wouldn't worry about Windows 9x at this stage.

Reply 25 of 27, by superfury

User metadata
Rank l33t++
Rank
l33t++

I already have the basic memory scheme of protected mode (addressing,paging and ModR/M) implemented. Only the interrupt handling and task switching are left to do atm. And of course the opcodes themselves once I get my 80(1)86 fully working.

Of the reference manual I currently have implemented: (http://www.scs.stanford.edu/05au-cs240c/lab/i386/toc.htm)
Chapter 5 Memory Management
Chapter 6 Protection
Chapter 7 is a WIP.
Chapter 9 Exceptions only
And of course real address mode is already (with some bugs) working, on a 80(1)86 level.

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io

Reply 26 of 27, by Qbix

User metadata
Rank DOSBox Author
Rank
DOSBox Author

protected mode is a lot more.... All kinds of conditions to check for opcodes.

Water flows down the stream
How to ask questions the smart way!

Reply 27 of 27, by superfury

User metadata
Rank l33t++
Rank
l33t++

The protection part is currently done in the MMU emulation. So the accesses to memory are already checked against the limits and the flags in the Page Table. The same with loads to segment registers. Exceptions won't work in protected mode yet, since they're using task switches (not implemented yet) and the protected mode IVT (also still need to build).

Author of the UniPCemu emulator.
UniPCemu Git repository
UniPCemu for Android, Windows, PSP, Vita and Switch on itch.io