Back to main page

Running QBasic Games

I. Introduction

There is a big misconception that QBasic games don't work in Windows. Most QBasic games DO WORK in Windows but since QBasic is a 16-bit compiler you will have problems running some QBasic games in Windows the same way you have problems running other DOS programs in Windows. Still in average, from my experience, you will have less problems running QBasic games in Windows that with running other DOS games.

I should warn you than the chapters that follow could be a bit overwhelming so I recommend that you first download a game from this site and after you encounter a problem with running it refer to this help. Just have in mind that the game you want to download is not from the "Tricky games" list since for those games it is imperative that you go through this help file in order to start them.

What first needs to be said is that there are two distinctive groups of QBasic games, from the point of running them - compiled and uncompiled.

II. Running compiled QBasic games

Most QBasic games ARE compiled. Compiled means that they are converted from their source code(s) to executable(EXE) file(s). You run executable files by double clicking on them in Windows Explorer or by typing in the NAME of the executable file in Command Prompt(you must first be in the directory where that file is). Using Windows Explorer is recommended and something you should really be familiar with.

Why a QBasic game doesn't start when you double click on an EXE file is usually because of:
1. The game requires XMS or EMS memory
2. The game uses DOS based or problematic sound routines
3. The game uses problematic VESA routines

First problem is actually not a problem at all. You can easily allocate EMS or XMS memory with a Windows shortcut. As far as I know all games on this site that require EMS or XMS memory have this type of shortcut already included in the archive usually named "RunMe!". In any case, if you see a Windows shortcut named RunMe!, after you unzip a game, run it. If for some crazy reason this shortcut doesn't work I'll explain the way of creating shortcuts. By my opinion every Windows user should know how to do that. Sadly, most don't.

Point yourself to the EXE file whose shortcut you want to create. Right click on the EXE file and then click on "Create Shortcut" option. Right click on the created shortcut and then click on "Properties" option. Go to Memory menu and allocate EMS and XMS memory to any amount above 8000 Kb. There are only few QBasic games(as far as I know) that use both EMS and XMS memory and that large amounts of it but by doing this you cover all the extreme cases and avoid the possibility of needing to reconfigure the shortcut if it fails to run the game properly.

If the game you have downloaded still doesn't work read on.

The second most major problem is that sound routines in QBasic games are DOS based so most of these routines don't recognize Windows drivers for your sound card. This is not always the case. Usually games have setup files. Run them and see if you can configure the sound for your Windows version. Some setup files have that option(but it doesn't always work). If doing this doesn't help try to turn off the sound and music in the setup menu(if there is one) or run the executable(EXE extension), batch(BAT extension) or shortcut file which bypasses the usage of game sound routines. Some games have that kind of file, usually named NOSOUND.EXE or NOSOUND.BAT. If you really insist on playing QBasic games with sound and music enabled you must download VDMSound or DOSBox. These are two utilities that help you emulate DOS environment in Windows and anyone who plays DOS games in Windows MUST have at least VDMSound. If you don't have VDMSound or DOSBox you won't hear sound and music in 90% of DOS games. Pretty much the same percentage with QBasic games. Have in mind that some QBasic games don't allow you to turn off the sound so those games you can start only with VDMSound(check the "Tricky games" list). Another problem is that quite few QBasic games use DS4QB(or DS4QB2) library for sound which is very incompatible with Windows 2000/NT and XP. Most games that use DS4QB don't work in Windows XP. Sadly, there is no way to start most of these games(the ones that don't allow you to bypass DS4QB) in Windows XP nor in DOS(DS4QB is a 32-bit library). Another thing. VDMSound EMULATES your sound card DMA, IRQ and Base Port so input the EMULATED values in the setup menu of a specific game if you are running it with VDMSound. That is for games that have setup files. If you don't input the right sound card settings your game will probably run but you won't hear any sound/music. On the other hand, many QBasic games can autodetect sound card properties.

Always check if the game needs EMS or XMS FIRST and then fiddle with the sound options.

