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.

Topics - Jochen Schäfer

Pages: [1] 2
Programming / ClassiCube porting thread
« on: April 18, 2024, 08:24:42 am »
I'm trying to use pure OS/2 for ClassiCube instead the much unsupported SDL2 window system (it even has a big #error Don't use it sign at the entry).
So I'm trying to use DIVE, but all I get is the frame window and the background in it. When I move the window around, the background stays in it, i.e. nothing gets drawn.
I looked at the SDL implementation and the Toolkit samples, but I can't understand, what's wrong with my code.

If somebody please can take a look at the attached code give me some hints. I think the ClassiCube code is well structured and understandable, but if you have questions about ask me.


Programming / Filling Comboboxes
« on: August 20, 2023, 11:17:27 am »
I have the launcher dialog for PrBoom+ setup with the appended RC file (compiled with WRC) inside the WM_INITDLG call.
I try to fill a combox with LM_INSERTITEM, but the strings are not displayed, while not returning. The code, I use is like this:
Code: [Select]
WinSendMsg(launcher.listIWAD, LM_INSERTITEM, MPFROMSHORT(LIT_END), MPFROMP((PSZ)iwadname))launcher.listIWAD is the handle of the control fetched by WinWindowFromID. iwadname is a char array filled with the display string.
The strange part is that I can fill the command combobox and the files listbox, but not the games and the history comboboxes.
I tried to send the messages by calling WinSendDlgItemMsg or converting the combobox into a listbox. No changes.

Does anyone have a clue, whats going on here?

General Advertisements / Thinkpad T420
« on: July 12, 2023, 12:25:43 pm »
Now I have a T480, so my trusty old T420 (german keyboard) has to go.

It has an HDD with 120 GB capacity, and a mSATA SSD also with 120GB.
Memory is 6GB. It has the i5-2520M CPU and the 1600x900 14.1" display.
It also comes with a docking station.
I removed the Wifi white list from the BIOS and installed an Intel 5100, such that you can use GenMac with this card, cf
One speaker cover is missing, but the speaker works fine, cf

I will wipe the drives, before I ship the computer.

Make me an offer, and we will work it out.

Programming / Strange behaviour in SDL2
« on: May 23, 2023, 10:00:51 am »
So, I'm working on PrBoom again and I noticed a strange behaviour:
Sometimes when I start the program, there is sound. Sometimes, when I use the volume program, the sound become audible, even if I press the plus sign only once, so that the volume is going down or up one point. The direction doesn't matter.
I'm running a T480 with the newest ArcaNoae Uniaud (I also tried Paul's newer version, no change there). SDL2 is locally build copy of the most recent repo.

The question is, whether somebody knows this phenomenom and point me to some solution.

Games / BrogueCE
« on: September 28, 2022, 10:52:10 am »

