(Re-)added the Deskpro 386, but only in the development/incomplete section of the code definitions.

Selected XT and AT clones can use either their built-in FDC controller or an external one (the IBM AT and Compaq AT machines don't support booting from a 1.44M floppy so this makes the external floppy useful).
Added the FDC to the Adaptec AHA-154xCF ("2" variant) and defaulted to None to keep compatibility with existing FDC's.
This commit is contained in:
TC1995
2020-06-17 00:32:48 +02:00
parent c1f1331c04
commit f62fc73862
20 changed files with 235 additions and 77 deletions

View File

@@ -33,6 +33,7 @@
#include <86box/device.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/hdc.h>
#include <86box/hdc_ide.h>
#include <86box/machine.h>
@@ -45,7 +46,8 @@ enum
{
COMPAQ_PORTABLEII = 0,
COMPAQ_PORTABLEIII,
COMPAQ_PORTABLEIII386
COMPAQ_PORTABLEIII386,
COMPAQ_DESKPRO386
};
#define CGA_RGB 0
@@ -809,9 +811,11 @@ machine_at_compaq_init(const machine_t *model, int type)
{
machine_at_init(model);
mem_remap_top(384);
if (type != COMPAQ_DESKPRO386)
mem_remap_top(384);
device_add(&fdc_at_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
mem_mapping_add(&ram_mapping, 0xfa0000, 0x60000,
read_ram, read_ramw, read_raml,
@@ -833,6 +837,11 @@ machine_at_compaq_init(const machine_t *model, int type)
if (gfxcard == VID_INTERNAL)
device_add(&compaq_plasma_device);
break;
case COMPAQ_DESKPRO386:
if (hdc_current == 1)
device_add(&ide_isa_device);
break;
}
}
@@ -889,3 +898,20 @@ machine_at_portableiii386_init(const machine_t *model)
return ret;
}
int
machine_at_deskpro386_init(const machine_t *model)
{
int ret;
ret = bios_load_interleavedr(L"roms/machines/deskpro386/109592-005.U11.bin",
L"roms/machines/deskpro386/109591-005.U13.bin",
0x000f8000, 65536, 0);
if (bios_only || !ret)
return ret;
machine_at_compaq_init(model, COMPAQ_DESKPRO386);
return ret;
}