toad.social is one of the many independent Mastodon servers you can use to participate in the fediverse.
Mastodon server operated by David Troy, a tech pioneer and investigative journalist addressing threats to democracy. Thoughtful participation and discussion welcome.

Administered by:

Server stats:

274
active users

#directx

0 posts0 participants0 posts today

Went to go remove any #microsoft games from my #Steam wishlist, only to realize I don't have a single one on there. No #activison, no #bethesda, no #blizzard. Turns out I haven't really been microsoft's main target for a while. I don't use #Windows. Never used #Bing. Don't write programs with #DirectX, I use Vulkan and #OpenGL and #SDL. Don't use #OneDrive. Never used #Skype. Don't use an #Xbox #controller on my PC, I use an 8bitdo controller. Don't use #Azure. I am disconnected from them.

Replied in thread

@koko Reminds me that @fuchsiii works on improving #compatibility with what I call #2000s Games that fall in between a compatibility hole left between #DosDox + simple #Wine emulation on one hand and modern #Proton / #DXVK on the other side.

It's basically a lot of games that run #DirectX 7-9.0c and require disc access or rather patching to just run because garbage like #SecuROM and #StarForce was allowed to exist!

Sometimes even cursed stuff with #Win16 installers but #Win32 game executeables.

Replied in thread

@jfmezei Assembler floating point? Some.

OpenVMS didn’t have any FP in the kernel when last I checked, and the operating system drivers didn’t have FP.

Whole lot of integer, though.

There was more than a little FP code in the distribution kit in user mode, though.

And in the compilers, obviously.

I don’t know off-hand what the graphics drivers were doing with FP, if anything.

There was a fifty-some page design and detail spec created for the Alpha-to-Itanium port, around floating point. Most of the hassles there involved the migration of existing code and data to IEEE floating point, or of using newly-created routines that emulated VAX FP on Itanium. Alpha had both IEEE and VAX FP, so various existing code was not switched. Itanium used IEEE and lacked VAX FP.

Amusingly, it was possible for a faulty floating point accelerator to cause the VAX/VMS kernel to bugcheck in the lock manager though, as occasionally happened with FP780 on VAX-11/780. This bugcheck even though the lock manager had no floating point, it did have integer multiply, and FP780 also accelerated integer multiply. Hence, boom.

Ignoring shaders whether Apple Metal or otherwise, and ignoring OpenCL and other such code, and ignoring other GPU-accelerated processing, and ignoring co-processor boards, all which can do their own thing with their own processing, I/O controllers only deal with the *host* instruction set when the host is executing something from the controller firmware store (think “ROM”), whether that’s native instructions or something else like EFI (UEFI) byte code.

developer.apple.com/metal/shad

en.wikipedia.org/wiki/OpenCL

uefi.org/specs/UEFI/2.10/22_EF

See also CUDA, Vulkan, DirectX, etc.

TL;DR: the design of modern computers has shifted substantially from the simplistic scattering-of-boxes conceptual descriptions that were (and still are?) taught in many computing classes. Most (all?) modern computers have numerous different processors and instruction sets, with different data types, with multiple operating systems, etc., all active in parallel.