Hi,
Here's some information about
Int 0x10, ah = 0x00. Notice how mode 0x13 (the mode you ask for) isn't 640 * 480 with 16 colors?
For 640 * 480 with 16 colors, you'd need access to a minimum of 153600 bytes of video display memory. The area from 0x000A0000 to 0x000AFFFF is only 65536 bytes, and isn't big enough. To get around that, for 16 colour modes they arrange display memory as 4 separate "planes". To access these planes, there's different read modes and write modes. I'm not too sure how you've setup the "write mode" exactly (too lazy to look it up), but the point is, you're not using a 16 colour mode (you are using a 256-colour mode which works in an entirely different way) and therefore you shouldn't be messing with the "write mode" to begin with.
Then you attempt to write 38400 bytes, but because you're not using 640*480 with 16 colors (and you are using something else), 38400 wouldn't be enough to cover the entire screen.
wannabedeveloper wrote:I recently found a script online that writes to video memory.
It's not a script. It's assembly language source code.
wannabedeveloper wrote:As a side note, what are the possible results of messing with video memory/video drive?
If you're not careful, you might get a blue screen with weird blotchy discolored rectangular patches all over the screen...
Cheers,
Brendan