Jump to content
IGNORED

Altirra 4.10 released


phaeron

Recommended Posts

3 hours ago, Teapot said:

AltirraOS 3.39

 

Calling FASC results in the first byte of FR0 being changed to $00.

 

Atari (and Newell) ROMs keep FR0 intact.

 

What program does this affect? FASC doesn't provide any guarantees about FR0, so this is undocumented behavior. Not sure how easy it is to change the code to preserve that byte.

Link to comment
Share on other sites

17 hours ago, phaeron said:
20 hours ago, Teapot said:

AltirraOS 3.39

 

Calling FASC results in the first byte of FR0 being changed to $00.

 

Atari (and Newell) ROMs keep FR0 intact.

 

What program does this affect? FASC doesn't provide any guarantees about FR0, so this is undocumented behavior. Not sure how easy it is to change the code to preserve that byte.

 

It's affecting my assembly program that I'm writing right now 🙂. I'm just trying to quickly/efficiently show axis values on a graph. So it's just a chain of adding. I wouldn't know how to find a published program doing similar things.

 

I guess I interpret the OS User's Manual differently. I see that every FP function mentions what happens to the public registers as part of the calling sequence. But none of them explicitly say a register is unchanged (except FMOVE which is pointing out it's really a copy function). I read that as an indication that unmentioned registers stay unchanged. FLD0R doesn't explicitly say it doesn't change FR1 but it wouldn't be usable if it might. And I think the same is true of all the routines that move data in and out of the registers in various forms.

Link to comment
Share on other sites

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

  • AltirraOS 3.40: Fix for FASC overwriting FR0.
  • Added 835 HLE emulation.
  • 1030 HLE emulation now supports analog loopback, more accurate behavior of dialing and the P command, and when SIO commands can be issued.
  • 1030 full emulation timing improved by removing a one byte transmission delay. 
  • Additions/built-in T: now tracks on/off hook state, handles carrier detect timeout, waits for ACK after commands, and has better touch dial timing.
On 9/13/2023 at 3:53 PM, Teapot said:

It's affecting my assembly program that I'm writing right now 🙂. I'm just trying to quickly/efficiently show axis values on a graph. So it's just a chain of adding. I wouldn't know how to find a published program doing similar things.

OK, I just ask because I try to note which program got broken for regression testing purposes. I managed to rework the code to make it work -- math pack's like a can of sardines because there are no proper vectors, the official entry points are everywhere in the ROM.

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

Altirra Hardware Reference Manual: description of SKSTAT register in section 14.4. POKEY on page 383 - register bits SO and KO bits in byte are swapped, but bit descriptions below are ok.

 

And a question: what signal is present or required on CLOCKIN and CLOCKOUT SIO port pins when requested clock mode is selected (section 5.6. Serial Port - table 10 on page 110)?

Edited by mono
Link to comment
Share on other sites

On 9/17/2023 at 12:37 PM, mono said:

Altirra Hardware Reference Manual: description of SKSTAT register in section 14.4. POKEY on page 383 - register bits SO and KO bits in byte are swapped, but bit descriptions below are ok.

Ah thanks, I'll fix that.

 

On 9/17/2023 at 12:37 PM, mono said:

And a question: what signal is present or required on CLOCKIN and CLOCKOUT SIO port pins when requested clock mode is selected (section 5.6. Serial Port - table 10 on page 110)?

SIO Clock In should connect to the POKEY bidirectional clock line and SIO Clock Out the output clock line. This means that SIO Clock In will actually sometimes be an output.

  • Like 2
Link to comment
Share on other sites

7 hours ago, phaeron said:

SIO Clock In should connect to the POKEY bidirectional clock line and SIO Clock Out the output clock line. This means that SIO Clock In will actually sometimes be an output.

I mean what signal, looking from the outside of computer, is present or expected on SIO Clock In (BCLK) and SIO Clock Out (ACLK) in specific SIO clock mode/configuration.

Edited by mono
Link to comment
Share on other sites

17 hours ago, mono said:

I mean what signal, looking from the outside of computer, is present or expected on SIO Clock In (BCLK) and SIO Clock Out (ACLK) in specific SIO clock mode/configuration.

Unless I'm misunderstanding, the chart you pointed to tells you this. The output clock line always receives the output clock, while the "input" clock line is either an input or outputs channel 4 depending on the input clocking configuration.

  • Like 1
Link to comment
Share on other sites

  • 3 weeks later...

I just tried out Altirra for the first time with Alternate Reality: The City and it doesn't appear to recognize disks in multiple drives automatically? I have to continually swap the four different disks to D1? Or is there a setting that will automate detecting and using all drives with disks in them? I tried searching the help file and a bit of searching that resulted in me here with people talking about using command lines to automate things, but I was just wondering if there a simple setting I'm missing that results in Altirra checking and using all drives that have disk images in them?

Edited by Xebec's Demise
Link to comment
Share on other sites

53 minutes ago, Xebec's Demise said:

I just tried out Altirra for the first time with Alternate Reality: The City and it doesn't appear to recognize disks in multiple drives automatically? I have to continually swap the four different disks to D1? Or is there a setting that will automate detecting and using all drives with disks in them? I tried searching the help file and a bit of searching that resulted in me here with people talking about using command lines to automate things, but I was just wondering if there a simple setting I'm missing that results in Altirra checking and using all drives that have disk images in them?

Altirra supports up to 15 disk drives and will automatically turn on a disk drive for each mounted disk, but it's up to the DOS or program to actually use those disk drives.

 

Perhaps I'm missing something, but I'm seeing indications that AR: City only supports two disk drives with three of the disk sides being swapped on D1: and that you need AR: Dungeon to support four drives?

 

  • Like 1
Link to comment
Share on other sites

@phaeron, yes I believe you may be right for the original hardware. I was just hoping that maybe Altirra had a setting to auto swap disks or check all drives with images loaded. Maybe that's more complicated to code than I'm thinking.

 

I've been using Atari800Win and a little utility called AR Wrapper to auto swap drives in the past.

 

Edited by Xebec's Demise
Link to comment
Share on other sites

1 hour ago, Xebec's Demise said:

@phaeron, yes I believe you may be right for the original hardware. I was just hoping that maybe Altirra had a setting to auto swap disks or check all drives with images loaded. Maybe that's more complicated to code than I'm thinking.

 

I've been using Atari800Win and a little utility called AR Wrapper to auto swap drives in the past.

Sorry, not to that level. That's more of a game remake or patch -- the AutoIt program is tailored for the game and looking for specific things to appear on screen to trigger actions on the emulator including disk swaps. It's definitely doable, but goes far beyond generic hardware emulation because of how game specific it would be.

  • Like 2
Link to comment
Share on other sites

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

  • AltirraOS 3.41: SIO now resets BRKKEY (fixes Arsantica 3 demo).
  • 1400XL: Improved address decoding accuracy (A5-A7 now don't care).
  • Debugger: 'u' command now takes CPU mode override, .dumpdsm supports separators for 8048, and 65C02 disassembler now reports NOP for all unsupported opcodes.
  • Cassette: SIO Data In line is now released when motor stops or at end of tape.
  • Like 8
  • Thanks 4
Link to comment
Share on other sites

On 9/9/2023 at 9:56 AM, DjayBee said:

@kenp You can also download a copy of PC Xfomer which legally comes with OS ROMs.

http://www.emulators.com/download.htm and scroll down to PC Xformer Classic 3.8. You can extract the ROMs from that ZIP.

Thank you for the info on legal Atari OS ROMs. I noticed the download link for Xformer 2000 has been dead since 2018, so PC Xformer Classic 3.8 might be next to go. Here's an archive that will hopefully last forever: PC Xformer Classic 3.8 Atari 8-bit emulator for MS-DOS PCXF380.ZIP (570K) with Atari OS ROMs.

Edited by Xebec's Demise
Link to comment
Share on other sites

  • 2 weeks later...

Ive put altirra behind LaunchBox for 5200 emulation. Most of my 5200 games launch as expected 

 

carol shaws river raid brings up a cart type prompt and if i select the recommended one it works. Is there any way to fix it that it will just boot?

 

 

header?

 

 

solved. Used a header tool

Edited by oo7
Link to comment
Share on other sites

3 hours ago, oo7 said:

Ive put altirra behind LaunchBox for 5200 emulation. Most of my 5200 games launch as expected 

 

carol shaws river raid brings up a cart type prompt and if i select the recommended one it works. Is there any way to fix it that it will just boot?

 

 

header?

 

 

solved. Used a header tool

 

You can also do this with Altirra itself. After loading a cart successfully, File/Save Firmware/Cartridge will save the cart out with the header, so no selection next time.

  • Like 1
Link to comment
Share on other sites

  • 2 weeks later...

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

  • R-Verter now adjusts to PAL system timing and has more accurate timing with irregular bytes.
  • Network serial device no longer passes writes from the computer to the network connection on a baud rate mismatch.
  • Network serial device now keeps bytes queued prior to a graceful shutdown as long as a new connection doesn't arrive.
  • Added an SIO adapter variant of R-Verter without control line support, allowing simple TCP bridging of SIO devices (i.e. EPG satellite adapter).
  • Fixed broken SX212 ATI command.
  • Fixed modem ATS? command returning 00\ for invalid register.
  • Fixed a regression with handling grounded POT lines that broke 1200XL startup.
  • Fixed bug with custom devices where programmatic mode changes to a memory layer ignored auto-PBI gating.

 

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

a likely dumb question that my addled brain may have asked before but ...   has anyone tried running more than one instance of Altirra on a single Windows 10 machine at the same time?  i'm not even sure i could come up with a reason why except to have more than one Atari program running at the same time might be handy.

Link to comment
Share on other sites

31 minutes ago, kenp said:

a likely dumb question that my addled brain may have asked before but ...   has anyone tried running more than one instance of Altirra on a single Windows 10 machine at the same time?  i'm not even sure i could come up with a reason why except to have more than one Atari program running at the same time might be handy.

This does work, subject to a few caveats:

  • It works best when Altirra is saving settings to the Registry (default). If it is changed to portable mode, the instances can step on each other when saving settings. This is less of an issue in Registry mode.
  • Two instances can share the same disk images for reading, but writing to them from both instances will risk disk image corruption.
  • There is a setting in Options for whether to reuse the program instance. When that is set, attempts to launch the emulator when it is already running will instead redirect to the already running instance. For instance, if you have registered the emulator for ATR images and launch an ATR, it will prefer to boot that ATR in an existing instance. In that case, launching two instances requires either turning that option off or forcing off single instance mode on the launch (/nosi).

In a situation where you want to try something in a second instance of the emulator without disturbing the settings, there are two useful switches: /tempprofile disables saving back the profile settings, and /portabletemp tells the emulator to boot isolated without reading or writing any existing settings. The caveats regarding shared disk images still apply, however.

  • Like 1
Link to comment
Share on other sites

2 hours ago, phaeron said:

This does work, subject to a few caveats:

  • It works best when Altirra is saving settings to the Registry (default). If it is changed to portable mode, the instances can step on each other when saving settings. This is less of an issue in Registry mode.
  • Two instances can share the same disk images for reading, but writing to them from both instances will risk disk image corruption.
  • There is a setting in Options for whether to reuse the program instance. When that is set, attempts to launch the emulator when it is already running will instead redirect to the already running instance. For instance, if you have registered the emulator for ATR images and launch an ATR, it will prefer to boot that ATR in an existing instance. In that case, launching two instances requires either turning that option off or forcing off single instance mode on the launch (/nosi).

In a situation where you want to try something in a second instance of the emulator without disturbing the settings, there are two useful switches: /tempprofile disables saving back the profile settings, and /portabletemp tells the emulator to boot isolated without reading or writing any existing settings. The caveats regarding shared disk images still apply, however.

Thanks for the guidance.

Link to comment
Share on other sites

Altirra crashes when using a command line help in my Wine environment this way:

  1. Run this command from a terminal:  
    Altirra64.exe /?
  2. Click into the window with the help so that you can see a text cursor
    image.thumb.png.89ce777ad33ea4650753409557aad823.png
  3. Press Ctrl + C (selecting of text doesn't matter)
  4. Click on the button "OK"
  5. Altirra will crash in a moment 🐞
    image.thumb.png.e5fc326585cad2296930a12f9e0653d6.png

Here is a a crash dump: 

AltirraCrash.zip

 

Used SW:

  • Ubuntu 23.10
  • Wine wine-8.0.1
  • Altirra 4.20-test29

 

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