Rewritten the PIIX IDE Bus Master operation, ReactOS now boots using IDE DMA and ATAPI DMA;

Fixed the IDE device detection hang with > 8 GB hard disks;
Rewritten the SMC FDC37C932FR Super I/O chip emulation;
Added an early implementation of the PIIX4, currently not in the makefile because nothing uses it right now.
This commit is contained in:
OBattler
2017-10-26 20:37:39 +02:00
parent 4eba751cb0
commit 9ea0163bb7
11 changed files with 1264 additions and 777 deletions

View File

@@ -8,7 +8,7 @@
*
* Emulation core dispatcher.
*
* Version: @(#)piix.h 1.0.1 2017/08/23
* Version: @(#)piix.h 1.0.2 2017/10/25
*
* Authors: Sarah Walker, <http://pcem-emulator.co.uk/>
* Miran Grca, <mgrca8@gmail.com>
@@ -16,13 +16,18 @@
* Copyright 2016,2017 Miran Grca.
*/
extern void piix_init(int card);
extern void piix_init(int card);
extern void piix3_init(int card);
extern void piix3_init(int card);
extern uint8_t piix_bus_master_read(uint16_t port, void *priv);
extern void piix_bus_master_write(uint16_t port, uint8_t val, void *priv);
extern void piix4_init(int card);
extern int piix_bus_master_get_count(int channel);
extern uint8_t piix_bus_master_read(uint16_t port, void *priv);
extern void piix_bus_master_write(uint16_t port, uint8_t val, void *priv);
extern int piix_bus_master_dma_read(int channel, uint8_t *data, int transfer_length);
extern int piix_bus_master_get_count(int channel);
extern int piix_bus_master_dma_read(int channel, uint8_t *data, int transfer_length);
extern int piix_bus_master_dma_write(int channel, uint8_t *data, int transfer_length);
extern void piix_bus_master_set_irq(int channel);