Git Product home page Git Product logo

hycu's Introduction

HyperScan Cable Uploader

This tool is for quickly testing homebrew applications for the Mattel HyperScan console.

Intro:

This tool constists of 3 parts in order to make the testing platform more transparent. The 
3 parts are as listed:

1: PC Side (HYCU_PC)
2: MCU Side (HYCU_MCU)
3: HyperScan Side (HYCU_HS)

The idea here is that the PC side, and the HyperScan side interfacing remains the same in that
it sends out data through serial (usually USB serial) from the PC side to the MCU, and the 
HyperScan side accepts a translated version of this data. This means that all that essentially
has to be done to "port" this environment to another device is to write the code for the MCU
to do the translation, and the rest of the environment should work as normal.

The job of the MCU code is to act as the middle man in order to translate the serial data 
coming in, into a very simple sync serial interface that works over the controller port.

At the last of this chain is the HyperScan side. The job of the hyperscan side is to take this
sync serial data coming in over the controller port and translate it into a working machine 
code representation that gets saved to HyperScans RAM as a working program. 


Instructions:

First, you have to build a cable that connects from your MCU into the HyperScan controller 
port. The controller port appears to use standard a standard PS/2 male connector cable, but 
you can just as easily use an existing HyperScan controller cable if you have one on hand.

The wiring diagrams I will provide include coloring, numbering, and signaling. The coloring is 
for the HyperScan controller wires, while the numbering generally is used in the case where 
you decide to build the cable out of a standard PS/2 cable.

This should keep one from having to modify and/or open their system in any way so as to not
risk messing up a "rare" system that's not being produced anymore. There should also be
minimal to no soldering required depending on how you plan to wire your controller wires to 
your MCU. This also makes it less of a hassel for people who don't like messing with hardware 
but would rather write software.

After you have your cable built, you need to compile the PC side of the code, your MCU code, 
and the HyperScan side. The HyperScan side ends up as a .bin in your Debug folder in the 
source tree, at which point you'll need to rename it to HYPER.EXE and burn it to a data cd.

After this, load your MCU code into your MCU. At this point all the wires should be wired 
the MCU in whatever fashion the code is configured for. At this point you can start up the PC 
side of the loader, and the usage goes as follows:

<HYCU.exe> <COM_PORT> <BAUD> <UPLOAD_ADDRESS> <FILE_NAME>

At this point, you should generally see some indication lights on the MCU letting you know
that the code is uploading, and the HyperScan should give you a proper upload address, and
size, and the status indicator should read "DONE" when it's finished.

Notes on porting MCU code to other platforms:

When writing the code for the MCU, I've tried to keep the wiring so that it matches up with
the MCU I2C port on boards that happen to have one. The controller interface appears to use 
I2C, and I plan on adding I2C support later on, and so this would allow that upgrade to happen 
transparently through software. An example of this is that pin 20 on Arduino is also shared 
with the "SDA" signal. It's being used as a GPIO on pin 20 for now, but later on with the 
update it could then become the I2C SDA signaling. 
 

Controller Male Connector Pinout:

     3   4
    2  I  5  
     1 I 6

# : Color  : Signal

1 : brown  : GND
2 : yellow : DATA
3 : grey   : CLK
4 : green  : ENABLE
5 : blue   : RESET
6 : red    : VCC 3.3v

hycu's People

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.