bwmott
-
Content Count
7 -
Joined
-
Last visited
Posts posted by bwmott
-
-
Here's another possible bug: Stella does not seem to change SWCHB bits for difficulty and color/BW switches if you switch them during a frame when SWCHB is not read.
Could you say more about this issue? Is this when the debugger is open or during normal execution?
Thanks,
-- Brad
-
I'll look into this while I'm working on the TIA code for Stella.
-- Brad
-
I noticed a weird bug in the TIA enable/disable feature. It seems that sometimes the playfield will be displayed, even though it's disabled. It seems to happen when certain combinations of the other TIA objects are enabled. The following screenshots show what I mean. These are from my Sudoku WIP:OK, I will look into these.
FYI, I've seen this bug in Pitfall II as well. The playfield renders on the left-hand side of the screen, where-ever sprites are. In addition, just disabling the playfield fails to make waves go away. Instead, the playfield and (I think it was missiles) have to be disabled to stop the waves.
The TIA object enable and disable functions were added after the original TIA code was developed. Inside the TIA code the state of the TIA object flags are "cached" in pointers to precomputed tables for drawing the frame. I'm guessing these table pointers are not being updated when the enable/disable methods are invoked.
I'm making a number of changes to the TIA code for the next release and will attempt to address this issue during that work.
-- Brad
-
I’m sure that there’s a good and easy answer for this question but why couldn’t the old-school emulator trick of using a frame skip have been used to boost the speed of the games that were running slow?One problem with frame skip is hardware collision detection. Unless you emulate the hardware (= do the frame) you will miss some collisions (e.g. fast shots vs. players) . And this is even worse for games that flicker already, where some objects might temporary disappear completely.
As Thomas has mentioned full frame skipping with 2600 emulation can't alway be used because of hardware collision detection. For example in the PS1 Activision Classics I'm pretty sure they skip ever other frame in River Raid which allows your shots to pass through the tail of the helicopters because it misses the collision. It depends on how the programmer wrote the 2600 game as to whether you can use frame skipping or not. In HERO if you enable frame skipping your player will fall through the ground and be able to walk through walls

-
Any chance of some more technical details on this emulator? Considering that this is by far the slowest platform I've ever seen a working 2600 emulator on, I'm pretty sure that alot of people are interested in knowing some of the details. One question that came to mind for me was about Bradford Mott -- I know he is responsible for Stella, but as a lot of us on playing around with the GBA know, being able to write a good emulator in C/C++ and being able to write a good emulator for the GBA are two completely different things. Did Bradford already have ARM/GBA experience? I am just soooo impressed by this emulator, and I'm curious to find out more on his background

This was my first experience with ARM/GBA programming. I’ve had experience with other RISC architectures before which helped out and I consulted the ARM Architecture Reference Manual a lot
The emulator uses every “trick” I could think of to get things running as fast as possible in the development time we had. Some of these are standard things that every GBA program does like placing time critical routines in IWRAM, taking advantage of hardware scaling, and using Thumb/ARM code where needed. Others are more 2600 specific and I can’t go into the details of these.It was a lot of fun working on the project with Chris and the team at Aspyr. I hope everyone enjoys it!

Report all your Stella bugs here (TIA, GUI, etc)
in Emulation
Posted
There are no plans for doing any sound emulation changes for the next release, however, I'll add this to the list of items to look into for later releases.
-- Brad