diff --git a/IBM360/ibm360_cdp.c b/IBM360/ibm360_cdp.c index 8ee3067..27e7c54 100644 --- a/IBM360/ibm360_cdp.c +++ b/IBM360/ibm360_cdp.c @@ -178,7 +178,7 @@ cdp_srv(UNIT *uptr) { /* Done waiting, punch card */ uptr->u3 &= ~CDP_CARD; sim_debug(DEBUG_DETAIL, &cdp_dev, "unit=%d:punch\n", u); - switch(sim_punch_card(uptr, NULL, image)) { + switch(sim_punch_card(uptr, image)) { /* If we get here, something is wrong */ case SCPE_IOERR: set_devattn(addr, SNS_DEVEND|SNS_UNITCHK); @@ -234,7 +234,7 @@ cdp_detach(UNIT * uptr) uint16 *image = (uint16 *)(uptr->up7); if (uptr->u5 & CDP_CARD) - sim_punch_card(uptr, NULL, image); + sim_punch_card(uptr, image); if (uptr->up7 != 0) free(uptr->up7); uptr->up7 = 0; diff --git a/IBM360/ibm360_cdr.c b/IBM360/ibm360_cdr.c index c0ae46d..6fcc01c 100644 --- a/IBM360/ibm360_cdr.c +++ b/IBM360/ibm360_cdr.c @@ -252,6 +252,8 @@ cdr_attach(UNIT * uptr, CONST char *file) if ((r = sim_card_attach(uptr, file)) != SCPE_OK) return r; + if (uptr->up7 == 0) + uptr->up7 = malloc(sizeof(uint16)*80); set_devattn(addr, SNS_DEVEND); uptr->u3 &= ~(CDR_CARD); uptr->u4 = 0;