Skip to contentSkip to conversation

1.0.2.1 and latest kernel?

DISCUSSION Stas Sergeev 3 participants 12 messages Sep 16, 2003 – Sep 19, 2003

lore
Share & tools
lore
#0 lore raw

Hello.

Quoted 2 lines · Ryan Underwood

I just installed a new kernel, 2.4.23-pre4, and DOSEMU stable version 1.0.2.1 stopped working.

<offtopic>
May I just suggest you a better way of spending your free time? :)
There is another dos emulator there, called DosBox (was already popped up on that list recently). It seems to have a rather complete DPMI support, including the undocumented "MS-DOS" extension, which means it is intended to run the programs like bcc and winos2, which was a "secret weapon" of dosemu for years. Their DPMI source code looks very clean and promising:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/dosbox/dosbox/src/ints/dpmi.cpp?rev=HEAD&content-type=text/plain
but I am wondering if it really exceeds dosemu as it claims to be (which is deserved anyway). So, as you seem to have some spare time left (otherwise why would you start fiddling with 1.0.2?:), it would be very nice if you try how good is DosBox's DPMI support compared to the one of dosemu (but not 1.0.2) and let us know.
</offtopic>

#1 lore raw

Hi,

Quoted 8 lines · Stas Sergeev

Hello.

Quoted 2 lines · Ryan Underwood

I just installed a new kernel, 2.4.23-pre4, and DOSEMU stable version 1.0.2.1 stopped working.

<offtopic>
May I just suggest you a better way of spending your free time? :)

There was a request that I post the details of how to work DOSEMU through an inetd connection. I couldn't get my old method to work with the latest version, so I was trying the stable version, which I was sure had worked at soem point. However, it doesn't seem to work anymore on the new kernel :(

Quoted 11 lines

There is another dos emulator there, called DosBox (was already popped up on that list recently). It seems to have a rather complete DPMI support, including the undocumented "MS-DOS" extension, which means it is intended to run the programs like bcc and winos2, which was a "secret weapon" of dosemu for years. Their DPMI source code looks very clean and promising:
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/*checkout*/dosbox/dosbox/src/ints/dpmi.cpp?rev=HEAD&content-type=text/plain
but I am wondering if it really exceeds dosemu as it claims to be (which is deserved anyway).

Ok, I will take a look at it. In the meantime, I really would like to know if anyone gets 1.0.2.1 to work with the latest kernel, and the precise kernel version which broke it would be helpful.

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#2 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Hmm,

Seems 1.1.5.7 no longer works with -pre4 either.

When running any dosemu command (such as lredir, exitemu, etc):
ERROR: lowmem_alloc failed for 10240
ERROR: Unable to allocate memory pool

Anyone know what is going on?

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#3 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Quoted 8 lines · Ryan Underwood

Seems 1.1.5.7 no longer works with -pre4 either.

When running any dosemu command (such as lredir, exitemu, etc):
ERROR: lowmem_alloc failed for 10240
ERROR: Unable to allocate memory pool

Anyone know what is going on?

you forgot to update lredir.com and friends. Don't worry, the new versions are backwards compatible.

Bart

#4 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Hi Bart,

Quoted 5 lines · Bart Oldeman
Quoted 3 lines · Ryan Underwood

Seems 1.1.5.7 no longer works with -pre4 either.

Quoted 8 lines
Quoted 5 lines

When running any dosemu command (such as lredir, exitemu, etc):
ERROR: lowmem_alloc failed for 10240
ERROR: Unable to allocate memory pool

Anyone know what is going on?

you forgot to update lredir.com and friends. Don't worry, the new versions are backwards compatible.

Yep, I just discovered that too. thanks.

Back to hacking...

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#5 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

In reply to Bart Oldeman

Hi,

While on the topic, is there a document that explains how to add a new configuration option? I have modified, parser.y, config.c, global.conf, and lexer.l and having a little trouble getting the new variable to be "seen". I grepped through the docs for "lexer" and "parser" but didn't see much useful right away.

Thanks,

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#6 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Hi,

Quoted 8 lines · Ryan Underwood

Hi,

While on the topic, is there a document that explains how to add a new configuration option? I have modified, parser.y, config.c, global.conf, and lexer.l and having a little trouble getting the new variable to be "seen". I grepped through the docs for "lexer" and "parser" but didn't see much useful right away.

I take it from lack of response that nobody knows? :)

Just kidding, but I really have some problems implementing a new configuration option, so any hints would be helpful.

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#7 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Quoted 8 lines · Ryan Underwood
Quoted 6 lines · Ryan Underwood

While on the topic, is there a document that explains how to add a new configuration option? I have modified, parser.y, config.c, global.conf, and lexer.l and having a little trouble getting the new variable to be "seen". I grepped through the docs for "lexer" and "parser" but didn't see much useful right away.

