Code
Hub
Workspaces
Following
Trending
Connect
MCP
copy
Create free account
hub
/
github.com/Wren6991/PicoDVI
/ functions
Functions
138 in github.com/Wren6991/PicoDVI
⨍
Functions
138
◇
Types & classes
46
↓ 27 callers
Function
queue_add_blocking_u32
software/libdvi/util_queue_u32_inline.h:56
↓ 20 callers
Function
queue_remove_blocking_u32
software/libdvi/util_queue_u32_inline.h:65
↓ 17 callers
Function
dvi_init
software/libdvi/dvi.c:21
↓ 17 callers
Function
dvi_register_irqs_this_core
The IRQs will run on whichever core calls this function (this is why it's called separately from dvi_init)
software/libdvi/dvi.c:58
↓ 17 callers
Function
dvi_start
Setup first set of control block lists, configure the control channels, and trigger them. Control channels will subsequently be triggered only by DMA
software/libdvi/dvi.c:102
↓ 16 callers
Function
mul_fp1616
software/libsprite/affine_transform.h:20
↓ 12 callers
Function
_set_data_cb
Make a sequence of paced transfers to the relevant FIFO
software/libdvi/dvi_timing.c:261
↓ 7 callers
Function
dvi_lane_from_list
software/libdvi/dvi_timing.h:60
↓ 7 callers
Function
fillrect
software/apps/dht_logging/main.c:64
↓ 7 callers
Function
puttextf
software/apps/dht_logging/main.c:84
↓ 6 callers
Function
byteimbalance
(x)
software/libdvi/tmds_table_gen.py:23
↓ 6 callers
Function
get_ctrl_sym
software/libdvi/dvi_timing.c:256
↓ 6 callers
Function
putpixel
software/apps/dht_logging/main.c:42
↓ 6 callers
Function
queue_try_remove_u32
software/libdvi/util_queue_u32_inline.h:32
↓ 6 callers
Function
tmds_encode_symbols
software/libdvi/tmds_encode.c:241
↓ 5 callers
Function
_dvi_load_dma_op
Set up control channels to make transfers to data channels' control registers (but don't trigger the control channels -- this is done either by data c
software/libdvi/dvi.c:81
↓ 5 callers
Function
tile_log_size
software/libsprite/tile.c:8
↓ 5 callers
Function
uniform
software/apps/christmas_snowflakes/main.c:69
↓ 4 callers
Function
_get_sprite_intersect
Always-inline else the compiler does rash things like passing structs in memory
software/libsprite/sprite.c:19
↓ 4 callers
Function
affine_copy
software/libsprite/affine_transform.h:37
↓ 4 callers
Function
clip
software/apps/tiles_and_sprites/main.c:99
↓ 4 callers
Function
decode_data_sym
(x)
software/scripts/tmdsdump.py:24
↓ 4 callers
Function
generate_one
software/apps/mandel-full/mandelbrot.c:106
↓ 4 callers
Function
generate_one_cycle_check
software/apps/mandel-full/mandelbrot.c:132
↓ 4 callers
Function
make_fixedf
software/apps/mandel-full/mandelbrot.c:71
↓ 4 callers
Function
render_scanline
software/apps/tiles_and_sprites/main.c:164
↓ 4 callers
Function
square
software/apps/mandel-full/mandelbrot.c:60
↓ 3 callers
Function
affine_mul
result can not be == left or right
software/libsprite/affine_transform.h:27
↓ 3 callers
Function
core1_main
software/apps/tiles/main.c:72
↓ 3 callers
Function
dvi_configure_pad
software/libdvi/dvi_serialiser.c:11
↓ 3 callers
Function
fmt_byte
(a, b, n)
software/apps/bad_apple/video/rle_compress.py:25
↓ 3 callers
Function
is_ctrl_sym
(x)
software/scripts/tmdsdump.py:21
↓ 3 callers
Function
popcount
(x)
software/libdvi/tmds_table_gen.py:15
↓ 2 callers
Function
_intersect_with_metadata
Sprites may have an array of metadata on the end. One word per line, encodes first opaque pixel, last opaque pixel, and whether the span in between is
software/libsprite/sprite.c:33
↓ 2 callers
Function
_queue_inc_index_u32
software/libdvi/util_queue_u32_inline.h:12
↓ 2 callers
Function
_setup_interp_affine
Set up an interpolator to follow a straight line through u,v space
software/libsprite/sprite.c:105
↓ 2 callers
Function
_setup_interp_pix_coordgen
Set up an interpolator to generate pixel lookup addresses from fp1616 numbers in accum1, accum0 based on the parameters of sprite sp and the size of t
software/libsprite/sprite.c:125
↓ 2 callers
Function
affine_identity
User is describing a sequence of transformations from texture space to screen space, which are applied by premultiplying a column vector. However, har
software/libsprite/affine_transform.h:49
↓ 2 callers
Function
affine_translate
software/libsprite/affine_transform.h:58
↓ 2 callers
Function
byte_imbalance
software/libdvi/tmds_encode.c:237
↓ 2 callers
Function
clip
software/apps/sprite_bounce/main.c:81
↓ 2 callers
Function
cos_fp1616
software/libsprite/affine_transform.h:114
↓ 2 callers
Function
display_scrolling_testcard
software/apps/dual_display/main.c:26
↓ 2 callers
Function
dvi_setup_scanline_for_active
software/libdvi/dvi_timing.c:299
↓ 2 callers
Function
dvi_setup_scanline_for_vblank
software/libdvi/dvi_timing.c:275
↓ 2 callers
Method
encode
(self, d, c, de)
software/libdvi/tmds_table_gen.py:39
↓ 2 callers
Function
encode_scanline
software/apps/tiles_and_sprites/main.c:210
↓ 2 callers
Function
generate_one_forward
software/apps/mandel-full/mandelbrot.c:197
↓ 2 callers
Function
init_fractal
software/apps/mandel-full/mandelbrot.c:89
↓ 2 callers
Function
init_mandel
software/apps/mandel-full/main.c:67
↓ 2 callers
Function
main
software/apps/moon/main.c:44
↓ 2 callers
Function
mul2
a * b * 2
software/apps/mandel-full/mandelbrot.c:36
↓ 2 callers
Function
prepare_scanline
software/apps/vista/main.c:47
↓ 2 callers
Function
prepare_scanline
software/apps/terminal/main.c:82
↓ 2 callers
Function
puttext
software/apps/dht_logging/main.c:70
↓ 2 callers
Function
queue_try_add_u32
software/libdvi/util_queue_u32_inline.h:19
↓ 2 callers
Function
queue_try_peek_u32
software/libdvi/util_queue_u32_inline.h:45
↓ 2 callers
Function
setup_image
software/apps/vista-palette/main.c:89
↓ 2 callers
Function
sin_fp1616
software/libsprite/affine_transform.h:109
↓ 1 callers
Function
affine_rotate
Appears as a counterclockwise rotation (when viewed from texture space to screen space) Units of angle are 256 = one turn
software/libsprite/affine_transform.h:121
↓ 1 callers
Function
affine_scale
software/libsprite/affine_transform.h:132
↓ 1 callers
Function
core1_main
software/apps/mandelbrot/main.c:29
↓ 1 callers
Function
dump_frames
(stream)
software/scripts/tmdsdump.py:42
↓ 1 callers
Function
dvi_serialiser_enable
software/libdvi/dvi_serialiser.c:61
↓ 1 callers
Function
dvi_serialiser_init
software/libdvi/dvi_serialiser.c:23
↓ 1 callers
Function
dvi_timing_state_init
software/libdvi/dvi_timing.c:235
↓ 1 callers
Function
game_init
software/apps/tiles_and_sprites/main.c:103
↓ 1 callers
Function
generate_steal_one
software/apps/mandel-full/mandelbrot.c:215
↓ 1 callers
Function
init_palette
software/apps/mandel-full/main.c:49
↓ 1 callers
Function
loadcsv
(csvfiles)
software/scripts/tmdsdump.py:7
↓ 1 callers
Function
main
software/apps/mandelbrot/main.c:48
↓ 1 callers
Function
main
software/apps/tiles/main.c:120
↓ 1 callers
Function
main
software/apps/christmas_snowflakes/main.c:144
↓ 1 callers
Function
pack_image
(img)
software/apps/bad_apple/video/rle_compress.py:51
↓ 1 callers
Function
pack_row
(row)
software/apps/bad_apple/video/rle_compress.py:30
↓ 1 callers
Function
read_from_dht
software/apps/dht_logging/dht.c:11
↓ 1 callers
Function
rgb565_lerp_white
software/apps/christmas_snowflakes/main.c:57
↓ 1 callers
Function
set_char
software/apps/colour_terminal/main.c:83
↓ 1 callers
Function
set_colour
Pixel format RGB222
software/apps/colour_terminal/main.c:90
↓ 1 callers
Function
setup_interp_tilemap_ptrs
software/libsprite/tile.c:12
↓ 1 callers
Function
tmds_setup_palette24_symbols
This takes a 24-bit (RGB 888) colour palette and makes palettes of TMDS symbols suitable for performing fullres encode. The TMDS palette buffer should
software/libdvi/tmds_encode.c:295
↓ 1 callers
Function
tmds_setup_palette_symbols
This takes a 16-bit (RGB 565) colour palette and makes palettes of TMDS symbols suitable for performing fullres encode. The TMDS palette buffer should
software/libdvi/tmds_encode.c:277
↓ 1 callers
Function
update
software/apps/tiles_and_sprites/main.c:122
↓ 1 callers
Function
update
software/apps/christmas_snowflakes/main.c:84
↓ 1 callers
Function
zoom_mandel
software/apps/mandel-full/main.c:91
Function
__dvi_func(dvi_dma0_irq)
software/libdvi/dvi.c:238
Function
__dvi_func(dvi_dma1_irq)
software/libdvi/dvi.c:244
Function
__dvi_func(dvi_dma_irq_handler)
software/libdvi/dvi.c:174
Function
__dvi_func(dvi_scanbuf_main_16bpp)
Ugh copy/paste but it lets us garbage collect the TMDS stuff that is not being used from .scratch_x
software/libdvi/dvi.c:159
Function
__dvi_func(dvi_scanbuf_main_8bpp)
Version where each record in q_colour_valid is one scanline:
software/libdvi/dvi.c:143
Function
__dvi_func(dvi_timing_state_advance)
software/libdvi/dvi_timing.c:240
Function
__dvi_func(dvi_update_scanline_data_dma)
software/libdvi/dvi_timing.c:331
Function
__dvi_func_x(_dvi_prepare_scanline_16bpp)
software/libdvi/dvi.c:129
Function
__dvi_func_x(_dvi_prepare_scanline_8bpp)
software/libdvi/dvi.c:117
Method
__init__
(self)
software/libdvi/tmds_table_gen.py:36
Function
__no_inline_not_in_flash_func(flash_bulk_dma_start)
software/apps/vista-palette/main.c:43
Function
__no_inline_not_in_flash_func(flash_bulk_dma_start)
software/apps/vista/main.c:54
Function
__not_in_flash_func(configure_interp_for_addrgen)
software/libdvi/tmds_encode.c:33
Function
__not_in_flash_func(configure_interp_for_addrgen_fullres)
software/libdvi/tmds_encode.c:156
Function
__not_in_flash_func(configure_sio_tmds_for_single_channel)
Encoding a single channel at a time is not the most efficient way to use this hardware, because it means we read the colour buffer multiple times, but
software/libdvi/tmds_encode.c:73
next →
1–100 of 138, ranked by callers