Jump to content
IGNORED

Stella 4.7.1 released


stephena

Recommended Posts

Here's another release of Stella, fixing/adding a few things I missed in the last release. Changes are as follows:

 

* Improved TV 'jitter' emulation; the recovery time can now be spread over multiple frame, to simulate a real TV taking multiple frames to recover. Related to this, added new commandline argument 'tv.jitter_recovery' to set the recovery time. Finally, enabling the jitter effect and the recovery time are now accessible through the UI. Special thanks to SpiceWare of AtariAge for the initial idea and implementation.

* Fixed bug with 'Medieval Mayhem' ROMs; the paddle range was set too low, and as a result the number of players couldn't be selected.

* Fixed bug when using more than two input controllers with the same name; each controller after the second one was named the same as the second one. This caused the joystick mappings to be lost, since there was only information about two controllers being saved.

* Indirectly fixed issues with Stelladaptor/2600-daptor devices and paddles having too large of a deadzone in Linux. Currently, this involves running an external application to set the deadzone, since SDL2 does not yet expose this information. The program is called 'evdev-joystick', and will be released separately from Stella.

* Updated internal ROM properties database to ROM-Hunter version 11 (thanks go to RomHunter for his tireless research in this area). Related to this, updated the snapshot collection.

 

As usual, bug reports can be reported by PM or here in this thread. Download the latest Stella here, and donations are greatly appreciated.

  • Like 12
Link to comment
Share on other sites

The jitter recover time slider works well! If anybody wants to try it out, use my jitter test program (source in my blog):

 

jitter.bin

 

Use your joystick to change the size of the rainbow display. Hold fire to activate the count, release fire to return to the default of 128. All other parts of the display will maintain their count, so if you select 100 the total scanline count will be 234 instead of 262. Select 150 and total will be 284.

 

TV Type controls timing for NTSC (Color) or PAL(B&W).

 

RESET will reset the displayed count to 128.

 

To adjust the jitter recover time in Stella hit TAB to bring up the in-game menu:

post-3056-0-56511100-1455400274_thumb.png

 

Click on Video Settings:

post-3056-0-64148500-1455400292_thumb.png

 

Jitter adjustments are in the top-right, the new recovery setting can be adjusted between 1 and 20:

post-3056-0-76966400-1455400344_thumb.png

  • Like 7
Link to comment
Share on other sites

I just got a new laptop with Windows 10, and I'm having trouble with the debugger. It fills the screen with the top and bottom cut off, and I can't find a way to reduce it. The smallest size is TIA zoom is 2x, which is what these screen shots are taken at:

 

post-7074-0-75324200-1455955777_thumb.jpg

post-7074-0-06479800-1455956652_thumb.jpg

 

 

The Picturemate and Songmate cassettes have now been dumped and converted into binary files. I don't think the ability to load them has been built into Stella yet, but you never know. I was also wondering how the Compumate keys are mapped in Stella. Is there a list?

Link to comment
Share on other sites

Looks like you have a 1366x768 resolution (like mine too). I have the same (not new) problem.

  1. When I set the task bar to hide automatically, then the title bar and the bottom one line on screen are cut off (quite annoying in the Prompt tab). Also the bottom of Stella's window does end before the bottom of the screen (~half the height of the task bar).
  2. If task bar does not hide automatically, I can see the title bar but loose the bottom three lines.

I suppose there are two problems:

  1. The window centering is not correct, when the task bar is automatically hidden
  2. The minimal size of Stella is slightly too large.

It would be nice if the window height could be reduce by ~20 pixel.

 

Another new (introduced with 4.7.) small bug: For entering the debugger, I have to press ^ on my German keyboard. As soon as I type something in the Prompt tab, the ^ is output.

 

 

 

Link to comment
Share on other sites

The Picturemate and Songmate cassettes have now been dumped and converted into binary files. I don't think the ability to load them has been built into Stella yet, but you never know.

I think the best way to add cassette support to the compumate is not to use the converted binary data, but to define a tape format like the "C64 TAP", which store the duration of each pulse in terms of cpu cycles.

You should map the emulated cassette interface to the correct input and output bits in Stella. For the compumate those are SWCHA bit 7 (input from tape) and bit 6 (output to tape).

Then you would have a "RECORD" and "PLAY" function in Stella that you could call during the emulation.

