Merge pull request #818 from 86Box/feature/external_fdc

Feature/external fdc
This commit is contained in:
OBattler
2020-06-17 14:53:21 +02:00
committed by GitHub
24 changed files with 619 additions and 20 deletions

View File

@@ -49,6 +49,7 @@
#include <86box/device.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/nvr.h>
#include <86box/gameport.h>
#include <86box/keyboard.h>
@@ -102,7 +103,8 @@ machine_at_ibm_common_init(const machine_t *model)
mem_remap_top(384);
device_add(&fdc_at_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_at_device);
}

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;
}
}

View File

@@ -35,6 +35,7 @@
#include <86box/nvr.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/gameport.h>
#include <86box/keyboard.h>
#include <86box/sound.h>
@@ -1495,7 +1496,8 @@ machine_tandy1k_init(const machine_t *model, int type)
device_add(&keyboard_tandy_device);
keyboard_set_table(scancode_tandy);
device_add(&fdc_xt_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
switch(type) {
case TYPE_TANDY:
@@ -1524,6 +1526,7 @@ machine_tandy1k_init(const machine_t *model, int type)
device_add_ex(&vid_device_sl, dev);
device_add(&pssj_device);
device_add(&eep_1000sl2_device);
break;
}
if (joystick_type != JOYSTICK_TYPE_NONE)

View File

@@ -10,6 +10,7 @@
#include <86box/device.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/gameport.h>
#include <86box/ibm_5161.h>
#include <86box/keyboard.h>
@@ -24,7 +25,9 @@ machine_xt_common_init(const machine_t *model)
pit_ctr_set_out_func(&pit->counters[1], pit_refresh_timer_xt);
device_add(&fdc_xt_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type != JOYSTICK_TYPE_NONE)
device_add(&gameport_device);

View File

@@ -31,6 +31,7 @@
#include <86box/device.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/gameport.h>
#include <86box/keyboard.h>
#include <86box/lpt.h>
@@ -53,7 +54,8 @@ machine_xt_compaq_init(const machine_t *model)
pit_ctr_set_out_func(&pit->counters[1], pit_refresh_timer_xt);
device_add(&keyboard_xt_compaq_device);
device_add(&fdc_xt_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
nmi_init();
if (joystick_type != JOYSTICK_TYPE_NONE)
device_add(&gameport_device);

View File

@@ -36,6 +36,7 @@
#include <86box/device.h>
#include <86box/fdd.h>
#include <86box/fdc.h>
#include <86box/fdc_ext.h>
#include <86box/gameport.h>
#include <86box/keyboard.h>
#include <86box/lpt.h>
@@ -116,8 +117,10 @@ machine_xt_zenith_init(const machine_t *model)
return ret;
machine_common_init(model);
device_add(&fdc_xt_device);
if (fdc_type == FDC_INTERNAL)
device_add(&fdc_xt_device);
lpt1_remove(); /* only one parallel port */
lpt2_remove();
lpt1_init(0x278);