Modo de texto - Text mode

O modo de texto é um modo de exibição de computador no qual o conteúdo é representado internamente na tela do computador em termos de caracteres, em vez de pixels individuais . Normalmente, a tela consiste em uma grade retangular uniforme de células de caracteres , cada uma contendo um dos caracteres de um conjunto de caracteres ; ao mesmo tempo, em contraste com o modo APA ( todos os pontos endereçáveis ) ou outros tipos de modos de computação gráfica .

Aplicações em modo texto se comunicar com o usuário usando interfaces de linha de comando e interfaces de usuário de texto . Muitos conjuntos de caracteres usados ​​em aplicativos de modo de texto também contêm um conjunto limitado de caracteres semigráficos predefinidos utilizáveis ​​para caixas de desenho e outros gráficos rudimentares, que podem ser usados ​​para destacar o conteúdo ou para simular widgets ou objetos de interface de controle encontrados em programas GUI . Um exemplo típico é o conjunto de caracteres 437 da página de códigos IBM .

Uma característica importante dos programas em modo texto é que eles assumem fontes monoespaçadas , onde cada caractere tem a mesma largura na tela, o que permite que eles mantenham facilmente o alinhamento vertical ao exibir caracteres semigráficos. Esta foi uma analogia das primeiras impressoras mecânicas que tinham pitch fixo. Dessa forma, a saída visualizada na tela poderá ser enviada diretamente para a impressora mantendo o mesmo formato.

Dependendo do ambiente, o buffer de tela pode ser endereçável diretamente . Os programas que exibem a saída em terminais de vídeo remotos devem emitir sequências de controle especiais para manipular o buffer de tela. Os padrões mais populares para tais sequências de controle são ANSI e VT100 .

Os programas que acessam o buffer de tela por meio de sequências de controle podem perder a sincronização com a exibição real, de forma que muitos programas em modo de texto têm um comando exibir tudo novamente , geralmente associado à combinação de teclas Ctrl- L.

História

A renderização de vídeo em modo texto ganhou destaque no início dos anos 1970, quando os terminais de texto orientados para vídeo começaram a substituir as teleimpressoras no uso interativo de computadores.

Benefícios

As vantagens dos modos de texto em comparação com os modos gráficos incluem menor consumo de memória e manipulação mais rápida da tela. Na época em que os terminais de texto estavam começando a substituir as teleimpressoras na década de 1970, o custo extremamente alto da memória de acesso aleatório naquele período tornava exorbitante a instalação de memória suficiente para um computador armazenar simultaneamente o valor atual de cada pixel em uma tela, para formar o que agora seria chamado de framebuffer . Os primeiros framebuffers eram dispositivos autônomos que custavam milhares de dólares, além do custo dos avançados monitores de alta resolução aos quais estavam conectados. Para aplicativos que exigiam gráficos de linha simples, mas para os quais o custo de um framebuffer não podia ser justificado, as exibições de vetor eram uma solução alternativa popular. Mas havia muitos aplicativos de computador (por exemplo, entrada de dados em um banco de dados) para os quais tudo o que era necessário era a capacidade de renderizar texto comum de uma forma rápida e econômica para um tubo de raios catódicos .

O modo de texto evita o problema de memória cara, tendo hardware de exibição dedicado reprocessando cada linha de texto de caracteres em pixels com cada varredura da tela pelo raio catódico. Por sua vez, o hardware de exibição precisa apenas de memória suficiente para armazenar os pixels equivalentes a uma linha de texto (ou até menos) por vez. Assim, o buffer de tela do computador apenas armazena e sabe sobre os caracteres de texto subjacentes (daí o nome "modo de texto") e o único local onde os pixels reais que representam esses caracteres existem como uma única imagem unificada é a própria tela, conforme vista pelo usuário (graças ao fenômeno da persistência da visão ).

Por exemplo, um buffer de tela suficiente para manter uma grade padrão de 80 por 25 caracteres requer pelo menos 2.000 bytes. Assumindo uma exibição monocromática de 8 bits por byte e um tamanho padrão de 8 vezes 8 bits para cada caractere, um framebuffer grande o suficiente para conter cada pixel na tela resultante exigiria pelo menos 128.000 bits, 16.000 bytes ou pouco menos de 16 kilobytes . Pelos padrões dos computadores modernos, podem parecer quantidades triviais de memória, mas, para colocá-los em contexto, o Apple II original foi lançado em 1977 com apenas quatro kilobytes de memória e um preço de US $ 1.300 em dólares (em uma época em que o salário mínimo nos Estados Unidos era de apenas $ 2,30 por hora). Além disso, de uma perspectiva de negócios, o caso de negócios para terminais de texto não fazia sentido, a menos que eles pudessem ser produzidos e operados de forma mais barata do que as teleimpressoras que consumiam papel que deveriam substituir.

