Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - Doug Clark

Pages: [1] 2 3 ... 25
1
Programming / Re: stopping cpus
« on: March 02, 2025, 06:47:02 am »
Thanks again guys - Tom, Dave, Darius.

When running ACPISTAT my Ryzen 5/MSI motherboard shows no thermal information available, while the Intel i5 8th gen/HP machine does shows thermal information.  The Ryzen also doesn't support throttling or performance control; the i5 supports throttling.

I am curious Darius what ACPISTAT shows on your Ryzen.




2
Programming / Re: stopping cpus
« on: March 01, 2025, 08:52:46 pm »
Thank you everyone for your responses. 

What utility are you using to get real-time temperatures of the processors?


3
Programming / Re: stopping cpus
« on: February 28, 2025, 06:20:29 am »
1 - the /MAXCPU=1 parameter for PSD=ACPI.PSD driver in CONFIG.SYS  shuts down all processors except processor 1.   Which fixes most of my issues with Win-OS/2 programs that I have - meaning most of those programs will run correctly where they would not without this parameter.  There are still some strange problems with unusual circumstances - mostly when running Win-OS/2 install programs.  Some of those problem applications will run OK in full screen mode with multiple processors running.  Others will only run with /MAXCPU=1.

When /MAXCPU=1 is used with ACPI.PSD only processor 1 is is reported as online with DosGetProcessorStatus().
Attempting to turn on any processor with DosSetProcessorStatus()  when /MAXCPU=1 will result in a error return code of 87 from DosSetProcessorStatus().

2 - Lars - error messages.  DosSetProcessorStatus()  APPEARS to work correctly, in that it does not return an error message if a real processor number is used.  It is just that the processor either is not turned off, or it gets turned back up by something else.  I can tell this because after turning off all processors except processor 1, when I move the window of an open application around the desktop percentages show up for the "turned off" processors in the cpu meter thingy in xCenter.

I have run MPCPUMON.EXE on a second machine (HP EliteDesk with an intel cpu running AOS 5.1 with WSeB  layered on) and basically the same thing happens - percentages show up in the cpu meter for turned off processors. 

3- Dave/Darius - I am afraid to turn off power management after reading the warnings in the ACPI docs - which basically say thermals may become a problem if you mess with power settings.  I did download the ACPI sdk and look through the documentation and I didn't see any function that seemed to address turning on or off processors.  But I might have missed something.

To summarize: 

using the /MAXCPU=1  parameter with PSD=ACPI.PSD fixes most of what ale's me with problem programs. But it requires a reboot to switch back to using multiple processors.  Reboot times with my Ryzen 5 are SLOW.

I suspect, like Darius, that either the processors aren't getting turned off, or something is turning them back on.  This appears to happen on both Ryzen and Intel processors. One using SNAP and the other using Panaroma.

While the SMP reference material from the toolkit say that DOS and Win-OS/2 programs are not affected by SMP, I know from experience that is not true.  The application itself might be single threaded only, but something in the Win-OS/2 system or PM are multithreaded.

Thanks for all the help guys.

4
Programming / Re: stopping cpus
« on: February 27, 2025, 05:40:49 pm »
Jochen - a similar concept, although for perhaps different reasons.  Quoting from a part of the SMP reference document:

--------------------------------------
...

These compatibility requirements apply only to multithreaded applications, and therefore do not apply to DOS and WINOS2 applications. However, you are strongly encouraged to write 32-bit multithreaded applications for better performance and portability on OS/2 Warp Server for SMP.

Given that there is the possibility of some set of applications which may use one of these techniques, OS/2 Warp Server for SMP provides a mechanism whereby these multithreaded applications can execute in UP mode. Only one thread of that process would be allowed to execute at any given time. That thread could execute on any one of the processors. A utility is used to mark the EXE file as uniprocessor only. OS/2 forces the process to run in the uniprocessor mode when the loader detects that the EXE file has been marked as uniprocessor only. See View and Set Program Type For Executable File (MARKEXE).
--------------------------

