68000 3D engine base for Mega Drive, organized to grow from wireframe to flat-shaded triangles.
- Reduce obscure points in the bring-up
- Correct the misalignment between
tile baseand tile upload - Bring up a default palette right in
vdp_init - Make the path
framebuffer -> tiles -> name table -> VRAMmore auditable
-
PRESENT_TILE_BASEstays 1 so tile0remains blank outside the centered 20x14 area -
vdp_initnow callsvdp_init_default_palette -
Separate support for writing to CRAM has been added
-
present_upload_minimal_cpunow documents and uses the tile base coherently -
STACK_TOPhas been defined inconfig.inc, eliminating a boot loophole
This v4.7 is still a serious technical bring-up, not a confirmed demo in the emulator. But the critical section is now shorter and has fewer obvious inconsistencies.
- Internal buffer 160x112 in 4bpp
plot_pixel(x,y,color)in high/low nibble- Entire Bresenham in
draw_line - Cube described by edges
cube-firsttransformation- Packing of the framebuffer in 8x8 tiles
- Linear name table 20x14
- Minimum upload to VRAM per CPU
- Default palette in CRAM at init
- Validate the first frame in the emulator
- Check the exact VDP command if a black screen or incorrect layout appears
- Actual reading of the 3-button controller
- Review the
presentfor DMA after the first frame is validated
- v4.8: First visual frame validated
- v4.9: Backface culling + visible faces
- v5.0: Flat-shaded triangles