Jump to content
IGNORED

Altirra 4.20 released


phaeron

Recommended Posts

On 6/13/2024 at 9:08 PM, phaeron said:

Graphics driver problem would be my guess, turning off vsync and trying to drop to Direct3D9 in options might help. If D3D9 especially works, then there are some advanced configuration options to change the D3D11 flip mode that might help. Another thing to check is whether the emulator runs fine in warp speed, which would indicate whether the problem lies in frame pacing.

 

DPC latency is a big problem, but generally results in jank (dropped frames) and not longer term pauses or slowdowns. A lot of vendor software is particularly bad; I drop-kicked Alienware Control Center almost immediately because of the insane load it was putting on the system with constant WMI queries during compilation. I also recommend trying turning off all E-cores in the BIOS settings if running on a hybrid CPU; on my i7-13620H they were causing a lot of frame hitching.

 

The thing about video players is that they have the luxury of buffering a lot of frames to be insensitive against CPU hitches. The default player in Windows 11, for instance, buffers batches of 10 frames at a time for power efficiency. Interactive programs can't do this because it leads to terrible input latency.

 

Not sure - according to this, everything seems perfect and the system is as untaxed as I would expect it to be.

Latency1.thumb.jpg.cfb33cad115d2da5f5e87156b83ddbd1.jpg

Latency2.thumb.jpg.0ac501b4a55c9124e7f165da4eb215bd.jpg

Link to comment
Share on other sites

7 hours ago, Stephen said:

Not sure - according to this, everything seems perfect and the system is as untaxed as I would expect it to be.

Latency2.thumb.jpg.0ac501b4a55c9124e7f165da4eb215bd.jpg

You have too many bored cores. 

They start fighting because every single one of them wants to run this great piece of software. 😜

  • Like 2
  • Haha 2
Link to comment
Share on other sites

Would it be possible to have 'Remove' added to the right-click menu in a future version? I'm swapping hard disk images quite frequently during testing and since I've already had to move the pointer over the image and click on it to select it, it might save a bit of mousing around to have 'Remove' in the context menu. Maybe 'Add', 'Settings', etc, as well...

image.png.4a5321451793df881e87b69fec6aba6e.png

An MRU list in the Image Path dialogue might also be a time saver when repeatedly switching between a selection of frequently used images. Thinking about it, I was sure there already was one, but it's not showing up at the moment.

  • Like 1
Link to comment
Share on other sites

8 hours ago, flashjazzcat said:

Would it be possible to have 'Remove' added to the right-click menu in a future version? I'm swapping hard disk images quite frequently during testing and since I've already had to move the pointer over the image and click on it to select it, it might save a bit of mousing around to have 'Remove' in the context menu. Maybe 'Add', 'Settings', etc, as well...

image.png.4a5321451793df881e87b69fec6aba6e.png

An MRU list in the Image Path dialogue might also be a time saver when repeatedly switching between a selection of frequently used images. Thinking about it, I was sure there already was one, but it's not showing up at the moment.

 

What I found a bit troublesome doing tests during software writing was having to remove the whole SIDE 3 device, later to add it again and re-add the hard drive / SD image. Would be much more convenient to have some sort of an unplug / re-plug button, something equivalent to removing / reinserting the complete instance of a configured cartridge from the Atari. 

  • Like 3
Link to comment
Share on other sites

11 hours ago, woj said:

 

What I found a bit troublesome doing tests during software writing was having to remove the whole SIDE 3 device, later to add it again and re-add the hard drive / SD image. Would be much more convenient to have some sort of an unplug / re-plug button, something equivalent to removing / reinserting the complete instance of a configured cartridge from the Atari. 

To an extent, this can be overcome using profiles (or separate Altirra INI files attached to shortcuts to start different instances with different setups), but yes: some convenient mechanism of adding and removing devices without navigating the device tree would be very handy. I have two 4K monitors with a lot of real-estate; imagine dragging VHDs to the SIDE3 icon on a little floating dock in order to swap virtual cards. :)

Edited by flashjazzcat
Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.30-test12.zip
https://www.virtualdub.org/beta/Altirra-4.30-test12-src.7z

 

Adds support for Atari 1025 80-Column Printer full emulation.

 

image.thumb.png.4a5efa28b901e036471af0fc3acaeab3.png

 

Amusingly, just about every printer that Atari made at the time seemed to use a different microcontroller, probably because of so many of the designs being licensed. The 1025 is based on an 8051, which is a refined version of the 8048 architecture. It's got its own oddities, but you can definitely see where they improved on the deficiencies of MCS-48. Emulating that didn't take much more than a bit of elbow grease to knock out the CPU core and disassembler.

 

What took a while to figure out was the bizarre spacing on the printing output. It was a mistake to treat the space (head) motor like a stepper motor -- couldn't figure out why the printer kept trying to print multiple dot patterns at the same steps and the output looked really bad. Turns out the space motor is very much not a stepper motor and the 1025 relies on the motor speed being smooth enough to interpolate positions by timing the print head actuation between phases. At 5/10 CPI, the firmware runs the motor in 4 steps, turning on adjacent phases at a time and printing in between phases. At 16.5 CPI, it alternates between single phase and double phase to get slower operation, and takes the uneven force into account when timing head activation. Altirra emulates ideal speeds based on firmware timing, but if you look at some sample real printouts like in the Service Manual, you can see slight unevenness between even/odd columns due to this effect.

 

The other oddity of the 1025, which also took a while to figure out, is why the ESCape codes at the end of the manual only stick if you OPEN the P: device instead of doing an LPRINT to it in BASIC. The manual doesn't mention that the 1025 resets its internal state whenever the P: device is reopened, by detecting the Status command that the P: handler issues. As a result, any changes to DPI, width, line spacing, character set, etc. all get reverted at the end of the line if you use LPRINT. I've never seen an SIO device before that had a side effect to the Status command, but here you go. This undocumented behavior is now also implemented in the standard 1025 emulation.

 

Finally, when European characters are disabled, the 1025 blanks international characters in the printable range, but drops control characters. This is also now implemented in the standard emulation.

 

The 1025 is not a very fast printer, and since it prints unidirectionally, takes a while to bring the head from the end of the line back to home position. This is hard to tell in the emulator since no head movement sound is played; I'll have to see if I can find one to sample or come up with something reasonable.

 

On 6/19/2024 at 5:25 AM, flashjazzcat said:

Would it be possible to have 'Remove' added to the right-click menu in a future version? I'm swapping hard disk images quite frequently during testing and since I've already had to move the pointer over the image and click on it to select it, it might save a bit of mousing around to have 'Remove' in the context menu. Maybe 'Add', 'Settings', etc, as well...

 

An MRU list in the Image Path dialogue might also be a time saver when repeatedly switching between a selection of frequently used images. Thinking about it, I was sure there already was one, but it's not showing up at the moment.

Yeah, I could add those. They're redundant but contextually useful, and easy to add.

 

The "MRU" on the image path edit is actually path autocomplete, not MRU. I've thought about ways to make it easier to re-connect partial configurations, but need to work out a general way to do it -- already too many one-off or duplicate systems in the emulator as it is.

 

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

1 hour ago, phaeron said:

Yeah, I could add those. They're redundant but contextually useful, and easy to add.

Great - thanks. Everything in the existing context menu is already in the 'More' drop-down, so redundant as you say, but contextually useful.

 

Link to comment
Share on other sites

On 6/15/2024 at 5:50 PM, phaeron said:

https://www.virtualdub.org/beta/Altirra-4.30-test11.zip
https://www.virtualdub.org/beta/Altirra-4.30-test11-src.7z

 

