*pcb image is not final!
- Non-invasive - No modification to CPC required
- Plugs into 50-pin edge connector
- CPC's internal hardware completely untouched
- Can be easily removed/swapped
- RP2350B dual-core ARM Cortex-M33 @ 150MHz
- 8MB PSRAM for RAM/ROM/framebuffers
- 48 GPIO - full utilization
- Native 5V tolerant inputs
- Bidirectional data bus buffering
- Direction control via GPIO17
- Protects RP2350 from bus contention
Full 16-bit Address Bus (GPIO1-16)
├── A15-A0: Complete decode capability
├── No address line limitations
└── Precise I/O port detection
Benefits:
- Can monitor all memory accesses
- Precise I/O port decoding
- ROM/RAM shadowing possible
- DMA-like capabilities
CPC RAM Bank
├── PSRAM: 0x000000-0x01FFFF
├── All 8 banking configurations
├── Config 0: [0][1][2][3] (64KB standard)
└── Configs 1-7: Extended banking
Features:
- Automatic 464→6128 upgrade
- Gate Array banking emulation
- Fast PSRAM access (~70ns)
- Zero wait states
ROM Storage
├── PSRAM: 0x0A0000-0x4A0000
├── 32 slots × 16KB each
├── Soft-switchable (no EPROM burning)
└── Load from SD card
Features:
- ROM 0: BASIC 1.1
- ROM 7: AMSDOS
- ROM 8+: User ROMs (MaxAM, Protext, etc.)
- Symbiface 32-slot compatibility
VGA
Resolutions Supported:
└── VGA (800x600 @ 60Hz)
└── VGA (640×480 @ 50Hz)
CSync Input: GPIO29
Benefits:
- Modern monitor compatibility
- Crisp digital output
- No analog noise
- Scalable resolutions
- Can display CPC screen + overlay UI
I2S Bus (GPIO40-43)
├── LCK (40): Left/Right clock
├── DIN (41): Data input
├── BCK (42): Bit clock
└── SCK (43): System clock
Features:
├── 44.1kHz/48kHz sampling
├── 16-bit stereo
├── OPL4 synthesis capable
└── AY-3-8912 mix-through
Audio Capabilities:
- FM synthesis (OPL4 emulation)
- Wavetable synthesis
- Sample playback
- Digital mixing
- Crystal-clear output
Hardware Primitives
├── CLS (Clear screen)
├── PIXEL (Plot pixel)
├── LINE (Bresenham line)
├── RECT (Rectangle outline/fill)
├── BLIT (Block copy)
├── SPRITE (Hardware sprites)
└── SCROLL (Hardware scrolling)
Performance:
├── CLS: 0.5ms (400× faster)
├── PIXEL: 2µs (250× faster)
├── LINE: 50µs per 100px
└── BLIT: 1ms for 160×100
Graphics Modes:
- Double/triple buffering
- VSync synchronized swaps
- Independent draw buffer
- Zero bus contention
- 60 FPS smooth animation
IDE/CompactFlash (0xFD00-0xFD0F)
├── Standard ATA interface
├── Maps to SD card
├── 4 partitions (C: D: E: F:)
└── CP/M Plus compatible
Real-Time Clock (0xFD90-0xFD91)
├── DS3231 hardware RTC
├── DS12885 emulation
├── Battery backup
└── NVRAM (128 bytes)
4MB RAM Expansion (0xFDFD-0xFDFE)
├── Dx-Soft compatible
└── Additional to 128KB base
512KB ROM Banking (0xFDFF)
├── 32 soft-switchable ROMs
└── No EPROM burning
Symbiface Benefits:
- FutureOS compatible
- SymbOS compatible
- Standard software works
- Mass storage access
I2C Interface (GPIO30-31)
├── SCL: GPIO30
├── SDA: GPIO31
├── 400kHz Fast Mode
└── Multiple device support
Connected Devices:
├── DS3231 RTC (0x68)
├── Future: EEPROM
├── Future: Sensors
└── Future: I/O expanders
SPI Interface (GPIO44-46)
├── MISO: GPIO44
├── MOSI: GPIO45
├── SCK: GPIO46
└── CS: Hardwired to 5v (always selected)
Storage:
├── Virtual HDD image
├── ROM library
├── DSK disc images
└── Save states
|GINIT ' Initialize graphics
|CLS,color ' Fast clear screen
|PIXEL,x,y,c ' Plot pixel
|LINE,x0,y0,x1,y1,c ' Draw line
|RECT,x,y,w,h,c ' Rectangle outline
|RECTF,x,y,w,h,c ' Filled rectangle
|BLIT,sx,sy,dx,dy,w,h ' Block copy
|SWAP ' Swap buffers (vsync)
|SPRITE,id,x,y ' Draw sprite
|SCROLL,dx,dy ' Hardware scroll|DIR ' Directory
|DIR,"C:" ' Drive C: directory
|DRIVE,"C:" ' Change drive
|LOAD,"FILE.BAS" ' Load from IDE
|SAVE,"FILE.BAS" ' Save to IDE
|FORMAT,"D:" ' Format partition|ROMLIST ' List ROMs
|ROM,n ' Select ROM n
|ROMLOAD,"file",n ' Load ROM from SD
|ROMINFO,n ' Show ROM info|TIME ' Show time
|DATE ' Show date
|SETTIME,"..." ' Set RTC
|SYSINFO ' System info
|BENCHMARK ' Speed test
|SETUP ' Configuration✅ All standard CPC software
✅ 6128-specific software
✅ Symbiface II software
✅ FutureOS
✅ SymbOS
✅ CP/M Plus
✅ AMSDOS applications
| Operation | Original CPC | UltraBoost v3 | Speedup |
|---|---|---|---|
| Clear screen | 200ms | 0.5ms | 400× |
| Plot pixel | 500µs | 2µs | 250× |
| Draw line (100px) | 50ms | 50µs | 1000× |
| Block copy (160×100) | 100ms | 1ms | 100× |
| Buffer swap | 200ms | 0ms (instant) | ∞ |
- PSRAM: 70ns typical
- Original CPC RAM: 4MHz = 250ns
- Speedup: 3.5× faster RAM access
- Original: 12-15 FPS maximum
- UltraBoost: 60 FPS sustained
- Improvement: 4-5× smoother
Unlike Z80 socket devices, completely external
VGA output or DVI over HDMI in future
16-bit address decode for precise I/O
Core 0: Bus monitoring
Core 1: Video/audio generation
Independent PSRAM buffers
- OPL4 FM synthesis
- Network connectivity (WiFi)
- USB HID keyboard/mouse
- Save states
- Tape emulation
- Hardware sprites (256+)
- Copper-like raster effects
- Shader support
- Video playback through hybrid buffer
- Complete suite of graphics primatives (circles, triangles, polygon fill, etc)
- Math Coprocessor suite including fast multiply, division and matrix operations (calculations can be written directly to CPC RAM, or received via IO Port IN)