Quoted 4 lines

I take it from lack of response that nobody knows? :)

Just kidding, but I really have some problems implementing a new configuration option, so any hints would be helpful.

have a look at a small prepatch that does exactly that, eg. patch-1.1.5.5 added a $_lfn_support option.

Bart

#8 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Hi,

Quoted 10 lines · Bart Oldeman
Quoted 8 lines · Ryan Underwood
Quoted 6 lines · Ryan Underwood

While on the topic, is there a document that explains how to add a new configuration option? I have modified, parser.y, config.c, global.conf, and lexer.l and having a little trouble getting the new variable to be "seen". I grepped through the docs for "lexer" and "parser" but didn't see much useful right away.

Quoted 7 lines
Quoted 4 lines

I take it from lack of response that nobody knows? :)

Just kidding, but I really have some problems implementing a new configuration option, so any hints would be helpful.

have a look at a small prepatch that does exactly that, eg. patch-1.1.5.5 added a $_lfn_support option.

Thanks for the pointer. I still don't see what I missed now, but that will help track it down.

Ryans Todo List:
- slowdown kludges
- document telnetting to dosemu application on inetd
- update Win3.11-DOSEMU HOWTO
- libsynthchip for OPL emulation at least
- dos emulator compatibility/regression database
- ALSA driver for sound/midi

By the way I also patched the Synchronet BBS software for DOSEMU integration -- the result can be found at:
http://forge.icequake.net/syncmods

What are some other stuff that needs to be worked on that a DOS guy but not DOS guru can do?

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#9 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

In reply to Bart Oldeman

Hi,

Quoted 10 lines · Bart Oldeman
Quoted 8 lines · Ryan Underwood
Quoted 6 lines · Ryan Underwood

While on the topic, is there a document that explains how to add a new configuration option? I have modified, parser.y, config.c, global.conf, and lexer.l and having a little trouble getting the new variable to be "seen". I grepped through the docs for "lexer" and "parser" but didn't see much useful right away.

Quoted 7 lines
Quoted 4 lines

I take it from lack of response that nobody knows? :)

Just kidding, but I really have some problems implementing a new configuration option, so any hints would be helpful.

have a look at a small prepatch that does exactly that, eg. patch-1.1.5.5 added a $_lfn_support option.

Here is the procedure I undertook, to hopefully shed some more light:

1. First I added a new variable to the config struct in src/include/emu.h called delay_interval

2. in src/base/init/lexer.l.in:
delay_interval RETURN(DELAY_INTERVAL);

3. in src/base/init/parser.y.in:
%token DELAY_INTERVAL

4. in src/base/init/parser.y.in also:

	| DELAY_INTERVAL expression
		{
		c_printf("Hello, this is delay_interval speaking\n");
		}

5. in global.conf, under checkuservar, I add $_delay_interval. In the parser_version_3 scope, I add:
delay_interval $_delay_intervala

6. in dosemu.conf on my system, I add $_delay_interval = (1234)

7. I run the new dosemu.bin -D+C, and my c_printf is never displayed.

Any ideas?

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#10 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

Quoted 4 lines · Ryan Underwood

5. in global.conf, under checkuservar, I add $_delay_interval. In the parser_version_3 scope, I add:
delay_interval $_delay_intervala

                            -----^

Obviously, a typo.

Signature · 1 line
Ryan Underwood, <nemesis at icequake.net>, icq=10317253
#11 lore raw

Re: 1.0.2.1 and latest kernel?a [1.1.5.7 now]

In reply to Ryan Underwood
Quoted 21 lines · Ryan Underwood

Here is the procedure I undertook, to hopefully shed some more light:

1. First I added a new variable to the config struct in src/include/emu.h called delay_interval

2. in src/base/init/lexer.l.in:
delay_interval RETURN(DELAY_INTERVAL);

3. in src/base/init/parser.y.in:
%token DELAY_INTERVAL

4. in src/base/init/parser.y.in also:

	| DELAY_INTERVAL expression
		{
		c_printf("Hello, this is delay_interval speaking\n");
		}

5. in global.conf, under checkuservar, I add $_delay_interval. In the parser_version_3 scope, I add:
delay_interval $_delay_intervala

Quoted 5 lines

6. in dosemu.conf on my system, I add $_delay_interval = (1234)

7. I run the new dosemu.bin -D+C, and my c_printf is never displayed.

Any ideas?

sounds about right; maybe there's something obscure. Try a "warn" in global.conf, and the options
-h2 -D+cw -O
(not -D+C but small c) for some more clues. Also _delay_interval should show up in "unix set" and "system set" typed from the DOS prompt.

The difference between () and "" is in global.conf. Numbers from () you can add, multiply, compare and so on; on strings you can use strlen and so on. See also README-tech.txt.

Bart