Jump to content
IGNORED

Altirra 3.20 released


phaeron

Recommended Posts

10 hours ago, phaeron said:

 

I can't reproduce the Performance Analyzer crash. It's strange, because the Profile button just opens the profile pane in the analyzer, and that won't do anything if you haven't recorded a trace yet.

 

Looks like you added it in 3.10, it doesn't work in that version either. I tried launching Altirra without any image so it just goes into Altirra OS, also used an empty Altirra.ini file just in case then went into PerfAn->profile->crash

 

Is it the same thing as profile->profile view ? because that one is greyed out for me

 

I'm on W8, maybe that makes a difference?

 

Suggestion: Would it be possible to have an auto-update disassembly window flag ? (by right clicking on said window perhaps?) so that whenever some self modifying code trickery occurs you don't miss it... just an idea...

 

Thanks

Link to comment
Share on other sites

http://www.virtualdub.org/beta/Altirra-3.90-test4.zip

http://www.virtualdub.org/beta/Altirra-3.90-test4-src.zip

  • Some latency reduction work. The split for frames has been moved from scanline 0 to scanline 248, since anything that depends upon the OS for input will sample controller input during VBI processing. Per-frame controller processing has also been reordered to reduce latency for certain types of emulated controllers, particularly light pens. Should knock off a frame of delay for some cases.
  • Fixed excessive polling of host gamepads in vertical blank.
  • PIA port A (controllers 1+2) is now included in performance traces.
  • Added information to the help file about bank-sensitive cartridge debugging, and fixed a bug with line number information not being fixed up in this mode.
  • Replaced /dark command-line switch with an official option in the UI, replaced some standard message boxes with the newer style, and fixed up the memory and source windows to be dark-aware.
  • History window go-to-source and go-to-disassembly are a bit more aware of global addresses now, go-to-source now reports when the source lookup fails, and go-to-disasm can be done via double-click.
  • AltirraOS 3.21: KRPDEL implemented and keyboard repeat rate is properly adjusted for PAL.
  • Fixed crash when pasting into enhanced video display in CIO intercept mode, and clear attract mode counter when accepting input.
  • Initial version of trace cache for 6502 coprocessors used in drive emulation. This provides a minor speed boost and is a prerequisite for JIT, but should not have visible effects otherwise (knock on wood). This is only enabled for plain 810 and 1050 drives as it does not support ROM banking.
  • Fixed cycle count bugs in the several illegal 6502 instructions, ARR #imm and read-modify-write instructions using indexed modes. The RMW instructions were not forcing the extra indexing cycle as is usual for store instructions. Normal instructions weren't affected and I'm not aware of any software that broke due to this -- was only found in a test.
  • The crash handler now reports if it couldn't write the dump file.
  • The emulator now falls back to the 'you are missing something' ROM if it couldn't load the OS ROM file.
  • Fixed broken option to auto-load kernel ROM symbols.
  • Added option to suppress automatic loading of system symbols (OS database, entry points, and hardware). They can still be loaded manually with .loadsym if desired.
  • Disassembly window does some checks to see if memory has changed, to reduce showing stale code when doing a fast update.
On 7/14/2019 at 1:51 PM, rensoup said:

Looks like you added it in 3.10, it doesn't work in that version either. I tried launching Altirra without any image so it just goes into Altirra OS, also used an empty Altirra.ini file just in case then went into PerfAn->profile->crash

 

Is it the same thing as profile->profile view ? because that one is greyed out for me

 

I'm on W8, maybe that makes a difference?

I tried this in Windows 8.1 as well and couldn't reproduce it there either. If you are getting the AltirraCrash.mdmp file, please PM it to me so I can examine the details of the crash.

 

Profile > Profile View is similar but not quite the same as the full performance analyzer. It's grayed out because it's only available when the debugger is enabled.

  • Like 8
Link to comment
Share on other sites

22 hours ago, phaeron said:

Thanks for all the improvements on the debugging side!

 

On to a completely different topic: Interlace

 

I think I read somewhere in the forums that the A8 is capable of doing interlace (480i) but apart from that mode, should there be an interlace option at all ?

 

When I enable it, it's really atrocious  when anything moves fast horizontally and as far as I know interlace is only for displaying 480 lines

 

