Talk:Mode 13h
Bleah. I'm a DOS Mode 13h programming veteran, and I found the page nearly incomprehensible. I envision many people are going to get here after a google search on mode 13h. We need external links to Mode13h C and X86 ASM pages, maybe some sample source code, and especially a couple of diagrams representing the VGA hardware plane layout. My drawing skills are limited to Microsoft Paintbrush, alas. --Ardonik 06:41, Jul 14, 2004 (UTC)
- Ardonik - i'm not much of a wikipedia buff, so don't know the best way of contacting you. Would like to get in touch with you via email to discuss improving the Mode 13h page. One of my big interests is the inner workings of the VGA (yes, I am sad). Essentially i'd like to improve the page such that it provides a better insight to people who just want to understand how to program Mode 13, yet I dont want to lose the technical detail I have provided on the workings of Mode 13h. It's my opinion that one of the great things about the Wikipedia is the ability (through the passion of individuals) to provide detail about subjects that may well otherwise be lost in the course of time. The VGA is a rather complex beast (it's taken me a long time to get my head round its detailed workings and there is still stuff I dont completely understand), and so I admit my description may be poor. If I can, I'll include diagrams from IBM's orginal technical documentation on the VGA, but i'm worried about copyright implications. --User:funkymonkey
Can you put up some source code? I can't seem to get into mode 13h with a 32-bit compiler (I can only seem to do it with Turbo C++). Does 13h work on non-DOS machines (like Linux, Unix)? http://www.daniweb.com/techtalkforums/post98509.html <-- Nevermind. Apparently Mode 13h only works in DOS, and can only be compiled with 16-bit compilers.
Instead of saying "Mode 13h is slang for ..." I would prefer something like "Mode 13h refers to the standard 256 colour mode on IBM's VGA graphics hardware. The 13h in the name refers to a hexadecimal notation popular in computer languages such as assembler." (that's not the best, but you get my drift?). Also, code to switch to mode 13h in assembler:
mov ax, 13h
int 10h
This is a BIOS call. Yes, it is 16bit, but I would have thought it would be available for all x86 computers? -talistreit
- talistreit:, I did that for ya. I also removed the reference about mode 13h being so popular for scrolling. This just isn't really true. In mode13h nearly all of the 65535bytes of memory are used (64000 for 320x200) and so scrolling ability is margininal, although it is possible to scroll horizontally somewhat. Furthermore, the scroll register mentioned (the start address register) is available in all modes and is not special to Mode 13h. To make the most of hardware scrolling you need at least two pages to do wraparound vertical scrolling, and add a little more for horizontal scroll. If anyone wants any further evidence of VGA scrolling techniques, I can provide them. I have not seen anyone do infinite vertical scrolling on a VGA in Mode13h. It was Mode-X that was so popular for scrolling because of the extra pages available.
--funkymonkey.