TT2500: Fix unit flags.
The previous commit had some untested last-minute changes.
This commit is contained in:
parent
44cc9f3f6d
commit
1f76c0ce8a
2 changed files with 16 additions and 21 deletions
|
@ -30,9 +30,9 @@
|
||||||
/* Debug */
|
/* Debug */
|
||||||
#define DBG 0001
|
#define DBG 0001
|
||||||
|
|
||||||
#define KEY_DISPLAY 1
|
#define KEY_DISPLAY (1 << UNIT_V_UF)
|
||||||
#define KEY_CONSOLE 2
|
#define KEY_CONSOLE (2 << UNIT_V_UF)
|
||||||
#define KEY_TYPE 3
|
#define KEY_TYPE (3 << UNIT_V_UF)
|
||||||
|
|
||||||
#define SHFT 01000
|
#define SHFT 01000
|
||||||
#define CTRL 02000
|
#define CTRL 02000
|
||||||
|
@ -50,8 +50,14 @@ static t_stat key_reset (DEVICE *dptr);
|
||||||
static uint16 key_read (uint16 reg);
|
static uint16 key_read (uint16 reg);
|
||||||
static void key_write (uint16 reg, uint16 data);
|
static void key_write (uint16 reg, uint16 data);
|
||||||
|
|
||||||
|
#if defined(USE_DISPLAY) || (defined(USE_SIM_VIDEO) && defined(HAVE_LIBSDL))
|
||||||
|
#define KBD_FLAGS KEY_DISPLAY
|
||||||
|
#else
|
||||||
|
#define KBD_FLAGS KEY_CONSOLE
|
||||||
|
#endif
|
||||||
|
|
||||||
static UNIT key_unit = {
|
static UNIT key_unit = {
|
||||||
UDATA (&key_svc, UNIT_IDLE, 0)
|
UDATA (&key_svc, UNIT_IDLE+KBD_FLAGS, 0)
|
||||||
};
|
};
|
||||||
|
|
||||||
static REG key_reg[] = {
|
static REG key_reg[] = {
|
||||||
|
@ -509,14 +515,6 @@ key_reset (DEVICE *dptr)
|
||||||
if (dptr->flags & DEV_DIS)
|
if (dptr->flags & DEV_DIS)
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
|
||||||
if ((key_unit.flags & KEY_TYPE) == 0) {
|
|
||||||
#if defined(USE_DISPLAY) || (defined(USE_SIM_VIDEO) && defined(HAVE_LIBSDL))
|
|
||||||
key_unit.flags |= KEY_DISPLAY;
|
|
||||||
#else
|
|
||||||
key_unit.flags |= KEY_CONSOLE;
|
|
||||||
#endif
|
|
||||||
}
|
|
||||||
|
|
||||||
if (key_unit.flags & KEY_DISPLAY)
|
if (key_unit.flags & KEY_DISPLAY)
|
||||||
#ifdef USE_DISPLAY
|
#ifdef USE_DISPLAY
|
||||||
vid_display_kb_event_process = key_event;
|
vid_display_kb_event_process = key_event;
|
||||||
|
|
|
@ -31,10 +31,10 @@
|
||||||
#define DBG_TX 0001
|
#define DBG_TX 0001
|
||||||
#define DBG_RX 0002
|
#define DBG_RX 0002
|
||||||
|
|
||||||
#define UART_FILE 1 /* Attached to a file. */
|
#define UART_FILE (1 << TTUF_V_UF) /* Attached to a file. */
|
||||||
#define UART_PORT 2 /* Attached to a network port. */
|
#define UART_PORT (2 << TTUF_V_UF) /* Attached to a network port. */
|
||||||
#define UART_TYPE 3 /* File or port. */
|
#define UART_TYPE (3 << TTUF_V_UF) /* File or port. */
|
||||||
#define UART_REVERSE 4 /* Transmit bits in reverse order. */
|
#define UART_REVERSE (4 << TTUF_V_UF) /* Transmit bits in reverse order. */
|
||||||
|
|
||||||
static uint16 RBUF, TBUF;
|
static uint16 RBUF, TBUF;
|
||||||
|
|
||||||
|
@ -51,8 +51,8 @@ static TMLN uart_ldsc = { 0 };
|
||||||
static TMXR uart_desc = { 1, 0, 0, &uart_ldsc };
|
static TMXR uart_desc = { 1, 0, 0, &uart_ldsc };
|
||||||
|
|
||||||
static UNIT uart_unit[] = {
|
static UNIT uart_unit[] = {
|
||||||
{ UDATA (&uart_r_svc, UNIT_IDLE+UNIT_ATTABLE, 0) },
|
{ UDATA (&uart_r_svc, UNIT_IDLE+UNIT_ATTABLE+UART_PORT, 0) },
|
||||||
{ UDATA (&uart_t_svc, UNIT_IDLE+UNIT_ATTABLE, 0) }
|
{ UDATA (&uart_t_svc, UNIT_IDLE+UNIT_ATTABLE+UART_PORT, 0) }
|
||||||
};
|
};
|
||||||
|
|
||||||
static REG uart_reg[] = {
|
static REG uart_reg[] = {
|
||||||
|
@ -166,9 +166,6 @@ uart_t_svc(UNIT *uptr)
|
||||||
static t_stat
|
static t_stat
|
||||||
uart_reset (DEVICE *dptr)
|
uart_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
if ((uart_unit[0].flags & UART_TYPE) == 0)
|
|
||||||
uart_unit[0].flags |= UART_PORT;
|
|
||||||
|
|
||||||
flag_off (INT_RRD);
|
flag_off (INT_RRD);
|
||||||
flag_on (FLAG_RSD);
|
flag_on (FLAG_RSD);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
|
Loading…
Add table
Reference in a new issue