maanantai 16. joulukuuta 2013

My second computer

I haven't forgotten my blog (I can't believe its almost three months since my last message). I've simply been too busy to even answer emails so writing a blog was not possible. Believe it or not, I'm writing this first on a paper because I don't have time to write it at home. Of course I'll have to type all this to computer but I hope it will take less time than typing while thinking what to write.

This is a good time to write about my second computer. I had to sell my Trifunic XT and 8-bit Nintendo but instead of buying a new computer, I bought little used SNES! I don't remember where I got the money for the Commodore 286 (I never sold the SNES) but I bought it quite soon after the SNES.

I remember the Commodore specs very well but I do not remember the model, and no, I sadly don't have any picture of this computer either.

The specs were:
  • 286 12 MHz
  • 1 MB RAM
  • Integrated Paradise VGA (PVGA1A)
  • 40 MB Quantum ProDrive 40AT
  • 3,5" and 5,25" HD Floppy Drives

I've always regretted that I gave away all my 5,25" floppies with Trifunic XT. 5,25" floppies eventually proved to be more reliable. No wonder since less data is stored on a larger area. And I like the look, fell and sound of 5,25" floppies more than 3,5" disks.

What about monitor? That was greyscale IBM VGA. There is a small story behind it. I bought the Commodore from a small store selling new and used computers. On the same street there was another store like it. It was called Visiotek. Over the years many small computer stores born and died but Visiotek remained longer than any of the other stores I used to visit. Visiotek was never the cheapest but it had largest amount of used computers and items. Even as late as 2002 I bought a nice 486 system from there (that became what is now my gaming 486). Three years later you couldn't get anything older than Pentium 2 or 3 from there (it is very surprising that they even sold 486 systems as late as 2002). Maybe internet with cheap online stores, auction sites etc was too much but it was sad to see Visiotek wither away.

But back to the greyscale IBM VGA. It cost 400 Finnish Mark and I think so did the Commodore (very close anyway). I carried them to bus station that was nearby. First I carried the Commodore on a bag over a short distance and then the monitor (and so on).

I suppose I'm one of the few that has used greyscale VGA monitor for gaming. My cousin once asked why since my previous computer had color display (CGA). The greyscale VGA is without a doubt an improvement over the CGA. There are only a handful of games where I missed the CGA colors and those games mostly were CGA only games with well selected colors. Greyscale VGA allowed me to play all those EGA and VGA games I always wanted.

There are limitations with greyscale VGA. VGA can display 256 colors simultaneously. Each color has 6 bits for red, green and blue each, so full palette is 18 bits or 262,144 colors. But greyscale VGA monitor has only one beam, not three. So it can only display 64 (6 bits) shades of gray (black and white included). VGA BIOS is wise. It detects (or should detect, at least it can be forced by software) greyscale monitor and enables algorithm called greyscale summing. It is a technique for making sure that monitor displays as many different shades as possible, or more properly makes sure completely different colors are not displayed as same gray.

Many games do not use BIOS for setting colors (they write directly to VGA registers) and it causes a problem. For example some shades of red and blue turn out to be the same dark grey when greyscale summing is not used. Many Sierra games have driver for greyscale VGA monitors and it does the summing. Graphics look much better when the greyscale driver is used.

I didn't have the greyscale VGA for long. It was replaced with IBM Color VGA. Externally it looked identical to the greyscale VGA monitor. I'll tell more about it in my next blog entry and also about my first sound card.

perjantai 27. syyskuuta 2013

Finally completed the 486DX2 system

The problems with the Toshiba CD-ROM drive were not related how the driver was loaded. I started having the very same occasional crashes. I had to accept that the drivers are buggy or there are some hardware incompatibilities.

