diff --git a/I7000/i7000_cdr.c b/I7000/i7000_cdr.c index aed6726..437456a 100644 --- a/I7000/i7000_cdr.c +++ b/I7000/i7000_cdr.c @@ -238,6 +238,7 @@ cdr_srv(UNIT *uptr) { /* Check if load card. */ if (uptr->capac && (data->image[uptr->capac-1] & 0x800)) { uptr->u5 |= URCSTA_LOAD; + chan_set_load_mode(chan); } else { uptr->u5 &= ~URCSTA_LOAD; } @@ -278,6 +279,13 @@ cdr_srv(UNIT *uptr) { ch = 017; #endif } + +#ifdef I7070 + /* During load, only sign on every 10 columns */ + if (uptr->u5 & URCSTA_LOAD && (uptr->u4 % 10) != 9) + ch &= 0xf; +#endif + switch(chan_write_char(chan, &ch, (uptr->u4 == 79)? DEV_REOR: 0)) { case TIME_ERROR: case END_RECORD: diff --git a/I7000/i7000_defs.h b/I7000/i7000_defs.h index a3de6ce..6395a83 100644 --- a/I7000/i7000_defs.h +++ b/I7000/i7000_defs.h @@ -391,6 +391,7 @@ void chan_set_attn_a(int chan); void chan_set_attn_b(int chan); void chan_set_attn_inq(int chan); void chan_clear_attn_inq(int chan); +void chan_set_load_mode(int chan); #endif #ifdef I7080 diff --git a/I7000/i7070_chan.c b/I7000/i7070_chan.c index 01de469..39224db 100644 --- a/I7000/i7070_chan.c +++ b/I7000/i7070_chan.c @@ -1555,6 +1555,13 @@ done: return DATA_OK; } +void +chan_set_load_mode(int chan) +{ + cmd[chan] &= ~CHN_ALPHA; + cmd[chan] |= CHN_NUM_MODE; +} + void chan9_set_error(int chan, uint32 mask) {