This commit is contained in:
parent
974674e067
commit
94c72d28a6
1 changed files with 17 additions and 8 deletions
25
kl11.py
25
kl11.py
|
@ -123,14 +123,23 @@ class KL11:
|
||||||
self.ub.intmgr.simple_irq(pri=4, vector=0o64)
|
self.ub.intmgr.simple_irq(pri=4, vector=0o64)
|
||||||
|
|
||||||
# transmit buffer
|
# transmit buffer
|
||||||
case 6 if value is not None: # tbuf
|
case 6:
|
||||||
# *** WRITING ***
|
if value is None:
|
||||||
value &= 0o177
|
# *** READING ***
|
||||||
if (value != 0o177):
|
# manual says this is load-only; however automatic
|
||||||
s = chr(value)
|
# byte write support (byteme/mmio) requires this
|
||||||
self.tq.put(s)
|
# be readable. Probably byteme should be fixed instead
|
||||||
if self.t_ienable:
|
# to catch traps from unreadables and synthesize
|
||||||
self.ub.intmgr.simple_irq(pri=4, vector=0o64)
|
# a zero there (?)
|
||||||
|
value = 0
|
||||||
|
else:
|
||||||
|
# *** WRITING ***
|
||||||
|
value &= 0o177
|
||||||
|
if (value != 0o177):
|
||||||
|
s = chr(value)
|
||||||
|
self.tq.put(s)
|
||||||
|
if self.t_ienable:
|
||||||
|
self.ub.intmgr.simple_irq(pri=4, vector=0o64)
|
||||||
case _:
|
case _:
|
||||||
raise PDPTraps.AddressError
|
raise PDPTraps.AddressError
|
||||||
|
|
||||||
|
|
Loading…
Add table
Reference in a new issue