Thread: How can I create foreign letters in DOS?

  1. #1
    1.b4 e5 2.a3 d5 3.d4 exd
    Join Date
    Jan 2003
    Posts
    167

    How can I create foreign letters in DOS?

    How would I create umlauts or accents in DOS?
    AIM: MarderIII

  2. #2
    Just because ygfperson's Avatar
    Join Date
    Jan 2002
    Posts
    2,490
    Umlauts and accents are sure to be there. I wouldn't hold my breath for the Euro, though.

  3. #3
    Normal vector Carlos's Avatar
    Join Date
    Sep 2001
    Location
    Budapest
    Posts
    463
    Hold on, there's always a hope :°)
    Using some nice (forgotten?) techniques, you can replace EGA/VGA ROM character sets with your own ones.

    The easiest way is to use int10h Character generator function 11h and it's subfunctions.

    Here is a small assembly snippet from one of my old programs. Assuming you use EGA/VGA textmodes :°), it will do what you need:

    Code:
    push bx
    push cx
    push es
    push bp // save registers
    
     mov bp, offset fnt  // set bp to point to your character table
      mov bx,cs   
      mov es,bx   // es points to the code segment
      mov bh,16   // height oof each character
      mov cx,100h // number of characters to redefine (256 - all!)
      xor dx,dx     // ASCII code of the first char to be redefined
      xor bl,bl       // font block to load
      mov ax,1110h // function 11h subfunc. 10h
      int 10h            // video services
    
    pop bp  // restore registers
    pop es
    pop cx
    pop bx
    
    // the user defined font table - 
    // there are several freeware tools to create your own VGA fonts
    fnt        dw      9 dup (0)
                db       7Eh, 81h,0A5h, 81h, 81h,0BDh
    ...
    Well, I won't copy-paste the full character table here, if you're interested, check e.g. my sysinfo program (pressing TAB will change the fonts, just run it in pure DOS or full-screen window if run in a DOS box[/B]).

    Source and binaries also available.
    If you need more information about BIOS video functions, check Ralph Browns Interrupt List. Great work!

    Have fun!

    ASM rules!

  4. #4
    Programming is fun, mkay?
    Join Date
    Oct 2001
    Posts
    490

    Lightbulb ALT key codes is what you need...

    Well, if you mean things like this 'é' then you hold ALT, press any 3 or 4 number combination (one after the other) on the right keypad on your keyboard (where it has Enter, +, -, *, /, Num Lock, etc.) and let go of ALT. You can find the different key codes on the web. You can do stuff like '¿' 'Ç', 'é', 'ì', etc. also. Try a Google search for ALT key codes. I hope this helps =)!!
    Website(s): http://www16.brinkster.com/trifaze/

    E-mail: [email protected]

    ---------------------------------
    C++ Environment: MSVC++ 6.0; Dev-C++ 4.0/4.1
    DirectX Version: 9.0b
    DX SDK: DirectX 8.1 SDK

  5. #5
    I lurk
    Join Date
    Aug 2002
    Posts
    1,361
    If you're using a Win32 Console, there's always unicode. It involves much more than I care to explain here, so have a look on google about using unicode in your C/C++ applications.

  6. #6
    Normal vector Carlos's Avatar
    Join Date
    Sep 2001
    Location
    Budapest
    Posts
    463
    The original question was
    How would I create umlauts or accents in DOS?
    ..and, as this is a site for programmers, I tried to show how one can create characters in DOS.

Popular pages Recent additions subscribe to a feed

Similar Threads

  1. Button handler
    By Nephiroth in forum Windows Programming
    Replies: 8
    Last Post: 03-12-2006, 06:23 AM
  2. How to create a file association program?
    By eShain in forum Windows Programming
    Replies: 1
    Last Post: 03-06-2006, 12:15 PM
  3. Cannot create MDI Client Win
    By JaWiB in forum Windows Programming
    Replies: 1
    Last Post: 10-31-2005, 10:05 PM
  4. Batch file programming
    By year2038bug in forum Tech Board
    Replies: 10
    Last Post: 09-05-2005, 03:30 PM
  5. Creepy DOS and BIOS functions (need help!!!)
    By James00 in forum C Programming
    Replies: 9
    Last Post: 05-05-2003, 12:40 AM