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 - Dariusz Piatkowski

Pages: 1 ... 33 34 [35] 36 37 ... 89
511
Programming / MAKEFILES suck!!!
« on: November 25, 2020, 04:51:23 am »
...alright, maybe not that badly, I have used them for much smaller projects in the past and they were great, but I'm attempting to compile the PUMonitor utility here and that provided makefile doesn't work with my VAC 3.6.5 install.

So help me out please, my eyeballs are red from reading about NMAKE32 (as opposed to NMAKE), but clearly I'm still confused...LOL!  :-\

Here is what I have:

1) structure of the project source files
Code: [Select]
Directory of G:\code\source\os2\pumonitor\src

11-24-20  9:25a         <DIR>      0 ----  .
 8-25-18  5:42p         <DIR>    369 ----  ..
 2-19-02  1:13p           302      0 a---  build.opt
 8-25-18  5:42p         <DIR>      0 ----  include
 2-19-02  1:13p           105      0 a---  library.rsp
11-23-20 11:50p         2,151     35 a---  makefile
 8-25-18  5:42p         <DIR>      0 ----  obj
11-24-20 10:24p         2,330     35 a---  pumonitor.mak
 8-25-18  5:42p         <DIR>      0 ----  source

Basically the *.c and *.cpp is all in source, *.h and *.hpp in include, and the remaining *.ico, *.rc and *.lib files are in source.

2) 'makefile' is the original makefile distributed with the project source, but despite the fact that it reads like it's meant to work with VAC, it doesn't work with my 3.6.5 setup here

3) 'pumonitor.mak' is my attempt at converting the project sources and the build process as I understand it to be structured in the original 'makefile' into a VAC 3.6.5 version

Sooo...having said that, when attempting to process with NMAKE32 I get the following error:

Code: [Select]
MAK3035: Do not know how to make target 'cell.cpp'.

Now this part is really confusing for me, because if I force the full path for the source files in the target, all works fine, here is the section we are talking about:

Code: [Select]
cell.obj    : cell.cpp .\include\cell.h .\include\cvars.h .\include\util.h

...substituting with

Code: [Select]
cell.obj    : .\source\cell.cpp .\include\cell.h .\include\cvars.h .\include\util.h

...now allows me to pass that test but still fails with the following:

Code: [Select]
MAK3035: Do not know how to make target 'cell.obj'.

...which of course can be addressed if I provide an explicit command, such as:
Code: [Select]
$(CC) /c /Fo$@  $<

...then compiles, although it still producs a pile of errors:

Code: [Select]
...
icc.exe /c /Focell.obj .\source\cell.cpp
IBM* C and C++ Compilers for OS/2*, AIX* and for Windows NT**, Version 3.6
(C) Copyright IBM Corp. 1991, 1997   All Rights Reserved.
* registered trademarks of IBM Corp., ** registered trademark of Microsoft Corp.

.\source\cell.cpp(19:10) : error EDC3008: Source file <cell.h> cannot be opened.
.\source\cell.cpp(20:10) : error EDC3008: Source file <cvars.h> cannot be opened.
...

All of this begs the question: why isn't my Inference Rule working? It clearly spells out where to find all the *.h and *.hpp files....so what gives?

Here is the Inference Rule section in my makefile:

Code: [Select]
# The Make utility looks in the directory specified by frompath for files with the fromext extension.
# It executes the commands to build files with the toext extension in the directory specified by topath.
# {frompath}.fromext{topath}.toext
# commands
# :

{.\source}.c{.\obj}.obj:
    $(CC) /c /Fo$@  $<
   
{.\source}.cpp{.\obj}.obj:
    $(CC) /c /Fo$@  $<
   
{.\source}.lib{.\obj}.obj:
    $(CC) /c /Fo$@  $<
   
{.\source}.rc{.\obj}.res:
    $(RC) /r $< $@
   
{.\include}.h{.\obj}.obj:
    $(CC) /c /Fo$@  $<

{.\include}.hpp{.\obj}.obj:
    $(CC) /c /Fo$@  $<

This is far beyond anything I've tried before...so obviously I'm lost!!! lol

