31 Commits

Author SHA1 Message Date
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
7daff7e3ca example: add macaw_twiddle 2023-12-16 23:28:28 +08:00
39aa6b75a6 example: new maple "get_condition" demo
This is very barebones, and uses the serial interface to communicate
the status of the "a" controller button being pressed.

I'd like to make this a more interactive/graphical demo.
2023-12-15 22:08:23 +08:00
2689ad4011 example: add maple_controller
This broke maple_wink. I have not yet found why this happened.
2023-12-15 17:13:53 +08:00
25e299feba new "example" directory
This is a reshuffling of filenames, extensions, paths, make rules,
just because I felt like it.
2023-12-12 21:50:39 +08:00
25fef821b0 maple: read controller input on real hardware
There were two notable bugs:

- the maple transfer/data sizes were not being set correctly

- align_32byte always realigned the address of `_scene`, and not the
  `mem` parameter as expected. This had the effect of the maple-DMA
  send and receive buffers being the same buffer. On real hardware,
  this causes unpredicable behavior.
2023-12-10 00:44:33 +08:00
ca77db1734 maple: add maple_host_bits 2023-12-09 17:05:34 +08:00
481a0cb0dc move maple definitions to a new maple/ directory
maple.cpp now uses the new maple_bus_commands.h
2023-12-09 16:38:57 +08:00
c8ed8cdf9e maple: add maple_bus_commands.h 2023-12-09 16:14:21 +08:00
f1a32d0719 maple: send a 'device request' command
On an emulator, the receive buffer is filled with the correct/expected
data for 'device status'.

I found this experiment useful:

- it revealed a bug in my register struct generator code (the
  maple_if-related registers were not at the correct offsets)

- it validates my understanding about endianness-swapping between the
  maple bus and the SH4
2023-12-09 01:31:34 +08:00
3f30c96dcd add more notes on maple 2023-12-08 11:22:15 +08:00
b99722a6df _bits: use more bits generated from spreadsheets
This rearranges scene.cpp to a file organization that more closely
follows which code is responsible for what area of (hardware)
initialization.

All TA and CORE register accesses now use the new ta_bits.h and
core_bits.h, respectively.
2023-12-05 00:16:38 +08:00
67f809c98d vga: use core_bits.h 2023-12-02 20:51:48 +08:00
0d8bda28fe add core_bits.csv 2023-12-02 15:20:04 +08:00
37667a4dab regs: add core and ta bits 2023-12-02 12:31:00 +08:00
ff2dcc7d71 draw 1 triangle 2023-11-30 10:02:49 +08:00
329ada55f1 add code loading and test program
This was used to troubleshoot video output and framebuffer
configuration registers.
2023-10-16 19:24:51 +00:00
99701f0b57 main: initial vga mode setting
This feels very hacky, and I'd like to make this better.
2023-10-13 05:36:38 -07:00
2bcf1aedef cache: clear all instruction/operand caches 2023-10-12 09:43:54 -07:00
a4ac9fa4c8 systembus.h: initial
This does not yet declare any externs, as I'm not certain how those should work.
2023-10-11 15:39:55 -07:00
ee9e44e4a6 regs: add systembus and memorymap 2023-10-11 15:33:53 -07:00
5c4c107eaf add sh7091 and holly registers 2023-10-11 09:01:56 -07:00