this post was submitted on 05 Aug 2024
442 points (99.8% liked)

Technology

59381 readers
3164 users here now

This is a most excellent place for technology news and articles.


Our Rules


  1. Follow the lemmy.world rules.
  2. Only tech related content.
  3. Be excellent to each another!
  4. Mod approved content bots can post up to 10 articles per day.
  5. Threads asking for personal tech support may be deleted.
  6. Politics threads may be removed.
  7. No memes allowed as posts, OK to post as comments.
  8. Only approved bots from the list below, to ask if your bot can be added please contact us.
  9. Check for duplicates before posting, duplicates may be removed

Approved Bots


founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
[–] [email protected] 73 points 3 months ago* (last edited 3 months ago) (1 children)

Popular myth but untrue.

The ROM is exactly 40 kiB or 40 960 bytes. The NES outputs video at a resolution of 256×240=61 440 pixels. The game never switches palettes mid-frame and thus the highest possible number of colors (of the 64 available ones, of which 55 are distinct) in any screenshot is: 4 sprite palettes × 3 non-transparent colors per palette = 12 colors among all sprites; plus 4 background palettes × 3 selectable colors per palette + 1 selectable color shared between all palettes = 13 colors in the background; or 25 colors in total.

Even one of the most basic lossless image formats, GIF, can use an n-bit palette of 2−1 arbitrary colors plus transparent, where 1≤n≤8. For n=5, we can store up to 31 colors at 5 bits per pixel, or 307 200 bits total, which is 38 400 bytes. The palette entries, size etc. will take about 200 bytes at most, and LZW compression built into the format (or even better, whatever PNG uses) can be used to reduce the file size further (significanly because there are huge areas filled with solid color or patterns).

I'd bet it's possible to make an NES ROM that does nothing but fill the screen with noise-like tiles and switches the colors mid-frame, likely in just 8 kiB of video ROM plus 2 kiB of program ROM, whose screenshots will never compress to below 10 kiB in PNG format, though.

[–] [email protected] 74 points 3 months ago (3 children)

You’re absolutely correct, but you and I both know that normal people are going to only manage to create a dithered JPG that’s almost half a MB in size.

[–] [email protected] 36 points 3 months ago (2 children)

I laughed because last week, I had to teach the marketing team why you shouldn't upload your iPhone photos to the website. Each page has a nice 4meg high res photo.

[–] [email protected] 34 points 3 months ago (1 children)

Bet they all had location metadata, too.

[–] [email protected] 13 points 3 months ago (1 children)

Oh my, I did a scan and yes... We have location meta data on our images.

Oh boy.

[–] [email protected] 3 points 3 months ago
[–] [email protected] 5 points 3 months ago (1 children)

And it's probably in hvec format too, lol

[–] [email protected] 5 points 3 months ago
[–] [email protected] 3 points 3 months ago

dithered JPG

How? Why? By first saving it as a fixed-palette GIF?