From ccb32e53be9ab72bb0139f51a8ba228cc393e9c3 Mon Sep 17 00:00:00 2001 From: Richard Cornwell Date: Fri, 19 Nov 2021 20:00:20 -0500 Subject: [PATCH] IBM360: Misc fixes. Fix 2314 disk size, external interrupt, card reader stack. --- IBM360/ibm360_cdr.c | 4 +++- IBM360/ibm360_con.c | 6 ++++++ IBM360/ibm360_dasd.c | 2 +- 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/IBM360/ibm360_cdr.c b/IBM360/ibm360_cdr.c index b6f3da7..7815f46 100644 --- a/IBM360/ibm360_cdr.c +++ b/IBM360/ibm360_cdr.c @@ -318,8 +318,10 @@ cdr_attach(UNIT * uptr, CONST char *file) if ((r = sim_card_attach(uptr, file)) != SCPE_OK) return r; - if (uptr->up7 == 0) + if (uptr->up7 == NULL) uptr->up7 = malloc(sizeof(uint16)*80); + if (uptr->CMD & CDR_CARD) + return SCPE_OK; uptr->CMD &= ~(CDR_CARD|CDR_EOF|CDR_ERR); uptr->SNS = 0; uptr->COL = 0; diff --git a/IBM360/ibm360_con.c b/IBM360/ibm360_con.c index 04156d0..7e7cf1c 100644 --- a/IBM360/ibm360_con.c +++ b/IBM360/ibm360_con.c @@ -388,6 +388,12 @@ con_srv(UNIT *uptr) { con_data[u].inptr = 0; cmd = 0; } else { + if (ch == 030) { /* ^X Post external interrupt */ + sim_debug(DEBUG_CMD, &con_dev, "Console %d: ^X Key (external interrupt)\n", u); + post_extirq(); + sim_activate(uptr, delay); + return SCPE_OK; + } sim_debug(DEBUG_CMD, &con_dev, "%d: error %x\n", u, cmd); if (cmd == 0) uptr->CMD |= CON_REQ; diff --git a/IBM360/ibm360_dasd.c b/IBM360/ibm360_dasd.c index 402ac5d..bae25f7 100644 --- a/IBM360/ibm360_dasd.c +++ b/IBM360/ibm360_dasd.c @@ -218,7 +218,7 @@ disk_type[] = {"2305", 48, 8, 14568, 6, 0x05}, /* 5.43 M */ {"2305-2",96, 8, 14858, 6, 0x05}, /* 11.26 M */ {"2311", 203, 10, 3717, 6, 0x11}, /* 7.32 M 156k/s 30 ms 145 full */ - {"2314", 203, 20, 7294, 6, 0x14}, /* 29.17 M */ + {"2314", 202, 20, 7294, 6, 0x14}, /* 29.17 M */ {"3330", 410, 19, 13165, 24, 0x30}, /* 100.00 M */ {"3330-2",815, 19, 13165, 24, 0x30}, {"3340", 349, 12, 8535, 24, 0x40}, /* 34.94 M */