  ĿĿĿĿĿĿ   ĿĿĿ
    ٳ  Ŀ    Ŀ    ٳ  ٳ         Ŀ    Ŀ  
    Ŀ                 Ŀ     Ŀ         
  Ŀ    ٳ  Ŀ                     Ŀ    Ŀ 
                  Ŀ  Ŀ               
          
                             Ŀ ĿĿ
                                    Ŀ  
                                     
                             Ŀ    
                                      
                                  
                        (?) 2013 Meido-Tek Productions
             Best viewed in MS-DOS EDIT or with Terminal font set


Table of Contents:
   1. Overview.
   2. System Requirements.
   3. Controls.
   4. Special attacks.
   5. Known Issues.
   6. Credits.
   7. How to make an SNES controller adapter.
   8. Contact info.


1. Overview:

   Ever since everyone stopped doing any more game development in QB45 due
   to its strict memory limitations and incompatibilities with newer systems
   while QB like alternatives for new platforms such as FreeBasic and QB64
   lessens the value of interest of making any new release written in a 20+
   year old basic compiler that created the once dominant QBasic/QuickBASIC
   scenes which the majority of it has somewhat disappeared during the mid
   2000s. I decided to make one last QB45 release ever since I changed my
   branding from Crap Systems and moved to QB64 2 years ago. This mostly
   serves as an old school project for my birthday (Apr 1st, 2013) to me and
   I like old school game development.

   SpaceWar 4P is most probably the first and only QB45 game that supports
   PSXpad/DirectPadPro compatible SNES controller adapters in my experience
   with support for up to 4 players and is probably the first QB45 game that
   uses 2D vector polygon models so the ships won't pixelate when zoomed in.
   The scaling playfield is inspired from one space war clone made in the
   same compiler with identical assembly libraries but I forgot what the
   title of that game was. However, this game is much better than that clone.

   I could have improved the game more by adding configurable controls, ship
   AI, arenas, and even a single player story mode but QB45's memory
   limitations is what prevents me from adding any more features. The main
   module is about to break the dreaded 64KB per module limit and I cannot
   move any more code to the second module without affecting stability!
   Anyways, I'll port this game to QB64 with OpenGL accelleration, support
   for high display resolutions, and maybe on-line multiplayer soon.

   I hope you'll enjoy playing this game with your friends as much as I do
   playing with my older brother!


2. System Requirements:

   Required:
      - Intel Pentium running at 166MHz or faster.
      - Any VGA compatible graphics card.
      - 400KB of free conventional memory.
      - 2MB of free EMS memory.
      - MS-DOS 5.0 and later, Windows 95, or Windows 98

   Optional:
      - A Sound Blaster (1.x, 2.x, Pro, and 16), Gravis Ultra Sound (with
        512KB of RAM), or a Pro Audio Spectrum compatible sound card.             
      - A PSXpad/DirectPadPro compatible SNES controller adapter with
        2 to 4 controller ports.
      - An FPU will speed the game up significantly.

   NOTE: When playing this game on a modern computer, you must use an MS-DOS
   emulator such as Dosbox. Its almost impossible to get this game working
   properly on a modern computer without using an emulator.


3. Controls:

   Keyboard (Player 1):
      W           - Thrust/Select/Accept option
      S           - Reverse
      A           - Turn Left
      D           - Turn Right
      F           - Shoot/Select/Accept option
      G           - Special

   Keyboard (Player 2):
      Up          - Thrust/Select option
      Down        - Reverse
      Left        - Turn Left
      Right       - Turn Right
      0 (NumPad)  - Shoot/Select option
      2 (NumPad)  - Special

   SNES controller (all players):
      B           - Thrust/Select/Accept option
      X           - Reverse
      Left        - Turn Left
      Right       - Turn Right
      Y           - Shoot
      R           - Special


4. Special Attacks:

   Each ship has its own special attack which consist of 2 different types of
   missiles, A Homing Missile and a Power Missile.

   Homing Missiles require a lock-on to a ship before firing. Locking-on is
   done by holding the special button which will display a dotted line in
   front of your ship. Any ship that touches the dotted line will be
   locked-on which is indicated by a yellow box and letting go of the special
   button while maintaining a lock fires the missile. Trying to hit moving
   ships with homing missiles is tricky because there is a high chance for
   the missile to miss the target numerous times until the missile burns out.

   Power Missiles deliver twice the damage to the unsuspected target.
   However, its harder to get a Power Missile to hit a moving ship than a
   Homing Missile.

   The best method of getting a missile to hit a ship is to follow them from
   behind or do a quick pass across a ship then quickly fire a missile while
   passing.


