aboutsummaryrefslogtreecommitdiff
path: root/src/readme.md
blob: 7b8f11b1456cbf391216dcc3d0f155a3546e03ae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# src (game source files)

- the game can be built for the stm32 with fpga, or for desktop (windows and
  linux tested), by editing the `PLATFORM` variable in `makefile`
- stm-specific sources should be in the stm32 folder (setup/configuration code
  using HAL or FreeRTOS), or in `stm32.c` in any subfolder (when used as
  interface implementation)
- stm-specific sources should be declared in `stm32.mk`
- desktop-specific sources should be declared in `ds.mk`
- other source files (both platforms) should be declared in `makefile`
- for small sections of platform specific code, `#ifdef` macro's can be used.
  either `HH_TARGET_STM32` or `HH_TARGET_DESKTOP` is defined.

## directory structure

|name|description|
|-|-|
|apu|APU interface functions|
|lib|libraries (stm system headers, HAL, FreeRTOS)|
|ppusim|PPU simulation code (desktop only)|
|ppu|PPU interface functions|
|static|static game assets (binary files)|
|stm32|STM32 specific setup (HAL, FreeRTOS)|

## others

### debugging command

```bash
st-util & arm-none-eabi-gdb ./main.elf -ex 'target remote localhost:4242' -ex 'continue'
```