diff --git a/src/include/86box/flash.h b/src/include/86box/flash.h index 4edb67467..21ba6b212 100644 --- a/src/include/86box/flash.h +++ b/src/include/86box/flash.h @@ -26,6 +26,7 @@ extern const device_t intel_flash_bxb_device; extern const device_t sst_flash_29ee010_device; extern const device_t sst_flash_29ee020_device; +extern const device_t winbond_flash_w29c010_device; extern const device_t winbond_flash_w29c020_device; extern const device_t sst_flash_39sf010_device; extern const device_t sst_flash_39sf020_device; diff --git a/src/machine/m_at_slot1.c b/src/machine/m_at_slot1.c index d1856c70f..2cc76c69b 100644 --- a/src/machine/m_at_slot1.c +++ b/src/machine/m_at_slot1.c @@ -691,7 +691,7 @@ machine_at_m729_init(const machine_t *model) pci_register_slot(0x10, PCI_CARD_NORMAL, 3, 4, 1, 2); device_add(&ali1621_device); device_add(&ali1543c_device); /* +0 */ - device_add(&sst_flash_29ee010_device); + device_add(&winbond_flash_w29c010_device); spd_register(SPD_TYPE_SDRAM, 0x7, 512); return ret; diff --git a/src/mem/sst_flash.c b/src/mem/sst_flash.c index 8bf0dc6c9..7d3c6a0b1 100644 --- a/src/mem/sst_flash.c +++ b/src/mem/sst_flash.c @@ -77,6 +77,7 @@ static char flash_path[1024]; #define SST39SF040 0xb700 #define WINBOND 0xda /* Winbond Manufacturer's ID */ +#define W29C010 0xC100 #define W29C020 0x4500 #define SIZE_512K 0x010000 @@ -482,6 +483,20 @@ const device_t sst_flash_29ee010_device = { .config = NULL }; +const device_t winbond_flash_w29c010_device = { + .name = "SST 29EE010 Flash BIOS", + .internal_name = "winbond_flash_w29c010", + .flags = 0, + .local = WINBOND | W29C010 | SIZE_1M, + .init = sst_init, + .close = sst_close, + .reset = NULL, + { .available = NULL }, + .speed_changed = NULL, + .force_redraw = NULL, + .config = NULL +}; + const device_t sst_flash_29ee020_device = { .name = "SST 29EE020 Flash BIOS", .internal_name = "sst_flash_29ee020",