Outra vantagem do modo de texto é que ele tem requisitos de largura de banda relativamente baixos no uso de terminal remoto. Assim, um terminal remoto em modo texto pode necessariamente atualizar a tela muito mais rápido do que um terminal remoto em modo gráfico vinculado à mesma quantidade de largura de banda (e por sua vez, parecerá mais responsivo), uma vez que o servidor remoto pode precisar transmitir apenas algumas dezenas de bytes para cada atualização de tela em modo de texto, ao contrário de chamadas de procedimento remoto de gráficos raster complexos que podem exigir a transmissão e renderização de bitmaps inteiros .

Caracteres definidos pelo usuário

Norton Utilities 6.01, um exemplo de TUI avançada que redefine o conjunto de caracteres para mostrar pequenos widgets gráficos , ícones e um ponteiro de seta no modo de texto.

A fronteira entre o modo de texto e os programas gráficos às vezes pode ser confusa, especialmente no hardware VGA do PC , porque muitos programas em modo de texto posteriores tentaram levar o modelo ao extremo brincando com o controlador de vídeo . Por exemplo, eles redefiniram o conjunto de caracteres para criar caracteres semigráficos personalizados, ou mesmo criaram a aparência de um ponteiro gráfico do mouse redefinindo a aparência dos caracteres sobre os quais o ponteiro do mouse era mostrado em um determinado momento.

A renderização em modo de texto com caracteres definidos pelo usuário também foi útil para jogos de computador e videogame 2D porque a tela do jogo pode ser manipulada muito mais rápido do que a renderização orientada a pixels.

Base técnica

Um controlador de vídeo que implementa um modo de texto geralmente usa duas áreas distintas de memória . A memória de caracteres ou uma tabela de padrões contém uma fonte raster em uso, onde cada caractere é representado por uma matriz de pontos (uma matriz de bits ), de modo que a memória de caracteres pode ser considerada como uma matriz tridimensional de bits . A matriz de exibição (um buffer de texto , um buffer de tela ou uma tabela de nomes ) rastreia qual caractere está em cada célula. No caso simples, a matriz de exibição pode ser apenas uma matriz de pontos de código (também chamada de tabela de indicadores de caracteres ), mas geralmente armazena para cada posição de caractere não apenas um código, mas também atributos .

L \ C 0
0
0
0
0
0
0
0
0
1
0
0
0
1
0
0
0
0
1
1
0
0
1
0
0
0
0
1
0
1
0
0
1
1
0
0
0
1
1
1
00000000
11111111
00001111
00110011
01010101
11…
00…
00…
00…
01…
00000          
00001        
00010    
00011    
00100    
00101            
00110        
00111                
01000
01001
………
Character generator scheme.svg
Uma amostra da caixa de caracteres e do esquema eletrônico correspondente. O glifo tem 8 × 8 pixels, com partes baixas de 3 bits da linha de varredura e contador de pontos. A tela tem entre células de caracteres de 20 × 18 e 32 × 32, com índices de 5 bits.

No caso da saída de varredura raster , que é a mais comum para monitores de computador, o sinal de vídeo correspondente é feito pelo gerador de caracteres , uma unidade eletrônica especial semelhante aos dispositivos de mesmo nome usados ​​na tecnologia de vídeo . O controlador de vídeo possui dois registradores : contador de linha de varredura e contador de pontos, servindo como coordenadas na matriz de pontos da tela. Cada um deles deve ser dividido pelo tamanho do glifo correspondente para obter um índice na matriz de exibição; o restante é um índice na matriz de glifo. Se o tamanho do glifo for igual a 2 n , então é possível usar apenas n bits baixos de um registro binário como um índice na matriz de glifo e o resto dos bits como um índice na matriz de exibição - veja o esquema.

A memória do caractere reside em uma memória somente leitura em alguns sistemas. Outros sistemas permitem o uso de RAM para essa finalidade, tornando possível redefinir a fonte e até mesmo o conjunto de caracteres para fins específicos de aplicativos. O uso de caracteres baseados em RAM também facilita algumas técnicas especiais, como a implementação de um buffer de quadro gráfico de pixel reservando alguns caracteres para um bitmap e gravando pixels diretamente em sua memória de caractere correspondente. Em alguns chips gráficos históricos, incluindo o TMS9918 , o MOS Technology VIC e o hardware gráfico do Game Boy , essa era na verdade a maneira canônica de fazer gráficos de pixel.

