Commit graph

48 commits

Author SHA1 Message Date
202098c881 fix printing size of disc image on debug uart
it's actually an unsigned long long, but we can bet on it actually having
a size that fits in 32 bits.
2025-03-21 12:46:55 -05:00
b552b5e844 Put UART stdout on pin A4 @ 115200 baud 2025-03-21 12:36:19 -05:00
adc7fcb0ae turbocharge mouse movement 2025-03-20 21:21:53 -05:00
3d090e7bee aha the i2s converter was assuming it got stereo...! 2025-03-20 13:24:13 -05:00
7fc9037604 There's audio, but it's glitched.
it only works at all with 128k or 256k non-psram builds

you can hear the beep when you adjust the slider in control panel, but
there's other audio overlaid on it that is kind of a weird descending tone,
very regular in nature.

The sample rate is set to 20k not 22.255k because of my i2s dac not
liking random sample rates.

Instead of using the i2s dac on the fruit jam, this uses A0 (data),
A1 (lrck), A2 (bclk). It's not super convenient, and it's hard coded.
2025-03-20 13:10:48 -05:00
42cf94e77f bump pico-extras 2025-03-19 15:07:12 -05:00
ef43caead5 fix newline 2025-03-19 15:04:25 -05:00
585a3188e9 use fruit jam def (requires updated pico-sdk) 2025-03-19 15:04:20 -05:00
a0268b24da share a picotool path 2025-03-19 15:03:58 -05:00
e78e12fa7c fix psram-required check 2025-03-19 15:03:42 -05:00
59a61155fc bump up the umac 2025-03-19 13:33:44 -05:00
ladyada
0753cef012 Add ability to specify disk image to fruitjam-build 2025-03-19 09:39:46 -05:00
6dce5594c5 show audio buffer next to screen in 512x342 2025-03-18 14:06:35 -05:00
a5e4afc98a use cached psram access 2025-03-18 13:56:42 -05:00
1254111004 a script to build on fruitjam
Some configurations that actually work at the time I committed this:
    ./fruitjam-build.sh  -v         # vga resolution, no psram, 128KiB
    ./fruitjam-build.sh  -v -m448   # vga resolution, no psram,  448KiB
    ./fruitjam-build.sh  -m4096     # 512x342 resolution, psram, 4096KiB
2025-03-18 13:43:17 -05:00
ada575fe01 Support 512x342 with hstx when mirroring from psram 2025-03-17 20:32:43 -05:00
9fb0ec8f60 Add psram support
it seems to be a tad slower but what do you want....!
2025-03-17 20:14:56 -05:00
bcb13e295a hstx: Use DMA_IRQ_0 to avoid conflict with SD card reading 2025-03-17 13:52:30 -05:00
691046fe6a Make SPI instance selectable (not needed, as it turns out) 2025-03-17 13:52:22 -05:00
81b92747f1 Swap HSTX pins
this is a _workaround_ for the fact that the mac framebuffer is inverted.
we'll probably ditch it again once we copy the (512x342) framebuffer
from PSRAM to SRAM....
2025-03-17 13:52:09 -05:00
bea9eeb99c suggest SD pins 2025-03-17 13:14:28 -05:00
be8b597197 Fix cmake default usb pins
(they're fruit jammin')
2025-03-17 13:14:22 -05:00
171199e73b pico_generate_pio_header must be moved later 2025-03-17 12:23:51 -05:00
6c18cee5ec USB mouse works! 2025-03-14 15:05:19 -05:00
d0a29092b6 WIP switching to pico-pio-usb 2025-03-14 14:21:13 -05:00
6805b1191b last tweaks? 2025-03-14 14:00:50 -05:00
cd730374eb bits are emerging in the right order 2025-03-14 11:22:39 -05:00
002236b93a WIP don't optimize the setup function at all 2025-03-14 10:19:19 -05:00
a939ea65a1 WIP fix pixel ctrl value & how row start is calculated 2025-03-14 10:11:30 -05:00
e60a4d174b still WIP 2025-03-14 09:36:19 -05:00
0528f6a466 WIP -- hstx display sort of exists but is garbled 2025-03-14 09:12:46 -05:00
e21d01aebf scripts to prepare rom & floppy image 2025-03-12 16:15:16 -05:00
be0732f2f0 more aspirational cmakefile changes 2025-03-12 16:14:57 -05:00
4cf4e3d4c2 set the stage for HSTX support 2025-03-07 12:26:20 -06:00
Matt Evans
c8c4d944f2 README: Bump version to v0.21 2024-12-20 23:33:38 +00:00
Matt Evans
18ab993e34 video: Allow GPIO pins for video to be configured
Adds a new build option, -DVIDEO_PIN=<n>, which sets the base GPIO
of Video (followed by syncs).

