ITS NOT MY HOME WORK I m Just Keen to do it. I don't want you to give me the code.
I just want you to tell me how to access VDU and directly change character on same screen.

The screen is divided into 25 rows and 80 columns. The characters that are displayed on the
screen are stored in a special memory called VDU memory (not to be confused with ordinary
memory). Each character displayed on the screen occupies two bytes in VDU memory. The
first of these bytes contains the ASCII value of the character being displayed, whereas, the
second byte contains the colour in which the character is displayed. For example, the ASCII
value of the character present on zeroth row and zeroth column on the screen is stored at
location number 0xB8000000. Therefore the colour of this character would be present at
location number 0xB8000000 + 1. Similarly ASCII value of character in row 0, col 1 will be
at location 0xB8000000 + 2, and its colour at 0xB8000000 + 3. With this knowledge write a
program which when executed would keep converting every capital letter on the screen to
small case letter and every small case letter to capital letter. The procedure should stop the
moment the user hits a key from the keyboard. This is an activity of a rampant Virus called
Dancing Dolls. (For monochrome adapter, use 0xB0000000 instead of 0xB8000000).

Really I don't have any idea to build this code.


First suggestion is to Google for a C program called "Matrix". it uses this technique to simulate the graphics of the Matrix movie (falling chars), in the console window of your VDU.

It uses pointer notation, but remember that this: *(myArray + i) is the same as myArray, so therefore *(myArray +(numberOfColumn* rowNumber) + column), is the same thing as myArray[row][col].

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.