PDA

View Full Version : Can you "draw" in DOS?



Garfield
10-07-2001, 08:10 PM
I want to set a couple of simple graphics for dos in a dos-based program. Can I do this? Thanks.

--Garfield

Xterria
10-07-2001, 09:14 PM
your subject doesn't match what you said:mad:

Garfield
10-08-2001, 07:12 AM
Sorry. My question is, can I code some simple drawings like circles, squares, etc.? Thanks.

--Garfield

no-one
10-08-2001, 12:10 PM
well with dos, afaik, you have very limited choices,

1. BGI,
2. Allegro,
3. Assembler.

assembler is Pure DOS only, no command prompt assembly graphics with windows.

master5001
10-10-2001, 01:25 PM
YOu don't actually have to use those. You can also make your own stuff, too. Check out www.brackeen.com (http://www.brackeen.com/home/vga/index.html) for some tutorials. For things like circles, there is Bresenham's Circle Algorithm. Anyways, good luck.

oskilian
10-11-2001, 02:51 PM
I really recommend you use Borland's BGI, It's easy to use and very flexible, there's also an example of bgi in the \BGI\ folder of Turbo C.

remember to change the current directory to the BGI folder, or copy it's contents to \BIN\

Good luck in your learning

Oskilian

Garfield
10-12-2001, 04:46 AM
I don't think that you guys are really understanding my question.

Can I make non-characters in DOS that will lead to simple graphics like a circle, square, etc.?

--Garfield

dk8790
10-12-2001, 08:29 PM
Well, have you heard of ANSII? or are you talking about stuff like this:
************************************************** *************** My Program **************
************************************************** **

Garfield
10-12-2001, 08:34 PM
no, not stuff like:
**************************************************
*************** My Program **************
**************************************************
**

"real" drawing

doubleanti
10-13-2001, 12:01 AM
maybe he means can he change the standard bitmapped data for the text characters... i don't think you can, maybe somehow... isn't it like, embedded into the bios or something like that? i'd figure so... something not in conventional ram... [not conventional as in 640k [though it might be], conventional as in... conventional...]

Garfield
10-13-2001, 06:30 AM
Yeh, doubleanti, that's pretty much what I mean. So, you can't do it? Oh well, I just wanted to full around with DOS a little. Nothing serious. Thanks.

doubleanti
10-13-2001, 11:22 AM
right on bro... good thinking!

eh... hehe... but i don't know how to do it... maybe it's somewhere in Ralph Browns Interrupt List... i've always thought that it was something sacred and closely tied to the system that it's set in stone and universal... so, can't help you that much further... sorry...

hth [somehow]...

Garfield
10-13-2001, 11:23 AM
Okay, don't worry about not knowing it. It is definitely not necessary. I'm getting into Windows programming anyway. Thanks.

Hillbillie
10-13-2001, 10:25 PM
>i don't think you can, maybe somehow... isn't it like, embedded into the bios or something like that?<

Quite the contrary, DA.

Here's a source file I got a while ago from Chris Giese.

It basically changes the text mode. To change the actual font, you must screw with the font arrays. It's really simple.

Hillbillie
10-13-2001, 10:35 PM
From what I've learned, the BIOS has a standard text mode font stored on chip. When the computer is turned on, that font gets copied to the video memory.

If you can find and modify that data, then you can change the font. This is what the source file does.

For each mode, there is a font. _bitmaps_8x8 and _bitmaps_8x16 I think. Each character is made up of either 8 or 16 values in hex. each hex value is a line of that character.

The first 8 or 16 values in the font array is ASCII character 0. The second is ASCII character 1 and so on.

A good program for editing fonts is the one found in 'tauron30'. Search for it on google.

doubleanti
10-13-2001, 10:40 PM
oh, well, there you go...

Garfield
10-14-2001, 08:43 AM
Okay. Thanks everyone. I just want to full around with DOS though. Windows programming is core.