Semigrafikk - Semigraphics
Tekstbaserte semigrafier eller pseudografier er en primitiv metode som brukes i videomaskinvare i tidlig tekstmodus for å etterligne rastergrafikk uten å måtte implementere logikken for en slik visningsmodus.
Det er to forskjellige måter å oppnå emulering av rastergrafikk på. Den første er å skape en lav-oppløsning alle punkter adresser modus ved hjelp av et sett av spesialtegn med alle binære kombinasjoner av en viss oppdeling matrise av tekstmodus tegnstørrelsen; denne metoden kalles blokkgrafikk , eller noen ganger mosaikkgrafikk .
Den andre er å bruke spesielle former i stedet for glyfer (bokstaver og figurer) som ser ut som om de er tegnet i rastergrafikkmodus, noen ganger referert til som halv- eller pseudografikk ; et viktig eksempel på dette er bokstegntegn .
Semigrafiske tegn (inkludert noen blokkeringselementer) er fremdeles innlemmet i BIOS på et hvilket som helst VGA -kompatibelt skjermkort, så enhver PC kan vise disse tegnene fra det øyeblikket det slås på, selv om det ikke er noe operativsystem ennå. Enkel og dobbel linje tegnes fortsatt ofte med denne metoden når systemet bruker tekstmodus; for eksempel når du kjører BIOS -oppsettsprogrammet.
Mange av disse historiske ideene har blitt adoptert til Unicode , for eksempel i blokkelementene , bokstegning og geometriske former Unicode -blokker .
Blokker grafikk
For eksempel kan et 8 × 12 tegn deles vertikalt i to halvdeler og horisontalt i tre deler, og deretter tilordne "blekk" og "bakgrunn" verdier til elementene i matrisen i et binært mønster, som tilsvarer den binære sekvensen til plassering i skrifttabellen til en 2 × 3 mosaikkmatrise av såkalte squots (firkantede prikker) eller sekstanter . Mindre ofte brukte versjoner bruker en 1 × 6 "matrise", i så fall blir disse seks "pikslene" noen ganger referert til som sekseller . Men å dele et 8 × 8 -tegn i 2 × 2 "piksler" kalt kvadranter var også vanlig (det ble for eksempel brukt i Sinclair ZX81 ). Noen ganger er tekstens semigrafiske tegn ganske enkelt innlemmet i systemets skriftsett, noen ganger brukes spesiell videomaskinvare for å direkte konvertere bitmønsteret fra videominnet til pikslene. I sjeldne tilfeller kan en tegnmatrise ikke deles vertikalt med tre, for eksempel i en 8 × 8 -matrise er mosaikken noen ganger delt slik at den bruker en 3: 2: 3 skannelinjeplan. Den Galaksija s grafikkmodus er et eksempel, men med en 4: 5: 4 ordning forvrengningseffekten var minimal.
Den sædvanlige bruken av denne teknologien var i TRS-80, hvor den eneste måten å få diskrete piksler på skjermen som kan slås av og på hver for seg, (alle punkter adresseres) var ved bruk av en 2 × 3 piksel matrise av blokk grafikk. I tilfelle av TRS-80 ble ikke denne grafikken integrert i en font-ROM, som senere ble normen, men ble generert direkte fra det logiske mønsteret til seks biter fra video-RAM ved hjelp av en dedikert krets laget av logiske porter . Et tidligere system som brukte det samme pseudo-grafikkarrayet til en 2 x 3 matrise var Video Terminal Interface (VTI) til Poly-88 av polymorfe systemer , et S-100 bussbasert system som var tidligere enn TRS-80.
Hvis systemet også støttet farge, var fargeoppløsningen til de resulterende pikslene normalt lik tekstoppløsningen, noe som ofte førte til attributtkollisjon, ettersom fargen på en piksel ikke kunne endres per piksel, men bare til ett "blekk" , og en "bakgrunnsfarge" for alle pikslene i en tegnposisjon.
Noen ganger kan antall tegn i skrifttypen, dedikert til blokkgrafikk, halveres hvis systemet også støtter et "invertert" -attributt, ettersom halvparten av tegnene i et fullstendig grafisk skriftsett er den logiske inversen av den andre halvdelen av skriften sett. Andre triks som ble brukt for å redusere antall nødvendige tegn, var å bruke et mellomrom for "alle bitene er null" -tegnet, og å bruke tegnet 7F hex for "alle bitene er på" -tegnet, som tegn 7F hex (desimal 127) ble ofte definert som et "alle piksler på" -tegn (dette var fordi du ved bruk av papirbånd stanset ut alle syv hullene, skapte 7F hex "byte" som ble ansett for å være "DEL" eller "rub-out" -tegnet ) . Tildelingen i ASCII av rub-out-tegnet (til kodepunktet 127) førte til at designere av VDU-er brukte "rub-out" for et tegnfelt fylt med "blekk", som ofte ble brukt til å representere markøren.
Eksempler på bruk av blokkgrafikk
Andre eksempler på systemer som stolte på bruk av blokkgrafikk er:
- De ZX80 og ZX81 tegnsett , hvor en matrise av 2 x 2 piksler ble anvendt, med plassen og inverterte attributt triks for å holde antallet av tegn i ROM nødvendig ned til bare 7 (av den nødvendige 16). Den ZX Spectrum støttes også blokk-grafikk samt "ekte" høyere-oppløsning grafikk. I tillegg kan systemfonten (lagret i ROM -en) på Spectrum enkelt og umiddelbart endres til en som er lagret i RAM, slik at programmerere kan definere sine egne semigrafiske tegn som passer deres behov.
- Andre systemer som brukte en 2 × 2 matrise var Panasonic JR-200 og Mattel Aquarius .
- The Commodore PET hadde også noen tegn til å støtte 2 x 2 tekst semigraphics i sin PETSCII tegnsett. PET var også et av de første systemene som stolte sterkt på semigrafiske tegn , for å få noen form for grafikk på skjermen.
- Den TRS-80 Color Computer , og Dragon 32/64 er gode eksempler på systemer som bruker 2 × 2 matrise farge semigraphics. Men deres Motorola 6847 VDC støttet også litt brukt 6-blokkers semigrafimodus.
- Videotex- og tekst -TV -systemer brukte en 2 × 3 matrise og en forgrunn ("blekk"), og en bakgrunnsfarge, normalt ut av et sett med åtte farger (inkludert svart og hvitt). Mange systemer brukte " Videotex -grafikk ". Et av de mest kjente eksemplene er Acorn BBC Micros standard grafikkmodus ( modus 7 ). Andre systemer som brukte "Videotex" -lignende grafikk er: ABC 80 , Grundy NewBrain , mange av Acorn Eurocard-systemene og Philips P2000T , som faktisk brukte en tekst-TV- brikke designet for TV-ene.
- Den PC-8001 klart å kombinere vanlig tekst med et komplett sett av 256 tekst semigraphical "tegn" i en 2 x 4 matrise; hvordan systemet skilte de 8 bitene som ble brukt for "normale" fonter fra de 8 bitene som trengs for semigrafiske tekster, er uklart.
- Et av de siste videosystemene der tekstsemigrafi var et nyttig alternativ, var Color Graphics Adapter (CGA). Dette grafikkortet for tidlige IBM-PCer støttet bare fire farger i sin høyoppløselige grafikkmodus, men i tekstmodus kunne det vise 16 forskjellige farger. Selv om CGA-adapterens font-rom ikke inneholdt alle de ellers typiske semigrafiske teksttegnene, var det fremdeles mulig å lage en 160 × 100 CGA-tekstsemigrafi-modus ved hjelp av et halvdokumentert triks.
Semigrafiske tegn
Semigrafiske tegn er også tegn i en skrift som er ment å gi inntrykk av at et system kan støtte grafikk med høy oppløsning, mens systemet faktisk fungerer i tekstmodus. Figurer som box-tegning tegn , sirkler og prikker, kortsymboler som ♠, ♣, ♥ og ♦, og "grafisk byggestein" geometriske former som trekanter ga slike systemer som utseende.
Et av de første systemene som brukte slike tegn, det kanoniske eksemplet som andre fulgte, var Commodore PET , som hadde mange av dem i sitt PETSCII -skriftsett . Det originale PET stolte i så stor grad på disse tegnene at det trykte dem på tastaturet, som det kan sees her, et eksempel som andre systemer snart kopierte.
Et annet godt eksempel på et system som stolte på semigrafiske tegn, er ærverdige Sharp MZ80K , som ikke hadde høyoppløselig grafikk eller omprogrammerbare tegn, men fullt ut stolte på et utvidet skriftsett med mange pseudo-grafiske tegn. Med disse var det fortsatt mulig å generere spill som så ut som om systemet hadde høyoppløselig grafikk.
Noen av systemene som hadde et programmerbart skriftsett, men som ikke hadde en virkelig høyoppløselig rastergrafikkmaskinvare, kom med standard tegnsett som skulle lastes opp i tegnsett -RAM, og disse settene inkorporerte ofte ideene nevnt her, selv om det ofte var også tilfellet at dedikerte semigrafiske tegn ble definert etter behov.
Systemer som stolte på semigrafiske tegn
Eksempler på systemer som i stor grad stolte på semigrafiske tegn for grafikken, er:
- Den originale IBM-PC-en med MDA tilbød ingen annen grafikk enn bokstrektegnene på standard maskinvarekode side 437 .
- The Commodore PET var en av de første systemene til å stole tungt på semigraphical tegn, for å få noen form for grafikk på skjermen.
- Den Sinclair ZX80 og ZX81 avhengig av blokk grafiske tegn for en lav-oppløsning grafikk på 64 x 48 piksler sort-og-hvitt eller 32 x 48 i svart, hvit, og rastrert grå sett i ZX80 tegnsettet og ZX81 tegnsett .
- Den Mattel Aquarius stole helt på egen CharacterSet for spill, selv om det ble markedsført gjennom leketøysbutikker. Det ble aldri en kommersiell suksess delvis på grunn av denne begrensningen, som var utdatert den gangen.
- Den Panasonic JR-200 anvendes også semigraphical tegn i kombinasjon med blokk grafikk.
- De Sharp MZ serien av datamaskiner tilbys ingen høyoppløselige eller programmerbare tegn, men har en veldig komplett sett av semigraphical tegn. - og så fortsatt tilbudt mange visuelt fine spill
- Den Compukit UK101 (klone av det populære Ohio Scientific superboard) også var en veldig tidlig system som stolte på sin store CharacterSet.
- Tekstmodusene til senere Apple II -datamaskiner, som begynte med Apple IIc og den forbedrede versjonen av Apple IIe , støttet MouseText -tegnsettet , som erstattet blinkende store bokstaver når det var aktivert. Selv om disse Apple -systemene ikke stolte på disse tegnsettene, spilte de en rolle i å simulere GUI som grafikk av deres mer avanserte familiemedlemmer, mens de fortsatt var i tekstmodus.
Se også
- ANSI art
- Alfa-mosaikk karakter
- Bokstegnende karakter
- Kode side 437
- Liste over hjemmemaskiner etter videomaskinvare
- Tekstmodus
- Sixel
- PETSCII
- ATASCII
- TI kalkulator tegnsett
