{"id":24399942,"url":"https://github.com/dirtbagxon/hypseus_scoreboard","last_synced_at":"2025-06-28T20:06:05.331Z","repository":{"id":113118545,"uuid":"548895852","full_name":"DirtBagXon/hypseus_scoreboard","owner":"DirtBagXon","description":"Dragon's Lair Arcade (Arduino) Scoreboard","archived":false,"fork":false,"pushed_at":"2025-02-12T12:05:56.000Z","size":758,"stargazers_count":6,"open_issues_count":1,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2025-03-25T14:51:21.038Z","etag":null,"topics":["7-segment","adapter","annunciator","arduino","diy","hardware","hypseus-singe","laserdisc","led-controller","led-matrix","scoreboard","usb"],"latest_commit_sha":null,"homepage":"https://ko-fi.com/dirtbagxon","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/DirtBagXon.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-10-10T11:00:22.000Z","updated_at":"2025-02-12T12:06:00.000Z","dependencies_parsed_at":"2025-02-12T13:24:27.678Z","dependency_job_id":"38f272ff-12b6-4366-bc66-e6b3f42e9426","html_url":"https://github.com/DirtBagXon/hypseus_scoreboard","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DirtBagXon%2Fhypseus_scoreboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DirtBagXon%2Fhypseus_scoreboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DirtBagXon%2Fhypseus_scoreboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/DirtBagXon%2Fhypseus_scoreboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/DirtBagXon","download_url":"https://codeload.github.com/DirtBagXon/hypseus_scoreboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248465315,"owners_count":21108244,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["7-segment","adapter","annunciator","arduino","diy","hardware","hypseus-singe","laserdisc","led-controller","led-matrix","scoreboard","usb"],"created_at":"2025-01-19T23:55:41.260Z","updated_at":"2025-04-11T19:08:12.700Z","avatar_url":"https://github.com/DirtBagXon.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Dragon's Lair (Arcade) Hardware Scoreboard\n\nThis 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][HS]. Support for a `Space Ace` hardware _annunciator_ is also included. \n\nThe Hypseus `Singe Game` API also allows games to utilize this hardware. \n\n\u003cimg src=\"images/arduino_hat.png\" width=240\u003e\n\n## Software\n\n[Hypseus Singe][HS] and an _Arduino/Esp32_ [sketch](sketches/).  \n\n[Arduino IDE][AI] to load sketch onto Board.  \n\nA Windows _hypseus_ binary with _USB serial_ support is provided in _Releases_.\n\n## Hardware\n\n\u003ca href=\"https://www.youtube.com/playlist?list=PLRLuhkf2c3OfWXBjaeWMZKH3ejyk8eOgZ\"\u003e\u003cimg align=\"left\" src=\"images/scoreboard.png\"\u003e\u003c/a\u003e\n\nThe project uses serial communication with an _Arduino_ Classic or _Esp32_ driving `MAX7219`  \n8-Digit LED Display Controllers to power _7-segment LED_ character, or other _LED_, displays.\n\nThe 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.\n\nRequired Arduino libraries: \n[LEDControl][LED]  \n[SerialLib][SL]\n\n\n### Hardware details and schematics\n\nEasy 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.\n\nFabrication files can be found in [schematics](schematics/).  \n\n![Schematic](schematics/schematic.png)\n\n#### Bill of Materials:\n\n* 1 \u0026nbsp; \u0026nbsp;- \u0026nbsp;_Arduino/Esp32 Microcontroller [IC2]_\n* 16 \u0026nbsp;- \u0026nbsp;_7-Segment display **(common cathode)** [LED1 to 16]_\n* 2 \u0026nbsp; \u0026nbsp;- \u0026nbsp;_MAX7219 [IC1 \u0026 IC3]_ \n* 2 \u0026nbsp; \u0026nbsp;- \u0026nbsp;_100nf capacitor [C6 - C7]_\n* 2 \u0026nbsp; \u0026nbsp;- \u0026nbsp;_10uf electrolytic capacitor [C1 - C2]_\n* 2 \u0026nbsp; \u0026nbsp;- \u0026nbsp;_Resistor [R1 - R2] value:_  \n_\u003csub\u003eSee table below:\u003c/sub\u003e_\n\n![Calculator](images/calculator.png)\n\n### Using prebuilt LED modules\n\nIt can also be created using pre-built and commonly available _8-Digit_ `MAX7219` modules:\n\n[![Modules](images/module.png)](https://www.youtube.com/playlist?list=PLRLuhkf2c3OfWXBjaeWMZKH3ejyk8eOgZ) \u003cimg src=\"images/modulecon.png\" width=240\u003e\n\n**See demonstration videos on image links above.**\n\n\n## Serial protocol\n\nThe provided _sketches_ are coded for a `19200` baud rate on the Arduino side.  \n_Baud rates_ should be adjusted to give the most reliable communication on your hardware. \n\nUpdates are communicated using a _three byte struct_ using _`writeBytes()`_:\n\n    typedef struct {\n       char unit;\n       char digit;\n       char value;\n    } DigitStruct;\n\n The _scoreboard_ _`DigitStruct.value`_ is _7-bit ASCII_ suitable for passing via _`setChar()`_ as a `(byte)` cast.\n \n The _annunciator_ will recieve _`0`_, _`1`_, _`2`_ or _`4`_ on _`value`_, _`digit`_ is unused.\n\n_Scoreboard:_ `unit` is _`0`_ | _Annunciator:_ `unit` is _`1`_\n\n## Hypseus command arguments\n\nYou will need to provide the following arguments to enable serial communication on the required port:\n\n _\u003csup\u003e(Use 19200 baud for provided sketch)\u003c/sup\u003e_\n\n_In MS Windows:_\n\n    -usbscoreboard COM \u003ccom port decimal\u003e \u003cbaud rate\u003e\n\nIn _Linux_, the USB device can appear as `USB` or `ACM`. Specify your connection as follows:\n\n    -usbscoreboard ACM \u003ccom port decimal\u003e \u003cbaud rate\u003e\n    -usbscoreboard USB \u003ccom port decimal\u003e \u003cbaud rate\u003e\n    \nExample:\n\n    -usbscoreboard COM 3 19200\n\nEnsure that the _hypseus_ user has _read/write_ permission on the _USB_ device.  \nGroup membership to `dialout` should normally suffice in _linux_.\n\n### Reference\n#### WhichDigit enum \u0026nbsp; \u0026nbsp;\u003csup\u003e * DigitStruct('digit')\u003c/sup\u003e\n\n    typedef enum\n    {\n          PLAYER1_0 = 0,\n          PLAYER1_1,\n          PLAYER1_2,\n          PLAYER1_3,\n          PLAYER1_4,\n          PLAYER1_5,\n          PLAYER2_0,\n          PLAYER2_1,\n          PLAYER2_2,\n          PLAYER2_3,\n          PLAYER2_4,\n          PLAYER2_5,\n          LIVES0,\n          LIVES1,\n          CREDITS1_0,\n          CREDITS1_1,\n          DIGIT_COUNT\n    } WhichDigit;\n\n\n## Community Image Share\n\nPlease share images of your projects and creations on the [Hypseus Discord][DIS] server.\n\n## Credits\n\nA massive thanks goes out to [Rumblebelly5][RB5] for the inspiration, patience, schematics, hardware itinerary and expertise on this project. Without them this project would not be possible.\n\n## License\n\n**Hypseus Singe**, Being Retro Orientated This Humble Emulator Regenerates  \n\nCopyright (C) 2021-2022  [DirtBagXon][owner]\n\n\u0026nbsp;\n\u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\"\u003e\u003cimg alt=\"Creative Commons License\" style=\"border-width:0\" src=\"https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png\" /\u003e\u003c/a\u003e\u003cp /\u003eThis work is licensed under a \u003ca rel=\"license\" href=\"http://creativecommons.org/licenses/by-nc-sa/4.0/\"\u003eCreative Commons Attribution-NonCommercial-ShareAlike 4.0 International License\u003c/a\u003e.\n    \n    \n## Liability\n\nThe 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.\n\n## Trademark\n\nThe \"Hypseus Singe\" mark is used to uniquely identify this project as an Arcade\nLaserdisc Emulator.  __Any direct or indirect commercial use of the mark\n\"Hypseus\" is strictly prohibited without express permission.__\n\n[owner]: https://github.com/DirtBagXon\n[RB5]: https://github.com/Rumblebelly5\n[HS]: https://github.com/DirtBagXon/hypseus-singe\n[DIS]: https://discord.gg/dgCsCfmRfJ\n[AI]: https://www.arduino.cc/en/software\n[LED]: http://wayoda.github.io/LedControl/pages/software\n[SL]: https://lucidar.me/en/serialib/cross-plateform-rs232-serial-library/\n[GNU General Public License]: http://www.gnu.org/licenses/gpl-3.0.en.html\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirtbagxon%2Fhypseus_scoreboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdirtbagxon%2Fhypseus_scoreboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdirtbagxon%2Fhypseus_scoreboard/lists"}