When doing so the emulation should be paused and the user prompted for the TAP file to load from/record into. Once selected the file, the emulation should resume and, in case of RECORD function, it should create a new TAP file by monitoring the output bit and storing the duration of the pulses on the file or, in case on PLAY function, set the input bit according to the TAP file. In both cases you use the emulated cpu cycles as the time base for the pulses duration.

 

This method has a couple of advantages over using the already decoded binary data:

 

- you don't need to worry about how the data is encoded and decoded, because you let the bios doing the job like on real hardware. If the binary data is needed, simple external utilities can be written to do the conversion to/from the TAP format.

 

- once implemented, you can reuse the code for emulating other 2600 hardware just by changing the input/output bit mapping. For example:

 

"Magicard" by "Commavid" - Incidentally, it uses the same bits as the Compumate, with the difference that those are shared with the keyboard controller. You need to disable the controller while recording or playing the tape which on real harware is obtained by phisically unplugging the keypad to plug the cas interface or installing a switch on the interface.

 

"Supercharger" by "Starpath/Arcadia" - Only playback function here on bit 7 of address $1ff9 of the bios rom, if I remember correctly.

 

And, if/when hardware information become available

 

"Supercharger" by "Canal3"

"Comp K7" by "Splice"

"Copy Game" by "Micro Hard Equipamentos Electropnicos Ltda"

 

 

Link to comment
Share on other sites

Looks like you have a 1366x768 resolution (like mine too). I have the same (not new) problem.

  1. When I set the task bar to hide automatically, then the title bar and the bottom one line on screen are cut off (quite annoying in the Prompt tab). Also the bottom of Stella's window does end before the bottom of the screen (~half the height of the task bar).
  2. If task bar does not hide automatically, I can see the title bar but loose the bottom three lines.

I suppose there are two problems:

  1. The window centering is not correct, when the task bar is automatically hidden
  2. The minimal size of Stella is slightly too large.

It would be nice if the window height could be reduce by ~20 pixel.

 

Another new (introduced with 4.7.) small bug: For entering the debugger, I have to press ^ on my German keyboard. As soon as I type something in the Prompt tab, the ^ is output.

 

 

 

 

I will try to reduce window height by 20 pixels, but I thought it was already at the absolute minimum allowable.

 

As for the characters appearing in the debugger, please try downloading an older version of Stella (pre-4.7) and use the SDL.dll file from that release with 4.7.1. If that fixes it, then I know it's an issue with the latest SDL release.

Link to comment
Share on other sites

The Picturemate and Songmate cassettes have now been dumped and converted into binary files. I don't think the ability to load them has been built into Stella yet, but you never know. I was also wondering how the Compumate keys are mapped in Stella. Is there a list?

 

The mapping is given in the manual under Keyboard Layout -> CompuMate Controller. Note that in most cases, the original (weird) key combos of the actual Compumate keyboard are used, as well as the more obvious mapping to a keyboard from today. For example, to enter the '+' character, on the CompuMate you need to press 'Shift-1'. This is supported in Stella, but also pressing 'Shift-=' (aka the actual '+' symbol) will also work.

 

As for supporting loading (and saving!) of CompuMate data, it's not present yet, but has long been on the TODO list.

Link to comment
Share on other sites

As for the characters appearing in the debugger, please try downloading an older version of Stella (pre-4.7) and use the SDL.dll file from that release with 4.7.1. If that fixes it, then I know it's an issue with the latest SDL release.

Doesn't work, they seem to be incompatible:

 

SDL.dll vs SDL2.dll

 

The bug could be this one.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

I don't experience the ` key showing up in the debugger on the Mac. Perhaps what Thomas' is seeing is a bug within the Windows version of SDL.

 

I discovered an issue with the debugger and jitter emulation while doing some research into Joe Musashi's odd color change in the new 128 pixel kernel:

  1. load any game, such as Adventure
  2. enter the debugger
  3. type in:
    trapwrite VBLANK
  4. hit ` to exit the debugger.
  5. repeat step 4 a few times. You'll see the screen shift upward then go away:
    post-3056-0-11216700-1455979972_thumb.png

    post-3056-0-16753300-1455979997_thumb.png
  6. type in:
    cleartraps
  7. hit ` to exit the debugger. The game screen will roll into position.

 

I've not had time to research it, but I suspect that the debugger's request of mid-screen updates from the TIA class is also running the jitter logic. The jitter logic thinks a full screen has been displayed, so is using an incomplete count to calculate the jitter.

