I'm trying to add WE32106 Math Accelerator support to my 3B2 emulator. So far so good, but I feel dirty: My code assumes floating point types are stored in IEEE-754 format in memory. The C standard guarantees no such thing.

I mean... so far it works? But there's no guarantee it will work on every platform, or even with every compiler.


I guess the other option is to use a library like SoftFloat, but that adds a lot of code to the emulator.

Show thread


Fuck floating point. Fuck it right in the nose.

Show thread


@twylo more like bloating point amirite


@twylo Better than fixed point, at least? Depending.

@twylo I had never heard of that line of computer until your post. I had come across the AMD bitslice parts long ago when reading through books filled with datasheets from vendors was a (sometimes) fruitful thing to do. Anyway, it looks like an interesting piece of computer history. :)

@twylo Woke up this morning and finished reading wikipedia page and realized I was confused by model names. Your 3B2 was not implemented with bitslice ICs. As far as CPU goes, was there any architectural heritage between the large 3B20 and the WE-32000 used in the 3B2?

@cstanhope I don't know much about the 3B20, but I believe it was based around the same BELLMAC architecture that informed the WE32000 and WE32100 chipset.

@twylo Cool. Thank you. I'm curious, since you're building a 3B2 emulator, did you use one of those machines before?

@cstanhope Believe it or not, no. I became really interested in the platform in 2014, and couldn't get my hands on a real 3B2, so I started writing the emulator to better understand it. One thing led to another, and now I have a small pile of 3B2 hardware and a working emulator.

@twylo That's awesome! I admire your tenacious drive to understand the system. 😀

Sign in to participate in the conversation
Mastodon @ SDF

"I appreciate SDF but it's a general-purpose server and the name doesn't make it obvious that it's about art." - Eugen Rochko