HNHacker News
TopNewBestAskShowJobs

smirutrandola

192 karma · joined November 15, 2021

Tech News enthusiast
submissionscomments
smirutrandola··on Asian hornet nests tracked using micro radios
And finally destroyed.
smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
Upvoted as you have convinced me with your solid refs.

I don't see possibility of commenting on the link I posted (silabs community), but on the detailed blog one can leave comments. I will post a there a link to this conversation, asking to address the issue and we'll see what they say.

smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
I don't think the initial access time (latency) shall be included when speaking about peak bandwidth, otherwise it is not the peak bandwidth.

Peak bandwidth shall be considered with ideally infinite (large enough) payload to make latency negligible. When you have these two values, latency and peak bandwidth, you can estimate your (still theoretical, of course) performance given the transfer size.

The article uses the 240-320 MB/s peak bandwidth, and 110-130 ns latency for a comparison with the used external flash, which has latency in the us range and a peak bandwidth of 17 MB/s (arguably assuming using infinite payload, as 136.5/8 is about 17, i.e. without taking the initial setup time).

Still, even if you compare the actual speeds of a 1996 Pentium with the theoretical external flash speed values cited in the article, the consideration does not change: the external flash is much slower than what you could get even in 1996.

smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
OMG that link (and its parent) is extremely interesting! Thank for sharing!
smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
I think that figure is of course referring to the peak bandwidth in burst mode, where you are sequentially access data (tacc = 25 ns), in the ideal case. In that sense, also the figure given for the Cortex M33 are to be taken as absolute maximum as well. 50-70 MB/s sounds representative of random read of 8 bytes blocks, where you have the full access time. This will go even lower if you just make byte-access.

Quake was indeed optimized to work on such 1996 Pentium PCs. Look for instance how the edge/surface/span arrays are allocated in the stack: they allocate extra size, to be sure that the data will be aligned to the cache line size.

smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
Yes that is really impressive.

Still it was done with 50% more memory, 1/3 of resolution and not implementing the whole game features.

smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
The article says that even if you put all the static data to flash, you still have to fit about 1.5 MB of non static data, if you don't optimize it. Beside that, all graphics is loaded from the relatively slow external SPI flash, which tops at 17 MB/s with overclock. Yes, the GBA is much slower, but the access to cartridge data is faster than 17 MB/s (and also the random-read speed is in the 100 ns range, not 1-2 us range).
smirutrandola··on Quake runs in just 276 kB RAM on the Arduino Nano Matter board
Link to the video showing Quake running: https://www.youtube.com/watch?v=hVnfwzxTJ00
smirutrandola··on The Sun Set Off 4k Sea Mines During the Vietnam War – Atlas Obscura
Never let the sun play Minesweeper.
smirutrandola··on Simplest Helicopter Ever [video]
It is a single blade, but at the end he uses a double blade side motor, total 3 blades!

Anyway, cool stuff :)

smirutrandola··on Bar-tailed Godwits regularly travel more than 7,000 miles non-stop
Well, that was faster than my last shipment.

Next time I'll send through a pigeon.

smirutrandola··on Porting Doom to a USB Bluetooth Dongle
Video link: https://www.youtube.com/watch?v=kUsfgSCRpG0

These are the same guys of the doom port to the ikea lamp (see https://news.ycombinator.com/item?id=27498789).