No matter, I replaced the Toshiba drive with quad speed Mitsumi IDE CD-ROM drive. VIDE-CDD.SYS works perfectly with it since there were no transfer errors or crashes.
That also made the 486 system complete. It turned out to be quite nice. Here are the specs:
  • Asus ISA-486SV2 motherboard + 16 MiB RAM
  • Intel 486DX2 66 MHz
  • Cirrus Logic CL-GD5428 based VLB graphics card with 2 MiB RAM
  • Network card with XTIDE Universal BIOS ROM
  • VLB multi I/O card (native support by XTIDE Universal BIOS)
  • CF to IDE adapter with bracket (card can be easily removed)
  • 6 GB Hitachi Microdrive
  • Mitsumi quad speed IDE CD-ROM drive
  • 3.5” Floppy Drive (quiet Panasonic)
  • Sound Blaster 16 (CT2230) + Turtle Beach RIO (General Midi card with 4 MiB ROM)
  • Temperature controlled power supply silenced with Nexus SP802512L-03 fan
I think it is a very good system for retro gaming. Of course my own 486 gaming system is even better in every way. Maybe I should write about it in my next post.

keskiviikko 25. syyskuuta 2013

Problematic CD-ROM drivers

I haven't forgotten my blog. I've simply been too busy. Things are not going to get any better in the future. We (me, my wife and 6 month old baby) are moving to small 30m² apartment on November. The idea is to minimize expenses since we are planning to build our own house. But that takes time, usually more than planned, so we have to live long time in very small apartment. There is not enough room for my retro computers so I have to put them in storage for now. Best I can do is to keep my testing platform (basically a motherboard on a desk) so I can continue developing XTIDE Universal BIOS (I hope I have even a little bit time for that).

I mentioned a 486DX2/66 system previously. It is almost complete. It has been nice to learn FreeDOS with it although I had some problems with EMS managers. More about those once I've finished my testing.

Another problem have been a CD-ROM drive. I installed 32x Toshiba CD-ROM drive and it is jumpered as slave drive for primary IDE. Master drive is 6 GB Hitachi microdrive. I strongly recommend to connect CD-ROM drives to separate IDE channel when ever possible. This system only has primary IDE so it is not possible. I've usually used VIDE-CDD.SYS as generic CD-ROM driver. It has worked so far and it uses less memory than most other drivers. It did not detect this CD-ROM drive for some reason. All the other generic CD-ROM drivers I tried (including the UIDE that came with FreeDOS) did detect the drive but I constantly got read errors.

The Toshiba CD-ROM driver worked without read errors but it had completely different problem. It occasionally froze when loading it. When it didn't, everything worked fine. I managed to get few successful boots without freezing after I loaded the driver into low memory instead of high. The problem is not related to FreeDOS but affects MS-DOS as well. I'll need to do more testing to see if loading low is a working solution or was I simply lucky. I can't think of any reason why loading high would cause any problems unless

I'd like to know why this CD-ROM drive requires Toshiba drivers. It should be ATAPI drive and so it should work with generic ATAPI drivers but it did not.

sunnuntai 18. elokuuta 2013

Installing FreeDOS on a 486

I wish I had more time for retro computers. Since my last post, I've been building 486DX2/66 system using spare parts I already have. When it is complete, I plan to try to sell it in Finnish auction site called huuto.net. To be honest, I don't actually expect anyone to buy it from there, at least not with the price I'm thinking of (it is going to be very nice system). I've never sold anything on ebay so maybe it is time to try although I fear postage might scare potential buyers off.

I'll tell more about the system when it is complete (and all the problems I've faced so far) but it is going to have a microdrive (I prefer those over CF cards) for easy and fast way to transfer files between it and modern system. So the system is going to have XTIDE Universal BIOS in it and I also plan to install DOS and old commercial games that are now released as freeware along with popular shareware games.

Since I'm going to sell the system, I just can't install any DOS no matter how old they are now. I would have liked to install PC DOS 2000 (100% compatible with MS-DOS 6.22 but more optimized with extra features) but the only option now is FreeDOS since it can be distributed free. I'm installing version 1.1 that is the latest.

I've been testing XTIDE Universal BIOS with FreeDOS boot disks but I've never installed whole FreeDOS. For those that do not know, FreeDOS is meant for more modern systems and so it may not be a perfect choice for retro gaming. There is 8088/8086 compatible kernel so it can be used even on oldest PCs but you'll likely need to customize your own version for 16 bit systems. There might be unexpected problems. For example I was able to boot my 286 with FreeDOS boot disk but it always froze when I tried to boot from hard drive. I was able to make 486 system bootable with the very same boot disk without any problems.

