Show HN: I486SX_soft_FPU – Software FPU Emulator for NetBSD 10 on 486SX
117 points| mezantrop | 10 months ago |github.com
I'm excited to announce the first release of i486SX_soft_FPU — a software FPU emulator for the classic Intel 486SX CPU, running on NetBSD 10!
This project brings floating-point support back to life for 486SX machines, even though modern NetBSD versions no longer natively support processors without a hardware FPU. If you're into retrocomputing, operating system hacking, or just love old-school hardware, check it out!
Project page: https://github.com/mezantrop/i486SX_soft_FPU Contributions, feedback, and testing are all very welcome!
Let's keep these vintage machines alive!
#retrocomputing #NetBSD #486SX #opensource
accrual|10 months ago
I know OpenBSD dropped support for i486 in 6.8, making 6.7 the last that runs natively on them (FPU or not). The support was lost when moving to LLVM 9 and enabling `-march=i586 on i386`. However, old Socket 3 boards can still run the latest version of OpenBSD if one drops a Pentium Overdrive in. :)
dcassett|10 months ago
According to [1] they do
"Any i486 or better CPU should work - genuine Intel or a compatible such as Cyrix, AMD, or NexGen."
[1] https://wiki.netbsd.org/ports/i386/
jabl|10 months ago
ahartmetz|10 months ago
remlov|10 months ago
userbinator|10 months ago
natas|10 months ago
queenkjuul|10 months ago
LeFantome|10 months ago
It uses kernel 3.7
For 486, there was a release just two months ago using kernel 6.13: https://github.com/marmolak/gray486linux
rzzzt|10 months ago
quotemstr|10 months ago
adzm|10 months ago
actionfromafar|10 months ago
1: https://github.com/mezantrop/i486SX_soft_FPU/blob/main/READM...
hsnewman|10 months ago
karlgkk|10 months ago
_mlbt|10 months ago
Very cool project!
rasz|10 months ago
It just so happens first room when starting the game - rooftop - has sloped roof vents and later walls with sloped edge. Even on fast FPUless 90MHz NexGen Nx586 (AMD K6 father) FPS drops down to 10-14fps on that roof https://www.youtube.com/watch?v=41O2bNG2qKA&t=234s while staying above 30 when facing away from slopes.
actionfromafar|10 months ago
What this NetBSD project does is not exactly like that though, it lets programs use regular 487 float instructions, which are trapped by the kernel, which steps in and emulates what the hardware float instruction would have done.
It worked very well for regular program, because most programs would not use float instructions to any significant degree.
If you however were going to use floats a lot for long calculations, a soft-float library would be much faster.
theragra|10 months ago
After some experiments, I remembered university course and was able to understand what is going on.
When using float types or operations, fpu emulation is used, which takes huge amount of memory for anything.
I think atmel is using gcc, but not sure if you emulation is part of gcc or atmel libraries.
Turboblack|10 months ago
bezko|10 months ago
PrivacyAI|10 months ago
evmar|10 months ago
einr|10 months ago
unknown|10 months ago
[deleted]
esafak|10 months ago
[deleted]
LukeShu|10 months ago