“ICP” – In-Circuit-Programmer

The ICP plugs into the cartridge port. It has a 3.2” TFT vertical touch screen. It’s controlled by a pico plus 2W (16mb flash, 8mb psram, 2.4ghz wifi, Bluetooth) + extra 32MB flash, running at 300Mhz.

It is powered by the 5v line on the cartridge port or USB. It can act as an swd programmer to DeMon when connected via USB to a PC, and can load firmware, etc via an sd card slot to DeMon and through DeMon to the other chips when not connected to a PC.

Cartridge pins used by the ICP:

ABCDEFGHIJKLMNO
GND3.3vCSRX/MISOSCKTX/MOSICDDeMon ICP SWDCLKDeMon ICP SWDIORESETDeMon SCLDeMon SDAIRQ5vLED
Pico 18NCPico 12Pico 16Pico 14Pico 15Pico 9Pico 10Pico 11Pico 21Pico 20Pico 19Pico 17Pico 39 via diode, Led 5vLed data in

Cartridge LED:

Cart pinLED pin
AGND
OData in
N5v

Pico plus 2W:

DescriptionConnection Pico pin Pico pin Connection Description
PWM 0A Buzzer 1 (0) 40 VBUS
SPI0 CSn (3) Screen CS 2 (1) 39 Cart N via diode VSYS
GND 3 38 GND
SPI0 SCK (7) Screen SCL/SD CLK 4 (2) 37 3v3 EN
SPI0 TX (6) Screen SDA/SD MOSI 5 (3) 36 (1) Screen VCC 3v3
SPI0 RX (9) SD MISO 6 (4) 35 ADV REF
SPI0 CSn (14) Internal MicroSD 7 (5) 34 (28) (12) Touch SDA
GND 8 33 GND
CART CD Cart G 9 (6) 32 (27) (11) Touch reset
SWD SCK Cart I 10 (7) 31 (26) (13) Touch IRQ I2C0 IRQ
SWD IO Cart I 11 (8) 30 RUN
SPI1 CSn Cart C 12 (9) 29 (22) (12) Screen BLK PWM 3A
GND 13 28 GND
SPI1 SCK Cart E 14 (10) 27 (21) SD1 CS SPI0 CSn
SPI1 TX Cart D 15 (11) 26 (20) (4) Screen RES Screen reset
SPI1 RX Cart F 16 (12) 25 (19) (5) Screen DC Screen data command
I2C0 SCL (10) Touch SCL 17 (13) 24 (18) Cart M I2C1 IRQ
GND Cart A 18 23 (2) Screen GND GND
I2C1 SDA Cart L 19 (14) 22 (17) SD2 CS SPI0 CSn
I2C1 SCL Cart K 20 (15) 21 (16) Cart J Cart RESET

It can act as an SPI slave, passing data to/from the SD card slot. The SDA/SCL lines can also be sent data so the screen can be a debug screen for DeMon – console messages being displayed on the vertical screen. The screen can display 30x40 characters. Possible wifi web interface? With no SD card, it should contain enough data internally (it also has an 8GB internal micro-sd card) in its onboard flash to program the bootstrap to get DeMon to start booting on it’s own/be unbricked.

Modes:

  • DeMon SWD
  • Unbrick/install DeMon bootstrap
  • Settings – to initialise SD, setup wifi, Bluetooth, etc
  • In circuit programmer – from SD card files, programming via SWD
  • Debug console, USB data console out and also console in (using I2C).
  • Cartridge emulator to SD card (using SPI)
  • Cartridge emulator to PC via USB (using SPI)
  • Cartridge emulator via WiFi (ftp?)
  • FPGA image loader (from SD card)
  • Folders:

    The SD card will have pass through from a folder structure, so DeMon won’t be aware of higher up folders.
  • System: contains subfolders (versioned) of system recovery files for Ant64 to fully clean setup the computer
  • FPGA: contains FPGA “files”
  • Carts: contains cartridge sub folders
  • Console: contains logs captured from the debug console
  • Settings: folder containing settings
  • Important: The Ant32 and Ant64 are both still at early design and prototype stage, everything you see here is subject to change.