[Freedos-kernel] INT25

2004-03-01 Thread Arkady V.Belousov
Hi! __O\_/_\_/O__ int absread(int DosDrive, int nsects, int foo, void *diskReadPacket); #pragma aux absread = \ int 0x25 \ sbb ax, ax\ parm [ax] [cx] [dx] [bx] \ modify [si di bp] \ value [ax];

[Freedos-kernel] re: SYS bug?

2004-03-01 Thread Eric Auer
Hi, about the DOS uses 'int' 0x25/0x26 as CALL FAR, so you have to POPF when you call it through INT thread: Several compilers TRANSPARENTLY handle this. I think DJGPP is among them. If you try to use the 25/26 ones through int, it will automatically use DJGPP. Borland Turbo C has the absread()

Re: [Freedos-kernel] INT25/INT26

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 10:54 [EMAIL PROTECTED] (Steve Gibson) wrote to [EMAIL PROTECTED]: Is using INT25/CX= always safe for all partitions - including small (32M) and diskettes? SG Yes, on all logical devices, so long as you have a FAT32-capable OS (ver SG 7.0 or later) I.e. using INT25/CX=-1

Re: [Freedos-kernel] INT25/INT26

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 21:15 Arkady V.Belousov wrote to [EMAIL PROTECTED]: AVB __O\_/_\_/O__ AVB D-25- AVB INT 25 - DOS 1+ - ABSOLUTE DISK READ (except partitions 32M) AVB

Re: [Freedos-kernel] re: SYS bug?

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 19:40 [EMAIL PROTECTED] (Eric Auer) wrote to [EMAIL PROTECTED]: EA Hi, about the DOS uses 'int' 0x25/0x26 as CALL FAR, so you have to POPF EA when you call it through INT thread: EA Several compilers TRANSPARENTLY handle this. Of course, they (should) transparently handle this

[Freedos-kernel] re: SYS bug?

2004-03-01 Thread Eric Auer
Hi Arkady! EA use DJGPP. Borland Turbo C has the absread() and abswrite() functions to EA do the access - Firstly, these functions present only in BC (and TC?). Secondly, I already quote RBIL, which says, that BC' absread()/abswrite() (which detects size of partition through INT21/1C)

Re: [Freedos-kernel] INT25

2004-03-01 Thread Bart Oldeman
On Mon, 1 Mar 2004, Arkady V.Belousov wrote: __O\_/_\_/O__ int absread(int DosDrive, int nsects, int foo, void *diskReadPacket); #pragma aux absread = \ int 0x25 \ sbb ax, ax\ parm [ax] [cx] [dx]

[Freedos-kernel] re3: SYS bug? - different absread() on TC - BC!

2004-03-01 Thread Eric Auer
Hi, now that Arkady has shown us that BC auto-selects absread style for 32 MB / 32 MB, while TC does not: I have to conclude that compiling my UNDELETE will only work in Turbo C, not in Borland C. Because UNDELETE manually creates a 32 MB style access structure, assuming that absread() is not

Re: [Freedos-kernel] INT25

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 20:03 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: #pragma aux absread = \ int 0x25 \ sbb ax, ax\ modify [si di bp] \ Isn't there should be added POPF after INT 25h/26h? I mean, POP (for example, pop ax,ax). BO there

Re: [Freedos-kernel] INT25

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 21:05 [EMAIL PROTECTED] (Bart Oldeman) wrote to [EMAIL PROTECTED]: BO In the current sys it simply happens to work since the int 25/26 is BO followed by mov sp, bp. - BP itself should be preserved somewhere (because modify[]). Where if not on stack? BO that's a question for me

[Freedos-kernel] sys: reset disk

2004-03-01 Thread Arkady V.Belousov
Hi! Why reset_drive() calls INT21/32 (Get DOS DPB for specific drive)? --- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps Web services for Linux with a free DVD software kit from IBM. Click Now!

Re: [Freedos-kernel] re: ... different absread() on TC - BC!

2004-03-01 Thread Arkady V.Belousov
Hi! 1--2004 23:08 [EMAIL PROTECTED] (Eric Auer) wrote to [EMAIL PROTECTED]: EA Bad news for UNDELETE that Borland C (not Turbo C) seems to have an EA absread() which auto-decides about access style. Using the 32 MB EA style for drives which Borland C detected as 32 MB with int 21.1c EA will