Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.basic.powerbasic > #54 > unrolled thread

Please Help - I'm In Over My Head

Started byWildman <best_lay@yahoo.com>
First post2012-09-06 20:12 +0000
Last post2012-09-07 18:30 +0000
Articles 6 — 2 participants

Back to article view | Back to comp.lang.basic.powerbasic


Contents

  Please Help - I'm In Over My Head Wildman <best_lay@yahoo.com> - 2012-09-06 20:12 +0000
    Re: Please Help - I'm In Over My Head "Auric__" <not.my.real@email.address> - 2012-09-07 05:04 +0000
      Re: Please Help - I'm In Over My Head Wildman <best_lay@yahoo.com> - 2012-09-07 05:25 +0000
        Re: Please Help - I'm In Over My Head "Auric__" <not.my.real@email.address> - 2012-09-07 05:39 +0000
        Re: Please Help - I'm In Over My Head "Auric__" <not.my.real@email.address> - 2012-09-07 05:43 +0000
          Re: Please Help - I'm In Over My Head Wildman <best_lay@yahoo.com> - 2012-09-07 18:30 +0000

#54 — Please Help - I'm In Over My Head

FromWildman <best_lay@yahoo.com>
Date2012-09-06 20:12 +0000
SubjectPlease Help - I'm In Over My Head
Message-ID<1t72s.3$MA2.2@newsfe01.iad>
I am trying to write a program using VB3 on WFW 3.11.
The program needs to call a couple of DOS interrupts
and one of the calls require that a read/write data
table be setup and the segment:offset address of the
table must be passed to the interrupt via es:bx.

Since VB3 can't handle this, I turned to PB/DLL 1.10
but I have not been able to get anything to work. I
tried creating the table using a UDT, a string and as
assembly data using labels. None of it worked. Either
the system froze or I got a GPF and then it crashed.
I think the problem I am having is getting the correct
segmented address of the table.

In summary what I am asking, is there a way to create
a read/write data table and get the correct "segmented"
address? Any suggestions would be appreciated.

BTW The other DOS interrupts that do not require a
data table work just fine.

[toc] | [next] | [standalone]


#55

From"Auric__" <not.my.real@email.address>
Date2012-09-07 05:04 +0000
Message-ID<XnsA0C6E07B6FEE8auricauricauricauric@88.198.244.100>
In reply to#54
Wildman wrote:

> I am trying to write a program using VB3 on WFW 3.11.
> The program needs to call a couple of DOS interrupts
> and one of the calls require that a read/write data
> table be setup and the segment:offset address of the
> table must be passed to the interrupt via es:bx.
>
> Since VB3 can't handle this, I turned to PB/DLL 1.10
> but I have not been able to get anything to work. I
> tried creating the table using a UDT, a string and as
> assembly data using labels. None of it worked. Either
> the system froze or I got a GPF and then it crashed.
> I think the problem I am having is getting the correct
> segmented address of the table.
>
> In summary what I am asking, is there a way to create
> a read/write data table and get the correct "segmented"
> address? Any suggestions would be appreciated.
>
> BTW The other DOS interrupts that do not require a
> data table work just fine.

How about asm? Write a routine that does what you need, compile it into a 
DLL, call the function from VB or PB.

-- 
I want to get a tattoo of myself on my entire body, only 2" taller.
 -- Steven Wright

[toc] | [prev] | [next] | [standalone]


#56

FromWildman <best_lay@yahoo.com>
Date2012-09-07 05:25 +0000
Message-ID<Gzf2s.30$_X5.3@newsfe05.iad>
In reply to#55
On Fri, 07 Sep 2012 05:04:03 +0000, Auric__ wrote:

> <snip>

> How about asm? Write a routine that does what you need, compile it into
> a DLL, call the function from VB or PB.

I wish I could do in assembly. That would be much easier.
However, I don't have any experience creating dll's with
assembly or with anything else for that matter. I have
masm 6.1 but I haven't been able to figure out how to
create a 16bit dll with it. All the docs I can find only
talk about 32bit dll's. I'm not sure if 6.1 will even do
it. Also, I can't find any info on 16bit dll's in the
docs for nasm and tasm. Can you suggest something?

[toc] | [prev] | [next] | [standalone]


#57

From"Auric__" <not.my.real@email.address>
Date2012-09-07 05:39 +0000
Message-ID<XnsA0C6E68B84391auricauricauricauric@88.198.244.100>
In reply to#56
Wildman wrote:

> On Fri, 07 Sep 2012 05:04:03 +0000, Auric__ wrote:
>
>> How about asm? Write a routine that does what you need, compile it into
>> a DLL, call the function from VB or PB.
>
> I wish I could do in assembly. That would be much easier.
> However, I don't have any experience creating dll's with
> assembly or with anything else for that matter. I have
> masm 6.1 but I haven't been able to figure out how to
> create a 16bit dll with it. All the docs I can find only
> talk about 32bit dll's. I'm not sure if 6.1 will even do
> it. Also, I can't find any info on 16bit dll's in the
> docs for nasm and tasm. Can you suggest something?

Don't know anything about Win16 asm, sorry. It was just a thought.

Hmm... Tried doing the whole thing as inline asm in the PB program? Not just 
the data, but the call too.

Failing that, perhaps pop over to an asm group and find out if anyone 
remembers how to write DLLs.

-- 
No main() No Gain!

[toc] | [prev] | [next] | [standalone]


#58

From"Auric__" <not.my.real@email.address>
Date2012-09-07 05:43 +0000
Message-ID<XnsA0C6E725FE817auricauricauricauric@88.198.244.100>
In reply to#56
Wildman wrote:

> On Fri, 07 Sep 2012 05:04:03 +0000, Auric__ wrote:
>
>> How about asm? Write a routine that does what you need, compile it into
>> a DLL, call the function from VB or PB.
>
> I wish I could do in assembly. That would be much easier.
> However, I don't have any experience creating dll's with
> assembly or with anything else for that matter. I have
> masm 6.1 but I haven't been able to figure out how to
> create a 16bit dll with it. All the docs I can find only
> talk about 32bit dll's. I'm not sure if 6.1 will even do
> it. Also, I can't find any info on 16bit dll's in the
> docs for nasm and tasm. Can you suggest something?

Just found this:
  http://www.website.masmforum.com/tutorials/dlltute/masmdll.htm

It's for masm32, but it may or may not also work for 16-bit masm.

-- 
The Bill of Rights isn't some legalistic fine print. It was written to make
our lives freer, more prosperous, and happier. By forsaking it, America has
become no better than any other country in the world.
 -- Harry Browne

[toc] | [prev] | [next] | [standalone]


#59

FromWildman <best_lay@yahoo.com>
Date2012-09-07 18:30 +0000
Message-ID<93r2s.80$8D2.28@newsfe11.iad>
In reply to#58
On Fri, 07 Sep 2012 05:43:22 +0000, Auric__ wrote:

>  <snip>
> 
> Just found this:
>   http://www.website.masmforum.com/tutorials/dlltute/masmdll.htm
> 
> It's for masm32, but it may or may not also work for 16-bit masm.

Yea, I found this page during my research and I tried it. I couldn't
get the syntax right for link. It don't accept the /subsystem or /dll
switches. Maybe one of the asm groups can shed some light, if there
are any old-timers left like me. :-)

I appreciate your efforts.

<Wildman>

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.basic.powerbasic


csiph-web