I know very little about TV standards and electronics but I read a long time ago in the SNES manual (old one, not the one found online which has explanations on custom chips) how the console worked when using 240/480 lines:

 

-Refresh is always 60HZ in 240 and 480. The difference is that in 480 lines the electron beam is offset by HALF a scanline on odd frames.

 

Nevermind, I found the manual and the beam is offset by a full scanline.

 

So the bottom line is: in low res don't enable interlace...duh.

 

Edited by rensoup
complete nonsense
Link to comment
Share on other sites

4 hours ago, rensoup said:

I think I read somewhere in the forums that the A8 is capable of doing interlace (480i) but apart from that mode, should there be an interlace option at all ?

 

When I enable it, it's really atrocious  when anything moves fast horizontally and as far as I know interlace is only for displaying 480 lines

 

I know very little about TV standards and electronics but I read a long time ago in the SNES manual (old one, not the one found online which has explanations on custom chips) how the console worked when using 240/480 lines:

 

-Refresh is always 60HZ in 240 and 480. The difference is that in 480 lines the electron beam is offset by HALF a scanline on odd frames.

The Atari 800 is not normally able to display interlace, no. Interlace requires outputting half a scanline at the beginning/end of fields so that the beam is vertically offset between even and odd fields. In broadcast video, the full frame is 525 or 625 scanlines, which each field having 262.5 or 312.5 scanlines at 50/60 fields/second. GTIA outputs 262 scanlines with no half-scan instead, so the video output is progressive instead of interlaced.

 

However -- there are two exceptions.

 

The first is the "interlace hack", which abuses a DMACTL bug to try to trick the TV into displaying an interlaced image by adding pulses during vertical blank. This is not a true interlaced signal as the horizontal timing is unchanged, and thus not all TVs will accept it. The interlace option in Altirra allows you to emulate this for TVs that do interpret this fake-interlace signal.

 

The second is that some displays don't actually support 240p signals anymore as progressive, they instead combine adjacent frames as interlaced fields anyway. Both TVs and capture devices do this, though it's less often an issue on TVs since the TVs will field-double to 60Hz frames and deinterlace, whereas capture devices just produce a yucky 30Hz output. On these devices, displaying alternating frames through GTIA will get you 480 vertical resolution, though it's hard to use practically since you can't sense or control the field polarity.

 

For normal programs, you should not have the interlace option enabled, as you want the behavior of TVs and CRT monitors that properly display the Atari's output as plain progressive frames at 50/60 fps.

 

  • Like 4
Link to comment
Share on other sites

@phaeron,

 

I have a question on Altirra 3.20 and 3.90 (now test 5). I was running Great Green Adventure 2 (new game released at Lost Party 2019), but the graphics are completely wrong. I have attached how they look in 3.20 and 3.90. I'm sure it's something I haven't configured correctly in Altirra, but I have no idea what it could be. I did have to copy the ATR to another ATR running MyDOS 4.53/4 because I couldn't get the original ATR, which runs DOS II+/D, to load the game. However, I had to Google how to load a program from that DOS so I may not have used the correct command. I viewed a YouTube video to see how the graphics should look for the game.

 

I also reset the settings (Paul, I did use the Settings menu :)) to see if something was messed up by using the same settings in 3.20 and 3.90. However, I get the same result in both versions. One time, I did see the correct graphics in 3.20, but I can't duplicate it. I did try another game (Fruity Pete) just to make sure I wasn't having graphics problems on all games. That game appears to display correctly.

 

I have Altirra set up as a 64K NTSC XEGS to match my actual hardware. My next step is to try loading my ATR onto the XEGS. Since the ATR works in another emulator (Atari800MacX), I think it has a good chance of working on the XEGS. I'm betting it also runs correctly in Altirra as well. I just don't know what option I need to change.

 

As a reminder, I'm running Altirra on an unsupported platform (Wine).

 

Bob C

Altirra 3.90-test 5.png

Link to comment
Share on other sites

4 hours ago, darwinmac said:

I have a question on Altirra 3.20 and 3.90 (now test 5). I was running Great Green Adventure 2 (new game released at Lost Party 2019), but the graphics are completely wrong. I have attached how they look in 3.20 and 3.90. I'm sure it's something I haven't configured correctly in Altirra, but I have no idea what it could be. I did have to copy the ATR to another ATR running MyDOS 4.53/4 because I couldn't get the original ATR, which runs DOS II+/D, to load the game. However, I had to Google how to load a program from that DOS so I may not have used the correct command. I viewed a YouTube video to see how the graphics should look for the game.

 

