Jump to content

Ultimate 64 Motherboard: Difference between revisions

From RetroTechCollection
Rewrite from Gideon Zweijtzer's own documentation and shop: HDMI is 576p50 not 720p; the 48/64 MHz figure is the subsystem clock not the CPU clock; disabling badlines does not affect BA at the cartridge port; add the SuperCPU-compatible registers, SID-TAP pinout and real firmware/core versioning; remove the uncited FPGA, RAM, dimension, weight and price figures
 
(2 intermediate revisions by the same user not shown)
Line 2: Line 2:
| name          = Ultimate 64
| name          = Ultimate 64
| image        = [[File:Ultimate64-board.jpg|260px|frameless]]
| image        = [[File:Ultimate64-board.jpg|260px|frameless]]
| caption      = Ultimate 64 Rev-A production PCB with optional dual-SID sockets
| caption      = Ultimate 64 production PCB
| developer    = Gideon Zweijtzer (Ultimate Products B.V.)
| developer    = Gideon Zweijtzer
| manufacturer  = Ultimate Products B.V.<br />assembled in the Netherlands
| manufacturer  = Ultimate Products B.V. (ultimate64.com)
| type          = FPGA-based replacement motherboard for the Commodore 64
| type          = FPGA-based replacement motherboard for the Commodore 64
| release_date  = December&nbsp;2018 (public launch)
| model         = Ultimate 64, Ultimate 64 Elite, Ultimate 64 Elite-II
| latest_release = Firmware '''1.46c''' (May 2024)
| cpu          = FPGA re-implementation of the 6510; CPU and memory subsystem clocked at 48 MHz (Ultimate 64) or 64 MHz (Elite-II)
| price         = €239 (base) / €269 (Elite, 2024 list)
| display      = HDMI at 576p50 (720 × 576, 50 Hz PAL), plus the C64 video connector
| cpu          = cycle-exact 6510 core inside an Altera Cyclone-IV FPGA @ 48 MHz system clock (internally down-clocked to 0.98/1.02 MHz for C64 compatibility)
| sound        = Two SID sockets plus FPGA SID emulation; 8-pin SID-TAP header for direct analogue output
| memory        = 64 KB main RAM (emulated),<br />16 MB SDRAM for Ultimate functions
| ports        = Three USB 2.0 ports, integrated Ethernet, user port header, joystick/paddle ports, AV connector
| storage      = Integrated '''1541-Ultimate II+''' functionality:<br />• dual SD/µSD card slots<br />• two USB 2.0 type-A hosts<br />• tape-read/write buffers
| os            = Commodore 64 ROM set plus the Ultimate firmware menu
| display      = HDMI 720 p (50 Hz PAL / 60 Hz NTSC) with optional CRT-style scalers;<br />composite & S-video on DIN 8 AV port
| compatible    = Commodore 64
| sound        = Two SID sockets (6581/8580/Swinsid/ARMSid) with automatic 9 V/12 V selection,<br />FPGA “Ulti-SID” emulation, 48 kHz 16-bit stereo over HDMI & USB-audio
| networking    = 100 Mbit/s Ethernet (RJ-45), optional Wi-Fi via USB
| dimensions    = 403 × 100 mm (matches C64C short-board standoffs)
| weight        = 410 g (populated, without case)
| os            = Commodore BASIC 2.0 ROM + Ultimate 64 menu firmware
| compatibility = Commodore 64, Commodore 128 (C64 mode), most cartridges & IEC drives
| predecessor  = [[1541 Ultimate II+]] (cartridge)
| model        = Ultimate 64, Ultimate 64 Elite
}}
}}
The '''Ultimate 64''' (commonly abbreviated '''U64''') is a modern, FPGA-based drop-in replacement for the Commodore 64 motherboard developed by Dutch engineer '''Gideon Zweijtzer''', creator of the 1541-Ultimate series.  Unlike software emulators, the U64 implements the complete C64 chipset (CPU, VIC-II, SID, CIAs, PLA, etc.) as gate-level clones inside a Cyclone-IV FPGA, delivering cycle-exact timing while adding contemporary amenities such as HDMI, Ethernet and solid-state mass-storage.
'''Everything on this page is cited to Gideon Zweijtzer's own Ultimate documentation or to the ultimate64.com shop.'''<ref name="doc">Gideon Zweijtzer, ''1541 Ultimate-II(+) and Ultimate-64 Documentation'', https://1541u-documentation.readthedocs.io/ (© 2026 Gideon Zweijtzer). Source for the HDMI output resolution and the absence of a frame buffer; the turbo-mode tables, the 48 MHz / 64 MHz subsystem clocks and the CPU speed index lists; the badline timing note and its cartridge-port caveat; the SuperCPU-compatible registers; the SID-TAP header pinout; the USB port count and hub support; the Ethernet port; and the firmware release list.</ref><ref name="shop">Ultimate Products B.V., https://ultimate64.com/ — shop and front-page notices. Source for the models currently offered and their prices, and for the statement that the Ultimate 64 Elite-II black short boards are sold out and that Commodore has taken over the sales of their version of this board. Prices and stock read September 2026.</ref>


