Re: FAT32 HELP!

new topic     » goto parent     » topic index » view thread      » older message » newer message

-------Phoenix-Boundary-07081998-
Content-type: text/plain; charset=ISO-8859-1
Content-transfer-encoding: Quoted-printable

Hi Wes Hamilton, you wrote on 8/19/99 6:24:15 PM:
><SNIPPED>...I'll be busy tonight working on the 'dir' parse
>kludge
>in case I can't ever get a work-around on this...
>
>Wes
><CODE SNIPPED>

Good luck with the 'dir' method.  I don't have a solution yet
either (though not for lack of hair pulling), but I do have a
little more info and some questions.

I got tired of finding zip for information on the 'net, so I
ran command.com through a dissassembler and found that there is
indeed a call to int #21/ax=3D#7303 inside there.  That seems
to indicate that you were correct in your choice of function,
but also that Bernie was correct about it needing a real mode
execution.

However, it may not require all the machine code Jacques used,
at least not for this one task.  I found some interrupts which
claim to be for exactly that purpose (simulating real mode ints),
and that brings me to my questions.

As part of the process, the interrupts require that ES:EDI
be loaded with the address of a call structure. So,

1) Am I correct in assuming that Euphoria uses EDI (by way
of regs[REG_DI]) automatically, since it's in protected mode=3F

2) I first set ES to be the segment of the call structure
address--floor(addressVar/16)--but the code bombed, so I
am wondering if the segment should have been the current code
or data segment.  That doesn't make sense to me, since the
address was allocated low, but I dunno . . .

Also, one of the interrupts I am trying is a CauseWay interrupt,
int #31/ax=3DFF01 I think.  So far all it has produced are some
impressively solid system lock-ups.  Is there something
inherently unstable about using a CauseWay interrupt from
within Euphoria or (more likely) am I just mangling the
application somehow=3F

Any help would be appreciated since, in addition to helping
Wes, I've got to figure this out at some point in order to
update diskutil.e.

I realize that it would help if I could offer some source code.
Unfortunately, I left it at work; this is because I am an idiot.
I'm in a twelve step program for that, but I keep forgetting
to go to the meetings, getting lost on the way, etc . . .

If this proves to be insufficient info for anybody to offer any
help with, I'll post some code so maybe somebody can spot
what I'm screwing up.  By the way, Wes, what I'm trying to
do is set up a routine for calling real mode interrupts so
that in your code (or anyone's) you can do this:

          regs =3D dosInterruptReal32(#21,regs)
or
          regs =3D dosInterruptReal16(#21,regs)

and go about your business normally.

I'll be gone for a few days, so I'll be delayed responding to
any posts directed toward me; talk to you guys later.
(first real vacation in six years, WAHOOOOOOO!)

Craig
-------------------------------------------------
I understand mathematics, I just can't do proofs.
--Anonymous

-------Phoenix-Boundary-07081998---

new topic     » goto parent     » topic index » view thread      » older message » newer message

Search



Quick Links

User menu

Not signed in.

Misc Menu