IRIX 3dfx Voodoo driver + glide2x IRIX port – sdz-mods.com
sdz-mods.com
Skip to content
Menu
HomeSample Page
IRIX 3dfx Voodoo driver + glide2x IRIX port
by sdzPosted onMarch 23, 2026March 23, 2026
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
Posted in 3dfx, SGI
Published by sdz
View all posts by sdz
Post navigation Prev S3 Savage4 Pro PCI low profile HDMINext SGI O2 PROM ISP
Leave a Reply Cancel replyYour email address will not be published. Required fields are marked *Comment * Name * Email * Website Save my name, email, and website in this browser for the next time I comment.
Search for:
Search
Recent Posts
SGI O2 PROM ISP
IRIX 3dfx Voodoo driver + glide2x IRIX port
S3 Savage4 Pro PCI low profile HDMI
SGI O2 CPU PROM emulator
SGI O2 system PROM socket adapter
Recent Commentssdz on SGI O2 128MB DRAM moduleDaveK on SGI O2 128MB DRAM modulesdz on SGI O2 128MB DRAM moduleDavid on SGI O2 128MB DRAM modulesdz on SGI O2 128MB DRAM moduleArchives
March 2026 February 2026 January 2026 September 2025 December 2024 June 2024 May 2024 January 2024 June 2020 May 2019
Categories
3dfx
Q3D
S3
SGI
Uncategorized
Meta
Log in Entries feed Comments feed WordPress.org
© Copyright 2019 – sdz-mods.comAllium Theme by TemplateLens ⋅ Powered by WordPress |
This document details the development and testing of a driver for the 3dfx Voodoo graphics card, specifically the Voodoo1 and Voodoo2, utilizing the Glide2x IRIX port and the IRIX operating system. The project, undertaken by sdz-mods, focuses on compatibility with IRIX 6.5.30, utilizing a QED RM7000 CPU and an IP32 processor. The core of the effort involves a series of compiled modules, including the tdfx driver, a Glide2x port, and an HINV (Hardware Interrupt Wrapper) interface designed to facilitate 3dfx graphics support.
The primary goal appears to be establishing a functional interface between the 3dfx Voodoo card and the IRIX operating system's hardware architecture. The provided logs demonstrate the driver’s initialization, identifying the SST-1 (Voodoo1) card as card 0, mapping its registers and framebuffer, and ultimately establishing communication with the IRIX system. Key elements of the process include the allocation of physical memory addresses for the Voodoo graphics card’s registers and framebuffer (0x1b000000-0x1b400000), as well as the creation of a PCI device entry. The test20 program, running under IRIX, utilizes this interface to render a 640x480 resolution test with mipmap modes, showcasing the driver’s ability to translate 3dfx commands into graphical output. Further, the documentation highlights the use of an HINV wrapper to manage hardware interrupts and provide a consistent interface for the 3dfx driver, allowing communication with the VP3 card. The system information provided illustrates this card’s specifications including memory size, cache architectures, and peripheral connections such as SCSI controllers and serial ports. The overall focus is on a niche project aimed at reviving vintage 3dfx Voodoo cards on the IRIX platform. |