I have just build a pre-release of BrogueCE. You find the binaries here:
Unzip the file. You find two binaries: One is for ncurses (needs a mode co100,34 or bigger), one is for SDL2 (needs SDL2 image, too).
Please report any issues back to me, here, as issue on Github or by email (

Have fun.

Setup & Installation / Installing ArcaOS on QEmu
« on: September 09, 2022, 10:17:40 am »

I replaced OS2LVM on the ISO image, but the installation hangs after the boot menu.
Was somebody successful with installing ArcaOS on QEmu and has some tipps?

Programming / Autoconf and OS/2
« on: December 18, 2021, 09:43:43 am »
I'm getting on and off in problems with the generated files by autoconf.
My recent case is SDL2. I have cloned BWW's version and tried to upgrade it to mainstream SDL 2.0.14.
I did the merge on my iMac, because it was so much easier with an IDE.
Now, I see consistently the following problem with the generated Makefile:
Code: [Select]
/SDL_test_assert.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_assert.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_common.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_common.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_compare.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_compare.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_crc32.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_crc32.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_font.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_font.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_fuzzer.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_fuzzer.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_harness.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_harness.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_imageBlit.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_imageBlit.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_imageBlitBlend.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_imageBlitBlend.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_imageFace.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_imageFace.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_imagePrimitives.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_imagePrimitives.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_imagePrimitivesBlend.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_imagePrimitivesBlend.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_log.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_log.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_md5.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_md5.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_memory.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_memory.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@ /SDL_test_random.lo: D:/WORK/sdl2/SDL2-os2/src/test/SDL_test_random.c $(objects)/.created $(RUN_CMD_CC)$(LIBTOOL) --tag=CC --mode=compile $(CC) $(CFLAGS) $(EXTRA_CFLAGS) -MMD -MT $@ -c $< -o $@
This is all on one line and $(objects) is missing before all compile targets, e.g. "/SDL_test_assert.lo:"
Now, when I checkout the commit before the merge commit on the machine without any other changes, I have no problem with the generated Makefile.
For me, it is clear, that line ends are not generated and $(objects) is not expanded.

My question: Does anyone has some pointers, where the problem lies?

Applications / FeatherNotes for OS/2
« on: November 08, 2021, 08:40:26 am »
I'm happy to annouce a full featured release of FeatherNotes 0.10.0 for OS/2.
Head over here: There are two binary packages: One is just a zip of the needed files, one is an RPM. For the plain ZIP, you need to install Qt5 and Hunspell. The RPM should pull in the required packages.

FeatherNotes (by Pedram Pourang, a.k.a. Tsu Jan  is a lightweight Qt hierarchical notes-manager for Linux. It is independent of any desktop environment and has:

  • Support for rich text formatting, image embedding and inserting editable tables;
  • Drag-and-drop capability for moving nodes and also for embedding images;
  • A tray icon for quick access on any desktop;
  • Correct position/size saving and restoring with most window managers;
  • Compact but complete search and replacement widgets;
  • The ability to include searchable tags (hidden info on each node);
  • Support for optional node icons;
  • Support for local and remote hyperlinks (bookmarks);
  • Text zooming;
  • Printing and exporting to HTML and PDF;
  • Password protection;
  • Auto-saving;
  • Optional spell checking with Hunspell (if enabled at compilation time);

Have fun.

Programming / Writing on console with WINDOWAPI
« on: July 08, 2021, 09:55:00 am »

Does someone know a way to write on the console if the application is of type WINDOWAPI?
For my Featherpad port, I have the problem, that the help text emitted with -h on console doesn't show up, but seems to be captured with the console redirection.
Any ideas?

Applications / FeatherPad for OS/2
« on: June 27, 2021, 03:57:34 pm »
I'm proud to annouce a full featured release of FeatherPad 0.18.0 for OS/2. I started to scratch an itch.
Head over here: There are two binary packages: One is just a zip of the needed files, one is an RPM. For the plain ZIP, you need to install Qt5 and Hunspell. The RPM should pull in the required packages.

FeatherPad (by Pedram Pourang, a.k.a. Tsu Jan is a lightweight Qt plain-text editor for Linux. It is independent of any desktop environment and has:

  • Drag-and-drop support, including tab detachment and attachment;
  • X11 virtual desktop awareness (using tabs on current desktop but opening a new window on another);
  • An optionally permanent search-bar with a different search entry for each tab;
  • Instant highlighting of found matches when searching;
  • A docked window for text replacement;
  • Support for showing line numbers and jumping to a specific line;
  • Optional selection highlighting;
  • Automatic detection of text encoding as far as possible and optional saving with encoding;
  • Syntax highlighting for common programming languages;
  • Ability to open URLs with appropriate applications;
  • Session management;
  • Side-pane mode;
  • Auto-saving;
  • Spell checking with Hunspell;
  • Printing;
  • Text zooming;
  • Appropriate but non-interrupting prompts;
  • Haiku OS support (by khallebal at GitHub);
  • macOS support (by Pavel Shlyak); and
  • Other features that can be found in its settings, on its menus or when it is actually used.

Have fun.

Games / PrBoom+
« on: June 05, 2021, 03:28:07 pm »
Hi guys.

I have ported PrBoom+, which is a source port of DOOM, running on SDL2.
I have put a prereleases package on my Github repo here:
In the archive, you find the two binaries for the game and the multiplayer server, as well as prboom.wad and the shareware version of Doom.
If you have the original DOOM games, you can put the WADs in the program directory or under /@unixroot/usr/(local/)share/(games/)doom.
If you want the midi to play, you need to download the timidity patches from here: and install them in /@unixroot/usr/(local/)share/timidity.

My plan is to submit all my bugfixes for SDL/2 and patches for PrBoom+ in the next days.
After that I want to package everything for easier installation.


Programming / Which debugger to use.
« on: August 12, 2019, 03:05:32 pm »
I want to check, if things are still working as they should in DosBOX/2.
I tried Watcom, but GUI one instantly crashes, when I run DosBOX. The VIO one does not do that, but I can't find an option to select sources.
When I started the port about 15 years ago, I used one of the IBM debuggers in the VAC 4 package, but I just have not been able to set it up correctly at the moment, so I have to really should take a deep dive into them.

So my questions is: Which debugger are you using for GCC compiled and Watcom linked, rpm only applications?
Any configuration recommendations?

Hardware / T420 and Intel 5100 Wifi
« on: March 29, 2019, 07:06:13 pm »
How to get the Intel 5100 Wifi working in the T420.

1.) If you want to replace non-working standard Wifi-Card in the mini PCI slot under the keyboard, only buy a half-size 5100.
2.) If you want to use the half-size slot, you have to patch the BIOS.
     a.) Install the newest BIOS (as of now 1.56)
     b.) Install the corresponding patched BIOS (Google it) EDIT: The patched BIOS needs the check for the Wifi white list removed.
3.) Install the card under keyboard in the half-size slot or in the full-size slot.
4.) If you have a Linux live cd, test the installation. Normally, it should work out of the box.
5.) Download the test package of the Intel test package from here:
6.) Rename the driver names  WRAPPER_8086_4232 from NETW5X32.* to NETW4X32.*
7.) Reboot and configure your network.

For me, that installation just works fine without fuss. (Except that the wired network doesn't seem to work anymore, but that doesn't bother me at the moment.

Programming / poll() and select()
« on: June 23, 2017, 09:58:10 pm »
I'm trying to port multitail, but it seems that select() as well as poll() doesn't seem to work.
I have attached my test programs, which both should work. Both  return with EINVAL.
So, am I missing something or is the OS/2 implementation buggy?
Can somebody point me to some already ported code, which uses poll or select?

Programming / Where is getaddrinfo?
« on: June 17, 2017, 11:11:09 am »

Does some know whether we have a implementation of getaddrinfo?
It seems to me that it should belong to the C standard library, but I can't find any declaration in /usr/include.

Pages: [1] 2