Giter Club home page Giter Club logo

hypseus_scoreboard's Introduction

Dragon's Lair (Arcade) Hardware Scoreboard

This project will provide a repository for information on creating homebrew versions of the hardware scoreboard, to operate with the Don Bluth Laserdisc Arcade games Dragon's Lair, Space Ace and Thayer's Quest, using Hypseus Singe. Support for a Space Ace hardware annunciator is also included.

The Hypseus Singe Game API also allows games to utilize this hardware.

Software

Hypseus Singe and an Arduino/Esp32 sketch.

Arduino IDE to load sketch onto Board.

A Windows hypseus binary with USB serial support is provided in Releases.

Hardware

The project uses serial communication with an Arduino Classic or Esp32 driving MAX7219
8-Digit LED Display Controllers to power 7-segment LED character, or other LED, displays.

The provided sketches demonstrate the serial communication (using serialib) between hypseus
and the Arduino. These should be portable to other programmable microcontrollers able to handle
serial communication.

Required Arduino libraries:
LEDControl
SerialLib

Hardware details and schematics

Easy to construct, it can be hand wired on a basic perfboard with LED sizes of your choosing. Be aware of the power consumption of the LEDs as larger displays will require that an exterior power source be implemented. Components can be (DIP/DIL) through hole to enable easy soldering.

Fabrication files can be found in schematics.

Schematic

Bill of Materials:

  • 1    -  Arduino/Esp32 Microcontroller [IC2]
  • 16  -  7-Segment display (common cathode) [LED1 to 16]
  • 2    -  MAX7219 [IC1 & IC3]
  • 2    -  100nf capacitor [C6 - C7]
  • 2    -  10uf electrolytic capacitor [C1 - C2]
  • 2    -  Resistor [R1 - R2] value:
    See table below:

Calculator

Using prebuilt LED modules

It can also be created using pre-built and commonly available 8-Digit MAX7219 modules:

Modules

See demonstration videos on image links above.

Serial protocol

The provided sketches are coded for a 19200 baud rate on the Arduino side.
Baud rates should be adjusted to give the most reliable communication on your hardware.

Updates are communicated using a three byte struct using writeBytes():

typedef struct {
   char unit;
   char digit;
   char value;
} DigitStruct;

The scoreboard DigitStruct.value is 7-bit ASCII suitable for passing via setChar() as a (byte) cast.

The annunciator will recieve 0, 1, 2 or 4 on value, digit is unused.

Scoreboard: unit is 0 | Annunciator: unit is 1

Hypseus command arguments

You will need to provide the following arguments to enable serial communication on the required port:

(Use 19200 baud for provided sketch)

In MS Windows:

-usbscoreboard COM <com port decimal> <baud rate>

In Linux, the USB device can appear as USB or ACM. Specify your connection as follows:

-usbscoreboard ACM <com port decimal> <baud rate>
-usbscoreboard USB <com port decimal> <baud rate>

Example:

-usbscoreboard COM 3 19200

Ensure that the hypseus user has read/write permission on the USB device.
Group membership to dialout should normally suffice in linux.

Reference

WhichDigit enum     * DigitStruct('digit')

typedef enum
{
      PLAYER1_0 = 0,
      PLAYER1_1,
      PLAYER1_2,
      PLAYER1_3,
      PLAYER1_4,
      PLAYER1_5,
      PLAYER2_0,
      PLAYER2_1,
      PLAYER2_2,
      PLAYER2_3,
      PLAYER2_4,
      PLAYER2_5,
      LIVES0,
      LIVES1,
      CREDITS1_0,
      CREDITS1_1,
      DIGIT_COUNT
} WhichDigit;

Community Image Share

Please share images of your projects and creations on the Hypseus Discord server.

Credits

A massive thanks goes out to Rumblebelly5 for the inspiration, patience, schematics, hardware
itinerary and expertise on this project. Without them this project would not be possible.

License

Hypseus Singe, Being Retro Orientated This Humble Emulator Regenerates

Copyright (C) 2021-2022 DirtBagXon

  Creative Commons License

This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.

Liability

The user assumes complete responsibility for all hardware used in conjunction with this application. The repository maintainers will not be responsible in any way for the non-performance or malfunction of any hardware used in conjunction with this application, nor for any damages whatsoever arising out of the use of any such hardware.

Trademark

The "Hypseus Singe" mark is used to uniquely identify this project as an Arcade Laserdisc Emulator. Any direct or indirect commercial use of the mark "Hypseus" is strictly prohibited without express permission.

hypseus_scoreboard's People

Contributors

dirtbagxon avatar

Stargazers

 avatar  avatar  avatar  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.