== Key features ==
The '''Ultimate 64''' ('''U64''') is a modern, FPGA-based replacement motherboard for the Commodore 64, developed by Gideon Zweijtzer, who also created the 1541 Ultimate cartridges. It fits a C64 case and reuses the original ports, but re-implements the machine in an FPGA rather than driving original MOS silicon.
* '''All-FPGA core''' – replaces every major MOS device, eliminating ageing silicon while preserving ~99.9 % software and demo compatibility, including tricky “cycle-tricks” and bad-line conditions.
* '''Integrated 1541-Ultimate II+''' – IEC drive emulation (D64/G64/TAP/T64/PRG), freezer, action-replay, REU (RAM Expansion Unit) up to 16 MB and GeoRAM, plus KERNAL cartridge injection and SID player.
* '''Digital video & audio''' – lag-free HDMI output at 720 p with optional scan-lines, border cropping and PAL/NTSC switching on-the-fly; 48 kHz 16-bit stereo mixes real SIDs with FPGA soft-SID.
* '''Dual-SID support''' – two physical sockets with automatic 9 V/12 V rail sensing; FPGA mixer allows true stereo separation and independent filter curves per chip.
* '''Network stack''' – 100 Mbit LAN for disk-image mounting over FTP/TFTP, firmware updates, IEC drive sharing and real-time clock synchronisation via NTP.
* '''Ultimate Command Interface''' – JSON‐RPC over USB or Ethernet for headless control and integration with PC front-ends.
* '''Silent & cool''' – the board draws ≈ 1.1 A @ 5 V; an optional 40 mm fan header is provided but rarely needed.


== Hardware overview ==
== Models and availability ==
{| class="wikitable" style="text-align:center; width:90%;"
 
! Component !! Implementation !! Notes
As of September 2026 the ultimate64.com shop lists:<ref name="shop" />
 
<templatestyles src="Template:StyledTable/styles.css" />
{| class="wikitable styled-table" style="width:70%; text-align:left;"
|+'''Ultimate 64 boards on the manufacturer's shop'''
! Product !! Price !! Stock
|-
| Ultimate-64-Elite || €248.95 || Out of stock
|-
|-
| CPU / PLA || Cyclone-IV EP4CE10F17C8N || 10 k LE FPGA (@ ~48 MHz master)
| Ultimate 64 Elite-II || €248.99 || Out of stock
|-
|-
| RAM || 16 MB 166 MHz SDRAM || shared by REU, GeoRAM, freezer snapshots
| U64 UserPort Adapter (includes 9 VAC) || €9.98 || Out of stock
|}
 
The site also states that the '''Elite-II black short boards are sold out and that Commodore has taken over sales of their version of this board''' — which is why a board with the same 64 MHz turbo capability now appears under the Commodore name as well. Availability on this project has always been intermittent: the shop is run by one person and has previously been held up for months at a time by FPGA supply.<ref name="shop" />
 
'''Check the shop before quoting a price or a model name.''' The line-up has changed several times.
 
== Video output ==
 
The HDMI output is '''576p50 — 720 × 576 at 50 Hz''' on the PAL version, a standard CEA-861 mode whose timing parameters are slightly modified so that they match the exact timing of a C64. This is not a 720p output.<ref name="doc" />
 
'''There is no frame buffer''', so the digital output adds no frame delay of its own and scrollers stay smooth. Any lag you see is the display's, and Gideon records one 4K screen that resampled the output to 30 Hz. When HDMI is in use, output is also generated on the C64 display connector.<ref name="doc" />
 
== Turbo mode ==
 
This is the part most often described wrongly, so it is worth stating precisely. The '''CPU and memory subsystem run at 48 MHz''' on the Ultimate 64 and '''64 MHz''' on the Elite-II. The turbo setting does not change that clock — it determines '''how many of the available time slots are given to the CPU'''.<ref name="doc" />
 
Selectable CPU speeds:<ref name="doc" />
 
* '''Ultimate 64''' — 1, 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 20, 24, 32, 40, 48 MHz
* '''Elite-II''' — 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 20, 24, 32, 40, 64 MHz
 
Badline timing can be disabled to free more CPU cycles, '''but the badline setting has no influence on the BA signal at the cartridge port'''. Accesses to external devices therefore still run into the badline limitation — and so do accesses to the SID registers when the physical SID sockets are enabled. That is the real reason a turbo setting can fail to deliver the speed-up you expect.<ref name="doc" />
 
=== SuperCPU-compatible registers ===
 
The Ultimate 64 implements registers that mirror the [[SuperCPU and Turbo Accelerators|SuperCPU]]'s, so that existing software can detect and control turbo:<ref name="doc" />
 
{| class="wikitable styled-table" style="width:75%; text-align:left;"
! Address !! Function
|-
|-
| ROM || 2 × 1 Mbit SPI flash || holds multiple KERNALs & cartridge cores
| $D030 (53296) || Turbo Enable Bit. Write 0 = 1 MHz with badlines; 1 = use the menu settings. Read 0 = turbo off, 1 = turbo on.
|-
|-
| Storage || µSD (front), SD (rear), 2×USB‐A || FAT32/exFAT up to 2 TB
| $D031 (53297) || U64 Turbo Control. Bits 0–3 CPU speed index; bit 7 badline timing (0 = enabled, 1 = disabled).
|-
|-
| Video || ADV7125 DAC + HDMI transmitter || PAL/NTSC S-video & composite preserved
| $D07A (53370) || SuperCPU-compatible software speed select — normal.
|-
|-
| Audio || TLV320AIC23B codec || 16-bit 48 kHz ADC for cassette in; DAC for soft-SID
| $D07B (53371) || SuperCPU-compatible software speed select — turbo.
|-
|-
| I/O || RTL8211E Gig-Ethernet PHY, FT232H USB FIFO || network & USB mass-storage/front-panel control
| $D0BC (53436) || SuperCPU mode detect register.
|}
|}


