Added calls to sim_register_clock_unit for simulators with clock devices
This commit is contained in:
parent
115f8608c3
commit
71fcfacafc
15 changed files with 15 additions and 0 deletions
|
@ -419,6 +419,7 @@ return SCPE_OK;
|
||||||
|
|
||||||
t_stat rtc_reset (DEVICE *dptr)
|
t_stat rtc_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&rtc_unit); /* declare clock unit */
|
||||||
dev_done = dev_done & ~INT_RTC; /* clear ready */
|
dev_done = dev_done & ~INT_RTC; /* clear ready */
|
||||||
sim_cancel (&rtc_unit); /* stop clock */
|
sim_cancel (&rtc_unit); /* stop clock */
|
||||||
return SCPE_OK;
|
return SCPE_OK;
|
||||||
|
|
|
@ -881,6 +881,7 @@ return SCPE_OK;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
CLR_INT (INT_CLK); /* clear ready, enb */
|
CLR_INT (INT_CLK); /* clear ready, enb */
|
||||||
CLR_ENB (INT_CLK);
|
CLR_ENB (INT_CLK);
|
||||||
sim_cancel (&clk_unit); /* deactivate unit */
|
sim_cancel (&clk_unit); /* deactivate unit */
|
||||||
|
|
|
@ -126,6 +126,7 @@ return d1;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
chtr_clk = 0;
|
chtr_clk = 0;
|
||||||
if (clk_dev.flags & DEV_DIS)
|
if (clk_dev.flags & DEV_DIS)
|
||||||
sim_cancel (&clk_unit);
|
sim_cancel (&clk_unit);
|
||||||
|
|
|
@ -153,6 +153,7 @@ return SCPE_OK;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
clk_sel = 0;
|
clk_sel = 0;
|
||||||
DEV_CLR_BUSY( INT_CLK ) ;
|
DEV_CLR_BUSY( INT_CLK ) ;
|
||||||
DEV_CLR_DONE( INT_CLK ) ;
|
DEV_CLR_DONE( INT_CLK ) ;
|
||||||
|
|
|
@ -118,6 +118,7 @@ t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
if (clk_dev.flags & DEV_DIS) sim_cancel (&clk_unit); /* disabled? */
|
if (clk_dev.flags & DEV_DIS) sim_cancel (&clk_unit); /* disabled? */
|
||||||
else {
|
else {
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
tmxr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK);
|
tmxr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK);
|
||||||
sim_activate_abs (&clk_unit, tmxr_poll); /* activate unit */
|
sim_activate_abs (&clk_unit, tmxr_poll); /* activate unit */
|
||||||
}
|
}
|
||||||
|
|
|
@ -224,6 +224,7 @@ return;
|
||||||
|
|
||||||
t_stat tim_reset (DEVICE *dptr)
|
t_stat tim_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&tim_unit); /* declare clock unit */
|
||||||
tim_period = 0; /* clear timer */
|
tim_period = 0; /* clear timer */
|
||||||
tim_ttg = 0;
|
tim_ttg = 0;
|
||||||
apr_flg = apr_flg & ~APRF_TIM; /* clear interrupt */
|
apr_flg = apr_flg & ~APRF_TIM; /* clear interrupt */
|
||||||
|
|
|
@ -463,6 +463,7 @@ return clk_dib.vec;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
if (CPUT (HAS_LTCR)) /* reg there? */
|
if (CPUT (HAS_LTCR)) /* reg there? */
|
||||||
clk_fie = clk_fnxm = 0;
|
clk_fie = clk_fnxm = 0;
|
||||||
else clk_fie = clk_fnxm = 1; /* no, BEVENT */
|
else clk_fie = clk_fnxm = 1; /* no, BEVENT */
|
||||||
|
|
|
@ -483,6 +483,7 @@ t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
int32 t;
|
int32 t;
|
||||||
|
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
CLR_INT (CLK); /* clear flag */
|
CLR_INT (CLK); /* clear flag */
|
||||||
if (!sim_is_running) { /* RESET (not CAF)? */
|
if (!sim_is_running) { /* RESET (not CAF)? */
|
||||||
t = sim_rtc_init (clk_unit.wait); /* init calibration */
|
t = sim_rtc_init (clk_unit.wait); /* init calibration */
|
||||||
|
|
|
@ -157,6 +157,7 @@ t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
int32 t;
|
int32 t;
|
||||||
|
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
dev_done = dev_done & ~INT_CLK; /* clear done, int */
|
dev_done = dev_done & ~INT_CLK; /* clear done, int */
|
||||||
int_req = int_req & ~INT_CLK;
|
int_req = int_req & ~INT_CLK;
|
||||||
int_enable = int_enable & ~INT_CLK; /* clear enable */
|
int_enable = int_enable & ~INT_CLK; /* clear enable */
|
||||||
|
|
|
@ -412,6 +412,7 @@ t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
int32 t;
|
int32 t;
|
||||||
|
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
clk_csr = 0;
|
clk_csr = 0;
|
||||||
CLR_INT (CLK);
|
CLR_INT (CLK);
|
||||||
t = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init timer */
|
t = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init timer */
|
||||||
|
|
|
@ -348,6 +348,7 @@ t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
int32 t;
|
int32 t;
|
||||||
|
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
clk_csr = 0;
|
clk_csr = 0;
|
||||||
CLR_INT (CLK);
|
CLR_INT (CLK);
|
||||||
t = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init timer */
|
t = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init timer */
|
||||||
|
|
|
@ -858,6 +858,7 @@ return;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
||||||
sim_activate_abs (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
sim_activate_abs (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
||||||
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
||||||
|
|
|
@ -854,6 +854,7 @@ return;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
||||||
sim_activate_abs (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
sim_activate_abs (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
||||||
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
||||||
|
|
|
@ -672,6 +672,7 @@ return;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
||||||
sim_activate (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
sim_activate (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
||||||
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
||||||
|
|
|
@ -809,6 +809,7 @@ return;
|
||||||
|
|
||||||
t_stat clk_reset (DEVICE *dptr)
|
t_stat clk_reset (DEVICE *dptr)
|
||||||
{
|
{
|
||||||
|
sim_register_clock_unit (&clk_unit); /* declare clock unit */
|
||||||
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
tmr_poll = sim_rtcn_init (clk_unit.wait, TMR_CLK); /* init 100Hz timer */
|
||||||
sim_activate (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
sim_activate (&clk_unit, tmr_poll); /* activate 100Hz unit */
|
||||||
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
tmxr_poll = tmr_poll * TMXR_MULT; /* set mux poll */
|
||||||
|
|
Loading…
Add table
Reference in a new issue