The IDE buffer is now correctly allocated at a size of 65536 words rather than bytes, fixes crashes with some machines.
This commit is contained in:
@@ -9,7 +9,7 @@
|
|||||||
* Implementation of the IDE emulation for hard disks and ATAPI
|
* Implementation of the IDE emulation for hard disks and ATAPI
|
||||||
* CD-ROM devices.
|
* CD-ROM devices.
|
||||||
*
|
*
|
||||||
* Version: @(#)hdc_ide.c 1.0.34 2018/03/15
|
* Version: @(#)hdc_ide.c 1.0.35 2018/03/16
|
||||||
*
|
*
|
||||||
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
|
||||||
* Miran Grca, <mgrca8@gmail.com>
|
* Miran Grca, <mgrca8@gmail.com>
|
||||||
@@ -885,7 +885,7 @@ void ide_reset(void)
|
|||||||
|
|
||||||
if (ide_drives[d].type != IDE_NONE) {
|
if (ide_drives[d].type != IDE_NONE) {
|
||||||
ide_drives[d].buffer = NULL; /* Important, makes sure malloc does not reuse an existing pointer from elsewhere. */
|
ide_drives[d].buffer = NULL; /* Important, makes sure malloc does not reuse an existing pointer from elsewhere. */
|
||||||
ide_drives[d].buffer = (uint16_t *) malloc(65536);
|
ide_drives[d].buffer = (uint16_t *) malloc(65536 * sizeof(uint16_t));
|
||||||
}
|
}
|
||||||
|
|
||||||
ide_set_signature(&ide_drives[d]);
|
ide_set_signature(&ide_drives[d]);
|
||||||
|
|||||||
Reference in New Issue
Block a user