เซมิกราฟิกส์


เซมิกราฟิกแบบข้อความ, ซูโดกราฟิกหรือกราฟิกตัวอักษรเป็นวิธีการดั้งเดิมที่ใช้ในฮาร์ดแวร์วิดีโอโหมดข้อความ ยุคแรกๆ เพื่อจำลอง กราฟิกแบบแรสเตอร์โดยไม่ต้องใช้ตรรกะสำหรับโหมดการแสดงผลดังกล่าว
การจำลองกราฟิกแรสเตอร์มีสองวิธีที่แตกต่างกัน วิธีแรกคือการสร้าง โหมด แอดเดรสจุด ความละเอียดต่ำ โดยใช้ชุดอักขระ พิเศษ ที่มีการรวมกันแบบไบนารีทั้งหมดของเมทริกซ์การแบ่งย่อยที่แน่นอนของขนาดอักขระโหมดข้อความ วิธีนี้เรียกว่ากราฟิกบล็อก [ 1 ] หรือบางครั้ง เรียกว่า กราฟิกโมเสก[ 2 ] [ 3 ]
วิธีที่สองคือการใช้รูปทรงพิเศษแทนสัญลักษณ์ (ตัวอักษรและรูปภาพ) ที่ปรากฏราวกับว่าวาดในโหมดกราฟิกแบบแรสเตอร์ ซึ่งบางครั้งเรียกว่า กราฟิก กึ่งหรือกราฟิกเทียมตัวอย่างที่สำคัญของเรื่องนี้คืออักขระแบบวาดกล่อง
อักขระกึ่งกราฟิก (รวมถึงองค์ประกอบบล็อกบางส่วน) ยังคงถูกรวมอยู่ในBIOSของการ์ดแสดงผลที่รองรับVGA ทุกรุ่น ดังนั้นพีซีทุกเครื่องจึงสามารถแสดง อักขระเหล่านี้ได้ตั้งแต่เปิดเครื่อง แม้ว่าระบบปฏิบัติการจะยังไม่ได้โหลดก็ตาม เส้นเดี่ยวและเส้นคู่มักถูกวาดด้วยวิธีนี้เมื่อระบบใช้โหมดข้อความ ตัวอย่างเช่น เมื่อเรียกใช้โปรแกรมตั้งค่า BIOS
แนวคิดทางประวัติศาสตร์เหล่านี้จำนวนมากได้รับการนำไปใช้ในUnicodeเช่น ในSymbols for Legacy Computing , Block Elements , Box DrawingและGeometric Shapes Unicode blocks [ 4 ]
กราฟิกบล็อก

