Jump to content
IGNORED

Altirra 3.90 released


phaeron

Recommended Posts

13 hours ago, tane said:

The target is to compare the values of 2 or more addresses thru the time, whatever their values are.

You can print both values whenever either is written to. You can't do this on a per-cycle basis, though, because that's too fine-grained and would also produce a stupidly large log file.

 

13 hours ago, tane said:

An example of what I'm thinking is the following, with a G2F code exported and running a RMT in the background. Adding custom code under the section ';this area is for yours routines' of the G2F with:

  1. Let's say there is a counter at $2000 running from 00 to ff, with infinite loops.
  2. Then I add a beq ($2000==10), then do something (with several lda & sta), if not continue.
  3. If I started to add too many beq with different values ($2000==20, $2000==30, ..., etc.), then there is a point that the system collapses, I mean there are glitches (something bad painted on the screen for example, like skipping part of the code).
  4. If I reduce the quantity of beq, then back to normal.
  5. Also, if at the collapse point, if I change the counter from $2000 to $90 (zero page, 1 cycle instead of 2), then all is back to what is expected, with no glitches.

So I'm interested in to know how far I'm from the collapsing point of the system in order to reduce or increase operations.

 

This is probably too niche of a case to directly support in the performance analyzer, partly because of how hard it would be to even tell the emulator what your threshold is, and partly because of how tiny of margins you're dealing with (handful of cycles). You're also looking for the worst case instead of the average case. What would probably be more appropriate for this is asserts, as you can tell the debugger to fire a breakpoint when a condition fails at a PC address. This includes checking the ANTIC position counters to see if your routine has blown past where it needs to stop. The help file explains how to set this up -- basically, you emit specially formatted comments in the MADS listing that the emulator picks up to set the conditional breakpoints for you. For instance, if a specific point needs to be reached before the end of vertical blank, you can set the assert condition to (@vpos < 8 or @vpos > 248) and it'll fire if ANTIC has already gone beyond scanline 8.

 

That having been said, the performance analyzer can still help you if it can see code that it identifies as busy looping. LDA zp / BNE *-4, for instance, is picked up as idle code because it does nothing other than poll an address that has to change by interrupt. You'll see this in the timeline as the CPU flow jumping from Main to Idle, and how much Idle time you have. VBI routines can also be assessed this way as the timeline will jump from VBI to Main or Idle before the next DLI. Clicking on any point in the timeline will bring up the execution history in the CPU History pane, which you can use to see exactly what code was executing at that time.

 

As a side note, the vertical blank interrupt is often later than needed and you can sometimes recover some time by chaining the VBI code off of the end of the last DLI instead of using the actual VBI. Not everything needs to actually run in the blanking region and music routines definitely don't.

 

 

  • Thanks 1
Link to comment
Share on other sites

On 2/13/2021 at 9:46 PM, phaeron said:

http://www.virtualdub.org/beta/Altirra-4.00-test28.zip

http://www.virtualdub.org/beta/Altirra-4.00-test28-src.zip

  • AltirraOS 3.31: Move Left and Delete char E: commands fixed at column 0 with LMARGN=0; SIO now accepts ACK for Complete in SIO commands for compatibility.
  • Added autodetection of the 1200XL rev. 12 OS.
  • Debugger: gf (go frame) now has a quiet option.
  • Fixes for a couple of configurations where copying or recording frames would produce a low-contrast image due to the wrong range being used.
  • Disassembly window now has options for overriding the M/X mode used when disassembling 65C816 code.
  • Added missing names for SlightSID and SoundBoard layers in the debugger's .map output.

 

 

Well... you may not believe this but... I can't boot VisiCalc with AltOSv3.31 (Colleen)... and I suspect it is the same case in XL/XE mode...

 

So VisiCalc is about 190 sectors, or so, and when reaching the end of the load, you can hear SIO polling (Seems OS driven, I am not sure it is VisiCalc). But regardless, in normal conditions, polling ends and you land on main screen (with empty spread-sheet). However, with v3.31, the polling never ends, and it farts forever... very strange, but it is stuck there.

 