Link to comment
Share on other sites

Doesn't work, they seem to be incompatible:

 

SDL.dll vs SDL2.dll

 

The bug could be this one.

 

No, I meant something pre-4.7 but still in the 4.x series (which is when SDL2.dll was introduced). Perhaps work backwards from 4.7, since you say 4.7 is where the problem first started. Basically I want to narrow down when this first happened.

Link to comment
Share on other sites

I've not had time to research it, but I suspect that the debugger's request of mid-screen updates from the TIA class is also running the jitter logic. The jitter logic thinks a full screen has been displayed, so is using an incomplete count to calculate the jitter.

 

Yes, I'm pretty sure this is the issue, or closely related to it. Would you mind taking a look to verify (and possibly fix?) :)

Link to comment
Share on other sites

 

No, I meant something pre-4.7 but still in the 4.x series (which is when SDL2.dll was introduced). Perhaps work backwards from 4.7, since you say 4.7 is where the problem first started. Basically I want to narrow down when this first happened.

The problem starts with the latest SDL2 version 2.0.4, version 2.0.3. does not have this problem.

Link to comment
Share on other sites

The problem starts with the latest SDL2 version 2.0.4, version 2.0.3. does not have this problem.

 

Could you download and test the following: minbar.org/Stella-4.7.2_pre-windows_debugger-key.zip

 

I think I have this fixed, but as I'm using a qwerty ASCII layout, I can't say for sure.

Link to comment
Share on other sites

  • 2 weeks later...

I discovered a weird regression in graphics behavior while rewatching TIM1T (http://www.pouet.net/prod.php?which=62944). It shows up in the credits sequence about 2 minutes 44 seconds in (savestate attached; just remove the .txt extension). I hadn't updated Stella since 4.6.7, but I've checked earlier versions and this bug first appeared in 4.7.

 

The attached images show the expected behavior in 4.6.7 (first) and the bug in 4.7.1 (second). The playfield appears to have priority over P1 and M1 on the lefthand side of the screen, but the program doesn't touch CTRLPF during the credits. TIM1T is F4-bankswitched and the checkerboard rendering happens in bank 6 in two routines starting at addresses $DA02 and $DB02. Very strange.

post-6010-0-38787100-1457164581_thumb.png

post-6010-0-26943800-1457164599_thumb.png

TIM1T.st0.txt

Link to comment
Share on other sites

That's there result of a (correct!) bug fix in Stella. I just tested on real hardware, which displays like the second image.

The demo was developed with an older version, so it was not noticed. Maybe the original developer want's to fix it eventually.

Edited by Thomas Jentzsch
Link to comment
Share on other sites

Feature requests:

  1. When the mouse is grabbed, it moves away when leaving and reentering the debugger. This is a bit annoying when you are debugging through multiple breakpoints.
  2. IMO mouse grabbing only makes sense for controls using the mouse. It should not be enabled e.g. for the joystick
Link to comment
Share on other sites

You are probably the first to notice this detail (except maybe for the Kylearan).

 

Haha, I had coded that part at the party at 3 o'clock in the morning only a couple of hours before the deadline and thus didn't test it on real hardware. I remember wondering while it ran on the bigscreen during the compo why the left side looked so blocky, but never got around to investigate it further.

 

Thanks for the explanation of that mystery; I live and learn... and good to know current versions of Stella have fixed this. :)

Link to comment
Share on other sites

  • 3 weeks later...

Stella 4.7.2 is now released, with Changelog as follows:

 

* Fixed bug when entering and exiting the debugger; sometimes the character corresponding to the '`' key would be output in the prompt area.

* Updated DPC+ Thumb ARM emulation code to latest from David Welch. In particular, this fixes incorrect handling of the V flag when adding and subtracting, but also fixes compile-time warnings that I couldn't get rid of before.

* Updated UNIX configure script to work with GCC 6.x compilers, and to remove references to obsolete compiler versions that can no longer be used to compile Stella.

 

This is basically the last release before the next big one: 5.0. The next release will include completely re-written TIA sound emulation (see in another thread about information on this), and a revamped TIA emulation mode. It seems that I can't do a release that fixes the sound issues before I fix some of the TIA issues too. So this will be a big release, probably not ready until the end of the summer or so.

 

As usual, bugs can be reported here or by PM. Donations are always welcome; download Stella from the usual location.

  • Like 5
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...