512
Hardware / Re: Multi core CPUs - how many are running > 4?
« on: November 23, 2020, 10:40:21 pm »
Dave!

Good to hear, and makes sense that a CPU monitor might have a flaw with too many CPU's. Wonder if it is obvious what the problem is? Some of these SMP issues are hard to track down...

Alright, so I spent a little time digging through this code. I have to admit, it's taking a bit longer to digest...ha ha...but I'm getting there.

Found a couple of spots where an assumption is made and code written in a way that supports up to 4 processors. And yet the program init logic relies on DosQuerySysInfo call to get a count of CPUs present. So, given the age of the software (1998) I'm thinking it was quite possible to assume that an end-user OS/2 machine would not sport more than 4 CPUs...yeah?

Right now I'm working through the attempt to re-compile using VAC 3.6.5. If that succeeds I'll see if I can fix up what I think is missing.

513
Multimedia / Re: Updated Uniaud32 build
« on: November 23, 2020, 03:20:54 am »
Hi Paul,

OK, http://smedley.id.au/tmp/uniaud32-linux-4.14.202-20201121.zip doesn't trap (or produce sound) on my X250, T60 or virtualbox systems...

Small change in hardware here, I went from my MSI 880G-E45 motherboard to a MSI 890FXA-HD70. The advertised specs showed a RealTek chipset:

1) 880G-E45 => RealtekĀ® ALC888S/ACL889

2) 890FXA-GD70 => RealtekĀ® ALC889
Code: [Select]
Command line mixer for UNIAUD32. Version 1.1
Detected UNIAUD version 2.02.05
Detected 1 audio adapter(s)
Error: invalid number of PCM instances for adapter 0
Card info for adapter 0:
  num: 0
  id: SB
  driver: HDA-Intel
  name: HDA ATI SB
  longname: HDA ATI SB at 0xfe4f8000 irq 16
  mixer: Realtek ALC889
  componenets: HDA:10ec0889,14627640,00100004

...but your last known good release which was working on the 880G-E45:

Code: [Select]
8-12-20  5:07a       586,198     54 a---  uniaud32.sys

Build Level Display Facility Version 6.12.675 Sep 25 2001
(C) Copyright IBM Corporation 1993-2001
Signature:       @#Netlabs:2.02.05#@##1## 12 Aug 2020 18:37:33     ARCAOS-D0C:3.
16.85:::05::SVN@@Universal Audio Driver for OS/2 (c)  Netlabs
Vendor:          Netlabs
Revision:        2.02.05
Date/Time:       12 Aug 2020 18:37:33
Build Machine:   ARCAOS-D0C
ASD Feature ID:  3.16.85
FixPak Version:  SVN
File Version:    2.2.5
Description:     Universal Audio Driver for OS/2 (c)  Netlabs

...was now trapping on the newer 890FXA-GD70 board.

Anyways, the good news is that this latest drop does NOT trap, but as others have noted, it does not produce output either.

For me it's a positive direction given no TRAP! Thank you!

514
Hardware / Re: Multi core CPUs - how many are running > 4?
« on: November 21, 2020, 05:34:46 am »
FOUND IT!!!

So as embarrasing as it might feel, because I'm sure I've done this numerous times before - taking the system down to just the bare essentials (core OS/2 stuff with very little, if any utilities, etc. running), I re-did this process one more time.

The difference now I suppose is the fact that I have a reliable 6-core setup. Well, eventually I pegged this down to the PUMonitor utility. This little handy thing has got it all as far as monitoring CPU/tcpip/memory resources, etc...but when core-count here goes past 5...well, that's where the spikes start.

Throttling the system down to a single core, which was then consistently showing 50% usage allowed me to track this down. Good news is that the author open sourced the project sometime back, so I will review to see if I can actually build it and troubleshoot next!!!

Yey, but win here...finally this puts away one of those nuisance type of things and puts my mind at ease knowing that it's not something "off" with a core system component like ACPI.

515
Hi Ibrahim,

Do you have freetype installed?

