Skip to content

The section named "KEYBOARD LED CONTROL" is out of date #637

@Rhialto

Description

@Rhialto

Describe where we can find the problematic topic

The section is named "KEYBOARD LED CONTROL"

The example program uses old constructs like DEC("D61D") instead of the simpler $D61D. And also, the value set in D61E is only copied to the LEDs when D61D is written to, That's something the example program doesn't take into account. I just checked the VHDL and that confirmed my suspicion:


          when x"1d" =>
            disco_led_en_int <= fastio_wdata(7);
            disco_led_en <= fastio_wdata(7);
            disco_led_id_int(6 downto 0) <= fastio_wdata(6 downto 0);
            disco_led_id(6 downto 0) <= fastio_wdata(6 downto 0);
            disco_led_id(7) <= '0';
            -- Latch intensity level only when setting the register to write to.
            disco_led_val <= disco_led_val_int;
          when x"1e" =>
            disco_led_val_int <= fastio_wdata;

Poking into 1E sets an internal value. Poking into 1D copies this to an output signal.

Describe the solution you'd like

  • replace DEC("....") by just $.....
  • poke to $D61D after each case where $D61E is poked.

Describe alternatives you've considered
.

Additional context
.

Metadata

Metadata

Assignees

No one assigned

    Labels

    newNew report, not classified yet

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions