Best Blinkenlights

508 views
Skip to first unread message

Michael Uhlmann

unread,
Mar 18, 2021, 8:55:21 AM3/18/21
to Altair-Duino
Hallo,
I´m Michael from Germany, 65 Yo. I´m going to finish my self-made Altair. I found a cool effect, when Single-Step is pressed down (Slow-Step). I don't know If this is documented. When holding Step down on power-on, and release it, the slow-step function runs automatically. It looks better than a random blinkenlights, it's a real working effect.
regards

Bill Chan

unread,
Apr 8, 2021, 10:14:27 PM4/8/21
to Altair-Duino
I am confirming your discovery! This is a good demo-mode.
Bill

Bill Chan

unread,
Apr 17, 2021, 11:00:56 AM4/17/21
to Altair-Duino
As my Altair-duino is mostly a conversation piece, I have been exploring this undocumented function of turning on power while holding down the single-step switch discovered by the fellow in Germany (hallo). There is no panel marking for the down position of single-step, but this position was found to behave as an auto-repeat feature similar to holding a key of a PC keyboard when in stopped mode of normal emulation operation.

On power-up, the blinkinglights demo success is not consistent and requires retries and may need a well-practiced delay before releasing the single-step switch. The blinking lights are not that random once activated. Going by A0-A7 lights in particular, there is suggestion of a run up of the program counter. As no built-in programs (AUX 1-down) are officially run yet, the lights seem to be in Altair emulator operation showing continuous single-step of some default code. The status lights are anything but arbitrary. The MI comes on and off sequenced to represent normal expected op code and data fetches to follow. At any time, AUX-1 can be pushed down (needs more dwell time than normal power-up sessions) to initiate whatever selected program. Interesting is when the program is stopped using normal STOP switch, the blinkinglights immediate resumes, as if the Altair stopped state got replaced by this mode.

The blinkinglights during the same power-up session, after different programs are selected and run (AUX-1 DOWN), the blinkinglights assume a different blink sequence, perhaps continuous stepping through some or all of the last selected program.

This demo does have the advantage of slower pace demo-like operation of the lights. Leaving a real program running as demo often means MI light and others in unvarying duty cycle mode at half brightness, etc. I get the feeling this blinkinglights may be an Altair-duino Easter Egg?

da...@hansels.net

unread,
Apr 17, 2021, 11:42:39 AM4/17/21
to Altair-Duino
The behavior of the STEP button when held down (slow emulation) is an intentional feature. I don't remember
why I did it - probably just for easier debugging although I somehow seem to remember seeing a different version
of a front panel that actually had "SLOW" printed in that position (I may be wrong though).

The fact that holding down STEP during power-up sometimes starts a permanent slow-stepping mode is unintentional,
probably a consequence of an unexpected switch state during initialization. I'll have to look into that at some point.

The sequence of lights represents the behavior of the original Altair when single-stepping. When you are single-stepping
directly after powerup then it just executes whatever random data is in memory starting at address zero.
For an excellent explanation of the front-panel lights I recommend Mike Douglas' YouTube videos:

David

Al Schemmer

unread,
Apr 17, 2021, 12:32:04 PM4/17/21
to da...@hansels.net, Altair-Duino

I found that the Ithica Intersystems DPS-1 front panel had SLOW STEP marked on their front panel.

Ideally I would think the switch would be a ON-OFF-MOMENTARY ,

This Video looks like that is the way the switch was: https://www.youtube.com/watch?v=ABDGtQYvSU0

As seen here:

https://wiki.theretrowagon.com/w/images/0/03/Front_View_Running_Port_FF_Test.jpg

 

I sure would like to get my hands on one of those systems.

--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/altair-duino/b01a0597-391e-4bec-a125-216cf59cc870n%40googlegroups.com.

 

Bill Chan

unread,
Apr 17, 2021, 12:32:10 PM4/17/21
to Altair-Duino
Thanks David. It's a lot making sense with your info. Thanks for sharing. After spending time with this special power-up state, I gathered interesting observations before starting a discussion.

When there is success at powering-up into this mode, while the code is random, it is more like psuedo-random. I saw recurring random code and behavior. Sometimes the continuous slo-mo leads to halt of the random code probably because the random code happens to result in a halt. The Altair simulation is active because RESET is honored to repeat the same execution. The behavior of the initial random code is very much repeatable when resetting. I am always able to sustain operation in this unintentional continuous slow-mo mode even if the random code stops execution by replacing the random code with any good code loaded using AUX-1 and then stopping it.

There is also the possibility that entering this special power-up condition is sometimes difficult because the random code happens to be a halt upon execution.

I saw pretty much all of the Mike Douglas videos. Your emulation is a meaningful perpetual motion demo, better than using any mechanical demo that wears out (like continuous replenishment of steel balls on a DigiComp-II, etc).

Bill

Michael Uhlmann

unread,
Apr 18, 2021, 4:51:19 AM4/18/21
to Altair-Duino

Thanks for information. Is it possible, to make a toggle function for the slow step position?
regards Michael

Bill Chan

unread,
Apr 18, 2021, 8:50:16 AM4/18/21
to Altair-Duino
The slow motion (repeat stepping) function is currently via during hold-down of the Single-Step function in the down position. If there is a non-momentary edition of the switch, the result could be had.

