Jump to content
Main menu
Main menu
move to sidebar
hide
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Search
Search
Appearance
Create account
Log in
Personal tools
Create account
Log in
Pages for logged out editors
learn more
Contributions
Talk
Editing
Jump-less Dual-Kernal Switcher
Page
Discussion
English
Read
Edit
Edit source
View history
Tools
Tools
move to sidebar
hide
Actions
Read
Edit
Edit source
View history
General
What links here
Related changes
Page information
Appearance
move to sidebar
hide
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
{{Infobox hardware | name = Jump-less Dual-Kernal Switcher | image = [[File:Switchless-Kernal-SKS64.jpg|250px]] | caption = A switch-less SKS64 board installed inside an early ''Assy 250407'' C64 (EPROM not fitted) | developer = Community-developed (original concept & firmware by ''bwack''; later boards by PCBWay Open Source Project, Byte-Munchers, Retrowhiz et al.) | type = Internal, switch-less multi-KERNAL ROM adapter | first_released = 2018 (v0.9 proof-of-concept) | latest_release = SKS64 v1.1 / Switchless-27C010 PCB (2022) | operating_voltage = +5 V DC (from C64 mainboard) | application = Commodore 64 / 64C / SX-64 ‹long- & short-boards› }} The '''Jump-less Dual-Kernal Switcher''' (often called the ''switch-less'' or ''jumper-less'' KERNAL board) is an open-hardware add-on that lets a Commodore 64 toggle between two —or up to sixteen—KERNAL ROM images '''without any external toggle-switch, jumper wire, or case mod'''. Selection is performed entirely from the keyboard or by a special reset-pulse sequence, leaving the computer’s case stock-looking and the user free from “which switch is which?” confusion. == Why replace / switch KERNALs? == * Run a fast-loading DOS such as '''JiffyDOS''' while still retaining the stock Commodore KERNAL for compatibility. * Alternate between region ROMs (PAL vs NTSC) or diagnostic ROMs (Dead-Test, Diag64). * Test self-built or patched KERNALs without repeatedly desoldering chips. == Design overview == {| class="wikitable" style="width:70%; text-align:center;" ! colspan="3" | Major functional blocks (SKS64 reference design) |- | style="width:33%;" | '''EPROM / Flash'''<br />27C256 (4 × 8 KB)<br />27C512 (8 × 8 KB)<br />27C010 (16 × 8 KB) | style="width:33%;" | '''ATtiny13A μC'''<br />Decodes reset / RESTORE pulses,<br />latches two address bits to pick the bank | style="width:33%;" | '''74xx logic'''<br />HCT08 & HCT02 gate ROM CS<br />and isolate the bus during bank switch |- | colspan="3" | The board plugs into the KERNAL socket (U4 on long-boards, U4/U32 on 250469) and '''requires no cuts or flying leads'''. |} The micro-controller runs at 9.6 MHz (internal RC) and samples '''~60 Hz VSYNC''' from the VIC-II to time-out key-presses reliably over PAL & NTSC. Two GPIO lines drive A15/A16 of the EPROM through 10 k pull-ups, giving up to 4/8/16 selectable images depending on device size. === Switch-less selection methods === * '''Short double-reset''' – press the C64 reset button twice within < 0.9 s. * '''Long RESTORE hold''' – hold the RESTORE key ≥ 1 s while tapping RUN/STOP. The μC counts either event and advances an internal bank counter; the chosen bank number is flashed back on the C64 power LED (1-long, 2-long, …). A cold-reset is then issued. == Board variants == {| class="wikitable sortable" ! PCB / Project !! EPROM !! Max banks !! Notes |- | '''SKS64 v1.1''' || 27C256/512/010 || 4-16 || Most popular; plated-through-hole; Gerbers on GitHub. |- | '''Bwack 27C256 adapter''' || 27C256 || 4 || Original proof-of-concept; SMD ATtiny13A; published 2018. |- | '''Switchless-27C020''' || 27C020 || 32 || Experimental; needs extra 74HC139 for A17 gating. |- | '''SaRuMan-64 KS''' || 29F040 flash || 64 || Adds USB-ASP header for in-system reflashing. |} All share the same firmware with a single compile-time constant (``#define BANKS``). == Compatibility == * Long-boards: 326298, 250407, 250425, 250466 – direct plug-in. * Short-board 250469-(xx): requires '''/HIRAM jumper''' wired to A14 because the 16 KB ROM is mapped as a single chip; most switcher PCBs include a solder-bridge. * SX-64 & VIC-20 CR: electrically identical 2364 pinout, confirmed working with minor socket shims. No effect on cartridges—the KERNAL is banked only after reset, so memory configuration is stable during normal operation. == Building & flashing == # '''Program the EPROM''' with your chosen images in contiguous 8 KB blocks. (Popular layout: C= KERNAL bank 0, JiffyDOS bank 1, Diagnostic bank 2, SpeedDOS bank 3 …). # '''Flash the ATtiny13A''' with ``sks13.hex`` via ISP (AVR-ISP mkII, USBasp, etc.). # Solder in sockets and logic ICs; fit 330 Ω LED-sense resistor if you wish to flash the front-panel LED. # Plug the assembly into U4, minding orientation; no other wiring needed on long-boards. == Using the switcher == {| class="wikitable" style="width:80%; text-align:center;" ! Action !! Key / button sequence !! Result |- | Next bank || Double-tap reset || Cycles 0 → 1 → 2… |- | Previous bank || Hold RESTORE ≥1 s, then tap RUN/STOP || Cycles backwards (firmware ≥1.1) |- | Identify bank || Hold RESTORE ≥3 s || LED blinks current bank count |- | Force cold-boot || Hold RESTORE while power-on || Bypasses autoboot carts |} == Advantages == * '''No holes or toggles''' – perfect for collector-grade cases. * '''One-hand operation''' – useful when the rear panel is obstructed. * '''Multiple ROM sizes supported''' – simply fit a larger EPROM for more images. * Works in parallel with cartridge port DOS accelerators (e.g., Kung Fu Flash). == Limitations == * Cannot change bank while code is executing; must reset. * Requires stable +5 V (excessive ripple may brown-out the ATtiny). * Firmware presently uses a fixed LED blink protocol—may clash with aftermarket LED dimmers. == See also == * [[JiffyDOS Kernal Upgrade]] – the most common alternative ROM paired with this adapter * [[Commodore 64 Power-Supply Protector (C64 Saver)|C64 Saver]] – advisable PSU-protector when fitting any internal mod [[Category:Commodore 64 Modifications and Enhancements]] [[Category:Commodore Systems]]
Summary:
Please note that all contributions to RetroTechCollection may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
RetroTechCollection:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Template used on this page:
Template:Infobox hardware
(
edit
)
Search
Search
Editing
Jump-less Dual-Kernal Switcher
Add topic