Just FYI (tested this yesterday, and today...)

Link to comment
Share on other sites

56 minutes ago, oo7 said:

das omen demo crashes when pushing space bar

I tried all variants on atarionline.pl and they all worked fine.

 

What hardware type are you set on? What ROM checksum?

 

Mine in testing is set to Altirra 4.00-test29, 130xe, 128MB of RAM, PAL, Atari XL/XE OS Ver .3 (CRC32 is 29F133F7).

 

Update: It crashes if you run with the 600XL OS (Ver. 1). This may be correct, I dont have that config to test in hardware.

PAL.png

Link to comment
Share on other sites

43 minutes ago, gnusto said:

I tried all variants on atarionline.pl and they all worked fine.

 

What hardware type are you set on? What ROM checksum?

 

Mine in testing is set to Altirra 4.00-test29, 130xe, 128MB of RAM, PAL, Atari XL/XE OS Ver .3 (CRC32 is 29F133F7).

 

Update: It crashes if you run with the 600XL OS (Ver. 1). This may be correct, I dont have that config to test in hardware.

PAL.png

Hmmmm I tried so many settings etc, let me re download retest and report

Link to comment
Share on other sites

54 minutes ago, gnusto said:

I tried all variants on atarionline.pl and they all worked fine.

 

What hardware type are you set on? What ROM checksum?

 

Mine in testing is set to Altirra 4.00-test29, 130xe, 128MB of RAM, PAL, Atari XL/XE OS Ver .3 (CRC32 is 29F133F7).

 

Update: It crashes if you run with the 600XL OS (Ver. 1). This may be correct, I dont have that config to test in hardware.

PAL.png

what happens when you push space while the shadow is dancing?

Link to comment
Share on other sites

Also noticed all NTSC palettes except for juckob are way too dark. A good example is riverraid the maroon borders look black with any of the ntsc palettes. This was even on a tv that has been properly calibrated. Not a big deal tweaked my settings anyway but maybe worth reviewing for future for a more user friendly experience to new users?

Link to comment
Share on other sites

  

On 2/24/2021 at 7:58 PM, Faicuai said:

 

Well... you may not believe this but... I can't boot VisiCalc with AltOSv3.31 (Colleen)... and I suspect it is the same case in XL/XE mode...

 

So VisiCalc is about 190 sectors, or so, and when reaching the end of the load, you can hear SIO polling (Seems OS driven, I am not sure it is VisiCalc). But regardless, in normal conditions, polling ends and you land on main screen (with empty spread-sheet). However, with v3.31, the polling never ends, and it farts forever... very strange, but it is stuck there.

VisiCalc jumps directly into the Atari OS SIO routines at $E959. It working previously would have been by chance, sorry.

 

2 hours ago, oo7 said:

das omen demo crashes when pushing space bar

 

runs flawless real hardware and xformer 10

This demo requires the XL/XE OS version 2 and a PAL machine. The version I pulled off of pouet.net doesn't run for me in Xformer 10, it fails to recognize keystrokes at the info screen.

 

The main demo section has a bug with leaving the keyboard enabled with the IRQ handler pointing to garbage. Pressing space bar will act differently depending on how the demo is started. It also doesn't work once the drums start sounding as the drums lock out the keyboard IRQ. I'm not sure what the space bar is supposed to do in this demo but it doesn't seem to be hooked up to anything in the version I have.

 

9 minutes ago, oo7 said:

Also noticed all NTSC palettes except for juckob are way too dark. A good example is riverraid the maroon borders look black with any of the ntsc palettes. This was even on a tv that has been properly calibrated. Not a big deal tweaked my settings anyway but maybe worth reviewing for future for a more user friendly experience to new users?

This depends on the black level of the monitor you are trying to emulate since Ataris output blacker-than-black. A properly calibrated monitor using NTSC will subtract the black pedestal and show the dark colors that you are seeing, whereas a monitor using NTSC-J or an altered black level will show a brighter colors at the low end. The default settings reflect this pedestal and the brightness setting is there if you want to emulate a monitor that didn't have it.

  • Like 2