For retro gaming purposes FreeDOS has one great benefit over PC DOS 2000: FAT32 support. You won't need it unless you use out of era hard disks (I have 120 GB drive on my 286) but if you do, you'll no doubt want to access more than 8 GB and don't want to be limited to 2 GB FAT16 partitions.

MS-DOS 7 (Windows 9x) has FAT32 support but MS-DOS 7 requires 386 or better. PC DOS 7.10 works on 16-bit systems and also supports FAT32 but 7.10 is only available as boot disks. I found a collection of PC DOS 7.10 boot disks (different builds) and tried to install them over PC DOS 2000. It worked but every build had the very same problem: himem.sys consumed lots of conventional memory, many times more that it did with PC DOS 2000.

I eventually came to the conclusion that FAT32 is not that important for XT and 286 systems and I'm going to replace the 120 GB drive from my 286 system next time I open it. For 386 and later you can choose between MS-DOS 7 and FreeDOS and I recommend to at least try FreeDOS.

But for the 486DX2 system I'm building it was damn hard to install using official CD image for the FreeDOS 1.1 distribution. The CD is bootable but this old 486 does not support boot from CD-ROM. The CD contains setup.bat so booting from CD should not be needed. Well, the setup froze when I used MS-DOS 6.22 boot disk. Setup also failed with the FreeDOS boot disk I already had. All I got was out of environment space errors. I had to examine install documentation to find that setup requires 2k environment space to be set.

FreeDOS installed perfectly on my Pentium system (that was able to boot from CD). I tried to create install boot disk using it but it did not work much better. There was always something preventing the install. Finally I used the Pentium system to install FreeDOS and then moved the microdrive back to the 486.

lauantai 27. heinäkuuta 2013

External battery

Motherboards used to have 3.6V barrel batteries. One good thing about them is that they are rechargeable. They charge themselves every time computer is powered on so in theory they should have never need to be replaced. Unfortunately they are like Duracell batteries, they leak and might work while leaking.

Leaking can damage motherboard so remove leaking batteries immediately. I recommend to remove them before they start to leak. Removing is easy, just cut them with pliers and there will be no need to desolder anything.

Locate the 4-pin external battery header from the motherboard. It should be close to the battery and there should be a jumper to select between internal and external battery. Pin 1 of the header is +, pin 2 is not connected (and usually missing completely so there are only 3 visible pins). Pins 3 and 4 are -. You can use multimeter to locate pins 3 and 4 since they are connected together. This is useful if your motherboard has all 4 pins available and there are no good markings.

Here are what you need to build an external battery: CD-Audio cable, battery holder, 3 AA batteries, soldering iron and some electric tape. It is possible to do this without soldering iron if you use some connectors or just tie the wires together.

You are going to need the type of CD-Audio cable that has one large connector that fits to the external battery header. That is the most common type of CD-Audio cable so it will be easy to find. Battery holders are easy to get as well. You can get those from Chinese ebay sellers and the price is very cheap even with postage. Just make sure you get holder for three AA batteries that are connected in series to get 4.5V.

You might wonder if 4.5V is too high since the barrel battery is 3.6V. I once had a “real” external battery and once it had depleted I opened it. It had 3.7V lithium battery in it. That made me try to build my first own external battery using 3.7V lithium-Ion rechargeable battery. It worked but it self discharged way too soon to be of any use. Using non-rechargeable lithium battery would have been far better but those are expensive.

Modern systems use 3V lithium batteries that are shaped like a coin. I tried those and 3V was enough to hold BIOS settings but it was not enough for RTC to tick properly. I'm told that it will work better on some motherboards.

Then I read from Vintage Computer Forum that 4.5V is not too high. Finally I found one interesting picture from a 386 motherboard. Next to the external battery header there was printed the voltage range and the range was 3.6 to 4.5V. So I finally decided to try 4.5V. So far I've tried it on two motherboards and both without problems. I don't know how long the batteries will last but I'll let you all know when I need to replace them.

Back to the assembly instructions. Here I have CD-Audio cable that has large head on the other end and large + small head on the other. This is good since this cable can be used for CD-Audio even after building the external battery. Alternatively I could have build two external batteries using one CD-Audio cable.