I also reset the settings (Paul, I did use the Settings menu :)) to see if something was messed up by using the same settings in 3.20 and 3.90. However, I get the same result in both versions. One time, I did see the correct graphics in 3.20, but I can't duplicate it. I did try another game (Fruity Pete) just to make sure I wasn't having graphics problems on all games. That game appears to display correctly.

 

I have Altirra set up as a 64K NTSC XEGS to match my actual hardware. My next step is to try loading my ATR onto the XEGS. Since the ATR works in another emulator (Atari800MacX), I think it has a good chance of working on the XEGS. I'm betting it also runs correctly in Altirra as well. I just don't know what option I need to change.

Bug in the game, dirty screen switch -- blows up on my NTSC 130XE as well, though with different visuals. This is the cause:

 

  20378: 11: 69 | A=01 X=00 Y=01 S=F3 P=36 (   IZ ) |     6904: B5 99             LDA $99,X    ;$99
  20378: 11: 73 | A=01 X=00 Y=01 S=F3 P=34 (   I  ) |     6906: D0 03             BNE $690B
- 20378: 11: 76 | A=01 X=00 Y=01 S=F3 P=34 (   I  ) |     690B: 20 A9 4C          JSR $4CA9
    20378: 11: 82 | A=01 X=00 Y=01 S=F1 P=34 (   I  ) |     4CA9: A9 00             LDA #$00
    20378: 11: 84 | A=00 X=00 Y=01 S=F1 P=36 (   IZ ) |     4CAB: 8D 00 D4          STA DMACTL
  - 20378: 11: 88 | A=00 X=00 Y=01 S=F1 P=36 (   IZ ) |     4CAE: 20 51 2B          JSR $2B51
      20378: 11: 94 | A=00 X=00 Y=01 S=EF P=36 (   IZ ) |     2B51: A5 14             LDA RTCLOK+2
      20378: 11: 97 | A=09 X=00 Y=01 S=EF P=34 (   I  ) |     2B53: C5 14             CMP RTCLOK+2
      20378: 11:100 | A=09 X=00 Y=01 S=EF P=37 (   IZC) |     2B55: F0 FC             BEQ $2B53
    + Last 2 insns repeated 56 times
      20378: 15: 10 | A=09 X=00 Y=01 S=EF P=37 (   IZC) |     2B53: C5 14             CMP RTCLOK+2
    + NMI interrupt (DLI)
      20378: 17: 40 | A=09 X=00 Y=01 S=EF P=37 (   IZC) |     2B55: F0 FC             BEQ $2B53
      20378: 17: 44 | A=09 X=00 Y=01 S=EF P=37 (   IZC) |     2B53: C5 14             CMP RTCLOK+2
    + Last 2 insns repeated 100 times
    + NMI interrupt (DLI)

Writing $00 to DMACTL stops display list DMA -- but it does not stop the display list, which instead replays the last fetched instruction byte. In this case, that happens to sometimes be the unfortunate value $F0, which begins triggering a DLI every 8 scanlines. One of these DLI invocations extends into vertical blank, so the VBI interrupts the DLI, which then screws up the display. In Altirra, you can sometimes work around this timing-wise by switching to PAL, but that's not the actual fix, it just happens to shift the timing around such that things don't break.

 

  • Like 2
Link to comment
Share on other sites

51 minutes ago, phaeron said:

Bug in the game, dirty screen switch -- blows up on my NTSC 130XE as well, though with different visuals.

Thanks for investigating this for me. The programmer said it wasn’t the final version so, hopefully, it’ll be fixed in the final release. Since it was done for a European weekend party, I doubt there was much testing done (especially for NTSC). 

 

Nice to know it wasn’t something I did wrong in Altirra. 

 

Bob C

Link to comment
Share on other sites

Hi Phaeron,

I saw that you have implemented (on the CIO level) B: device emulation
and I wondered if you could also emulate the SIO layer corresponding to it?

 

As a bridge between Planetary Defence 2012 and the "URL Submit" SIO call (which is implemented in RespeQt and SIO2BT)

