133 Commits

Author SHA1 Message Date
f7c8ba294e new examples 2024-12-30 17:06:00 -06:00
7aa1b3d7f5 add isp_tsp spreadsheet 2024-12-27 10:13:16 -06:00
d2dc73ace2 example: use uint8_t for all maple send_buf/recv_buf 2024-12-19 18:46:02 -06:00
d74804f2b3 serial_transfer: disable maple debugging 2024-12-16 11:20:13 -06:00
8f95b5a2b2 append_command_all_ports: add optional set_end_flag argument 2024-12-08 17:31:00 -06:00
870254efd2 font.hpp -> font.h 2024-12-08 17:30:29 -06:00
366432e4af common.lds: fix vbr alignment 2024-12-05 20:50:02 -06:00
e36735f6c2 improve for out-of-tree usage 2024-12-03 10:43:08 -06:00
671fe92b12 tools/ttf_outline: twiddle at compile-time 2024-12-01 10:30:01 -06:00
81e76ee428 example: fix video_output example 2024-11-20 01:24:39 -06:00
9933d945bf add debug_protocol.hpp 2024-11-16 14:18:16 -06:00
d32bd87baa example: add UBC experiment 2024-11-12 20:37:40 -06:00
1d25d54bb1 ftdi_transfer: move maple code to separate ftdi_maple source file 2024-11-12 20:37:02 -06:00
cfe9c07dfe ftdi_transfer: implement maple storage dumps 2024-11-11 19:32:17 -06:00
c713a084d8 serial_transfer: implement "maple_raw" command 2024-11-10 20:18:23 -06:00
17c1418574 example: fixed all examples 2024-10-27 11:01:54 -05:00
f2320d70bf example: restore maple_vibrator 2024-10-27 08:16:56 -05:00
d55fa64714 example: restore more examples 2024-10-27 07:23:08 -05:00
fc536bd93a example: restore several examples
The dump_* examples were removed because the serial_transfer example now handles
that use-case more generically.
2024-10-27 01:17:59 -05:00
45c6bcf211 serial_transfer: add read command 2024-10-26 08:03:50 -05:00
ff7a03a75c serial_transfer: rewrite 2024-10-26 04:54:06 -05:00
3bf80b521a restore macaw example 2024-10-23 08:07:22 -05:00
b133879f7e serial_transfer: fully asynchronous maple display write 2024-10-22 04:19:37 -05:00
1ecd87495f example: add maple_font 2024-10-18 23:30:42 -05:00
e1e63795c9 example: unrot wiffle_attenuation 2024-10-17 22:46:11 -05:00
12bf231293 example/maple_*: update examples 2024-10-17 22:45:22 -05:00
9043842796 example: add aica_gdrom_dft 2024-09-23 22:57:30 -05:00
c2e41d28d4 example/aica_gdrom: poll system.ISTEXT 2024-09-23 10:09:46 -05:00
9f90e5e3f6 example: add sheik_vq 2024-09-13 13:33:31 -05:00
04785a23a3 sheik: enable translucency 2024-09-13 05:41:21 -05:00
32b8f85a4f example: add cube_vq_rectangular 2024-09-13 05:35:43 -05:00
03403c95aa example: add sheik 2024-09-13 03:55:02 -05:00
8cead9614f add pipelined rendering examples
This adds a new texture memory allocation header,
texture_memory_alloc2.hpp, with two of each memory area.

This also adds two new examples, "cube_textured" and "cube_vq" that
demonstrate using the new texture_memory_alloc2 to perform CORE
rendering, geometry transformation, and tile acceleration
concurrently.
2024-09-09 04:20:40 -05:00
cf57f42c11 unrot macaw_cube_render_to_texture 2024-07-31 13:24:10 -05:00
90fe17ac5c example: add tetrahedron 2024-05-31 21:41:00 -05:00
dd5969dc1f example/: add vq and sierpinski 2024-05-25 20:42:59 -05:00
40b7c9d800 example: add maple_mouse
This also updates maple_analog.
2024-05-24 18:18:29 -05:00
ea51bca518 example/maple_storage: initial example 2024-05-23 11:47:19 -05:00
be8f06e486 example: add maple_storage example 2024-05-21 19:09:48 -05:00
643ad0e9fb text_editor/keyboard: use new maple interface 2024-05-21 15:36:04 -05:00
9801557535 maple: slightly refactor maple command initialization
This adopts a "writer" concept, vaguely inspired by the ta parameter
writer. This might turn out to be not a great idea if the
response/offsets for heterogenous commands are too inconvenient to
keep track of.

This breaks every example that uses maple--only
example/maple_controller is updated to use the new interface.
2024-05-21 15:05:25 -05:00
b5ac43c109 text_editor: refactor render/transform 2024-05-20 11:26:19 -05:00
5c192ffd2e text_editor: initial gap buffer implementation 2024-05-19 14:20:27 -05:00
a0d516803b example: remove frame_ix double semicolon 2024-05-19 08:42:07 -05:00
39e97a3f1b font_outline*: fix examples
Fix frame_ix increment.

Remove unncessary differences between the two examples.
2024-05-19 08:40:44 -05:00
a4ae84124a example: add texture_filtering and texture_filtering_maple 2024-05-12 17:39:52 +08:00
bcaa9789cf texture_memory_alloc: rework texture memory allocation
The previous texture_memory_alloc.hpp was written based on an
incorrect understanding of the "32-bit" and "64-bit" texture memory
address mapping.

The primary motivation is to rearrange the texture memory address map
so that "textures" (64-bit access) do not overlap with 32-bit
accesses, such as REGION_BASE or PARAM_BASE.
2024-05-12 17:06:00 +08:00
c8e84be5d2 common.lds: define vbr alignment
This also creates an example of a VBR+0x100 function in interrupt.cpp
2024-04-15 18:22:28 +08:00
bd33fbf2e4 example/font_bitmap: remove unintentional padding between characters
At 4bpp, each 8×8px character only requires (8 * 8 / 2) bytes of
texture ram.
2024-04-15 18:16:13 +08:00
1a7a8c4484 serial_transfer: add 'rate' command
This makes it possible to change the serial baud rate without
uploading a new serial transfer program. I'm not sure how useful this
will be, but it is simple enough to add.

The client program is also substantially improved. Sincerely I do not
understand how/why this works. Experimentally, I found that feeding
the ft232h data in chunks of up to roughly 384 bytes works reliably,
both for reads and writes. Larger chunk sizes are (as expected)
faster, but the tranfers do not appear to be consistently correct in
this case.

I have no logical explanation for this. The size of the ft232h FIFO is
1K each for the transmit and receive buffer respectively.

This also enables RTS/CTS hardware flow control. Surprisingly, this
doesn't appear to affect reliability significantly.
2024-03-15 18:33:15 +08:00