Support additional serial ports ala the MP5587-1/2

This commit is contained in:
Jasmine Iwanek
2024-06-28 23:30:56 -04:00
parent 22f1ef57de
commit 2373771f4d
4 changed files with 22 additions and 4 deletions

View File

@@ -171,8 +171,8 @@ int video_filter_method = 1; /* (C) video *
int video_vsync = 0; /* (C) video */
int video_framerate = -1; /* (C) video */
char video_shader[512] = { '\0' }; /* (C) video */
bool serial_passthrough_enabled[SERIAL_MAX] = { 0, 0, 0, 0 }; /* (C) activation and kind of
pass-through for serial ports */
bool serial_passthrough_enabled[SERIAL_MAX] = { 0, 0, 0, 0, 0, 0, 0 }; /* (C) activation and kind of
pass-through for serial ports */
int bugger_enabled = 0; /* (C) enable ISAbugger */
int novell_keycard_enabled = 0; /* (C) enable Novell NetWare 2.x key card emulation. */
int postcard_enabled = 0; /* (C) enable POST card */

View File

@@ -912,7 +912,13 @@ serial_init(const device_t *info)
memset(&(serial_devices[next_inst]), 0, sizeof(serial_device_t));
dev->sd = &(serial_devices[next_inst]);
dev->sd->serial = dev;
if (next_inst == 3)
if (next_inst == 6)
serial_setup(dev, COM7_ADDR, COM7_IRQ);
else if (next_inst == 5)
serial_setup(dev, COM6_ADDR, COM6_IRQ);
else if (next_inst == 4)
serial_setup(dev, COM5_ADDR, COM5_IRQ);
else if (next_inst == 3)
serial_setup(dev, COM4_ADDR, COM4_IRQ);
else if (next_inst == 2)
serial_setup(dev, COM3_ADDR, COM3_IRQ);

View File

@@ -21,7 +21,7 @@
#define EMU_86BOX_H
/* Configuration values. */
#define SERIAL_MAX 4
#define SERIAL_MAX 7
#define PARALLEL_MAX 4
#define SCREEN_RES_X 640
#define SCREEN_RES_Y 480

View File

@@ -43,6 +43,18 @@
#define COM3_IRQ 4
#define COM4_ADDR 0x02e8
#define COM4_IRQ 3
// The following support being assingned IRQ 3, 4, 5, 9, 10, 11, 12 or 15
// There doesn't appear to be any specific standard however
// So defaults have been chosen arbitarily
// TODO: Allow configuration of the IRQ in the UI
//#define COM5_ADDR 0x03f0
//#define COM5_IRQ 3
#define COM5_ADDR 0x02f0
#define COM5_IRQ 11
#define COM6_ADDR 0x03e0
#define COM6_IRQ 10
#define COM7_ADDR 0x02e0
#define COM7_IRQ 9
struct serial_device_s;
struct serial_s;