Skip to content

Commit

Permalink
Merge pull request #33 from LouDnl/dev
Browse files Browse the repository at this point in the history
Pull DEV into Master for cases and README updates
  • Loading branch information
LouDnl authored Dec 27, 2024
2 parents 6c5e1e2 + c2f5409 commit 6c97b0c
Show file tree
Hide file tree
Showing 16 changed files with 527 additions and 213 deletions.
3 changes: 3 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@
!*.pdf
!*.html
!*.yml
!*.zip

# specific files
!.gitignore
Expand All @@ -32,6 +33,8 @@
!examples/sidberry
!examples/vice
!examples/hardsid-sidblaster
!cases
!cases/**

# folder contents
!examples/hardsid-sidblaster/**
11 changes: 9 additions & 2 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,19 @@
# Changelog

#### Version: 0.3.0-BETA (Unreleased)
#### Version: 0.2.?-BETA (SNAPSHOT)
* ...
* Beam me up Scotty!
* Continue work on Midi handling

#### Version: 0.2.3-BETA
* Add workflow for auto version release build
* Fix issue in SID tests not stopping
* Add Support for Pico2 (rp2350) green board
* Add Support for Pico2 (rp2350) green board
* Add Support for PicoW (rp2040) green board
- NOTE: Due to the LED being used by the WiFi chip there is no VU support
* Rename Vue to Vu 🤦‍♀️
* Remove `__builtin_` function calls

#### Version: 0.2.2-BETA
* Add direct SID functions
- Detect SID type
Expand All @@ -28,11 +32,13 @@
* Enable CC's for bank 9 (temporary workaround)
* Refactor some whitespace
* Start work on support for PicoW and Pico2 boards

#### Version: 0.2.1-BETA
* Start on update for Midi handling
* Details will follow at a later time when finished
* Fix ASID play
* Fix config save error

#### Version: 0.2.0-BETA
* Basic Midi support
* Fixed to 6 voices polyfonic with 2 SID's up to 12 voices with 2x SKPico.
Expand All @@ -42,6 +48,7 @@
* Improved GPIO handling
* Bus control via DMA and PIO for cycle exact writes and reads
* Customizable config (config tool in development)

#### Version: 0.0.1-ALPHA
* Basic working functions
* Multiple firmware binaries per config type
Expand Down
4 changes: 3 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ cmake_minimum_required(VERSION 3.17)
set(PROJECT_NAME usbsidpico)
set(PROJECT_MANUFACTURER "LouD")
set(PRODUCT_STRING "USBSID-Pico")
set(MAGIC_SMOKE "20241208")
set(MAGIC_SMOKE "20241220")
set(PROJECT_VERSION "0.2.3-BETA.${MAGIC_SMOKE}") # Must be the same as in config.h

### Want a cookie?
Expand Down Expand Up @@ -224,6 +224,7 @@ set(SOURCEFILES
${CMAKE_CURRENT_LIST_DIR}/src/sid.c
${CMAKE_CURRENT_LIST_DIR}/src/mcu.c
${CMAKE_CURRENT_LIST_DIR}/src/usb_descriptors.c
${CMAKE_CURRENT_LIST_DIR}/src/util.c
)

### Libraries to link
Expand All @@ -245,6 +246,7 @@ set(TARGET_LL
pico_stdlib
pico_unique_id
pico_usb_reset_interface
pico_async_context_threadsafe_background
tinyusb_device
tinyusb_board
)
Expand Down
9 changes: 7 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,7 @@ USBSID-Pico is a RPi Pico/PicoW (RP2040) & Pico2 (RP2350) based board for interf
* [Hardware](#hardware)
* [Where to buy](#where-to-buy)
* [Schematic and BOM](#schematic-and-bom)
* [Cases](#cases)
* [Important PCB information](#important-pcb-information)
* [PCB in action](#usbsid-pico-in-action)
* [Software examples](#software)
Expand Down Expand Up @@ -94,8 +95,8 @@ See the [firmware changelog](CHANGELOG.md) for more information on what's change
### Firmware versions
Use `usbsidpico.uf2` for Pico1 regular green rp2040 Pico boards.
Use `usbsidpico-rgb.uf2` for Pico1 black clone rp2040 Pico boards with RGB LED onboard.
Use `usbsidpico_w.uf2` for PicoW regular green rp2040 Pico boards.
Use `usbsidpico2.uf2` for Pico2 regular green rp2040 Pico boards.
Use `usbsidpico_w.uf2` for PicoW regular green rp2040 PicoW boards.
Use `usbsidpico2.uf2` for Pico2 regular green rp2350 Pico2 boards.
**WARNING!** Do _NOT_ use the RGB firmware for any of the (non black) rp2040 or rp2350 Pico boards that do not contain an RGB LED.
### How to flash
A Raspberry Pi Pico board is incredibly easy to flash, as it comes with a built in bootloader for flashing new firmwares in the `uf2` format.
Expand Down Expand Up @@ -177,6 +178,10 @@ If you want and are up to it you can create your own development board by using
* v0.1 testboard<br>
<img src="images/v0.1-top.png" width="30%">

## Cases
All USBSID-Pico community created cases are available in the [cases](cases/) folder, direct links below.
* [Cartridge case](cases/spotUP/USBSID-Pico_Case.zip) by @spotUP

## Important PCB information
[<img src="images/v1.0-explained.png" width="30%">](images/v1.0-explained.png)<br/>
_Click image for larger view_
Expand Down
Binary file added cases/spotUP/USBSID-Pico_Case.zip
Binary file not shown.
20 changes: 11 additions & 9 deletions src/asid.c
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@
/* GPIO externals */
extern uint8_t bus_operation(uint8_t command, uint8_t address, uint8_t data);
extern void pause_sid(void);
extern void reset_sid(void);

/* Well, it does what it does */
void handle_asid_message(uint8_t sid, uint8_t* buffer, int size)
Expand Down Expand Up @@ -66,27 +67,28 @@ void handle_asid_message(uint8_t sid, uint8_t* buffer, int size)
void decode_asid_message(uint8_t* buffer, int size)
{
switch(buffer[2]) {
case 0x4C:
/* Play start */
case 0x4C: /* Play start */
midimachine.bus = CLAIMED;
break;
case 0x4D:
/* Play stop */
case 0x4D: /* Play stop */
reset_sid();
pause_sid();
midimachine.bus = FREE;
break;
case 0x4F:
/* Display characters */
case 0x4F: /* Display characters */
break;
case 0x4E:
case 0x4E: /* SID 1 */
handle_asid_message(0, buffer, size);
break;
case 0x50:
case 0x50: /* SID 2 */
handle_asid_message(32, buffer, size);
break;
case 0x51:
case 0x51: /* SID 3 */
handle_asid_message(64, buffer, size);
break;
case 0x52: /* SID 4 */
handle_asid_message(96, buffer, size);
break;
case 0x60:
midimachine.fmopl = 1; /* Not implemented yet */
default:
Expand Down
Loading

0 comments on commit 6c97b0c

Please sign in to comment.