Curly / Medieval presents
my contribution to the Tiny Tapeout 8 demo competition. Code, graphics, and music by Curly (Toivo Henningsson) of Medieval.
This is the deluxe version, with Pmod VGA RGB444 output support and a few changes from the original, in 2x2 tiles compared to the original's 1x2.
Plug in a TinVGA compatible Pmod on the TT08 demo board's out Pmod.
Plug in a Pmod compatbile with Mike's audio Pmod compatible Pmod on the TT08 demo board's bidir Pmod.
Set all inputs to zero to get the default behavior.
Warning: The default behavior includes some flashing ligts. Set v_bass_off
and v_drums_off
(keep ui_in
at 3 instead of 0) to remove flashing.
The demo starts directly after reset.
This demo is best viewed with the monitor rotated 90 degrees, with the left side facing down.
There is no guarantee that changing the inputs after reset is released works as intended, but it probably does. Some of the inputs provide options on how the demo is run:
v_bass_off
: Setting this high reduces flashing, but also turns off the bass in some parts.v_drums_off
: Setting this high reduces flashing, but also turns off the drums in some parts.v_bass_low
: Setting this high keeps the bass at its default octave during the entire demo, and increases flashing.pause
: While this is high, the demo is paused and the sound is turned off.step_frame
: While this is high, the the demo advances one frame per cycle. Used for testing.rgb444_mode
: Setting this high sets the output to RGB444 mode instead of the default RGB222pmod_vga_pinout
: Setting this high enables the alternative Pmod VGA pinout.
t_
outputs are used when pmod_vga_pinout
is low. This fits the TinyVGA Pmod pinout. (p_
only outputs are not driven.)p_
outputs are used when pmod_vga_pinout
is high. This fits the Pmod VGA pinout.logo_shadow_off
: When high, removes the logo's shadow (like in the non-deluxe version).If using A Pmod VGA as output, set rgb444_mode
unless you want the original RGB222 experience.
For the demo competition, set pmod_vga_pinout
and rgb444_mode
if you have a Pmod VGA, and please consider if you can still hook up the sound. Don't set any of the other inputs.
This project needs
The choice of pinout is controlled by the pmod_vga_pinout
input.
# | Input | Output | Bidirectional |
---|---|---|---|
0 | v_bass_off | t_R1 / p_R0 | p_G0 |
1 | v_drums_off | t_G1 / p_R1 | p_G1 |
2 | v_bass_low | t_B1 / p_R2 | p_G2 |
3 | pause | t_vsync / p_R3 | p_G3 |
4 | rgb444_mode | t_R0 / p_B0 | p_hsync |
5 | pmod_vga_pinout | t_G0 / p_B1 | p_vsync |
6 | logo_shadow_off | t_B0 / p_B2 | audio_out_n |
7 | step_frame | t_hsync / p_B3 | audio_out |