I believe AOO still uses this, or at least some portions of it. Prior to upgrading to AOO 4.17 I un-installed the remaining Innovate FreeType software that I had all in an attempt to clean the OS/2 install a tad...only to discover that this was required.

Now to simplify things, there is a RPM package out there, I have:

Installed Packages
Name        : freetype
Arch        : pentium4
Version     : 2.10.0
Release     : 2.oc00
Size        : 417 k
Repo        : installed

There are i686 and i386 packages out there as well.

Anyways, what you describe is a symptom I was seeing until I went ahead and deployed this RPM.

516
Hardware / Re: Multi core CPUs - how many are running > 4?
« on: November 21, 2020, 03:10:25 am »
Hey Dave!

Does it go away if you disable a core or 2?

Yup...indeed it does! I can either disable a core in BIOS, or boot with /MAXCPU=5 setting and either one works to product a stable non-spiked CPU behaviour.

This is what has made me think that the ACPI driver has an "issue" with the 6-core setup. Please note, when I say "issue" I do mean with my hardware combo. Now, if others pipe in and we see a trend, well, that'd be something different, which is part of the reason why I'm posing this question.

...Does changing any BIOS options such as "cool and quiet" help?...

I toyed around with numerous BIOS options in the past. For the most part I have all of these disabled because I find the ACPI PM scheduler NOT to work effectively, nor efficiently to start off with. Quite some time ago I shut off the ACPI PM and simply let the machinery run as it may, meaning: pedal to the metal, it's a full boost speed across all the cores. On my Phenom that means 4G when in 5 core mode and about 3.8G when in 6 core. Through experiments I found a single core that wasn't quite as tollerant of too large a boost, so I shut that core off in BIOS if I intend to run at the 4G speed. That used to be my default mode since the 6 core boot was a hit-n-miss, and eventually as ACPI drivers changed it actually caused a consistent TRAP, so I eventually gave up on it altogether.

Now that I am in the 6-core mode by default I may go back to re-test, but I suspect the previous brick-wall was really a CPU core specific hardware limit, and that's not going to be overcome by a different motherboard.

517
Hardware / Multi core CPUs - how many are running > 4?
« on: November 20, 2020, 08:28:38 pm »
Alright...how many of your are running CPUs with more than 4 or 5 cores?

I ask b/c with the newer motherboard I can finally boot up with with the full 6 cores enabled on my AMD Phenom II X6 1100T CPU . This is with AOS ACPI 3.23.15 drivers.

The old motherboard would TRAP each time I attempted to do so.

However, my CPU monitors show on-going CPU spikes and I cannot for the life of me figure out where this is coming from. Basically, the ACPI Power Manager is disabled, which means the cores are running "all-out", no throttling back, etc...which is fine as this is my desktop box and running 24x7.

Therefore, if the ACPI PM is not active, than the only reason for CPUs to be spiking is either the ACPI driver itself, or something in the kernel???

So I'm curious if anyone else is seeing this?


518
Hardware / Re: PCIe - SATA3 card choices?
« on: November 18, 2020, 04:29:47 pm »
So I figured a final (most likely) update re: how the underlying hardware platform impacts the final performance. Yeah, I mean we all know and get it, but in my case I have now tested 3 separate hardware solutions so it's kind of neat to see the difference (or lack thereof).

Anyways, without further ado, I now have the MSI 890FXA-GD70 board up and running...ha ha..."upgrade" eh? Well, it's ancient history by today's hardware standard; yes, the Ryzen stuff is still out there, but if you recall I was looking to max out the performance of my Samsung 850 SSD, and it being a SATA3 drive and being held-back by my SATA2 interface on the previous motherboard clearly wasn't allowing me to do so.

So the new board sports a SATA3 interface, it also finally lets me boot my Phenom II X6 CPU with the full 6-cores up and running (separate post on that b/c I'm seeing continuous CPU spikes).

1) SysBench results for the SSD
Code: [Select]
Disk I/O disk 0-2: 238473 MB - WSamsung SSD 850 EVO 250GB
   Avg. data access time :       --.---    milliseconds
   Cache/Bus xfer rate   :      206.859    Megabytes/second
   Track 0 xfer rate fwd :      387.066    Megabytes/second
   Middle trk rate fwds. :      392.029    Megabytes/second
   Last track rate bwds. :      369.462    Megabytes/second
   Average Transfer rate :      382.853    Megabytes/second
   Disk use CPU load     :       14.320    percent
   -----------------------------------------------------------------------
   Total                 :       --.---    Disk I/O-marks

