diff --git a/src/conio/conio.dsp b/src/conio/conio.dsp
index 0d42ab908ef4a53fdbce2f2a95cf419b1b71ba9e..9bcd1c12ab5ed7434202f43f25a1ea28c84a320d 100644
--- a/src/conio/conio.dsp
+++ b/src/conio/conio.dsp
@@ -1,108 +1,108 @@
-# Microsoft Developer Studio Project File - Name="conio" - Package Owner=<4>
-# Microsoft Developer Studio Generated Build File, Format Version 6.00
-# ** DO NOT EDIT **
-
-# TARGTYPE "Win32 (x86) Static Library" 0x0104
-
-CFG=conio - Win32 Debug
-!MESSAGE This is not a valid makefile. To build this project using NMAKE,
-!MESSAGE use the Export Makefile command and run
-!MESSAGE 
-!MESSAGE NMAKE /f "conio.mak".
-!MESSAGE 
-!MESSAGE You can specify a configuration when running NMAKE
-!MESSAGE by defining the macro CFG on the command line. For example:
-!MESSAGE 
-!MESSAGE NMAKE /f "conio.mak" CFG="conio - Win32 Debug"
-!MESSAGE 
-!MESSAGE Possible choices for configuration are:
-!MESSAGE 
-!MESSAGE "conio - Win32 Release" (based on "Win32 (x86) Static Library")
-!MESSAGE "conio - Win32 Debug" (based on "Win32 (x86) Static Library")
-!MESSAGE 
-
-# Begin Project
-# PROP AllowPerConfigDependencies 0
-# PROP Scc_ProjName ""
-# PROP Scc_LocalPath ""
-CPP=cl.exe
-RSC=rc.exe
-
-!IF  "$(CFG)" == "conio - Win32 Release"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 0
-# PROP BASE Output_Dir "Release"
-# PROP BASE Intermediate_Dir "Release"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 0
-# PROP Output_Dir "msvc.win32.release"
-# PROP Intermediate_Dir "msvc.win32.release"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
-# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I "..\xpdev" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "LINK_LIST_THREADSAFE" /YX /FD /c
-# ADD BASE RSC /l 0x409 /d "NDEBUG"
-# ADD RSC /l 0x409 /d "NDEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ELSEIF  "$(CFG)" == "conio - Win32 Debug"
-
-# PROP BASE Use_MFC 0
-# PROP BASE Use_Debug_Libraries 1
-# PROP BASE Output_Dir "Debug"
-# PROP BASE Intermediate_Dir "Debug"
-# PROP BASE Target_Dir ""
-# PROP Use_MFC 0
-# PROP Use_Debug_Libraries 1
-# PROP Output_Dir "msvc.win32.debug"
-# PROP Intermediate_Dir "msvc.win32.debug"
-# PROP Target_Dir ""
-# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
-# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "." /I "..\xpdev" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "LINK_LIST_THREADSAFE" /YX /FD /GZ /c
-# ADD BASE RSC /l 0x409 /d "_DEBUG"
-# ADD RSC /l 0x409 /d "_DEBUG"
-BSC32=bscmake.exe
-# ADD BASE BSC32 /nologo
-# ADD BSC32 /nologo
-LIB32=link.exe -lib
-# ADD BASE LIB32 /nologo
-# ADD LIB32 /nologo
-
-!ENDIF 
-
-# Begin Target
-
-# Name "conio - Win32 Release"
-# Name "conio - Win32 Debug"
-# Begin Source File
-
-SOURCE=.\ansi_cio.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\ciolib.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\cterm.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\mouse.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\vidmodes.c
-# End Source File
-# Begin Source File
-
-SOURCE=.\win32cio.c
-# End Source File
-# End Target
-# End Project
+# Microsoft Developer Studio Project File - Name="conio" - Package Owner=<4>
+# Microsoft Developer Studio Generated Build File, Format Version 6.00
+# ** DO NOT EDIT **
+
+# TARGTYPE "Win32 (x86) Static Library" 0x0104
+
+CFG=conio - Win32 Debug
+!MESSAGE This is not a valid makefile. To build this project using NMAKE,
+!MESSAGE use the Export Makefile command and run
+!MESSAGE 
+!MESSAGE NMAKE /f "conio.mak".
+!MESSAGE 
+!MESSAGE You can specify a configuration when running NMAKE
+!MESSAGE by defining the macro CFG on the command line. For example:
+!MESSAGE 
+!MESSAGE NMAKE /f "conio.mak" CFG="conio - Win32 Debug"
+!MESSAGE 
+!MESSAGE Possible choices for configuration are:
+!MESSAGE 
+!MESSAGE "conio - Win32 Release" (based on "Win32 (x86) Static Library")
+!MESSAGE "conio - Win32 Debug" (based on "Win32 (x86) Static Library")
+!MESSAGE 
+
+# Begin Project
+# PROP AllowPerConfigDependencies 0
+# PROP Scc_ProjName ""
+# PROP Scc_LocalPath ""
+CPP=cl.exe
+RSC=rc.exe
+
+!IF  "$(CFG)" == "conio - Win32 Release"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 0
+# PROP BASE Output_Dir "Release"
+# PROP BASE Intermediate_Dir "Release"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 0
+# PROP Output_Dir "msvc.win32.release"
+# PROP Intermediate_Dir "msvc.win32.release"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_MBCS" /D "_LIB" /YX /FD /c
+# ADD CPP /nologo /MT /W3 /GX /O2 /I "." /I "..\xpdev" /D "NDEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "LINK_LIST_THREADSAFE" /YX /FD /c
+# ADD BASE RSC /l 0x409 /d "NDEBUG"
+# ADD RSC /l 0x409 /d "NDEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ELSEIF  "$(CFG)" == "conio - Win32 Debug"
+
+# PROP BASE Use_MFC 0
+# PROP BASE Use_Debug_Libraries 1
+# PROP BASE Output_Dir "Debug"
+# PROP BASE Intermediate_Dir "Debug"
+# PROP BASE Target_Dir ""
+# PROP Use_MFC 0
+# PROP Use_Debug_Libraries 1
+# PROP Output_Dir "msvc.win32.debug"
+# PROP Intermediate_Dir "msvc.win32.debug"
+# PROP Target_Dir ""
+# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_MBCS" /D "_LIB" /YX /FD /GZ /c
+# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "." /I "..\xpdev" /D "_DEBUG" /D "WIN32" /D "_MBCS" /D "_LIB" /D "LINK_LIST_THREADSAFE" /YX /FD /GZ /c
+# ADD BASE RSC /l 0x409 /d "_DEBUG"
+# ADD RSC /l 0x409 /d "_DEBUG"
+BSC32=bscmake.exe
+# ADD BASE BSC32 /nologo
+# ADD BSC32 /nologo
+LIB32=link.exe -lib
+# ADD BASE LIB32 /nologo
+# ADD LIB32 /nologo
+
+!ENDIF 
+
+# Begin Target
+
+# Name "conio - Win32 Release"
+# Name "conio - Win32 Debug"
+# Begin Source File
+
+SOURCE=.\ansi_cio.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\ciolib.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\cterm.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\mouse.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\vidmodes.c
+# End Source File
+# Begin Source File
+
+SOURCE=.\win32cio.c
+# End Source File
+# End Target
+# End Project
diff --git a/src/conio/conv2vid.pl b/src/conio/conv2vid.pl
new file mode 100755
index 0000000000000000000000000000000000000000..570426ed3c274f6fa316ad931cba513767f2caad
--- /dev/null
+++ b/src/conio/conv2vid.pl
@@ -0,0 +1,275 @@
+#!/usr/bin/perl
+
+my %chars=(
+"\x00", "B_00000000_B",
+"\x01", "B_10000000_B",
+"\x02", "B_01000000_B",
+"\x03", "B_11000000_B",
+"\x04", "B_00100000_B",
+"\x05", "B_10100000_B",
+"\x06", "B_01100000_B",
+"\x07", "B_11100000_B",
+"\x08", "B_00010000_B",
+"\x09", "B_10010000_B",
+"\x0a", "B_01010000_B",
+"\x0b", "B_11010000_B",
+"\x0c", "B_00110000_B",
+"\x0d", "B_10110000_B",
+"\x0e", "B_01110000_B",
+"\x0f", "B_11110000_B",
+"\x10", "B_00001000_B",
+"\x11", "B_10001000_B",
+"\x12", "B_01001000_B",
+"\x13", "B_11001000_B",
+"\x14", "B_00101000_B",
+"\x15", "B_10101000_B",
+"\x16", "B_01101000_B",
+"\x17", "B_11101000_B",
+"\x18", "B_00011000_B",
+"\x19", "B_10011000_B",
+"\x1a", "B_01011000_B",
+"\x1b", "B_11011000_B",
+"\x1c", "B_00111000_B",
+"\x1d", "B_10111000_B",
+"\x1e", "B_01111000_B",
+"\x1f", "B_11111000_B",
+"\x20", "B_00000100_B",
+"\x21", "B_10000100_B",
+"\x22", "B_01000100_B",
+"\x23", "B_11000100_B",
+"\x24", "B_00100100_B",
+"\x25", "B_10100100_B",
+"\x26", "B_01100100_B",
+"\x27", "B_11100100_B",
+"\x28", "B_00010100_B",
+"\x29", "B_10010100_B",
+"\x2a", "B_01010100_B",
+"\x2b", "B_11010100_B",
+"\x2c", "B_00110100_B",
+"\x2d", "B_10110100_B",
+"\x2e", "B_01110100_B",
+"\x2f", "B_11110100_B",
+"\x30", "B_00001100_B",
+"\x31", "B_10001100_B",
+"\x32", "B_01001100_B",
+"\x33", "B_11001100_B",
+"\x34", "B_00101100_B",
+"\x35", "B_10101100_B",
+"\x36", "B_01101100_B",
+"\x37", "B_11101100_B",
+"\x38", "B_00011100_B",
+"\x39", "B_10011100_B",
+"\x3a", "B_01011100_B",
+"\x3b", "B_11011100_B",
+"\x3c", "B_00111100_B",
+"\x3d", "B_10111100_B",
+"\x3e", "B_01111100_B",
+"\x3f", "B_11111100_B",
+"\x40", "B_00000010_B",
+"\x41", "B_10000010_B",
+"\x42", "B_01000010_B",
+"\x43", "B_11000010_B",
+"\x44", "B_00100010_B",
+"\x45", "B_10100010_B",
+"\x46", "B_01100010_B",
+"\x47", "B_11100010_B",
+"\x48", "B_00010010_B",
+"\x49", "B_10010010_B",
+"\x4a", "B_01010010_B",
+"\x4b", "B_11010010_B",
+"\x4c", "B_00110010_B",
+"\x4d", "B_10110010_B",
+"\x4e", "B_01110010_B",
+"\x4f", "B_11110010_B",
+"\x50", "B_00001010_B",
+"\x51", "B_10001010_B",
+"\x52", "B_01001010_B",
+"\x53", "B_11001010_B",
+"\x54", "B_00101010_B",
+"\x55", "B_10101010_B",
+"\x56", "B_01101010_B",
+"\x57", "B_11101010_B",
+"\x58", "B_00011010_B",
+"\x59", "B_10011010_B",
+"\x5a", "B_01011010_B",
+"\x5b", "B_11011010_B",
+"\x5c", "B_00111010_B",
+"\x5d", "B_10111010_B",
+"\x5e", "B_01111010_B",
+"\x5f", "B_11111010_B",
+"\x60", "B_00000110_B",
+"\x61", "B_10000110_B",
+"\x62", "B_01000110_B",
+"\x63", "B_11000110_B",
+"\x64", "B_00100110_B",
+"\x65", "B_10100110_B",
+"\x66", "B_01100110_B",
+"\x67", "B_11100110_B",
+"\x68", "B_00010110_B",
+"\x69", "B_10010110_B",
+"\x6a", "B_01010110_B",
+"\x6b", "B_11010110_B",
+"\x6c", "B_00110110_B",
+"\x6d", "B_10110110_B",
+"\x6e", "B_01110110_B",
+"\x6f", "B_11110110_B",
+"\x70", "B_00001110_B",
+"\x71", "B_10001110_B",
+"\x72", "B_01001110_B",
+"\x73", "B_11001110_B",
+"\x74", "B_00101110_B",
+"\x75", "B_10101110_B",
+"\x76", "B_01101110_B",
+"\x77", "B_11101110_B",
+"\x78", "B_00011110_B",
+"\x79", "B_10011110_B",
+"\x7a", "B_01011110_B",
+"\x7b", "B_11011110_B",
+"\x7c", "B_00111110_B",
+"\x7d", "B_10111110_B",
+"\x7e", "B_01111110_B",
+"\x7f", "B_11111110_B",
+"\x80", "B_00000001_B",
+"\x81", "B_10000001_B",
+"\x82", "B_01000001_B",
+"\x83", "B_11000001_B",
+"\x84", "B_00100001_B",
+"\x85", "B_10100001_B",
+"\x86", "B_01100001_B",
+"\x87", "B_11100001_B",
+"\x88", "B_00010001_B",
+"\x89", "B_10010001_B",
+"\x8a", "B_01010001_B",
+"\x8b", "B_11010001_B",
+"\x8c", "B_00110001_B",
+"\x8d", "B_10110001_B",
+"\x8e", "B_01110001_B",
+"\x8f", "B_11110001_B",
+"\x90", "B_00001001_B",
+"\x91", "B_10001001_B",
+"\x92", "B_01001001_B",
+"\x93", "B_11001001_B",
+"\x94", "B_00101001_B",
+"\x95", "B_10101001_B",
+"\x96", "B_01101001_B",
+"\x97", "B_11101001_B",
+"\x98", "B_00011001_B",
+"\x99", "B_10011001_B",
+"\x9a", "B_01011001_B",
+"\x9b", "B_11011001_B",
+"\x9c", "B_00111001_B",
+"\x9d", "B_10111001_B",
+"\x9e", "B_01111001_B",
+"\x9f", "B_11111001_B",
+"\xa0", "B_00000101_B",
+"\xa1", "B_10000101_B",
+"\xa2", "B_01000101_B",
+"\xa3", "B_11000101_B",
+"\xa4", "B_00100101_B",
+"\xa5", "B_10100101_B",
+"\xa6", "B_01100101_B",
+"\xa7", "B_11100101_B",
+"\xa8", "B_00010101_B",
+"\xa9", "B_10010101_B",
+"\xaa", "B_01010101_B",
+"\xab", "B_11010101_B",
+"\xac", "B_00110101_B",
+"\xad", "B_10110101_B",
+"\xae", "B_01110101_B",
+"\xaf", "B_11110101_B",
+"\xb0", "B_00001101_B",
+"\xb1", "B_10001101_B",
+"\xb2", "B_01001101_B",
+"\xb3", "B_11001101_B",
+"\xb4", "B_00101101_B",
+"\xb5", "B_10101101_B",
+"\xb6", "B_01101101_B",
+"\xb7", "B_11101101_B",
+"\xb8", "B_00011101_B",
+"\xb9", "B_10011101_B",
+"\xba", "B_01011101_B",
+"\xbb", "B_11011101_B",
+"\xbc", "B_00111101_B",
+"\xbd", "B_10111101_B",
+"\xbe", "B_01111101_B",
+"\xbf", "B_11111101_B",
+"\xc0", "B_00000011_B",
+"\xc1", "B_10000011_B",
+"\xc2", "B_01000011_B",
+"\xc3", "B_11000011_B",
+"\xc4", "B_00100011_B",
+"\xc5", "B_10100011_B",
+"\xc6", "B_01100011_B",
+"\xc7", "B_11100011_B",
+"\xc8", "B_00010011_B",
+"\xc9", "B_10010011_B",
+"\xca", "B_01010011_B",
+"\xcb", "B_11010011_B",
+"\xcc", "B_00110011_B",
+"\xcd", "B_10110011_B",
+"\xce", "B_01110011_B",
+"\xcf", "B_11110011_B",
+"\xd0", "B_00001011_B",
+"\xd1", "B_10001011_B",
+"\xd2", "B_01001011_B",
+"\xd3", "B_11001011_B",
+"\xd4", "B_00101011_B",
+"\xd5", "B_10101011_B",
+"\xd6", "B_01101011_B",
+"\xd7", "B_11101011_B",
+"\xd8", "B_00011011_B",
+"\xd9", "B_10011011_B",
+"\xda", "B_01011011_B",
+"\xdb", "B_11011011_B",
+"\xdc", "B_00111011_B",
+"\xdd", "B_10111011_B",
+"\xde", "B_01111011_B",
+"\xdf", "B_11111011_B",
+"\xe0", "B_00000111_B",
+"\xe1", "B_10000111_B",
+"\xe2", "B_01000111_B",
+"\xe3", "B_11000111_B",
+"\xe4", "B_00100111_B",
+"\xe5", "B_10100111_B",
+"\xe6", "B_01100111_B",
+"\xe7", "B_11100111_B",
+"\xe8", "B_00010111_B",
+"\xe9", "B_10010111_B",
+"\xea", "B_01010111_B",
+"\xeb", "B_11010111_B",
+"\xec", "B_00110111_B",
+"\xed", "B_10110111_B",
+"\xee", "B_01110111_B",
+"\xef", "B_11110111_B",
+"\xf0", "B_00001111_B",
+"\xf1", "B_10001111_B",
+"\xf2", "B_01001111_B",
+"\xf3", "B_11001111_B",
+"\xf4", "B_00101111_B",
+"\xf5", "B_10101111_B",
+"\xf6", "B_01101111_B",
+"\xf7", "B_11101111_B",
+"\xf8", "B_00011111_B",
+"\xf9", "B_10011111_B",
+"\xfa", "B_01011111_B",
+"\xfb", "B_11011111_B",
+"\xfc", "B_00111111_B",
+"\xfd", "B_10111111_B",
+"\xfe", "B_01111111_B",
+"\xff", "B_11111111_B",
+);
+
+open IN,"< ".shift;
+while(read(IN, $ch, 1)) {
+	my $val=ord($ch);
+
+	$val=(($val & 1)<<7)
+		| (($val & 2)<<5)
+		| (($val & 4)<<3)
+		| (($val & 8)<<1)
+		| (($val & 16)>>1)
+		| (($val & 32)>>3)
+		| (($val & 64)>>5)
+		| (($val & 128)>>7);
+	print $chars{chr($val)},"\n";
+}