clang-format in src/sio/
This commit is contained in:
@@ -30,9 +30,9 @@
|
||||
#include <86box/fdc.h>
|
||||
#include <86box/sio.h>
|
||||
|
||||
#define FSR dev->regs[0xa0]
|
||||
#define ASR dev->regs[0xa1]
|
||||
#define PDR dev->regs[0xa2]
|
||||
#define FSR dev->regs[0xa0]
|
||||
#define ASR dev->regs[0xa1]
|
||||
#define PDR dev->regs[0xa2]
|
||||
#define HAS_IDE_FUNCTIONALITY dev->ide_function
|
||||
|
||||
#ifdef ENABLE_PRIME3B_LOG
|
||||
@@ -42,23 +42,22 @@ prime3b_log(const char *fmt, ...)
|
||||
{
|
||||
va_list ap;
|
||||
|
||||
if (prime3b_do_log)
|
||||
{
|
||||
if (prime3b_do_log) {
|
||||
va_start(ap, fmt);
|
||||
pclog_ex(fmt, ap);
|
||||
va_end(ap);
|
||||
}
|
||||
}
|
||||
#else
|
||||
#define prime3b_log(fmt, ...)
|
||||
# define prime3b_log(fmt, ...)
|
||||
#endif
|
||||
|
||||
typedef struct
|
||||
{
|
||||
uint8_t index, regs[256], cfg_lock, ide_function;
|
||||
uint8_t index, regs[256], cfg_lock, ide_function;
|
||||
uint16_t com3_addr, com4_addr;
|
||||
|
||||
fdc_t *fdc_controller;
|
||||
fdc_t *fdc_controller;
|
||||
serial_t *uart[2];
|
||||
|
||||
} prime3b_t;
|
||||
@@ -73,10 +72,9 @@ void prime3b_powerdown(prime3b_t *dev);
|
||||
static void
|
||||
prime3b_write(uint16_t addr, uint8_t val, void *priv)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *)priv;
|
||||
prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
if (addr == 0x398)
|
||||
{
|
||||
if (addr == 0x398) {
|
||||
dev->index = val;
|
||||
|
||||
/* Enter/Escape Configuration Mode */
|
||||
@@ -84,50 +82,46 @@ prime3b_write(uint16_t addr, uint8_t val, void *priv)
|
||||
dev->cfg_lock = 0;
|
||||
else if (val == 0xcc)
|
||||
dev->cfg_lock = 1;
|
||||
}
|
||||
else if ((addr == 0x399) && !dev->cfg_lock)
|
||||
{
|
||||
switch (dev->index)
|
||||
{
|
||||
case 0xa0: /* Function Selection Register (FSR) */
|
||||
FSR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 0xa1: /* Address Selection Register (ASR) */
|
||||
ASR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 0xa2: /* Power Down Register (PDR) */
|
||||
dev->regs[0xa2] = val;
|
||||
break;
|
||||
case 0xa3: /* Test Mode Register (TMR) */
|
||||
dev->regs[0xa3] = val;
|
||||
break;
|
||||
case 0xa4: /* Miscellaneous Function Register */
|
||||
dev->regs[0xa4] = val;
|
||||
switch ((dev->regs[0xa4] >> 6) & 3)
|
||||
{
|
||||
case 0:
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = COM4_ADDR;
|
||||
} else if ((addr == 0x399) && !dev->cfg_lock) {
|
||||
switch (dev->index) {
|
||||
case 0xa0: /* Function Selection Register (FSR) */
|
||||
FSR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 1:
|
||||
dev->com3_addr = 0x338;
|
||||
dev->com4_addr = 0x238;
|
||||
case 0xa1: /* Address Selection Register (ASR) */
|
||||
ASR = val;
|
||||
prime3b_enable(dev);
|
||||
break;
|
||||
case 2:
|
||||
dev->com3_addr = COM4_ADDR;
|
||||
dev->com4_addr = 0x2e0;
|
||||
case 0xa2: /* Power Down Register (PDR) */
|
||||
dev->regs[0xa2] = val;
|
||||
break;
|
||||
case 3:
|
||||
dev->com3_addr = 0x220;
|
||||
dev->com4_addr = 0x228;
|
||||
case 0xa3: /* Test Mode Register (TMR) */
|
||||
dev->regs[0xa3] = val;
|
||||
break;
|
||||
case 0xa4: /* Miscellaneous Function Register */
|
||||
dev->regs[0xa4] = val;
|
||||
switch ((dev->regs[0xa4] >> 6) & 3) {
|
||||
case 0:
|
||||
dev->com3_addr = COM3_ADDR;
|
||||
dev->com4_addr = COM4_ADDR;
|
||||
break;
|
||||
case 1:
|
||||
dev->com3_addr = 0x338;
|
||||
dev->com4_addr = 0x238;
|
||||
break;
|
||||
case 2:
|
||||
dev->com3_addr = COM4_ADDR;
|
||||
dev->com4_addr = 0x2e0;
|
||||
break;
|
||||
case 3:
|
||||
dev->com3_addr = 0x220;
|
||||
dev->com4_addr = 0x228;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xa5: /* ECP Register */
|
||||
dev->regs[0xa5] = val;
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 0xa5: /* ECP Register */
|
||||
dev->regs[0xa5] = val;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -135,12 +129,13 @@ prime3b_write(uint16_t addr, uint8_t val, void *priv)
|
||||
static uint8_t
|
||||
prime3b_read(uint16_t addr, void *priv)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *)priv;
|
||||
prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
return dev->regs[dev->index];
|
||||
}
|
||||
|
||||
void prime3b_fdc_handler(prime3b_t *dev)
|
||||
void
|
||||
prime3b_fdc_handler(prime3b_t *dev)
|
||||
{
|
||||
uint16_t fdc_base = !(ASR & 0x40) ? FDC_PRIMARY_ADDR : FDC_SECONDARY_ADDR;
|
||||
fdc_remove(dev->fdc_controller);
|
||||
@@ -148,7 +143,8 @@ void prime3b_fdc_handler(prime3b_t *dev)
|
||||
prime3b_log("Prime3B-FDC: Enabled with base %03x\n", fdc_base);
|
||||
}
|
||||
|
||||
void prime3b_uart_handler(uint8_t num, prime3b_t *dev)
|
||||
void
|
||||
prime3b_uart_handler(uint8_t num, prime3b_t *dev)
|
||||
{
|
||||
uint16_t uart_base;
|
||||
if ((ASR >> (3 + 2 * num)) & 1)
|
||||
@@ -161,7 +157,8 @@ void prime3b_uart_handler(uint8_t num, prime3b_t *dev)
|
||||
prime3b_log("Prime3B-UART%d: Enabled with base %03x\n", num, uart_base);
|
||||
}
|
||||
|
||||
void prime3b_lpt_handler(prime3b_t *dev)
|
||||
void
|
||||
prime3b_lpt_handler(prime3b_t *dev)
|
||||
{
|
||||
uint16_t lpt_base = (ASR & 2) ? LPT_MDA_ADDR : (!(ASR & 1) ? LPT1_ADDR : LPT2_ADDR);
|
||||
lpt1_remove();
|
||||
@@ -170,7 +167,8 @@ void prime3b_lpt_handler(prime3b_t *dev)
|
||||
prime3b_log("Prime3B-LPT: Enabled with base %03x\n", lpt_base);
|
||||
}
|
||||
|
||||
void prime3b_ide_handler(prime3b_t *dev)
|
||||
void
|
||||
prime3b_ide_handler(prime3b_t *dev)
|
||||
{
|
||||
ide_pri_disable();
|
||||
uint16_t ide_base = !(ASR & 0x80) ? 0x1f0 : 0x170;
|
||||
@@ -180,7 +178,8 @@ void prime3b_ide_handler(prime3b_t *dev)
|
||||
prime3b_log("Prime3B-IDE: Enabled with base %03x and side %03x\n", ide_base, ide_side);
|
||||
}
|
||||
|
||||
void prime3b_enable(prime3b_t *dev)
|
||||
void
|
||||
prime3b_enable(prime3b_t *dev)
|
||||
{
|
||||
/*
|
||||
Simulate a device enable/disable scenario
|
||||
@@ -205,7 +204,8 @@ void prime3b_enable(prime3b_t *dev)
|
||||
(FSR & 0x20) ? prime3b_ide_handler(dev) : ide_pri_disable();
|
||||
}
|
||||
|
||||
void prime3b_powerdown(prime3b_t *dev)
|
||||
void
|
||||
prime3b_powerdown(prime3b_t *dev)
|
||||
{
|
||||
/* Note: It can be done more efficiently for sure */
|
||||
uint8_t old_base = PDR;
|
||||
@@ -235,7 +235,7 @@ void prime3b_powerdown(prime3b_t *dev)
|
||||
static void
|
||||
prime3b_close(void *priv)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *)priv;
|
||||
prime3b_t *dev = (prime3b_t *) priv;
|
||||
|
||||
free(dev);
|
||||
}
|
||||
@@ -243,7 +243,7 @@ prime3b_close(void *priv)
|
||||
static void *
|
||||
prime3b_init(const device_t *info)
|
||||
{
|
||||
prime3b_t *dev = (prime3b_t *)malloc(sizeof(prime3b_t));
|
||||
prime3b_t *dev = (prime3b_t *) malloc(sizeof(prime3b_t));
|
||||
memset(dev, 0, sizeof(prime3b_t));
|
||||
|
||||
/* Avoid conflicting with machines that make no use of the Prime3B Internal IDE */
|
||||
@@ -252,8 +252,8 @@ prime3b_init(const device_t *info)
|
||||
dev->regs[0xa0] = 3;
|
||||
|
||||
dev->fdc_controller = device_add(&fdc_at_device);
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
dev->uart[0] = device_add_inst(&ns16550_device, 1);
|
||||
dev->uart[1] = device_add_inst(&ns16550_device, 2);
|
||||
if (HAS_IDE_FUNCTIONALITY)
|
||||
device_add(&ide_isa_device);
|
||||
|
||||
@@ -269,29 +269,29 @@ prime3b_init(const device_t *info)
|
||||
}
|
||||
|
||||
const device_t prime3b_device = {
|
||||
.name = "Goldstar Prime3B",
|
||||
.name = "Goldstar Prime3B",
|
||||
.internal_name = "prime3b",
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
.flags = 0,
|
||||
.local = 0,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
const device_t prime3b_ide_device = {
|
||||
.name = "Goldstar Prime3B with IDE functionality",
|
||||
.name = "Goldstar Prime3B with IDE functionality",
|
||||
.internal_name = "prime3b_ide",
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
.flags = 0,
|
||||
.local = 1,
|
||||
.init = prime3b_init,
|
||||
.close = prime3b_close,
|
||||
.reset = NULL,
|
||||
{ .available = NULL },
|
||||
.speed_changed = NULL,
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
.force_redraw = NULL,
|
||||
.config = NULL
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user