I have written a simple B: handler:
https://github.com/TheMontezuma/B-Handler

 

Here is an ATR which automatically loads that B-Handler and "Planetary Defence 2012":
https://github.com/TheMontezuma/B-Handler/releases/download/1.0/pd2012.atr

 

More info about "URL submit":
http://atariki.krap.pl/index.php/URL_Submit

and in the attached Sio2BT Smart.pdf.

 

To avoid introduction of a new SIO device, I decided to reuse device ID=$45,
reserved so far in combination with command ID=$93 by APE Time.
I called device $45 a smart device, providing "APE time" and "URL submit".

 

There are also games patched to directly support SIO "URL submit" (in addition to data matrix):
https://github.com/TheMontezuma/mahna-malysz/releases

https://github.com/TheMontezuma/1K-ATASCII-BLASTER/releases

 

I hope enough stuff for testing :)

 

Best Regards
TheMontezuma

Sio2BT Smart.pdf

Link to comment
Share on other sites

Suggestion:

In order to create Maps, it would be extremely useful features like:

  • 'auto save frames every x seconds', for auto scrolling games like River Raid. So then an external program can be used to join all frames and to build a big map.
  • 'auto save frame' every time the player enters in a new screen, for games like Montezuma, if it is possible to be detected automatically.

 

 

Image1.thumb.png.05033d06e7ab08ca2559389dfa4e6c8e.png

 

 

Edited by tane
  • Like 1
Link to comment
Share on other sites

4 hours ago, tane said:

In order to create Maps, it would be extremely useful features like:

  • 'auto save frames every x seconds', for auto scrolling games like River Raid. So then an external program can be used to join all frames and to build a big map.

 

No need for extra support in Altirra.

 

Take any screen recording program you like and record the region of interest.

Then load the video into ICE https://www.microsoft.com/en-us/research/product/computational-photography-applications/image-composite-editor/

and create "panorama from video".

Thanks to the optical flow you should get the matching output image. But be aware that moving objects (e.g. ships or your fighter in River Raid) may leave traces...

 

 

 

  • Like 3
  • Thanks 1
Link to comment
Share on other sites

Probably a bit too niche to add as a feature, but there is a bit of hidden unsupported black magic that you may be able to use: start the emulator with /autotest, and set a recurring breakpoint in the debugger with a command attached:

 

bx -n "pc=@(dw($fffa)) and vpos=248 and (@frame%300)=0" ".sprintf image%u.png @frame; .autotest_saveimage @ts"

 

  • Like 2
  • Thanks 1
Link to comment
Share on other sites

On 7/25/2019 at 5:13 PM, Irgendwer said:

No need for extra support in Altirra.

 

Take any screen recording program you like and record the region of interest.

Then load the video into ICE https://www.microsoft.com/en-us/research/product/computational-photography-applications/image-composite-editor/

and create "panorama from video".

Thanks to the optical flow you should get the matching output image. But be aware that moving objects (e.g. ships or your fighter in River Raid) may leave traces... 

 

Thanks, I tested it with the River Raid game, but this program doesn't work as expected. It overlays the river instead of join the frames.

 

Link to comment
Share on other sites

Does anyone have a suggestion for the best-suited mini-pc (Intel-NUC and so on) to run Altirra? Which CPU/RAM combination would be the most appropriate choice: high enough to run everything smoothly, but yet without buying the most expensive (and useless) combination on the shelves? Last but not least, I'm looking for a silent set-up. Do you have pictures of your set-up? Thanks!

Link to comment
Share on other sites

On 7/27/2019 at 4:19 AM, tane said:

Thanks, I tested it with the River Raid game, but this program doesn't work as expected. It overlays the river instead of join the frames.

Before stitching you have to select as camera motion "planar" instead of "auto-detect". But you are right, even then the result is disappointing. It helps a bit to capture the borders to have less wrong target image transformations, but the River Raid visualization seems to be too uniform to work with:

 

RiverRaid_stitch.thumb.jpg.d23264c43b327e1d062f243a8c3eec1d.jpg

 

 

Haven't now the time to test it with a more "textured" scroller - maybe it works better then, as the results with real footage are quite convincing.

 

Edited by Irgendwer
Edit: Sorry for the insufficient suggestion.
  • Like 1
Link to comment
Share on other sites