The video pins (for PIO reasons) need to be contiguous, numbered upward
from the DATA pin.  This has caught a couple of people out, so to make
it easier just define them this way.  That then gives a single
configuration option, the first GPIO, setting it all up.
2024-12-20 23:33:38 +00:00
Matt Evans
559fac339b Add USE_VGA_RES configuration for 640x480 display
This (practically) requires use of -DMEMSIZE=208 or larger, as it uses more
memory.  But, works nicely :)
2024-12-20 23:33:38 +00:00
Matt Evans
13b50dc34c external/umac: bump to v0.22
This brings in the resolution-change feature.
2024-12-20 23:33:38 +00:00
Matt Evans
f8a3def6a8 submodules: correct remote for no-OS-FatFS-SD-SPI-RPi-Pico
Currently we need the 'no rtc' out-of-tree commit, so use evansm7 repo.
2024-09-28 16:08:38 +01:00
Matt Evans
99a287671f sd: Oops, wire up SD_MHZ parameter
The SD_MHZ config option exists, but wasn't wired up in the SD
initialisation code.
2024-08-27 17:42:21 +01:00
Matt Evans
454cf94d1e Update README with SD card configuration/construction 2024-08-27 02:45:17 +01:00
Matt Evans
67cb1741c6 Add support for boot/disc storage on SD card
Uses the no-OS-FatFS-SD-SPI-RPi-Pico library, and on startup opens
the fs to search for 'umac0.img' or 'umac0ro.img'.  If the former
is found, it's used as a RW image; the latter is RO.  If no images
are found, the code falls back to an in-flash disc image; you can
set up a default that's used if no SD card is inserted, for example.

The wiring defaults to GPIOs 2/3/4/5 for SCK/TX/RX/CS respectively,
which matches the upper-left SPI0 on the Pico board.  The wiring
can be overridden by defining SD_TX, SD_RX, SD_SCK, SD_CS on the
`cmake` build commandline.

The SPI speed defaults to a very conservative 5MHz (at least one of
my cards will only cope with this).  Again, this can be overridden
by defining SD_MHZ on the commandline (to an integer in units of MHz).

Note this also disables the RTC portion of FatFS when building
for RP2350 (which doesn't have an RTC, or APIs for it).
2024-08-27 02:45:17 +01:00
Matt Evans
cd92bf8ffb Add MEMSIZE build option
This is plumbed through to the UMAC_MEMSIZE build parameter,
and allows the default of 128KB to be overridden (for instance,
to make a "Mac 208K").
2024-08-27 02:45:17 +01:00
Matt Evans
bc633edc1d Bump external/umac to v0.21
The new umac work brings in disc RW support, OS 7, memory size control, etc.

These hooks will be used for SD card storage, and to support "odd" memory
sizes, e.g. making a Mac 208K.
2024-08-27 02:45:17 +01:00
Matt Evans
2f65dae641 Add no-OS-FatFS-SD-SPI-RPi-Pico subproject
This library will provide SD access.  Add submodule.
2024-08-27 02:45:17 +01:00
Matt Evans
7a0327370e Add missing headers
In video, include padsbank header
In main, add clocks header

These seem to be needed on SDK v2...
2024-08-22 21:56:36 +01:00
Eric Helgeson
8288297414 Fix Markdown so it formats the indented list correctly 2024-07-07 21:14:04 +01:00
Matt Evans
bd30ffe141 Initial release
Squashed, from v0.1
2024-06-15 21:29:07 +01:00