New answers tagged

1

Floating point operations on most integer CPUs are actually performed on an unpacked representation, where the exponent is a freestanding value, the mantissa another such value, and the sign a separate boolean flag, sometimes a stolen bit from exponent or mantissa. So the use of packed IEEE representation is counter-productive since you have to keep ...


2

It is my understanding that many microprocessors used dynamic logic. The likes of the 6800,6809 and the 6502 used this. This reference discusses one such technique: https://en.m.wikipedia.org/wiki/Four-phase_logic


8

One thing to note – the 8088 registers are made from dynamic memory cells – they have to be refreshed. This was unexpected (at least to me), Same to me. And I guess to anyone else as well. Ken Shirriff's analysis of the 8086 registers clearly shows that they are not dynamic, but static, using the same inverter loop as the 8080 already did (and essentially ...


5

This all happened on an 8 bit computer. So the designer of the floating-point format was free to use 3, 4, 5, 6, 7, 8 or 9 bytes for floating-point numbers, there was no particular advantage of using 4 or 8 bytes. The obvious difference is the precision, the storage requirements, the amount of code, and the execution time of operations. 32 bit float is Ok ...


2

I don't know how the algorithm works, but I can describe an algorithm which is consistent with the behavior I've observed. The marker moves multiple pixels at a time. This means that rows and columns can be divided into those that the marker can occupy and those which it cannot. Software need only concern itself with pixels that are on columns the marker ...


1

I can't say, I didn't write it, and I haven't seen the game in some time. But the fill is pretty simple as I recall. Remember, that the boundary that is drawn does not have to be square, or a straight line, or anything. You press the button and leave the border, and then you can draw a shape of arbitrary complexity (you just can't cross over yourself, and, ...


5

I believe many versions of Qix did a flood-fill on both sides of the line, then observed which one hit the Qix itself and "activated" the other one. There are flood-fill algorithms that are quite efficient for the relatively large, open, geometric areas that usually result from gameplay. A modern approach would probably use a path-based scanline-...


6

I used an IBM 360 a lot for numerical work around 1970, and found single-precision (32-bit) floating point almost, but not quite, adequate for a surprisingly wide range of problems; whereas "double precision" (64-bit) was overkill and slow. 40-bit floating point (32 bit mantissa) is probably an excellent compromise. But of course it depends on ...


7

32-bit floating point has 23 bits of mantissa (8 used by exponent and 1 used by sign). This gives only 6 significant decimal digits of precision, possibly up to 9 but not with guaranteed precision. It is enough precision to claim you support floating point maths, but it isn't very much precision for some scientific needs. I suspect they wanted to provide ...


20

Using a 32 bit signed mantissa and 8 bit unsigned exponent has one major advantage: You can re-use 32 bit integer math functions for operating on the mantissa. That re-use saves memory. It may even be possible to optimize the 8 bit exponent maths if character maths are supported, as characters are typically stored as 8 bit unsigned ASCII. The original ...


37

The floating-point routines for Microsoft BASIC were written by Monte Davidoff in 1975, originally for the Altair, which used an Intel 8080 CPU. The source code had been lost for years, until Bill Gates’ former tutor discovered a copy in 2000 that had fallen behind his file cabinet two decades before. Davidoff needed to invent his own floating-point format, ...


15

It's not a power of 2, not a nice round number But it is :-) 1 byte exponent (with an assumed 1 bit always equal to one), 4 bytes mantissa, at least on the ZX Spectrum – see the ZX Spectrum manual. And since the mantissa and exponent are processed individually, the mantissa is a nice power of 2. Granted, this is less of an advantage without full 32 bit ...


Top 50 recent answers are included