Bill Chan

unread,
Apr 18, 2021, 3:02:47 PM4/18/21
to Altair-Duino
I found old equipment that has a non-momentary switch of same size. Then I realize that leaving Altair with momentary type switch  is what we should retain. The down position for temporary continuous single-step also is good as-is. The normal up position for single step also best served via momentary switch. For realism of Altair clone appearance, your discovered method to induce single-step-demo operation turns out to be most logical! It is similar to other double-switch operations to access special functions of the emulator software.

Bill Chan

unread,
May 3, 2021, 2:56:20 PM5/3/21
to Altair-Duino
David, this unintended continuous (welcomed!) single-step mode is easily affected by even low level power line changes, like a 13W LED bulb switched on that is connected to immediate power strip that powers the Altair-duino small switching supply. The Altair-duino expires this continuous single-step special state and returns to normal operation for rest of that same powered-up session. This special effect may be related to Arduino hardware.
Bill

da...@hansels.net

unread,
May 4, 2021, 9:43:39 PM5/4/21
to Altair-Duino
I finally got around to looking into this. The "sticky" SLOW mode was caused by a bug in the
initialization of the switch de-bouncing logic. I fixed that so that no longer "works".

Since people seem to like the sticky SLOW mode, I added the code to invoke it on purpose:
1) push "SINGLE STEP" switch DOWN (i.e. SLOW run)
2) press and hold "RUN" switch down for 1 second
3) let go of both => slow run mode stays active

Press STOP to stop slow run mode.

Bill Chan

unread,
May 4, 2021, 10:34:52 PM5/4/21
to Altair-Duino
Thanks David. It's even better with defined feature! In the interim, I had to confirm that it is sticky slow mode (single-stepping) by sticking in simple code that I could follow the lights and logic without getting confused. I took advantage of a recent unrelated thread that reminds of selective memory page (256 byte) saves to filename. This allowed me to save my simple code to load and re-run. , i.e.

addr 0x0000: 93H  ;JMP OP
           0001: 00H
           0002: FFH
...
addr 0xFF00: 93H  ;JMP OP
           FF01: 00H
           FF02: 00H

As single-step shows the PC, so good lights for upper bits and good lights for the data bus as one single steps through the above. I saved the two segments to file00 and file01 per your memory save feature. Before your just-in changes, the "original" sticky slow-mode honors AUX1 program loads as well as memory page loads of the above test code, but I had to ignore the sticky slow-mode in progress distraction. With your new programmed access to this mode, it'll be easier to just toggle in the above and invoke the new sticky slow mode function in controlled manner.
Thanks.

Charley Jones

unread,
May 5, 2021, 1:58:03 AM5/5/21
to Bill Chan, Altair-Duino
Damn nice patch Mr Hansel!

Dataman in Vegas 
Sent from my iPhone Xs!

On May 4, 2021, at 7:34 PM, Bill Chan <billc...@gmail.com> wrote:

Thanks David. It's even better with defined feature! In the interim, I had to confirm that it is sticky slow mode (single-stepping) by sticking in simple code that I could follow the lights and logic without getting confused. I took advantage of a recent unrelated thread that reminds of selective memory page (256 byte) saves to filename. This allowed me to save my simple code to load and re-run. , i.e.
--
You received this message because you are subscribed to the Google Groups "Altair-Duino" group.
To unsubscribe from this group and stop receiving emails from it, send an email to altair-duino...@googlegroups.com.

Michael Uhlmann

unread,
May 5, 2021, 3:55:50 AM5/5/21
to Altair-Duino

Thank you, David! That's nice.

Michael Uhlmann

unread,
May 5, 2021, 4:32:00 AM5/5/21
to Altair-Duino
How to change the speed of the slow steps?

da...@hansels.net

unread,
May 5, 2021, 7:45:59 AM5/5/21
to Altair-Duino
Search for "delay(500)" in the Altair8800.ino file, there should be two instances.
Change the 500 (milliseconds) to adjust the speed.

Mark Lawler

unread,
May 5, 2021, 12:13:37 PM5/5/21
to Altair-Duino
Nicely done!  Thanks!
Best,
-Mark

Bill Chan

unread,
May 13, 2021, 9:55:55 PM5/13/21
to Altair-Duino
Thanks to David for adding the blinkinglights (sticky single-step) mode. To make the most of the new feature, I did some trivial programming for single-step mode to turn on more LEDs.

(Save to file00 the first page of 256 bytes using Altair-duino memory page save feature if keeping code)

;light the upper PC lights
000 000: 303
000 001: 000   
000 002: 377  ;all upper PC 8 addr bits on, data bus byte lit too

;now light all the PC lights                        
000 375: 303
000 376: 375   ;goto max address less 3 for OP, LSB, USB....
000 377: 377   ;...to be lit when PC steps to top; data bus byte lit too

========
(Save to file01 below last 256 bytes of memory using Altair-dunio memory page save feature if keeping code)

;light the lower PC lights
377 000: 303
377 001: 375   ;fill up addr bits of lower PC byte, less 3 for OP, LSB, USB...
377 002: 000   ;...to be lit when PC steps to OCTAL 377

;restart the loop
377 375: 303
377 376: 000
377 377: 000
Reply all
Reply to author
Forward
0 new messages