Using MARKEXE in OS/2 looks to be somewhat similar to setting processor affinity in Windows.  However I question whether whether OS/2 is honoring the uniprocessor setting in the executable.

I do know that using the /MAXCPU=1 parameter with PSD=ACPI will allow some Win-OS/2 programs to run correctly that will not run without the /MAXCPU=1 setting. So perhaps that parameter is doing more than addressing "one of these techniques" the above quote is referencing. 

The "one of these techniques" from the quote are basically some CPU instructions and techniques that wont work with multiple CPUs.  The processor affinity in windows seems to be aimed at performance issues rather than compatibility issues - some programs run faster with fewer processors.

5
Programming / Re: stopping cpus
« on: February 27, 2025, 05:01:17 pm »
There are some OS/2 programs, and some Win-OS/2 programs, that do not run well, or at all, when multiple CPUs are enabled, but will run when the system is limited to using a single processor.  The AOS installer is apparently one of those:  the installer program turns off multiple CPUs when it starts.

You can limit the number of CPUs, or processors, used by AOS with the /MAXCPU=1  parameter to the PSD=ACPI.PSD line in CONFIG.SYS.  However this must be done on boot up and that limitation, or setting, remains in effect until another reboot.  I believe this is what the AOS installer does.

It would be nice to be able to turn off and turn on processors as needed.  That way I could turn off all the processors except the main one when running one of those programs, and turn the additional processors back on when the program is done running - without rebooting.  Which is what DosSetProcessorStatus() is supposed to do.

I should add here that I am testing this on a system with a Ryzen 5 processor and the compatibility/legacy support enabled.  I have not tried this on a system with an Intel processor yet.

I should also add that DosSetProcessorStatus() and DosGetProcessorStatus() appear to work, in that they return an error code if I try to set or get the status of a processor that doesn't exist - like processor 7 on my 6 processor Ryzen.  But they don't actually turn off any processors, according to the CPU meter.




 

6
Programming / Stopping CPUs
« on: February 27, 2025, 04:44:42 am »
I am trying to stop/disable cpus programmatically.  I am calling


DosSetProcessorStatus(cpuNum,0);

Which returns with an error message.  However the cpu is not turned off or stopped.  Is there something else I have to do in addition to calling this function, or should I be calling another function?  Or is it even possible to stop one or more cpus after boot up.

Thanks in advance

7
Applications / Re: hobbesarchive.com FTP
« on: February 14, 2025, 03:59:20 pm »
Perfect!

Thanks for pointing out the obvious - which I probably would never noticed on my own.

8
Applications / Re: hobbesarchive.com FTP
« on: February 13, 2025, 04:34:30 pm »
So how does one upload to Hobbes?

I just downloaded cadaver and tried to connect to hobbesarchive.com and was not successful.

9
Multimedia / Re: uniaud.dll test
« on: February 05, 2025, 05:47:13 am »
Thanks

10
Multimedia / Re: uniaud.dll test
« on: February 04, 2025, 06:36:32 am »
Ko,

How do we use the setting KAI_AUTOMODE=UNIAUD?   Is that an environment variable?

11
Hardware / Re: USBCOM big problem
« on: January 22, 2025, 01:23:38 am »
Igor,

I am using an USB-RS232 adapter that uses the PL2303 chip with the AOS  USBCOM.SYS driver.  You can find the adapter on Amazon by searching for
   BENFEI USB to Serial Adapter, USB to RS-232 Male (9-pin) DB9 Serial Cable
It costs about $10

That adapter works fine with my own, very simple, program that talks to a IBM 6094-20 lighted keyboard.  The program sends and receives data through the COM port, however the device does not use the RS232 control signals DTR, DSR, CTS, RTS

That same adapter does not work when trying to connect the DOS program LapLink through a COM port assigned to the adapter to another computer.  LapLink reports that the COM port does not exist, while the OS/2 MODE command says that it does.  However LapLink also refuses to recognize any COM port on my Quatech 8 port serial card - I suspect that problem is related to the interrupts LapLink expects to be with a specific COM port and the fact that the 8 port serial card is a PCI card and the interrupts that are assigned at boot up do not match the standard COM1-COM4 interrupts.

