Dreamcast
The Dreamcast is a video-game console released by Sega in 1998, and discontinued in 2001. At the time it competed against the PlayStation and XBox. Just over 9 million units were sold in this period, but there appears to be a strong indie/homebrew community, centered around the dreamcast.wiki website.
According to this tweet, it’s possible to run Rust and Fortran on the Dreamcast thanks to some of the recent work done on GCC:
I found a bit more information about the connection with GCC in this Reddit thread, showing that some C++20 can also run on the Dreamcast. The author of the tweet will also be giving a presentation at FOSDEM: FOSDEM 2024 - Sega Dreamcast Homebrew with GCC
Even if you don’t have a Dreamcast now (second hand ones go for 100-250 € on Ebay, in Germany at least), in principle it should be possible to develop programs and test them using emulators.
I haven’t looked any deeper into how to set-up the SDK or a cross-compiler, but it looks like an entertaining project once the initial hurdles are overcome.
SH-4 CPU
The Dreamcast was built on top of the the SH-4 processor (from Hitachi) using the SuperH instruction set, a 32-bit RISC ISA. Notable features of the SH-4 include:
- FPU with four floating-point multipliers, supporting IEEE754 standard 32-bit single-precision and 64-bit double-precision floats (double precision is hardware emulated)
- 4D floating-point dot-product operation and matrix–vector multiplication (useful for viewpoint changes, angle changes, or movements called vector transformations)
- 128-bit floating-point bus allowing 3.2 GB/sec transfer rate from the data cache
- 64-bit external data bus with 32-bit memory addressing, allowing a maximum of 4 GB addressable memory with a transfer rate of 800 MB/sec
- Built-in interrupt, DMA, and power management controllers
More information can be found in the SH-4 CPU Core Architecture manual. The motivation for the floating point and matrix processing instructions are described in the paper Entertainment Systems and High-Performance Processor SH-4. I also found this presentation from Hot Chips in 1997.
You can see the processor at work in this demo disc that has been uploaded to YouTube.
PowerVR2 GPU
The Dreamcast uses the PowerVR2 GPU, manufactured by NEC under license of Imagination Technologies. It could draw more than 3 million polygons per second. I found a blog post explaining some of the novelties of the GPU at the time it was launched: Celebrating the 20th anniversary of Dreamcast and PowerVR - Imagination. The PowerVR product line was also used in iPhones until 2017. Note that the GeForce 256 which launched NVIDIA on to the PC gaming market was released in 1999.