5. Known Issues:

   Here are the issues I experienced while playing this game on my PC:

   - SNES controller detection might detect an incorrect number of
     controllers connected to the adapter (ex. the game detects 4 controllers
     when there are actually 3 connected). The problem is the parallel port
     itself because the only way to tell if a controller is connected or not
     is to test if all 12 buttons are pressed at once. However, this doesn't
     work properly in some situations so better select the desired number of
     controllers in the controller count menu in the setup program.

   - If your using a Sound Blaster Pro compatible, the left and right audio
     channels are reversed oftentimes. The problem is the desired MSE module
     for the sound engine itself and it can't be fixed because it lacks an
     option to flip the channels (which is derp stupid) so better flip your
     speakers or enable the reverse stereo option in your sound card's driver
     options if available.

   - When you use a sound quality setting lower than High Quality, the music
     pitch is slightly higher than normal. A similar thing will happen
     regardless of the sound quality on Sound Blaster 1.x, 2.x, and 16 sound
     cards. I'm not sure if it happens on the Pro Audio Spectrum.


6. Credits:

   Programming:
      John Wilbert M. Villamor
                
   Meido-Tek Logo:
      John Wilbert M. Villamor

   Ship Designs & Ideas:
      John Wilbert M. Villamor
      John Paul M. Villamor

   BWSB Sound Engine:
      Edward Schlunder

   DirectQB Game Development Library:
      Angelo Mottola (the creator of DirectQB)
      Devin Garner (for the unofficial 1.7+ update)
      James Robert Osborne (for the unofficial 1.71 update)
      Eric Lope (for the pseudo translucent box routines)

   Music:
      "Stardust" (title music) composed by Jester/Sanity
      "Tek Get's Off" (battle music) composed by Tek/OTM


7. How to make an SNES controller adapter:

   NOTE: Copied directly from the README.TXT file in my SNESpad library.

   If you don't have an SNES to Parallel Port adapter, you can make one by
   using this pretty simple diagram (best viewed in 80x50 text mode):
         
              Parallel port (front of male)
      Ŀ Ŀ
       Ŀ          Ŀ 
        Ŀ            Ŀ  
         1 ĳĳĳĳĳĳĳĳĳĳĳĿ 13   
             L C V V V V V V 1  2 3       
             4   G              
         14 ĳĳ 25    
                ĳĿ   
        Ŀ                            
       ĳĳĿ    Ŀ           
      ĳĳĿ   ĳĳĳĳĳ
           ĳĳĳĳĳ              
         1  V L C 1    G  7           
                         
              SNES port 1                  
        Ŀ                           
       ĳĳĿ ĳĳĳ
      ĳĳĿ          Ĵ         
           ĳĳĳĳĳ             
         1  V L C 2    G  7          
                        
              SNES port 2                 
        Ŀ                          
       ĳĳĿ ĳĳ
      ĳĳĿ          Ĵ        
           ĳĳĳĳĳ            
         1  V L C 3    G  7         
                       
              SNES port 3                
        Ŀ                         
       ĳĿ ĳ
      Ŀ          
              ĳĳĳĳĳ
            1  V L C 4    G  7
              
                 SNES port 4

      Ŀ
       Legend:             
          - Diode (1N914) 
          - Unused Pin    
         V - Vcc           
         L - Latch         
         C - Clock         
         G - Ground        
         1 - Port 1 data   
         2 - Port 2 data   
         3 - Port 3 data   
         4 - Port 4 data   
      
   The black strip of the diodes must face away from the port.

   There are 2 ways to connect your pads to the parallel port:

   1. Cut-off the sockets and solder the wires to the DB25 male port.
      (cheapest, but you can't use the controllers on your SNES anymore)
   2. Use the sockets in cheap controller extension cables or dead SNES units.
      (pricing and availability depends on where you live)

   Note: When using the first method, be sure to dismantle the socket so
   you'll know what color of the wire goes to what pin. And always remember
   that the pin next to the curved end of the SNES controller's socket is
   always pin 7.

   DISCLAIMER:
      If you managed to screw up your controller, your PC's parallel port,
      badly blistered your fingers, managed to burn your house down, etc.
      I'am not responsible for the cause of that. Well, its obvious to be
      very careful with projects like these.

   If you can't figure out the paths right, just use the letters to reduce
   confusion. I've done my best to make this diagram as readable as possible.

   If you still find this rather confusing, just google for 'SNES to Parallel
   Port adapter' and there are many colorful diagrams you can use out there.
   Just make sure that the diagram is for Windows or PSXpad/DirectPadPro
   controller drivers or you could just order a pre-made one.


8. Contact info:

   If you have any comments and/or suggestions, feel free to ask! Contact
   me via the following addresses:

   Old Yahoo Mail address:
      Jobert.Villamor@yahoo.com

   G-Mail address:
      lameguy64@gmail.com

   QB64 forum user name:
      Jobert14


   The only rules you have to follow when messaging me are:
      - No spam messages.
      - No e-mail bombing unless you ask me about it first.
      - No non-English or crap-English messages (I hate this the most).