Link to comment
Share on other sites

7 hours ago, phaeron said:

  

VisiCalc jumps directly into the Atari OS SIO routines at $E959. It working previously would have been by chance, sorry.

 

This demo requires the XL/XE OS version 2 and a PAL machine. The version I pulled off of pouet.net doesn't run for me in Xformer 10, it fails to recognize keystrokes at the info screen.

 

The main demo section has a bug with leaving the keyboard enabled with the IRQ handler pointing to garbage. Pressing space bar will act differently depending on how the demo is started. It also doesn't work once the drums start sounding as the drums lock out the keyboard IRQ. I'm not sure what the space bar is supposed to do in this demo but it doesn't seem to be hooked up to anything in the version I have.

 

This depends on the black level of the monitor you are trying to emulate since Ataris output blacker-than-black. A properly calibrated monitor using NTSC will subtract the black pedestal and show the dark colors that you are seeing, whereas a monitor using NTSC-J or an altered black level will show a brighter colors at the low end. The default settings reflect this pedestal and the brightness setting is there if you want to emulate a monitor that didn't have it.

Thanks very much for the descriptive answers.

 

 

 

One tiny wish if its simple. Can Altirra eventually have a portable option? Ie store configs in a specific file in its home dir rather than on the machine it self?

 

BTW: I only pointed out my copy of das omen works on xformer 10 in case it may have helped in some way but I now see there are various versions of this demo as well. I did notice if the keyboard is not touched it doesnt crash (altirra only crash when keyboard) To be honest I use Altirra alot and its the only time in a very very long time I saw something behave different than I expected, only reason I reported it, that being said I would accept that its the demo that causes the flaw not the emulator.

Link to comment
Share on other sites

Weird little demo, version 3 allows the space bar to be pressed with no effect but is missed the first two parts of the demo..Just ran it as an xex, didn't try under DOS but Avery has spoken and explained why.

 

And @oo7, you can also supply a config via a command prompt, so there multiple ways to do the portable mode..

 

Link to comment
Share on other sites

2 minutes ago, Mclaneinc said:

Weird little demo, version 3 allows the space bar to be pressed with no effect but is missed the first two parts of the demo..Just ran it as an xex, didn't try under DOS but Avery has spoken and explained why.

 

And @oo7, you can also supply a config via a command prompt, so there multiple ways to do the portable mode..

 

very weird demo, I thought I had found a bug till Avery explained.

 

 

I love this emulator.

 

Link to comment
Share on other sites

Yup, it's a fantastic program and all for free..

 

As for bugs, very rare we get any and Avery is so fast to fix it's never an issue. Between all of us we have thrown just about every file possible at it and it stands there and plays them unless the program is bugged. Wonderful compatibility.

  • Like 2
Link to comment
Share on other sites

2 hours ago, Mclaneinc said:

Yup, it's a fantastic program and all for free..

 

As for bugs, very rare we get any and Avery is so fast to fix it's never an issue. Between all of us we have thrown just about every file possible at it and it stands there and plays them unless the program is bugged. Wonderful compatibility.

It is amazing that it is free.
 

 

Its my go to for atari 8 bit emulation. probably everyones go to lol.
I favor it over real hardware.

 

I always had a dream of being able to have a 130 xe hooked up to a multisync monitor with the ability to run in 50 or 60 hz like my STe, since that is not possible Altirra is my primary A8 these days and gives an amazing experience.

 

 

Only reason I even noticed the das omen behavior the other day was the fact I was showing altirra to a fellow atarian who I was mentioning how capable it is and how I favor it over hardware these days, we were throwing everything at it showing him how compatible it is and what a nice experience it is.

 

Truth be told I used virtual dub years ago, then years later saw he made altirra and was no way lol and then quickly made altirra my #1.

 

 

I fee lucky as heck that he made this AMAZING tool.

  • Like 1
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...