== Models and revisions ==
$D031, $D07A, $D07B and $D0BC read $FF unless the turbo mode selector is set to "U64 Turbo Registers" or "Turbo Enable Bit".<ref name="doc" />
* '''Ultimate 64 (standard)''' – black PCB, single SID socket, no on-board RAM for cartridge emulation (relies on SDRAM).
* '''Ultimate 64 Elite''' – blue PCB, dual SID sockets, gold ENIG finish, additional fan header and improved audio output stage.
Both share the same FPGA bit-stream; differences are purely BOM-level.


== Firmware ==
== SID-TAP header ==
Firmware images carry the prefix '''U64-<version>.bin''' and are flashed from the built-in Ultimate menu (F2) or via FTP.  Major branches:


{| class="wikitable" style="width:80%;"
An 8-pin header brings the installed SIDs' analogue signals out '''before''' the U64's own processing, for people who do not want the board in the audio path. A 3.5 mm jack can be wired straight to the SID OUT pins as a line out.<ref name="doc" />
! Branch !! Highlights
 
{| class="wikitable styled-table" style="width:55%; text-align:center;"
|+'''SID-TAP header (top view; the arrow on the board points at pin 2)'''
! Function !! Pin !! Pin !! Function
|-
|-
| 1.4x (2022-) || HDMI low-lag scaler, new Soft-SID engine, EasyFlash 3 emulation, TC64-style turbo-CPU up to 48 MHz.
| SID 2 OUT || 1 || 2 || Ground
|-
|-
| 1.3x (2020-2021) || REU page‐cross timing fixes, GeoRAM write-through, “Ulti-Pause” button mapping.
| Ground || 3 || 4 || SID 2 IN
|-
|-
| 1.2x (2019) || first public stable; added CRT composite sharpening and TAP write-back support.
| Ground || 5 || 6 || SID 1 IN
|-
| SID 1 OUT || 7 || 8 || Ground
|}
|}


== Compatibility ==
The SID inputs give a line-in to the SIDs, but Gideon notes that this has '''not been functionally verified'''.<ref name="doc" />
The board fits in any Commodore 64 “bread-bin” or C64C case; all original ports retain their position.  Cartridge timing is cycle-accurate, so devices such as EasyFlash 3, Kung-Fu Flash, Tapecart, Ultimate II+ (cartridge), SuperCPU, REU 1764/1750, and RAMLink have been verified to boot.
Limitations:


* No analogue RF output (the TV modulator footprint is unused). 
== USB and network ==
* Turbo-CPU modes (>1 MHz) break raster IRQ stable code and some fast-loader drive hand-shakes. 
* Cassette motor control is emulated; certain fast-loaders that sample the motor waveform may fail.


== Reception ==
Three '''USB 2.0''' ports — two on the back and one internal. There is '''no USB 3'''. USB 2.0 hubs work and should be '''powered'''; USB 1.1 hubs are not supported. The Ultimate 64 has an '''integrated Ethernet port'''; when a network port is present the Ultimate menu shows a Net0 entry and a Network Settings menu, with DHCP or a static address.<ref name="doc" />
Hardware reviewers praised the '''crisp HDMI output''', silent operation and the convenience of having a full 1541-Ultimate inside the case. Some purists argue that FPGA SIDs—though vastly improved—still fall slightly short of certain analogue filter nuances of late-8580 silicon.


== See also ==
== Firmware versioning ==
{{plainlist|
 
* [[1541 Ultimate II+]]
Firmware and FPGA core are versioned separately and the two get confused constantly. The documented releases are the '''3.x firmware''' line paired with a '''1.4x core''' — for example 3.10 with core 1.41 and 3.10i with core 1.42. The current documented release is '''firmware 3.15''', which added Ultimate 64-II hardware support, a machine-code monitor, a REST API, an FTP client and a renewed software IEC subsystem.<ref name="doc" />
 
A bare "1.4x" number is a '''core''' version, not a firmware version.
 
== What is not documented ==
 
Gideon's documentation and the ultimate64.com shop do not state the '''FPGA part number, the RAM fit, the board dimensions, the weight or the current draw'''. This wiki has searched both and found none of them, so none is asserted here. Detailed component identifications of this kind circulate in forum posts; if you need one, read the markings on the board in front of you rather than trusting a figure copied from a specification table.
 
== Related pages ==
* [[C64 Reloaded MK2]]
* [[SuperCPU and Turbo Accelerators]]
* [[PLA Replacement Options]]
* [[PLA Replacement Options]]
* [[JiffyDOS Kernal Upgrade]]
* [[JiffyDOS Kernal Upgrade]]
}}
* [[Commodore 64]]
 
== References ==
<references />


[[Category:Commodore 64 Modifications and Enhancements]]
[[Category:Commodore 64 Modifications and Enhancements]]
[[Category:Commodore Systems]]
[[Category:Commodore Systems]]

Latest revision as of 22:25, 23 September 2026

Ultimate 64
Ultimate 64 production PCB
Specifications
DeveloperGideon Zweijtzer
ManufacturerUltimate Products B.V. (ultimate64.com)
TypeFPGA-based replacement motherboard for the Commodore 64
CPUFPGA re-implementation of the 6510; CPU and memory subsystem clocked at 48 MHz (Ultimate 64) or 64 MHz (Elite-II)
Memory—
Storage—
DisplayHDMI at 576p50 (720 × 576, 50 Hz PAL), plus the C64 video connector
SoundTwo SID sockets plus FPGA SID emulation; 8-pin SID-TAP header for direct analogue output
Ports / interfaceThree USB 2.0 ports, integrated Ethernet, user port header, joystick/paddle ports, AV connector
CompatibilityCommodore 64
OS / FirmwareCommodore 64 ROM set plus the Ultimate firmware menu
Model no.Ultimate 64, Ultimate 64 Elite, Ultimate 64 Elite-II

Everything on this page is cited to Gideon Zweijtzer's own Ultimate documentation or to the ultimate64.com shop.[1][2]

The Ultimate 64 (U64) is a modern, FPGA-based replacement motherboard for the Commodore 64, developed by Gideon Zweijtzer, who also created the 1541 Ultimate cartridges. It fits a C64 case and reuses the original ports, but re-implements the machine in an FPGA rather than driving original MOS silicon.

Models and availability

[edit | edit source]

As of September 2026 the ultimate64.com shop lists:[2]

Ultimate 64 boards on the manufacturer's shop
Product Price Stock
Ultimate-64-Elite €248.95 Out of stock
Ultimate 64 Elite-II €248.99 Out of stock
U64 UserPort Adapter (includes 9 VAC) €9.98 Out of stock

The site also states that the Elite-II black short boards are sold out and that Commodore has taken over sales of their version of this board — which is why a board with the same 64 MHz turbo capability now appears under the Commodore name as well. Availability on this project has always been intermittent: the shop is run by one person and has previously been held up for months at a time by FPGA supply.[2]

Check the shop before quoting a price or a model name. The line-up has changed several times.

Video output

[edit | edit source]

The HDMI output is 576p50 — 720 × 576 at 50 Hz on the PAL version, a standard CEA-861 mode whose timing parameters are slightly modified so that they match the exact timing of a C64. This is not a 720p output.[1]

There is no frame buffer, so the digital output adds no frame delay of its own and scrollers stay smooth. Any lag you see is the display's, and Gideon records one 4K screen that resampled the output to 30 Hz. When HDMI is in use, output is also generated on the C64 display connector.[1]

Turbo mode

[edit | edit source]

This is the part most often described wrongly, so it is worth stating precisely. The CPU and memory subsystem run at 48 MHz on the Ultimate 64 and 64 MHz on the Elite-II. The turbo setting does not change that clock — it determines how many of the available time slots are given to the CPU.[1]

Selectable CPU speeds:[1]

  • Ultimate 64 — 1, 2, 3, 4, 5, 6, 8, 10, 12, 14, 16, 20, 24, 32, 40, 48 MHz
  • Elite-II — 1, 2, 3, 4, 6, 8, 10, 12, 14, 16, 20, 24, 32, 40, 64 MHz

Badline timing can be disabled to free more CPU cycles, but the badline setting has no influence on the BA signal at the cartridge port. Accesses to external devices therefore still run into the badline limitation — and so do accesses to the SID registers when the physical SID sockets are enabled. That is the real reason a turbo setting can fail to deliver the speed-up you expect.[1]

SuperCPU-compatible registers

[edit | edit source]

The Ultimate 64 implements registers that mirror the SuperCPU's, so that existing software can detect and control turbo:[1]

Address Function
$D030 (53296) Turbo Enable Bit. Write 0 = 1 MHz with badlines; 1 = use the menu settings. Read 0 = turbo off, 1 = turbo on.
$D031 (53297) U64 Turbo Control. Bits 0–3 CPU speed index; bit 7 badline timing (0 = enabled, 1 = disabled).
$D07A (53370) SuperCPU-compatible software speed select — normal.
$D07B (53371) SuperCPU-compatible software speed select — turbo.
$D0BC (53436) SuperCPU mode detect register.

$D031, $D07A, $D07B and $D0BC read $FF unless the turbo mode selector is set to "U64 Turbo Registers" or "Turbo Enable Bit".[1]

SID-TAP header

[edit | edit source]

An 8-pin header brings the installed SIDs' analogue signals out before the U64's own processing, for people who do not want the board in the audio path. A 3.5 mm jack can be wired straight to the SID OUT pins as a line out.[1]

SID-TAP header (top view; the arrow on the board points at pin 2)
Function Pin Pin Function
SID 2 OUT 1 2 Ground
Ground 3 4 SID 2 IN
Ground 5 6 SID 1 IN
SID 1 OUT 7 8 Ground

The SID inputs give a line-in to the SIDs, but Gideon notes that this has not been functionally verified.[1]

USB and network

[edit | edit source]

Three USB 2.0 ports — two on the back and one internal. There is no USB 3. USB 2.0 hubs work and should be powered; USB 1.1 hubs are not supported. The Ultimate 64 has an integrated Ethernet port; when a network port is present the Ultimate menu shows a Net0 entry and a Network Settings menu, with DHCP or a static address.[1]

Firmware versioning

[edit | edit source]

Firmware and FPGA core are versioned separately and the two get confused constantly. The documented releases are the 3.x firmware line paired with a 1.4x core — for example 3.10 with core 1.41 and 3.10i with core 1.42. The current documented release is firmware 3.15, which added Ultimate 64-II hardware support, a machine-code monitor, a REST API, an FTP client and a renewed software IEC subsystem.[1]

A bare "1.4x" number is a core version, not a firmware version.

What is not documented

[edit | edit source]

Gideon's documentation and the ultimate64.com shop do not state the FPGA part number, the RAM fit, the board dimensions, the weight or the current draw. This wiki has searched both and found none of them, so none is asserted here. Detailed component identifications of this kind circulate in forum posts; if you need one, read the markings on the board in front of you rather than trusting a figure copied from a specification table.

[edit | edit source]

References

[edit | edit source]
  1. ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 Gideon Zweijtzer, 1541 Ultimate-II(+) and Ultimate-64 Documentation, https://1541u-documentation.readthedocs.io/ (© 2026 Gideon Zweijtzer). Source for the HDMI output resolution and the absence of a frame buffer; the turbo-mode tables, the 48 MHz / 64 MHz subsystem clocks and the CPU speed index lists; the badline timing note and its cartridge-port caveat; the SuperCPU-compatible registers; the SID-TAP header pinout; the USB port count and hub support; the Ethernet port; and the firmware release list.
  2. ↑ 2.0 2.1 2.2 Ultimate Products B.V., https://ultimate64.com/ — shop and front-page notices. Source for the models currently offered and their prices, and for the statement that the Ultimate 64 Elite-II black short boards are sold out and that Commodore has taken over the sales of their version of this board. Prices and stock read September 2026.