Skip to content

Latest commit

 

History

History
34 lines (29 loc) · 1.38 KB

0070-2023-04-30.md

File metadata and controls

34 lines (29 loc) · 1.38 KB

30 Apr 2023

Previous journal: Next journal:
0069-2023-04-29.md 0071-2023-05-01.md

Raybox

  • Started q16d16 branch for trying out Q16.16 fixed-point.
  • Consider how this design, as a chip, should be controlled by a CPU. These parts would probably be part of the CPU, but could be optionally augmented by the chip too (esp. where there are common resources):
    • Motion
    • Collisions/deflections
    • Actual position/directional vectors
    • Sound
    • Map data
  • Consider how to render other overlays or interstitials, inc. rectangles, triangles, bitmaps, text.
  • Keep an eye out for specific instances where we can use/mix different fixed-point precisions and bit depths/balances. For instance, we know the heightScaler shouldn't ever get to (say) 32.0, and it really only needs 8 bits of fractional precision (for now)?

Notes

  • VGA DAC
  • Try build with Caravel
  • Ask group the best way to do ring memory for Raybox:
    • 8~10 bits for height (height of 1024 is 425% scaling)
    • 1 bit for side
    • Optionally 1~4 bits for texture.
    • Min: 640x9 bits = 5760
    • Max: 640x15 bits= 9600
    • All groups of 9~15 bits can shift forward from a common clock
    • Better to use a simple Verilog array/chain/generator, or a macro generated by something?