Hi, I have fixed CODEPAGE status display in the new FreeDOS MODE and, surprise surprise, added the ability to shift the display image to the left or to the right (one step or interactively) on older-than-EGA hardware (in particular, CGA). Please test if you have such hardware! Note that this MODE allows shifting by single chars in 80 column mode while MS MODE would shift in steps of 2 chars there according to http://www.csulb.edu/~murdock/mode.html ... if this is a problem, tell me. http://andercheran.aiind.upv.es/~amstrad/docs/mc6845/mc6845.htm is the page which finally got me started on CGA shifting. Okay. Now go and get it :-)) http://www.coli.uni-sb.de/~eric/stuff/soft/specials/ mode-modecon-21feb2004.zip New FreeDOS MODE by Eric Auer 2003-2004. License: GPL. (version 21feb2004) MODE [device] [/STA[TUS]] (show status of one or all devices) MODE LPTn[:] cols[,[lines][,retry]] (80/132 cols, 6/8 lpi, retry p or n) MODE LPTn[:] [COLS=...] [LINES=...] [RETRY=...] (retry: p infinite / n none) MODE LPTn[:]=[COMn[:]|NUL] (redirect printer data to serial port or NUL) MODE COMn[:] baud,parity,data,stop,retry (empty values allowed) MODE COMn[:] [BAUD=...] [PARITY=...] [DATA=...] [STOP=...] [RETRY=...] Baud can be abbreviated to unique prefix, parity can be o/e/n/s/m, the latter 2 mean space/mark, data can be 5..8, stop 1..2. Retry is IGNORED! PLANNED: Retry b/e/r -> busy/error/ready if busy, p/n infinite/no retry. MODE CON[:] [CP|CODEPAGE] REFRESH (FreeDOS DISPLAY must be loaded) MODE CON[:] [CP|CODEPAGE] SELECT=number (needs DISPLAY) MODE CON[:] [CP|CODEPAGE] PREPARE=((codepage) filename) (needs DISPLAY) MODE CON[:] [CP|CODEPAGE] [/STA[TUS]] (needs DISPLAY) MODE [40|80|BW40|BW80|CO40|CO80|MONO][,rows] (rows can be 25, 28, 43 or 50) Use 8, 14 or 16 as 'rows' value if you only want to change the font. MODE [CO40|CO80|...],[R|L][,T] (shift CGA left/right, T is interactive mode) MODE CON[:] [NUMLOCK|CAPSLOCK|SCROLLLOCK|SWITCHAR]=value Value can be: + or - for the locks or a character for switchar. MODE CON[:] [COLS=...] [LINES=...] (possible values depend on your hardware) MODE CON[:] [RATE=...] [DELAY=...] (default rate 20, default delay 1) Rate can be 1..32 for 2..30 char/sec, delay can be 1..4 for 1/4..4/4 sec. >>mode con *** CONSOLE STATUS *** CODEPAGE status for device CON: Active codepage was never set. Subfonts: 3 Hardware codepages: 437 Prepared codepages: 0 Screen size: 80 columns, 25 rows, mode 3, font height 16. Switchar is '/'. Numlock is off. Scrolllock is off. Capslock is off. Note that "MODE 80,rows" and "MODE 40,rows" and even "MODE ,rows" are recognized now! But be warned that using VESA is only attempted if you use the new style "CON COLS=... LINES=..." syntax. The MODE mode,rows" syntax implicitly selects a non-VESA, CGA/MONO compatible mode with EGA/VGA tweaking as the most extreme number-of-rows changing measure possible (i.e. loading another font or switching 350<->400 pixel lines). The binary of MODE is now 15k big (UPXed, otherwise 28k). Cheers! Eric.