Showing posts with label Windows 9x Games. Show all posts
Showing posts with label Windows 9x Games. Show all posts

Friday, April 28, 2017

Reducing Disks on Later PC Game Releases - What is Lost

PC games were often re-released.  Even though they may be older, a budget-friendly price can attract a surprising number of buyers.  To keep the costs down, often games are released in smaller boxes, sometimes paper manuals turned into electronic manuals.  It is not unknown for a game to be released on fewer discs/disks than it was released on originally, without being put onto a higher capacity storage medium.  In this blog entry, I will discuss several famous examples where this occurred and what the effect of the disk/disc reduction was.


Saturday, July 9, 2016

Memories of Ultima Online

In September of 1997, I considered myself a very lucky person.  I was in my freshman year in college and I quickly fell in love with the high speed internet access available to colleges and universities.  I was looking for a new game to play and Ultima Online was the game I had to play.  I had ordered it and it shipped to my home address, but my mother drove an hour to deliver it to me at college so I would not have to drive home in the middle of the school week to take possession of it.

Starting the Ultima Online Demo on The Second Age CD
In those days, you had to pay full price for the game ($64.95) and an additional monthly subscription fee ($9.95).  I did not buy the Charter Edition (which came with 3 months free), I bought the regular retail edition.  That edition came with the cloth map, the UO pin and rather sparse documentation.  I was puzzled because there was little more than a pair of quick reference cards to tell you how to play this massive game.  Nonetheless, I installed the game on my computer, registered an account, gave my credit card information and began my journey by logging in.  


Sunday, September 20, 2015

Baldur's Gate: Character Creation and Party Choices

Apparently I have been somehow pushed or co-opted into writing a series about Baldur's Gate.  Hopefully this will be the last part, which gives my approach to character creation for this game.

Character Creation :

My main PC has always been a Human Fighter.  I get a good roll and set my Str, Dex and Con to 18 and my Int, Wis and Cha to no less than 9.  (Preferably 10 for Charisma, because 9 gives a -1 reaction adjustment).  This requires a total roll of 84, which make take a few dozen clicks of the reroll button. Judging by the Enhanced Edition, total rolling points range from 75-100, but are heavily weighted toward the low end of the scale.

When you choose a class, you are stuck with whatever exceptional strength roll you get when you increase your strength score to 18.  If you raise and lower the strength score, you will keep the first exceptional strength roll you make.  You have to reroll to get a different exceptional strength score.  However, you can raise your strength a point later in the game, and exceptional strength becomes irrelevant at that point.

With a Fighter, you have four weapon proficiency slots to use.  I set two slots for Swords and one for Blunt Weapons and one for Bows.  You will start out with 14 H.P.  I prefer Fighters to Rangers and Paladins because they can gain new levels faster than Rangers and Paladins can.  Also, Fighters have Weapon Specialization and the other two do not.  Put the points you can earn by leveling up to the Sword.  The best long sword in the game can be found at the Entrance to the Nahskel Mines in Chapter 2.

A dwarf or an elf make excellent fighters.  A dwarf has a +1 to Con for +5HP per level at Con 19.  If you raise your Con during the game, you can acquire regeneration.  However, a dwarf has a max Dex of 17, so his AC adjustment is only -3.  An elf has a max Dex of 19, making them superb archers.  But they also have a +1 to hit for Swords and Bows, sweetening the pot even more.  However, their Con maxes out at 17, giving them a benefit of only +3 HP per level.

Single Game Party Selection :

If you want to keep a harmonious party, you should pick NPCs close to your alignment.  By acting mercifully, honestly and selflessly, your reputation will increase, good party members will be happy and the shops will give you better prices.  Neutral party members will mutter but will not leave the party no matter how high your reputation becomes. Evil party members will leave if your reputation goes above 18.  Being cruel, dishonest and greedy will cause your reputation to not increase and evil characters will stay content.  Keep your reputation to no less than 10 to avoid higher prices, negative reaction adjustments and Flaming Fist posses and mercenary attacks.

I tend to favor characters you can acquire early over characters who are not obtainable until Chapter 4 or 5. You can pretty much clear out all the areas outside of Baldur's Gate (Chapter 5) before you have to go there to make progress with the plot.  If you want to stay strictly to the main plot, the Chapter 4 NPCs can be used as replacements without too much of a management headache.  None of the Chapter 5 NPCs are particularly impressive.

The Law-Neutrality-Chaos axis really has no importance in Baldur's Gate, only the Good-Neutral-Evil axis matters.  So if you want your reputation to start at the maximum, pick Lawful Good (12).  If you want take a path to the Dark Side, then pick Lawful or Neutral Evil (9) or Chaotic Evil (8).

Recommendations for a Good-Aligned Party :

Main Fighter PC
Imoen
Kivan
Minsc
Branwen
Dynaheir

Imoen has two purposes.  First, you acquire her at level 1, so you can shape her thief abilities as you wish.  Second, you can and should Dual Class her to a Mage when she becomes a Level 6 Thief.  By the end of the game, you can get her to a Level 9 Mage.  She should advance to a Level 6 Thief very rapidly if you explore the world, and then she will be developed as a Mage until she reaches Level 7, when she reacquires her Thief abilities.

The Thief skills that should be improved are Hide in the Shadows and Find Traps.  Hide in Shadows is the most important skill because it allows her to scout out areas for monsters and encounters, especially at night.  The 2nd Level Mage Spell Invisibility can also allow you to scout around undetected and without chance of failure for a long time, but it costs a spell slot and ends when you attack a target.  Find Traps is also useful to find and disarm traps, which appear quite frequently in the ToSC Expansion and in some of the underground and even wilderness areas.  Open locks is not as important because fighters with high strength can usually force locks and a Mage can use a Knock spell.  You never really need to use the pick pocket skill (except for one instance at the Friendly Arm Inn) and you can save and reload if you fail.

Kivan makes a great archer and a pretty good front line warrior, and you can quickly pick him up at High Hedge east of Beregost.  Ajantis is also a defensible choice and can be found at the Fishing Village north of the Friendly Arm Inn.

Minsc makes a great tank and he is located right in Nashkel.  He will require you to rescue Dynaheir at the Gnoll's Stronghold, but she is worth it as is the trip to that area.

Dynaheir is an Invoker, so damage spells like Magic Missile, Melf's Acid Arrow, Lightning Bolt and Fireball are her specialty.  She cannot summon or enchant, but there are many wands that can summon monsters.  Weirdly there are no pure Mage NPCs in Baldur's Gate.  You can find Xan at the end of Chapter 2, but he is an Enchanter and cannot cast Invocation spells like the ones I just listed, essentially the opposite of Dynaheir.  Nothing clears out a horde of xvarts or gnolls like a well-placed Fireball spell.

Branwen will join the party for the price of a Stone to Flesh scroll and is located at the Naskel Carnival.  Buy it from the temple, not the huckster next to her.  She is the only good Cleric you will find early in the game, and you need a healer.  If you really want to wait until Chapter 4, you can pick up Faldorn who is a pure Druid or even Yeslick.

Recommendations for an Evil Party :

Main Fighter PC
Imoen
Viconia
Kagain
Shar-Teel
Edwin

Safana serves as Imoen's replacement for evil parties.  She is a quite a bit more closely aligned to the moral compass of this party, but she requires a bit of travel and risk to obtain.  If you can raise her Int you can dual class her to a Mage.

Viconia can be found in Peldvale, to the east of the Friendly Arm Inn and requires killing a Flaming Fist soldier.  There is no reputation loss for killing the soldier, but you will incur a -2 reputation hit whenever you add Viconia to the party.  She is a painless way to lower your reputation if it gets too high.  Even evil parties need a healer.

Kagain is in Beregost and keeping him only requires going back to the Coast Way.  He is not the best fighter but he regenerates HP and does not need your healer's attention after resting.

