IRIX 3dfx Voodoo 驱动程序和 glide2x IRIX 移植
IRIX 3dfx Voodoo driver and glide2x IRIX port

原始链接: https://sdz-mods.com/index.php/2026/03/23/irix-3dfx-voodoo-driver-glide2x-irix-port/

本报告详细介绍了在配备IP32 (O2) 处理器和 RM7000C CPU的IRIX 6.5.30系统上成功实现3dfx Voodoo1 (SST1)图形驱动程序的过程。该驱动程序来自GitHub仓库 ([https://github.com/sdz-mods/tdfx_irix-glide2x](https://github.com/sdz-mods/tdfx_irix-glide2x), [https://github.com/sdz-mods/glide_irix-hinv](https://github.com/sdz-mods/glide_irix-hinv), [https://github.com/sdz-mods/hinv_3dfx](https://github.com/sdz-mods/hinv_3dfx)),通过一个封装器实现了3dfx支持。 该驱动程序成功初始化并正确识别了Voodoo1显卡,将其寄存器和帧缓冲分别映射到内存地址0x1b000000和0x1b400000。一个基本的测试应用程序 ("test20") 成功运行在640x480分辨率下。通过`hinv_3dfx`收集的系统信息确认了Voodoo显卡的出现,厂商ID (3dfx Interactive),并详细说明了其寄存器/帧缓冲配置。目前,仅支持SST1。该系统配备了1GB内存,802 MHz IP32处理器以及其他标准外围设备。

黑客新闻 新的 | 过去的 | 评论 | 提问 | 展示 | 招聘 | 提交 登录 IRIX 3dfx Voodoo 驱动和 glide2x IRIX 移植 (sdz-mods.com) 14 分,由 zdw 1小时前发布 | 隐藏 | 过去的 | 收藏 | 讨论 帮助 指南 | 常见问题 | 列表 | API | 安全 | 法律 | 申请YC | 联系 搜索:
相关文章

原文

At the moment only SST1 (Voodoo1) is supported on IP32 (O2). Only tested on IRIX 6.5.30 with RM7000C CPU.

-driver sources (SST1 and CVG support on IP32) https://github.com/sdz-mods/tdfx_irix
-glide2x IRIX port (SST1 on IP32) https://github.com/sdz-mods/glide_irix
-hinv wrapper with 3dfx support: https://github.com/sdz-mods/hinv_3dfx

Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: init — 3Dfx Voodoo1/Voodoo2 driver
Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: registering for Voodoo1 and Voodoo2
Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: attaching Voodoo1 (SST-1) as card 0
Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: SST-1 BAR0 mapped: reg_kva=bb000000 reg_phys=0x1b000000 fb_kva=bb400000 fb_phys=0x1b400000
Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: IP32 write-gather skipped for SST-1 (single BAR)
Mar 23 13:48:33 5A:IRIS unix: NOTICE: tdfx: card 0 (Voodoo1 (SST-1)) reg_phys=0x1b000000 fb_phys=0x1b400000
Mar 23 13:48:37 5A:IRIS unix: NOTICE: tdfx: card 0 accessible at /hw/tdfx0
Mar 23 13:48:37 5A:IRIS unix: NOTICE: tdfx: 1 card(s) registered
Mar 23 13:48:33 5E:IRIS lboot: Module /var/sysgen/boot/tdfx.o dynamically loaded.
IRIS 31# ./test20
test20:
mipmap modes
2.46
Resolution: 640x480
Press A Key To Begin Test.

Couldn't determine cpu type. Using i586
initEnumHardware: calling pciOpen
fxirix: 1 3Dfx card(s) opened
pciOpen: hasDev3DfxIrix=1
pciOpenIrix: numDevices=1
initEnumHardware: pciOpen OK
initEnumHardware: slot 0 vendor=0x121a device=0x1
initEnumHardware: SST1 defined, checking TDFXVID=0x121a SST1DID=0x01
initEnumHardware: SST1 card detected at slot 0
fxirix: device 0 TDFX_GET_REGBASE=0x1b000000
fxirix: card 0 reg_base=0x1b000000 fb_base=0x1b400000 reg_size=4194304 fb_size=12582912
fxirix: map card 0 reg window phys=0x1b000000 size=16777216
fxirix: mmap fd=3 offset=0x0 length=16777216
fxirix: device 0 TDFX_GET_REGBASE=0x1b000000
SetGrxClk: tex write sstbase=4000000 addr=4f00000
vidInit: A (after VCLK_ENABLE)
vidInit: B (timing regs done)
vidInit: C (SetResolution done)
vidInit: D (before CalcGrxClk)
vidInit: E (CalcGrxClk done)
SetGrxClk: tex write sstbase=4000000 addr=4f00000
fxirix: device 0 TDFX_GET_REGBASE=0x1b000000
grTexClampMode: tmu=0 hw=4000000 packerFix=0x4e20000
grTexClampMode: before PW1, SST_TMU(hw,0)=4000800
grTexClampMode: before TMU write addr=0x4000b00 val=0x800000c0
grTexClampMode: readback done, updating shadow
grTexClampMode: shadow updated, calling GR_END
grTexClampMode: returning
_grTexDetailControl: tmu=0 detail=0x40ff addr=0x4000b08
_grTexDetailControl: write+readback done
_grTexDetailControl: returning
IRIS 32# hinv_3dfx
CPU: QED RM7000 Processor Chip Revision: 5.1
FPU: QED RM7000 Floating Point Coprocessor Revision: 5.0
1 802 MHZ IP32 Processor
Main memory size: 1024 Mbytes
Secondary unified instruction/data cache size: 256 Kbytes on Processor 0
Ternary unified instruction/data cache size: 1 Mbyte on Processor 0
Instruction cache size: 16 Kbytes
Data cache size: 16 Kbytes
FLASH PROM version 4.18
Integral SCSI controller 0: Version ADAPTEC 7880
  Disk drive: unit 2 on SCSI controller 0
Integral SCSI controller 1: Version ADAPTEC 7880
On-board serial ports: tty1
On-board serial ports: tty2
On-board EPP/ECP parallel port
CRM graphics installed
Integral Ethernet: ec0, version 1
Video: MVP unit 0 version 1.4
 with no AV Card or Camera.
Vice: TRE
Graphics board: 3dfx Voodoo

IRIS 33# hinv_3dfx -v
CPU: QED RM7000 Processor Chip Revision: 5.1
FPU: QED RM7000 Floating Point Coprocessor Revision: 5.0
1 802 MHZ IP32 Processor
Main memory size: 1024 Mbytes
Secondary unified instruction/data cache size: 256 Kbytes on Processor 0
Ternary unified instruction/data cache size: 1 Mbyte on Processor 0
Instruction cache size: 16 Kbytes
Data cache size: 16 Kbytes
FLASH PROM version 4.18
Integral SCSI controller 0: Version ADAPTEC 7880
  Disk drive: unit 2 on SCSI controller 0 (unit 2)
Integral SCSI controller 1: Version ADAPTEC 7880
On-board serial ports: tty1
On-board serial ports: tty2
On-board EPP/ECP parallel port
CRM graphics installed
Integral Ethernet: ec0, version 1
  PCI Adapter ID (vendor 0x9004, device 0x8078) PCI slot 1
  PCI Adapter ID (vendor 0x9004, device 0x8078) PCI slot 2
  PCI Adapter ID (vendor 0x121a, device 0x0001) PCI slot 3
Video: MVP unit 0 version 1.4
 with no AV Card or Camera.
Vice: TRE
Graphics board: 3dfx Voodoo (unit 0)
    Vendor: 3Dfx Interactive  Device ID: 0x0001
    Register base: 0x1b000000  size: 4096 KB
    Framebuffer base: 0x1b400000  size: 12288 KB
联系我们 contact @ memedata.com