Open fanoI opened 8 years ago
As this issue has received no new activity, it has been marked as stale
This is very outdated as of today
Which part of it? Quickly going through the list, it seems accurate.
It is 7 years old, for sure most of them have been plugged, I'll check when I get on my pc
List of Console not implemented methods
In the following issue there is a list of the properties methods not implemented for the Console class.
Properties or Methods regarding streaming redirection
This is the list of not implemented properties:
This is the list not implemented methods:
Possible Implementation
The original Console has two objects inside it TextWriter and TextReader that abstract the console standard out, standard error and standard input. The Cosmos console is based on a TextScreen that is a low level implementation of BIOS console. This difference could be a problem?
Properties regarding Cursor
This is the list of not implemented properties:
Possible Implementation:
It is possible to change the size (shape) of the Cursor and hide / show it writing in the BIOS register documented here. The code is really similar to the one used for the implementation SetCursorPosition.
Properties or Methods regarding Virtual Consoles
This is the list of not implemented properties:
This is the list of not implemented methods:
Possible Implementation:
These properties / methods regards surely Virtual Consoles as the BIOS have not these properties these could have sense if - in future - we have Virtual Consoles implemented in VGA / VESA for this could be implemented later.
Properties / Methods regarding Keyboard
This is the list of not implemented properties:
This is the list of partially implemented methods but that have bugs:
Possible Implementation:
To be yet investigated. I suggest to give the "method not implemented" string instead of bugged / wrong behavior in any case.
Methods to write values on Console
This is the list of partially implemented methods but that have bugs::
This is the list of not implemented methods:
Possible Implementation:
It seems that a lot of problems are because the method toString() is not yet implemented (or be incorrectly implemented) for a lot Objects as a lot of Write() could be simply implemented as a call to the corresponding toString() for example:
The Write()/WriteLine() with format are really useful from the programmer point of view but seems a nightmare to implement: not only the placeholder substitution is needed but printf() like format specifiers could be used (for example to print a number as hexadecimal), localization takes a place here too: a Date could shown in the user culture preferred way (2015/11/23 for en/US but 23/11/2015 for it/EU!). A first version could be simplified:
Properties regarding Input / Output encoding
This is the list of not implemented properties:
Possible implementation:
For the BIOS Console a character has the size of one Byte, the characters from 0 to 127 are the classical ASCII characters, the characters with value > 127 have a representation that depends from the code pages used. For .NET, instead, a character is expressed in UFT-16 (typically 2 byte) so if the user enters a not ASCII character a conversion from UTF-16 to the specified code page is needed and when a character not ASCII is read (for example with Console.ReadLine()) the inverse conversion should happen.
This a possible list of the modification to do: