“ICP” – In-Circuit-Programmer

The ICP plugs into the cartridge port. It has a 2.4” TFT vertical screen, a rotary selector (bottom right) with a push button (select!) and a spare button (to the bottom left) that operates as a “back” button. It’s controlled by a pico plus 2W (16mb flash, 8mb psram, 2.4ghz wifi, Bluetooth) + extra 32MB flash.

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:

DescriptionConnectionPico pinPico pinConnectionDescription
PWM 0ABuzzer1 (0)40VBUS
SPI0 CSn(7) Screen CS2 (1)39Cart N via diodeVSYS
GND338GND
SPI0 SCK(3) Screen SCL/SD CLK4 (2)373v3 EN
SPI0 TX(4) Screen SDA/SD MOSI5 (3)36(2) Screen VCC3v3
SPI0 RXSD MISO6 (4)35ADV REF
SPI0 CSnSD CS7 (5)34 (28)(11) Screen PushEncoder button
GND833GND
CART CDCart G9 (6)32 (27)(10) Screen BEncoder B
SWD SCKCart I10 (7)31 (26)(9) Screen AEncoder A
SWD IOCart I11 (8)30RUN
SPI1 CSnCart C12 (9)29 (22)(12) Screen K0Back key
GND1328GND
SPI1 SCKCart E14 (10)27 (21)16MB Flash CS 1SPI0 CSn
SPI1 TXCart D15 (11)26 (20)(5) Screen RESScreen reset
SPI1 RXCart F16 (12)25 (19)(6) Screen DSScreen data command
I2C1 IRQCart M17 (13)24 (18)(8) Screen BLKPWM 1A
GND1823(1) Screen GNDGND
I2C1 SDACart L19 (14)22 (17)16MB Flash CS 0SPI0 CSn
I2C1 SCLCart K20 (15)21 (16)Cart JCart RESET

W25Q128:

PinDescriptionSPI connection
1VCC3v3
2CSCS
3DOMISO
4GNDGND
5CLKSCK
6DIMOSI

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 with the rotary control being able to scroll the console up/down. Possible wifi web interface? With no SD card, it should contain enough data internally (it has 2 spare 16MB flash chips) 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.