Skip to content

StefanoGaivota/Optical-Data-Channel-JellyLoad-Hardware

Repository files navigation

Jelly Load is touted as one of the most inconvenient ways of loading data into your 8 bit computer.
The concept is the collaborative creation of Dave Curran (Tynemouth Software) and Rod Hull (The Future Was 8 bit).

Jelly-Load_Video-Excerpt

My rough / ready understanding of how it works:
Data and clock signals are encoded into a video stream as a matrix of black or white areas.
The receiving interface senses the optical channel and converts the result into an 8 bit data word for interpretation by the target computer upon receiving valid clock edge.

Take a look here:
https://www.tfw8b.com/introducing-jelly-load/
for a historical account.

The loader binaries for VIC20 can be found here:
https://www.tfw8b.com/wp-content/uploads/2024/09/JellyLoad-VIC20-240908.zip
(different ones depending upon your RAM configuration)

This repository is my own effort at creating a JellyLoad receive interface for Commodore computer user port.

It comprises two separate boards which connect to each other via a 14way IDC cable assembly along with associated opto-mechanical components.
KiCAD source is available for schematic and PCB of each board.
FreeCAD source is available for the mechanical elements (Optical Housing and Monitor Guide).
Manufacturing data generated from these sources is detailed later in this document.

Printed Circuit Board parts


  • Optical Interface board: Sensor-array-board Phototransistors are arranged in the required matrix, photocurrent converted to voltage at input of Schmitt inverter. Inverter outputs are routed to 14 Way IDC.
    Clock signal is indicated by an LED for visual feedback of correct operation.

  • Target Interface board: Target-Interface-Board Target interface connects the 14Way IDC pins and routes logic signals to target computer User Port connector.
    Solder blob config pads route the CLK signal to the user port pin required by the target computer.
    This differs between PET, VIC20 and C64. Blob your required option.
    Board profile is configured to fit inside a C64 cartridge case.
    Case mechanics are shown on layer User.Eco1.
    PDF of machining dimensions is made available for convenience.


Mechanical components


  • Optical Housing:

Optical-Housing

The Optical Interface board is fitted with this Optical Housing for the purpose of reducing ambient light interference and to help align with the optical channel.
Optical aperture adaptors (glass spheres) are accommodated in this section to match the sensor aperture to the available width. A specification for suitable spheres is available in the mechanical data directory along with an illustration of the optical aperture translation.
The housing can be secured to the board with adhesive (e.g. cyanoacrylate) or careful heat-staking of the retaining lugs.

  • Monitor Guide:

Monitor-Guide

The Monitor Guide is attached to the receiving monitor screen, aligned with the appropriately scaled JellyLoad optical channel.

Manufacturing Data


Manufacturing Data in each board folder is the most recent output from KiCAD.
Bill-Of-Materials (BOM) with Mouser stock codes. BOM and pick/place files for use with JLC.
Gerber+Drill zip for PCB manufacture.

Assembly tooling holes are 1.152mm top-left and bottom right of layout. Specify "Tooling holes added by customer" at assembly stage.

STL exports of Optical Housing and Monitor Guide can be used with most additive manufacturing processes.

Once assembled, it should all look something like this:


Then it's time to connect it up and try it out.

A selection of JellyLoad encoded videos can be found here:
https://www.youtube.com/playlist?list=PLbE6E7xnjkkJwXpoj5DF8uXBsocBH2ZH-

Well, good luck!

About

JellyLoad Optical Data Channel receiver interface hardware

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published