🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: rec.games.programmer
Article #745

PC (S)VGA: Double buffering with the Tseng 4K

#745
From: MoonMan
Date: Sun, 16 Aug 1992 07:10
46 lines
3087 bytes
  I'm currently working on a game that will run in both 640X400 and
320X200 modes, and am trying to work out <acceptable> animation in the 
Super VGA mode.  Specifically, I'm starting with the Tseng 4000, as that
is all I've got to work with so far... (if anybody wants to donate some
SVGA cards, I won't mind, but... :-)

  Writing to the display memory is quick enough, but I'm going to have
to have 2 display pages.  Ok, that seems easy enough.  I set the write
bank to 4 and draw the image, then set the CRT address register to point
to the right location.  What I get is... strange.

  The image I write comes out, but there is some garbage on the screen -
black, white, and purple lines.  They ARE NOT overwritten when I write to
the screen.  Wierd, eh?  I thought that maybe I'd have to sync to the
refresh period, but that doesn't make sense - the lines are always in the
exact same place.

  Stumped, I decided to try something wierd.  I set the display mode to
1024X768 and then to 640X400.  That caused my monitor some grief, and it
took away SOME of the lines - but not all.  I also tried changing where
I was writing/reading, and that changed the interference, but the only
place where the picture is clear is starting at the beginning of video
memory.

  Anybody have any ideas on this?  I've been staring at the code for a
week and there sure doesn't seem to be anything wrong.  I can probably
recite sections of _Programmer's_Guide_to_the_EGA_and_VGA_Cards_ in my sleep,
but nothing I try gets rid of that garbage.

  *ANY* suggestions will be <very> welcome... thanks!

------------------------------------------------------------------------------

                  /////                      ////    /////   ///   // ////
 ///    //////   //   //     ///  ////      // //// /// //  // //   ///  //
/////  /// //   //     //      ////  //    ///   ////   // //   //  //   //
// //////  //   //     //       //    //   //    //    //  ///////  //  //
//  ///   //   //     //   ////  //   //   //        ///  //    //      //
//        //    //    // ///  //  //  //   //           ///      //     //
//         //    //  // //   //  //   //  //      ///////                ///
//          ////  ////  //   //  //     ///
//                     //   //      /////
//                      // //       
                         ///                kludge@u.washington.edu
                                           
------------------------------------------------------------------------------
Technical Details
Message-ID: <1992Aug16.071037.21456@u.washington.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!sol.ctr.columbia.edu!destroyer!ubc-cs!uw-beaver!news.u.washington.edu!hardy.u.washington.edu!kludge

Show Full Headers
Complete Article Headers
Newsgroups: rec.games.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!usc!sol.ctr.columbia.edu!destroyer!ubc-cs!uw-beaver!news.u.washington.edu!hardy.u.washington.edu!kludge
From: kludge@hardy.u.washington.edu (MoonMan)
Subject: PC (S)VGA: Double buffering with the Tseng 4K
Message-ID: <1992Aug16.071037.21456@u.washington.edu>
Keywords: PC VGA SVGA MSDOS
Sender: news@u.washington.edu (USENET News System)
Reply-To: kludge@u.washington.edu
Organization: University of Washington, Seattle
Date: Sun, 16 Aug 1992 07:10:37 GMT
Lines: 52