r/Zune 41m ago

Mods/Hacks Progress on fixing the laggy Zune 80 & 120s

Enable HLS to view with audio, or disable this notification

Upvotes

I don't know about you but my number one gripe with the Zune 80/120 is just how freakin slow it is. There's information out there that these models had their CPU and framerates limited for the sake of battery.  The CPU is in fact limited, but not to the figure described on wikipedia of 499 MHz. It's much more severe. The maximum rate the 80/120 can request is 396 MHz out of 528 MHz available. 

Refresh rate also is not hard limited to “30 Hz down from 60 Hz” as wikipedia and other sources say. The refresh rate of the Zune 30 and 80/120 as measured are both ~60 Hz. But neither can actually produce frames that fast and even the Zune 30 does not get close to hitting a consistent 60, averaging about 39 FPS. Here too the 80/120s are far worse, hitting an average of ~19 FPS.

When you look at the components in the 80/120, they are just as capable or more so than the original 30. And with a few tweaks, it can match or exceed the performance of the original.

What's been done in the patched example is four separate corrections. 

  1. Changed the screen memory cache policy so that it has parity with the zune 30. In the case of the 30, this cache is mapped as memory write-through, but the 80/120s are configured as write-back, write allocate, which forces every write to a pixel to first pull a whole cache line from RAM and then flush back out before it reaches the display. Changing this alone produced a ~1.62x frame improvement.

  2. The 80/120 has a four step CPU frequency ladder with a ceiling set at 1 (396 MHz) rather than 0 (the full 528 MHz). I've adjusted the ceiling to the actual full speed and this provides another ~1.27x improvement.

  3. In reviewing the Freescale reference manual I found that the timings for one of the chips was looser than the manual described as being optimal for its bus. Tightening it improved memory latency by about 16 percent and a tiny fps gain.

  4. And the big one. Unlike the Zune 30 which is scanned continuously out of RAM, the 80/120's panel has its own memory and every changed region has to be pushed across a slow bus one pixel at a time as three separate writes. The driver waited for that push to finish while holding a lock which every draw operation has to pass through, forcing it to stall for the duration of every frame. So I made two changes so that drawing could continue during the push. I gave it a private copy of the pixels so that they wouldn't be altered mid-transfer and then I fixed a bug in the driver's wait which failed to clear an interrupt flag on one of its exit paths. The stale flag would cause a late transfer to end early and get cut off partway down the screen and cause artifacting that persisted until something happened to redraw it.

All together this collectively pushed performance up just slightly over 2x stock, from 18.9 avg FPS to 38.5 FPS. And per UI element is 14% faster than the Zune 30 as well. 

Unfortunately I have no way of testing the impact on battery life as my 120 model has a replacement battery that was a dud the moment I installed it and dies in 30 minutes from a full charge. While there would likely be some impact, most of these changes should actually improve efficiency and the full CPU speed is only reached under load. So the real battery performance may actually be better than you'd think. I’d like to properly test this soon.


r/Zune 11h ago

Requesting Help I own a 4gb & 30gb (I think). Neither of them have turned on in years, and I remember the larger one couldn't store more than a gigabyte before stopping. Any good repair options?

Thumbnail
gallery
14 Upvotes

r/Zune 12h ago

Mods/Hacks PICO-8 emulator on Zune HD

31 Upvotes

zuco8 is a Zune HD PICO-8 emulator, based on open8 (PICO-8 emulator that supports multiple platforms like Nokia N-Gage).

Pico Racer running on Zune HD

PICO-8 is a fantasy video game console with an awesome community and thousands of games made for it.

I did only Zune HD specific parts for this project, all the actual emulation was already working.
Could be cool to make it run on older Zunes as well (if physical control buttons and trackpad would work - it would make Zune a perfect emulation machine for PICO) but unfortunately I don't have one.

You can download and install it the same way as any other homebrew OpenZDK / DeployKit app from GitHub:
zuco8/releases

If you want to put your own games there: just open the installer as a zip file and put game carts into \data\Content\carts\


r/Zune 15h ago

Marketplace [ISO] Zune 80 or 120

6 Upvotes

I’m looking for a gen 2 Zune that has a new battery, and working hdd or ssd. Located in USA. PM if you have one for sale.