(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

@@ -25,8 +25,7 @@
extern int fdc_type;
/* Controller types. */
#define FDC_NONE 0
#define FDC_INTERNAL 1
#define FDC_INTERNAL 0
extern const device_t fdc_pii151b_device;
extern const device_t fdc_pii158b_device;

View File

@@ -41,7 +41,6 @@
#define MACHINE_SOUND 0x010000 /* sys has int sound */
#define MACHINE_NONMI 0x020000 /* sys does not have NMI's */
#define MACHINE_FDC 0x040000 /* sys has int FDC */
#define MACHINE_FDC_FIXED 0x080000 /* sys has ONLY int FDC */
#else
#define MACHINE_PC 0x000000 /* PC architecture */
#define MACHINE_AT 0x000001 /* PC/AT architecture */
@@ -60,7 +59,6 @@
#define MACHINE_SOUND 0x010000 /* sys has int sound */
#define MACHINE_NONMI 0x020000 /* sys does not have NMI's */
#define MACHINE_FDC 0x040000 /* sys has int FDC */
#define MACHINE_FDC_FIXED 0x080000 /* sys has ONLY int FDC */
#endif
#define IS_ARCH(m, a) (machines[(m)].flags & (a)) ? 1 : 0;
@@ -282,6 +280,7 @@ extern int machine_at_cmdpc_init(const machine_t *);
extern int machine_at_portableii_init(const machine_t *);
extern int machine_at_portableiii_init(const machine_t *);
extern int machine_at_portableiii386_init(const machine_t *);
extern int machine_at_deskpro386_init(const machine_t *);
#ifdef EMU_DEVICE_H
extern const device_t *at_cpqiii_get_device(void);
#endif

View File

@@ -423,7 +423,7 @@ typedef struct {
PendingInterrupt, Lock,
target_data_len, pad0;
uint32_t Base, rom_addr, /* address of BIOS ROM */
uint32_t Base, fdc_address, rom_addr, /* address of BIOS ROM */
CmdParamLeft, Outgoing,
transfer_size;
@@ -486,6 +486,8 @@ typedef struct {
pc_timer_t timer, ResetCB;
Req_t Req;
fdc_t *fdc;
} x54x_t;