News for hackers. Stuff that matters.
Re:War stories: how Crash Bandicoot hacked the original Play... by dehrmann on Monday December 20, 2021 @02:03PM (#29628641)
> no middleware, no crap

Not sure if this applies to the Amiga, but one of the huge drawbacks to DOS was that you wrote your own video and sound drivers. It wasn't abstracted away, so you could get better performance, but it was a lot of repeated work, and it doesn't scale.

Re:War stories: how Crash Bandicoot hacked the original Play... by vnorilo on Monday December 20, 2021 @03:33PM (#29629937)
I mean, for most DOS games the "video driver" was one interrupt and start writing pixels to framebuffer at 0xa0000. Sound drivers were more complicated, but there were a ton of libraries - it's how FMod got started!
Re:War stories: how Crash Bandicoot hacked the original Play... by boomlinde on Monday December 20, 2021 @07:00PM (#29632115)
The Amiga had pretty similar hardware throughout its entire lifetime, and to some extent, later models were compatible with earlier models. The kickstart ROM included a basic hardware abstraction layer. Of course most game developers largely ignored it. Compatibility is maintained using software like WHDLoad to patch games where the software makes too many assumptions about the hardware.

There's nothing inherent about DOS that prevents code reuse. For example, network stacks and audio drivers were commonly reused, and also graphics APIs like Glide and BGI, not to mention game engines. Either way, writing a soundblaster driver seems like peanuts compared to the work I imagine goes into the rendering pipeline of a modern AAA game.

It does scale in the sense that matters to a game publisher; you build it once and then you sell a million copies. The bigger the expected number of sales, the more time you can spend reinventing a more refined, custom-tailored wheel, and the simpler the wheel the tools inspire, the less time you have to spend on it. Amiga and old DOS games were probably just at just the right point where extensive reuse didn't pay off. Hardware wasn't very complex and for games like Doom it had to be a first class consideration for the product to perform well enough.