Artifact b48697fb6300e2e7a1adecd3b31a5407615d2df8:
- File
examples/ac-mq-blinker.pal
— part of check-in
[f24edf21c1]
at
2017-03-30 12:39:15
on branch trunk
— Disabling PDP-8 CPU idling when ILS is enabled. This has always been
the default for some boot/*.script files, but we need to enforce it
when ILS is enabled because we need regular CPU instruction rates to
make this work. Closes [c9eb5ac0144]
Also added a new configure script flag, --no-idle, to allow NLS users to disable CPU idling too, if they like.
The *.script files generated from *.pal are marked noidle, with no way to change it at present. CPU idling doesn't make much sense for these two (1.script and 5.script) anyway. (user: tangent size: 2479) [more...]
/ ac-mq-blinker.pal - Rapidly modify AC and MQ / / This program twiddles AC and MQ rapidly, with a small amount of delay / between each update so the lights aren't just a solid blur. / / While this program runs at full speed, only AC and MQ appear to a / human to really change. PC also changes, of course, but since the / program spends so much of its time in the delay loop at the top, it / appears to be stuck at PC=1. / / It also modifies MB rapidly, but the pattern we use means it looks / like the lamps aren't changing, but are all on, dimmed by varying / amounts. / / From: http://dustyoldcomputers.com/pdp8/pdp8i/testprogs/acmqblinker.html / / SIMH: set throttle 30k / SIMH: set df disabled / SIMH: set cpu noidle / / Copyright © 2000 Robert Krten / / Permission is hereby granted, free of charge, to any person obtaining a / copy of this software and associated documentation files (the "Software"), / to deal in the Software without restriction, including without limitation / the rights to use, copy, modify, merge, publish, distribute, sublicense, / and/or sell copies of the Software, and to permit persons to whom the / Software is furnished to do so, subject to the following conditions: / / The above copyright notice and this permission notice shall be included in / all copies or substantial portions of the Software. / / THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR / IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, / FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL / THE AUTHORS LISTED ABOVE BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER / LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING / FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER / DEALINGS IN THE SOFTWARE. / / Except as contained in this notice, the names of the authors above shall / not be used in advertising or otherwise to promote the sale, use or other / dealings in this Software without prior written authorization from those / authors. //////////////////////////////////////////////////////////////////////// PAGE 0 loop, ISZ delay / create a delay JMP loop CLA / clear AC so we can load it TAD value / get value MQL / stash AC into MQ TAD value / fetch value again CMA / complement AC ISZ value / get to next value NOP / ignore possible "skip" from ISZ JMP loop / and do it all again *20 / skip over the autoincrement registers delay, 0 value, 0 $