FPGA로 3dfx Voodoo Graphics 재현, KV260에서 툼 레이더 원본 3dfx 렌더러로 구동
- z486_MiSTer 개발자가 3dfx Voodoo Graphics(SST-1)를 SystemVerilog로 구현한 zSST를 공개했고, z486 CPU와 PC 주변 하드웨어를 합친 z486 XL이 Xilinx KV260의 프로그래머블 로직에서 툼 레이더를 원래 3dfx 렌더러로 실행함
- CPU와 렌더러는 100MHz로 돌고, 원본 카드는 50MHz 그래픽 클럭에서 초당 5000만 픽셀(클럭당 텍스처링 및 depth 테스트 완료 픽셀 1개)을 냈음. DE10-Nano에는 로직 공간이 없어 KV260 온보드 DDR을 쓰고 외부 SDRAM 모듈은 없음
- prepared triangle, 텍스처 필터링과 밉매핑, depth/alpha 테스트, 포그, 블렌딩, 디더링, 프레임버퍼 접근, 버퍼 스왑을 구현했고 fixed-point와 floating-point setup 인터페이스를 모두 지원하나, 하드웨어 테스트는 툼 레이더 한 게임에 집중돼 있음
- SST-1에는 하드웨어 T&L이 없어서 3D 변환, 버텍스 조명, 클리핑, 화면 투영은 호스트 CPU가 처리하고 Glide가 화면 공간 삼각형과 파라미터 그래디언트를 준비해 5개 명령 레지스터(triangleCMD, ftriangleCMD, nopCMD, fastfillCMD, swapbufferCMD)로 렌더링을 시작함
- 1999년 공개된 Glide 소스와 SST-1 명세를 동작 목표로 삼고, 86Box, MAME Voodoo, SpinalVoodoo의 Glide 트레이스와 참조 스크린샷을 테스트 기준으로 사용함
Hacker News opinions
VGA로 31kHz 출력도 지원할까? 슈퍼스테이션 원에 넣을 시대에 맞는 PC를 만들고 싶은데.
그 가능성은 생각 못 했는데 정말 좋을 것 같아.
아마 될걸. 코어를 직접 써보진 않았지만 대부분 VGA 포트로 원래 출력을 유지하더라. 혹시 안 되면 vga_scaler 켜서 강제하면 됨.
툼 레이더가 펜티엄을 요구했던 걸로 기억하는데 내 486에서는 데모가 안 돌았어. 이 FPGA 486이 펜티엄 명령어를 지원하나?
요구가 아니라 권장임. 펜티엄 60이 최소 권장이었고, 퀘이크처럼 파이프라인 FPU를 잘 쓰는 게임이라 펜티엄 60에서 30fps, 486DX2@66에서 15fps, DX4@100에서 20fps 나왔대.
486DX5@133에 트라이던트 3D SVGA로 스타플릿 아카데미 데모를 전투에서 슬로모션으로 돌렸던 기억이 나. 펜티엄 75나 90에 DirectX 가속기를 요구하는 게임이었어.
MiSTer HDMI 출력을 망가뜨려서 속상함. 모니터 배치 바꾸려고 껐다 켰다 하면서 꽂았다 뺐다 했더니 출력이 죽었어. SSH는 멀쩡했는데, 켜진 상태에서 그러면 안 좋다고 하더라. 아들과 오래 놀았으니 본전은 뽑았지만.
QMTech MiSTer 클론이 알리에서 저렴하고 잘 돌아감. 128MB SDRAM 확장이랑 아날로그 I/O 보드가 케이스에 같이 와서 2대 쓰고 있고, 전용 용도로 몇 대 더 살 생각임.
그 Voodoo 카드 있었는데 퀘이크1이 정말 멋졌어. 물론 지금 보면 그렇지도 않지만.
예제 영상이 없는 게 너무 아쉽다!
참고로 MiSTer는 클래식 컴퓨터와 콘솔을 하드웨어로 재현하는 프로젝트임. 소프트웨어 에뮬레이션 대신 실제 로직을 FPGA에 매핑해서 타이밍 문제 없이 똑같이 재현하는 거라, 애플 II나 코모도어 64에 관심 있으면 꼭 봐야 함.
그 주변에 생태계가 다 있더라. ultimatemister.com에서 완성품으로 살 수 있고 꽤 좋아.
Voodoo에는 early depth test가 없어서 완전히 가려진 삼각형도 텍스처링된다는 게 맞나?
두 여름 잔디 깎아서 Voodoo 3000 PCI를 사려고 모았는데 절반도 못 맞춰서 부모님이 채워주셨어. 기대했던 게 거의 안 돌아서 여름 내내 아르카눔 실행만 붙잡고 있었고 결국 실패했음. 그 뒤로는 뭐든 사기 전에 집착적으로 알아보게 됐어. 그래도 10살 때 그 카드가 상징하던 건 좋게 기억함. 얼마 뒤 펜티엄 3에 GeForce 2 단 델 XPS를 사서 해피엔딩이었지.