Thanks, Tom W! Nice revision.
Ran your code this morning, on the full A-D hardware (installed on the
Altair-Duino mainboard).
BUG:
H)ex upload in the main (non-Config) session no longer responds, in 'B'
mode.
https://github.com/tomxp411/Altair8800/blob/master/Altair8800.ino#L1083-L1087
The logic that makes Lines 1083-1087 do their job isn't functioning, in
(B) mode, would be my guess on this.
The lines themselves are unchanged; the bug is elsewhere, I think.
Reverting to 8800 mode (rather than 8800B mode) accesses the H)ex upload
function, correctly, in your code-base.
When the 'H' keybinding is unresponsive, I have:
8800(B) Mode : 8800B
Enable serial (p)anel : no
Enable serial (i)nput : yes
Enable serial (d)ebug : yes
I have config.h reverting all electives, back to dhansel's version.
I (of course) kept the new code intact:
$ git show | sed 4q
commit 4cc9fb4a8343a7f3cfdba6c6196132b484e28223
Author: David Hansel <
da...@hansels.net>
Date: Sun Jun 13 15:26:01 2021 -0400
$ diff ./config.h ../tomxp.d/Altair8800/config.h
5a6,8
> // Thu 23 Jun 12:49:45 UTC 2022
> // cloned upstream and modded just config.h just now, to say:
>
223a227,231
>
> bool config_b_mode();
> void set_b_mode(uint32_t Enabled);
> void toggle_b_mode();
> void print_b_mode();
bk
Northwest Connecticut USA
On 6/22/22 22:45,
wils...@gmail.com wrote:
> Hey, all. The 8800B behavior changes are now basically complete.
> Display/Load and Input/Output now do what the front panel says.
>
> What I have /not/ done yet is make the LED state momentary: ie, when
> you press up to see the Accumulator value, the LEDs will stay on.
> However, I've had enough "interesting" behaviors while debugging this
> that I want get the changes into other people's hands first and get
> your feedback before I go any further.
>
> So please grab the latest code from
>
https://github.com/tomxp411/Altair8800 and give it a try on your unit.
>
> Things to test:
>
> * Help menu for serial input ("i" on Config menu to enable, press ?
> when in STOP mode to get a menu.)
> * Aux1 Up: Display the Accumulator on the data LEDs
> * Aux1 Down: Load the value from the right 8 switches into the
> Accumulator
> * Aux2 Up: Read from the port set by the left 8 switches. This
> places the value in the Accumulator
> * Aux2 Down: Output the Accumulator to the port set by the left 8
> switches.
>
> An easy way to test the input/output is to read from and write to port
> 1. Port 1 is the serial port's data port, so the last keyboard key
> pressed will be present on 1 when you read from it, and writing to the
> port will send a character to the terminal. So you can try something
> like loading in 40 to the accumulator with LOAD, then pressing OUTPUT.
> That should display a @ on your terminal.
>
> Another test is to read port FF. That should always return FF, since
> you have all the sense switches up to read the port.
>
> I'm especially interested in getting results from anyone using the I/O
> module. I have no way to test whether this works, but since I'm simply
> calling David's existing port I/O code, I am expecting normal behavior.
>
>
>
> On Saturday, June 18, 2022 at 10:52:25 PM UTC-7
wils...@gmail.com wrote:
>
> Hey, guys. Here's my first test release.
>
[truncated remaining quoted text - bk]