Beefy Boxes and Bandwidth Generously Provided by pair Networks
We don't bite newbies here... much
 
PerlMonks  

Re: When I count, I think of numbers as...

by jonadab (Parson)
on May 31, 2005 at 12:15 UTC ( [id://462016]=note: print w/replies, xml ) Need Help??


in reply to Re^2: When I count, I think of numbers as...
in thread When I count, I think of numbers as...

There is a low-resolution color mode of size 160x100 pixels (lines are doubled), 16 colors.

That's one of the two available tricks to make text mode look like a low-res graphics mode. The other, easier to understand trick is the 80x50 mode that the Nibbles game (example code distributed with QBasic) used. The 160x100 mode is more difficult to achieve. The 160 part is easy to understand: it's 80 doubled, using IBM Extended ASCII block-shaped characters to split the text character cell vertically, in pretty much exactly the same way as Nibbles splits them horizontally. Getting 100 characters high instead of 25 is the hard part; apparently there's a little-known byte you can tweak someplace to change the character cell height. This is of little use normally, since with a height less than about 7 you could never read the text, so it's seldom mentioned or discussed, but there you go. (Of course, you already knew there was enough video RAM on a CGI card to hold 200 lines' worth of characters for text mode; this capability was usually used for quickly switching between several available screens, e.g., for help screens, "boss" screens, and the like.)

But if you use a "real" graphics mode (e.g., the 320x200 "medium resolution" mode), you only get four colors max, and three of them cannot be chosen independently; there are three available hardwired palettes. The fourth color is the "background" color and can be any of the 16 colors.

  • Comment on Re: When I count, I think of numbers as...

Replies are listed 'Best First'.
Re^2: When I count, I think of numbers as...
by ambrus (Abbot) on May 31, 2005 at 18:59 UTC

    Wow! I never knew this before.

    Getting 100 characters high instead of 25 is the hard part; apparently there's a little-known byte you can tweak someplace to change the character cell height. This is of little use normally, since with a height less than about 7 you could never read the text, so it's seldom mentioned or discussed, but there you go.

    Indeed, because you can not change the font. However, that register must be set to 1 to get the normal graphics modes.

    As the CGA adapter has 16_000 bytes of on-board ram, you have just enough for a 160x50 character text mode, so again this is possible. (I should have done the calculation before: if CGA supported it as native graphics mode, the resolution could have been 320x100 so as to fill all the available memory.)

    Also I guess you have to turn off blinking so that you can have all 16 colors as background, but CGA does have this feature.

    Indeed, now that I re-read this manual (yes, I am cheating), I've found this note on the page describing the mode register: "The low resolution (160 by 100) mode requires special programming and is set up as the 40 by 25 alphanumeric mode."

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://462016]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others scrutinizing the Monastery: (8)
As of 2024-04-19 15:34 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found