mirror of https://github.com/FDOS/kernel.git
From Tom: must set r_bpfat for C_BLDBPB, otherwise USBASPI.SYS, DI1000DD.SYS
won't like us. From Lucho: use DiskTransferBuffer for deblock_buf. git-svn-id: https://svn.code.sf.net/p/freedos/svn/kernel/trunk@943 6ac86273-5f31-0410-b378-82cca8765d1b
This commit is contained in:
parent
de5bed6d28
commit
24d27f2f9b
|
@ -1714,12 +1714,11 @@ STATIC void config_init_buffers(int wantedbuffers)
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
LoL->bufloc = LOC_HMA;
|
LoL->bufloc = LOC_HMA;
|
||||||
LoL->deblock_buf = KernelAlloc(SEC_SIZE, 'B', 0);
|
|
||||||
/* space in HMA beyond requested buffers available as user space */
|
/* space in HMA beyond requested buffers available as user space */
|
||||||
firstAvailableBuf = pbuffer + wantedbuffers;
|
firstAvailableBuf = pbuffer + wantedbuffers;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
LoL->deblock_buf = DiskTransferBuffer;
|
||||||
LoL->firstbuf = pbuffer;
|
LoL->firstbuf = pbuffer;
|
||||||
|
|
||||||
DebugPrintf(("init_buffers (size %u) at", sizeof(struct buffer)));
|
DebugPrintf(("init_buffers (size %u) at", sizeof(struct buffer)));
|
||||||
|
|
|
@ -2085,6 +2085,9 @@ STATIC int rqblockio(unsigned char command, struct dpb FAR * dpbp)
|
||||||
MediaReqHdr.r_command = command;
|
MediaReqHdr.r_command = command;
|
||||||
MediaReqHdr.r_mcmdesc = dpbp->dpb_mdb;
|
MediaReqHdr.r_mcmdesc = dpbp->dpb_mdb;
|
||||||
MediaReqHdr.r_status = 0;
|
MediaReqHdr.r_status = 0;
|
||||||
|
|
||||||
|
if (command == C_BLDBPB) /* help USBASPI.SYS & DI1000DD.SYS (TE) */
|
||||||
|
MediaReqHdr.r_bpfat = (boot FAR *)DiskTransferBuffer;
|
||||||
execrh((request FAR *) & MediaReqHdr, dpbp->dpb_device);
|
execrh((request FAR *) & MediaReqHdr, dpbp->dpb_device);
|
||||||
if ((MediaReqHdr.r_status & S_ERROR) || !(MediaReqHdr.r_status & S_DONE))
|
if ((MediaReqHdr.r_status & S_ERROR) || !(MediaReqHdr.r_status & S_DONE))
|
||||||
{
|
{
|
||||||
|
|
|
@ -336,6 +336,7 @@ extern UBYTE ASM BootDrive, /* Drive we came up from */
|
||||||
|
|
||||||
extern keyboard ASM kb_buf;
|
extern keyboard ASM kb_buf;
|
||||||
extern char ASM local_buffer[LINEBUFSIZE0A];
|
extern char ASM local_buffer[LINEBUFSIZE0A];
|
||||||
|
extern UBYTE DiskTransferBuffer[SEC_SIZE];
|
||||||
|
|
||||||
extern struct cds
|
extern struct cds
|
||||||
ASM TempCDS;
|
ASM TempCDS;
|
||||||
|
|
|
@ -271,6 +271,8 @@ extern UWORD DOSFAR LBA_WRITE_VERIFY;
|
||||||
/* floppy parameter table, at 70:xxxx */
|
/* floppy parameter table, at 70:xxxx */
|
||||||
extern unsigned char DOSTEXTFAR ASM int1e_table[0xe];
|
extern unsigned char DOSTEXTFAR ASM int1e_table[0xe];
|
||||||
|
|
||||||
|
extern char DOSTEXTFAR DiskTransferBuffer[SEC_SIZE]; /* in dsk.c */
|
||||||
|
|
||||||
struct RelocationTable {
|
struct RelocationTable {
|
||||||
UBYTE jmpFar;
|
UBYTE jmpFar;
|
||||||
UWORD jmpOffset;
|
UWORD jmpOffset;
|
||||||
|
|
Loading…
Reference in New Issue