Shar-Teel is located in Mutamin's Garden, which is east of the Beregost Temple.  You must best her with your best male fighter before she will join.  She makes for a great front line fighter.  If your fighter is female, you should have someone with a higher strength score than Kagain to fight her.  If your main PC is a female fighter, you can use the Girdle of Masculinity/Femininity (found in the area south of the Friendly Arm Inn) to change your sex temporarily so you can best her.  Of course you may have to wait or pay for a Remove Curse spell to unequip the stupid belt.

Edwin is probably the best mage in the game and his Amulet doubles the number of first and second level spells available to him.  Magic Missile is always useful and will damage just about anything in the game.  Unfortunately, you have to kill Dynaheir at the Gnoll's Stronghold or bring him to her to keep him.  He is a Conjurer, so he cannot use Divination spells like Identify or Clairvoyance, which is only slightly annoying.  You really won't need a Mage immediately, so you can bypass the Xzar and Montaron duo.  Xzar is a decent second choice, but as a Necromancer he does not have access to Illusion spells, most notably defensive spells like Blur and Mirror Image.   In that case, Montaron should take care of your Thiefly duties.

With a multi player game, my basic recommendations remain the same.  You need three characters who are good in melee combat.  A character with good Thief skills will make the game a lot less challenging.  At least one Cleric/Druid character is a must, and two is better.  Finally, a good Mage is a must.

Multi Classing and Dual Classing :

Dual Classing has its benefits, but it is quite the investment as you build up your second class to the level of your first class.  In Imoen's example, to get the maximum Mage level, you cannot progress past level 6 as a Thief, otherwise you will hit the XP limit.  (Canonically for sequel purposes, she changes classes after Thief level 7).

Multi Classing has its benefits, but experience is split between the classes, and therefore the characters will be weaker at the end of the game than the single class characters.  Let's consider the combinations presented by the various NPCs in the game :

Fighter/Thief
Fighter/Cleric
Fighter/Druid
Cleric/Illusionist
Cleric/Thief

The game will allow a maximum of 80,500 XP to be split into each class.  That give a Fighter/Thief a maximum level of 7/8, a Fighter/Cleric a maximum level of 7/7, a Fighter/Druid 7/8, a Cleric/Illusionist 7/7 and a Cleric/Thief 7/8.  Single classed can achieve Level 8 for Fighters, Paladins, and Rangers, Level 9 Mages and Level 10 for Thieves, Bards and Druids.  Level 9 Druids can cast Level 5 Priest Spells and Level 9 Wizards can cast Level 5 Wizard Spells.

Also, know that each class gets half the HP of a single class.  A single classed Fighter can have 1-10 HP per level.  A Fighter/Thief will have 1-5 or 1-3 HP per level.  So while a Level 8 Fighter can have up to 80 HP by the end of the game, a Fighter/Thief will only have up to 53 HP.  A Fighter/Druid would only have up to 63 HP.

The Elephant in the Room :

The above advice focuses on playing a character through Baldur's Gate and its Expansion Pack, but what about its Sequel and its Expansion Pack?  You can import your character as developed in Baldur's Gate into Baldur's Gate II: Shadows of Amn..  Only the PC gets transferred, any NPCs common to both games like Imoen and Viconia will have their own stats, items and spells for Baldur's Gate II.

Should you transfer your PC?  The benefits are that you can start your character a level above the starting level of BGII generated PCs, assuming you maxed out your XP in BG.  You also can carry over a few items from the previous game, most notably the Golden Pantaloons (or just use Cheats or a Character Editor).  You will be able to reassign your Weapon Proficiency slots and Thief Abilities.  You can keep the HP and spells you earned in BG.  You can even select a Class Kit for your character.

There are a few drawbacks to importing.  First, a character that has already Dual Classed in BG cannot select a Class Kit for his inactive class.  A Kensai to Mage in BGII is a combination that many swear by, but if you already Dual Classed in BG, it won't be available to you.  Nor can you be a Half-Orc, Sorcerer, Monk or Barbarian, races and classes that did not exist in BG.  BG was based on the basic 2nd Edition of the AD&D rules and came out in 1998.  By the year 2000, the 3rd Edition of the D&D rules had been introduced and these contributions to the tabletop game were added to BGII.  Because the Kits are not available to the low level characters in BG, they have distinct similarities to the Prestige Classes introduced in 3rd Edition.  The designers were willing to bend the rules in a 3rd Edition fashion, witness the almost-Paladin Halfling Mazzy.

Ultimately, BGII has so many opportunities to earn huge amounts of experience that you start getting achieving near godlike levels of power in Thone of Bhall.  Unless you make really poor choices in BG, whatever you do is not likely to matter much once you get into BGII.

One thing you should do is to use all the Manuals and Tomes you find in BG that raise your attribute points on yourself.  Why waste them on the NPCs?  They are not going to be transferred to BGII.  In fact, there will be some sacrifices to be made in BGII, so boosting the ability scores is a good idea.  You can't take these items with you, so use them to give yourself a permanent boost when you find them in BG.

Another thing you should do is to watch your HP increases.  Save before you level up, so if you only earn 1HP from a roll, not including Constitution bonuses, you should try again.  If you consistently get the upper end of the range of the die roll, you will be in good shape.  (Of course there is a mod that can always give you max HP on level up).  You won't have to be rolling many hit die in BGII, so you should make these early rolls count.

Avoid triple-multi classes like Fighter/Thief/Mage.  While I might not be the biggest fan of two class multi classes, a triple class multi classed character will spread out the XP too thinly.  Given a rough amount of XP available to an average party that has progressed through BG and BGII, say 4,000,000, your individual classes will still be hovering around level 12-13 by the end of Throne of Bhall.

Finally, I once brought a Fighter character through BG with an Int score of 3.  I paid for it with a great deal of frustration in BGII against a certain type of monster.  Try to keep every Ability Score in the double digits.

I do have a note of caution about the pure Fighter in BGII.  BGII notably decreased the value of Weapon Specialization.   Grand Master in BG gave you a bonus of +3 to Hit, +5 to Damage, and 3/2 extra attacks attacks per round.  Grand Master in BGII gives you a bonus of +2 to Hit, +4 to Damage, and 1/2 extra attacks attacks per round.  BGII encourages you to spread around the Weapon Proficiency points and there are so many great weapons you wish you could achieve Mastery in.  Don't overlook hammers for BGII.

Tuesday, September 15, 2015

Baldur's Gate: Shady Multiplayer Privacy Practices

Two days ago, an Anonymous individual posted this comment to my blog regarding Baldur's Gate.  It does not show up in the comments section and only appeared in my email.  His comment was so thorough that I thought I should post it in full here:

"'While there was no central matchmaking service like Battle.net integrated into the game, TCP/IP hosts were supported.'  [This is what I said in the previous blog entry, his or her comments follow]

Unfortunately, this is not correct. "Unfortunately" because Bioware integrated hidden GameSpy registration matchmaking functionality into the multiplayer module and enabled it by default for TCP/IP hosts. Yes, you read that right. If you hosted a TCP/IP game, BG would clandestinely register the game at the Gamespy servers - without your knowledge or consent. If you were hosting a TCP/IP session anyone could and would appear (unless you either disabled the functionality/otherwise blocked connections with your firewall or/password protected the game/disabled "listen to join requests").

This had to be disabled with a setting in baldur.ini (not documented, just like the hidden GameSpy functionality wasnt) as follows:

[Gamespy]
Enabled=0

That's what the strange vague reference to the Gamespy "region" setting in the README.TXT file and the Baldur's Gate Config utility refer to - configuring which region to register the hidden in-game Gamespy multiplayer matchmaking functionality with (which is based on DirectPlay functionality) in the baldur.ini file.

So yeah any time you hosted a game all the details of it were listed and advertised (unbeknownst to you most likely unless you disabled it of course) at the GameSpy matchmaking servers for all the (GameSpy) gamingverse to see...and join, if they so chose.