สำหรับเซลล์อักขระที่ประกอบด้วยพิกเซลแนวตั้ง 8 พิกเซลและพิกเซลแนวนอน 8 พิกเซล (อักขระ 8 × 8) จะต้องใช้อักขระ 2 64 ≈ 10 19ตัวเพื่อแสดงชุดค่าผสมที่เป็นไปได้ทั้งหมดของพิกเซล 64 พิกเซล ในทางกลับกัน หากแบ่งอักขระ 8 × 8 ออกเป็น "พิกเซล" 2 × 2 ที่เรียกว่าควอดแรนต์ [ 5 ] จะต้องใช้อักขระเพียง 16 ตัวสำหรับทุกชุดค่าผสม ตัวอย่างเช่น มีการใช้ใน Sinclair ZX81 )
ตัวอย่างอื่นแบ่งอักขระขนาด 8 × 12 พิกเซลออกเป็นสองส่วนในแนวตั้งและสามส่วนในแนวนอน จากนั้นกำหนดค่า "หมึก" และ "พื้นหลัง" ให้กับองค์ประกอบของเมทริกซ์ในรูปแบบไบนารี ซึ่งสอดคล้องกับลำดับไบนารีของตำแหน่งในตารางแบบอักษรของ เมทริกซ์ โมเสกบล็อก 2 × 3 [ 6 ]ของสิ่งที่เรียกว่าsquots (จุดสี่เหลี่ยม) [ 7 ]หรือsextants [ 5 ] เวอร์ชันที่ใช้น้อยกว่าจะใช้ "เมทริกซ์" ขนาด 1 × 6 ซึ่งในกรณีนี้ " พิกเซล" ทั้งหกนี้บาง ครั้งเรียกว่าsixels [ 8 ]
บางครั้งตัวอักษรแบบกึ่งกราฟิกของข้อความจะถูกรวมเข้ากับชุดแบบอักษรของระบบโดยตรง บางครั้งก็ใช้ฮาร์ดแวร์วิดีโอพิเศษเพื่อแปลงรูปแบบบิตจากหน่วยความจำวิดีโอเป็นพิกเซลโดยตรง ในบางกรณี เมทริกซ์ตัวอักษรไม่สามารถหารด้วยสามในแนวตั้งได้ ตัวอย่างเช่น ในเมทริกซ์ 8 × 8 บางครั้งโมเสกจะถูกแบ่งเพื่อให้ใช้รูปแบบเส้นสแกน 3:2:3 โหมด กราฟิก ของ Galaksijaเป็นตัวอย่างหนึ่ง แม้ว่าจะใช้รูปแบบ 4:5:4 ผลกระทบจากการบิดเบือนก็มีน้อยมาก[ 9 ]
การใช้งานเทคโนโลยีนี้ครั้งแรกเกิดขึ้นในTRS-80ซึ่งวิธีเดียวที่จะได้พิกเซลแยกบนหน้าจอที่สามารถเปิดและปิดได้ทีละพิกเซล (ทุกจุดสามารถระบุตำแหน่งได้) คือการใช้เมทริกซ์พิกเซลขนาด 2 × 3 ของบล็อกกราฟิก ในกรณีของ TRS-80 บล็อกกราฟิกเหล่านี้ไม่ได้ถูกรวมเข้ากับ ROM ฟอนต์ ซึ่งต่อมากลายเป็นเรื่องปกติ แต่ถูกสร้างขึ้นโดยตรงจากรูปแบบตรรกะหกบิตจาก RAM วิดีโอโดยใช้วงจรเฉพาะที่สร้างจากเกตตรรกะ[ 10 ]ระบบก่อนหน้านี้ที่ใช้อาร์เรย์กราฟิกเสมือนแบบเดียวกันของเมทริกซ์ 2 × 3 คืออินเทอร์เฟซเทอร์มินัลวิดีโอ (VTI) ของPoly-88โดยระบบโพลีมอร์ฟิกซึ่ง เป็นระบบที่ใช้ บัส S-100มาก่อน TRS-80
หากระบบรองรับสีด้วย ความละเอียดของสีของพิกเซลที่ได้มักจะเท่ากับความละเอียดของข้อความ ซึ่งมักนำไปสู่ความขัดแย้งของแอตทริบิวต์เนื่องจากไม่สามารถเปลี่ยนสีของพิกเซลได้ทีละพิกเซล แต่สามารถเปลี่ยนได้เพียงสี "หมึก" และสี "พื้นหลัง" เดียวสำหรับพิกเซลทั้งหมดภายในตำแหน่งตัวอักษรเท่านั้น
บางครั้งจำนวนอักขระในฟอนต์ที่ใช้สำหรับกราฟิกบล็อกอาจลดลงครึ่งหนึ่งได้ หากระบบรองรับแอตทริบิวต์ "กลับด้าน" ด้วย เนื่องจากครึ่งหนึ่งของอักขระในชุดฟอนต์กราฟิกบล็อกแบบเต็มจะเป็นค่าผกผันเชิงตรรกะของอีกครึ่งหนึ่งของชุดฟอนต์นั้น เทคนิคอื่นๆ ที่ใช้เพื่อลดจำนวนอักขระที่จำเป็นคือการใช้ช่องว่างสำหรับอักขระ "บิตทั้งหมดเป็นศูนย์" และใช้อักขระ 7F hex สำหรับอักขระ "บิตทั้งหมดเปิด" เนื่องจากอักขระ 7F hex (เลขฐานสิบ 127) มักถูกกำหนดให้เป็นอักขระ "พิกเซลทั้งหมดเปิด" (เนื่องจากเมื่อใช้เทปกระดาษเจาะรูทั้งเจ็ดรู จะสร้าง "ไบต์" 7F hex ซึ่งถือว่าเป็นอักขระ "DEL" หรือ "rub-out" ) การกำหนดค่าในASCIIของอักขระ rub-out (ไปยังรหัสจุด 127) ทำให้นักออกแบบVDUใช้ "rub-out" สำหรับสี่เหลี่ยมอักขระที่เติมด้วย "หมึก" ซึ่งมักใช้เพื่อแสดงเคอร์เซอร์
ตัวอย่างการใช้กราฟิกแบบบล็อก

