mirror of
https://github.com/86Box/86Box.git
synced 2026-02-24 02:18:20 -07:00
More winbond and SST flashes
This commit is contained in:
@@ -25,11 +25,24 @@ 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_w29c512_device;
|
||||
extern const device_t winbond_flash_w29c010_device;
|
||||
extern const device_t winbond_flash_w29c020_device;
|
||||
extern const device_t winbond_flash_w29c040_device;
|
||||
|
||||
extern const device_t sst_flash_39sf512_device;
|
||||
extern const device_t sst_flash_39sf010_device;
|
||||
extern const device_t sst_flash_39sf020_device;
|
||||
extern const device_t sst_flash_39sf040_device;
|
||||
|
||||
extern const device_t sst_flash_39lf512_device;
|
||||
extern const device_t sst_flash_39lf010_device;
|
||||
extern const device_t sst_flash_39lf020_device;
|
||||
extern const device_t sst_flash_39lf040_device;
|
||||
extern const device_t sst_flash_39lf080_device;
|
||||
extern const device_t sst_flash_39lf016_device;
|
||||
|
||||
extern const device_t sst_flash_49lf002_device;
|
||||
extern const device_t sst_flash_49lf020_device;
|
||||
extern const device_t sst_flash_49lf020a_device;
|
||||
|
||||
@@ -72,32 +72,60 @@ static char flash_path[1024];
|
||||
|
||||
#define SST 0xbf /* SST Manufacturer's ID */
|
||||
|
||||
#define SST29EE512 0x5d00 x
|
||||
#define SST29LE_VE512 0x3d00 x
|
||||
#define SST29EE010 0x0700
|
||||
#define SST29LE_VE010 0x0800
|
||||
#define SST29LE_VE010 0x0800 x
|
||||
#define SST29EE020 0x1000
|
||||
#define SST29LE_VE020 0x1200
|
||||
#define SST29LE_VE020 0x1200 x
|
||||
|
||||
#define SST39SF512 0xb400
|
||||
#define SST39SF010 0xb500
|
||||
#define SST39SF020 0xb600
|
||||
#define SST39SF040 0xb700
|
||||
|
||||
#define SST49LF002 0x5700 /* A */
|
||||
#define SST49LF020 0x6100 /* */
|
||||
#define SST49LF020A 0x5200 /* A */
|
||||
#define SST49LF003 0x1b00 /* A */
|
||||
#define SST49LF004 0x6000 /* A/B */
|
||||
#define SST49LF004C 0x5400 /* C */
|
||||
#define SST49LF040 0x5100 /* */
|
||||
#define SST49LF008 0x5a00 /* A */
|
||||
#define SST49LF008C 0x5900 /* C */
|
||||
#define SST49LF080 0x5b00 /* A */
|
||||
#define SST49LF030 0x1c00 /* A */
|
||||
#define SST49LF160 0x4c00 /* C */
|
||||
#define SST49LF016 0x5c00 /* C */
|
||||
#define SST39LF512 0xd400
|
||||
#define SST39LF010 0xd500
|
||||
#define SST39LF020 0xd600
|
||||
#define SST39LF040 0xd700
|
||||
#define SST39LF080 0xd800
|
||||
#define SST39LF016 0xd900
|
||||
|
||||
/*
|
||||
// 16 wide
|
||||
#define SST39WF400 0x272f
|
||||
#define SST39WF400B 0x272e
|
||||
#define SST39WF800 0x273f
|
||||
#define SST39WF800B 0x273e
|
||||
#define SST39WF1601 0xbf274b
|
||||
#define SST39WF1602 0xbf274a
|
||||
|
||||
#define SST39LF100 0x2788
|
||||
#define SST39LF200 0x2789
|
||||
#define SST39LF400 0x2780
|
||||
#define SST39LF800 0x2781
|
||||
#define SST39LF160 0x2782
|
||||
*/
|
||||
|
||||
#define SST49LF002 0x5700
|
||||
#define SST49LF020 0x6100
|
||||
#define SST49LF020A 0x5200
|
||||
#define SST49LF003 0x1b00
|
||||
#define SST49LF004 0x6000
|
||||
#define SST49LF004C 0x5400
|
||||
#define SST49LF040 0x5100
|
||||
#define SST49LF008 0x5a00
|
||||
#define SST49LF008C 0x5900
|
||||
#define SST49LF080 0x5b00
|
||||
#define SST49LF030 0x1c00
|
||||
#define SST49LF160 0x4c00
|
||||
#define SST49LF016 0x5c00
|
||||
|
||||
#define WINBOND 0xda /* Winbond Manufacturer's ID */
|
||||
#define W29C512 0xc800
|
||||
#define W29C010 0xc100
|
||||
#define W29C020 0x4500
|
||||
#define W29C040 0x4600
|
||||
|
||||
#define SIZE_512K 0x010000
|
||||
#define SIZE_1M 0x020000
|
||||
@@ -528,6 +556,34 @@ const device_t sst_flash_29ee020_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t winbond_flash_w29c512_device = {
|
||||
.name = "Winbond W29C512 Flash BIOS",
|
||||
.internal_name = "winbond_flash_w29c512",
|
||||
.flags = 0,
|
||||
.local = WINBOND | W29C010 | SIZE_512K,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t winbond_flash_w29c010_device = {
|
||||
.name = "Winbond W29C010 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 winbond_flash_w29c020_device = {
|
||||
.name = "Winbond W29C020 Flash BIOS",
|
||||
.internal_name = "winbond_flash_w29c020",
|
||||
@@ -542,6 +598,34 @@ const device_t winbond_flash_w29c020_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t winbond_flash_w29c040_device = {
|
||||
.name = "Winbond W29C040 Flash BIOS",
|
||||
.internal_name = "winbond_flash_w29c040",
|
||||
.flags = 0,
|
||||
.local = WINBOND | W29C040 | SIZE_4M,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39sf512_device = {
|
||||
.name = "SST 39SF512 Flash BIOS",
|
||||
.internal_name = "sst_flash_39sf512",
|
||||
.flags = 0,
|
||||
.local = SST | SST39SF512 | SIZE_512K,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39sf010_device = {
|
||||
.name = "SST 39SF010 Flash BIOS",
|
||||
.internal_name = "sst_flash_39sf010",
|
||||
@@ -584,6 +668,90 @@ const device_t sst_flash_39sf040_device = {
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39lf512_device = {
|
||||
.name = "SST 39LF512 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf512",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF512 | SIZE_512K,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39lf010_device = {
|
||||
.name = "SST 39LF010 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf010",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF010 | 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_39lf020_device = {
|
||||
.name = "SST 39LF020 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf020",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF020 | SIZE_2M,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39lf040_device = {
|
||||
.name = "SST 39LF040 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf040",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF040 | SIZE_4M,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39lf080_device = {
|
||||
.name = "SST 39LF080 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf080",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF080 | SIZE_8M,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t sst_flash_39lf016_device = {
|
||||
.name = "SST 39LF016 Flash BIOS",
|
||||
.internal_name = "sst_flash_39lf016",
|
||||
.flags = 0,
|
||||
.local = SST | SST39LF016 | SIZE_16M,
|
||||
.init = sst_init,
|
||||
.close = sst_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
/*
|
||||
* Firmware Hubs. The FWH signals are not implemented yet. Firmware Hubs do write cycles
|
||||
* to read/write on the flash. SST Flashes still do traditional flashing via PP Mode. Our
|
||||
|
||||
Reference in New Issue
Block a user