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 - Dave Yeo

Pages: [1] 2 3 ... 350
1
Programming / Re: Compile a Game Weekend
« on: March 06, 2025, 12:06:34 am »
Hi Martin, I got most of those warnings excepting the resource busy ones. They're due to our autotools being newer then expected. Not sure about the resource busy ones.
While sh should work even though it is not in /bin, it doesn't lately, so copy sh.exe to /bin or creating a symlink might be good enough.

2
Networking / Re: inetcfg.ini - window size, but why this result?
« on: March 04, 2025, 12:53:04 am »
Only entries left into inetcfg.ini since upgrading to AOs 5.1.1
Other optimized entries removed (when was under 5.0.x)

keepalive 800
realslow 30
lingertime 240

arpkillc 3600
arpkilli 300
timestmp 1
synattack 1
sack 1

After backing up your inetcfg.ini, run "inetcfg -g all" to bring them back. After optimizing, run "inetcfg -s all"
Seems you only need  to have your optimized settings in inetcfg.ini.

3
Seems the simplest starting point is found at, Computer-->Help Centre-->Information-->Program Development-->Rexx Information which gives a nice introduction including a Hello.cmd in the Getting Started in Rexx section.
Along side is the Rexx Scripting Language folder with more advanced stuff.

4
Programming / Re: An XWorkplace CPU Temperature Widget for AMD CPUs
« on: March 02, 2025, 06:31:40 pm »
The source for the temperature widget I use is at http://os2.snc.ru/pub/SystemLoad/SL-src-20200302.zip. It does not use ACPI, which doesn't support this Intel box, but rather seems to directly read the temperature sensors on the CPU. You have to look at rdmsr.sys source.
Used to be and perhaps still is that a lot of these sensors were on the smbus and each chip set would need a driver.

5
Programming / Re: stopping cpus
« on: March 02, 2025, 01:38:01 am »
Thank you everyone for your responses. 

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

I'm using an xcentre widget from Digi,
Code: [Select]
W:\SYS\apps\xwps\plugins\xcenter>bldlevel cput.dll
Build Level Display Facility Version 6.12.675 Sep 25 2001
(C) Copyright IBM Corporation 1993-2001
Signature:       @#Andrey Vasilkin:1.1.1#@##1## 2017-05-04 14:01:48      DIGI::r
u:RUS:::@@XCenter CPU temperature plugin DLL
Vendor:          Andrey Vasilkin
Revision:        1.01.1
Date/Time:       2017-05-04 14:01:48
Build Machine:   DIGI
Language Code:   ru
Country Code:    RUS
File Version:    1.1
Description:     XCenter CPU temperature plugin DLL

Forget the package it is in now and it only supports Intel CPU's. Arca Noae advises against using it but other then problems with an old Warpin package screwing up config.sys, had no problems.
ACPI might give you the temperatures, run acpistat. The tail here,
Code: [Select]
This system does not support CPU Performance Control via ACPI.

This system does not support CPU Throttling.

Thermal information:
  No Thermal information is available for this computer

No AC status is available for this computer

Power Manager is Enabled

Of course Linux seems to do most of the above :) If you have thermal information available, then there's an xcentre widget, CPU Temperature. Otherwise out of luck.

6
Programming / Re: Compile a Game Weekend
« on: March 01, 2025, 02:44:55 am »
Sorry, should be autoreconf.