ตัวอย่างอื่นๆ ของระบบที่อาศัยการใช้กราฟิกแบบบล็อก ได้แก่:
- ชุด อักขระ ZX80และZX81ซึ่งใช้เมทริกซ์ขนาด 2 × 2 พิกเซล โดยใช้เทคนิคช่องว่างและแอตทริบิวต์ผกผันเพื่อลดจำนวนอักขระใน ROM ที่จำเป็นให้เหลือเพียง 7 ตัว (จากทั้งหมด 16 ตัว) [ 11 ] ZX Spectrumยังรองรับกราฟิกแบบบล็อก รวมถึงกราฟิกความละเอียดสูง "จริง" ด้วย นอกจากนี้ บน Spectrum ฟอนต์ระบบ (ที่จัดเก็บไว้ใน ROM) สามารถเปลี่ยนเป็นฟอนต์ที่จัดเก็บไว้ใน RAM ได้อย่างง่ายดายและรวดเร็ว ทำให้โปรแกรมเมอร์สามารถกำหนดอักขระกึ่งกราฟิกของตนเองให้เหมาะสมกับความต้องการได้
- ระบบอื่นๆ ที่ใช้เมทริกซ์ 2 × 2 ได้แก่Panasonic JR-200และMattel Aquariusโดยระบบหลังนี้รองรับเซมิกราฟิกเมทริกซ์ 2 × 2 และ 2 × 3 ได้เช่นกัน แม้ว่าจะไม่สมบูรณ์แบบก็ตาม เนื่องจากพิกเซลเซมิกราฟิกในแถวกลางของตัวอักษรมีความสูงน้อยกว่าพิกเซลในแถวบนและแถวล่าง อันเนื่องมาจากการแบ่งเมทริกซ์ตัวอักษร 8 × 8 พิกเซลที่ไม่สมบูรณ์
- คอมพิวเตอร์Commodore PETยังมีอักขระบางตัวที่รองรับการแสดงผลกราฟิกแบบข้อความขนาด 2 × 2 ใน ชุดอักขระ PETSCIIนอกจากนี้ PET ยังเป็นหนึ่งในระบบแรกๆ ที่พึ่งพาอักขระกราฟิก อย่างมาก ในการแสดงผลกราฟิกบนหน้าจอ
- คอมพิวเตอร์สี TRS -80และDragon 32/64เป็นตัวอย่างที่ดีของระบบที่ใช้เซมิกราฟิกสีเมทริกซ์ 2 × 2 แต่Motorola 6847 VDC ของพวกเขา ยังรองรับโหมดเซมิกราฟิก 6 บล็อกที่ไม่ค่อยได้ใช้อีกด้วย[ 12 ] [ 13 ]
- ระบบ VideotexและTeletextใช้เมทริกซ์ 2 × 3 โดยมีสีพื้นหน้าหนึ่งสี ("หมึก") และสีพื้นหลังหนึ่งสี ซึ่งโดยปกติจะเป็นหนึ่งในชุดสีแปดสี (รวมถึงสีดำและสีขาว) หลายระบบใช้ " กราฟิก Videotex " ตัวอย่างที่รู้จักกันดีที่สุดอย่างหนึ่งคือ โหมดกราฟิกเริ่มต้นของAcorn BBC Micro ( โหมด 7 ) [ 14 ]ระบบอื่นๆ ที่ใช้กราฟิกคล้าย "Videotex" ได้แก่ABC 80 , Grundy NewBrain , ระบบ Acorn Eurocard หลายระบบ และPhilips P2000Tซึ่งใช้ ชิป Teletextที่ออกแบบมาสำหรับทีวีของพวกเขา
- Matra Alice 32 [ 15 ] Matra Alice 90 [ 16 ]และPhilips VG5000 [ 17 ]ใช้ ชิปกราฟิก Thomson EF9345ซึ่งสามารถแสดงเฉพาะตัวอักษรและ ตัวเลขและ อักขระกึ่งกราฟิก เท่านั้น [ 18 ]
- PC -8001สามารถรวมข้อความปกติเข้ากับชุดอักขระกึ่งกราฟิก 256 ตัวในเมทริกซ์ 2 × 4 ได้ โดยระบบจะแยกความแตกต่างระหว่างชุดรูปแบบกึ่งกราฟิก 256 รูปแบบกับชุดอักขระ 256 ตัวที่ใช้สำหรับแบบอักษร "ปกติ" ผ่านไบต์คุณลักษณะ ของ อักขระ[ 19 ]
- หนึ่งในระบบวิดีโอสุดท้ายที่เซมิกราฟิกข้อความเป็นตัวเลือกที่มีประโยชน์คือColor Graphics Adapter (CGA) อะแดปเตอร์กราฟิกสำหรับIBM-PC รุ่นแรกนี้ รองรับเพียงสี่สีในโหมดกราฟิกความละเอียดสูง แต่ในโหมดข้อความสามารถแสดงสีที่แตกต่างกันได้ถึง 16 สี แม้ว่า ROM ฟอนต์ของอะแดปเตอร์ CGA จะไม่ได้มีอักขระเซมิกราฟิกข้อความทั่วไปทั้งหมด แต่ก็ยังสามารถสร้างโหมดเซมิกราฟิกข้อความ CGA ขนาด 160 × 100 ได้ โดยใช้เทคนิคที่มีการบันทึกไว้บางส่วน[ 20 ]
อักขระกึ่งกราฟิก



