PDP11: RP11-C (RP02/03) disk implementation

This commit is contained in:
Tony Lawrence 2023-06-07 20:21:51 -04:00
parent 8b6c0b60c9
commit a653bbfcec
9 changed files with 1283 additions and 3 deletions

View file

@ -65,6 +65,7 @@ add_simulator(pdp11
pdp11_daz.c pdp11_daz.c
pdp11_tv.c pdp11_tv.c
pdp11_mb.c pdp11_mb.c
pdp11_rr.c
${DISPLAYNG} ${DISPLAYNG}
${DISPLAYVT} ${DISPLAYVT}
INCLUDES INCLUDES

View file

@ -640,6 +640,7 @@ typedef struct pdp_dib DIB;
#define INT_V_NG 27 #define INT_V_NG 27
#define INT_V_DHRX 28 #define INT_V_DHRX 28
#define INT_V_DHTX 29 #define INT_V_DHTX 29
#define INT_V_RR 30
#define INT_V_PIR4 0 /* BR4 */ #define INT_V_PIR4 0 /* BR4 */
#define INT_V_TTI 1 #define INT_V_TTI 1
@ -682,6 +683,7 @@ typedef struct pdp_dib DIB;
#define INT_RX (1u << INT_V_RX) #define INT_RX (1u << INT_V_RX)
#define INT_TM (1u << INT_V_TM) #define INT_TM (1u << INT_V_TM)
#define INT_RP (1u << INT_V_RP) #define INT_RP (1u << INT_V_RP)
#define INT_RR (1u << INT_V_RR)
#define INT_TS (1u << INT_V_TS) #define INT_TS (1u << INT_V_TS)
#define INT_HK (1u << INT_V_HK) #define INT_HK (1u << INT_V_HK)
#define INT_RQ (1u << INT_V_RQ) #define INT_RQ (1u << INT_V_RQ)
@ -750,6 +752,7 @@ typedef struct pdp_dib DIB;
#define IPL_RX 5 #define IPL_RX 5
#define IPL_TM 5 #define IPL_TM 5
#define IPL_RP 5 #define IPL_RP 5
#define IPL_RR 5
#define IPL_TS 5 #define IPL_TS 5
#define IPL_HK 5 #define IPL_HK 5
#define IPL_RQ 5 #define IPL_RQ 5

View file

@ -673,6 +673,8 @@ AUTO_CON auto_tab[] = {/*c #v am vm fxa fxv */
{010700} }, /* KG11-A - fx CSR, no VEC */ {010700} }, /* KG11-A - fx CSR, no VEC */
{ { "RHA" }, 1, 1, 0, 0, { { "RHA" }, 1, 1, 0, 0,
{016700}, {0254} }, /* RH11/RH70 - fx CSR, fx VEC */ {016700}, {0254} }, /* RH11/RH70 - fx CSR, fx VEC */
{ { "RR" }, 1, 1, 0, 0,
{016710}, {0254} }, /* RP11/-C/-E - fx CSR, fx VEC */
{ { "RHB" }, 1, 1, 0, 0, { { "RHB" }, 1, 1, 0, 0,
{012440}, {0224} }, /* RH11/RH70 - fx CSR, fx VEC */ {012440}, {0224} }, /* RH11/RH70 - fx CSR, fx VEC */
{ { "RHC" }, 1, 1, 0, 0, { { "RHC" }, 1, 1, 0, 0,
@ -704,8 +706,6 @@ AUTO_CON auto_tab[] = {/*c #v am vm fxa fxv */
{015606}, {0250} }, /* RB730 - fx CSR, fx VEC */ {015606}, {0250} }, /* RB730 - fx CSR, fx VEC */
{ { "RL" }, 1, 1, 0, 0, { { "RL" }, 1, 1, 0, 0,
{014400}, {0160} }, /* RL11 - fx CSR, fx VEC */ {014400}, {0160} }, /* RL11 - fx CSR, fx VEC */
{ { "RL" }, 1, 1, 0, 0,
{014400}, {0160} }, /* RL11 - fx CSR, fx VEC */
{ { "DCI" }, 1, 2, 0, 8, { { "DCI" }, 1, 2, 0, 8,
{014000, 014010, 014020, 014030, {014000, 014010, 014020, 014030,
014040, 014050, 014060, 014070, 014040, 014050, 014060, 014070,

1266
PDP11/pdp11_rr.c Normal file

File diff suppressed because it is too large Load diff

View file

@ -101,6 +101,7 @@ extern DEVICE rx_dev;
extern DEVICE ry_dev; extern DEVICE ry_dev;
extern DEVICE mba_dev[]; extern DEVICE mba_dev[];
extern DEVICE rp_dev; extern DEVICE rp_dev;
extern DEVICE rr_dev;
extern DEVICE rs_dev; extern DEVICE rs_dev;
extern DEVICE rq_dev, rqb_dev, rqc_dev, rqd_dev; extern DEVICE rq_dev, rqb_dev, rqc_dev, rqd_dev;
extern DEVICE tm_dev; extern DEVICE tm_dev;
@ -182,6 +183,7 @@ DEVICE *sim_devices[] = {
&rx_dev, &rx_dev,
&ry_dev, &ry_dev,
&rp_dev, &rp_dev,
&rr_dev,
&rs_dev, &rs_dev,
&rq_dev, &rq_dev,
&rqb_dev, &rqb_dev,

View file

@ -325,6 +325,10 @@
RelativePath="..\PDP11\pdp11_rp.c" RelativePath="..\PDP11\pdp11_rp.c"
> >
</File> </File>
<File
RelativePath="..\PDP11\pdp11_rr.c"
>
</File>
<File <File
RelativePath="..\PDP11\pdp11_rq.c" RelativePath="..\PDP11\pdp11_rq.c"
> >

View file

@ -284,6 +284,7 @@
<ClCompile Include="..\PDP11\pdp11_rl.c" /> <ClCompile Include="..\PDP11\pdp11_rl.c" />
<ClCompile Include="..\PDP11\pdp11_rom.c" /> <ClCompile Include="..\PDP11\pdp11_rom.c" />
<ClCompile Include="..\PDP11\pdp11_rp.c" /> <ClCompile Include="..\PDP11\pdp11_rp.c" />
<ClCompile Include="..\PDP11\pdp11_rr.c" />
<ClCompile Include="..\PDP11\pdp11_rq.c" /> <ClCompile Include="..\PDP11\pdp11_rq.c" />
<ClCompile Include="..\PDP11\pdp11_rs.c" /> <ClCompile Include="..\PDP11\pdp11_rs.c" />
<ClCompile Include="..\PDP11\pdp11_rx.c" /> <ClCompile Include="..\PDP11\pdp11_rx.c" />

View file

@ -117,6 +117,9 @@
<ClCompile Include="..\PDP11\pdp11_rp.c"> <ClCompile Include="..\PDP11\pdp11_rp.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="..\PDP11\pdp11_rr.c">
<Filter>Source Files</Filter>
</ClCompile>
<ClCompile Include="..\PDP11\pdp11_rq.c"> <ClCompile Include="..\PDP11\pdp11_rq.c">
<Filter>Source Files</Filter> <Filter>Source Files</Filter>
</ClCompile> </ClCompile>

View file

@ -1493,7 +1493,7 @@ PDP11 = ${PDP11D}/pdp11_fp.c ${PDP11D}/pdp11_cpu.c ${PDP11D}/pdp11_dz.c \
${PDP11D}/pdp11_vt.c ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c \ ${PDP11D}/pdp11_vt.c ${PDP11D}/pdp11_td.c ${PDP11D}/pdp11_io_lib.c \
${PDP11D}/pdp11_rom.c ${PDP11D}/pdp11_ch.c ${PDP11D}/pdp11_dh.c \ ${PDP11D}/pdp11_rom.c ${PDP11D}/pdp11_ch.c ${PDP11D}/pdp11_dh.c \
${PDP11D}/pdp11_ng.c ${PDP11D}/pdp11_daz.c ${PDP11D}/pdp11_tv.c \ ${PDP11D}/pdp11_ng.c ${PDP11D}/pdp11_daz.c ${PDP11D}/pdp11_tv.c \
${PDP11D}/pdp11_mb.c \ ${PDP11D}/pdp11_mb.c ${PDP11D}/pdp11_rr.c \
${DISPLAYL} ${DISPLAYNG} ${DISPLAYVT} ${DISPLAYL} ${DISPLAYNG} ${DISPLAYVT}
PDP11_OPT = -DVM_PDP11 -I ${PDP11D} ${NETWORK_OPT} ${DISPLAY_OPT} PDP11_OPT = -DVM_PDP11 -I ${PDP11D} ${NETWORK_OPT} ${DISPLAY_OPT}