Adds emulation support for the 820 and 1025 printers. Previously, there was only a single HLE printer device, which supported a general feature set interpreting incoming characters at ATASCII. The 820 and 1025 devices emulate the specific character sets supported by those printers, which in the case of 820 is a subset of ASCII and the 1025 is the international ATASCII character set. The Printer Output pane now maps the special characters to Unicode. The unique Sideways mode of the 820 is also supported, though not being able to actually rotate the characters, it at least renders them backwards as the 820 does. 1025 control codes are supported, though some of them like line spacing are ignored.

 

Also added is low-level emulation of the 820, running the actual 6507-based firmware. This includes rasterization of the actual dot matrix output:

 

image.thumb.png.1c44da522e6b29fdc7fb80c462088544.png

 

...

Uh oh, now I suppose I'll need to add graph printing to the stream sampling statistics and graphing program I've been noodling with. 😅 (Got a storage unit full of cassettes with numerical data but only a stock 16KB 400, 410, and enough time on your hands to load each tape only once? Can do!)

  • Like 1
Link to comment
Share on other sites

On 6/16/2024 at 10:49 PM, phaeron said:

This looks like antivirus interference based on file extension. Altirra treats .xex the same as .obx throughout. I'm not seeing this effect with Windows Defender, though.

btw. just simple question. Altirra opens so and then the delay starts... question to me is should not the AV already happened? I put .xex in whitelists but still remains.

 

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.30-test13.zip
https://www.virtualdub.org/beta/Altirra-4.30-test13-src.7z

 

Continuing the printer arc, adds Atari 1029 printer emulation.

 

image.thumb.png.08503289a2b365ecbcb0704363816fe8.png

 

I thought the 1029 would be easy to add, just staple a 1024x4 static RAM on the side of an 8048... ha ha, not. The 1029 uses a strange and borderline nutty "Unihammer" print mechanism that uses a single print hammer to print all 7 dots of a column, selected by a rapidly moving set of bumps on the platen -- fast enough for a platen bump to sweep down for each of the 5 columns of each character. This was a pain to figure out since the 1029 Service Manual is not readily available, so it had to be pieced together from clues from the CBM MPS-801 and Amstrad DMP1, which use mechanisms that are similar but not exactly the same. I have no idea how this mechanism works without sanding through the paper and causing a fire, but somehow it does.

 

Anyway, it does work now. The 1029 doesn't have as much resolution as the 1025 and is lacking some features, such as condensed mode. However, it has an underlining mode, which interestingly is done by re-printing the underline in a second pass on the same line. The most interesting feature, though, is the bitmapped graphics mode. The main reason the 1029 is able to do this is that it has an additional 1024 x 4-bit static memory to buffer 480 bytes. Two programs I found that supported the Atari 1029 are 10-Print, which lets you print regular and custom fonts through a Q: device and Mini Office 2, which supports charting.

 

There is currently no standard emulation for the 1029 since the text-only printer window doesn't currently support the features that make the 1029 interesting.

 

On 6/21/2024 at 11:25 PM, Heaven/TQA said:

btw. just simple question. Altirra opens so and then the delay starts... question to me is should not the AV already happened? I put .xex in whitelists but still remains.

Altirra initializes the UI before processing the command line, which is why you get the delay after the UI has appeared. I'm not sure if there's anything I can do here. Does the delay also occur if you manually open the file after the emulator has started? (It should.)

 

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

7 hours ago, phaeron said:

Two programs I found that supported the Atari 1029 are 10-Print, which lets you print regular and custom fonts through a Q: device and Mini Office 2, which supports charting.

Another one is Tricky-Print, a printer driver for Print Shop.

image.png.37c7e078fb81957754573beafd0a0b34.png Tricky-Print (1988-07)(Compy-Shop)(DE)(Side A)[req 64K][cr CSS].atr

It is one of the disks where a8rawconv does not recognize that a sector is weak

 

EDIT:

Choose "EPSON MX-, FX-, RX- (80 OR 1680), JX-80" for an Atari 1029 and "AXIOM SLP" for a NEC-P6.

 

Edited by DjayBee
Added printing instructions
  • Like 2
