Semigráfico - Semigraphics
Semigráficos baseados em texto ou pseudográficos são um método primitivo usado no hardware de vídeo de modo de texto inicial para emular gráficos raster sem ter que implementar a lógica para tal modo de exibição.
Existem duas maneiras diferentes de realizar a emulação de gráficos raster. O primeiro é criar um modo endereçável de todos os pontos de baixa resolução usando um conjunto de caracteres especiais com todas as combinações binárias de uma certa matriz de subdivisão do tamanho do caractere do modo de texto; este método é conhecido como gráficos em bloco ou, às vezes, gráficos em mosaico .
O segundo é usar formas especiais em vez de glifos (letras e figuras) que aparecem como se desenhados no modo de gráficos raster, às vezes chamados de semi ou pseudo-gráficos ; um exemplo importante disso são os personagens que desenham caixas .
Os caracteres semigráficos (incluindo alguns elementos de bloco) ainda são incorporados ao BIOS de qualquer placa de vídeo compatível com VGA , portanto, qualquer PC pode exibir esses caracteres a partir do momento em que é ligado, mesmo quando nenhum sistema operacional foi carregado. Frequentemente, linhas simples e duplas ainda são desenhadas com esse método quando o sistema usa o modo de texto; por exemplo, ao executar o programa de configuração do BIOS.
Muitas dessas idéias históricas foram adotadas em Unicode , por exemplo nos blocos Unicode de Elementos de Bloco , Desenho de Caixa e Formas Geométricas .
Bloquear gráficos
Por exemplo, um caractere 8 × 12 pode ser dividido verticalmente em duas metades e horizontalmente em três partes e, em seguida, atribuir valores de "tinta" e "fundo" aos elementos da matriz em um padrão binário, correspondendo à sequência binária do posição na tabela de fontes de uma matriz de mosaico 2 × 3 dos chamados squots (pontos quadrados) ou sextantes . As versões menos utilizadas usam uma "matriz" 1 × 6, caso em que esses seis "pixels" são às vezes chamados de sixels . Mas dividir um caractere 8 × 8 em 2 × 2 "pixels" chamados quadrantes também era comum (era, por exemplo, usado no Sinclair ZX81 ). Às vezes, os caracteres semigráficos do texto são simplesmente incorporados ao conjunto de fontes do sistema; às vezes, um hardware de vídeo especial é usado para converter diretamente o padrão de bits da memória de vídeo em pixels. Em casos raros, uma matriz de caracteres não era divisível verticalmente por três, por exemplo, em uma matriz 8 × 8, o mosaico às vezes é dividido de forma que usa um esquema de linha de varredura 3: 2: 3. O modo gráfico do Galaksija é um exemplo, embora com um esquema 4: 5: 4 o efeito de distorção seja mínimo.
O uso seminal dessa tecnologia foi no TRS-80, onde a única maneira de obter pixels discretos na tela que poderiam ser ligados e desligados individualmente (todos os pontos endereçáveis) era pelo uso de uma matriz de 2 × 3 pixels de bloco gráficos. No caso do TRS-80, esses blocos gráficos não foram incorporados a uma ROM de fonte, como mais tarde se tornou a norma, mas foram gerados diretamente do padrão lógico de seis bits da RAM de vídeo usando um circuito dedicado feito de portas lógicas . Um sistema anterior usando a mesma matriz pseudo-gráfica de uma matriz 2 por 3 foi a Interface de Terminal de Vídeo (VTI) do Poly-88 por sistemas polimórficos , um sistema baseado em barramento S-100 anterior ao TRS-80.
Se o sistema também suportasse cor, a resolução de cor dos pixels resultantes era normalmente igual à resolução do texto, muitas vezes levando a um conflito de atributos, já que a cor de um pixel não podia ser alterada por pixel, mas apenas para uma "tinta" e uma cor de "plano de fundo" para todos os pixels em uma posição de caractere.
Às vezes, o número de caracteres na fonte, dedicado aos gráficos de bloco, poderia ser reduzido pela metade se o sistema também suportasse um atributo "inverter", já que metade dos caracteres em um conjunto de fontes de gráficos de bloco completo são o inverso lógico da outra metade da fonte definir. Outros truques que foram usados para diminuir o número de caracteres necessários foi usar um espaço para o caractere "todos os bits são zero" e usar o caractere hexadecimal 7F para o caractere "todos os bits estão ligados", como caractere hexadecimal 7F (decimal 127) era frequentemente definido como um caractere "todos os pixels ativados " (isso porque, ao usar fita de papel para perfurar todos os sete orifícios, criava-se o "byte" hexadecimal 7F que era considerado o caractere "DEL" ou "apagado" ) . A atribuição em ASCII do caractere apagado (para o ponto de código 127) levou os designers de VDUs a usar "apagamento" para um quadrado de caractere preenchido com "tinta", que costumava ser usado para representar o cursor.
Exemplos de uso de gráficos de blocos
Outros exemplos de sistemas que dependiam do uso de gráficos em bloco são:
- Os conjuntos de caracteres ZX80 e ZX81 , onde uma matriz de 2 × 2 pixels foi usada, com os truques de espaço e inverter atributo para manter o número de caracteres na ROM necessários para apenas 7 (dos 16 necessários). O ZX Spectrum também suportava gráficos em bloco, bem como gráficos "reais" de alta resolução. Além disso, no Spectrum, a fonte do sistema (armazenada em sua ROM) pode ser facilmente e instantaneamente alterada para uma armazenada na RAM, permitindo que os programadores definam seus próprios caracteres semigráficos para atender às suas necessidades.
- Outros sistemas que usaram uma matriz 2 × 2 foram o Panasonic JR-200 e o Mattel Aquarius .
- O Commodore PET também tinha alguns caracteres para suportar semigráficos de texto 2 × 2 em seu conjunto de caracteres PETSCII . O PET também foi um dos primeiros sistemas a depender fortemente de caracteres semigráficos , para obter qualquer forma de gráfico na tela.
- O TRS-80 Color Computer e o Dragon 32/64 são bons exemplos de sistemas que usam semigrafia colorida de matriz 2 × 2. Mas seu Motorola 6847 VDC também suportava um modo semigráfico de 6 blocos pouco usado.
- Os sistemas de videotexto e teletexto usavam uma matriz 2 × 3 e um primeiro plano ("tinta") e uma cor de fundo, normalmente de um conjunto de oito cores (incluindo preto e branco). Muitos sistemas usavam " Videotex graphics ". Um dos exemplos mais conhecidos é o modo gráfico padrão da Acorn BBC Micro ( modo 7 ). Outros sistemas que usavam gráficos do tipo "Videotex" são: o ABC 80 , o Grundy NewBrain , muitos dos sistemas Acorn Eurocard e o Philips P2000T , que na verdade usava um chip de teletexto projetado para suas TVs.
- O PC-8001 conseguiu combinar o texto normal com um conjunto completo de 256 "caracteres" semigráficos de texto em uma matriz 2 × 4; como o sistema distinguiu os 8 bits usados para fontes "normais" dos 8 bits necessários para a semigráfica de texto não está claro.
- Um dos últimos sistemas de vídeo em que a semigráfica de texto era uma opção útil foi o Color Graphics Adapter (CGA). Este adaptador gráfico para os primeiros IBM-PCs suportava apenas quatro cores em seu modo gráfico de alta resolução, mas no modo de texto ele podia exibir 16 cores diferentes. Embora a ROM da fonte do adaptador CGA não contivesse todos os caracteres semigráficos de texto típicos, ainda era possível criar um modo semigráfico de texto CGA 160 × 100 usando um truque semi-documentado.
Personagens semigráficos
Os caracteres semigráficos também são caracteres em uma fonte que têm a intenção de dar a impressão de que um sistema pode suportar gráficos de alta resolução, quando na verdade o sistema opera em modo de texto. Personagens como caracteres de desenho de caixas , círculos e pontos, símbolos de cartas como ♠, ♣, ♥ e ♦, e formas geométricas de "blocos de construção gráfica" , como triângulos, davam a tais sistemas essa aparência.
Um dos primeiros sistemas a usar esses caracteres, o exemplo canônico que outros seguiram, foi o Commodore PET , que tinha muitos deles em seu conjunto de fontes PETSCII . O PET original confiava tanto nesses caracteres que os imprimia em seu teclado, como pode ser visto aqui, um exemplo que outros sistemas logo copiaram.
Outro bom exemplo de um sistema que dependia de caracteres semigráficos é o venerável Sharp MZ80K , que não tinha gráficos de alta resolução, nem caracteres reprogramáveis, mas dependia totalmente de um conjunto de fontes estendido com muitos caracteres pseudo-gráficos. Com eles ainda era possível gerar jogos que pareciam que o sistema tinha gráficos de alta resolução.
Alguns dos sistemas que tinham um conjunto de fontes programáveis, mas não tinham um hardware gráfico raster de alta resolução real, vinham com conjuntos de caracteres padrão para serem carregados na RAM do conjunto de caracteres, e esses conjuntos muitas vezes incorporavam as ideias mencionadas aqui, embora fosse frequente também o caso em que caracteres semigráficos dedicados foram definidos conforme necessário.
Sistemas que dependiam de caracteres semigráficos
Exemplos de sistemas que dependiam fortemente de caracteres semigráficos para seus gráficos são:
- O IBM PC original com o MDA não oferecia nenhuma forma de gráficos além dos caracteres de desenho de caixa de sua página de código 437 de hardware padrão .
- O Commodore PET foi um dos primeiros sistemas a depender fortemente de caracteres semigráficos, para obter qualquer forma de gráfico na tela.
- O Sinclair ZX80 e ZX81 contava com caracteres gráficos em bloco para gráficos de baixa resolução de 64 × 48 pixels em preto e branco ou 32 × 48 em preto, branco e cinza pontilhado como visto no conjunto de caracteres ZX80 e ZX81 .
- O Mattel Aquarius confiava totalmente em seu conjunto de personagens para jogos, embora fosse comercializado em lojas de brinquedos. Nunca se tornou um sucesso comercial em parte por causa dessa limitação, que estava desatualizada na época.
- O Panasonic JR-200 também usou caracteres semigráficos em combinação com gráficos em bloco.
- A série de computadores Sharp MZ não oferecia highres ou caracteres programáveis, mas tinha um conjunto muito completo de caracteres semigráficos. - e assim ainda oferece muitos jogos visualmente agradáveis
- O Compukit UK101 (clone do popular superboard Ohio Scientific) também foi um sistema muito antigo que dependia de seu excelente conjunto de caracteres.
- Os modos de texto dos computadores Apple II posteriores, começando com o Apple IIc e a versão aprimorada do Apple IIe , suportavam o conjunto de caracteres MouseText , que substituía os caracteres maiúsculos piscantes quando ativado. Embora esses sistemas Apple não dependessem desses conjuntos de caracteres, eles desempenhavam um papel na simulação de gráficos tipo GUI de seus membros mais avançados da família, enquanto ainda estavam no modo de texto.
Veja também
- Arte ANSI
- Personagem alfa-mosaico
- Personagem de desenho de caixa
- Página de código 437
- Lista de computadores domésticos por hardware de vídeo
- Modo texto
- Sixel
- PETSCII
- ATASCII
- Conjuntos de caracteres da calculadora TI
