diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/demo.c | 2 | ||||
-rw-r--r-- | src/main.c | 35 | ||||
-rw-r--r-- | src/stm32/setup.c | 2 |
3 files changed, 18 insertions, 21 deletions
@@ -9,6 +9,7 @@ hh_s_ppu_loc_fam_entry g_hh_demo_balls[HH_DEMO_BALL_COUNT]; void hh_demo_setup() { + return; // load sprites hh_ppu_update_sprite(1, HH_DBG_SPRITE_BALL); hh_ppu_update_sprite(2, HH_DBG_SPRITE_CHECKERBOARD); @@ -43,6 +44,7 @@ void hh_demo_setup() { } void hh_demo_loop(unsigned long frame) { + return; // if (frame % 300 == 0) hh_demo_setup(); // // if (frame > 1) return; @@ -2,13 +2,13 @@ #include "main.h" #include "demo.h" +#include "ppu/internals.h" #include "ppu/ppu.h" #include "input.h" +#include "../test/ppu-stm-integration-demo/data.h" #ifdef HH_TARGET_DESKTOP #include <stdio.h> -#include "../test/ppu-stm-integration-demo/data.h" -#include "ppu/internals.h" #endif bool g_hh_run = true; @@ -17,26 +17,21 @@ volatile unsigned short g_hh_hcount; void hh_ppu_vblank_interrupt() { static unsigned long frame = 0; -#ifdef HH_TARGET_STM32 - hh_ppu_flush(); - hh_input_read(); - hh_demo_loop(frame); -#endif -#ifdef HH_TARGET_DESKTOP - static bool done = false; - //hh_ppu_vram_dwrite((uint8_t*) HH_PPUINTDEMO_ARR, HH_PPUINTDEMO_LENGTH); - for (unsigned int limit = 0; limit < 1000; limit++) { - if (frame * 4 >= HH_PPUINTDEMO_LENGTH) { - if (!done) printf("done\n"); - done = true; - return; +// #ifdef HH_TARGET_STM32 +// hh_ppu_flush(); +// hh_input_read(); +// hh_demo_loop(frame); +// #endif + // if (frame > 1) return; + for (size_t i = 0; i < HH_PPUINTDEMO_LENGTH; i += 4) { + uint8_t* d = HH_PPUINTDEMO_ARR + i; + if (d[0] == 0xff && d[1] == 0xff && d[2] == 0xff && d[3] == 0xff) { + hh_ppu_flush(); + } else { + hh_ppu_vram_buffer(d); } - hh_ppu_vram_dwrite((uint8_t*) HH_PPUINTDEMO_ARR + frame * 4, 4); - uint8_t* d = HH_PPUINTDEMO_ARR + frame * 4; - if (d[0] == 0xff && d[1] == 0xff && d[2] == 0xff && d[3] == 0xff) break; // run all commands until flush - else frame++; } -#endif + hh_ppu_flush(); frame++; } diff --git a/src/stm32/setup.c b/src/stm32/setup.c index 6975592..7b9f35a 100644 --- a/src/stm32/setup.c +++ b/src/stm32/setup.c @@ -34,7 +34,7 @@ SPI_HandleTypeDef hspi1 = { .Init.CLKPolarity = SPI_POLARITY_LOW, .Init.CLKPhase = SPI_PHASE_1EDGE, .Init.NSS = SPI_NSS_SOFT, - .Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2, + .Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_16, .Init.FirstBit = SPI_FIRSTBIT_MSB, .Init.TIMode = SPI_TIMODE_DISABLE, .Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE, |