Silice
DOOM-FX
Silice | DOOM-FX | |
---|---|---|
10 | 9 | |
1,230 | 1,168 | |
- | - | |
9.2 | 2.6 | |
5 days ago | almost 2 years ago | |
C++ | Assembly | |
GNU General Public License v3.0 or later | GNU General Public License v3.0 only |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
Silice
-
Unreasonably effective – How video games use LUTs and how you can too
- how it is computed: https://github.com/sylefeb/Silice/blob/master/projects/ice-v...
Julia fractal, with a table to do integer multiply! (2.a.b = (a+b)^2 - a^2 - b^2, so just precompute all x^2 in a table! )
- Running Quake on an FPGA (Custom MRISC32 CPU) [video]
-
Another World Ported to FPGA
For anyone confused by the HDL, it's the authors custom language: https://github.com/sylefeb/Silice/tree/master
It provides a compiler to Verilog that then can be fed to traditional design flows.
-
An addressable little explored language gap: HDL - Hardware Description Languages, any language used for electronic circuit design, description, and specs
Have a look at Silice, it's brilliant.
- FCCM'22 Tutorial: Recent Developments in Hardware Description Languages
- GitHub - sylefeb/Silice: Silice is an open source language that simplifies prototyping and writing algorithms on FPGA architectures.
- Silice: A language for hardcoding Algorithms into FPGA hardware
-
The Ice-V: a simple, compact RISC-V RV32I implementation in Silice
I was more interested in the Silice project above:
https://github.com/sylefeb/Silice/tree/draft
-
How to contribute to open source?
I'm an intern at a french IT lab and my boss is working on an open-source FPGA language, you might want to check it out https://github.com/sylefeb/Silice .
DOOM-FX
-
How do computers calculate sine?
I recently learned how Doom was ported to the SNES. It's quite impressive. The SNES hardware was nowhere near fast enough to do all the trig calculations needed for the game but cartridge based games had a trick up their sleeve: they could include actual hardware inside the cart that the game code could make use of. It was more expensive but if you expected to sell a boatload of copies, it could be worth it. However, even using extra hardware wasn't enough in this case. So they pre-calculated lookup tables for sine, cosine, tangent etc. for every angle at the necessary precision. They were helped by the fact that the game resolution in this case was fairly low.
If you're interested, you can peruse the C code that was used to generate the tables. Here's the file for sine/cosine:
https://github.com/RandalLinden/DOOM-FX/blob/master/source/m...
-
Unreasonably effective – How video games use LUTs and how you can too
A Podcast Of Unnecessary Detail just did an episode talking about the SNES Doom port and how it used LUTs for trigonometry as the SNES didn't have a graphics processor.
https://festivalofthespokennerd.com/podcast/series-3-episode...
https://github.com/RandalLinden/DOOM-FX
- Anyone know if it can run DOOM?
-
I know it's not a great version, but I've always wanted to own it, and now I do.
Fun fact: Randy Linden, the original developer of the game, has posted the complete source on GitHub (https://github.com/RandalLinden/DOOM-FX) and then made some additional changes so that it could rebuild a byte-perfect copy of the original US ROM.
-
Digital Foundry: DF Retro: The Making of Doom on Super NES - The Original 'Impossible Port'...?
Looks like it does use BSP: https://github.com/RandalLinden/DOOM-FX/blob/master/source/rlbsp.a
- Doom/FX for Super Nintendo
- Doom-Fx - Doom/fx for super nintendo with superfx gsu2a
- I noticed the 32x version of DooM recently got huge improvements on original hardware from the community, it is possible the SNES version could have been a lot better also? The SNES team was supposedly understaffed and under the holiday crunch.
-
SNESDEV Game Jam — coding games in assembly that run on the actual Super Nintendo for the 30th anniversary of this retro console (from June 4th to September 9th)
Doom/FX for Super Nintendo with SuperFX GSU2A enhancement chip
What are some alternatives?
hls4ml - Machine learning on FPGAs using HLS
SA1-Root - Project for accelerating SNES games using the SA-1 chip.
chisel-book - Digital Design with Chisel
NovaTheSquirrel2 - A very early sequel to Nova the Squirrel for SNES
PipelineC - A C-like hardware description language (HDL) adding high level synthesis(HLS)-like automatic pipelining as a language construct/compiler feature.
karuta - Karuta HLS Compiler: High level synthesis from prototype based object oriented script language to RTL (Verilog) aiming to be useful for FPGA development.
openFPGALoader - Universal utility for programming FPGA
a5k - Another World on a chip
DFHDL - DFiant HDL (DFHDL): A Dataflow Hardware Descripition Language
rawpsx - adaptation/port of https://github.com/cyxx/rawgl (Another World) for the PlayStation using PSn00bSDK
aw64 - nintendo 64 port of https://github.com/fabiensanglard/Another-World-Bytecode-Interpreter/
infernal_js - Infernal Runner CPC (HTML5)