Xref: utzoo rec.games.programmer:2195 comp.os.msdos.programmer:856 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!zaphod.mps.ohio-state.edu!uakari.primate.wisc.edu!aplcen!haven!adm!cmcl2!kramden.acf.nyu.edu!brnstnd From: brnstnd@kramden.acf.nyu.edu (Dan Bernstein) Newsgroups: rec.games.programmer,comp.os.msdos.programmer Subject: Re: A big map with scrolling. How??? Message-ID: <20299:Sep1114:53:0290@kramden.acf.nyu.edu> Date: 11 Sep 90 14:53:02 GMT References: <1990Sep10.183857.15821@watserv1.waterloo.edu> Organization: IR Lines: 28 In article <1990Sep10.183857.15821@watserv1.waterloo.edu> pfratar@watserv1.waterloo.edu (Paul Frattaroli - DCS) writes: [ wants to display a *huge* map, IBM PC, MCGA ] [ real question, about how to store the bitmap, deleted ] > As to scrolling, I think that the only acceptable method may > be direct screen memory writes. Unless someone can direct me > otherwise. Years ago, just to see that the CGA really worked the way the 1.00 Tech Ref and other manuals said, I wrote a very simple text-mode maze game. You would move your happy face around the screen, dig through walls, suspect (correctly) that the game was changing the maze behind your back, and search for the exit. I don't remember the exact dimensions of the maze, but it was somewhat wider than the screen and much longer. Anyway, scrolling was truly instantaneous: the CGA had something to set the byte offset of the screen within its many screenfuls of memory, and *blip* everything shifted. (The maze was really on a torus. Think about it.) I don't remember many of the details, but I think you could do the same thing in graphics mode---except that you didn't have extra screens to play with, and couldn't easily change the horizontal dimensions. (How many of you know how to program a CGA for what was called ``low res'' graphics? I liked it, anyway.) The MCGA probably lets you use similar tricks, and may have removed some of the CGA's limitations---I dunno. The moral of this story is that you should look in the MCGA docs for a way to set the byte offset of the screen, then use that intelligently. ---Dan