“Jazz” – Audio synthesizer

CPU overclocked from (1x) 150Mhz (1.1v) to (2x) 300Mhz (1.2v), possibly to (3x) 460Mhz (1.5v) – other have driven the RP2350B to over 600Mhz (2v).

Jazz has 16MB flash, 2x 8MB PSRAM and a 16MB wavetable flash. FRAM is access via GPIO-0, PSRAM bank 0 is accessed via GPIO-8 and GPIO-19, wavetable flash from GPIO-47. Only one mode can be selected at a time, FRAM, PS RAM or Wavetable flash..

This will both generate sound and play back sampled sound from Audio memory. It will operate like the Commodore SID chip.

Audio in/out will also go from/to the SG2002 “Main processing unit” AND the Razz "pixel controller" (for HDMI output)? If not busy generating audio, this component could also generate video data that could be sent to the “Razz” and mixed with the normal video output. Various audio system emulators will be “built-in” to the firmware.

The Jazz is actually a RP2350B chip combined with a WM8958 (final)/ WM8960 (prototype) chip for audio input/output. In the prototype, the headphone output of the WM8960 also goes to the input of a PCM1808 connected to the Razz chip. This way the Jazz does not need to process/re-encode any audio digitally for it to be mixed in with the video data.

The Jazz has 2x 8MB PSRAM and shared access to 4MB+ FRAM.

The USB port can be used to add a Midi keyboard, Mouse, or to unbrick when used in conjunction with the unbrick button and connected to a PC.

There are 7 light up analog dials with buttons to simulate various analog instruments such as the TB-303.

64Kbytes of the Jazz RAM could hold a 256x256 256 colour screen that could be sent over the HS TX lines to Razz, this would make a simple overlay that could be applied to whatever screen is being displayed. The slave SPI ports could be used to manipulate this screen from the SG2002, DeMon or even Razz itself.

FRAM16 map (000000-FFFFFF)

Start address End address Size Description
0000003FFFFF4000004MB SRAM
0400007FFFFF400000Reserved

WM8958 final

Input Source Output Destination
L1 (in1)LSAM (Sampler left) LHP (normally 2nd DAC)Headphone L 5.3mW
R1 (in1)RSAM (Sampler right) RHP (normally 2nd DAC)Headphone R
L2 (in1)Headphone microphone (mono) LSPK (normally 1st DAC)L internal speaker 2W
R2 (in1)From SG2002 audio out (mono) RSPK (normally 1st DACR internal speaker
L3 (in2)Cart L L line out 1
R3 (in2)Cart R R line out 1
L4 (in2) L line out 2
R4 (in2) R line out 2
AIF1 is connected to Jazz, AIF2 is connected to Razz. AIF1 can sample AIF2 initial output. AIF2 can sample the secondary DAC.

WM8960 prototype

Input Source Output Destination
L1LSAM (sampler socket left) LHPFed to Razz PCM1808 (prototype) input & headphone socket L
R1RSAM (sampler socket right) RHPFed to Razz PCM1808 input & headphone socket R
L2Headphone microphone (mono) LSPKLeft internal speaker
R2From SG2002 audio out (mono)RSPKRight internal speaker
L3Cart L
R3Cart R

The SG2002 has a microphone input (connected to the internal Mic), as the SG2002 has a Tensor unit, this could be used for voice recognition. The SG2002 mono audio output can then be fed into R2 for mixing.

GPIO Function GPIO Function
0FRAM 29I2C0 SCL
1RX0 - From SG2002 30DOUT – to DDAT (DAC input) DACDAT1
2TX0 – To DeMon 31DIN – to ADAT (ADC output) ADCDAT1
3PIO/SPI0 TX/MOSI? – SG2002 slave 32BCLK BCLK1
4PIO/SPI0 RX/MISO? – SG2002 slave 33LRCK – to DACLRC LRCLK1
5PIO/SPI0 CSn – SG2002 slave 34ADCLRCLK1 (clock from wm8958, ultrasonic mode)
6PIO/SPI0 SCK – SG2002 slave 35Round screen cmd/data
7VSync interrupt "tick" 36PIO SPI0 RX – Round screen
88MB PSRAM 0 CSn 37PIO SPI0 CSn – Round screen
9Round screen brightness PWM 38PIO SPI0 SCK – Round screen
10I2C1 SDA – Audio address 0x34 or 0x36 39PIO SPI0 TX – Round screen
11I2C1 SCL – 40POT0
12HS TX 0 - to SG2002 41POT1
13HS TX 1 - to SG2002 42POT2
14Cart 0 – eg SWD CLK 43POT3
15Cart 1 – SWD IO 44POT4
16Cart 2 45POT5
17Cart 3 46POT6
18RGB out 47Wavetable 16MB flash CSn
198MB PSRAM 1 CSn SWDIOConnected to DeMon to
20PIO SPI0 RX – DeMon slave SWDCLKallow debug/programming
21PIO SPI0 CSn – DeMon slave ADCREF
22PIO SPI0 SCK – DeMon slave 3V3
23PIO SPI0 TX – DeMon slave BOOTSEL
24SPI1 RX – Razz slave USB D-Midi USB HOST port
25SPI1 CSn – Razz slave USB D+
26SPI1 SCK – Razz slave RUNConnected to DeMon
27SPI1 TX – Razz slave 3V3 EN
28I2C0 SDA Cart port SDA, HDMI 5v SDA VBUS

Links

  • youtube.com/watch?v=IYpu-xY-JNk
  • github.com/DatanoiseTV/PicoADK-Hardware
  • youtube.com/watch?v=Of5W7NF73aU (watch 9 min in)
  • youtube.com/watch?v=ianoJ4pmsFE
  • github.com/marcel-licence/ml_synth_organ_example
  • github.com/jonbro/Audcalc
  • Important: The Ant32 and Ant64 are both still at early design and prototype stage, everything you see here is subject to change.