With all due respect, when you said that Windows Me improves "nothing", my immediate response has to be "are you sure about that?". Unless you're talking about MS-DOS 8 specifically (which exists because VxD has been a shaky standard from the beginning), I can think of many things that it improved over 95/98, like taskbar locking, native support for USB mass storage devices, and overall faster hardware detection dialogs that were delayed in previous versions. Besides all that, a patch which partially restores DOS mode exists. I appreciate your efforts to bring console graphics over to PC hardware natively, but you didn't need to snark on something which isn't related anyway - especially if it comes off as misinformation. Do better next time.
Microsoft was "forced" to make Windows ME because OEMs wanted a consumer version and Windows 2000 was still targeting business users. Microsoft never wanted to do it, and they didn't give enough development time so it could function correctly. They did however spend a huge amount of time to remove real mode MS-DOS, to impressive levels actually. Funny though, when OEMs found out about it, they got mad, so Microsoft had to recover real mode MS-DOS but only in the OEM release! So no patch is needed, you just need the OEM version and browse the CD
@@doslogo Yeah, at the time they were juggling a handful of projects pertaining to Windows like Neptune, which was intended to be a consumer NT release - which was also being developed in tandem with 2000 and Me at the time. Ultimately, that never fell through, though a lot of what it inherited was brought over to Me, and as a sort of nudge to prepare people for XP not having DOS, only NTVDM, they still kept being able to run DOS programs in a window, but real mode was heavily hidden. The emergency boot disk was a popular way to access it. Here's a really hot take... I don't think the public was necessarily ready for XP by 2001, at least for home consumers. Many were still using 98 well into 2004, so that does hold some weight. Perhaps they should have given ME more development time to be better polished and add features like fast user switching to hold people over, as releasing it alongside another desktop OS the same year isn't something you just do. Then, that can be followed up by a different XP in about 2003, right around the time hyperthreading would start to appear, requiring the NT kernel, to which it would have refined NTVDM to be more accurate. That would've helped transitioning to NT be smoother in the long run. There's a lot more I could talk about regarding their development, but I'll save it for another time.
@@bluehorizon3181 XP (the 2001 release) was definitely rushed, and quite buggy with existing programs. Dave Cutler was busy with the 2003 release and said in a UA-cam interview he was quite disappointed with the programmers. As for Windows ME, I have seen signs of working installations from online videos, but they are all based on virtualized hardware (such as VMWare and Virtual PC) where the hardware is all the same (Windows 9X really needs to be experienced on real hardware). From my own memory, at least my 4.90.3000.2 install always started crashing after a few weeks of use, with the updated simplified VWIN32.VXD blue screen, that new Protection Error blue screen at boot, and even a repeated booting loop into Safe Mode situation.
@@doslogo Virtual PC 2007 was pretty much my full introduction into the realm of virtualization. It may be dated now (especially since it doesn't work on current releases of Windows), but it has still managed to hold up in some oddball cases where no other hypervisor or emulator has surpassed fully. I've also never heard of the .2 decibel at the end of ME's build number, 3000. I knew that both releases of 98 had them internally and never showed them in system properties, but never heard one for ME. And yeah, there isn't a whole lot of videos showing it running on real hardware. I've seen way too many cases where they just install it on something like VirtualBox and don't install video drivers. I do look forward to seeing your full coverage on the innerworkings of MS-DOS 8, seeing what it's really made of.
That remark stating windows me improved "nothing" is completely false, considering Windows XP inherits many features introduced in ME, and by 2000, MS-DOS mode was hardly ever needed for consumers because DOS programs could run plenty fast in windows even on those cheap celeron computers, without the hardware configuration struggles no less
I should have said improved nothing [over Windows 98 Second Edition and Windows 2000], which I believe was implied (they came out before Windows Me, in 1999). I am all about MS-DOS, and most of internet agrees with the assumption that Windows ME is the worst operating system that Microsoft produced (for some reason or another, crashes mostly). So, not an improvement. But, I secretly love Windows ME for other reasons and will do more videos in the future about it, hopefully being a little nicer with my wording
I tried this on a few of my different retro machines: Works as intended on my PII-350 Works on my 486 DX4-100 but only about half speed Not at all on my 386 DX-40 Anything special needed like an FPU? Cheers!
Thank you for testing! The system requirements are 225 MHz Pentium with 4 MB RAM (only ~160K is actually used, but placed below 4 MB) and VGA of course. Anything below will struggle. The barrier of rendering Sega Genesis layers and sprites at full speed with raw assembler code is a little bit above 225 MHz (but the title screen doesn't show too much at once), and PII is actually slower than Pentium MMX without setting write combining (which this does). Celeron requires 400 MHz to keep up. No floating point is used at all (I will always stay away from floating point for accuracy reasons). I optimized this to the point where only a few scanlines could be gained per 60 Hz
There are pcs and arcade boards with x86 cpus and butter smooth scrolling. FM Towns for example and Raiden arcade boards. Also I remember using soft15khz for perfect Mame emulation (on crt RGB tv), and ofcourse it needed Ati card to work properly.
Cool! I only know about one arcade using a PC, and that is Arika's Tetris Terror Instinct, but it is running under Windows XP where the game has zero control over the hardware or lag. Also, any emulation like Mame are under the mercy of the PC's operating system. That doesn't mean it can't run smoothly under perfect conditions, but I was aiming for a constant smooth frame rate until power down of the PC, conditions never seen running under an operating system
@@doslogo SEIBU SPI HARDWARE: CPU : Intel 386 DX-25 Graphics : Custom Seibu Sound CPU : Z80AP @ 8 MHz Sound Chip : YMF 271-F Fm towns computer also uses 386. But all these have custom gpus ofcourse, not standart vga. And yes all emulation are operating system dependable. Cant remeber if DOS based emulators with VESA3 support are any smooth or not (under pure DOS).
@@vasileios6301 I'll check that out! Thanks! My tests of emulators in DOS (mostly just VESA2) have given me both good and bad results. One thing that VESA is bad at is telling how video synchronization is actually done in hardware, meaning there is a lot of guessing and praying from us programmers. When it works, it works great, but compared to VGA that always (from 1990 onward) follow the rules (compatibility), VESA is just specifications that doesn't have to be followed. Some of the emulators do great VGA Mode X stuff, but DOS and the DPMI host eventually will interfere with the smooth scrolling
A video game console isn't really different from a commodore, apple or IBM In ways pre 90s game console has more capable graphics chips than a cheap home computer Nobody made expansion cartridge and keyboard to connect, or a floppy drive Atari 2600 did get a tape drive cartridge with a ram expansion
Just rip the graphics chip from your favorite video game console, slap it on a 8 or 16bit isa card Make your own "driver" Put right next to that sound blaster Now you have a nes or genesis vdp in a x86 machine Composite and svideo, analog rgb may be supported if you have a play choice 10 ppu
Just add some extra dma chip to do all the memory moves to and from the chip, ram, and isa bus and some fast floating point and calculus Trigonometry if you doing light effects like ray tracing
@@Clancydaenlightened No need for floating point. I am actually against floating point for many reasons. But for the rest, you are right that replacing or adding hardware will give features for the PC to act like a Video Game Console and I like that idea! I also like the idea of not doing any extra work, and just use the bare bone PC hardware to get there, which is demonstrated in the video
Will you be sharing the source code for your port? I'd be interested to see what you're doing here. Curious how you dealt with the audio in your demo. Also you said that the "secret" Mode X implementation in Windows ME is superior to Abrash's black book, suggesting that it doesn't use plane switching. Do you know what this secret is? Something similar to a hacked mode13 like Doom? This is a very cool project, keep it up!
Thank you! Also, Abrash's book is awesome, I have used many techniques from that book in previous projects, but the issue is most of his optimizations are too slow after the hardware manufacturers moved on with their own accelerated graphics. Basically, his book became outdated quickly around the time of Quake's release. You already know DOOM runs at half speed, that is 35 frames per second instead of 70, but otherwise, both DOOM and the implementation used in this video accesses memory above 1 MB. We just do it differently, DOOM uses a DPMI host (more layers on top of DOS = potential added lag), where I temporarily jumped into Protected Mode to change the cached address space limits of a segment. Video memory is slow, and Mode X is always slow, no matter if it is DOOM using it or DirectDraw. There is no way around the plane switching, so everything else needs to be optimized to crazy levels, including memory access, and that needs to extend past the 64 kb boundary to work! Yes, sadly the audio used in this video was glossed over too quickly, else the video would have become too complex. I am still working on Windows Me stuff for this channel, and when that is done, the source code would become more relevant and potentially released
Game companies should have, then I don't think Microsoft Windows would have been so dominant as it became, since more games would "act" as operating systems, get more features, build communities, etc
SNES can be converted as well, with titles such as Mario Kart and Yoshi's Island using background rotations together with the raster effects (two games I have worked on as well in the past). However, the VGA Mode X is too limited in the color depth so VESA VBE would be required (which is faster anyways, see the 16 million color video, but can't have a border color)
What a interesting video, thank you.
This video looks fun!
Thank you!
Nice thats what we can call it counter attack against mister fpga
Amazing work! Subscribed!
Thank you!
Great Work!
Thank you!
With all due respect, when you said that Windows Me improves "nothing", my immediate response has to be "are you sure about that?". Unless you're talking about MS-DOS 8 specifically (which exists because VxD has been a shaky standard from the beginning), I can think of many things that it improved over 95/98, like taskbar locking, native support for USB mass storage devices, and overall faster hardware detection dialogs that were delayed in previous versions. Besides all that, a patch which partially restores DOS mode exists. I appreciate your efforts to bring console graphics over to PC hardware natively, but you didn't need to snark on something which isn't related anyway - especially if it comes off as misinformation. Do better next time.
Microsoft was "forced" to make Windows ME because OEMs wanted a consumer version and Windows 2000 was still targeting business users. Microsoft never wanted to do it, and they didn't give enough development time so it could function correctly. They did however spend a huge amount of time to remove real mode MS-DOS, to impressive levels actually. Funny though, when OEMs found out about it, they got mad, so Microsoft had to recover real mode MS-DOS but only in the OEM release! So no patch is needed, you just need the OEM version and browse the CD
@@doslogo Yeah, at the time they were juggling a handful of projects pertaining to Windows like Neptune, which was intended to be a consumer NT release - which was also being developed in tandem with 2000 and Me at the time. Ultimately, that never fell through, though a lot of what it inherited was brought over to Me, and as a sort of nudge to prepare people for XP not having DOS, only NTVDM, they still kept being able to run DOS programs in a window, but real mode was heavily hidden. The emergency boot disk was a popular way to access it.
Here's a really hot take... I don't think the public was necessarily ready for XP by 2001, at least for home consumers. Many were still using 98 well into 2004, so that does hold some weight. Perhaps they should have given ME more development time to be better polished and add features like fast user switching to hold people over, as releasing it alongside another desktop OS the same year isn't something you just do. Then, that can be followed up by a different XP in about 2003, right around the time hyperthreading would start to appear, requiring the NT kernel, to which it would have refined NTVDM to be more accurate. That would've helped transitioning to NT be smoother in the long run. There's a lot more I could talk about regarding their development, but I'll save it for another time.
@@bluehorizon3181 XP (the 2001 release) was definitely rushed, and quite buggy with existing programs. Dave Cutler was busy with the 2003 release and said in a UA-cam interview he was quite disappointed with the programmers. As for Windows ME, I have seen signs of working installations from online videos, but they are all based on virtualized hardware (such as VMWare and Virtual PC) where the hardware is all the same (Windows 9X really needs to be experienced on real hardware). From my own memory, at least my 4.90.3000.2 install always started crashing after a few weeks of use, with the updated simplified VWIN32.VXD blue screen, that new Protection Error blue screen at boot, and even a repeated booting loop into Safe Mode situation.
@@doslogo Virtual PC 2007 was pretty much my full introduction into the realm of virtualization. It may be dated now (especially since it doesn't work on current releases of Windows), but it has still managed to hold up in some oddball cases where no other hypervisor or emulator has surpassed fully. I've also never heard of the .2 decibel at the end of ME's build number, 3000. I knew that both releases of 98 had them internally and never showed them in system properties, but never heard one for ME. And yeah, there isn't a whole lot of videos showing it running on real hardware. I've seen way too many cases where they just install it on something like VirtualBox and don't install video drivers. I do look forward to seeing your full coverage on the innerworkings of MS-DOS 8, seeing what it's really made of.
That remark stating windows me improved "nothing" is completely false, considering Windows XP inherits many features introduced in ME, and by 2000, MS-DOS mode was hardly ever needed for consumers because DOS programs could run plenty fast in windows even on those cheap celeron computers, without the hardware configuration struggles no less
I should have said improved nothing [over Windows 98 Second Edition and Windows 2000], which I believe was implied (they came out before Windows Me, in 1999). I am all about MS-DOS, and most of internet agrees with the assumption that Windows ME is the worst operating system that Microsoft produced (for some reason or another, crashes mostly). So, not an improvement. But, I secretly love Windows ME for other reasons and will do more videos in the future about it, hopefully being a little nicer with my wording
I tried this on a few of my different retro machines:
Works as intended on my PII-350
Works on my 486 DX4-100 but only about half speed
Not at all on my 386 DX-40
Anything special needed like an FPU? Cheers!
Thank you for testing! The system requirements are 225 MHz Pentium with 4 MB RAM (only ~160K is actually used, but placed below 4 MB) and VGA of course. Anything below will struggle. The barrier of rendering Sega Genesis layers and sprites at full speed with raw assembler code is a little bit above 225 MHz (but the title screen doesn't show too much at once), and PII is actually slower than Pentium MMX without setting write combining (which this does). Celeron requires 400 MHz to keep up. No floating point is used at all (I will always stay away from floating point for accuracy reasons). I optimized this to the point where only a few scanlines could be gained per 60 Hz
There are pcs and arcade boards with x86 cpus and butter smooth scrolling. FM Towns for example and Raiden arcade boards.
Also I remember using soft15khz for perfect Mame emulation (on crt RGB tv), and ofcourse it needed Ati card to work properly.
Cool! I only know about one arcade using a PC, and that is Arika's Tetris Terror Instinct, but it is running under Windows XP where the game has zero control over the hardware or lag. Also, any emulation like Mame are under the mercy of the PC's operating system. That doesn't mean it can't run smoothly under perfect conditions, but I was aiming for a constant smooth frame rate until power down of the PC, conditions never seen running under an operating system
@@doslogo SEIBU SPI HARDWARE: CPU : Intel 386 DX-25
Graphics : Custom Seibu
Sound CPU : Z80AP @ 8 MHz
Sound Chip : YMF 271-F
Fm towns computer also uses 386. But all these have custom gpus ofcourse, not standart vga. And yes all emulation are operating system dependable. Cant remeber if DOS based emulators with VESA3 support are any smooth or not (under pure DOS).
@@vasileios6301 I'll check that out! Thanks! My tests of emulators in DOS (mostly just VESA2) have given me both good and bad results. One thing that VESA is bad at is telling how video synchronization is actually done in hardware, meaning there is a lot of guessing and praying from us programmers. When it works, it works great, but compared to VGA that always (from 1990 onward) follow the rules (compatibility), VESA is just specifications that doesn't have to be followed. Some of the emulators do great VGA Mode X stuff, but DOS and the DPMI host eventually will interfere with the smooth scrolling
A video game console isn't really different from a commodore, apple or IBM
In ways pre 90s game console has more capable graphics chips than a cheap home computer
Nobody made expansion cartridge and keyboard to connect, or a floppy drive
Atari 2600 did get a tape drive cartridge with a ram expansion
Just rip the graphics chip from your favorite video game console, slap it on a 8 or 16bit isa card
Make your own "driver"
Put right next to that sound blaster
Now you have a nes or genesis vdp in a x86 machine
Composite and svideo, analog rgb may be supported if you have a play choice 10 ppu
Just add some extra dma chip to do all the memory moves to and from the chip, ram, and isa bus and some fast floating point and calculus
Trigonometry if you doing light effects like ray tracing
@@Clancydaenlightened No need for floating point. I am actually against floating point for many reasons. But for the rest, you are right that replacing or adding hardware will give features for the PC to act like a Video Game Console and I like that idea! I also like the idea of not doing any extra work, and just use the bare bone PC hardware to get there, which is demonstrated in the video
The NES's Japanese counterpart, the Famicom got a BASIC interpreter as well as a keyboard, making the Family Computer actually functions as a computer
Will you be sharing the source code for your port? I'd be interested to see what you're doing here. Curious how you dealt with the audio in your demo. Also you said that the "secret" Mode X implementation in Windows ME is superior to Abrash's black book, suggesting that it doesn't use plane switching. Do you know what this secret is? Something similar to a hacked mode13 like Doom?
This is a very cool project, keep it up!
Thank you! Also, Abrash's book is awesome, I have used many techniques from that book in previous projects, but the issue is most of his optimizations are too slow after the hardware manufacturers moved on with their own accelerated graphics. Basically, his book became outdated quickly around the time of Quake's release. You already know DOOM runs at half speed, that is 35 frames per second instead of 70, but otherwise, both DOOM and the implementation used in this video accesses memory above 1 MB. We just do it differently, DOOM uses a DPMI host (more layers on top of DOS = potential added lag), where I temporarily jumped into Protected Mode to change the cached address space limits of a segment. Video memory is slow, and Mode X is always slow, no matter if it is DOOM using it or DirectDraw. There is no way around the plane switching, so everything else needs to be optimized to crazy levels, including memory access, and that needs to extend past the 64 kb boundary to work! Yes, sadly the audio used in this video was glossed over too quickly, else the video would have become too complex. I am still working on Windows Me stuff for this channel, and when that is done, the source code would become more relevant and potentially released
my 500mhz first gen slot A athlon emulated pretty damn good from what I remember but thats more of a p3 than a p2.
I have fond memories of that time era, the PIII era. Hopefully your Athlon didn't overheat, they had issues back then
Neat project. I am surprise game companies back then didn't do something like this. Jesus loves you!
Game companies should have, then I don't think Microsoft Windows would have been so dominant as it became, since more games would "act" as operating systems, get more features, build communities, etc
but ehat about the other consoles?
SNES can be converted as well, with titles such as Mario Kart and Yoshi's Island using background rotations together with the raster effects (two games I have worked on as well in the past). However, the VGA Mode X is too limited in the color depth so VESA VBE would be required (which is faster anyways, see the 16 million color video, but can't have a border color)