PDP8: Add device descriptions to all devices
This commit is contained in:
parent
c2b45a26e6
commit
6fa8f6012c
16 changed files with 167 additions and 19 deletions
|
@ -49,6 +49,7 @@ t_stat clk_svc (UNIT *uptr);
|
||||||
t_stat clk_reset (DEVICE *dptr);
|
t_stat clk_reset (DEVICE *dptr);
|
||||||
t_stat clk_set_freq (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat clk_set_freq (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||||
|
const char *clk_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* CLK data structures
|
/* CLK data structures
|
||||||
|
|
||||||
|
@ -86,7 +87,9 @@ DEVICE clk_dev = {
|
||||||
1, 0, 0, 0, 0, 0,
|
1, 0, 0, 0, 0, 0,
|
||||||
NULL, NULL, &clk_reset,
|
NULL, NULL, &clk_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&clk_dib, 0
|
&clk_dib, 0, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&clk_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routine
|
/* IOT routine
|
||||||
|
@ -181,3 +184,8 @@ t_stat clk_show_freq (FILE *st, UNIT *uptr, int32 val, CONST void *desc)
|
||||||
fprintf (st, (clk_tps == 50)? "50Hz": "60Hz");
|
fprintf (st, (clk_tps == 50)? "50Hz": "60Hz");
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *clk_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "real time clock";
|
||||||
|
}
|
||||||
|
|
|
@ -162,6 +162,7 @@ t_stat ct_reset (DEVICE *dptr);
|
||||||
t_stat ct_attach (UNIT *uptr, CONST char *cptr);
|
t_stat ct_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat ct_detach (UNIT *uptr);
|
t_stat ct_detach (UNIT *uptr);
|
||||||
t_stat ct_boot (int32 unitno, DEVICE *dptr);
|
t_stat ct_boot (int32 unitno, DEVICE *dptr);
|
||||||
|
const char *ct_description (DEVICE *dptr);
|
||||||
uint32 ct_updsta (UNIT *uptr);
|
uint32 ct_updsta (UNIT *uptr);
|
||||||
int32 ct_go_start (int32 AC);
|
int32 ct_go_start (int32 AC);
|
||||||
int32 ct_go_cont (UNIT *uptr, int32 AC);
|
int32 ct_go_cont (UNIT *uptr, int32 AC);
|
||||||
|
@ -225,7 +226,9 @@ DEVICE ct_dev = {
|
||||||
CT_NUMDR, 10, 31, 1, 8, 8,
|
CT_NUMDR, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &ct_reset,
|
NULL, NULL, &ct_reset,
|
||||||
&ct_boot, &ct_attach, &ct_detach,
|
&ct_boot, &ct_attach, &ct_detach,
|
||||||
&ct_dib, DEV_DISABLE | DEV_DIS | DEV_DEBUG | DEV_TAPE
|
&ct_dib, DEV_DISABLE | DEV_DIS | DEV_DEBUG | DEV_TAPE,
|
||||||
|
0, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&ct_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -727,3 +730,8 @@ for (i = 0; i < BOOT_LEN; i++)
|
||||||
cpu_set_bootpc (BOOT_START);
|
cpu_set_bootpc (BOOT_START);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *ct_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "TA8E/TU60 cassette tape";
|
||||||
|
}
|
||||||
|
|
|
@ -117,6 +117,7 @@ t_stat df_reset (DEVICE *dptr);
|
||||||
t_stat df_boot (int32 unitno, DEVICE *dptr);
|
t_stat df_boot (int32 unitno, DEVICE *dptr);
|
||||||
t_stat df_attach (UNIT *uptr, CONST char *cptr);
|
t_stat df_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat df_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat df_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
|
const char *df_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* DF32 data structures
|
/* DF32 data structures
|
||||||
|
|
||||||
|
@ -164,7 +165,9 @@ DEVICE df_dev = {
|
||||||
1, 8, 17, 1, 8, 12,
|
1, 8, 17, 1, 8, 12,
|
||||||
NULL, NULL, &df_reset,
|
NULL, NULL, &df_reset,
|
||||||
&df_boot, &df_attach, NULL,
|
&df_boot, &df_attach, NULL,
|
||||||
&df_dib, DEV_DISABLE
|
&df_dib, DEV_DISABLE,
|
||||||
|
0, NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&df_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -380,3 +383,8 @@ uptr->capac = UNIT_GETP (val) * DF_DKSIZE;
|
||||||
uptr->flags = uptr->flags & ~UNIT_AUTO;
|
uptr->flags = uptr->flags & ~UNIT_AUTO;
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *df_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "DF32 fixed head disk";
|
||||||
|
}
|
||||||
|
|
|
@ -282,6 +282,7 @@ int32 dt77 (int32 IR, int32 AC);
|
||||||
t_stat dt_svc (UNIT *uptr);
|
t_stat dt_svc (UNIT *uptr);
|
||||||
t_stat dt_reset (DEVICE *dptr);
|
t_stat dt_reset (DEVICE *dptr);
|
||||||
t_stat dt_attach (UNIT *uptr, CONST char *cptr);
|
t_stat dt_attach (UNIT *uptr, CONST char *cptr);
|
||||||
|
const char *dt_description (DEVICE *dptr);
|
||||||
void dt_flush (UNIT *uptr);
|
void dt_flush (UNIT *uptr);
|
||||||
t_stat dt_detach (UNIT *uptr);
|
t_stat dt_detach (UNIT *uptr);
|
||||||
t_stat dt_boot (int32 unitno, DEVICE *dptr);
|
t_stat dt_boot (int32 unitno, DEVICE *dptr);
|
||||||
|
@ -372,7 +373,8 @@ DEVICE dt_dev = {
|
||||||
NULL, NULL, &dt_reset,
|
NULL, NULL, &dt_reset,
|
||||||
&dt_boot, &dt_attach, &dt_detach,
|
&dt_boot, &dt_attach, &dt_detach,
|
||||||
&dt_dib, DEV_DISABLE | DEV_DEBUG, 0,
|
&dt_dib, DEV_DISABLE | DEV_DEBUG, 0,
|
||||||
dt_deb, NULL, NULL
|
dt_deb, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&dt_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -1347,3 +1349,8 @@ uptr->flags = (uptr->flags | UNIT_8FMT) & ~UNIT_11FMT; /* default fmt */
|
||||||
uptr->capac = DT_CAPAC; /* default size */
|
uptr->capac = DT_CAPAC; /* default size */
|
||||||
return detach_unit (uptr);
|
return detach_unit (uptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *dt_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "TC08/TU56 DECtape";
|
||||||
|
}
|
||||||
|
|
|
@ -208,6 +208,7 @@ uint32 apt_read (uint32 ea);
|
||||||
void apt_write (uint32 ea, uint32 val);
|
void apt_write (uint32 ea, uint32 val);
|
||||||
t_stat fpp_svc (UNIT *uptr);
|
t_stat fpp_svc (UNIT *uptr);
|
||||||
t_stat fpp_reset (DEVICE *dptr);
|
t_stat fpp_reset (DEVICE *dptr);
|
||||||
|
const char *fpp_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* FPP data structures
|
/* FPP data structures
|
||||||
|
|
||||||
|
@ -246,7 +247,9 @@ DEVICE fpp_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &fpp_reset,
|
NULL, NULL, &fpp_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&fpp_dib, DEV_DISABLE | DEV_DIS
|
&fpp_dib, DEV_DISABLE | DEV_DIS, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&fpp_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -1511,3 +1514,8 @@ else {
|
||||||
|
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *fpp_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "FPP8A floating point processor";
|
||||||
|
}
|
||||||
|
|
|
@ -44,6 +44,7 @@ t_stat lpt_svc (UNIT *uptr);
|
||||||
t_stat lpt_reset (DEVICE *dptr);
|
t_stat lpt_reset (DEVICE *dptr);
|
||||||
t_stat lpt_attach (UNIT *uptr, CONST char *cptr);
|
t_stat lpt_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat lpt_detach (UNIT *uptr);
|
t_stat lpt_detach (UNIT *uptr);
|
||||||
|
const char *lpt_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* LPT data structures
|
/* LPT data structures
|
||||||
|
|
||||||
|
@ -82,7 +83,9 @@ DEVICE lpt_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &lpt_reset,
|
NULL, NULL, &lpt_reset,
|
||||||
NULL, &lpt_attach, &lpt_detach,
|
NULL, &lpt_attach, &lpt_detach,
|
||||||
&lpt_dib, DEV_DISABLE
|
&lpt_dib, DEV_DISABLE, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&lpt_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routine */
|
/* IOT routine */
|
||||||
|
@ -186,3 +189,8 @@ t_stat lpt_detach (UNIT *uptr)
|
||||||
lpt_err = 1;
|
lpt_err = 1;
|
||||||
return detach_unit (uptr);
|
return detach_unit (uptr);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *lpt_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "LP8E line printer";
|
||||||
|
}
|
||||||
|
|
|
@ -152,6 +152,7 @@ t_stat mt_svc (UNIT *uptr);
|
||||||
t_stat mt_reset (DEVICE *dptr);
|
t_stat mt_reset (DEVICE *dptr);
|
||||||
t_stat mt_attach (UNIT *uptr, CONST char *cptr);
|
t_stat mt_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat mt_detach (UNIT *uptr);
|
t_stat mt_detach (UNIT *uptr);
|
||||||
|
const char *mt_description (DEVICE *dptr);
|
||||||
int32 mt_updcsta (UNIT *uptr);
|
int32 mt_updcsta (UNIT *uptr);
|
||||||
int32 mt_ixma (int32 xma);
|
int32 mt_ixma (int32 xma);
|
||||||
t_stat mt_map_err (UNIT *uptr, t_stat st);
|
t_stat mt_map_err (UNIT *uptr, t_stat st);
|
||||||
|
@ -216,7 +217,9 @@ DEVICE mt_dev = {
|
||||||
MT_NUMDR, 10, 31, 1, 8, 8,
|
MT_NUMDR, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &mt_reset,
|
NULL, NULL, &mt_reset,
|
||||||
NULL, &mt_attach, &mt_detach,
|
NULL, &mt_attach, &mt_detach,
|
||||||
&mt_dib, DEV_DISABLE | DEV_TAPE
|
&mt_dib, DEV_DISABLE | DEV_TAPE, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&mt_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -659,3 +662,8 @@ if (u == GET_UNIT (mt_cu))
|
||||||
mt_updcsta (uptr);
|
mt_updcsta (uptr);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *mt_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "TM8E/TU10 magtape";
|
||||||
|
}
|
||||||
|
|
|
@ -47,6 +47,8 @@ t_stat ptp_svc (UNIT *uptr);
|
||||||
t_stat ptr_reset (DEVICE *dptr);
|
t_stat ptr_reset (DEVICE *dptr);
|
||||||
t_stat ptp_reset (DEVICE *dptr);
|
t_stat ptp_reset (DEVICE *dptr);
|
||||||
t_stat ptr_boot (int32 unitno, DEVICE *dptr);
|
t_stat ptr_boot (int32 unitno, DEVICE *dptr);
|
||||||
|
const char *ptr_description (DEVICE *dptr);
|
||||||
|
const char *ptp_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* PTR data structures
|
/* PTR data structures
|
||||||
|
|
||||||
|
@ -83,7 +85,10 @@ DEVICE ptr_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &ptr_reset,
|
NULL, NULL, &ptr_reset,
|
||||||
&ptr_boot, NULL, NULL,
|
&ptr_boot, NULL, NULL,
|
||||||
&ptr_dib, 0 };
|
&ptr_dib, 0, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&ptr_description
|
||||||
|
};
|
||||||
|
|
||||||
/* PTP data structures
|
/* PTP data structures
|
||||||
|
|
||||||
|
@ -119,7 +124,9 @@ DEVICE ptp_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &ptp_reset,
|
NULL, NULL, &ptp_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&ptp_dib, 0
|
&ptp_dib, 0, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&ptp_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Paper tape reader: IOT routine */
|
/* Paper tape reader: IOT routine */
|
||||||
|
@ -291,3 +298,13 @@ for (i = 0; i < BOOT_LEN; i++)
|
||||||
cpu_set_bootpc (BOOT_START);
|
cpu_set_bootpc (BOOT_START);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *ptr_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "PC8E paper tape reader";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *ptp_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "PC8E paper tape punch";
|
||||||
|
}
|
||||||
|
|
|
@ -127,6 +127,7 @@ t_stat rf_reset (DEVICE *dptr);
|
||||||
t_stat rf_boot (int32 unitno, DEVICE *dptr);
|
t_stat rf_boot (int32 unitno, DEVICE *dptr);
|
||||||
t_stat rf_attach (UNIT *uptr, CONST char *cptr);
|
t_stat rf_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat rf_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat rf_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
|
const char *rf_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* RF08 data structures
|
/* RF08 data structures
|
||||||
|
|
||||||
|
@ -177,7 +178,9 @@ DEVICE rf_dev = {
|
||||||
1, 8, 20, 1, 8, 12,
|
1, 8, 20, 1, 8, 12,
|
||||||
NULL, NULL, &rf_reset,
|
NULL, NULL, &rf_reset,
|
||||||
&rf_boot, &rf_attach, NULL,
|
&rf_boot, &rf_attach, NULL,
|
||||||
&rf_dib, DEV_DISABLE | DEV_DIS
|
&rf_dib, DEV_DISABLE | DEV_DIS, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&rf_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -446,3 +449,8 @@ uptr->capac = UNIT_GETP (val) * RF_DKSIZE;
|
||||||
uptr->flags = uptr->flags & ~UNIT_AUTO;
|
uptr->flags = uptr->flags & ~UNIT_AUTO;
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *rf_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "RF08 fixed head disk";
|
||||||
|
}
|
||||||
|
|
|
@ -142,6 +142,7 @@ int32 rk (int32 IR, int32 AC);
|
||||||
t_stat rk_svc (UNIT *uptr);
|
t_stat rk_svc (UNIT *uptr);
|
||||||
t_stat rk_reset (DEVICE *dptr);
|
t_stat rk_reset (DEVICE *dptr);
|
||||||
t_stat rk_boot (int32 unitno, DEVICE *dptr);
|
t_stat rk_boot (int32 unitno, DEVICE *dptr);
|
||||||
|
const char *rk_description (DEVICE *dptr);
|
||||||
void rk_go (int32 function, int32 cylinder);
|
void rk_go (int32 function, int32 cylinder);
|
||||||
|
|
||||||
/* RK-8E data structures
|
/* RK-8E data structures
|
||||||
|
@ -192,7 +193,9 @@ DEVICE rk_dev = {
|
||||||
RK_NUMDR, 8, 24, 1, 8, 12,
|
RK_NUMDR, 8, 24, 1, 8, 12,
|
||||||
NULL, NULL, &rk_reset,
|
NULL, NULL, &rk_reset,
|
||||||
&rk_boot, NULL, NULL,
|
&rk_boot, NULL, NULL,
|
||||||
&rk_dib, DEV_DISABLE
|
&rk_dib, DEV_DISABLE, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&rk_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routine */
|
/* IOT routine */
|
||||||
|
@ -461,3 +464,8 @@ M[BOOT_UNIT] = (unitno & RK_M_NUMDR) << 1;
|
||||||
cpu_set_bootpc (BOOT_START);
|
cpu_set_bootpc (BOOT_START);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *rk_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "RK8E/RK05 cartridge disk";
|
||||||
|
}
|
||||||
|
|
|
@ -183,6 +183,7 @@ t_stat rl_boot (int32 unitno, DEVICE *dptr);
|
||||||
t_stat rl_attach (UNIT *uptr, CONST char *cptr);
|
t_stat rl_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat rl_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat rl_set_size (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
t_stat rl_set_bad (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat rl_set_bad (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
|
const char *rl_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* RL8A data structures
|
/* RL8A data structures
|
||||||
|
|
||||||
|
@ -251,7 +252,9 @@ DEVICE rl_dev = {
|
||||||
RL_NUMDR, 8, 24, 1, 8, 8,
|
RL_NUMDR, 8, 24, 1, 8, 8,
|
||||||
NULL, NULL, &rl_reset,
|
NULL, NULL, &rl_reset,
|
||||||
&rl_boot, &rl_attach, NULL,
|
&rl_boot, &rl_attach, NULL,
|
||||||
&rl_dib, DEV_DISABLE | DEV_DIS
|
&rl_dib, DEV_DISABLE | DEV_DIS, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&rl_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -701,3 +704,8 @@ for (i = 0; i < BOOT_LEN; i++)
|
||||||
cpu_set_bootpc (BOOT_START);
|
cpu_set_bootpc (BOOT_START);
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *rl_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "RL8A cartridge disk";
|
||||||
|
}
|
||||||
|
|
|
@ -147,6 +147,7 @@ void rx_cmd (void);
|
||||||
void rx_done (int32 esr_flags, int32 new_ecode);
|
void rx_done (int32 esr_flags, int32 new_ecode);
|
||||||
t_stat rx_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat rx_settype (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
t_stat rx_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
t_stat rx_showtype (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||||
|
const char *rx_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* RX8E data structures
|
/* RX8E data structures
|
||||||
|
|
||||||
|
@ -215,7 +216,9 @@ DEVICE rx_dev = {
|
||||||
RX_NUMDR, 8, 20, 1, 8, 8,
|
RX_NUMDR, 8, 20, 1, 8, 8,
|
||||||
NULL, NULL, &rx_reset,
|
NULL, NULL, &rx_reset,
|
||||||
&rx_boot, &rx_attach, NULL,
|
&rx_boot, &rx_attach, NULL,
|
||||||
&rx_dib, DEV_DISABLE
|
&rx_dib, DEV_DISABLE, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&rx_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routine */
|
/* IOT routine */
|
||||||
|
@ -752,3 +755,8 @@ else {
|
||||||
}
|
}
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *rx_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "RX8E/RX01, RX28/RX02 floppy disk";
|
||||||
|
}
|
||||||
|
|
|
@ -208,6 +208,7 @@ int32 td_read (UNIT *uptr, int32 blk, int32 line);
|
||||||
void td_write (UNIT *uptr, int32 blk, int32 line, int32 datb);
|
void td_write (UNIT *uptr, int32 blk, int32 line, int32 datb);
|
||||||
int32 td_set_mtk (int32 code, int32 u, int32 k);
|
int32 td_set_mtk (int32 code, int32 u, int32 k);
|
||||||
t_stat td_show_pos (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
t_stat td_show_pos (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||||
|
const char *td_description (DEVICE *dptr);
|
||||||
|
|
||||||
extern uint16 M[];
|
extern uint16 M[];
|
||||||
|
|
||||||
|
@ -267,7 +268,9 @@ DEVICE td_dev = {
|
||||||
DT_NUMDR, 8, 24, 1, 8, 12,
|
DT_NUMDR, 8, 24, 1, 8, 12,
|
||||||
NULL, NULL, &td_reset,
|
NULL, NULL, &td_reset,
|
||||||
&td_boot, &td_attach, &td_detach,
|
&td_boot, &td_attach, &td_detach,
|
||||||
&td_dib, DEV_DISABLE | DEV_DIS
|
&td_dib, DEV_DISABLE | DEV_DIS, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&td_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routines */
|
/* IOT routines */
|
||||||
|
@ -953,3 +956,7 @@ else fprintf (st, "Forward end zone\n"); /* fwd end zone */
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *td_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "TD8E/TU56 DECtape";
|
||||||
|
}
|
||||||
|
|
|
@ -62,6 +62,7 @@ extern int32 tsc_enb; /* enable */
|
||||||
|
|
||||||
int32 tsc (int32 IR, int32 AC);
|
int32 tsc (int32 IR, int32 AC);
|
||||||
t_stat tsc_reset (DEVICE *dptr);
|
t_stat tsc_reset (DEVICE *dptr);
|
||||||
|
const char *tsc_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* TSC data structures
|
/* TSC data structures
|
||||||
|
|
||||||
|
@ -94,7 +95,9 @@ DEVICE tsc_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &tsc_reset,
|
NULL, NULL, &tsc_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&tsc_dib, DEV_DISABLE | DEV_DIS
|
&tsc_dib, DEV_DISABLE | DEV_DIS, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&tsc_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* IOT routine */
|
/* IOT routine */
|
||||||
|
@ -156,3 +159,8 @@ tsc_enb = 0;
|
||||||
int_req = int_req & ~INT_TSC;
|
int_req = int_req & ~INT_TSC;
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *tsc_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "TSC8-75 option board";
|
||||||
|
}
|
||||||
|
|
|
@ -55,6 +55,8 @@ t_stat tto_svc (UNIT *uptr);
|
||||||
t_stat tti_reset (DEVICE *dptr);
|
t_stat tti_reset (DEVICE *dptr);
|
||||||
t_stat tto_reset (DEVICE *dptr);
|
t_stat tto_reset (DEVICE *dptr);
|
||||||
t_stat tty_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat tty_set_mode (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
|
const char *tti_description (DEVICE *dptr);
|
||||||
|
const char *tto_description (DEVICE *dptr);
|
||||||
|
|
||||||
/* TTI data structures
|
/* TTI data structures
|
||||||
|
|
||||||
|
@ -92,7 +94,9 @@ DEVICE tti_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &tti_reset,
|
NULL, NULL, &tti_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&tti_dib, 0
|
&tti_dib, 0, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&tti_description
|
||||||
};
|
};
|
||||||
|
|
||||||
uint32 tti_buftime; /* time input character arrived */
|
uint32 tti_buftime; /* time input character arrived */
|
||||||
|
@ -132,7 +136,9 @@ DEVICE tto_dev = {
|
||||||
1, 10, 31, 1, 8, 8,
|
1, 10, 31, 1, 8, 8,
|
||||||
NULL, NULL, &tto_reset,
|
NULL, NULL, &tto_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
&tto_dib, 0
|
&tto_dib, 0, 0,
|
||||||
|
NULL, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&tti_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Terminal input: IOT routine */
|
/* Terminal input: IOT routine */
|
||||||
|
@ -283,3 +289,13 @@ tti_unit.flags = (tti_unit.flags & ~TT_MODE) | val;
|
||||||
tto_unit.flags = (tto_unit.flags & ~TT_MODE) | val;
|
tto_unit.flags = (tto_unit.flags & ~TT_MODE) | val;
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *tti_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "console terminal input";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *tto_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "console terminal output";
|
||||||
|
}
|
||||||
|
|
|
@ -88,6 +88,8 @@ void ttx_new_flags (uint32 newi, uint32 newo, uint32 newe);
|
||||||
t_stat ttx_reset (DEVICE *dptr);
|
t_stat ttx_reset (DEVICE *dptr);
|
||||||
t_stat ttx_attach (UNIT *uptr, CONST char *cptr);
|
t_stat ttx_attach (UNIT *uptr, CONST char *cptr);
|
||||||
t_stat ttx_detach (UNIT *uptr);
|
t_stat ttx_detach (UNIT *uptr);
|
||||||
|
const char *ttix_description (DEVICE *dptr);
|
||||||
|
const char *ttox_description (DEVICE *dptr);
|
||||||
void ttx_reset_ln (int32 i);
|
void ttx_reset_ln (int32 i);
|
||||||
t_stat ttx_vlines (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
t_stat ttx_vlines (UNIT *uptr, int32 val, CONST char *cptr, void *desc);
|
||||||
t_stat ttx_show_devno (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
t_stat ttx_show_devno (FILE *st, UNIT *uptr, int32 val, CONST void *desc);
|
||||||
|
@ -176,7 +178,8 @@ DEVICE ttix_dev = {
|
||||||
&tmxr_ex, &tmxr_dep, &ttx_reset,
|
&tmxr_ex, &tmxr_dep, &ttx_reset,
|
||||||
NULL, &ttx_attach, &ttx_detach,
|
NULL, &ttx_attach, &ttx_detach,
|
||||||
&ttx_dib, DEV_MUX | DEV_DISABLE | DEV_DEBUG,
|
&ttx_dib, DEV_MUX | DEV_DISABLE | DEV_DEBUG,
|
||||||
0, ttx_debug
|
0, ttx_debug, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&ttix_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* TTOx data structures
|
/* TTOx data structures
|
||||||
|
@ -237,7 +240,8 @@ DEVICE ttox_dev = {
|
||||||
NULL, NULL, &ttx_reset,
|
NULL, NULL, &ttx_reset,
|
||||||
NULL, NULL, NULL,
|
NULL, NULL, NULL,
|
||||||
NULL, DEV_DISABLE | DEV_DEBUG,
|
NULL, DEV_DISABLE | DEV_DEBUG,
|
||||||
0, ttx_debug
|
0, ttx_debug, NULL, NULL, NULL, NULL, NULL,
|
||||||
|
&ttox_description
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Terminal input: IOT routine */
|
/* Terminal input: IOT routine */
|
||||||
|
@ -544,3 +548,12 @@ for (i = 0; i < ttx_lines; i++) {
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
const char *ttix_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "PT08/KL8JA terminal input";
|
||||||
|
}
|
||||||
|
|
||||||
|
const char *ttox_description (DEVICE *dptr)
|
||||||
|
{
|
||||||
|
return "PT08/KL8JA terminal output";
|
||||||
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue