-
Notifications
You must be signed in to change notification settings - Fork 54
Open
Labels
newNew report, not classified yetNew report, not classified yet
Description
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
.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
newNew report, not classified yetNew report, not classified yet