weirdr.net is a Fediverse instance that uses the ActivityPub protocol. In other words, users at this host can communicate with people that use software like Mastodon, Pleroma, Friendica, etc. all around the world.

This server runs the snac software and there is no automatic sign-up process.

Site description
This is a dual Pentium Pro running NetBSD.
Check out the floppy museum for hints on how to get in touch. Or, you know, ping me on the fediverse. :)
Admin account
@ltning@weirdr.net

Search results for tag #hardware

SuperIlu boosted

[?]BurgerBaron » 🌐
@BurgerBaron@piefed.social

Building an FPGA 3dfx Voodoo with Modern RTL Tools

" This frame of Screamer 2 was rendered not by an original 3dfx card and not by an emulator, but by an FPGA reimplementation of the Voodoo 1 that I wrote in SpinalHDL. Available on GitHub.

What surprised me was not just that it worked. It was that a design like this can now be described, simulated, and debugged by one person, provided the tools let you express the architecture directly and inspect execution at the right level of abstraction.

The Voodoo 1 is old, but it is not simple. It has no transform-and-lighting hardware and no programmable shaders, so all of its graphics behavior is fixed in silicon: gradients for Gouraud shading, texture sampling, mipmapping, bilinear and trilinear filtering, alpha clipping, clipping, depth testing, fog, and more. A modern GPU concentrates much of its complexity in flexible programmable units. The Voodoo concentrates it in a large number of hardwired rendering behaviors.

One of the bugs that drove this home looked at first like a framebuffer hazard. Small clusters of partially translucent text and overlay pixels would go mysteriously transparent, even though most of the frame looked fine. The real issue turned out not to be one broken subsystem, but several small hardware-accuracy mismatches stacking up in exactly the wrong way. That bug ended up being a good summary of the whole project: the hard part was not “making triangles appear.” It was matching the Voodoo’s exact behavior closely enough that the wrong pixels stopped appearing.

This post is about the two abstractions that made that tractable. The first is how I represented the Voodoo’s register semantics in SpinalHDL. The second is how I debugged a deep graphics pipeline using netlist-aware waveform queries in conetrace. "

cont. in dev blog.

(https://sh.itjust.works/c/emulation)

2 ★ 1 ↺
Headbanger75 boosted

[?]Ltning » 🌐
@ltning@weirdr.net

Herewith, the actual machine. Some specs ..
- Motherboard: Zida TD60C
- CPU: Harris 286 28MHz
- RAM: 16MB "RainbowRAM", 55ns (check out the LEDs!)
- Graphics: Cirrus Logic CL-GD5422, 1MB
- Network: 3com EtherLink III (3c509)
- Floppy: 2-in-1 90mm (3.5") and 1.2" floppy drive
- Storage: Promise DC200M caching IDE controller, 2.5MB cache
- SCSI: Sound Blaster 16 SCSI :D


Dark-ish picture showing motherboard mounted horizontally on a transparent acrylic surface. Underneath a combined 5.25 inch and 90mm floppy drive. The installed RAM lights up in different colours, four sticks with blue, purpole organge and yellow LEDs, respectively. VGA, network and sound cards are also visible.

Alt...Dark-ish picture showing motherboard mounted horizontally on a transparent acrylic surface. Underneath a combined 5.25 inch and 90mm floppy drive. The installed RAM lights up in different colours, four sticks with blue, purpole organge and yellow LEDs, respectively. VGA, network and sound cards are also visible.