mirror of
https://github.com/aap/pdp6.git
synced 2026-03-29 19:08:08 +00:00
emu: fixed multiply
This commit is contained in:
30
emu/apr.c
30
emu/apr.c
@@ -1571,6 +1571,16 @@ defpulse(mst3)
|
||||
pulse(apr, &cfac_ar_add, 0); // 6-17
|
||||
}
|
||||
|
||||
defpulse(mst2_dly)
|
||||
{
|
||||
if(MQ35_EQ_MQ36)
|
||||
pulse(apr, apr->sc == 0777 ? &mst5 : &mst2, 0); // 6-24
|
||||
if(!(apr->c.mq&F35) && apr->mq36)
|
||||
pulse(apr, &mst3, 0); // 6-24
|
||||
if(apr->c.mq&F35 && !apr->mq36)
|
||||
pulse(apr, &mst4, 0); // 6-24
|
||||
}
|
||||
|
||||
defpulse_(mst2)
|
||||
{
|
||||
word ar0_shr_inp, mq0_shr_inp, mq1_shr_inp;
|
||||
@@ -1581,12 +1591,17 @@ defpulse_(mst2)
|
||||
AR_SH_RT; // 6-17
|
||||
MQ_SH_RT; // 6-17
|
||||
SC_INC; // 6-16
|
||||
if(MQ35_EQ_MQ36)
|
||||
pulse(apr, apr->sc == 0777 ? &mst5 : &mst2, 150); // 6-24
|
||||
pulse(apr, &mst2_dly, 150);
|
||||
}
|
||||
|
||||
defpulse(mst1_dly)
|
||||
{
|
||||
if(MQ35_EQ_MQ36 && apr->sc != 0777)
|
||||
pulse(apr, &mst2, 0); // 6-24
|
||||
if(!(apr->c.mq&F35) && apr->mq36)
|
||||
pulse(apr, &mst3, 150); // 6-24
|
||||
pulse(apr, &mst3, 0); // 6-24
|
||||
if(apr->c.mq&F35 && !apr->mq36)
|
||||
pulse(apr, &mst4, 150); // 6-24
|
||||
pulse(apr, &mst4, 0); // 6-24
|
||||
}
|
||||
|
||||
defpulse(mst1)
|
||||
@@ -1594,12 +1609,7 @@ defpulse(mst1)
|
||||
apr->n.mq = apr->c.mb; // 6-13
|
||||
apr->n.mb = apr->c.ar; // 6-3
|
||||
AR_CLEAR; // 6-8
|
||||
if(MQ35_EQ_MQ36 && apr->sc != 0777)
|
||||
pulse(apr, &mst2, 200); // 6-24
|
||||
if(!(apr->c.mq&F35) && apr->mq36)
|
||||
pulse(apr, &mst3, 200); // 6-24
|
||||
if(apr->c.mq&F35 && !apr->mq36)
|
||||
pulse(apr, &mst4, 200); // 6-24
|
||||
pulse(apr, &mst1_dly, 200);
|
||||
}
|
||||
|
||||
/*
|
||||
|
||||
@@ -106,9 +106,9 @@ parsen(char **sp)
|
||||
if(c >= '0' && c <= '9')
|
||||
c -= '0';
|
||||
else if(c >= 'A' && c <= 'F')
|
||||
c -= 'A' + 10;
|
||||
c -= 'A' - 10;
|
||||
else if(c >= 'a' && c <= 'f')
|
||||
c -= 'a' + 10;
|
||||
c -= 'a' - 10;
|
||||
else if(c == '.'){
|
||||
/* decimal number, but only if . is at the end */
|
||||
if(base <= 10 && *s == '\0'){
|
||||
|
||||
@@ -37,3 +37,4 @@ attach ptp ../code/ptp.out
|
||||
attach dx0 ../test/test.dt6
|
||||
|
||||
#load -b ../maint/pdp6.part1
|
||||
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
255000000000
|
||||
205000255000
|
||||
700200635550
|
||||
700600011577
|
||||
721200223110
|
||||
720200004010
|
||||
721200220300
|
||||
200740000012
|
||||
720340001000
|
||||
254000000003
|
||||
720000000017
|
||||
254000000010
|
||||
254000000003
|
||||
720200000000
|
||||
254200000300
|
||||
777600000277
|
||||
254000000006
|
||||
720040000013
|
||||
345540000006
|
||||
602540777777
|
||||
000000000013
|
||||
254000000006
|
||||
000020:
|
||||
710600000060
|
||||
710740000010
|
||||
|
||||
Reference in New Issue
Block a user