7 ms·
This article is bringing back memories. Not just of fiddling with CONFIG.SYS and AUTOEXEC.BAT, but fiddling with the sound card too, as was mentioned in passing
by korethr 10y ago
This article is bringing back memories. Not just of fiddling with CONFIG.SYS and AUTOEXEC.BAT, but fiddling with the sound card too, as was mentioned in passing. As mentioned in the article, I did indeed feel a sense of triumph when I finally got Wing Commander: Privateer to run.
As EMS was a kludge that sucked up high memory for its mappings, I eventually had a fancy CONFIG.SYS with different menu options for different memory setups, depending on which game I wanted to play.
Good times.
- spapas82 10y agoCouldn't agree more! I was like 10 years old in the 90's (before Windows 95 on 1995) when all good games run on DOS. I had became an expert on how to edit config.sys and autoexec.bat to enable EMS or XMS or save a few KB off the 640 kb limit - some games needed more than 590 kb from base memory free even though they were also using extended memory! And of course you needed to know exactly your sound card configuration (IRQ number and COM port) and your video driver capabilities and memory size (I started with a hercules and moved over to a trident before getting a 3dfx voodoo). Yes, running a game then was much more difficult than double clicking an icon but it was worth it. The games of that era were great and you could aquire skills (persistance, attention to detail, thinking on finding solutions) useful for the rest of your life - if you were a kid at least!
- khedoros1 10y agoWe're close to the same age. I remember that I had certain games with awesome boot disk creation utilities, and I knew which disks would help with which games. Although, those were always just the next step after running memmaker again, hoping that it would find just a little extra (but not really understanding what it was doing). And I remember being a little disappointed when a game only supported the PC Speaker or Adlib, but shrugging, and deciding to be grateful that I didn't have to worry about getting digital audio working too.
- digi_owl 10y agoI think one game that gave me grief back then was Master of Magic. It needed lots of free memory, EMS, and those two plus sound was nigh impossible.
- khedoros1 10y agoI think...maybe Star Trek: Judgment Rites, and some of the later Wing Commander games. Oh, and a demo of A Final Unity that I never actually got to run (to my memory).
- gwillen 10y agoGod, I loved that game. I should see if I can find a copy. I had memory/sound trouble with that, X-Wing, and World of Xeen.
- khedoros1 10y ago$6 on GOG ;-)
- xenadu02 10y agoSound cards had to have IRQ #, IO port base address, and often a DMA channel. The IRQs were handled by the PIC controllers, usually two with the secondary piggybacking on the main controller's IRQ #2. This was how the hardware could signal to the software that it wanted attention. The sound driver needed to know what interrupt to listen for or it would never reply to the sound card's requests. It was setup this way because these were physical pins! If you look at the ISA slot pinout there are physical traces for IRQ 3-7. 16-bit ISA slots added pins for IRQ 10-14. A bunch of IRQs were permanently assigned from the old IBM PC days which is why turning off COM ports in the BIOS would free up the IRQ for use by other peripherals. I seem to remember having a card at one point that was 8-bit, but had a little extension off the end with a couple of traces for 16-bit slot support only so it could support higher IRQs; The manual told you not to use IRQs > 9 if plugged into an 8-bit slot. The IO port base address is directly related to the article: It selected where in main memory the device was memory-mapped. Writes to that address would cause the device to latch onto the bus and start receiving data. Anything not in the appropriate range was ignored even though all devices technically received the signal electrically. If the driver had the wrong address it would either write to unmapped memory (not that there was an MMU so the data words just went by on the bus without any listeners). Or worse: the write went to a different device that might ignore what it considered malformed data, but in many cases would do random things, scribble on memory, or just blast the bus and cause a lockup. IO base addresses were pre-assigned to peripherals like COM and LPT ports too but they were not in such high demand compared to IRQ or DMA channels; still in some BIOSes you could change the COM port's base address which would make it show up as COM3 instead of COM1 for example. The DMA channel was exactly what it sounds like: the system had a limited number of direct channels to the memory controller. Often the protocol for a sound driver was to write a "Read audio from address XYZ, length X" to the IO port. The sound card would use the DMA channel to read the audio from that address. Then it would signal an interrupt when it finished so the driver could submit the next batch of samples. You usually configured ISA cards by setting jumpers on the card. The available jumper settings were usually much narrower than the hardware supported so conflicts were more common. PCI still used the physical IRQ system but had a protocol for devices to negotiate available settings with BIOS on startup. PCI express uses a higher-level protocol abstraction. An interrupt is just a special message on the bus and doesn't have any dedicated pins.
- marzell 10y agowow these comments are bringing back old memories... the one thing I can't recall is how I even figured out how to get started with all this stuff so long before I had internet access. I didn't really even know anyone who knew much about computers to get me on the right path. Somehow, one thing in particular that eluded me for years about learning computers and technology is that bookstores had tons of books back then to teach me programming and CS. Instead I just spent hours staring at code until it clicked.
- DanBC 10y agoComputers used to have good manuals, and the games had instructions. And some magazines were good at explaining this stuff.
- pilif 10y ago> […] and COM port) DMA channel number more likely ;-)
- jandrese 10y agoWhen I went to college I bought an honest to god IBM PC because I didn't know any better. One of the things that IBM did was clone MSDOS with a product they called PCDOS. It turns out that PCDOS was ever so slightly better at managing its memory and I had a pretty easy time getting pretty much any game to run. I guess spending an extra $500 on the machine has its perks. :/
- digi_owl 10y agoI thought PC-DOS was MS-DOS that was bundled with the original PC AT.
- jandrese 10y agoIBM still bundled it with their Pentium equipped machines. My machine was a P75 equipped box with 16MB of memory and it came with PC-DOS. It came with an ansi-gui application for figuring out what to stuff into high memory and its own version of HIGHMEM.SYS. IIRC you could get 610KB of regular memory free even with the CD-ROM, Mouse, and SoundBlaster drivers installed.
- digi_owl 10y agoThat ANSI program sounds oddly familiar, but I never owned honest IBM PC. I started out with a second hand 486 based clone (complete with MS-DOS and Win3.11 on floppies), after having been an Amiga 500 kid for a number of years.
- brudgers 10y agoIt is still possible to relive some of that experience configuring X11 by hand.
- throwawaykid123 10y agoI use to steal computer books in the late 80s from the university bookstore. No one suspects an 8 year old.
- boondaburrah 10y agoHa! I'm running gentoo. (but only because systemd prevents me from configuring X11 by hand (to support nvidia optimus (damn you optimus!)))
- digi_owl 10y agoAnd now i am wondering how they managed to tie systemd to the X11 config file...
- pimlottc 10y agoOh man, calculating modelines was some serious voodoo back in the day. Good luck if you didn't have the manual to look up your monitor's timings. Compounding the whole thing was the serious fear that you could actually damage your monitor if you got the settings too far off. Ah, the good old days...
- angrygoat 10y agoThere's a great joke about this in Stephenson's Cryptonomicon I remember getting a borrowed 19" Sony CRT running at some insane resolution for the time, probably 1280x1024, and hearing that worrying thunk changing modes, then reading this book and reconsidering the wisdom of my custom modelines.. > One night at 3 a.m. Pekka caused this to happen, and > immediately after the screen went black and made that > clunking noise, it exploded in his face. The front of the > picture tube was made of heavy glass (it had to be, to > withstand the internal vacuum) which fragmented and spread > into Pekka's face, neck and upper body. The very same > phosphors that had been glowing beneath the sweeping > electron beam, moments before, were now physically > embedded in his flesh.
- sirtaj 10y agoI had per-game profiles that would reboot straight into the game, and then back again into the previous profile on reboot. I've been slowly learning that this kind of thing was a rite of passage back then. But for some of us it was our first exposure to "serious" system scripting.
- Keyframe 10y agoThe anxiety when you had to have mouse AND CD-ROM drivers at the same time eating up memory!