9 hours ago, ldelsarte said:

Does anyone have a suggestion for the best-suited mini-pc (Intel-NUC and so on) to run Altirra? Which CPU/RAM combination would be the most appropriate choice: high enough to run everything smoothly, but yet without buying the most expensive (and useless) combination on the shelves? Last but not least, I'm looking for a silent set-up. Do you have pictures of your set-up? Thanks!

If you're resourceful and handy, an Atomic Pi might be a good fit, plus it's a lot of computer for the money.  I say resourceful and handy because you would have to devise your own solution for mounting or enclosing the thing, and work out supplying power to it.

  • Like 1
Link to comment
Share on other sites

9 hours ago, ldelsarte said:

Does anyone have a suggestion for the best-suited mini-pc (Intel-NUC and so on) to run Altirra? Which CPU/RAM combination would be the most appropriate choice: high enough to run everything smoothly, but yet without buying the most expensive (and useless) combination on the shelves? Last but not least, I'm looking for a silent set-up. Do you have pictures of your set-up? Thanks!

You shouldn't have any problems with any new mainstream computer as I develop Altirra on a three year old potato with a 2.3GHz i5-6200U CPU and Intel HD Graphics 520. The 6th-gen NUC is significantly faster than that.

 

Minimum spec to consider is Windows 7 with a Pentium 4 CPU and a DX9-class GPU, recommended spec is Windows 10 64-bit with a Core i5 (Nehelem or newer/equiv.) and a DX10-capable GPU, and realistically if you're putting together a new build you should aim higher to do other things with the computer. Atom CPUs are not recommended, the first-gen ones are glacially slow and the second/third-gen ones are still pokey.

 

  • Thanks 1
Link to comment
Share on other sites

2 hours ago, Irgendwer said:

Before stitching you have to select as camera motion "planar" instead of "auto-detect". But you are right, even then the result is disappointing. It helps a bit to capture the borders to have less wrong target image transformations, but the River Raid visualization seems to be too uniform to work with:

 

Haven't now the time to test it with a more "textured" scroller - maybe it works better then, as the results with real footage are quite convincing.

 

 

Thanks, I tested several options and I got results more-less the same. A river curve is not supposed to be there..., and also the image quality is not good. That program I guess is not intended to work with artificial scenarios.

 

Link to comment
Share on other sites

25 minutes ago, fujidude said:

How well does Altiirra run then under Windows 10 running on a raspberry Pi?

This is a non-answer, but I tried to build a PI to try it. First, I tried the new pi 4, but the software has not been set up to work on that yet.

 

So, then I built it on a Pi3 and during setup of the OS, it throws an error and I cannot get that far. Based on how slow the setup screens are, if Altirra runs at all on that hardware, it will be painfully slow.

Link to comment
Share on other sites

19 hours ago, phaeron said:

You shouldn't have any problems with any new mainstream computer as I develop Altirra on a three year old potato with a 2.3GHz i5-6200U CPU and Intel HD Graphics 520. The 6th-gen NUC is significantly faster than that.

 

Minimum spec to consider is Windows 7 with a Pentium 4 CPU and a DX9-class GPU, recommended spec is Windows 10 64-bit with a Core i5 (Nehelem or newer/equiv.) and a DX10-capable GPU, and realistically if you're putting together a new build you should aim higher to do other things with the computer. Atom CPUs are not recommended, the first-gen ones are glacially slow and the second/third-gen ones are still pokey.

 

Thank you for your reply!

This set-up I have in mind is to plug on the home-cinema. So I'm looking for a very small box, totally silent (no physical hard disk, SSD instead and no fan). I already have an Nvidia Shield TV and an assorted collection of Raspberry Pi plugged on the big screen. The Nvidia Shield TV is driving me crazy with all the recent disastrous updates. The Raspberry Pi is fine to run Recalbox BUT the embedded Atari800 emulator is so basic compared to Altirra. I miss all the additional features that make it so unique compared to the others. Of course I run Altirra very comfortably on my main computer, but I'm looking for something very small to play MORE often on the home-cinema set-up, with friends and family. BTW, of course I could plug a real 800XL with Sophia Rev. C (DVI), Ultimate cartridge and SIO2SD (lotharek), but a mini-PC with Altirra would be much more convenient and totally flexible.

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...