I should have taken first photo before cutting anything but I didn't think of it until it was too late. The pictures should be self explaining. Just be careful when connecting the small CD-Audio head back as the orange wire and thin black wire are connected together. It might be wise to use multimeter to see how the wires are connected before cutting anything. Some CD-Audio cables have different colors and possibly only 3 wires.

If you don't need to keep the CD-Audio cable usable it might be wise to use longer cable for the external battery. This helps to place it in a location where leaking does not do any harm. Finally remember NOT to use Duracell batteries since they will certainly leak eventually.

CD-Audio Cable. The short part with black connector will be used for the external battery.


Wires are now soldered.
 
First tape all individual wires, then tape them all together.
This step is optional. I inserted toothpick to the not connected hole and then broke the toothpick. This makes harder to connect the external battery wrong way. Also note that red wire is used as + wire.
External battery is now completed. The tree AA batteries are connected in series.





sunnuntai 14. heinäkuuta 2013

My first computer

I'd like to tell something about my first computer. I don't have any pictures from it and I can't remember was is year 1990 or 1991 when I got it (I was 10 or 11 years old then). More likely 1990 because I think I got NES as Christmas present on 1989 (I was hoping for a computer).

My first computer was quite generic XT clone build in AT clone case used by many PC XT/AT clones. Brand of my first computer was Trifunic and it was assembled in Finland.

I remember the specs very well. I learned a lot with and from this computer. Monitor was IBM 5153 CGA display. I can't remember was the keyboard IBM as well but I do remember it was 84-key XT keyboard. Trifunic didn't come with mouse but I got one later.
Other specs were:
  • 8 MHz Turbo Board with NEC V20 processor
  • 640 kiB RAM
  • 100 % compatible CGA clone adapter
  • Seagate ST-225 20 MB MFM hard drive
  • 720k 3.5” Floppy Drive
  • 360k 5.25” Floppy Drive
  • Multi I/O card of some sort (it did have serial port to plug the mouse in)

As you might have guessed by now, system like that bought in 1990 must mean it was previously owned and it was. Nobody had slower PC and I couldn't play many of the games my friends did. I always wanted new computer back then but now I'm glad what I got. It made possible for me to start from XT systems and feel the progress of PC hardware and games from the beginning.

Friends dad did some work with computers and through him I got the Trifunic. At their place I saw a PC for the very first time. I don't know it's specs other that it was also XT clone. It had amber display that looked so amazing.

Before I got the Trifunic I was told it had color display, and it did. CGA is able to display 4 colors in graphics modes. We were at my friends place to test the computer for the first time (my friends dad must have installed DOS and some games in it). Digger was the very first game we tried on it and it looked and worked great. King's Quest III was the second game we tried and it appeared black and white! What a disappointment. There was key combination to switch to color mode but that was even more disappointment. King's Quest III looked so much better in amber display, not to mention in real color display.

About the same time my friends dad got 386sx system with VGA. No need to guess where we played all the games after school.

I didn't know back then but Sierra's AGI games support CGA composite output. I'm sure I had one in my Trifunic but even if I had known it, I wouldn’t have anything to plug it in. European PAL televisions back then didn't support NTSC and even if they would have, I had black and white TV for the NES. RGB Output in AGI games were always black and white or 4 color mode with quite awful palette so I used the B&W mode. Later SCI games from Sierra had much better CGA RGB color support.

And those I mostly played on my Trifunic; every Sierra game that run on it. It didn't matter that the copy of KQ3 had disk 2 missing or Larry 3 was corrupted so that it always froze when entering bamboo forest. Or that I only knew one phone number from Larry 2 (3425, can't forget it) so it took a while to get in the game.

Other games I played were Lucasfilms Indy 3 (I'm one of the few who thinks Last Crusade is better game than Fate of Atlantis but Atlantis didn't work on my Trifunic, of course), Monkey Island and Zak McKracken.

Then I really spend many hours on Prince of Persia (one of the best games ever), SimCity and Ducktales. Again it didn't matter how slow they were as long as they supported CGA.

If a game worked slow back then it didn't mean slow frame rate like today. When game was slow, the character was moving slower that it supposed to. In my opinion that is better alternative than slow frame rate (actually the frame rate was slow as well but it feels completely different on 2D games than on 3D games).

