Ultimate 64 Motherboard: Difference between revisions
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 | | caption = Ultimate 64 production PCB | ||
| developer = Gideon Zweijtzer | | developer = Gideon Zweijtzer | ||
| manufacturer = Ultimate Products B.V. | | 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 | ||
| | | model = Ultimate 64, Ultimate 64 Elite, Ultimate 64 Elite-II | ||
| cpu = FPGA re-implementation of the 6510; CPU and memory subsystem clocked at 48 MHz (Ultimate 64) or 64 MHz (Elite-II) | |||
| display = HDMI at 576p50 (720 × 576, 50 Hz PAL), plus the C64 video connector | |||
| cpu = | | sound = Two SID sockets plus FPGA SID emulation; 8-pin SID-TAP header for direct analogue output | ||
| ports = Three USB 2.0 ports, integrated Ethernet, user port header, joystick/paddle ports, AV connector | |||
| os = Commodore 64 ROM set plus the Ultimate firmware menu | |||
| display = HDMI 720 | | compatible = Commodore 64 | ||
| sound = Two SID sockets | |||
| | |||
| os = Commodore | |||
| | |||
}} | }} | ||
'''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> | |||
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 == | ||
{| class="wikitable" style="text-align: | |||
! | 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 | |||
|- | |- | ||
| | | 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.<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 | |||
|- | |- | ||
| | | $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".<ref name="doc" /> | |||
== | == SID-TAP header == | ||
{| class="wikitable" style="width: | 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" /> | ||
! | |||
{| 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 | | SID 2 OUT || 1 || 2 || Ground | ||
|- | |- | ||
| | | Ground || 3 || 4 || SID 2 IN | ||
|- | |- | ||
| 1 | | 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'''.<ref name="doc" /> | |||
The | |||
== USB and network == | |||
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" /> | |||
== | == Firmware versioning == | ||
* [[ | 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
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]
| 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]
| 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.
Related pages
[edit | edit source]- C64 Reloaded MK2
- SuperCPU and Turbo Accelerators
- PLA Replacement Options
- JiffyDOS Kernal Upgrade
- Commodore 64
References
[edit | edit source]- ↑ 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.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.