Jump to content
IGNORED

Altirra 4.20 released


phaeron

Recommended Posts

2 hours ago, LarsImNetz said:

Hi phaeron,

 

I add a /startuplog and now with Altirra 4.20 I get a command-line-error: cannot open file "C:/MinGW/msys/1.0/startuplog

 

With Altirra 4.10 I get a startuplog within the same MinGW shell.

 

Unfortunately, I need the command line from 4.20 to see what's going on. Try using Task Manager instead -- switch to the Detail tab and enable the Command Line column by right-clicking on the column header. The issue seems specific to bad command-line translation being done by the MinGW shell, which is why you're not seeing it in Linux with Wine.

 

1 hour ago, scotty said:

SWEET!!!  Thank you for this.  I had the "1000C" which was the earlier blue model were they functionally identical?  Also, I will download this later today.  Is there a bios needed or is it embedded?

Thank you again.

Not sure about the 1000C vs the 1000E, but you don't need any firmware images for this, no -- it's an HLE emulation so it emulates the behavior of the modem instead of the microcontroller code.

  • Like 1
Link to comment
Share on other sites

Hi phaeron,

I can't believe it, so I send you images of screen shots from the task manager. FYI: The Windows 10 is in german.

Altirra 4.20

mingw-altirra-4.20-cmdline.thumb.png.6fa0568464fed6f21c9af8e043052d43.png

Sorry, the screen is not wide enough but most of the parameters are there.

 

within Altirra 4.10

 

mingw-altirra-4.10-cmdline.thumb.png.baedf901031374eafbbf49e5dd444ce2.png

looks equal, but this works as expected. Ok a command-line error message opens on Altirra 4.10 "Cannot open file "C:": Access denied" but I could ignore this and the Altirra starts the program as expected.

 

When I add a colon to each parameter it works on Altirra 4.20.

mingw-altirra-4.20-cmdline-with-colon.thumb.png.ac95ab66c3f1ecba3c9019bd56df23fa.png

 

debug: $(INCLUDES) $(DEMO_OBJ_FILES) demo_disk
	$(ALTIRRA) \
	/startuplog: \
	/portable: \
	/debug: \
	/debugcmd: ".sourcemode on" \
	/debugcmd: ".loadsym NAROWFNT.lst" \
	/debugcmd: ".loadsym NAROWFNT.lab" \
	/debugcmd: "bp 4003" \
	/disk: "start-demos.atr"

 

I think I can live with this 'colon' at the end of each parameter.

 

I hope that helps

 

Regards

Lars

 

 

Link to comment
Share on other sites

I really like Altirra, but I have lots of issues with some of the keyboard mapping.  A big part of the issue is that I use Altirra 99% of the time with my laptop, and laptops in general have "unusual" keyboard layouts.  Right now, I'm trying to write a Basic program with Altirra, and the cursor keys are giving me fits.  I have the HELP file with keyboard mapping on my desktop, but I have no luck getting the cursor keys to work as shown.  Has anyone else run into this?  And any suggestions?  (I use the laptop on my lap, so it is not feasible, I think, to use a separate keyboard.)

 

I've tried changing the settings under Configure System, and I can't get the cursor keys to do anything.  I'm using Altirra 4.10 and a Win11 (Dell) laptop.  What I'd really like is the PC arrow keys to do the Atari cursor functions (either with or without CTRL being pressed.)  Any help would be greatly appreciated!

 

 

Link to comment
Share on other sites

1 hour ago, baktra said:

A dumb question, is the joystick emulation set not to be in conflict with the keyboard layout?

Not  at all.  I have never played a game on this system, and I didn't know such controls existed.  That must be the issue -- can you tell me where to find those settings?  But in looking through the HELP just now, I just discovered that the ALT key (apparently) overrides the other settings, so pressing ALT + Arrow makes it work.  That's outstanding!  Thanks for the input!!!