In fact, BG even came with the GameSpyLite client (not documented and installed without consent along with the HEAT client) so that you could find these "undocumented hidden" multiplayer games (through Gamespy/HEAT).

So while its true there is no "in-game" CLIENT matchmaking service, there IS an "in-game" SERVER matching-making service - the undocumented hidden auto-enabled Gamespy server registration. And it was easy enough to find any/one of these games via the GameSpyLite client (or any other GameSpy client etc) which one could Alt-Tab to if needed to find a game.

In fact, when this clear violation of user privacy/connectivity control (not to mention lack of transparency and forced third party software install with no user knowledge or consent) was later made known to BioWare circa 1999/2000, they at first officially denied it, then later officially claimed that "privacy and security was not a concern when the game was first published back in 1998".

So there you have it, the scandalous sordid history of BG's in-game hidden undocumented Gamespy server registration for hosted TCP/IP games.

FWIW, some people find that disabling the (now useless due to GameSpy defunctness) hidden Gamespy server registration for hosts/servers fixes direct connection issues with clients
."


This is rather unusual for this time.  The days of TAGES and SecuROM and copy protection that would install rootkits on your PC without your knowledge or consent were not yet upon us.  Big Data in the form of Google services and all its competitors was still in the future.  Windows 10 is always sending some kind of data to Microsoft but what Baldur's Gate did is comparatively tame.  

I never used the multiplayer back in the day, I always assumed that you used it solely by typing in the IP address of the host computer if not trying to connect via a LAN.  That is what the manual says and that is how the interface works.  A GameSpy client could save you the trouble of finding IPs hosting games and typing the IP in.  But was it always present?  Consider the following version list for Baldur's Gate :

        1.0.4309  -  Full Release - Baldur's Gate
        1.1.4312  -  Beta Patch - Baldur's Gate
        1.1.4315  -  Release Patch and Product Revision - Baldur's Gate
        1.1.4320  -  DirectX 8.0 Multiplayer Fix - Baldur's Gate (executable only)

        1.3.5508  -  Full Release - Tales of the Sword Coast
        1.3.5512  -  Release Patch and Product Revision - Tales of the Sword Coast
        1.3.5521  -  DirectX 8.0 Multiplayer Fix - Tales of the Sword Coast (executable only)

The 1.1.4315 version's readme is where they first mention Gamespy.  My DVD-ROM has 1.1.4315 and it presumably installs the Gamespy service.  It contains the Gamespy Lite and HEAT applications.  The readme for 1.1.4315 states that "Gamespy software is automatically installed" and "Region:  This setting is used for Gamespy connections".  My Tales of the Sword Coast CD also has the Gamespy Lite and HEAT applications.

My original version, 1.0.4309, does not appear to have any Gamespy connection at first.  It isn't mentioned in the manual, the readme and the GameSpy Lite or HEAT applications are not present.   However, I have the UK release, not the US release, and the GameSpy logo is on the back of every US big box I have seen.  It does not appear to be on the UK big boxes.  When I do a straight 5CD install, no patches, no Expansion Pack, the Region setting is present in the configuration program and the is an entry for the Gamespy region is in the Baldur.ini file. Therefore, it appears to be present from the day the game went Gold.  I am not sure there are any software differences between the US and the UK launch versions outside the readme file.

Now, I am sure that someone must have wondered how strangers were joining their multiplayer servers when they had not advertised that they were hosting outside their chosen circle of friends.  When people said I saw your game on GameSpy, the next thing that the person running the server must have asked is "How does GameSpy know I am running a multiplayer BG game?"  A Yahoo Search later (remember, this is the late '90s) and I'm sure most people could figure out that their information was being communicated to GameSpy in some manner. Not that this should excuse Bioware of deceptive, security compromising practices.  Fortunately, you no longer have to worry about this since GameSpy has been shut down since 2013 and its Baldur's Gate matchmaking servers were probably shut down years earlier.  You can still host your own multiplayer game of Baldur's Gate with your friends and disable the GameSpy services using the ini entry above to ensure that you can receive your maximum performance and bandwidth.  

Saturday, September 12, 2015

AD&D Done Right : Baldur's Gate

Title Screen & Main Menu
In 1998, Bioware released Baldur's Gate, a PC RPG that would have tremendous impact on RPGs of the future.  PC RPGs were coming out of the doldrums of the mid-90s, and along with The Elder Scrolls - Daggerfall and Fallout, Baldur's Gate would forge new ways of playing RPGs.  The older CRPG series, Might and Magic, Wizardry and Ultima were no longer what they once were.  New blood was being pumped into the genre.

Character Creation
Interestingly, there is quite the technological progression at work here among these three games.  Daggerfall, released on August 31, 1996, was strictly a DOS game.  It only supported 320x200 VGA graphics with 8-bit color and separate choices for music and sound effects/speech.  Fallout, released on September 30, 1997, was a game that had separate DOS and Windows 95 executables.  It supported 640x480 SVGA graphics with 8-bit color and used all digital sound and music.  Inevitably it was ported to the Macintosh platform.  When Baldur's Gate was released on December 21, 1998, DOS was no longer receiving much support and the game ran only in Windows 95 and 98 and (unofficially) NT 4.0.  While Baldur's Gate is still using a 640x480 resolution, it requires 16/24/32-bit color support and even supports EAX extensions to DirectSound 3D.  Baldur's Gate also received the obligatory Mac port.

Starting Out in Candlekeep
Baldur's Gate was a huge game for its time.   It came on five CDs, and unlike the FMV games of the day, those CDs were packed with data you could interact with instead of just watch.  A full installation of the game with its Expansion Pack weighed in at 2.5GB.  This was during a time when many PCs had hard drives with sizes from 6-10GB.  Unless you had a substantial portion of your free space to devote to this game, you had to engage in disc swapping.  Since the game pretty much installed the contents of the first CD, that left you with four CDs to swap.  Fortunately, the content on the discs roughly mirrors the player's progression in the game.  Moreover, the content of the discs was modular.  Everything outside the first disc was optional, so you could save space by not installing the less-vital areas on your hard drive and letting the movies stream off the CDs.

Area Map
While Daggerfall's huge world was generated procedurally with 3-D graphics and Fallout's maps were primarily tile-designed based, Baldur's Gate's areas looked much more unique.  The game uses 2-D artwork throughout and the maps require a lot of memory to load.  Unless you are using a very marginal system, they do not take an unreasonable time to load. Like Fallout, Baldur's Gate uses a top down view but the perspective is not isometric (except in certain areas) but more of a bird's eye view like Ultima VII.  The game's engine will show your character even if he would otherwise be blocked by background objects.  It also utilizes the fog of war which hides portions of the area you have not explored and dims those areas where your characters are not present.

World Map (portion)
Aurally, the game has a terrific score.  The music changes from bombastic in the title screen and the city of Baldur's Gate, to softly domestic for the towns, alternately heroic and grand for the wilderness and subdued and ominous for dungeons.  Sound effects and ambient sounds like hawk cries and town chatter help sell the game world.  EAX, if supported by your hardware and software allows for effects, such as muffling in the mines and echoing in a grand hall.  When day transitions to night and vice versa, frequently the music will change to suit the time of day.

Character Journal
The game's world is taken from the Forgotten Realms AD&D setting.  The Forgotten Realms is essentially the most typical high fantasy AD&D 1st and 2nd campaign world.  It also has a very rich development since it was introduced in 1988 with sourcebooks, adventure modules and novels fleshing out the world.  The developers of Bioware decided to use this campaign setting to avoid having to construct a newly detailed world.  They did place their story in the lesser developed area of the Sword Coast in order that their stories would not be butting heads with ten years of continuous world-building and characters like Drizzt and Elminster at every step (even though both make cameos in the game).

Character Record
While some characterize the story as weak, I believe it is one of the more interesting of any AD&D game. Instead of presenting you with an Epic Quest right from the start, instead you are presented with a series of smaller quests.  This makes more sense for first level characters.  After you leave Candlekeep and find some companions, your first major quest in the storyline is to figure out what is going on in the Nashkel Mines and what is the cause of the iron plague.  Then you need to infiltrate the Bandit Camp.  Once the bandits have been pacified, you must then try to solve the mystery of the iron shortage.  Finally, you get to enter the City of Baldur's Gate to discover who is behind the Iron Throne.  Until you obtain magical weapons, the iron plague can cause your characters non-magical metal weapons to break randomly.  Parallel to these chapter goals, you are struggling to realize your true destiny and figure out why assassins keep dogging your trail.  Your main character acquires minor powers in connection to his ethical alignment (good, neutral, evil) as you learn about your true heritage.  The game is appropriately epic and sets you up for the sequel, into which you get to import your character.

Inventory
The AD&D 2nd Edition ruleset is adhered to fairly strictly in this game.  The Gold Box games used the 1st Edition ruleset and they have been acknowledged as the highlight of AD&D CRPGs until Baldur's Gate came along.  Both rulesets are substantially similar and someone used to the 1st Edition rules will have no trouble adapting to the 2nd Edition rules used in this game.  The ability scores, character classes and weapons, spells and items, the basics are all here.  In some ways the game rules are simplified, there are no hirelings, coins other than gold and weapon specialization is simplified.  Unfortunately, healing your characters is a bit tedious because there is no healing spells between 1st level Cure Light Wounds and 4th level Cure Serious Wounds as a result of maintaining to canonical AD&D.  However, the 2nd level spell Slow Poison will cure rather than merely delay poison, a merciful boon to the players.

Attacked inside a house
By licensing the AD&D ruleset, the developers already had a tried and tested RPG system to use.  They could focus less on balancing some new system and concentrate more on content.  While there had been several AD&D games released between the Gold Box and Baldur's Gate, all were either forgettable (Blood & Magic), mediocre (Menzoberranzan) or just downright garbage (Descent to Undermountain).  Baldur's Gate did justice to the table top game and demonstrated that it could be adapted to a more real-time style of gameplay.

Chapter One Introduction
NPC development took a big stride in this game.  There are many good, neutral and evil NPCs and all have their strengths and weaknesses.  The NPCs have large character portraits, voice acting for various lines and can be encountered across the world.  Each has a little backstory and some are paired with other characters.  You can't have one without the other unless one dies (officially anyway).  Some NPCs have a minor quest or task you need to complete to obtain or keep them.  Good NPCs tend not to work well with Evil NPCs in the same party.  Some will fight to the death if both are kept too long in the party, especially if the main character does not have a high charisma.  While there are no PC-NPC romances or lengthy NPC quests in the official game, the developers were beginning to show that NPCs were more than just a list of stats and equipment. Unlike the Gold Box series or Fallout, you maintain complete control over all NPCs, unless charmed, confused or turned hostile.

Aftermath of an ambush and a new party member
The interface in this game is easy to grasp.  The mouse can control everything, but most actions can be executed with hotkeys and most hotkeys can be reassigned.  Every spell can be assigned to its own hotkey if you wish.  There is a very useful Quick Save and Quick Load function, but be careful when you use the latter (see below).  Inventory management is drag and drop. The action occurs in the main window surrounded on three sides by borders.  This was necessary considering the game was targeting fast Pentium MMX processors.  The interface is very responsive with buttons and sliders that give an audible click. Helpful popups are available.  You can set the game to automatically pause when an event like a character death occurs.  You can also make the game show the hit and damage rolls, so if you are constantly missing your target you know why.  The main window scrolling speed should be increased to make for a faster experience.  Additionally, except for automatic cutscenes, the A.I. speed should be updated to 35 or 40.  The speed at which the characters react is so much more fluid at the faster speed.  While inventory management is a bit of a chore due to the lack of containers and some items that should be stackable, it is nothing compared to the cumbersome management system of Pool of Radiance and other Gold Box games.  The game can be played in a Window with the Windows desktop in the background, but I prefer full screen.  A lot of thought was put into this interface and it shows.

Aftermath of a battle, don't let this happen to you
Combat is another area which received some needed attention.  When you fight, your characters attack automatically how you indicate.  You can click on the enemy they wish to attack or leave it up to the A.I., which can be customized, to attack as it thinks it should.  You don't have to direct every swing of your character's sword.  Spells are easy to cast and target.  Fireball is a particular Godsend in this game, it can clear out packs of enemies.  Lighning Bolt, however, is usually as much of a danger to your party as to the enemy because of how it ricochets off walls.  Tactics, positioning and scouting out areas with a hidden thief are very important.  You can direct summoned monsters as you would NPCs.  Potions and wands can be used via the quick items bar.  You can pause the game to direct your characters' actions, but the game will not stay paused if you enter the inventory screen.  While this may take liberties with the AD&D combat rules, it is a welcome change from the Gold Box games where every battle requires your constant attention or Temple of Elemental Evil where the fighting looks unnatural because characters act only when you tell them to act.

Baldur's Gate supported cooperative multiplayer.  While there was no central matchmaking service like Battle.net integrated into the game, TCP/IP hosts were supported.  This allows the game to be played over the modern Internet today with comparative ease over games that just supported a serial null-modem, modem or IPX network connection.  Baldur's Gate allows the players to go through the game with each player controlling his or her own character, up to six characters can join a game at a time.  The first player would act as the leader and would be the central character in the game.  If he died, you would have to reload.  Because the game had to pause for dialogue and gold was always pooled in the party, the leader could control who could do what with a permissions control.  If you do not like the NPCs available in the single player game, by playing multiplayer alone you can generate all six characters to your liking.

One of the more praiseworthy elements of Baldur's Gate is the amount of customization offered.  For any created character, you can assign a portrait and voice samples to him or her from any jpg and wav file that meets the engine's specifications.  You can also generate A.I. scripts to control the character in combat or use the ones the game provides.  However, when creating a new character, you cannot simply set all your ability scores to 18s as you can with the Gold Box and Eye of the Beholder series.  You have to add and subtract points, and it is easy to spend half an hour trying to a high total number and exceptional strength at the character creation screen.  While the game does roll for your gold, it starts you off with maximum HP for the first level characters you create, but leveling up will give a random HP increase according to the class hit die.  You can import and export characters, and they will come with their experience and equipment intact.  There is also a built-in cheat system.

The game world is fleshed out in a variety of ways.  The first way is with the material included in the box.  The game comes with a large bound book called Volo's Guide to the Realms.  This book acts as the game manual, gives an overview of the Forgotten Realms and the Sword Coast and describes the relevant AD&D rules.  The book itself is 156 pages and bound with glue and uses a parchment style of printing, brown text on cream-colored paper.  There is also a double-sided poster.  The first side gives you a map of the Sword Coast, similar to the in-game map but with more detail and color.  The reverse side gives you a map of Baldur's Gate indicating where various locations are within the city.  This was very useful in the days before sites like GameBanshee laid them out using screenshots from the game itself.  The City of Baldur's Gate itself is absolutely huge, with nine full areas and teeming with quests.

In addition to the material in the box, you can read books and item descriptions.  There is a good amount of dialog and some encounters can be solved without violence.  Your character keeps a journal describing what was said and what he or she did.  The entries will be different depending on the moral alignment of your character.  All this helps to bring life to the game world.  Enemies are standard early AD&D fare.  You have kobolds, xvarts and gibberlings, Hobgoblins, Flinds  and Gnolls, Bandits and Mercenaries, Green Slimes, Gray Oozes and Ochre Jellies, Skeletons, Zombies, Ghouls and Ghasts, Ogres and Half-Ogres, Sirens and Basiliks, Skeleton Warriors and Battle Horrors, Spiders, Wolves and Bears, and others.  This gives a sufficient variety of enemies to fight, although strangely enough Orcs are absent.  You will encounter plenty of assassins and evil NPC parties to kill.  Do not expect enemies which would be inappropriate for characters at level 7 by the end of the game.

Baldur's Gate is not beyond criticism.  Most of the wilderness areas are vast but comparatively empty of set encounters.  Many of the NPC quests are simple fetch and return or kill the foozle quests.  Unlike later games, your journal does not list the assigned quests and identifies completed quests, so it can be a bit of a chore to figure out which ones you have completed if your memory is lacking.  There is a lot of combat in this game, but the variety of the combat is a bit limited.  Bows feel very overpowered, especially when Hobgoblins employ them against your party as they are wont to do early in the game.  When you travel across areas on the map, you may be ambushed.  If your party is still at the lower levels and you have Hobgoblins or Black Talon Mercenaries shooting fire arrows at you, be prepared to reload your game.  Charm and confusion spells are incredibly annoying if your party gets hit by one and they always seem to work when cast against you.

Traveling across non-Town land areas is very tedious due to the fog of war and the number of random encounters you can trigger.  Every map has trigger points where monsters will spawn.  You have to carefully send out a scout because a single character can easily be overwhelmed.  Resurrecting characters is an expense because no PC or NPC will ever be able to cast the Raise Dead spell without a scroll except for a Druid.  Also, if characters (or enemies) get killed with a critical hit, they will explode into chunks and that character is dead permanently at the default difficulty level.  But before you think you can get away with reloading, the developers devised a way to discourage that.  If you reload in an area with spawning enemies, more and more enemies will be present as you keep reloading the saved game.

Good and Evil bears some criticism in how it is handled.  Despite choosing your alignment for the main character, you cannot change it no matter how contrary to it you may act.  You can be a good character and steal all you want from locked chests and drawers so long as you do not get caught and kill the now-hostile witnesses and guards.  Playing an evil character is discouraged because the rewards for completing quests in the "evil" fashion are exceptionally stingy compared to completing quests in the "good" fashion.  Being "good" increases your reputation, which leads to lower selling prices in the shops.  Also, merchants will pay more for your goods.  Even evil parties would enjoy the benefit of lower prices, but if your reputation gets too high, then the evil NPCs will leave your party.  If you become too evil, steal too often, kill too many innocents, then the game will send parties or mercenaries or guards against you that will likely kill you.

The Expansion Pack, Tales of the Sword Coast, mainly offers more of the same.  It does address a perceived shortcoming in the original game by adding a traditional, multi-level dungeon for you to explore.  It also adds a few new areas and items and three major quests.  However, perhaps its most useful feature is that it raises the XP cap from 89,000 to 161,000.  If you were to go through the the basic game and begin to do quests outside the main storyline, your main character will easily earn well in excess of 89,000 XP.  If you do not let your NPCs die or change them too often, they will also be maxed out.  The Expansion Pack allows you to gain one more level on average for each character which you otherwise would not have been able to appreciate.  Finally, you can increase the number of character nodes eight-fold to improve pathfinding.  This is very important for the few tight maze-like maps in the game.

Thanks to the success of Baldur's Gate and other Infinity Engine games, there is a world of modifications available for Baldur's Gate.  New characters, items, spells, quests, expansion packs, you name it.  There While other Infinity Engine games may have more mods, the game that started it all has plenty of extra free content available for it.  If you do not want to buy Baldur's Gate Enhanced Edition, you can still get the game up to more modern standards thanks to a widescreen patch.  However, while widescreen patches will allow you to see more of the game world, they will make your characters smaller and smaller.  Although Baldur's Gate is not a bug-ridden minefield after the official patches, there are several fan patches to fix outstanding bugs.  There are Infinity Engine viewers where you can look at the game assets in a convenient way and extract them.  The game has a screenshot feature that works most of the time, just press Print Screen and it will save to bmp in 24-bit color.  That is how I generated the screenshots in this blog entry.

If you are playing Baldur's Gate on hardware that it was current when it shipped, make sure you are using a 5-CD version (+1 CD for the Expansion Pack).  It was also released on DVD-ROM before the Expansion Pack was released and is patched and supports the standard five languages, that one is good too.  Avoid the 3-CD versions, sometimes called "The Original Saga".  They saved disc space by compressing the large area files.  This may be good for saving space but bad for performance on this hardware.  I also read somewhere several years ago that this version suffered from random crashes when loading new areas.  The best installation for those with the CDs is to do a full install of the whole game, then fully install the expansion and finally apply the 5512 patch.  Do not apply later official patches, they are not necessary if you are not using DirectX 8.0 or higher and multiplayer.  If you want to use unofficial patches, there are sites which can direct you further.

Sunday, February 22, 2015

Windows 9x and CD Images

Virtually all Windows 9x games come on CDs and expect to be installed from CDs and most will only run with one of the game's CD in the drive.  Several Windows 9x games come on multiple CDs, Baldur's Gate  and its expansion pack take 6 CDs, Myst III requires 4, Tex Murphy : Overseer uses 5, Sanitarium comes on 3 and there are too many 2 CD games to count.  Even an early DVD conversion like Wing Commander IV needs 2 DVDs.

Optical drives are noisy, require physical effort to change CDs and require you to keep a stack of breakable, scratchable CDs near your computer.  Because they have moving parts, drive lifespans are limited.  Disk images have none of these disadvantages.  They can be loaded in with virtual CD drive software like Daemon Tools and run invisibly to the program.

However, disk images are fairly large and a library of CD images can easily overwhelm the limited, reliable disk space of a Windows 98SE system.  Windows 9x is generally not reliable when dealing with hard disks greater than 128GB in size.  Windows 9x in general was designed in the days of parallel IDE ports and 28-LBA (at best).  Support for more than 128GB requires third party partitioning tools, and drivers to implement 48-bit LBA and probably SATA.  Also, if you are running a motherboard based on the popular Intel i440BX chipset or its precedessors and close relatives, you will need a BIOS extension ROM to add 48-bit LBA support.  Even with all this, it is not advisable to install Windows 9x on a drive greater than 128GB in size.

One way to deal with the disk image problem is to host the images remotely.  In the days of Windows XP, this was easy enough to do via Network Neighborhood.  You should access a Windows XP computer from a Windows 9x computer or vice versa.  Unfortunately, by Windows 7, the communication via this method was strictly one way : you could send and receive data from the Windows 7 or 8 computer to the Windows 9x computer, but Windows 9x would be unable to access the data on a Windows 7 or 8/8.1 computer.  I assume Windows Vista acts like 7 and 8/8.1 in the regard.  This effectively closes off the vast amount of storage available to the Windows 9x system.

All is not lost.  What you cannot access via Network Neighborhood you can access by Mapping a Network Drive in Windows 9x.  In Windows' 9x Windows Explorer, you will find the option.  In order to Map the Network Drive, you will need to configure the following :

1.  First, make sure both your computers are connected to the network and are on the same Workgroup.  Typically the default Workgroup's name is Workgroup.

2.  Second, you need to know the name of the Windows 7/8 computer or its static IP address.

3.  You will need to share a folder containing your CD images on your Windows 7/8 computer.  You should add Everyone to the group or user names that will have permission to view the shared folder.  You also should limit Everyone's permissions to List folder contents and Read.  There is no reason for Full control,  Modify or Write access for a folder containing only CD Images.

4.  Let's say the name of your shared folder is CD Images and the System Name is WINDOWS8PC.  In the Path box under Windows 9x's Map Network Drive, you would enter \\WINDOWS8PC\CD Images.  Set a drive letter that will not conflict with your physical and virtual drives and that should be all you need to now access your CD images without having to copy them to your Windows 9x hard drive.

As far as virtual drive tools go, I have always preferred Daemon Tools.  The last version of Daemon Tools with Windows 9x support was 3.4.7.  It is easy enough to find on oldapps.com.  This version of Daemon Tools is sufficiently advanced to emulate most CD protections like Safedisc, SecuROM, Laserlock, and RPMS.  It can mount four virtual CD drives.  Unfortunately, it does not allow you to create a swaplist which you can switch disc images with the press of a key combination.  Obviously, if you need to run a DOS game in real mode DOS, virtual drive tools will not work.

One limitation of using CD disc images instead of the physical CDs is that Redbook CD audio support may be hit or miss.  Daemon Tools is a bit tricky to work with when it comes to CD audio.  The easiest way to handle it is to set the emulated drive to D: and any physical drives to something after D:.

Saturday, October 11, 2014

Three Flight Simulator Joysticks for DOS

I want to compare and contrast the three DOS-era joysticks I own suitable for DOS Flight Simulators, Racing Simulators and the like.

1.  CH Flightstick Pro

One of the first modern joysticks, this almost-completely ambidextrous joystick has four buttons, a 4-position hat switch, two trims and a throttle wheel.  The throttle wheel acts as the Y-axis of the second joystick.  The 4-position hat switch is implemented as button combinations.  Hat up is buttons 1,2 3 & 4, Hat down is buttons 1, 2 & 3, Hat right is buttons 1, 2 & 4 and Hat left is buttons 1 & 2.  Due to this, the individual buttons will not register simultaneous button presses.  Button 1 will have priority over buttons 2, 3 and 4, button 2 will have priority over buttons 3 and 4 and button 3 will have priority over button 4.


This joystick is by far the "loosest" of the three.  The stick offers little resistance and it seems you can move the stick much further than you would think.  With my joystick the trims frequently get dislodged, causing things to go haywire.  I put electrical tape over them to keep them in place.

To open the joystick, you must dislodge all four of the rubber feet around the edges to get at the screws.  This is annoying because you can scrape the sticky stuff holding the rubber feet to the bottom off.

The stick's design has been very popular over the years, and the basic design is still being sold today in a USB form.

2.  IBM 76H1571 Joystick

Despite IBM introducing the PC joystick interface in 1981, I believe this may be the only IBM-branded joystick released for the PC-compatible platform that is suitable to hold in your hand.  It was made for IBM by Anko Electronic Co., Ltd., and was branded for its Aptiva line of computers.  Its for right handed people only.


It has four buttons, a 4-position hat switch, two trims, a throttle wheel and a pair of two position switches.  This joystick is fully Thrustmaster Flight Control System compatible, where the hat switches represent resistance values of 0.2 (Up), 20 (Left), 40 (Right), 60 (Down), 82 (Center) kOhms on the Y-axis of the second joystick.

The left switch, when set to the right position, enables Thrustmaster compatibility.  When set to the left position, it disables the hat switch and allows the throttle wheel to function on the Y-axis of the second joystick.  It does not provide full CH Flightstick Pro compatibility because the HAT switch is disabled.

The right switch, when set to the left position, enables rapid fire action for button 1 only.  The right position is normal button operation.

Unlike the other two joysticks, it has suction cups on the base.  It also has steel weights screwed into the inside of the base to give it extra weight.  This stick has the stiffest feel and the travel distance feels short.  The screws for opening the stick are all completely visible.

As I do not own a true Thrustmaster joystick, I do not know how well the build quality or stick and button action compare to the real thing.  Even still, it fills a hole in my joystick collection.

3.  Microsoft Sidewinder 3D Pro

Microsoft's first joystick shows a transition between DOS-compatible hardware and Windows-feature hardware.  It is more-lefty friendly than the IBM stick, but despite its shape it is not truly ambidextrous.  It has four buttons and a hat switch on the stick, a throttle wheel and the stick can be twisted for a X-axis.  It has four buttons on the base and a mode switch on the bottom of the base with two positions.


The CH and IBM joysticks use traditional potentiometers to indicate stick movement and need the trim controls.  The Microsoft joystick uses optical sensors to determine stick movement and converts the data into an analog resistance value.  There is also a "digital" mode which allows for direct optical support, ultra precise input and the use of the four buttons on the base, but the driver must have explicit support for it with DOS.  The four extra buttons on the base of the stick also require specific driver support.  The Windows drivers should allow for full game support.  As far as I know, only Mechwarrior 2 for DOS supports the "digital" mode of this stick.  Descent does not and Descent 2 does only with its Windows version.

Unfortunately, this stick may only be compatible in its digital mode with Windows 95 or 98.  I have read that it can be tricky to get working in ME, 2000 or XP.  You may want to try and build a gamepad to USB converter.

The mode switch, when set to the 1 position, enables full CH Flightstick Pro compatibility.  When set to the 2 position, it enables full Thrustmaster FCS compatibility.  Due to the way the Hat switch works in these modes, the hat switch is only a four way switch.  (This also applies to the CH and IBM sticks).  The twisting function is recognized in either mode, so it will register as input on the 2nd joystick's x-axis.

There is one notable flaw in the design, the throttle control.  The throttle control rubs plastic against plastic and is particularly open to attracting dust and debris through the slot.  There is grease that will need to be cleaned out and replaced.  My stick's throttle control is very stiff, some lubricant can help.

The lack of trims is both a blessing and a curse.  The blessing is that your joysticks will not drift because the trims get adjusted.  The curse is that you may not be able to get a perfect center for your game.  Depending on how sensitive your game is, it may throw you the game's calibration off.

To open the stick requires not only removing the feet on the "tips" of the joystick but also a screw covered by the Microsoft label on the bottom.  There are weights on each side of the stick for balance.  One optical sensor handles all four joystick axes.

One thing to note is that this stick's DA-15 connector does not have all the pins on it.  Pins 5, 8, 9, 12 and 15 are not  supposed to be present on the connector.  If you see a stick for sale with these pins missing, do not let it faze you.

The Microsoft default drivers for this stick in Windows are very speed sensitive.  This stick was released during the Pentium era, but apparently the designers did not future proof their drivers because the stick will go haywire with a Pentium III.  This is despite the optical encoders having the precision of a mouse.  Fortunately there are custom drivers that will allow you to get an adjustable speed setting, to a point.

Wednesday, July 30, 2014

Another PlayStation to PC Port - Resident Evil

Title Screen
Resident Evil for the PC came as something as a rage for PC ports of Sony PlayStation games.  Unusually for its time, it required a 3D accelerator.  Like Tomb Raider, it was originally released for the PlayStation and Sega Saturn.

In-game Screenshot - Direct3D 640x480
The PC port is memorable because it is the only English version with fully uncensored FMVs.  All non-Japanese PlayStation versions have an opening FMV edited and in B&W, and the FMV where the zombie is shown eating Joseph is also cut to remove Joseph's severed head falling to the floor.  In the PC port, the intro FMV is in full color, and both FMVs are uncut.  However, if you are seeking a pristine original PlayStation experience, note that in Jill's game there is unlimited saving (no typewriter ribbons are available) and Chris finds three typewriter ribbons in the PC version as opposed to two in the PlayStation version each time he finds them.

The PC port requires Windows 95 or better, and all sound is digitized.  Input will work with any gamepad that can report the number of buttons to windows and the buttons are freely assignable.  Since almost the entire game can be installed to a hard drive, loading times can be kept to the absolute minimum.

Polygon Detail Comparison - Direct3D 320x240
The PC port supports Direct 3D and requires that the accelerator support DirectX 3.0.  The selections for the Voodoo cards only work with a Voodoo Graphics card like the Diamond Monster Sound 3D and Orchid Righteous 3D, similar to Tomb Raider.  There is also a selection for the Matrox Mystique and three Rendition cards, the Canopus Total 3D, Creative 3D Blaster and the Intergraph Intense 3D.  Ironically, it is the Rendition selections that work with later Voodoo cards and other 3D accelerators from nVidia and ATi.  There was a separately released version with support for PowerVR cards in the U.K. and Japan.  It supports an 800x600 resolution and doesn't suffer from speed issues like the more common non-PowerVR version.  Here is a video comparing the Direct3D and PowerVR versions with the (emulated) PlayStation version : https://www.youtube.com/watch?v=u2LVfam6w1o&index=8&list=PL2DC6912FD577F199

Polygon Detail Comparison - Direct3D 640x480
Graphics resolutions of 320x240 and 640x480 are supported, and can be run only in full-screen mode with the U.S. CD.  Regardless of selected resolution, all the 2-D backgrounds and FMVs use an effective 320x240 resolution.  Only the 3D polygon graphics will show quality improvements.  There is a European patch that will allow systems without a supported 3D accelerator to play the game, but the results are neither pretty nor fast at the high resolution on 1997-1998-vintage systems.  However, it will allow you to run the game in a window. It supports 320x240 and 640x480 in either full screen or window mode, or 640x480 full screen with 320x240 resolution polygons.  There is also a Voodoo 2 patch, but I am not sure if it is necessary to use it at all, unless you have a Voodoo 2 card.

Polygon Detail Comparison - Software 640x480
This game was intended for Pentium CPUs, and can have two speed issues with machines that are in the fast Pentium II range or better.  First, the characters may act in the cutscenes too fast and lose sync with their dialog.  The solution is to slow your machine down or simply put up with it.  There is a slowdown program called Throttle/Winthrottle which works for me.  Throttle is for DOS/Win9x, WinThrottle is for NT/2K/XP.  It is available here : http://www.oldskool.org/pc/throttle/DOS/

The second issue is a crash bug just after Jill encounters the first zombie.  When she returns to Barry, the game will freeze after Barry kills the zombie.  One way around this is to use a slowdown utility like Throttle/Winthrottle.  Another may be this method : http://www.vogons.org/viewtopic.php?f=8&t=9978&hilit=resident+evil+crash.  I have a save game that I found a long time ago where Jill saves just after the next cutscene with Barry (in the main hall).

For my Win 9x system, which is a Pentium III 600E, I set the CPU speed to 400MHz by using a 66MHz FSB.  (6 x 66 = 400).  Then I use Throttle to reduce the speed by 50%, and the cutscenes are in sync and no crash bug.

Resident Evil will save screenshots by pressing the Print Screen key to its own directory, no need to paste in Paint with Ctrl + V unless you are using a software mode.

Saturday, October 19, 2013

Windows 98 Tips #1

Accessing DOS

Microsoft Windows 95 and 98 use Real Mode DOS as a boot loader.  Windows provides all the services a well-behaved DOS program needs to function.  It also allows DOS programs to directly access hardware.  However, certain functionality found in the GUI Windows environment is lost if you must use Real Mode MS-DOS unless you know how to restore it.  For games this is chiefly mouse and CD-ROM support.  You may or may not need sound card drivers, depending on the sound card you intend to use for DOS.

Many DOS games will not play at all, or optimally, when run under any Windows 9x system.  See here for Microsoft's list : http://www.vogons.org/viewtopic.php?f=5&t=761&p=28650&hilit=Microsoft+knowledge#p28650
You will need to run them in MS-DOS Mode.  In Windows 98SE, there are four ways by which Microsoft will allow you to use the DOS command line interface.

Command Propmpt Application - This provides the DOS command line interface in a window.  It may look like DOS, especially if you set it to full screen, but it is really Windows allowing you to input commands using the DOS command line prompt.  It is useful if you are trying to run an executable with variables, but it will not otherwise make your DOS game more compatible with Windows.  It does not support Very Long Filenames (none of these methods do), and it will truncate them to the first six characters followed by a ~1, then the extension.   It can also be opened by the file DOSPRMT.PIF in the WINDOWS directory.

Restart in MS-DOS Mode - This will give you a basic, real-mode DOS environment.  By default, it acts like the only thing loaded is your CONFIG.SYS file is HIMEM.SYS and DOS=HIGH.  If you have a Sound Blaster card installed, it will set the SET BLASTER environment variable in DOS.  It is found on the start menu as a shut down option, but can also be activated with the Exit to Dos.PIF in the Windows directory.  About the only thing you may be able to load without games complaining about too little Conventional Memory is the Cutemouse driver.  However, it will allow games that refuse to run with EMM386.EXE to work.  Windows 98 does not provide a mouse driver for real-mode DOS.  

MS-DOS Mode for Games - This .PIF, found in the Windows file, will give you all the benefits of Restart in MS-DOS Mode plus it will load EMM386.EXE with the NOEMS option, giving you access to the Upper Memory Area (UMA).  The CONFIG.SYS file will load DOS=HIGH,UMB instead.  Unfortunately, unlike Restart in MS-DOS Mode, it will cause your system to reboot.  This will allow you load device drivers and TSR programs in Upper Memory to conserve precious Conventional Memory for DOS games.  XMS Memory will be available, but more games used EMS Memory.  

MS-DOS Mode for Games with XMS and EMS Support -  This .PIF, found in the Windows file, will give you all the benefits of MS-DOS Mode for Games and it will by default allow for 4MB of EMS Memory.  EMS was the most popular method to access memory above 640KB and programs used it until 32-bit DOS Extenders became popular in 1994.  Many games supporting Sound Blaster digitized sound and most CD-ROM titles from the 1991-1993 either required it or supported it.  The actual provision of EMS will require 64KB that could otherwise be used as an Upper Memory Block, and this becomes extremely important when loading the Windows 98 default MS-DOS CD-ROM driver, OAKCDROM.SYS.

You can edit Exit to DOS, MS-DOS Mode for Games and MS-DOS Mode for Games with XMS and EMS Support.  You need to right click on the icon, click on properties on the drop-down menu, click on the Program tab and click on the Advanced button.  The next Window will give you boxes to change the lines of CONFIG.SYS and AUTOEXEC.BAT.  Remove the word REM from the lines you wish and add new parameters.  Note that in Windows 98SE, the path where OAKCDROM.SYS is indicated is incorrect.  

CD-ROM and Upper Memory - If you have an IDE/ATAPI CD-ROM or DVD-ROM drive, Windows 98 has a device driver called OAKCDROM.SYS which will mount the drive as a CD-ROM drive in Real Mode DOS.  When Windows 98SE is installed, you can find the file on the startup disk or if you make a recovery disk.  It is a bloated driver and requires 35K of precious memory, so I highly advise using VIDE-CCD.SYS instead, which only requires 5K of memory.  The CD-ROM driver is loaded in CONFIG.SYS in one of the following ways :

DEVICE=C:\WINDOWS\COMMAND\EBD\OAKCDROM.SYS [VIDE-CCD.SYS] /D:MSCD001 (if no UMBs are available)
DEVICEHIGH=C:\WINDOWS\COMMAND\EBD\OAKCDROM.SYS [VIDE-CCD.SYS] /D:MSCD001 (if UMBs are available)

However, loading the device driver is not enough.  For DOS to access it as a disk drive, the MSCDEX.EXE TSR must be loaded.  It is loaded in your AUTOEXEC.BAT file like this :

C:\WINDOWS\COMMAND\MSCDEX.EXE /D:MSCD001

If you have access to UMBs, you can place LH before the path to load MSCDEX in a UMB.  

OAKCDROM.SYS (35K) and MSCDEX.EXE (27K) are by far the largest programs you will ordinarily load into the Upper Memory Area.  By default, Windows will provide approximately 96K of Upper Memory in the MS-DOS Mode for Games mode, but only 32K of Upper Memory in the MS-DOS Mode for Games with XMS and EMS Support mode.  (This is another reason for you to replace OAKCDROM.SYS.)  If you have a CD-ROM game and it needs EMS Memory, try running it in Windows first.

File Transfers using Network Neighborhood

So having Windows installed on your vintage machine, how can you transfer files from a more modern system?  There are many methods.  Some of the most basic, but most annoying are floppies and CD-RWs.  USB sticks or drives may or may not work.  It tends to depend on whether a generic mass storage driver will work with Windows 98 and the drive.  Compact Flash cards are natively supported as IDE devices, but as removable devices you may not get them to work.

The best method, in my experience, is to use network transfers.  Windows 98 has support for file and printer sharing and can talk to Windows NT Networks.  PCI Network cards are cheap and easy to find for Windows 98, and Windows 98SE may have drivers for them out of the box.  The 3Com cards are especially popular and supported out of the box (except for the Gigabit cards).

Once you have your network card's drivers installed, install file and print sharing from the network properties in the control panel.  Then right click on a folder in Windows Explorer and share it.  Make sure that the network name on your Windows 98 machine matches the network name on modern system.  The default name is usually WORKGROUP.  On your modern computer, you should now see your Windows 98 computer on the network.

If your modern PC is running Windows 2000 or XP, you can typically access it with the Windows 98 machine.  With Windows Vista or 7, you cannot access your modern machine through Windows 98 by default.  There may be a method to allow access, but it is not necessary because when you share a folder on the Windows 98 machine, any other machine can copy files to that folder if you set the folder on the Windows 98 machine to allow full access.  With Network Neighborhood, you have a convenient method to send files to your computer without needing physical media.  

Sunday, February 28, 2010

Perfecting the IBM Model M Keyboard

The IBM Model M Keyboard is among the best keyboards ever made.  However, technologically it has shown its age a bit, and even IBM cut a corner or two to reduce the cost of production.  If I had the means, I would make the following improvements:

1.  Make a 103-key Keyboard. 

Some people like to have Windows keys.  Sometimes even I can see their utility.  Windows + D makes a good "boss key".  Learing how to use the key combinations can make working in Windows more efficient.  However, I would prefer a longer spacebar than Windows keys the same size and Ctrl and Alt.  The 101-key Model M has empty spaces, the size of a regular key, in between each set of Ctrl and Alt.  Why not put Windows key in those spaces?  People who hate the Windows key can easily disable it in software.  For Macintosh users, perhaps an option could be made for a shorter spacebar and a "Windows" key the same size as the Ctrl and Alt keys.  On no account would I want a Menu key cluttering up the row, that key's function can be replicated by Shift F10.  However, should one want one, a standard size keycap with the Menu graphic can be included if one was willing to sacrifice a Windows key. 

2.  Improve the internal assembly

The assembly of the Model M, once the keycaps and keystems are removed, is one plastic layer with holes for the keys, three membrane layers, and a metal back.  The greatest dangers to the Model M, regardless of version, are liquids.  I spilled some wine into my Unicomp Model M, and despite the drain holes, the conductive membrane was ruined.  Later, I spilled a little G2 into my 1987 Model M and the B and M keys would give VB and NM when pressed.  In the latter case, I was able to open keyboard up and save the keyboard by wiping up the liquid.  The membrane is NOT internally sealed, nor can it be, but the membrane itself is three sheets of translucent plastic that could easily be replaced. 

The problem with replacing the membrane is that IBM secured the upper plastic layer to the metal layer by melting the upper plastic layer through holes in the membrane and metal layer (in the assembly) and letting the melted plastic cool into studs on the bottom of the metal plate.  There are lots of these plastic nubs throught the back of the keyboard assembly.  The issue is that the can break after a hard impact or by wear over time.  Once all are broken off, there is no way to resecure the plastic layer to the metal layer.  At that point, you had best buy a new keyboard. 

The solution is to use screws instead of melted plastic.  This way the user can unscrew the keyboard and clean or replace the membrane.  I believe this is how the Tandy Enhanced Keyboard operates.  (A nut should be used.)  Yes, it increases costs, but I believe it is better to extend the life time of the investment.

3.  Improve the controller

The Keyboard controller circuit has some issues.  First, it only supports AT & PS/2 style connections.  Since the AT connection is a thing of the past and the PS/2 connector is a legacy port on modern motherboards, the controller should add USB support.  Second, some Model Ms have controllers than can work with the original IBM PC and IBM PC/XT and (with a custom an adapter) the IBM PC Portable (before 2nd BIOS in the latter two cases).  Most do not, I do not have any that do.  I would love a truly IBM PC Compatible keyboard.  The Tandy Enhanced Keyboard works perfectly with an IBM PC 5150 and with any other true IBM PC-compatible computer. 

The IBM Model Ms I have ## 1390120 (ledless), 1390131 (silver logo), & 1391401 (grey oval logo) have a 6-pin RJ-45-like port on the rear to attach a cable.  IBM generally supplied AT & PS/2 cables, coiled.  Why not make a sturdy USB cable?  Since only four pins are used, the other two can tell the controller that a USB cable is being attached.  While there are AT-PS/2 adapters and PS/2-USB adapters (and vice versa), permanency is prized by some people. 

Finally, why not have a wireless dongle attachment?  If it attaches to the back, another dongle can attach to the PC.  Rechargeable through USB. 

4.  Add support for N-Key and 6-Key Rollover

The Model M does not support N-key Rollover.  In fact, depending on the keys pressed, it cannot register three keys at the same time.  Try pressing r y u all at once.  Unlimited key rollover is supported through the PS/2 interface, but only 6-key rollover through USB.  6-key is not that terrible, after all the functional limit is 10 keys unless the user is a rare polydactyl with a functioning extra finger.  In order to have unlimited N-key rollover, each key on the membrane needs to be isolated with a diode.  As this is rather difficult to achieve with a thin plastic membrane, please see my next suggestion.

5.  Use Printed Circuit Board Contacts

The IBM Model F keyboards used a Printed Circuit Board with key contacted etched in the board, and the key mechanism used a carbonized switch to conduct electricity between the two halves of the contact.  This denoted significantly higher build quality.  Also, it gives an easy platform to install the diodes needed for N-key rollover.  Get rid of those flimsy plastic membranes which true rubber domes use. 

6.  Fix the layout shortcomings

The IBM Model M keyboard had a few shortcomings over the older Model Fs.  One, the function keys were relegated to the top instead of the side of the keyboard.  Savvy keyboard users with the space can use extra function keys, so add a set of function keys on the left side of the keyboard.  F11 and F12 would go to the left of the top function key row.  This is nothing new, the Nortgate Omnikey Ultra and Ultra T featured two sets of function keys in this fashion.

The ~` and Esc key can be exchanged using removable keycaps, so no adjustment need be made there.

Some people prefer that the L. Ctrl should be where the Caps Lock key is on a Model M.  All that is required here is to make a Caps Lock keycap and a Ctrl key (since the Model M's Caps Lock has cap and stem fused together).  I would also make two models of Ctrl key, one with the lowered area (so people would not strike it by trying to hit the A key) and one without.  Also, why not make a Caps Lock key without the lowered area. 

L shaped Enter key?  I have no particular views toward or against the big L shaped Enter key, which was a staple of the AT Model F keyboard.  But since it replaces the | \ key, the usual alternatives are not very good.  One option is to put it to the left of the Backspace key, which requires that key to be shortened.  I have never liked this option, which is perhaps the AT Model F's biggest shortcoming.  The next option is to put it to the right of the Shift key, ala the Nortgate Omnikey Ultra and Avant Stellar Prime, which is better but unlike a laptop we are not pressed for space here.  The best place to put it is where one of the Windows keys go.  I do not feel that sacrificing a Windows key to be that great of a loss.

7.  Make the Keyboard Fully Programmable

While the keyboard can be reprogrammed in software, there are times when the keycodes being reported from the keyboard to the system would actually match what the key cap indicates.  This is especially true when you have reconfigured your keycaps to match a DVORAK or AZERTY layout.  No need to load drivers or special software.  Volatile memory on the keyboard contoller should be used to indicate which scancode it outputs for each key, so the programming can be platform independent.  A USB cable may need to be used for the programming option.