1dbae5713f
systembus: rename v_blank interrupts
2025-04-27 02:15:02 -05:00
63b4a9b108
gdrom.ods: add block column
2025-01-01 06:05:28 -06:00
1295eed1bb
regs: update isp_tsp / systembus
2024-12-30 17:05:01 -06:00
a77580335c
regs: add ta_parameter.ods
2024-12-28 06:36:42 -06:00
7aa1b3d7f5
add isp_tsp spreadsheet
2024-12-27 10:13:16 -06:00
daf92a5049
core_bits: remove leading underlines
2024-12-27 08:03:41 -06:00
d32bd87baa
example: add UBC experiment
2024-11-12 20:37:40 -06: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
71fb02e03d
video_output: remove redundant header includes
2024-10-26 04:54:06 -05:00
b133879f7e
serial_transfer: fully asynchronous maple display write
2024-10-22 04:19:37 -05:00
ebb1955500
chess: cursor axis inversion, initial "animator" concept
2024-06-02 10:13:47 -05:00
5e80d9ecfc
chess: add annotations, multiple pointers, translucency
2024-06-01 19:24:43 -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
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
11b858533e
gap_buffer: the cursor can jump vertically to adjacent lines
2024-05-20 04:46:40 -05:00
ad5b98b5ea
maple: add maple_bus_ft6_key_scan_codes
2024-05-19 21:55:36 -05:00
d73b41a6ab
regs: add missing ods files
2024-05-19 15:08:38 -05:00
dd55208f39
maple: add maple_bus_ft6
2024-05-19 15:08:22 -05:00
0510598233
generic_sparse_struct: constexpr constructors
...
ta_polygon_converter_transfer: const buf
2024-05-19 08:23:13 -05:00
f8dc9f1250
example: add video_output example
...
The intent of this example is to change video output modes in response
to swapping the cable type.
2024-03-09 17:15:36 +08:00
c0e10fe8f1
vga: delete
...
This is replaced with the (slightly cleaner) holly/video_output.
2024-03-08 20:46:55 +08:00
db323c85c5
dve: initial description of DVE bits
...
This also implements primitive cable-detection and video output.
2024-03-08 18:27:12 +08:00
eafd4e6f23
holly: add video output data
2024-03-08 16:17:59 +08:00
73a685face
aica: use SCIPD to detect TIMA overflow
...
Real hardware does not support TIMA reads--SCIPD is the correct way to
achieve this.
2024-03-01 15:26:47 +08:00
3338b611c1
aica: initial working example
...
This plays 10 seconds of PCM audio via the AICA ARM CPU.
2024-02-29 16:51:25 +08:00
5b696f7c0d
aica: initial register definitions
2024-02-28 21:37:26 +08:00
8feda3b29a
regs: add aica common and aica rtc
2024-02-28 15:34:32 +08:00
ec4dbee01b
regs: add aica_channel_data spreadsheet
2024-02-27 21:38:39 +08:00
10d17d3c98
example: add gdrom_iso9660
...
This combines my iso9660 parsing code, with all of the prior gdrom packet
interface / command code.
The example, on real Dreamcast hardware, displays the first 2048 bytes [1] of every
file in the root directory on the serial console.
[1] or the size of the file, whichever is smaller
2024-02-27 00:28:39 +08:00
c45cb293f0
gdrom/command_packet_format: improve initializer; add _data() method
2024-02-26 20:32:33 +08:00
41b707e75d
gdrom: add gdrom_bits
2024-02-26 18:04:23 +08:00
c95182081a
gdrom: add gdrom_command_packet_format.hpp
...
This re-uses most of the code from the ta_parameter_format
generator--this was factored out to "generic_sparse_struct.py".
2024-02-26 15:31:40 +08:00
d622ee04a7
regs/gen: factor out read_input to a new module, csv_input
2024-02-26 14:19:05 +08:00
c2e596a1c0
regs: add g1_if GDUNLOCK register
2024-02-25 13:32:40 +08:00
c851070604
gdrom: add gdrom register definitions
2024-02-24 17:04:39 +08:00
59708cc3cf
examples: add software_ta
2024-02-23 23:47:43 +08:00
511d99563d
maple_bus_commands: zero-sized structs should be zero sized
...
From the GCC manual.
> GCC permits a C structure to have no members:
struct empty {
};
> The structure has size zero. In C++, empty structures are part of the
> language. G++ treats empty structures as if they had a single member of type
> char.
I was not aware of the different behavior in C++.
This fixes every maple example--most were broken for multiple reasons, including
this one.
This also enables SH4 caching. This includes linking code/data into the P1
area (previously this was not the case).
The maple examples (which indeed involve much use of DMA) require much work to
successfully work with the operand and copyback caches. The vibration example
currently is the most complete, though I should consider more on how I want to
structure maple response operand cache invalidation more generally.
2024-02-02 22:05:10 +08:00
dcb9f36120
sh7091_bits.ods: partial
...
Notably missing is:
- BSC (PDTRA / PCTRA)
This also updates a handful of files to use the new sh7091_bits.hpp.
2024-01-01 23:43:06 +08:00
0b6c650ebd
common.mk: add headless csv build rule
2024-01-01 00:58:10 +08:00
549254615e
example: modifier_volume_with_two_volumes
2023-12-30 21:50:54 +08:00
de76c0bed2
ta_parameter_format: generate TA parameter formats from csv
...
This replaces all handwritten TA parameter format structures with
automatically generated structures.
All valid TA parameter formats are now declared.
2023-12-30 18:55:09 +08:00
7f9469c9a7
regs/gen/ta_parameter_format: incomplete
2023-12-30 17:38:15 +08:00
4bb04a0362
example: add maple_analog
...
Also adds the incomplete modifier_volume example.
This also adds vec2 for UV coordinates, and obj_to_cpp has been
modified to parse vertex texture coordinates from obj files.
2023-12-30 10:53:39 +08:00
88b6fa9aae
memorymap: add texture_memory64
2023-12-17 23:04:19 +08:00
2f7f0a6bdf
example: add maple vibrator example
2023-12-17 12:57:06 +08:00
dec0f7c7a4
maple: add ft8 data transfer
2023-12-17 11:06:38 +08:00
5a9790daf1
examples: add font example
2023-12-17 02:03:42 +08:00