1
0
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:
aap
2019-03-06 22:54:34 +01:00
parent 6885f97fa1
commit 135ab82a97
5 changed files with 2024 additions and 278 deletions

View File

@@ -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);
}
/*

View File

@@ -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'){

View File

@@ -37,3 +37,4 @@ attach ptp ../code/ptp.out
attach dx0 ../test/test.dt6
#load -b ../maint/pdp6.part1

2247
emu/mem_0

File diff suppressed because it is too large Load Diff

View File

@@ -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