"세상에서 두 번째로 끔찍한 비디오 카드" iNapGPU, TTL 게이트로 VGA 신호 만들기 도전
깃허브의 한 괴짜 프로젝트가 시선을 사로잡고 있습니다. 하드웨어 애호가 Leoneq가 TTL 게이트만을 사용해 "세상에서 두 번째로 끔찍한 비디오 카드"라고 스스로 명명한 텍스트 모드 그래픽 카드를 만들려고 시도한 내용입니다. iNapGPU라는 이름으로 공개된 이 프로젝트는 벤 이터의 "세상에서 가장 끔찍한 비디오 카드"를 능가하는, 더욱 실용성이 떨어지는 것을 만들겠다는 목표를 가지고 시작되었습니다.
최소한의 디자인으로 VGA 한계 뛰어넘기
의도적으로 조잡한 방법을 사용했음에도 불구하고, Leoneq는 기본적인 VGA 해상도 이하로 출력을 줄일 수 없었습니다. 프로젝트 사양에 따르면 800×600(실제로는 SVGA) @60Hz의 VGA 출력을 제공하며, 모노크롬에서는 400×300 해상도를 사용할 수 있습니다. 이 하드웨어는 카운터, NAND 게이트, 작은 SRAM과 함께 작동하는 EPROM을 포함한 21개의 집적 회로로 구성되었습니다.
1-Mbit EPROM을 활용한 문자 세트 로딩
Leoneq는 1-Mbit EPROM을 1비트 메모리로 취급하여 각각 255자씩 최대 4개의 문자 세트를 로드할 수 있었습니다. 그러나 트라이스테이트 버퍼와 기본적인 카운터 배열을 사용하면서 시각적 결함과 불안정한 문제가 발생했습니다. 저용량 메모리를 사용하고 마이크로컨트롤러를 피했음에도 불구하고, 디자인은 VGA 이하로 떨어지지 않았습니다.
조잡한 조립 과정과 성능 문제
Leoneq는 조립 과정이 매우 어색했다고 인정했습니다. 인쇄 회로 기판 대신 프로토보드에 0.12mm 와이어를 사용했기 때문입니다. 그는 결과를 "끔찍하다"고 표현하며 다른 사람들에게 유사한 좌절감을 피하기 위해 "FPGA를 사용하라"고 경고했습니다. HSYNC 타이머는 15V에서 12MHz로 정격 된 12비트 카운터에 의해 구동되었지만, 그는 벤 이터의 픽셀 클럭을 두 배로 늘리기 위해 20MHz까지 끌어올렸습니다. 그는 전체 숫자가 아닌 카운터 출력의 "ones"만 비교했는데, 이는 디스플레이를 손상시키지 않고 반복 신호를 도입하는 지름길이었습니다.
이미지 결함과 환경 노이즈 문제
이러한 독특한 접근 방식은 카드를 기능적으로 유지했지만, 타이밍 오류와 불안정한 출력을 야기했습니다. 시스템이 메모리에 쓰기를 시도할 때마다 이미지 결함이 발생했기 때문에 실용적인 그래픽 카드가 될 수 없었습니다. 또한, 주변 USB 케이블에서 발생하는 환경 노이즈로 인해 디스플레이가 왜곡되었습니다. ROM 전원 및 읽기 시간 제한으로 인해 문자가 선명하지 않았고, 설명할 수 없는 선이 배경에 나타났습니다.
기술적 농담과 FPGA의 필요성
Leoneq는 이미지를 "추악하다"고 솔직하게 평가하고 전체 노력을 "시간 낭비"라고 표현했습니다. 이 프로젝트는 TTL 게이트의 조잡한 컬렉션으로 사용할 수 있는 VGA 신호를 생성할 수 있음을 보여주었지만, 현대 디자이너들이 FPGA와 같은 프로그래머블 로직을 선호하는 이유를 명확히 보여줍니다. Leoneq의 저장소는 아두이노 메가를 위한 변환 도구 및 테스트 코드를 제공하지만, 이 노력은 실용적인 제품이라기보다는 기술적인 농담에 가깝습니다.
결론
iNapGPU 프로젝트는 순수한 열정과 약간의 광기가 결합된 결과물입니다. 비록 "세상에서 두 번째로 끔찍한 비디오 카드"라는 타이틀을 얻었지만, TTL 게이트만으로 VGA 신호를 생성하려는 시도는 하드웨어 엔지니어링의 한계를 시험하는 흥미로운 시도였습니다. 이 프로젝트는 FPGA와 같은 현대적인 기술이 왜 필요한지를 역설적으로 보여주는 좋은 예시입니다.