Now, I'll explain the usage of VDMSound. First download this wonderful, use-friendly and small tool and install it. Then position yourself to executable or batch(important; you can use VDMSound on batch files) file you want to run. Right click on it. Click on "Run with VDMS" option. Click on "Set up a custom configuration". Some QBasic games work with default VDMSound configuration but by running VDMSound like this you'll learn useful stuff. Click two times on "Next" button. Now click on "Advanced" button("Step 2 of 2" in the window title). You'll get an access to bunch of menus. In "Compatibility" menu raise the amount of EMS memory to any above 8000 Kb(just to be sure). Also, enable basic VESA support(same menu) if a game requires it(check the "Tricky games" list). Click on ok, then on "Next" and finally on "Finish" button. After that the game automatically runs and you have permanently created a VDMSound shortcut which you can always run as any other Windows shortcut(double click) once you exit the game(you need to do this procedure for a specific game just once).

You should also download the VDMSound patch from this site since it fixes the problem with VESA support. The patch is not all powerful. Several QBasic VESA games just won't start in Windows whatever you do. That's not a problem of Windows and your video card. It's the problem of FutureLib library which some programmers used to enable hi-res graphic and which is very incompatible with great number of video cards. It's a problem to start these games in DOS too, not just Windows.

DOSBox is a more powerful tool and only few QBasic games need it to work in Windows. Check the "Tricky games" list to see which games are those and if you are interested specifically in those games download DOSBox. It's a bit more complicated tool so I won't go explaining how to use in here. There is no point since DOSBox comes with instructions.

III. Running uncompiled QBasic games

Running uncompiled QBasic might not be so attractive to people who never used QBasic since you need a copy of QBasic to run them. Nevertheless, almost all uncompiled QBasic games on this site don't requite VDMSound or DOSBox. Also, great deal of uncompiled games have QBasic INCLUDED in the game archive together with a batch file which automatically runs the game in QBasic without any need for your intervention. So check the archive of the uncompiled game you want before downloading it to see if it has QBASIC.EXE or QB.EXE included. Still, there are those uncompiled games only consisted of the basic source code file(BAS extension) so adding QBasic inside that kind of archive wouldn't be economical. To run those games copy the BAS file in the directory where you have extracted the copy of your QBasic. Run QBasic with qb/l in "Command prompt" or by creating a batch file which does that(copy of QBasic from this site has that kind of batch file named start.bat). After you start QBasic go to file menu and click on "Open Program". Find your BAS file and double click on it. Press F5 to run the source code. Some uncompiled game have special requirements like they need to be in a specific directory.

For all the games from this site that have some sort of special requirement when running them I've created files named "readme!!!.txt" or "readme!!.txt" and included them in the archives which explain what you need to do to run that specific game. If there is a such file in the archive read it FIRST before the regular readme file created by the game developer. This kind of file appears with German games too that are a bit more difficult to understand and those files are basically game documentation or help file written in English.

IV. Running QBasic games in pure DOS.

I really don't recommend people who are not familiar with DOS to go into this since it's really not necessary.

Still, if you have a computer which can boot both in MS-DOS and Windows mode and you want to run QBasic games in pure DOS you need to have these lines in your config.sys file:

DEVICE=C:\HIMEM.SYS
DOS=HIGH,UMB
DEVICE=C:\EMM386.EXE RAM 4000

Just be sure that HIMEM.SYS and EMM386.EXE are there where you wrote it in config.sys(here, it's C:\). You can put them anywhere you want just change the link in config.sys file after "DEVICE=" to place where you have put HIMEM.SYS and EMM386.EXE. You need to have HIMEM.SYS and EMM386.EXE of course. I advise you to download a Windows98 bootdisk from www.bootdisk.com and download EMM386.EXE from there.There is also bunch of other stuff you might need to put in config.sys or autoexec.bat file like sound card or mouse support but this is not the place to talk about that. Find other sites that deal with booting your PC in DOS. DOS is not necessary for playing QBasic games.

V. Appendix

Check the "Tricky games" list to see which games absolutely need VMDSound or DOSBox to work in Windows. I absolutely recommend that you download a copy of VDMSound from this site since it will help you to run most of old DOS games, together with QBasic games from this site, properly. Read the readme files included in the game archives to get the full information about the game you have downloaded.

Unfortunately there are those QBasic games that simply won't run in Windows XP or Windows 2000/NT and nothing can be done about it. What is ironic is that this is not a problem of QBasic being a 16-bit compiler but more a problem of these games using dubious routines like FutureLib VESA support and DS4QB which is, by the way, a 32-bit library.

Play QBasic games like you got some sense! :P

Back to main page