Link to comment
Share on other sites

@phaeron A regression in the version "test13":

When I run Altirra, I'm getting "BOOT ERROR" instead of a self test.

I'm using the profile "XL/XE", with the device "Printer (P:)" (Printer Output, no attached devices) in devices. If I remove the device, it works well.

Such issue isn't in "test12".

Link to comment
Share on other sites

Thank you so much...I used to suppy a firmware pack like a few other AA members did, but it's been a while since I kept up to date, so appreciate anyone who can help out and I bet there's more than me looking for these firmwares :)

 

Again, mirao, thank you!

 

Paul..

 

Edit: Same site mirao kindly linked, the 1029 firmware..

 

http://blog.3b2.sk/igi/Data/Atari/1029/1029eng.zip

 

Edit again... Veritable goldmine

 

http://blog.3b2.sk/igi/post/Directory-Atari.aspx

 

A huge thank you to Igi for this and to mirao for making it known..

Edited by Mclaneinc
  • Like 4
Link to comment
Share on other sites

4 hours ago, phaeron said:

https://www.virtualdub.org/beta/Altirra-4.30-test13.zip
https://www.virtualdub.org/beta/Altirra-4.30-test13-src.7z

 

Continuing the printer arc, adds Atari 1029 printer emulation.

 

image.thumb.png.08503289a2b365ecbcb0704363816fe8.png

 

I thought the 1029 would be easy to add, just staple a 1024x4 static RAM on the side of an 8048... ha ha, not. The 1029 uses a strange and borderline nutty "Unihammer" print mechanism that uses a single print hammer to print all 7 dots of a column, selected by a rapidly moving set of bumps on the platen -- fast enough for a platen bump to sweep down for each of the 5 columns of each character. This was a pain to figure out since the 1029 Service Manual is not readily available, so it had to be pieced together from clues from the CBM MPS-801 and Amstrad DMP1, which use mechanisms that are similar but not exactly the same. I have no idea how this mechanism works without sanding through the paper and causing a fire, but somehow it does.

 

Anyway, it does work now. The 1029 doesn't have as much resolution as the 1025 and is lacking some features, such as condensed mode. However, it has an underlining mode, which interestingly is done by re-printing the underline in a second pass on the same line. The most interesting feature, though, is the bitmapped graphics mode. The main reason the 1029 is able to do this is that it has an additional 1024 x 4-bit static memory to buffer 480 bytes. Two programs I found that supported the Atari 1029 are 10-Print, which lets you print regular and custom fonts through a Q: device and Mini Office 2, which supports charting.

 

There is currently no standard emulation for the 1029 since the text-only printer window doesn't currently support the features that make the 1029 interesting.

 

Altirra initializes the UI before processing the command line, which is why you get the delay after the UI has appeared. I'm not sure if there's anything I can do here. Does the delay also occur if you manually open the file after the emulator has started? (It should.)

 

Once Altirra is running the delay is gone. In that state doesn't matter if double clicked on an .xex or fired via command like or batch. But as you said the GUI is init before loading it must be then Win11. Thx. 

Link to comment
Share on other sites

6 hours ago, mirao said:

@phaeron A regression in the version "test13":

When I run Altirra, I'm getting "BOOT ERROR" instead of a self test.

I'm using the profile "XL/XE", with the device "Printer (P:)" (Printer Output, no attached devices) in devices. If I remove the device, it works well.

Such issue isn't in "test12".

I am noticing the same behaviour.

Link to comment
Share on other sites

11 hours ago, mirao said:

@phaeron A regression in the version "test13":

When I run Altirra, I'm getting "BOOT ERROR" instead of a self test.

I'm using the profile "XL/XE", with the device "Printer (P:)" (Printer Output, no attached devices) in devices. If I remove the device, it works well.

Such issue isn't in "test12".

It's a bug in the printer device ID checking code with a flipped comparison, I'll fix it next test release -- in the meantime stick with test12 if you need to use the standard printer emulation.

 

7 hours ago, Heaven/TQA said:

Once Altirra is running the delay is gone. In that state doesn't matter if double clicked on an .xex or fired via command like or batch. But as you said the GUI is init before loading it must be then Win11. Thx. 

In that case, you can try enabling single instance mode in options -- then invoking Altirra will reuse the existing instance instead of creating a new one, which may bypass whatever is causing the load to take so long.

  • Like 5
Link to comment
Share on other sites

Hello there o/

 

Found a strange bug. This image is not displayed correctly.

 

image.png.64582666a514e496a1f4408b714fb3f8.png

 

On real hardware (Atari 65XE) and in other emulators the image is correct, without visible glitches in the form of stripes.

 

image.png.6e6ab34592c2ff727de2f93c81dcd140.png

 

Tried various versions of Altirra, including even 3.20, it reproduces.

 

04NYD19.XEX

Link to comment
Share on other sites

https://www.virtualdub.org/beta/Altirra-4.30-test14.zip
https://www.virtualdub.org/beta/Altirra-4.30-test14-src.7z

  • Added 1029 printer standard emulation.
  • 820/1025/1029 standard printer emulations now support graphics output, accurate timing, and sound modes.
  • P: CIO patch acceleration can now be interrupted with the Break key.
  • Fixed a crash issue with the File Writer when attached to a printer output.

The standard printer emulation accurate timing mode should be reasonably accurate for the printing action; it's still inaccurate for the line feed, which I need to tune against the full emulators. However, because the standard emulators don't need to run the controller firmware, they can also run much faster with accurate timing turned off. The standard emulators should emulate all of the escape handling quirks now, especially the 1029 corner cases with mixing text and graphics output on the same line.

 

The printing sound is still placeholder. I tried putting in a sound sample but it didn't go well; the problem is that strong resonance/echo effects are involved and the videos I've been able to find are too poor quality and have too much being printed to extract a good impulse sound. Might try playing around with some IIR resonators to try to synthesize a sound sample.

 

21 minutes ago, LessNick said:

Found a strange bug. This image is not displayed correctly.

On real hardware (Atari 65XE) and in other emulators the image is correct, without visible glitches in the form of stripes.

 

Tried various versions of Altirra, including even 3.20, it reproduces.

They are actually there. From an NTSC 800XL:

 

image.thumb.png.9b2cf8069fe41dcff4b99cd3fa2592e4.png

 

This is really a NTSC/PAL issue. On NTSC, this will depend upon the color pot adjustment. On PAL, these stripes will be invisible because the PAL GTIA always produces the same color for hues 1 and 15 regardless of the color pot. You should be seeing this effect in Altirra as long as you're using default color settings and have the system set to PAL; make sure the system is configured for PAL and that View > Adjust Colors > Options > Separate NTSC and PAL Settings and Use PAL Quirks are checked. This has been the default for a while, but may be off if you have settings from a really old version.

 

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

https://www.virtualdub.org/beta/Altirra-4.30-test15.zip
https://www.virtualdub.org/beta/Altirra-4.30-test15-src.7z

  • Added sound samples for 1025 and 1029 printers.
  • Printer graphics window sends focus back to display on Esc and supports touch scrolling.
  • Added Remove and Settings to device tree context menu.
  • Added Turbo D turbo tape mode support.
  • Debugger: .diskdumpsec command now takes -I to display INTERNAL characters.
  • Fixed a crash when removing devices when an accelerated CIO operation is in progress.

1025 and 1029 now make some representative sounds, particularly the 1029, thanks to rather clean audio from the atarionline.pl video. 1025 has line feed sound, but not 1029 as I couldn't get a clean enough sample yet. The pin sound is still a bit quiet, but that might have to wait for the audio pipeline to be reconfigured, as all sound sample playback is currently behind the second high-pass filter.

 

Turbo D support is currently untested, I verified that the PORTA bit is responding, but don't have a loader to test it.

 

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