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
|
||||
{
|
||||
LoL->bufloc = LOC_HMA;
|
||||
LoL->deblock_buf = KernelAlloc(SEC_SIZE, 'B', 0);
|
||||
/* space in HMA beyond requested buffers available as user space */
|
||||
firstAvailableBuf = pbuffer + wantedbuffers;
|
||||
}
|
||||
}
|
||||
|
||||
LoL->deblock_buf = DiskTransferBuffer;
|
||||
LoL->firstbuf = pbuffer;
|
||||
|
||||
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_mcmdesc = dpbp->dpb_mdb;
|
||||
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);
|
||||
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 char ASM local_buffer[LINEBUFSIZE0A];
|
||||
extern UBYTE DiskTransferBuffer[SEC_SIZE];
|
||||
|
||||
extern struct cds
|
||||
ASM TempCDS;
|
||||
|
|
|
@ -271,6 +271,8 @@ extern UWORD DOSFAR LBA_WRITE_VERIFY;
|
|||
/* floppy parameter table, at 70:xxxx */
|
||||
extern unsigned char DOSTEXTFAR ASM int1e_table[0xe];
|
||||
|
||||
extern char DOSTEXTFAR DiskTransferBuffer[SEC_SIZE]; /* in dsk.c */
|
||||
|
||||
struct RelocationTable {
|
||||
UBYTE jmpFar;
|
||||
UWORD jmpOffset;
|
||||
|
|
Loading…
Reference in New Issue