Mail Archives: djgpp/2009/06/30/01:15:33
Alright, I'm just a lowly hobbyist, so take all these comments with a
grain of salt,
On Jun 26, 4:49=A0am, paravashu <parava DOT DOT DOT AT gmail DOT com> wrote:
> i m facing a strange problem with disk reads and writes through
> __dpmi_int API.
DJGPP 2.03p2 or 2.04?
> I am trying to perform DISK reads/writes from USB (which is also a dos
> bootable).
What brand and size and version of USB, and what version/vendor of
DOS? What motherboard, BIOS version? What else is loaded (TSRs, device
drivers)? What DOS shell and version?
> but the programs always hangs at a particular LBA value.
LBA ... doesn't only Win95 OSR2.5 support LBA? (I forget exactly,
someone around here knows though.) I assume FAT16, but maybe you're
using FAT32? DJGPP 2.04 might help (just blindly guessing).
> very weird behaviour..some times load error..comes...some other times
> no swap file error comes... some times crashes...:-)
No swap file error occurs if you have no FAT partition defined as a C:
\ drive. You could (and probably should) disable, or at least redirect
via -s, the swapfile. Make sure to try the various CWSDPMI bigstack
variants and/or the 2008 refresh. Also try HDPMI32 and/or PMODE/DJ. If
I were you, I'd unload any DOS caches (the ones I tried when building
Emacs recently gave me lots of trouble), unnecessary TSRs, unnecessary
device drivers, etc. Exact error messages would be nice (take a
picture with your digital camera or transcribe to paper by hand).
> But with the same setup , ghost works perfectly without any error.
> the same setup n environment on a different machine works perfectly
> without any error with our application.
Doesn't matter, lots of machines act differently, even if it's not a
BIOS bug. Too many things can go wrong. (Maybe the USB disk is getting
old, bad sectors??)
> The problem is obvserved when we run the application from USB. please
> clarify as to why this is happening...
> just not able to find the cause of the problem at 11th time when we
> issue the __dpmi_int(0x13,®s); interrupt.
Well, I (very ignorantly) imagine that overwriting the swapfile would
be bad, or even overwriting parts of the DOS shell or other utility
reread from disk on occasion. I dunno. :-( Just proposing a bunch
of things to take a closer look at.
- Raw text -