Link to comment
Share on other sites

On 1/22/2024 at 2:13 PM, scotty said:

SWEET!!!  Thank you for this.  I had the "1000C" which was the earlier blue model were they functionally identical? 

 

Nope they weren't. 

 

If you were running a BBS on the 1000e, the user could not be disconnected because there was apparently no software control of DTR on this modem.  I found out the hard way.  The way I fixed this was to attach a relay to the joystick port and use a poke in the basic BBS program to pull in the relay and disconnect the phone line.

  • Like 2
Link to comment
Share on other sites

12 hours ago, LarsImNetz said:

Hi phaeron,

I can't believe it, so I send you images of screen shots from the task manager. FYI: The Windows 10 is in german.

Altirra 4.20

mingw-altirra-4.20-cmdline.thumb.png.6fa0568464fed6f21c9af8e043052d43.png

Sorry, the screen is not wide enough but most of the parameters are there.

 

within Altirra 4.10

 

mingw-altirra-4.10-cmdline.thumb.png.baedf901031374eafbbf49e5dd444ce2.png

looks equal, but this works as expected. Ok a command-line error message opens on Altirra 4.10 "Cannot open file "C:": Access denied" but I could ignore this and the Altirra starts the program as expected.

 

When I add a colon to each parameter it works on Altirra 4.20.

mingw-altirra-4.20-cmdline-with-colon.thumb.png.ac95ab66c3f1ecba3c9019bd56df23fa.png

 

What you have in those screenshots is pretty broken, the MinGW shell is essentially mangling any argument using Windows-style command line switches because it thinks they are absolute Unix-style paths -- which makes it difficult to use any program that confirms to the standard style of argument parsing for the platform.

 

The colon hack will work, although it's not something I'd intentionally designed. What I would recommend is putting the command into a .bat file and invoking cmd.exe to launch it, so the shell can't corrupt the argument list.

Link to comment
Share on other sites

1 hour ago, Larry said:

Not  at all.  I have never played a game on this system, and I didn't know such controls existed.  That must be the issue -- can you tell me where to find those settings?  But in looking through the HELP just now, I just discovered that the ALT key (apparently) overrides the other settings, so pressing ALT + Arrow makes it work.  That's outstanding!  Thanks for the input!!!

To deactivate the joystick emulation, go to the "Input" menu, select the "Port 1" submenu. In the submenu, select the "None" item. You might need to check also the "Port 2" submenu.

 

  • Thanks 1
Link to comment
Share on other sites

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

  • Fixed crash with some error dialogs.
  • Added support for forcing the program to performance or efficiency cores.
  • Added tool in the keyboard customization and shortcut dialogs to scan for global hotkeys.

The performance/efficiency core selection will only work if you have a CPU with hybrid CPU cores. YMMV; it has some serious stuttering problems on my x64 device but no issues on the ARM64. It is the same as forcing CPU affinity, as the CPU sets API turned out to be ineffective (as in, it did absolutely nothing).

 

Rant about global hotkeys: It seems that almost any program these days feels entitled to commandeer random global keyboard shortcuts without warning, messing up other programs. The hall of shame includes: Macrium Reflect (Ctrl+Alt+M), Alienware Command Center (Ctrl+Shift+Y), and the winner, Intel Arc Control Panel with the ridiculous and unchangeable Alt+I and Alt+O keys. Some of these programs also fail to unregister global hotkeys even if you've disabled them in the UI, which leaves the corresponding key shortcuts simply inexplicably broken. There is also no way built into Windows to tell that this is happening. So now Altirra can tell you if another program is doing this.

 

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

34 minutes ago, Mclaneinc said:

How can I see the global hotkey checker in action..I'm probably looking in the wrong place or misconstrued what it is / does..

Do not be afraid of exploring the menus and dialogs, they do not bite and they do not break things.

Main Menu > Tools >  Keyboard ShortCuts >> Tools > Scan for Blocked keys

image.thumb.png.b172f8fa95efd26591c8c573df225081.png

 

Link to comment
Share on other sites

1 hour ago, baktra said:

image.thumb.png.b172f8fa95efd26591c8c573df225081.png

 

This is a good example, as I happen to know some of these keys -- they are registered by the Intel Graphics Command Center. Ctrl+Alt+F8 in particular is annoying because it resets the graphics driver, which includes the monitor configuration, and on some systems it can only be turned off by disabling an Intel service.

 

Alt+Space is an interesting one, as that's a default Windows system shortcut for opening the system menu on a window. There are a series of keyboard shortcuts that Windows itself prereserves, such as Alt+Tab, and Altirra has a predefined list of these to skip when scanning. I didn't see Alt+Space on my system, but if it's a false positive I can add it to the reserved list.

 

There are some optional system keyboard shortcuts that will not show up in this scan, notably the keyboard shortcuts to switch languages. They are handled through some other mechanism that doesn't coordinate with RegisterHotKey(), so they aren't detectable that way. The only other way would be to YOLO inject keys and see if they come through, but that's not a great idea given that it would activate shortcuts like Ctrl+Alt+F8.

 

Link to comment
Share on other sites

15 minutes ago, phaeron said:

Alt+Space is an interesting one, as that's a default Windows system shortcut for opening the system menu on a window. There are a series of keyboard shortcuts that Windows itself prereserves, such as Alt+Tab, and Altirra has a predefined list of these to skip when scanning. I didn't see Alt+Space on my system, but if it's a false positive I can add it to the reserved list.

I just ran this on my system (Windows 11 Pro 23H2) and it said "None found".

Link to comment
Share on other sites

To explain the ALT-SPACE on my system, I have the PowerToys installed, and this shortcut opens a search bar. When disabled in the PowerToys control panels, the combination opens the window menu as expected.

Link to comment
Share on other sites

23 hours ago, bf2k+ said:

Nope they weren't. 

 

If you were running a BBS on the 1000e, the user could not be disconnected because there was apparently no software control of DTR on this modem.  I found out the hard way.  The way I fixed this was to attach a relay to the joystick port and use a poke in the basic BBS program to pull in the relay and disconnect the phone line.

So in theory, the C was the better model, I guess.   I had the C and ran a BBS back in the day with no problems.  My best friend of 40 years had the E, but never ran a BBS so he never said anything about it.   What was the reason for the change from the C to the E?  Cost cutting?  Although the E was in a bigger case....

 

 

Link to comment
Share on other sites

1 hour ago, scotty said:

So in theory, the C was the better model, I guess.   I had the C and ran a BBS back in the day with no problems.  My best friend of 40 years had the E, but never ran a BBS so he never said anything about it.   What was the reason for the change from the C to the E?  Cost cutting?  Although the E was in a bigger case....

 

 

I think it was... definitely if you were running a BBS... no issues with the C.

 

I remember raising hell with MPP about this, to no avail.  But soon after I had Hayes and USR modems.

  • Like 1
Link to comment
Share on other sites

Oh lord....  I had the 1000C, then some generic 1200, I wanna say the DAK Electronics modem, connected to an 850.   I think from there it was the 2400 USR Courier, and the last one I ever bought was the 56K HST Dual Standard External.

 

Seems to me there was a USR 28.8 that was a free upgrade to 33.6 in there somewhere too, but way to many years and too many brain cells ago.   LOL

 

Link to comment
Share on other sites

On 1/20/2024 at 8:10 AM, phaeron said:

CPU: Fixed BRK instruction pushing flags to wrong page in 65C816 mode with relocated stack.

It somehow still does not work correctly, in test2 and test3 I can observe the same behaviour as before, i.e. when BRK is executed, the return address gets written to the actual stack (in my case: $BFF1-$BFF3), but the corresponding status register contents ends up at $01F0.

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