2) diskio results
Code: [Select]
DISKIO - Fixed Disk Benchmark, Version 1.18z
(C) 1994-1998 Kai Uwe Rommel
(C) 2004 madded2

Number of fixed disks: 6
Number of CD-ROM drives: 1

Dhrystone 2.1 C benchmark routines (C) 1988 Reinhold P. Weicker
Dhrystone benchmark for this CPU: 3060618 runs/sec

Hard disk 2: 255 sides, 30401 cylinders, 63 sectors per track = 238472 MB
Drive cache/bus transfer rate: 130038 k/sec
Data transfer rate on cylinder 0   : -105937 k/sec
Data transfer rate on cylinder 30399: -128616 k/sec
CPU usage by full speed disk transfers: 38%
Average data access time: Disk read error.
Multithreaded disk I/O (4 threads): Disk read error.
3 k/sec, 27% CPU usage

So diskio is a little off (problems with the hardware speed I think), but SysBench does show some clear improvement. I think the results are in-line with what one might expect from a SATA2 to SATA3 move for a storage device that is capable of utilizing that speed.

519
Setup & Installation / Re: How to install Firefox
« on: November 17, 2020, 03:07:42 pm »
ohhh Dave....

I'd strongly recommend using the Pentium M build unless installing on a Pentium II or III or Athlon prior to the Athlon64. The Pentium M is basically an i686 with MMX, SSE and SSE2 added and I've also optimized it more, using SSE for math functions and tuning for a Core2, which might help for multicore machines and shouldn't hurt.

Any chance you might do an updated build of my fave??? (Phenom II - '-march=amdfam10 -O2')  8)

520
Setup & Installation / Re: How to install Firefox
« on: November 17, 2020, 02:23:00 am »
Hi Lars,

Yes, but I am not using ArcaOS and the RPM is "ArcaOS users only".

My comment was a response to Neil's original post, in which he stated:

Quote
...Is there a web page that explains how to install Firefox on ArcaOS?...

And so given that this install was to be done on ArcaOS I figured it would pretty much guarantee that the end-user in question would therefore have access to AN software releases. From an "ease of install" perspective you can't really get any better than RPM (if all goes right)!

521
Programming / Re: REXX - RXLVM library - issue?
« on: November 17, 2020, 02:19:09 am »
Hi Lars,
Don't go through the hassle of unloading a REXX DLL. It's not worth the effort: if another process is currently using that DLL, it will fail with a runtime error and this failure is not obvious at all (the DLL loading couples these 2 processes even though they seemingly have nothing to do with each other)...

Yes, you are absolutely right about that, which is why during the inital DLL load I rely on the following code to check whether that DLL has already been loaded by another process and is currently registered with the REXX runtime:

Code: [Select]
...
rxlvm_api = RxFuncQuery('RxLvmLoadFuncs')
...

If that call returns 0 (zero), that means the DLL has already been loaded, and if that is the case I completely skip the built-in DLL load process.

The opposite of that happens in the DLL un-load process: if the flag was set to 0 originally (DLL was already in-memory) I skip the un-load.

All in all this is a fairly elegant technique and is something that's mentioned in one of the REXX library INF files. The overall idea being to toss all the REXX DLLs into startup.cmd and basically prevent any other REXX script on my machine from ever having to load that DLL again. In theory at least, because while I have the control over my code, I certainly do NOT have that control over all the other REXX code that's out there.

522
Programming / Re: REXX - RXLVM library - issue?
« on: November 17, 2020, 02:13:21 am »
Andreas,

It's hard to say without a complete and minimal example. BTW: Registering RXLVM works for me. I guess the error is somewhere else.

