This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#6048 - Atari 2600 emulator
Attached to Project:
Rockbox
Opened by Anton Romanov (theli) - Friday, 22 September 2006, 16:13 GMT+2
Last edited by Thomas Martitz (kugel.) - Sunday, 05 June 2011, 13:41 GMT+2
Opened by Anton Romanov (theli) - Friday, 22 September 2006, 16:13 GMT+2
Last edited by Thomas Martitz (kugel.) - Sunday, 05 June 2011, 13:41 GMT+2
|
Detailsatari 2600 emulator
it can open .bin roms and has one public domain rom built in should work (only display) at least on all color ipods and in all color targets sims |
This task depends upon
Closed by Thomas Martitz (kugel.)
Sunday, 05 June 2011, 13:41 GMT+2
Reason for closing: Out of Date
Additional comments about closing: There doesn't seem to be interest in this anymore. Open a new task if this is wrong.
Sunday, 05 June 2011, 13:41 GMT+2
Reason for closing: Out of Date
Additional comments about closing: There doesn't seem to be interest in this anymore. Open a new task if this is wrong.
it doesn't have any user interaction - only rendering to screen is implemented
patch is posted for anyone interested in working on it ...
here is one screenshot posted here:
http://forums.rockbox.org/index.php?topic=6636.0
A SVN from jan/27/07 compiles and runs. I don't know what date it stop working, I just choose some arbutary date from this past winter when I was poking around with this and new it worked.
Using the ipod video simulator it ran okie dokie fairly well,
I would hate to see this code go stale and end up getting forgotten.
It should be reorganized as a diff file so it can be easily worked on, and added to the emulator page of the wiki
I'm not familiar enough with the new layout of the apps/games/demos menu yet to add the viewer info.
I just ran the 2600box.rock file from the file viewer
Anyone willing to collaborate on this?
this doubtly will be worked on anytime soon ... since i've lost interest when i put this here (so it can't be worked on by someone) ... and noone appeared willing to continue since then....
ok heres a patch file, this is the command I used if I didn't do it right would someone tell me the correct way its my first time using diff
"diff -Naur rockbox.orig rockbox > 2600box.patch"
It compiles with a whole lot of warnings but no errors and still doesn't run with current svn source.
but now at least its easier to work with now.
I need some one to try this out on a real ipod video if they would not mind
What works:
Loading bin files still works
Controls are hacked in for the ipod video
Menu is up, play is down, left is left, right is right, select is fire
To exit press left and right together something that should never happen with a real Atari joystick, not sure if this is possible on real ipod hardware though
It seems playable
What needs work :
Controls for supported targets
Currently the screen translation in 16bpp_disp.c does not work well enough to play on for screens with less horizontal resolution than the atari2600 which is 192, like the e200 I own has only 176. What happens on the e200 target is that the right half of the screen is missing and the second scan line from the left half is shown in its place, happens on the sim and real e200 hardware
If some can see how to quickly solve this the relevant code snippet follows
------------------------------------------------------------------------------
put_image (void)
{
#if LCD_WIDTH < 320
int X_STEP = ((tv_width<<16) / LCD_WIDTH);
int Y_STEP = ((tv_height<<16) / LCD_HEIGHT);
fb_data *frameb;
int x=0,y=0;
int srcx, srcy=0; /* x / y coordinates in source image */
short* image;
image = &screenmem[0];
frameb = rb->lcd_framebuffer;
for(y = 0; y < LCD_HEIGHT; y++)
{
srcx = 0; /* reset our x counter before each row... */
for(x = 0; x < LCD_WIDTH; x++)
{
*frameb = image[srcx>>16];
srcx += X_STEP; /* move through source image */
frameb++;
}
srcy += Y_STEP; /* move through the source image... */
image += (srcy>>16)*tv_width; /* and possibly to the next row. */
srcy &= 0xffff; /* set up the y-coordinate between 0 and 1 */
}
#endif
--------------------------------------------------------------------
I was thinking rotating the display might solve this but every time I try something it still comes out orientated like normal but uglier