อักขระกึ่งกราฟิกคืออักขระในฟอนต์ที่ออกแบบมาเพื่อให้ระบบดูเหมือนว่ารองรับกราฟิกความละเอียดสูง ในขณะที่ความเป็นจริงแล้วระบบทำงานในโหมดข้อความ อักขระต่างๆ เช่นอักขระวาดกรอบ วงกลม และจุดสัญลักษณ์ไพ่เช่น ♠, ♣, ♥ และ ♦ และรูปทรงเรขาคณิต ที่เป็น "ส่วนประกอบกราฟิก" เช่น สามเหลี่ยม ทำให้ระบบเหล่านั้นมีลักษณะเช่นนั้น
หนึ่งในระบบแรกๆ ที่ใช้ตัวอักษรดังกล่าว ซึ่งเป็นตัวอย่างมาตรฐานที่ระบบอื่นๆ ปฏิบัติตาม คือCommodore PETซึ่งมีตัวอักษรเหล่านี้จำนวนมากอยู่ในชุดฟอนต์PETSCII [ 21 ] PET รุ่นดั้งเดิมพึ่งพาตัวอักษรเหล่านี้มากถึงขนาดที่พิมพ์ตัวอักษรเหล่านี้บนแป้นพิมพ์ ดังที่เห็นได้จากตัวอย่างนี้ ซึ่งระบบอื่นๆ ก็ได้ลอกเลียนแบบในเวลาต่อมา
อีกตัวอย่างที่ดีของระบบที่อาศัยอักขระกึ่งกราฟิกคือSharp MZ80K รุ่นเก่า ซึ่งไม่มีกราฟิกความละเอียดสูงหรืออักขระที่ตั้งโปรแกรมใหม่ได้ แต่ใช้ชุดฟอนต์ที่ขยายพร้อมอักขระกราฟิกเสมือนจำนวนมาก[ 22 ]ด้วยสิ่งเหล่านี้ก็ยังสามารถสร้างเกมที่ดูเหมือนว่าระบบมีกราฟิกความละเอียดสูงได้[ 23 ]
ระบบบางระบบที่มีชุดแบบอักษรที่ตั้งโปรแกรมได้ แต่ไม่มีฮาร์ดแวร์กราฟิกแรสเตอร์ความละเอียดสูงที่แท้จริง จะมาพร้อมกับชุดอักขระเริ่มต้นที่สามารถอัปโหลดลงในหน่วยความจำชุดอักขระได้ และชุดเหล่านี้มักจะรวมเอาแนวคิดที่กล่าวถึงในที่นี้ไว้ด้วย แม้ว่าในหลายกรณีจะมีการกำหนดอักขระกึ่งกราฟิกเฉพาะขึ้นตามความจำเป็นก็ตาม
ระบบที่อาศัยอักขระกึ่งกราฟิก
ตัวอย่างของระบบที่พึ่งพาอักขระกึ่งกราฟิกเป็นอย่างมากสำหรับการแสดงผลกราฟิก ได้แก่:
- คอมพิวเตอร์ IBM PCรุ่นแรกที่มีMDAนั้นไม่มีรูปแบบกราฟิกอื่นใดนอกจากอักขระวาดกรอบของรหัสหน้าฮาร์ดแวร์เริ่มต้น437
- คอมพิวเตอร์Commodore PETเป็นหนึ่งในระบบแรกๆ ที่พึ่งพาอักขระกึ่งกราฟิกอย่างมากในการแสดงผลกราฟิกบนหน้าจอ (ดูPETSCII )
- คอมพิวเตอร์Sinclair ZX80และZX81ใช้ตัวอักษรแบบบล็อกกราฟิกสำหรับกราฟิกความละเอียดต่ำขนาด 64×48 พิกเซลในแบบขาวดำ หรือ 32×48 พิกเซลในแบบสีดำ ขาว และ เทา แบบไล่เฉดสี ดังที่เห็นในชุดตัวอักษร ZX80และชุดตัวอักษร ZX81
- Mattel Aquariusพึ่งพาชุดตัวละครสำหรับเกมอย่างสมบูรณ์ แม้ว่าจะวางจำหน่ายผ่านร้านขายของเล่นก็ตาม ส่วนหนึ่งเป็นเพราะข้อจำกัดนี้ซึ่งล้าสมัยในขณะนั้น (ดูชุดตัวละคร Mattel Aquarius ) [ 24 ]
- เครื่องพิมพ์Panasonic JR-200ยังใช้ตัวอักษรแบบกึ่งกราฟิกควบคู่กับตัวอักษรแบบบล็อก (ดูชุดตัวอักษรของเครื่องพิมพ์ Matsushita JR )
- คอมพิวเตอร์ซีรีส์ Sharp MZไม่มีความละเอียดสูงหรืออักขระที่ตั้งโปรแกรมได้ แต่มีชุดอักขระกึ่งกราฟิกที่สมบูรณ์มาก (ดูชุดอักขระ Sharp MZ ) ดังนั้นจึงยังคงมีเกมที่สวยงามมากมาย[ 25 ]
- เครื่องอ่านบาร์โค้ด Matra Aliceรุ่น 32 และ 90; และPhilips VG5000 (ดูชุดอักขระ Thomson EF9345 )
- คอมพิวเตอร์Compukit UK101 (ซึ่งเป็นแบบจำลองของบอร์ดประมวลผลกราฟิก Ohio Scientific superboard ที่ได้รับความนิยม) ก็เป็นระบบรุ่นแรกๆ ที่ใช้ชุดอักขระ 256 ตัวเช่นกัน
- โหมดข้อความของคอมพิวเตอร์ Apple II รุ่นหลังๆ เริ่มตั้งแต่Apple IIc และ Apple IIeรุ่นปรับปรุงใหม่รองรับ ชุดอักขระ MouseTextซึ่งจะแทนที่ตัวอักษรพิมพ์ใหญ่ที่กระพริบเมื่อเปิดใช้งาน แม้ว่าระบบ Apple เหล่านี้จะไม่ได้ใช้ชุดอักขระเหล่านี้โดยตรง แต่ก็มีบทบาทในการจำลองกราฟิกแบบ GUI เหมือนกับรุ่นขั้นสูงกว่าในตระกูลเดียวกัน ในขณะที่ยังอยู่ในโหมดข้อความ