Can your code register the RXLVM multiple times during the same session?

My problem appears to be due to the fact that I:
1) register
2) un-register
3) attempt to register again <= FAILURE

523
Applications / Re: PMView - colour vibrancy gone after save?
« on: November 16, 2020, 11:50:46 pm »
Hi Joop,

No, that's not the whole story with JPEG. You can save JPEG almost without artifacts. PMView has a very nice feature when JPEG is selected. Choose Save as and then the button Options. Set quality at 100 and smoothing at 0. Check the box save exif information. Now your image is saved as the original...

Unfortunately given my use-case that approach simply does not work. Try it using one of my PNG images as as source. There simply is no way to preserve the original colours in JPEG no matter what compression (quality) you choose. Embellish showed the same behaviour, as did a couple of other programs I tried.

524
Programming / REXX - RXLVM library - issue?
« on: November 16, 2020, 10:29:32 pm »
Hi Everyone,

I'm encountering an issue that suggests re-loading the RXLVM library is not successful, while several other REXX library are going through exactly the same process and are NOT showing this issue.

Please take a look at the below samples of my code and tell me where things may be going wrong?

1) load the REXX library
Code: [Select]
...
/* check if the RxLvm - RXLVM.DLL - is already loaded */
   rxlvm_api = RxFuncQuery('RxLvmLoadFuncs')
   msg_text = "RXLVM: API LOAD RC="||rxlvm_api
   CALL debug debug_flag calling_code msg_level msg_text
   If rxlvm_api <> 0 Then do
      Call RxFuncAdd 'RxLvmLoadFuncs', 'RXLVM', 'RxLvmLoadFuncs'
      Call RxLvmLoadFuncs
      end
   msg_text = "RXLVM: Using version "||RxLvmVersion()
   CALL debug debug_flag calling_code msg_level msg_text
...

2) unload the REXX library
Code: [Select]
...
   /* check the RXLVM library */
   If rxlvm_api <> 0 Then
      Call RxLvmDropFuncs
...

I use the rxlvm_api variable to tell me whether I need to un-load the library when my code is done. The purpose is to avoid doing so if the library was already loaded prior to my code starting, presumably something else out there loaded it first and perhaps requires it to remain loaded.

Now, 1st time through running my script I'm getting rxlvm_api=1, which means I did not have the RXLVM library loaded already and therefore need to load it. OK, good stuff, it works and the version info call (RxLvmVersion) works fine. The program then ends and the RXLVM is completely un-loaded.

However, re-running this script in the very same CLI session the 2nd time around produces the following error:

Code: [Select]
[G:\code\source\rexx\os2utils]nas_check v:
DEBUG : MAIN => Initializing...
DEBUG :    ==> library_load => Initializing...
DEBUG :    ==> library_load => RXU: Using version v1.a
DEBUG :    ==> library_load => REXXUTIL: Using version 2.00
DEBUG :    ==> library_load => RXUTILEX: Using version 0.1.6
DEBUG :    ==> library_load => RXEXTRAS: API LOAD RC=0
DEBUG :    ==> library_load => RXEXTRAS: Using version 1.G
DEBUG :    ==> library_load => RXLVM: API LOAD RC=0
   242 +++     msg_text = 'RXLVM: Using version ' || RxLvmVersion();
REX0043: Error 43 running G:\code\source\rexx\os2utils\nas_check.cmd, line
242: Routine not found
    67 +++   Call library_load;

What's weird about this is that rxlvm_api is clearly set to 0, which implies that it's already loaded and perhaps the un-load call actually failed?

Either way, if it was already loaded, why does the call to RxLvmVersion fail?

BTW: the same process is repeated for several other libraries, they work fine.

525
Setup & Installation / Re: How to install Firefox
« on: November 16, 2020, 04:50:12 pm »
I thought there was a Firefox RPM package out there...and if the person has the AOS subscription and/or access they were supposed to be able to just deploy in that fashion...no?

In fact I see it out there on the arcanoa-exp repo, see firefox-en_US.45.9.0-7, could that approach work?

Pages: 1 ... 33 34 [35] 36 37 ... 89