I also have a graphics tablet (ACECAD) which will not work when connected to the USB-RS232 adapter, or when it is connected to a port on the QuaTech 8 port serial card - but will work when connected to a serial port on the motherboard.  I am guessing it is the same interrupt issue.

So if you are getting an error message from OS/2 when you issue a MODE command in a Command Prompt window on a COM port provided by the USB-RS232 adapter, then I am guessing you have an issue between the adapter and the driver.  It looks like you are using COM5 for your USB-RS232 adapter, so the command would be MODE COM5.  If the MODE command returns OK but your application says the COM port does not exist then you have a different issue.   I tried various combinations of switches/parameters with USBCOM.SYS and no combination would make LapLink work with the USB-RS232 adapter.  (I tried LapLink simply because I know it does all sorts of interesting things with a COM port and it was handy.)

If this is possible for you, have you thought about trying to connect to a COM port on your motherboard - assuming you are using a desktop computer and the motherboard has a COM port header?

12
Applications / Re: OO v3.18
« on: January 17, 2025, 12:49:42 am »
TeLLie,

The log file message you posted makes it look like somehow you are executing something from OO v 4 instead of from version 3.  Either that or you perhaps are reading the wrong log file?


13
Comments, Suggestions & Questions / Re: OS/2 Licensing
« on: December 31, 2024, 02:33:06 pm »

If someone wants to run a older copy of OS/2 it is pretty simple, and cheap, to buy a copy from ebay.  This avoids any potential legal issues.

Finding a used copy of eCS will probably be harder.  From the viewpoint of running Win-OS/2 I think there is very little advantage to eCS over a earlier version of AOS - meaning what will run in eCS v 2.x will probably also run in AOS version 5.0  It is when you get to later versions of AOS that I have seen some Win-OS/2 issues start to appear.  And most of those Win-OS/2 issues that I have experienced can be fixed by running limited to one CPU.

Whether those issues would appear in eCS or AOS running in a virtual machine I don't know.  It would be interesting to hear from someone that is running Win-OS/2 in either eCS or AOS in a virtual machine. 


14
Hardware / Re: Report Your Working ArcaOS-OS2 Hardware Month
« on: November 23, 2024, 12:22:08 am »
Model F Labs makes reproduction Model F keyboards. If you have ever typed on IBM PC, XT, or early AT you probably remember the sound and feel of the keyboard; those all used Model F keyboards. IBM AT computers, from 1985 onwards shipped with the then new Model M keyboard which was cheaper to manufacture and had a revised key layout that established to modern keyboard standard used today.

This particular keyboard is a Model F Labs F104 Classic. It is basically a USB connected keyboard that uses the open source QMK programmable keyboard controller with Model F internals in a metal case with the looks and key layout of the IBM Model M keyboard. The pic shows an IBM Model M made in 1993 and a new Model F Labs F104 for comparison; the F104 is on top. The two keyboards are the exact same size; it is the angle of the pic that makes the F104 look smaller. The two main visual differences between the new F104 and the Model M, other than color, is there is no label in the upper left, and what is between the CTRL and ALT keys on the left and right side. On the Model M the case fills in that space, on the F104 a key is inserted in that space; those 2 additional keys are mapped to the Windows key and Windows Menu key by default. Hence the name F104 instead of F102.

The F104 Classic comes in a variety of case and key colors
https://www.modelfkeyboards.com/product/classic-f104-model-f-keyboard
My F104 in the pic has an industrial grey case with standard pearl keyset plus mopar blue keys and a red escape key.

In addition to the two extra keys between ALT and CTRL on each side, you can also split any of the long keys into two keys - the long keys being: backspace, left shift, right shift, enter, keypad plus, keypad enter, keypad zero or space bar. To utilize those extra keys in OS/2 you would have to map the extra key(s) to a key that OS/2 recognizes such as F13 - F24, or assign a keyboard macro to the key that generates a key press combination that OS/2 recognizes.
My F104 Classic in the picture has the short spacebar option which allows for an extra key in between the right ALT and right CTRL keys - the blue key in the pic - which I have mapped to F24.


You can use the open source graphical keyboard manager application called Vial, which runs on Windows, Linux and Mac, to create keyboard macros or to remap keys. Or masochists can achieve the same thing by modifying the keyboard controller firmware and reflashing the controller. If you pick a standard layout and you don t have any "extra" keys you probably won t need to map the keys.

The main Vial screen is split between a top half that shows the current key map of your keyboard, and a bottom screen that shows available keys that can be mapped - you may have to select one of the tabs on the bottom screen to see the key you want. You remap a key by clicking on the key you want to remap in the top half, and then clicking on the key you want to assign in the bottom half. If you don t see the key you want in the bottom half you can double click the key on the top half and type the key code you want to map to that key.You get no feed back that the change has taken place other than the "current" key selection changing in the top half to some other key. If you want to map to a key that does not appear in the layout in the bottom half you can either click on one of the tabs in the bottom half to see additional keys, or you can double click on the key in the top half and type the key code in the dialog box.   The possible key codes are shown in

https://docs.qmk.fm/keycodes_basic

Be aware that OS/2 does not recognize all the key codes in the list. The version of OS/2 and the version of the USB keyboard driver will determine which keys are recognized. You can use the utility keyscanr.zip from Hobbes to show the scan codes of keys that your version of OS/2 does recognize.

You can see in the Vial layout pic that I mapped the blue key between the right ALT and CTRL to F24.

In OS/2 you have 3 ways of utilizing keys mapped in your keyboard: 1) use an application that recognizes the key, 2) use the ôKeyboard - OEM Keysö object in the System Setup folder to assign actions to the left and right Windows keys and the Windows Menu key, 3) use the Hotkeys feature of ArcaDesktop or XWorkplace to assign any key that ArcaDesktop/xWorkplace recognizes to a WPS object. You assign a key on the Icons page of the object s Properties notebook - for xWorkplace you must enable the hotkey feature first.

The F104 Classic, like many gaming keyboards that use the QMK controller, can have issues with some KVMs. My F104 works correctly with my Trenda NetIO TK-409K KVM, but does not work correctly with my IOGear Dual Display KVMP switch.

The issue for the IOGear KVMP is if the F104 is plugged into the console keyboard port the KVMP will recognize hot keys to switch between computers, but no other key presses - in other words you cannot type on it. If the keyboard is plugged in to a switchable USB port on the KVMP it will work correctly, except that hot key sequences for switching between computers or programming the KVMP will not work. It appears it may be possible to modify and reflash the firmware for the QMK controller to fix this problem. Or you can plug two keyboards into the KVMP: one in the console keyboard for entering hotkey sequences, and the main keyboard in a switchable USB port. I chose the two keyboard option.

For my second keyboard I chose the programmable YMDK YMD09 nine key keypad and created macros for the hot key sequences the IOGear KVMP wants to switch between computers. There are a number of programmable keypads out there but most of them require you download an executable from their website, and some of them warn you that if you are worried about viruses don t buy their product. A refreshing bit of candor. The YMDK uses the QMK controller and the third party keyboard management application VIA to program macros and key layouts. Via is a graphical program similar to Vial - while is it not open source it is widely used and owned by a third party.


15
Hardware / Re: Report Your Working ArcaOS-OS2 Hardware Month
« on: November 16, 2024, 06:43:59 am »
Martin,

QuaTech 8 port PCI serial port adapter.  QuaTech made OS/2 drivers for this card, and it looks like all their serial port cards.  QuaTech supplies both an OS2 driver and a virtual driver for DOS/Win-OS/2

 It is sometimes marketed by others, such as HP.

There is a special connector on the card which connects to an octopus type cable assembly with the DB9 connectors at the end.  This is a half-height card.

I have this running in a PCIe slot using a StarTech PEX1PCI1 PCI express to PCI adapter. 

I have two StarTech PCIe to PCI adapters in the same machine: one running the QuaTech PCI serial port card and one running an Intel PCI Network card.

Pages: [1] 2 3 ... 25