Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
dosalive

07.04.2008, 06:35
 

JLM Help (Developers)

I'm working on a JLM that will take the Audio Detection\ Card driver from MPXPlay's source and use it as a "driver" for using AC '97\ICH\HDA\etc as a Sound Blaster Code

compared to the via drivers, this should support ALL audio cards.

I'm currently new with the whole drivers thing in ms-dos.

i'd apreciate any help.

(especially on how to make a JLM in C\C++)

Japheth

Homepage

Germany (South),
07.04.2008, 09:15

@ dosalive
 

JLM Help

> I'm working on a JLM that will take the Audio Detection\ Card driver from
> MPXPlay's source and use it as a "driver" for using AC '97\ICH\HDA\etc as
> a Sound Blaster Code
>
> compared to the via drivers, this should support ALL audio cards.

Good. I agree, audio support in DOS low and has to be improved. But it is a "slightly" advanced topic ...

> I'm currently new with the whole drivers thing in ms-dos.

Then it will be a pretty hard job!

JLMs aren't necessarily "DOS drivers", however. They have very much in common with Windows 3/95/98/ME "Virtual Device Drivers", in short: VxDs. Therefore there was a subset of this API implemented in Jemm. If you are also new to writing VxDs, you will have difficulties to understand what the API functions are good for at all. In this case you will have to make yourself familiar with this stuff.

> (especially on how to make a JLM in C\C++)

That's possible, but you must be a rather experienced C programmer then. In JLMs, you cannot use most of the C runtime because the runtime functions use OS or BIOS functions, which aren't available.

---
MS-DOS forever!

dosalive

08.04.2008, 06:55

@ Japheth
 

JLM Help

> Good. I agree, audio support in DOS low and has to be improved. But it is
> a "slightly" advanced topic ...

Too bad that one of the big companies didn't make a driver for this in 97 when this was starting out, and at least supported all cards! i guess nobody really thought of this until Installing ac '97 over SB was cheaper and not many cared for dos :( but i guess if the driver goes as planned, you can take your Vista PC and play Crysys and Duke Nukem on the same system. (one runs at 60 fps the other at 6,000 fps :P *even thought my 1.9ghz Celeron Processor (2002) runs all games at a stable rate similar to my dead Pentium Pro :(

> JLMs aren't necessarily "DOS drivers", however. They have very much in
> common with Windows 3/95/98/ME "Virtual Device Drivers", in short: VxDs.
> Therefore there was a subset of this API implemented in Jemm. If you are
> also new to writing VxDs, you will have difficulties to understand what
> the API functions are good for at all. In this case you will have to make
> yourself familiar with this stuff.

i have a lot of learning to do :(

> That's possible, but you must be a rather experienced C programmer then.
> In JLMs, you cannot use most of the C runtime because the runtime
> functions use OS or BIOS functions, which aren't available.

What do you mean by Runtime? because what mpxplay has is an audio thing based on ALSA, i think, Using an audio card Header and static linkable library.

Japheth

Homepage

Germany (South),
08.04.2008, 07:57

@ dosalive
 

JLM Help

> What do you mean by Runtime? because what mpxplay has is an audio thing
> based on ALSA, i think, Using an audio card Header and static linkable
> library.

By "runtime" I mean the "C Runtime" (acronym is CRT), that is, all those functions like "strcpy()", "printf()", ...

Some of those functions don't need OS/BIOS calls (i.e. "strcpy()", possibly "sprintf()" as well) and therefore will work unmodified, but others (i.e. "write()" and "printf()") won't. That's pretty much the same situation as in Win9x VxDs. Generally, "low-level" drivers usually cannot use functions supplied in a "higher" level.

---
MS-DOS forever!

rr

Homepage E-mail

Berlin, Germany,
08.04.2008, 09:29

@ Japheth
 

JLM Help

> > What do you mean by Runtime? because what mpxplay has is an audio thing
> > based on ALSA, i think, Using an audio card Header and static linkable
> > library.
>
> By "runtime" I mean the "C Runtime" (acronym is CRT), that is, all those

Add: Sometimes also called "clib" or "libc".

---
Forum admin

Back to index page
Thread view  Board view
22049 Postings in 2034 Threads, 396 registered users, 156 users online (0 registered, 156 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum