mirror of
https://github.com/simh/simh.git
synced 2026-04-17 00:36:00 +00:00
SDS: Add different 6-bit internal to/from ASCII character conversion tables for 940 mode
The existing conversion tables were for the 930 and earlier models of SDS computers. The SDS 940 altered these tables. This change selects the appropriate table based upon the current CPU mode -- whether operating as a 930 or a 940. See Appendix A of both the 930 and 940 reference manuals for detailed character conversion information. Correct 930 ASCII to internal table for ASCII input value 0140.
This commit is contained in:
@@ -40,7 +40,6 @@
|
||||
#define SET_EOR 2 /* print, set eor */
|
||||
#define SET_SPC 4 /* space */
|
||||
|
||||
extern char sds_to_ascii[64];
|
||||
extern uint32 xfr_req;
|
||||
extern int32 stop_invins, stop_invdev, stop_inviop;
|
||||
int32 lpt_spc = 0; /* space instr */
|
||||
@@ -69,6 +68,7 @@ t_stat lpt_status (UNIT *uptr);
|
||||
t_stat lpt_bufout (UNIT *uptr);
|
||||
void lpt_end_op (int32 fl);
|
||||
t_stat lpt (uint32 fnc, uint32 inst, uint32 *dat);
|
||||
int8 sds_to_ascii(int8 c);
|
||||
|
||||
/* LPT data structures
|
||||
|
||||
@@ -182,7 +182,7 @@ switch (fnc) { /* case function */
|
||||
break;
|
||||
|
||||
case IO_WRITE: /* write */
|
||||
asc = sds_to_ascii[(*dat) & 077]; /* convert data */
|
||||
asc = sds_to_ascii(*dat); /* convert data */
|
||||
xfr_req = xfr_req & ~XFR_LPT; /* clr xfr flag */
|
||||
if (lpt_bptr < LPT_WIDTH) /* store data */
|
||||
lpt_buf[lpt_bptr++] = asc;
|
||||
|
||||
Reference in New Issue
Block a user