Os modos de texto geralmente atribuem atributos aos caracteres exibidos. Por exemplo, o terminal VT100 permite que cada caractere seja sublinhado, iluminado, piscando ou invertido. Dispositivos de suporte de cor geralmente permitem que a cor de cada personagem, e muitas vezes a cor de fundo também, seja selecionada a partir de uma paleta de cores limitada . Esses atributos podem coexistir com os índices de caracteres ou usar uma área de memória diferente chamada memória de cores ou memória de atributos .

Algumas implementações de modo de texto também têm o conceito de atributos de linha. Por exemplo, a linha de terminais de texto compatível com VT100 suporta a duplicação da largura e da altura dos caracteres em linhas de texto individuais.

Modos de texto comuns para PC

Dependendo do adaptador gráfico usado, uma variedade de modos de texto estão disponíveis em computadores compatíveis com IBM PC . Eles estão listados na tabela abaixo:

Res. De texto Caracteres. Tamanho Graphics res. Cores Adaptadores
80 × 25 9 × 14 720 × 350 Texto P&B MDA , Hercules
40 × 25 8 × 8 320 × 200 16 cores CGA , EGA
80 × 25 8 × 8 640 × 200 16 cores CGA, EGA
80 × 25 8 × 14 640 × 350 16 cores EGA
80 × 43 8 × 8 640 × 350 16 cores EGA
80 × 25 9 × 16 720 × 400 16 cores VGA
80 × 30 8 × 16 640 × 480 16 cores VGA
80 × 50 9 × 8 720 × 400 16 cores VGA
80 × 60 16 cores Super VGA compatível com VESA
132 × 25 16 cores Super VGA compatível com VESA
132 × 43 16 cores Super VGA compatível com VESA
132 × 50 16 cores Super VGA compatível com VESA
132 × 60 16 cores Super VGA compatível com VESA

O texto MDA pode ser enfatizado com atributos de brilho, sublinhado, reverso e piscante.

Placas de vídeo em geral são compatíveis com versões anteriores, ou seja, EGA suporta todos os modos MDA e CGA, VGA suporta os modos MDA, CGA e EGA.

De longe, o modo de texto mais comum usado em ambientes DOS e consoles iniciais do Windows é o padrão de 80 colunas por 25 linhas, ou 80 × 25, com 16 cores. Este modo estava disponível em praticamente todos os computadores pessoais IBM e compatíveis. Vários programas, como emuladores de terminal , usavam apenas 80 × 24 para a tela principal e reservavam a linha inferior para uma barra de status .

Existem dois outros modos de texto VGA, 80 × 43 e 80 × 50, mas raramente eram usados. Os modos de texto de 40 colunas nunca foram muito populares fora de jogos e outros aplicativos projetados para compatibilidade com monitores de televisão e eram usados ​​apenas para fins de demonstração ou com hardware muito antigo.

Os tamanhos dos caracteres e as resoluções gráficas para os modos de texto Super VGA compatíveis com VESA estendido dependem do fabricante. Também nesses adaptadores de vídeo, as cores disponíveis podem ser reduzidas à metade, de 16 para 8, quando um segundo conjunto de caracteres personalizado é empregado (dando um repertório total de 512 - em vez dos 256 - caracteres gráficos diferentes exibidos simultaneamente na tela).

Alguns cartões (por exemplo, S3 ) suportavam modos de texto personalizados muito grandes, como 100 × 37 ou mesmo 160 × 120. Em sistemas Linux , um programa chamado SVGATextMode é freqüentemente usado com placas SVGA para configurar modos de texto de console muito grandes, como para uso com multiplexadores de terminal de tela dividida .

Uso moderno

Muitos programas modernos com uma interface gráfica simulam o estilo de exibição de programas em modo texto, principalmente quando é importante preservar o alinhamento vertical do texto, por exemplo, durante a programação do computador . Existem também componentes de software para emular o modo de texto, como emuladores de terminal ou consoles de linha de comando . No Microsoft Windows , o console Win32 geralmente é aberto no modo de janela gráfica emulada. Pode ser alternado para tela inteira, modo de texto verdadeiro e vice-versa pressionando as teclas Alt e Enter juntas. Isso não é mais compatível com os drivers de vídeo WDDM introduzidos com o Windows Vista.

O console virtual do Linux opera em modo de texto. A maioria das distribuições do Linux oferece suporte a várias telas de console virtual, acessadas pressionando Ctrl , Alt e uma tecla de função juntas.

A biblioteca de código aberto AAlib fornece programas e rotinas especializadas em traduzir arquivos de imagem e vídeo padrão, como PNG e WMV , e exibi-los como uma coleção de caracteres ASCII . Isso permite uma visualização rudimentar de arquivos gráficos em sistemas de modo de texto e em navegadores da web de modo de texto, como o Lynx .

Veja também

Referências

links externos

Leitura adicional