Jump to content
IGNORED

Altirra 4.10 released


phaeron

Recommended Posts

On 8/7/2023 at 4:57 PM, E474 said:

Quick question.

 

  I'm running Altirra under wine, and the online help system is broken (in wine). I can't find the mappings for Start, Select and Option in the UI, what are they mapped to on the keyboard (I literally can't find this info anywhere in the UI!).

 

  Thanks!

use winehq as it has better support for new applications. i attach a picture.😉

winehq.thumb.jpg.115865c6cc601d18bbc87d237432f45d.jpg

Regards

  • Like 1
Link to comment
Share on other sites

Question, is it possible to dump the Atari RAM to a file during emulation, say at a breakpoint?

I am working on a decompressor algorithm routine for a dumb project, and having the ability to compare data side by side would be really helpful right now.

If this is not possible, it's not a big deal, I can still manage using the memory viewer itself for side by side comparisons if I need to verify the decoded data integrity.

 

Thank you, and have a great day :D 

Link to comment
Share on other sites

5 minutes ago, VinsCool said:

Question, is it possible to dump the Atari RAM to a file during emulation, say at a breakpoint?

Yes, from Altirra's .help:

 

.writemem    Write memory to disk

  Write a block of memory to a file on disk.

    .writemem <path> <xaddress> L<length>
    
  The address may use extended memory syntax, i.e. v:4000 for VBXE
  memory.


Commands <xaddress> accept extended addresses:
  $0000      CPU view of primary memory
  $01:0000   CPU view, 65C816 high memory
  $EF'4000   CPU view, extended memory ($4000 with PORTB=$EF)
  n:$0000    ANTIC view of primary memory
  v:$00000   VBXE memory
  r:$0000    Main memory
  x:$00000   Extended memory
  t:$01'A000 Cartridge memory, banked view (bank $01, address $A000)

Some commands support length syntax:
  db siov L100
  db 4000 L>5FFF

Commands taking <path> also accept ? to interactively select the file.

 

  • Thanks 1
Link to comment
Share on other sites

Thank you very much!

I really should RTFM before asking something next time haha 😹

 

[Edit] This is perfect, it works exactly as I was hoping, memdumps will be incredibly valuable for more complex stuff later :D 

 

image.thumb.png.ec6fdd9bf0bdec0bd765219255ac5230.png

Edited by VinsCool
Addendum
Link to comment
Share on other sites

Hi @ascrnet,

 

   Thanks very much for checking the Help functionality. I think in retrospect I would have been better off installing from winehq than the standard Debian repos. Hopefully this is helpful for anyone wanting to use Altirra under wine on Linux. I'll stick with my current config for the moment as I'm planning to upgrade to Debian 12 soonish anyway. Having the online help in HTML is actually really nice as I can browse the docs from my phone/ancient iPad (recommended).

Link to comment
Share on other sites

On 8/10/2023 at 1:11 PM, TGB1718 said:

Had noticed your not here as much as usual, hope all is ok with you.

Yeah, I just lost the bug for it all, and the neck pain is a little more annoying now, so playing is hard. I just keep the files up to date in case the bug comes back. Also, if I'm not chatting Atari then I'm off topic, hence I stay off here a lot.

  • Like 1
Link to comment
Share on other sites

Another question related to the one I asked a few days ago.

I noticed an interesting behaviour happening each time I open the emulator for a new session.

 

Here's how to replicate what I experienced:

 

- Start a new instance of Altirra

- Load a binary file (which has the assembly listing saved next to it ideally)

- Press F8 to start the debugger

- Select the option 'Open file list...'

 

From there, it would open the window with the source files listed in the assembly sources like usual:

 

image.png.4060d38203702bc689cced4a6f92eecf.png

 

However, it would then try to also use the file browser to make me chose that file again, despite having it already listed selected:

 

image.png.2442058877c0222fda35a2dada525465.png

 

If I press Cancel to close that window, then select the file I want to open once again, it will this time be opened without further involving the file browser:

 

image.png.ff0d55069c2a0d61abee25ead1aaeba8.png

 

This seems to only happen for the first time I try to use the option, opening additional files will then be done without having to pick them up manually.

Did anyone else notice something similar, or is that just another WINE quirk happening here?

 

I used the Altirra 4.20 Test18 version when I first noticed this earlier, updating to Test20 made no difference.

Note that this is really minor, it only happens once and stays that way for as long as the emulator is running.

Link to comment
Share on other sites

Hi Altirra experts,

i could not figure out how to display the content of extra ram (>64K) in Altirras debug memory pane. (Debug-> Window -> Memory)

Whatever i do, it always displays all memory above adress $FFFF as $FF; although i'm activly using this RAM.


Maybe i'm having a wrong syntax to adress it in the memory window?  i'd guess it should be $01:0000 .. $01:FFFF  for the 64-128k range?

image.thumb.png.71e3f9189e3dad981dfc3d5b5f43c4cf.png

 

 

 

 

 

Link to comment
Share on other sites

13 hours ago, Atlan_Roland said:

Hi Altirra experts,

i could not figure out how to display the content of extra ram (>64K) in Altirras debug memory pane. (Debug-> Window -> Memory)

Whatever i do, it always displays all memory above adress $FFFF as $FF; although i'm activly using this RAM.


Maybe i'm having a wrong syntax to adress it in the memory window?  i'd guess it should be $01:0000 .. $01:FFFF  for the 64-128k range?

$aa:bbbb syntax is for 65C816 linear RAM. Use x:$aaaaa for a flat view of extended RAM or $aa'bbbb for $bbbb with PORTB=$aa, where $bbbb should be $4000-7FFF.

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

I just installed 4.10 of Altirra (had 4.01 before) 64-Bit version and windows 11 and now when debugging from wudsn I have to call the emulator twice in order to have the opportunity to step with f11. 

 

I also downloaded the latest Altirra beta but with same results. I also went back to 4.01 but now it has the same behaviour as with the newer versions.

 

ReuseAltirraSettings.png.4474ec9b2b0672dc34b36c60fec11c39.png

When I start Altirra for the first time, the debugger is always disabled. I have to leave Altirra opened and compile/start from wudsn again.

 

AltirraDebugger1st.png.d89549b5b2c41d014f0ab35fdbf50418.pngAltirraDebugger2nd.png.0397c14f8c2a6e48e648f89415f93739.png

 

But when I close Altirra next time I start it Debugger is disabled again.

 

Is there any setting to activate that Altirra saves the debugger state?

 

I also tried to debug the rainbow graphics output (used the example from Peter's tutorial video) but it just doesn't show the same results (program is running fine without debugging).

 

AltirraNoGraphicsOutput.thumb.png.d7aecad9c4204099b5a6113f41d132ce.png

Edited by patjomki
Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.20-test21.zip
https://www.virtualdub.org/beta/Altirra-4.20-test21-src.7z

  • Fixed 810, 1050, and XF551 full drive emulators forcing write protect off on reset.
  • Standardized disk emulation behavior for sectors that have the RNF bit set for missing data fields. These are now uniformly treated as missing sectors that go the full 2/5 rotations for reads and are ignored for writes (since the FDC rewrites the entire data field in that case).
  • Fixed writes to sectors that have missing data fields. This now forces reallocation of the data field if necessary, where previously it would sometimes drop the data if no space was allocated in the original disk image.
  • Fixed handling of address CRC errors for writes in the standard disk emulator and for reads/writes in the full drive emulators.
  • The Check for Updates dialog now allows switching between the release and test channels, which previously were hardcoded based on the type of release.
  • Added emulation of U1MB CASINH behavior so that U1MB extended memory windows override VBXE MEMAC windows.
  • Added extended device command to refresh the directory listing of a virtual FAT16/FAT32 device.
  • Fixed horizontal offset in PAL high artifacting.

 

On 8/13/2023 at 8:16 PM, VinsCool said:

From there, it would open the window with the source files listed in the assembly sources like usual:

 

However, it would then try to also use the file browser to make me chose that file again, despite having it already listed selected:

 

If I press Cancel to close that window, then select the file I want to open once again, it will this time be opened without further involving the file browser:

The reason this occurs is that the debugger is trying to resolve the filenames relative to the current directory, so if you change the current directory to where the source files exist, the next time the debugger tries to resolve them, the relative path works. I should probably change the debugger to resolve the source files against the module executable path instead of the current directory.

 

As for the reason why the current directory changes, that's a quirk of the Windows file dialog, which changes the current directory when a file or path is selected. But the file dialog doing that on a Cancel is a Wine bug -- in Windows, the file dialog only changes the current directory if you select a file, not if you cancel out.

 

On 8/19/2023 at 11:13 AM, patjomki said:

When I start Altirra for the first time, the debugger is always disabled. I have to leave Altirra opened and compile/start from wudsn again.

 

But when I close Altirra next time I start it Debugger is disabled again.

 

Is there any setting to activate that Altirra saves the debugger state?

Launch with the /debug flag. There isn't a setting to save the debugger state.

 

Regarding the stepping issue, what I've seen sometimes happen is that people get the debugger panes into the non-debugger layout. This sort of works since not enough of the debugger UI checks the debugger state, but the intention is that the debugging features are only used when the debugger is enabled. This is to prevent confusing situations like the emulator stopping at a breakpoint that you can't see because the current layout only has the display view.

 

On 8/19/2023 at 11:13 AM, patjomki said:

I also tried to debug the rainbow graphics output (used the example from Peter's tutorial video) but it just doesn't show the same results (program is running fine without debugging).

 

AltirraNoGraphicsOutput.thumb.png.d7aecad9c4204099b5a6113f41d132ce.png

The Debug Display shows you a static view of the screen, as opposed to the dynamic view that the Display pane shows. The advantage is that it can show you the screen before ANTIC executes the display list, such as a screen that has just been set up before the next frame, or an off-screen buffer. The downside is that it can't show you dynamic effects from DLIs because it can't actually run the frame to apply the register writes.

 

  • Like 7
  • Thanks 4
Link to comment
Share on other sites

On 8/4/2023 at 2:16 AM, phaeron said:

Something a little different -- this build adds some basic accessibility support:

  • The Display pane now supports reading out text for screen readers, such as Windows Narrator. This reads out the text using a similar mechanism to Copy Text, except that it will also identify and bracket inverse text. This works at the emulated hardware level where the cursor is not visible, so currently screen readers can't tell where the cursor is and scanning the text is necessary. Support for this needs to be enabled in Configure System > Accessibility currently, as the UIAutomation API is pretty fragile and for some reason the On Screen Keyboard likes to activate it too. XEP80 displays are not yet supported.
  •  

 

Hi:

 

This is neat!

 

Didn't think this was possible.

 

Thanks for adding it in.

 

Makes it easier to check some things out without messing with copying and such.

 

Just to give a little feedback:

 

Screen review actually works very well with NVDA (Non-Visual Desktop Access - https://www.nvaccess.org).

 

As you pointed out, the screen reader doesn't know where the cursor is, but, NVDA allows me to navigate through the screen display line-by-line, using the numpad 7, 8, and 9 keys.  For some reason, it acts a little weird when reviewing by word, with the 4, 5, and 6 keys--it seems to think the line is a single word, but, it does pronounce things correctly, so I'm not sure what this means.  Rreading by character, using the 1, 2, and 3 keys, works as well!

 

I can't seem to do as much with Narrator, maybe I'm not pressing the right keys.

 

I mainly use JAWS and NVDA.

 

Jaws doesn't seem to do much with Altirra, but, I'm not sure why.

 

So, the free solutions (NVDA and Narrator seem to be able to handle it best.

 

Cheers!

Link to comment
Share on other sites

Just to add, Altirra is the first emulator I know of that is using the UI automation to make the screen contents visible..

 

I was just curious, so I tried it with the PacMan rom image for the 5200 and it even read the score information.

 

I'm guessing whoever put that cartridge together used routines in the system to display text.  My understanding is that, with the 2600, there were no routines, so the programmers on the 2600 had to use sprites to make their characters.

Link to comment
Share on other sites

1 hour ago, jenorton said:

As you pointed out, the screen reader doesn't know where the cursor is, but, NVDA allows me to navigate through the screen display line-by-line, using the numpad 7, 8, and 9 keys.  For some reason, it acts a little weird when reviewing by word, with the 4, 5, and 6 keys--it seems to think the line is a single word, but, it does pronounce things correctly, so I'm not sure what this means.  Rreading by character, using the 1, 2, and 3 keys, works as well!

The UI Automation API is a thick API that exposes moving forwards and backwards in various units, including lines, words, and paragraphs. The reason that the screen readers can't step by words properly is that Altirra's UI automation code currently falls back to lines when words are requested -- I need to implement word break rules for word stepping to work.

 

14 minutes ago, jenorton said:

Just to add, Altirra is the first emulator I know of that is using the UI automation to make the screen contents visible..

 

I was just curious, so I tried it with the PacMan rom image for the 5200 and it even read the score information.

 

I'm guessing whoever put that cartridge together used routines in the system to display text.  My understanding is that, with the 2600, there were no routines, so the programmers on the 2600 had to use sprites to make their characters.

The screen reader support scans the screen at a hardware level, so using the system routines isn't necessary -- just requires a text mode that has the character font in standard order. This is also why the emulator can't see the cursor, though, since the cursor doesn't exist in hardware -- it's just an inverted square.

  • Like 2
Link to comment
Share on other sites

8 hours ago, phaeron said:

The UI Automation API is a thick API that exposes moving forwards and backwards in various units, including lines, words, and paragraphs. The reason that the screen readers can't step by words properly is that Altirra's UI automation code currently falls back to lines when words are requested -- I need to implement word break rules for word stepping to work.

 

The screen reader support scans the screen at a hardware level, so using the system routines isn't necessary -- just requires a text mode that has the character font in standard order. This is also why the emulator can't see the cursor, though, since the cursor doesn't exist in hardware -- it's just an inverted square.

Thanks for the explanation.

 

Also, thanks for looking into this.  Again, it never occurred to me that the UI Automation API could even be applied in this situation.  Makes me wonder what else could use it that isn't.

 

Anyway, thanks again for this addition.  I'm still learning stuff all the time.

 

Cheers!

 

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.20-test22.zip
https://www.virtualdub.org/beta/Altirra-4.20-test22-src.7z

  • Fixed bug with the standard disk emulator using 810 post-read timings for single density even with the 1050 profiles. This fixes a couple of disks that were very sensitive to read timings and previously only booted with the 1050 full emulator.
  • Slightly improved timing accuracy of the full drive emulators.
  • Added sector-under-head tracing.
  • Fixed a bug where acceleration timing compensation was not working properly for disk burst I/O. This allows some disks to boot with burst I/O enabled that would previously fail timing checks.
  • Fixed a bug in the standard disk emulator where the disk rotational position was being updated for motor-off time.

 

  • Like 7
  • Thanks 4
Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.20-test23.zip
https://www.virtualdub.org/beta/Altirra-4.20-test23-src.7z

  • Fixed standard emulator not filtering on FM/MFM tracks; fixes booting disks that deliberately use this to cause missing sector errors.
  • Improved behavior of manual FM/MFM mode switching via the format command.
  • Added /diskemu switch to set disk emulation mode.

 

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

9 hours ago, phaeron said:

https://www.virtualdub.org/beta/Altirra-4.20-test23.zip
https://www.virtualdub.org/beta/Altirra-4.20-test23-src.7z

  • Fixed standard emulator not filtering on FM/MFM tracks; fixes booting disks that deliberately use this to cause missing sector errors.
  • Improved behavior of manual FM/MFM mode switching via the format command.
  • Added /diskemu switch to set disk emulation mode.

 

Avery, I have used Altirra FOREVER and never had a problem.   However both test22 and test23 will not run.  Windows Defender is blocking them.  Never had this problem in the past, as I always update to the latest test build when it is available.

 

Link to comment
Share on other sites

3 hours ago, scotty said:

Avery, I have used Altirra FOREVER and never had a problem.   However both test22 and test23 will not run.  Windows Defender is blocking them.  Never had this problem in the past, as I always update to the latest test build when it is available.

Can't reproduce and VirusTotal looks clean.

https://www.virustotal.com/gui/file/62e562299579aadab377b8ae0cafbe7e487ffeff0b7da4afaea968e554333340/detection

 

If there was a Defender issue, it's been fixed.

 

1 hour ago, donjn said:

Is read or run ahead ever played for Altirra?
Denise 64 added it to their C64 emulator and its a game changer. Feels like you are on a CRT; its that responsive.

I'm not opposed to it, but I don't have any current plans. Run-ahead has pretty large implications on emulation architecture and also introduces some jank that needs to be smoothed over, like audio discontinuities.

Link to comment
Share on other sites

7 minutes ago, phaeron said:

I'm not opposed to it, but I don't have any current plans. Run-ahead has pretty large implications on emulation architecture and also introduces some jank that needs to be smoothed over, like audio discontinuities.

Might be worth looking into because I assume 90% of people who use it, use it to play Atari 8 bit games.
Maybe release a separate version with RA so it does not mess with your main Altirra line?
I am sure you would have willing play testers, I know I would help.

Edited by donjn
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...