Skip to content

Commit

Permalink
Update bring-up script and add instructions
Browse files Browse the repository at this point in the history
  • Loading branch information
mole99 committed Feb 9, 2025
1 parent 21651e7 commit c13ca15
Show file tree
Hide file tree
Showing 6 changed files with 384 additions and 674 deletions.
17 changes: 12 additions & 5 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -160,12 +160,19 @@ Just write to the various registers while the frame is drawn.

I am excited what you are going to do with it!

## Different Applications?
## Bring-Up

With some imagination One Sprite Pony can become so much more:
Make One Sprite Pony the default design on startup:

1. ROM for TT Sprite (just read out the sprite data)
`python3 -m there push -r tt05/config.ini /`

2. RAM (read and write sprite data and registers)
Push the bring-up script to the demo board:

3. hand warmer? (the design has a density of ~90%, but since all other designs are disabled at the same time, the chip will probably not warm up ;) )
`python3 -m there push -r bring-up/tt_um_top_mole99 /examples/`

To run the bring-up script, issue the following commands in the REPL:

```
>>> import examples.tt_um_top_mole99 as test
>>> test.run()
```
43 changes: 27 additions & 16 deletions bring-up/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -35,25 +35,40 @@ log_level = INFO
# default RP2040 system clock
rp_clock_frequency = 125e6


# force_shuttle
# by default, system attempts to figure out which ASIC is on board
# using the chip ROM. This can be a problem if you have something
# connected to the demoboard. If you want to bypass this step and
# manually set the shuttle, uncomment this and set the option to
# a valid shuttle
# force_shuttle = tt06


# force_demoboard
# System does its best to determine the version of demoboard
# its running on. Override this here, using tt0*
# force_demoboard = tt06

#### PROJECT OVERRIDES ####


[tt_um_test]
clock_frequency = 10
start_in_reset = no
input_byte = 1
ui_in = 1

[tt_um_factory_test]
clock_frequency = 10
start_in_reset = no
input_byte = 1
ui_in = 1


[tt_um_psychogenic_neptuneproportional]
# set clock to 4kHz
clock_frequency = 4000
# clock config 4k, disp single bits
input_byte = 0b11001000
ui_in = 0b11001000
mode = ASIC_RP_CONTROL


Expand All @@ -65,7 +80,7 @@ mode = ASIC_RP_CONTROL
[tt_um_seven_segment_seconds]
rp_clock_frequency = 120e6
clock_frequency = 10e6
input_byte = 0
ui_in = 0
mode = ASIC_RP_CONTROL


Expand All @@ -74,14 +89,14 @@ mode = ASIC_RP_CONTROL
[tt_um_loopback]
# ui_in[0] == 1 means bidirs on output
clock_frequency = 1000
input_byte = 1
ui_in = 1

# bidir_direction, 1 bit means we will
# uio_oe_pico, 1 bit means we will
# write to it (RP pin is output),
# 0 means read from (RP is input)
# set to all output
bidir_direction = 0xff
bidir_byte = 0b110010101
uio_oe_pico = 0xff
uio_in = 0b110010101

[tt_um_vga_clock]
rp_clock_frequency = 126e6
Expand All @@ -98,24 +113,20 @@ mode = ASIC_MANUAL_INPUTS
mode = ASIC_RP_CONTROL

# start inactive (all ins 0)
input_byte = 0
ui_in = 0

# Ensure we are *reading* from all of the ASIC's bidir pins,
# so bidirs all inputs:
bidir_direction = 0
uio_oe_pico = 0



[tt_um_psychogenic_shaman]
mode = ASIC_RP_CONTROL
clock_frequency = 1e6
# shaman uses a mix of in and out on bidir
bidir_direction = 0b11001100
bidir_byte = 0

uio_oe_pico = 0b11001100
uio_in = 0

[tt_um_top_mole99]
rp_clock_frequency = 126e6
clock_frequency = 40e6
mode = ASIC_RP_CONTROL
start_in_reset = no
Loading

0 comments on commit c13ca15

Please sign in to comment.