TT2500: Fix unit flags.

The previous commit had some untested last-minute changes.
This commit is contained in:
Lars Brinkhoff 2020-12-02 20:09:02 +01:00
parent 44cc9f3f6d
commit 1f76c0ce8a
2 changed files with 16 additions and 21 deletions

View file

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

View file

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