PDP-10 update: CD20

Make the card reader work on TOPS-10 and TOPS-20.
Augmented Image ECO was not implemented.
Simplify UI by defining commands for the various options/models emulated based on the simulator being built.
Document, and make the help conditional on model where that reduces clutter.
Deal with <CR><LF> reading ASCII files (file is opened 'rb' in scp's attach ; it shouldn't be.
Add translation support for DEC 026/029 full 7-bit ASCII, an ANSI standard & used by TOPS-10/20.
Deliver EOF at the correct time(s).
Preliminary support for update to card image spec being negotiated with the author.
This commit is contained in:
Timothe Litt 2013-07-05 00:16:11 -04:00
parent 9c7f4237d3
commit 1bfc2bc57e
2 changed files with 840 additions and 403 deletions

File diff suppressed because it is too large Load diff

View file

@ -128,7 +128,44 @@ static const int EBCDIC_code[] = {
06004,06002,06001,03200,03100,03040,03020,03010, /* pqrstuvw */
03004,03002,03001,ERROR,ERROR,ERROR,ERROR,ERROR /* xyz{|}~ */
};
/* DEC's 026 code extended to full 7-bit ASCII, as used in the DECsystem-10. */
static const int o26_decascii_code[] = {
05403, 04401, 04201, 04101, 00005, 01023, 01013, 01007,
02011, 04021, 01021, 04103, 04043, 04023, 04013, 04007,
06403, 02401, 02201, 02101, 00043, 00023, 00201, 01011,
02003, 02403, 00007, 01005, 02043, 02023, 02013, 02007,
00000, 04006, 01022, 01012, 02102, 01006, 02006, 00012,
01042, 04042, 02042, 04000, 01102, 02000, 04102, 01400,
01000, 00400, 00200, 00100, 00040, 00020, 00010, 00004,
00002, 00001, 02202, 01202, 04012, 00102, 02012, 04202,
00042, 04400, 04200, 04100, 04040, 04020, 04010, 04004,
04002, 04001, 02400, 02200, 02100, 02040, 02020, 02010,
02004, 02002, 02001, 01200, 01100, 01040, 01020, 01010,
01004, 01002, 01001, 02022, 00006, 04022, 00022, 00202,
00402, 05400, 05200, 05100, 05040, 05020, 05010, 05004,
05002, 05001, 06400, 06200, 06100, 06040, 06020, 06010,
06004, 06002, 06001, 03200, 03100, 03040, 03020, 03010,
03004, 03002, 03001, 05000, 06000, 03000, 03400, 04005,
};
/* DEC's 029 code extended to full 7-bit ASCII, as used in the DECsystem-10. */
static const int o29_decascii_code[] = {
05403, 04401, 04201, 04101, 00005, 01023, 01013, 01007,
02011, 04021, 01021, 04103, 04043, 04023, 04013, 04007,
06403, 02401, 02201, 02101, 00043, 00023, 00201, 01011,
02003, 02403, 00007, 01005, 02043, 02023, 02013, 02007,
00000, 04006, 00006, 00102, 02102, 01042, 04000, 00022,
04022, 02022, 02042, 04012, 01102, 02000, 04102, 01400,
01000, 00400, 00200, 00100, 00040, 00020, 00010, 00004,
00002, 00001, 00202, 02012, 04042, 00012, 01012, 01006,
00042, 04400, 04200, 04100, 04040, 04020, 04010, 04004,
04002, 04001, 02400, 02200, 02100, 02040, 02020, 02010,
02004, 02002, 02001, 01200, 01100, 01040, 01020, 01010,
01004, 01002, 01001, 04202, 01202, 02202, 02006, 01022,
00402, 05400, 05200, 05100, 05040, 05020, 05010, 05004,
05002, 05001, 06400, 06200, 06100, 06040, 06020, 06010,
06004, 06002, 06001, 03200, 03100, 03040, 03020, 03010,
03004, 03002, 03001, 05000, 06000, 03000, 03400, 04005,
};
static const int h2c_code[4096] = {
0000, 0020, 0010, 0030, 0007, 0027, 0017, 0037,
0006, 0026, 0016, 0036, 0007, 0027, 0017, 0037,