[HN Gopher] VMware mouse driver for Windows 3.x
       ___________________________________________________________________
        
       VMware mouse driver for Windows 3.x
        
       Author : ingve
       Score  : 227 points
       Date   : 2021-11-27 13:02 UTC (9 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | wcfields wrote:
       | My happy thought: I'm sure that someone, somewhere has an ancient
       | door keycard badge program that they can finally virtualize
       | because of a mouse driver.
        
       | digital2568 wrote:
       | Check the comparison between <a
       | href="https://www.worldtoptoday.com/2020/02/windows-7-64-bit-
       | vs-32... 7 64 bit vs 32 bit</a> in details way.
        
       | hdjjhhvvhga wrote:
       | Thanks, I just needed this!
        
         | exikyut wrote:
         | Whatever for? :D
         | 
         | You can't possibly say _that_ without context.
        
           | hdjjhhvvhga wrote:
           | Well, I've recently discovered the installation disks for
           | Turbo C++ for Windows. And I remembered I still have Symantec
           | C++ somewhere - and a vague memory they had quite nice MFC
           | examples you could learn from. Unfortunately, I had to stop
           | tinkering with them shortly after I started because I had to
           | prepare for university exams and so on, and in the meantime
           | other more successful tools appeared and I never had a chance
           | to go back. But a fond memory has remained, so now that the
           | second lockdown is approaching and I'll have more time, I
           | plan to write a couple of Win32 (well, actually Win16) apps I
           | had in mind back then. And if I feel particularly
           | adventurous, maybe even port them to Windows 11 (I feel I
           | might be able to pull it off with Symantec and MFC; I think
           | Borland depended on their own library but I may be mistaken).
           | In the light of crazy stuff people do in their spare time and
           | post here, I'd call this a very reasonable and mainstream
           | exercise.
        
       | etaioinshrdlu wrote:
       | I'm very upset that upgrading to an M1 macbook will mean losing
       | about 5 parallels VM's running x86, old versions of windows and
       | linux.
       | 
       | I used it to run old versions of 3d, graphics, and embedded
       | engineering tools.
       | 
       | I'd pay $100 a year for a tool that provided good emulated guest
       | drivers (3d,audio,network,mouse) for win 9x, XP, 7, Linux on an
       | m1.
        
         | AshamedCaptain wrote:
         | Which tool even provides good guest drivers for 3d on non-
         | emulated 9x ?
        
           | zamadatix wrote:
           | https://github.com/kjliew/qemu-3dfx
           | 
           | Looks like someone was able to show games working well on an
           | M1 mac build https://github.com/kjliew/qemu-3dfx/issues/23#is
           | suecomment-9... and the project offers a $59.99 service to
           | generate binaries. Might be the perfect answer for GP.
        
         | SamuelAdams wrote:
         | I get around this by running windows / Linux virtually on a
         | server in my basement. If there is some software I need I can
         | either ssh or use a Remote Desktop tool.
        
       | wila wrote:
       | This is awesome, I will definitely use this.
        
       | AshamedCaptain wrote:
       | It's not the same protocol as in virtualbox, though.
       | 
       | https://wiki.osdev.org/VirtualBox_Guest_Additions#Mouse_Inte...
        
         | calvin_ wrote:
         | that page is a bit outdated; i do know VBox has changed for at
         | least devices like SVGA, so I think it's possible. that said, i
         | don't use vbox, so i can't say for sure
        
       | unnah wrote:
       | Not bad for a first attempt at x86 assembly! One wonders how much
       | experience the author had with other assembly languages
       | beforehand.
        
         | calvin_ wrote:
         | just PowerPC assembly before, but mostly on a much smaller
         | scale (RE or writing basic blocks)
        
       | xpressvideoz wrote:
       | This is my first time seeing a program versioned 0.0. I'm
       | surprised I didn't think of the idea before! There must be some
       | appropriate uses.
        
         | unbanned wrote:
         | Makes sense. Taking https://0ver.org/ to its logical
         | conclusion.
        
           | tambourine_man wrote:
           | I can't tell if this is satire or real.
           | 
           | Poe's law still going strong.
        
       | marcodiego wrote:
       | I thought windows 3 supported standard ps/2 or serial mice. If a
       | mouse needs a special driver, I'd classify it as broken. Ok,
       | there's the possibility of it being a USB mouse, but... there's
       | no reason a PC emulator/VM won't support standard ps/2 or serial
       | mouse. Or is it more like the special situation where mouse
       | doesn't needs to be "captured" by the VM?
        
         | skrebbel wrote:
         | Maybe consider reading the article.
        
           | ape4 wrote:
           | The most polite RTFA ;)
        
           | marcodiego wrote:
           | I agree with you. I should have been more careful before
           | commenting. Nevertheless, still think the title could be a
           | bit more obvious.
        
       | thom wrote:
       | I've had good results with DOSBox-X to keep old DOS/Windows
       | software up and running:
       | 
       | https://dosbox-x.com/
       | 
       | It's basically a fork of DOSBox that isn't averse to supporting
       | non-gaming apps. For entirely nostalgic reasons, in addition to
       | all of eXoDoS, I've got Windows for Workgroups, Office, Visual
       | C++, Encarta etc. I can't really justify keeping all this around
       | other than it makes me happy.
        
         | simcop2387 wrote:
         | For some of the other apps you might want to try pcem for more
         | advanced and complete emulation. It takes more resources but
         | does it at a lower level which should allow for better
         | compatibility.
        
         | Narishma wrote:
         | Why would you need to justify it?
        
         | csdvrx wrote:
         | > I can't really justify keeping all this around other than it
         | makes me happy.
         | 
         | Emotions are underrated as drivers for decisions: I've read
         | here and in a few other places that fMRIs have shown decisions
         | are first taken by the part of the brain responsible for
         | emotions: only later does the part responsible for reasoning
         | "lights up".
         | 
         | This means rationalization happens ex-post. So now, whenever I
         | want to take a decision, I listen to my "heart" which
         | integrates from a large array of inputs, including intuition,
         | and therefore performs generally better than pure logical
         | reasoning (Kirk style vs Spock style)
         | 
         | Even if this doesn't work our for you... at least you'll be
         | happy :)
        
           | naikrovek wrote:
           | > Emotions are underrated as drivers for decisions
           | 
           | and also extremely overrated. the number of times my work
           | life has been made a nightmare because A) the decision-maker
           | was shielded from the consequences of their decisions, and B)
           | their technical decisions were based on "vibe" or how good
           | the salesperson made them feel over 25 paid lunches, numbers
           | easily over two dozen.
           | 
           | the worst periods of my career have always been because
           | technical decisions were made on an emotional basis.
           | 
           | I realize that the my parent comment is almost certainly
           | referring to personal decisions in the bit that I quoted; I'm
           | just hoping to bring awareness to bad decisions based on
           | emotion. it's endemic and terrible.
        
       | nope96 wrote:
       | What's the best way to virtualize Windows 95/98? I've read VMware
       | no longer supports it.
        
         | aninteger wrote:
         | Non-support does not necessarily imply non-working. Anyway,
         | QEMU still work just fine.
        
         | x86_64Ubuntu wrote:
         | This is a stupid question, but can you run a VMWare Modern
         | instance, and inside of that have a VMWare Ancient instance
         | that runs Windows 95/98? I've never heard of nesting VMs, but
         | I've never looked either.
        
           | sgtnoodle wrote:
           | If the VM depends on hardware virtualization support, you can
           | only go one layer deep. If the VM does not depend on hardware
           | support, then sure you should be able to nest multiple
           | layers.
           | 
           | For really old software, you can probably get away with
           | fairly high overhead emulation rather than virtualization,
           | and it would probably be less buggy. I would imagine
           | something like qemu would have no trouble booting up windows
           | 95.
        
             | AshamedCaptain wrote:
             | > f the VM depends on hardware virtualization support, you
             | can only go one layer deep
             | 
             | Most VM support nesting of hardware virtualization, with
             | glaring exceptions being Windows's HyperV (until W11
             | apparently) and Xen.
        
             | mook wrote:
             | Was there even hardware virtualization support to take
             | advantage of if you're going that old?
        
           | wila wrote:
           | Yes, that's exactly what I do.
           | 
           | This way you get the binary translation feature from the
           | older VMware version while you can use the hardware
           | accelerated virtualisation in the outer layer.
        
         | AshamedCaptain wrote:
         | No one has mentioned VirtualBox yet?
        
           | breakingcups wrote:
           | For good reason. Oracle's licensing is nefarious. They
           | changed the licensing of the extension pack between versions,
           | so now if you run it for personal use but connect to your
           | company's wifi, they'll get your company on the hook for
           | "violating" their license.
        
             | Sunspark wrote:
             | Out of curiosity, if one was to bring their laptop to
             | Starbucks, would Oracle lawyers attack Starbucks?
        
           | Narishma wrote:
           | It doesn't run those OSes very well.
        
         | mikeroySoft wrote:
         | Still VMware. "Not Supported" in this context just means it's
         | not continually tested.
        
           | wila wrote:
           | There's plenty of hardware Windows 98 no longer works on
           | Mike.
           | 
           | Just tried it on my 2012 mac with Fusion Player 12.1.2 the
           | other day. Windows 98 does no longer boot. Worked fine on
           | Fusion 8. My guess is that it needs Binary Translation
           | support and that's not available with 12.x
           | 
           | edit:
           | 
           | My bad.
           | 
           | Figured to see if I could find out why. Upgrading from
           | virtual hardware 4 to virtual hardware 6 seems to help. (yeah
           | yeah, it's an old VM)
           | 
           | edit 2:
           | 
           | With some of the more recent AMD processors however you are
           | out of luck, they really need BT.
        
             | calvin_ wrote:
             | they don't need BT, but rather, you can't let the VM manage
             | its own PTEs. virtualbox lets you configure that - just
             | turn off nested paging. vmware unfortunately doesn't do
             | that. if you can get the VM booting in safe mode, flipping
             | the safety options from system properties perf button might
             | help too. (I will say ME runs fine where 98 doesn't.
             | weird!)
        
               | userbinator wrote:
               | _but rather, you can 't let the VM manage its own PTEs.
               | virtualbox lets you configure that - just turn off nested
               | paging_
               | 
               | The background information for that reason is contained
               | in these two detailed articles:
               | 
               | https://blog.stuffedcow.net/2015/08/pagewalk-coherence/
               | 
               | https://blog.stuffedcow.net/2015/08/win9x-tlb-
               | invalidation-b...
               | 
               | tl;dr: newer AMD processors have non-coherent pagewalks.
               | Intel has maintained coherent pagewalks despite that not
               | being explicitly guaranteed in their documentation. Win9x
               | depends on that.
               | 
               |  _I will say ME runs fine where 98 doesn 't. weird!_
               | 
               | Caching/speculative execution related bugs are very
               | sensitive to patterns of memory access.
        
               | wila wrote:
               | If that's true then perhaps Mike can have someone take a
               | look ;)
               | 
               | It would be nice if Win98 works for everyone still.
        
           | nope96 wrote:
           | This is what I'm talking about - perhaps a Ryzen thing?
           | 
           | https://communities.vmware.com/t5/VMware-Workstation-
           | Pro/Win...
        
         | paulryanrogers wrote:
         | As mentioned elsewhere in the thread, I've had good luck with
         | DOSBox-X. If you need specialty hardware support then you may
         | need to look elsewhere.
        
         | DaiPlusPlus wrote:
         | Microsoft VirtualPC 2005 was pretty good, it had in-box sound
         | and graphics drivers for Windows 9x. I'm unsure to what extent
         | it runs on modern Windows versions though.
        
         | orbital-decay wrote:
         | PCem is great for this; it's been made to emulate a wide range
         | of old PC hardware.
        
         | calvin_ wrote:
         | VMware still supports it, it just uses an old version of Tools
         | to do so.
        
         | [deleted]
        
       | ale42 wrote:
       | So happy that people can still write & compile code for Win3.1 or
       | other vintage OS!
        
         | AshamedCaptain wrote:
         | Less than 10 years ago I had to write practically the same
         | thing for an active "industrial" user... and I'm quite sure
         | they are still using it.
        
           | reaperducer wrote:
           | I know a company that recently upgraded a computer to Windows
           | XP. That computer controls a building-sized machine. The
           | computer was upgraded to XP take advantage of the latest
           | software update for controlling that machine.
           | 
           | The company that makes the software says it will no longer
           | support XP, and if the machine owners want the next version
           | of the software, they'll have to upgrade to a new machine. A
           | new machine, depending on options, runs $200,000-$500,000.
           | 
           | So in order to keep the XP machine safe and happy for many
           | years to come, it's been airgapped from the world. Not
           | "airgapped" as in "I turned off my laptop's WIFI." But
           | airgapped in the sense that it's 2,000 feet from the nearest
           | building, surrounded by a barbed wire fence, and the control
           | computer is at the top of the machine -- probably 50 or 60
           | feet off the ground.
        
             | comprev wrote:
             | I once did a project which involved migrating an ancient
             | (early 1980s) DOS based application to FreeDOS via a VMWare
             | host. The application controlled an oven in a soft drinks
             | bottling factory and due to EMI, the physical disk had to
             | be cloned every 6-9months to avoid corruption, and sourcing
             | ancient IDE drives was problematic.
             | 
             | The manufacturer was happy to provide updated software, but
             | only alongside a new oven, at a cost of PS1 million.
             | 
             | The factory had 4 ovens.
             | 
             | VMWare + Windows 7 + SSDs + proper Siemens industrial PC =
             | much cheaper hack!
             | 
             | Definitely a cool feeling knowing the solution might be in
             | place another 20-30 years :-)
        
               | bobthebuilders wrote:
               | What kind of PC is an industrial PC? More hardened? More
               | resistant to factory floor accidents?
        
               | silverlyra wrote:
               | I don't work in the field, but I was curious too and
               | found the Siemens product offerings:
               | https://new.siemens.com/global/en/products/automation/pc-
               | bas...
               | 
               | Looks like they're hardened to run continuously, reduce
               | potential causes for maintenance, resist vibrations, and
               | run in ambient temperatures up to 55oC. You can also find
               | variants certified for use in marine shipping scenarios.
        
               | quux wrote:
               | They also tend to have lots of legacy IO and expansion
               | slots. Like 8 bit ISA slots on modern hardware.
        
               | comprev wrote:
               | This is correct. The hardware is built and tested to be
               | run in the most horrible conditions. Their support is
               | often top notch too for when the equipment breaks down.
               | 
               | Think of them like "rugged laptops" but for PCs /
               | servers.
        
               | wtallis wrote:
               | Industrial PCs are also commonly passively cooled and
               | more or less sealed, using the case itself as a heatsink
               | and protecting the electronics inside from airborne
               | contaminants.
               | 
               | Individual components can also be industrial or
               | automotive grade rather than commercial grade; for
               | example, industrial-grade SSDs are usually rated for
               | 85degC and often have much higher write endurance ratings
               | than client/consumer SSDs, and may also be protected with
               | a conformal coating or epoxy potting across the entire
               | board.
        
           | sigmaprimus wrote:
           | I think Vancouver's original rapid transit line still uses
           | legacy systems with 5 1/4 Floppies.
        
           | flatiron wrote:
           | I've written software for cpm in 2021. It's still a thing.
        
             | naikrovek wrote:
             | can you go into more detail? what did you write? why did
             | you write it?
        
               | stevekemp wrote:
               | Not the parent poster, but I bought a Z80-based single-
               | board computer last year.
               | 
               | I wrote a simple text-based adventure game for it which I
               | submitted here:
               | 
               | https://news.ycombinator.com/item?id=26946130
        
         | gota wrote:
         | I've had to for some academic work. Some interesting and
         | promising work that did not catch much attention and was last
         | implemented by some post grad student for proof-of-concept in
         | the Win3.1 era, using some contemporary and very specific
         | dependencies
        
       ___________________________________________________________________
       (page generated 2021-11-27 23:00 UTC)