Yes, I know this can be done by just doing an `out 255, 33` in a flavor of basic, but I wanted to brush up on my assembly (and ed) skills. They've been rusty for a while, haha. It also gives me a nice method to trigger stuff on the bus to watch with a logic analyzer to help me better understand it.
The program is in assembler to be run under CP/M.
Here's a link to the source (there's also a detailed README in that directory on github with more info).
Basically, run the program and it either turns all LEDs on, turns them all off, or lets you interactively toggle each one individually:
B>leds
A-D 8800 LED card control
Current port out value (hex): 00
0) Toggle LED 0
1) Toggle LED 1
2) Toggle LED 2
3) Toggle LED 3
4) Toggle LED 4
5) Toggle LED 5
6) Toggle LED 6
7) Toggle LED 7
x) Exit program
Enter choice> 2
Current port out value (hex): 04
0) Toggle LED 0
1) Toggle LED 1
2) Toggle LED 2
3) Toggle LED 3
4) Toggle LED 4
5) Toggle LED 5
6) Toggle LED 6
7) Toggle LED 7
x) Exit program
Enter choice> x
B> Not super technical, but fun to write and I thought I'd share my fun :)