From c35cb19bfc9a76f92df91eb081c6d3db25a25b35 Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Sat, 13 Jan 2024 15:48:46 -0500 Subject: [PATCH] IBM360: Added missing 3270 command that MVS wants. --- IBM360/ibm360_scom.c | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/IBM360/ibm360_scom.c b/IBM360/ibm360_scom.c index 475b375..151e89b 100644 --- a/IBM360/ibm360_scom.c +++ b/IBM360/ibm360_scom.c @@ -38,7 +38,9 @@ #define CMD_WRER 0x05 /* Erase and write data */ #define CMD_RDMD 0x06 /* Read modified */ #define CMD_SEL 0x0B /* Select */ +#define CMD_WRERALT 0x0D /* Write erase alternative */ #define CMD_EAU 0x0F /* Erase all un protected */ +#define CMD_WSF 0x11 /* Writye structured field */ /* u3 second byte */ #define RECV 0x00100 /* Recieving data */ @@ -102,12 +104,14 @@ #define TS_DO 4 /* Have seen IAC DO */ #define TS_DONT 5 /* Have seen IAC DONT */ -/* Remove orders */ +/* Remote orders */ #define REMOTE_EAU 0x6F /* Erase all unprotected */ #define REMOTE_EW 0xF5 /* Erase/Write */ #define REMOTE_RB 0xF2 /* Read Buffer */ #define REMOTE_RM 0x6e /* Read Modified */ +#define REMOTE_WRERALT 0x7e /* Write erase alternative */ #define REMOTE_WRT 0xF1 /* Write */ +#define REMOTE_WSF 0xF3 /* Write structured field */ struct _line { uint16 option_state[256]; /* Current telnet state */ @@ -247,6 +251,8 @@ uint8 scoml_haltio(UNIT *uptr) { case CMD_WRER: /* Erase and write data */ case CMD_RDMD: /* Read modified */ case CMD_EAU: /* Erase all un protected */ + case CMD_WSF: /* Write Structured field */ + case CMD_WRERALT: /* Write erase alternative */ uptr->CMD |= HALT; chan_end(addr, SNS_CHNEND|SNS_DEVEND); sim_activate(uptr, 20); @@ -325,6 +331,14 @@ t_stat scoml_srv(UNIT * uptr) break; + case CMD_WRERALT: /* Write erase alternative */ + ch = REMOTE_WRERALT; + goto write; + + case CMD_WSF: /* Write structured field */ + ch = REMOTE_WSF; + goto write; + case CMD_WRER: /* Erase and write data */ ch = REMOTE_EW; goto write;