|
| liendolucas wrote:
| Oh boy, when you see those game requirements. Today gamers would
| change GPUs not every year or so but kind of. Those software
| rendering engines are true gems because the guys who worked on
| them literally pushed CPU and RAM to their limits and beyond. Is
| also a reminder of how much you can do with so little. I highly
| respect and admire people that grew up chewing up assembly during
| the 80's and 90's, wished I had that pleasure.
| jmclnx wrote:
| Microsoft c/c++ 7.0 compiler/linker is a 32bit application. I
| still have it and hope to see if I can get it working under
| FreeDOS. The docs are great.
| markus_zhang wrote:
| https://winworldpc.com/res/img/screenshots/29213296f35729c46...
|
| Man this is good time. I wish nowadays we has such
| documentations.
| tambourine_man wrote:
| Aside from the software, I'd love a modern version of this laptop
| too. Sturdy keys with lots of travel, just the right screen size.
| Imagine a unibody built of this form factor, with modern SSD and
| RAM. The amount of battery one could fit in at that thickness
| would last you a week in a single charge.
| tambourine_man wrote:
| We really did have everything, didn't we? I mean, when you think
| about it.
| pavlov wrote:
| With 32-bit DOS extenders, VESA VGA BIOS extensions and Gravis
| Ultrasound, we really did have everything -- except an
| operating system. Who needs one anyway.
| mysterydip wrote:
| All it was missing was an (optional) network stack, IMHO
| com2kid wrote:
| Turns out they just get in the way, and in-between showing
| ads, sell your usage data to advertising companies.
|
| We were better off without them.
| anyfoo wrote:
| Don't be trite in a technical conversation. While I agree
| that those things are bad, it adds nothing here, and
| besides only a minority of Operating Systems does what you
| say.
| anyfoo wrote:
| Yeah. Until we wanted multitasking. Separate address spaces,
| shared resources, protection, eventually security. That's
| when the "operating system" came in. DOS was allowed to live
| as a virtualized task, but it wasn't the same.
|
| I did get tambourine_man's reference, though. Nice!
| linguae wrote:
| Though, there's a way we can enjoy a minimal operating
| system yet also have security, protection, and resource
| management:
|
| https://en.m.wikipedia.org/wiki/Exokernel
| Dwedit wrote:
| We even have HxDOS, which runs Win32 applications, including
| console applications. For example, even a modern version of
| 7-zip (console version) runs perfectly on ancient DOS
| computers.
| mysterydip wrote:
| Now apparently just called HX, for those (like me) looking
| for it:
| https://pmwiki.xaver.me/drdoswiki/index.php?n=Main.HX-DOS
| ale42 wrote:
| Now I just want HX running directly on UEFI! ;-)
| blueflow wrote:
| If you have UEFI you can develop against the UEFI
| interface... its a more sophisticated OS than DOS on its
| own.
| garganzol wrote:
| This is something I was able to achieve independently back in
| 2001 by writing a small DOS program that switched CPU into
| 32-bit protected mode, loaded a PE (portable executable) exe
| file into the memory together with DLL modules it depended
| upon.
|
| The next step was to write KERNEL32.dll etc modules that were
| used by executable files of interest. It turned out to be a
| relatively easy task - only a handful of Win32 modules and
| their API functions were actually used by the real programs I
| was trying to run under the DOS. And those API
| implementations were mostly stubs that translated, say, I/O
| calls from a program into corresponding DOS calls.
|
| Having that trick upon my sleeve, I vividly remember of being
| able to run 32-bit Borland C++ compiler (bcc32.exe) and
| linker for Windows under the raw DOS environment. Don't ask
| why, I did it because I could.
| justsomehnguy wrote:
| > Don't ask why, I did it because I could.
|
| The most amusing was when you start something and by some
| minor things you understood what the thing is doing
| something _weird_ , in a good sense.
|
| Later it was when a win32 app announce what it has a merit
| just by being not a square one.
|
| Good times.
| anonymousiam wrote:
| Okay, I won't ask why you did it, but I know I would have
| liked to run their IDE under DOS instead of Windows. Back
| in that era, Windows was very slow and clunky, and I was
| pretty unhappy when I "upgraded" to Borland 4.0 (IIRC)
| which required Windows.
|
| Fortunately, I switched to Linux around the same time.
| garganzol wrote:
| I had similar intentions - I was deep into OS development
| back then, so I wanted to have a 32-bit C/C++ compiler
| that would effortlessly target 80386+ CPUs.
|
| Borland C++ was my favorite one because it supported
| official x86 assembly syntax (Intel). In contrast, GNU
| tools of the day had their own kinky x86 syntax which
| made me uneasy. It so happened that the Borland compiler
| that was able to target a 32-bit CPU, required a 32-bit
| CPU itself to run. DOS only provided 16-bit environment.
| That's why I went to those lengths of writing a custom
| 32-bit PE loader that would allow me to run some 32-bit
| Windows applications right under the DOS.
|
| DOS was a preferable environment because it was fast and
| allowed booting your own OS kernels without doing a full
| computer reboot - you just ran an executable loader and
| it took control away from the DOS and gave it to your OS.
| And then when you "exited" your OS, instead of rebooting,
| it was returning back to the DOS provided that the OS
| kernel you were running was careful enough to
| preserve/restore the RAM content upon exit.
|
| It gave a huge productivity boost back then. Later,
| however, I switched to Windows and was using Bochs (open-
| source x86 PC emulator) to effortlessly run the OS I was
| working on.
| LeoPanthera wrote:
| Today, "DOS/32" replaces DOS/4G and can even patch out the older
| runtime in binaries.
|
| https://github.com/yetmorecode/dos32a-ng
| pan69 wrote:
| I'm pretty sure you could do the same with PMODE/W back in the
| day (/W = Watcom of course). However, not 100% on the patching,
| my memory is rusty.
|
| http://www.sid6581.net/pmodew/
| Dwedit wrote:
| When you ran a game and saw "DOS/4GW Protected Mode Run-time",
| you knew you were in for a good time.
| jbverschoor wrote:
| I was so happy with my Watcom C compiler after Borland. Made me
| feel like a pro.
| Narishma wrote:
| Or a bad time if, like me, you only had a 286.
| astrodust wrote:
| Interestingly the 286 had a protected mode but very few
| applications ever used it. There were upgrade kits with then
| stupid amounts of memory, like 16MB, for then astronomical
| prices. I wonder how often those were used for anything.
| WalterBright wrote:
| I used Rational Systems' 286 DOS extender a lot. It was a
| great boon to writing programs, because it would seg fault
| on a bad pointer access.
| ElectricalUnion wrote:
| Not many I guess; the reason you basically required a
| "protected runtime" in the first place is because real mode
| (or a even better thing, the shiny new 386 virtual 8086
| mode aka virtual real mode) was very important.
|
| Until the 386, leaving the protected mode was either
| completly unsupported (I think 186) or you needed heroics
| involving bugs in the keyboard irc handler (I think 286).
| Because the OS and most "normal" applications and libraries
| back them being real-mode only, it means you were locked
| out of most of the filesystem I/O, and a program with
| limited filesystem I/O is a very limited program indeed.
| phire wrote:
| Not bugs. IBM literally wired up the keyboard controller
| to trigger the CPU's reset pin on request as a workaround
| for getting back to real mode. But not every system has
| that feature. Some motherboard chipsets had an even
| faster method for triggering reset; it was all very non-
| standard.
|
| But the most compatible way to get back to real mode on a
| 286 was by triggering a triple fault.
| rep_lodsb wrote:
| The 32-bit registers are accessible in real mode too, it only
| requires a prefix to each opcode (and the same is true when using
| the 16-bit registers in 32- or 64-bit mode). There is also no
| restriction on using the FS and GS registers in real mode, they
| work like any other segment register.
|
| There really is surprisingly little difference between real and
| protected mode, it mainly affects how segment registers are
| loaded. Internally, each segment register has a base and limit
| field that is used the same regardless of mode.
|
| Loading a segment register in real mode sets the base to the
| value shifted left by 4 bits, but leaves the limit unchanged. By
| briefly entering protected mode and loading descriptors with a
| limit of 4 GiB, it would remain that way after switching back to
| real mode, giving access to the full address space (this is
| called "flat real", "unreal", or "voodoo" mode).
___________________________________________________________________
(page generated 2023-05-11 23:01 UTC) |