mirror of
https://github.com/simh/simh.git
synced 2026-04-24 19:33:40 +00:00
PDP18B: Latest updates from Bob Supnik
- Added unix v0 terminal support - Added 3-cycle databreak set/show entries - Revised for dynamically allocated memory - Added support for -u modifier (UC15 and Unix v0) These changes are to support the Unix v0 bringup and to implement a "Unix input" mode on the console terminal. In Unix mode, CR and LF are swapped (so that a modern terminal can use 'enter' instead of CTRK-J to create the newline Unix expects), escape is mapped to altmode (175), upper and lower case are enabled and the parity bit is forced to 1. This most closely matches the characteristics of the KSR-37, but there is no definitive evidence of the terminal that was actually used.
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
/* pdp18b_lp.c: 18b PDP's line printer simulator
|
||||
|
||||
Copyright (c) 1993-2015, Robert M Supnik
|
||||
Copyright (c) 1993-2016, Robert M Supnik
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a
|
||||
copy of this software and associated documentation files (the "Software"),
|
||||
@@ -28,6 +28,8 @@
|
||||
lp09 (PDP-9,15) LP09 line printer
|
||||
lp15 (PDP-15) LP15 line printer
|
||||
|
||||
10-Mar-16 RMS Added 3-cycle databreak set/show entry
|
||||
07-Mar-16 RMS Revised for dynamically allocated memory
|
||||
13-Sep-15 RMS Added APIVEC register
|
||||
19-Jan-07 RMS Added UNIT_TEXT flag
|
||||
11-Jun-06 RMS Made character translation table global scope
|
||||
@@ -666,7 +668,6 @@ return detach_unit (uptr);
|
||||
/* LP15 line printer */
|
||||
|
||||
#define LP15_BSIZE 132 /* line size */
|
||||
#define LPT_WC 034 /* word count */
|
||||
#define LPT_CA 035 /* current addr */
|
||||
|
||||
/* Status register */
|
||||
@@ -681,7 +682,7 @@ return detach_unit (uptr);
|
||||
#define STA_EFLGS (STA_ALM | STA_OVF | STA_IHT | STA_ILK)
|
||||
#define STA_CLR 0003777 /* always clear */
|
||||
|
||||
extern int32 M[];
|
||||
extern int32 *M;
|
||||
int32 lp15_sta = 0;
|
||||
int32 lp15_ie = 1;
|
||||
int32 lp15_stopioe = 0;
|
||||
@@ -714,7 +715,6 @@ UNIT lp15_unit = {
|
||||
|
||||
REG lp15_reg[] = {
|
||||
{ ORDATA (STA, lp15_sta, 18) },
|
||||
{ ORDATA (CA, M[LPT_CA], 18) },
|
||||
{ FLDATA (INT, int_hwre[API_LPT], INT_V_LPT) },
|
||||
{ FLDATA (ENABLE, lp15_ie, 0) },
|
||||
{ DRDATA (LCNT, lp15_lc, 9) },
|
||||
@@ -730,6 +730,7 @@ REG lp15_reg[] = {
|
||||
};
|
||||
|
||||
MTAB lp15_mod[] = {
|
||||
{ MTAB_XTD|MTAB_VDV|MTAB_NMO, LPT_CA, "CA", "CA", &set_3cyc_reg, &show_3cyc_reg, "CA" },
|
||||
{ MTAB_XTD|MTAB_VDV, 0, "DEVNO", "DEVNO", &set_devno, &show_devno },
|
||||
{ 0 }
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user