TIP: Click on subject to list as thread! ANSI
echo: z3_pascal
to: David Ikin
from: Edmund Harrison
date: 1996-10-25 13:50:00
subject: Various Programming Prob

David,

DI> 1.     Can anyone please tell me how to introduce graphics effects in
DI> text mode, in Turbo C++ or Turbo Pascal?
DI>      This may sound nonsensical, and even self-contradictory, but in
DI> version 8 of Norton Utilities, exactly this is done.  Most of the
DI> screen is displayed quite clearly in text mode, not graphics mode, in
DI> the ordinary way, with letter, ASCII boxes, and the like.  Yet here
DI> and there, there are simple graphics which cannot be made up of any
DI> ASCII characters: for instance, little graphics representing folders
DI> (to indicate sub-directories), and arrows which are bigger than the
DI> normal ASCII ones.  Clearly this could be a useful technique for when
DI> you don't want to write an entire program in graphics mode.
DI>      If anyone who reads this knows the answer, I would be glad to
DI> hear from you.

You will probably find that what Norton Utilities is doing here is actually
re-programming certain ascii characters to represent the folder.

What I mean is this, Via certain ports in the VGA card you can actually re
programme how each ASCII character looks on the screen, so if you wanted to
draw a folder then you would re-programme 2 or 3 characters so that when they
were on the screen next to each other they would look like a folder.
Check out SWAG, this should have a few examples of this.



DI> 4.
DI>      Can anyone please tell me how, in Turbo C++ or Turbo Pascal, to
DI> cause sound to operate in the background: that is, while other things
DI> are happening at the same time, and without slowing them down?
DI>      Normally, if one uses Pascal's Sound command, followed by Delay
DI> (to determine how long the sound lasts), everything else that might be
DI> happening (calculations, screen display, or anything else) is
DI> suspended for the duration of the sound.  Is there a way of preventing
DI> this using the Sound procedure, or perhaps by working at a lower
DI> level, such as direct manipulation of memory?  I know it can be done
DI> in BASIC, so I assume there is a way in Pascal or C++.
DI>

What you need to do here is re-programme an interrupt to play your sound in the
background. Check out the TIMING section of swag, this should also have a few
good examples of hooking interrupts.



DI> 5.
DI>      I was rather surprised to find that in the configuration utility
DI> for Norton Utilities (version 4.5), you can set screen display colours
DI> to a variety of colours far exceeding the normal 16 available in text
DI> mode.  I think 64 colours were available, including many subtly
DI> different shades of basic colours such as blue or green.  (The entire
DI> program works in text mode, never graphics mode.)  Can anyone tell me,
DI> please, how to do this in programs written in Turbo C++ or Turbo
DI> Pascal?

Norton Utilities could be doing one of two things here, Either changing the
pallette to give a wide variety of colours, but only being able to display 16
at a time, or they could be mixing foreground and background colours, by using
dotted, ASCII characters.

I have however heard that it is possible to display up to 64 colours in text
mode at a time, but I have never seen any code to do it.

Regards,
        Paul.

... nfx v2.9 [C0000]  http://www.westonia.com/blueview/                      

---
* Origin: Melbourne PC User Group BBS (3:632/309)
SEEN-BY: 633/267 270
@PATH: 632/309 107 635/503 50/99 635/728 633/267

SOURCE: echomail via fidonet.ozzmosis.com

Email questions or comments to sysop@ipingthereforeiam.com
All parts of this website painstakingly hand-crafted in the U.S.A.!
IPTIA BBS/MUD/Terminal/Game Server List, © 2025 IPTIA Consulting™.