On 1/9/2023 10:51 AM, Knedlik wrote:
Hello!
I have quite some experience programming in various languages ranging from 
Python to C++ on modern x64 and Arm64 hardware, but I seem stuck when wanting 
to do something on DOS. I’m mainly stuck at advanced stuff like graphics mode, 
audio, extending the base system, and also if it’s even possible to have 
sprites/spritesheets as files. Any help with places to learn this stuff will be 
appreciated.
Well, in addition to what Jerome cautioned about when using VMs instead of "real iron", one important thing to consider is that DOS doesn't really have a concept of OS level drivers, certainly not when it comes to anything video/graphics card related. Any such driver was the responsibility of the applications running on DOS., though some rudimentary attempts were made to try and define a standard, for example like Borland did for their Turbo series of programming languages and their use of BGI (Borland Graphics Interface).

Also to consider is that back in those days, there were a lot of competing and partially incompatible (graphics) hardware existed. IBM had set some "standards" with their MDA (and in extension Hercules with their Hercules Graphics Card), CGA, EGA and VGA standards. But beside some very basic memory layout and graphics controller registers, any compatibility here was only give on the BIOS level (INT10h), which specially for games and things like sprites that you mentioned, was commonly deemed to slow, if calls for such functions didn't exist in the first place.

This is a HUGE difference to today's world, where all lower level stuff is handled by OS level drivers and the programmer is presented with a higher level API to the graphics functions. Differences on that level though exist between different GUI based OS, like any such function will likely be different between Windows, macOS, Linux, Android, iOS, etc...


Ralf




_______________________________________________
Freedos-devel mailing list
Freedos-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-devel

Reply via email to