start work on fruitjam

This commit is contained in:
Jeff Epler 2025-08-12 10:15:14 -05:00
parent 29a453c980
commit cb234aa6ec
3 changed files with 57 additions and 0 deletions

20
README-fruitjam.md Normal file
View file

@ -0,0 +1,20 @@
# Adafruit Fruit Jam (work in progress)
* `git submodule update --init`
* `sh fruitjam_build.sh`
* `picotool uf2 convert doom1.whx -t bin doom1-whx-for-doom_tiny.uf2 -o 0x10040000 --family data`
You will get binary files including `build_fruitjam/src/doom_tiny.uf2`.
Copy the uf2s (I copied `doom1-whx-for-doom_tiny.uf2` first then `build_fruitjam/src/doom_tiny.uf2`) to fruit jam.
You may need to re-enter the bootloader after copying the first file. (TODO: how do you combine UF2 files)
You should get:
* Debug UART output on pin "A4"
* video data on pin 8, sync on 6/7 (I expected data on 9/10 as well but there's not: It's supposed to be 1-bit RGB)
* Audio (soundtrack + FX) on I2S
TODO:
* HSTX video
* Pico-PIO-USB for input
* combined UF2 files

13
fruitjam-build.sh Executable file
View file

@ -0,0 +1,13 @@
#!/bin/sh
TAG=fruitjam
export CFLAGS="-include $(pwd)/fruitjam_cflags.h"
export CXXFLAGS="-include $(pwd)/fruitjam_cflags.h"
cmake -S . -B build_${TAG} \
-DCMAKE_BUILD_TYPE=MinSizeRel \
-DPICO_SDK_PATH=../pico-sdk \
-DPICOTOOL_FETCH_FROM_GIT_PATH="$(pwd)/picotool" \
-DBOARD=adafruit_fruit_jam -DPICO_BOARD=adafruit_fruit_jam \
-DUSE_HSTX=1 \
${CMAKE_ARGS} "$@"
make -C build_${TAG} -j$(nproc)

24
fruitjam_cflags.h Normal file
View file

@ -0,0 +1,24 @@
#ifndef FRUITJAM_CFLAGS_H
#define FRUITJAM_CFLAGS_H 1
#define PICO_SCANVIDEO_COLOR_PIN_BASE 8
#define PICO_SCANVIDEO_PIXEL_RCOUNT 1
#define PICO_SCANVIDEO_PIXEL_GCOUNT 1
#define PICO_SCANVIDEO_PIXEL_BCOUNT 1
#define PICO_SCANVIDEO_SYNC_PIN_BASE 6
#define USE_HSTX 1
#define SD_TX 35
#define SD_RX 36
#define SD_SCK 34
#define SD_CS 39
#define USE_SD 1
#define PICO_DEFAULT_UART 0
#define PICO_DEFAULT_UART_TX_PIN 44
#define PICO_DEFAULT_UART_RX_PIN 45
#define PICO_AUDIO_I2S_DATA_PIN 24
#define PICO_AUDIO_I2S_CLOCK_PIN_BASE 26
#define HSTX_CKP 11
#define HSTX_D0P 13
#define HSTX_D1P 15
#define HSTX_D2P 17
#define SD_MHZ 16
#endif