Hello, To answer this mail, and Davi Ramos' question of "what a codepage is".
In classic text mode, your display adapter can only display up to 256 different characters (glyphs) simultaneously, which is obviously not enough for having all alphabets for different languages (even less all of Unicode). This is so because the graphic card uses ONE byte (0..255) for each position of the screen (usually 80x25 positions if you do not change the mode). This is solved by using codepages. A code page is a set of 256 characters (glyphs) that you can simultaneously display on a screen, similar to today's encodings. One of the first and most widely used encoding/character sets used even before DOS was ASCII, that is 7-bit (128 characters). All the codepages (that I know of) are ASCII-compatible, which means that they have the same characters for the first 128 positions (0..127). This encoding of 127 characters is enough for English but not much more. For most machines, there is a default 256-character set or codepage in your graphic card firmware, which in most of the cases (all that I know of) is 437. Codepage 437 tries to complement the basic English ASCII with some characters in order to enable some other western european languages, but it does not do it in a perfect manner. For the case of Spanish, for example, you get ñÑ¿¡ and also áéíóúÉ, but pitifully not ÁÍÓÚ, so it does not make it suitable for Spanish. Graphic cards usually allow the installation of new codepages. When you do: DISPLAY CON=(EGA,437,1) you are telling DISPLAY that your CON device is tied to an EGA card that has codepage 437 as default. And that you want to be able to use an extra software codepage. There isn't a codepage per country, but mostly a codepage per alphabet. Codepage 850 complements the English ASCII with some other characters required to display most other western European alphabets, so 850 is suitable for most western European countries. But it was defined before the advent of the Euro, so it does not have the € sign. Codepage 858 is the same as 850, but replaces the dotless Turkish i with the Euro sign € (I doubt that 850 is suitable for Turkish anyway). Thus, 858 is the best option for western European countries. When you do MODE CON CP PREP=((858) C:\FREEDOS\cpi\EGA.CPX) what you do is: tell your CON device (previously controlled by DISPLAY) to fill the software codepage that you want with the information for codepage 858, that can be found inside EGA.CPX. But your CON device is still using the default (BIOS) codepage. If you want to change codepage, you can do either: CHCP 858 (with NLSFUNC loaded) that tells DOS to change the codepage to 858 everywhere (kernel and ALL devices), or MODE CON CP SEL=858 which tells DOS to change to codepage 858 ONLY in your CON device (where as DOS kernel and all other devices remain unchanged, and probably inconsistent). If you think this is not important, think that DOS does capitalise filenames when storing in FAT, and that this capitalisation is codepage-dependent. Fortunately, you usually overcome this problem by using COUNTRY= in CONFIG.SYS. Aitor On Fri, 26 Apr 2024 at 01:48, Joao Silva via Freedos-user < freedos-user@lists.sourceforge.net> wrote: > Hello. > > So, whats the code for Portugal Portuguese? > > Thank you. > > On Thu, Apr 25, 2024 at 6:43 PM Jim Hall via Freedos-user < > freedos-user@lists.sourceforge.net> wrote: > >> Davi Ramos wrote: >> >> > The "ã" is a very common character in Portuguese. It shows up in >> words >> >> > such as "não", "alçapão", and "órgão". >> >> > >> >> > The system's keyboard and layout are already configured to "br" (for >> >> > Brazilian Portuguese) and working perfectly. Other accentuated >> >> > characters display just fine. That is the case of "á", "à", "ô". >> >> > However, "ã" shows as something else entirely. Image below: >> >> > oIh6TW8.png >> >> > >> >> > How can I get FreeDOS to correctly display those characters? >> >> >> Vacek Nules wrote: >> > >> > Hi Davi, >> > >> > Your codepage is probably set to CP437, which does not contain the >> > "ã" character. Change your codepage to CP850 (or CP858 if you also >> > need the Euro sign) and try again. >> >> >> That's what I was going to suggest too. Looks like Brazilian >> Portuguese is codepage 850? So I think Davi also needs to enter these >> commands to set up the display for 850: >> >> display con=(ega,850,1) >> mode con cp prep=((850) C:\freedos\cpi\ega.cpx) >> >> >> _______________________________________________ >> Freedos-user mailing list >> Freedos-user@lists.sourceforge.net >> https://lists.sourceforge.net/lists/listinfo/freedos-user >> > _______________________________________________ > Freedos-user mailing list > Freedos-user@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/freedos-user >
_______________________________________________ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user