7
Programming / Re: Compile a Game Weekend
« on: March 01, 2025, 12:48:43 am »
Best to run autoreconf,
Code: [Select]
sh c:/usr/bin/autoreconf -sfithen
Code: [Select]
configure --prefix=H:/tmp/barrage LDFLAGS=-Zomf LIBS=-lcxthen
Code: [Select]
make 2>&1 | tee build.logthen
Code: [Select]
make install
Adjust the prefix how you like.
This results in a barrage.exe that crashes,
Code: [Select]
H:\tmp\barrage\bin>barrage.exe
BARRAGE v1.0.7
Copyright 2003-2022 Michael Speck (http://lgames.sf.net)
Released under GNU GPL
---
main loop delay: 0 ms
Display resolution: 0 x 0
Available modes: 1920 x 1200,
Killed by SIGSEGV
pid=0x1665 ppid=0x0064 tid=0x0001 slot=0x008b pri=0x0200 mc=0x0001 ps=0x0010
H:\TMP\BARRAGE\BIN\BARRAGE.EXE
LIBCN0 ffffffff:ffffffff
cs:eip=0000:200304e8      ss:esp=0000:00000401      ebp=00000053
 ds=0000      es=0000      fs=06000044      gs=0000     efl=00000000
eax=0025fd78 ebx=1ffc9d7c ecx=0025fd8c edx=0025fdb0 edi=00000000 esi=0025ff8c
Creating 1665_01.TRP
Moved 1665_01.TRP to W:\var\log\app\67c1d976-1665_01-BARRAGE-exceptq.txt

Tried a couple of things that didn't help, doesn't seem to like current libc.
Edit: it uses SDL, also I don't have SDL_mixer or its development files, perhaps creating the crash
Code: [Select]
checking for sdl-config... /@unixroot/usr/bin/sdl-config
checking for SDL - version >= 1.2.0... yes
checking for main in -lSDL_mixer... no
lib SDL mixer missing: audio disabled

8
Programming / Re: stopping cpus
« on: February 28, 2025, 05:31:13 pm »
Dave, everyone...
...
but perhaps the ACPI implementation on our platform just can't provide the sort of seamless power transition experience we normally see on other platforms?

Here, with my 7th gen I5, and last older one, the power transition experience is very smooth. When more cores are required, they come online quick.
As for other platforms. With Linux things work different. Rather then cores being taken offline and back online, the cores are throttled. At idle they run at 800Mhz and can step up all the way to the boost speed of 3.8Ghz. This happens fast and smoothly. This results in slightly lower temps at idle and hotter temps at full speed with temps over 80C, which is a bit scary.
I don't think on OS/2 that the boost speed ever happens.

9
Programming / Re: stopping cpus
« on: February 28, 2025, 08:40:30 am »
Yes, I tried a Piledriver AMD box and had the same problem. David A. said there was a period where the BIOS's C1 (I think it was C1) was too aggressive at the power savings and caused the problem. Turning off the PowerMan was the workaround I found.

10
Programming / Re: stopping cpus
« on: February 28, 2025, 07:03:37 am »
Testing turning off PowerMan on this i5-7500, at idle, all 4 cores came online and CPU temperature went from 27C to about 47C, typing this it has gone to 55C. Turning off cores 2-4 in MPCPUMON, temperature has dropped to 38C. (now 32C)
When compiling with 5 jobs, the temperature goes up to close to 70C even with PowerMan enabled here.
My conclusion is that turning off PowerMan and all but core #1 shouldn't stress your system that much, especially if it is a tower or such with good cooling unlike this mini-pc. Just remember to turn PowerMan back on afterwards.
Hmm, now that I've turned PowerMan back on and still typing here, temp is 33-45C with the higher number when more cores are online. ACPI did turn the cores back on when I re-enabled PowerMan.

Doug, does your CPU have SMT I think it is called, similar to Intels Hyper-threading? If so maybe turning that off would fix your DOS problems.

11
Programming / Re: stopping cpus
« on: February 28, 2025, 05:12:00 am »
Happy with what I have, combination works for me, but it did require me to disable the ACPI PowerManager.

So what I'm curious about Doug is what that specific error message is that you are seeing? Could it be that DosSetProcessorStatus API was patched to sync it up with the ACPI daemon's logic which is driven by the PowerManager??? That would be fancy, although I doubt that is the case.

Food for thought - I am actually trying to understand the whole ACPI system b/c I'd like to create a little utility that tells us a lot more about what the current hardware configuration, and specifically CPU runtime readings are like, we are talking the Cx core states, the actual frequency different cores are running, heck ACPI is even supposed to give you the ability to see the CPU L1/2/3 cache hit ratios, etc....cool stuff!

Don't forget that you can disable/enable PowerMan by changing one line in \mptn\etc\acpid.cfg,
Code: [Select]
[PowerMan]

; Enable: 1=enabled, 0=disabled, default=1
Enable = 1

And the ConfigCheckInterval can be changed from the default of 10 secs if you want a faster result from changing the enabled line.
Personally, my little computer will get too hot with PowerMan disabled though disabling for a while may be acceptable.
Also there is the ACPI sdk, which I've never looked at, IIRC it can be installed from the acpi.wpi.
Edit fix typos

12
You're correct,
rexxtime.cmd make clean
...
Code: [Select]
Command: "make clean", started at 23:06:44, ended at 23:06:44. Elapsed: 0.50s.
Interesting, I thought that invoking as time.cmd instead of time would run the script.

13
Code snippet #2: timed command

Rationale: one good thing about REXX is that it lets you use system commands in your code, which makes integrating both very easy. It is sometimes interesting to know how long some commands take to complete, so why not use some simple REXX to execute them and find out?

This REXX code will take its execution parameters as a command to be executed as is by the system shell, will report the time elapsed, and pass along its exit (return) code:

Code: [Select]
/*
  Timed Command: executes its invoking parameters as an
  external system command, and tells how long it took
*/
parse arg command

/* Depending on command output, this may go off-screen > repeat at the end */
start = time()
say 'Starting "'||command||'" at '||start
call time 'E'  /* start timer */

/* Single literals execute as commands */
'@Echo Off'   
command       
cmdrc = rc     /* save return code */

say 'Command: "'||command||'", '||,
    'started at '||start||', ended at '||time()||'. '||,
    'Elapsed: '||format(time('E'),,2)||'s.'
if cmdrc <> 0 then /* simple warning */
  say 'Non-zero exit code (error?): '||cmdrc

exit cmdrc /* RC is passed along regardless of value */

Thanks for the better formatting. I tried running the above snippet after saving it as time.cmd and got,
Code: [Select]
K:\work\dooble\obj>time.cmd make clean
SYS1044: The system cannot accept the time entered.

Enter the new time:

Same with quoting the make clean.

14
These would be more readable by using the code markup, square bracket code square bracket, same to close except /code.
Code: [Select]
/*
  Timed Command: executes its invoking parameters as an
  external system command, and tells how long it took
*/
parse arg command

/* Depending on command output, this may go off-screen > repeat at the end */
start = time()
say 'Starting "'||command||'" at '||start
call time 'E'  /* start timer */

/* Single literals execute as commands */
'@Echo Off'   
command       
cmdrc = rc     /* save return code */

say 'Command: "'||command||'", '||,
    'started at '||start||', ended at '||time()||'. '||,
    'Elapsed: '||format(time('E'),,2)||'s.'
if cmdrc <> 0 then /* simple warning */
  say 'Non-zero exit code (error?): '||cmdrc

exit cmdrc /* RC is passed along regardless of value */

Thanks for the code.

15
Applications / Re: LarsenCommander - new test version
« on: February 26, 2025, 05:40:15 pm »
There's also https://github.com/OS2World/DRV-JFS-GPL which is the 1st IBM release of the GPL code and contains the OS/2 branch. Likely OpenJFS is based on this.

Pages: [1] 2 3 ... 350