I wanted to let you know how my PC gaming started because that certainly affects what I consider to be “best” retro gaming XT system.

sunnuntai 7. heinäkuuta 2013

XTIDE Universal BIOS beta 3 bugs

What's going on with XTIDEUniversal BIOS? It's been four months since v2.0.0 beta 3 was released.

Beta 3 was supposed to be last and quick beta testing phase before releasing stable v2.0.4. Well, beta 3 turned out to be a lot more buggy than I thought it would. It is buggy but fortunately most of the bugs are quite minor and doesn't effect many users, except that slave drive support is broken.

I believe most people use XTIDE Universal BIOS on their XT systems along with XTIDE or Lo-tech XT-CF boards. Actually I do most of the testing with Pentium system so AT builds get most of my attention. I have 8 MHz Turbo board for testing XT builds but I don't have enough space to keep all my testing equipment available all the time. I also test with my gaming 286 and 486 systems from time to time.

Back to the bugs in beta 3. I started to do lots of testing to get stable version released and I fixed those minor bugs quite soon I found one. I decided to try to install Windows 95 and 98 along the testing process. There were no problems to install Windows 95 but Windows 98 was something else. One bug was exceptionally hard to fix and it took weeks.

Windows 98 install always crashed to blue screen at certain point. I was able to install Windows 98 using motherboard BIOS but again I got the very same blue screen when loading Windows once I had switched back to XTIDE Universal BIOS. Eventually I found out that the blue screen happened when Windows 98 tried to load protected mode floppy driver (HSFLOP.PDR). Renaming it forced Windows to use real mode floppy driver and that helped. Next I had to find out how XTIDE Universal BIOS was incompatible with Windows 98 floppy driver.

If you are familiar with XTIDE Universal BIOS, then you must know that it has a feature to allow install DOS from any floppy drive to any hard drive on the system. DOS itself only supports boot from first floppy or hard drive on the system. Drive number translation, or swapping, is a way around this limitation. During drive detection, you can use hot keys to select what drive(s) are to be set as primary. For example to boot from second hard drive in the system, press D. This sets second drive to be drive C and first drive to be D. Next you can press A to boot from floppy drive containing DOS install disk. Or you can press B to set second floppy drive as primary floppy drive and boot from it. Now you can install DOS from second floppy drive to second hard drive.

Floppy drives are handled by motherboard BIOS and there can be hard disks handled by other BIOSes as well. They don't know anything about drive swapping so XTIDE Universal BIOS must do all the drive number translations. One thing to complicate this is that the other BIOSes can make recursive INT 13h calls (INT 13h contains drive access functions) so XTIDE Universal BIOS must not translate the drive number more than once.

Previously XTIDE Universal BIOS temporarily restored system INT 13h handler before calling it. This way the system BIOS could do as much recursive calls as it needed to. Replacing the INT 13h handler was something Windows didn't expect and that caused blue screen. Now XTIDE Universal BIOS disables drive swapping before it calls system INT 13h.

I still have more testing and fixing do to before stable version can be released. I just don't have as much time for coding as I would like.



maanantai 1. heinäkuuta 2013

I'm a project leader of XTIDE Universal BIOS, a BIOS expansion to use large modern hard drives, CF cards and micro drives on old PC systems starting from original IBM 5150. But this blog is not just about XTIDE Universal BIOS, although I plan to write about it from time to time.

I'm a collector of sort. I don't want to own every piece of PC hardware ever released or fill my home with computers I don't have time to use (well, I don't really have time to use those I already have...). I aim to build “best” possible XT, 286, 386 and 486 systems for retro gaming purposes, or more properly DOS gaming purposes. That is the reason why building Pentium system is not so interesting.

Building perfect retro PC is actually impossible as there are no such thing as best components to build best possible system. There is no such thing as best sound card or even best Sound Blaster. For example my 486 system has three internal sound cards but it is still a compromise solution. And for my 286 I've tested many different VGA adapters but I'm sure there are even betters out there. I'm going to write about those and many other things eventually.

I hope my blog will be useful for other collectors and retro PC gamers such as myself.