Rockbox Technical Forums

Rockbox Development => Feature Ideas => Topic started by: ulmutul on October 11, 2019, 09:06:51 AM

Title: Atari 2600 emulator - back again
Post by: ulmutul on October 11, 2019, 09:06:51 AM
It's been quite some time since foolsh revived the original flyspray patch (see http://forums.rockbox.org/index.php/topic,43635.0.html (http://forums.rockbox.org/index.php/topic,43635.0.html)).
However the patch was rather buggy, and after picking up on it I rewrote so many parts that I think it's better to submit a completely new gerrit patch:

http://gerrit.rockbox.org/r/#/c/2245/ (http://gerrit.rockbox.org/r/#/c/2245/)

There's still a lot of work left, but testers are always welcome! :) Feel free to experiment and report bugs or leave feedback.
You have to compile the patch yourself , so you may want to read the following wiki pages:
https://www.rockbox.org/wiki/DevelopmentGuide (https://www.rockbox.org/wiki/DevelopmentGuide)
https://www.rockbox.org/wiki/LinuxSimpleGuideToCompiling (https://www.rockbox.org/wiki/LinuxSimpleGuideToCompiling)
https://www.rockbox.org/wiki/UsingGit (https://www.rockbox.org/wiki/UsingGit)

Usage:

Things to do:

Known bugs:

Have fun!
Title: Re: Atari 2600 emulator - back again
Post by: __builtin on October 11, 2019, 09:57:33 AM
Awesome work, ulmutul! I'll take a crack at sound sometime.
Title: Re: Atari 2600 emulator - back again
Post by: ulmutul on November 21, 2019, 05:03:43 PM
I made some progress! After I got stuck at a dead end with optimization of my previous code, I once more rewrote the rendering stuff.
This change made the emulation much faster.

Some numbers (emulation frame time):
Note: the frame time is measured without the final write to the target LCD, because this part is very hardware dependant.
This final task takes more than 23ms on my test target (YH925), but can be shortened by skipping frames and by moving the function to a  coprocessor task.

The goal is a emulation frame time of less than 20ms (corresponding to a frame rate of >50Hz) - this seems within reach now, at least for already fast games like Frogger.