From e811e0e2d5c892c9a39b6001432a5ef9c4b847b1 Mon Sep 17 00:00:00 2001 From: KonKeyHD Date: Wed, 28 Mar 2018 17:05:01 +0200 Subject: [PATCH 1/2] Index.md Describing how TASLink works, how to install and how to use Still needs some editing. --- docs/index.md | 92 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 92 insertions(+) create mode 100644 docs/index.md diff --git a/docs/index.md b/docs/index.md new file mode 100644 index 0000000..a16ba8a --- /dev/null +++ b/docs/index.md @@ -0,0 +1,92 @@ +# About TasLink + +TasLink Is used to replay [TASVideos](http://tasvideos.org/WelcomeToTASVideos.html) +TAS Videos tool-assisted superplay/speedruns are recorded movies to replay Button inputs with Frame perfect timings. + +--- +## Install TasLink +* 0. [Download](#downloads) +* 1. [Dump latches](#dump-latches) +* 2. [Install VHDL](#install-vhdl) +* 3. [Run TasLink Software](#run-taslink-software) + +--- + +## What is TasLink? + +TASLink is a series of hardware and supporting software built around the Papilio Pro FPGA development board designed for interfacing with consoles. The hardware is in the form of "wings" (or "shields") that can be attached depending on the situation. There is currently hardware for NES/SNES and the N64. + +# How to use TASLink: + +## Downloads +--- +* [Lsnes](http://tasvideos.org/Lsnes.html) +* [Python](https://www.python.org) +* [papillio pro bitfile uploader]() +* [(more)]() +--- + +## Dump Latches + +Download TAS movie from [TASVideos.org](http://tasvideos.org) + +Download lsnes emulator and install, make sure you download a version that supports on_latch() + +Load lua script from [scripts](/scripts/emulator/SNES) + +Type in the messages window: +##### L start_dump ("filename") + +and press 'Execute' + +Start playback + +when finished type in the messages window: + +##### L end_dump () + +and press 'Execute' + +## Install VHDL + +limited information avalible + +Run ? + +select [TASLink.bit](/HDL/TASLink) bit file + +Press (Upload/Burn/???) + +## Run TasLink Software + +limited information avalible + +Run Python + +Run TASLink.py \ + +for a new Run. Type: + +##### new + +and follow the instructions on screen + +save your run. Type: + +##### save + +and follow the instructions on screen + +run your TAS. Type: + +##### load + +and follow the instructions on screen + +restart your console if your console doesnt restart allready. + +if anything went wrong. Type: + +##### restart + +--- From e1bc209d2657a575c1d5dffff1a013e4e8cb8706 Mon Sep 17 00:00:00 2001 From: KonKeyHD Date: Thu, 5 Apr 2018 22:15:17 +0200 Subject: [PATCH 2/2] Redesign and Update index.md Redesign and Update of index.md --- HDL/TASLink/TasLink.bit | Bin 0 -> 340693 bytes docs/index.md | 166 ++++++++++++++++++---------------------- 2 files changed, 74 insertions(+), 92 deletions(-) create mode 100644 HDL/TASLink/TasLink.bit diff --git a/HDL/TASLink/TasLink.bit b/HDL/TASLink/TasLink.bit new file mode 100644 index 0000000000000000000000000000000000000000..61ef08d7bc76ca0c39962e78e52e50c6f06cd98a GIT binary patch literal 340693 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 literal 0 HcmV?d00001 diff --git a/docs/index.md b/docs/index.md index a16ba8a..cfd0c48 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,92 +1,74 @@ -# About TasLink - -TasLink Is used to replay [TASVideos](http://tasvideos.org/WelcomeToTASVideos.html) -TAS Videos tool-assisted superplay/speedruns are recorded movies to replay Button inputs with Frame perfect timings. - ---- -## Install TasLink -* 0. [Download](#downloads) -* 1. [Dump latches](#dump-latches) -* 2. [Install VHDL](#install-vhdl) -* 3. [Run TasLink Software](#run-taslink-software) - ---- - -## What is TasLink? - -TASLink is a series of hardware and supporting software built around the Papilio Pro FPGA development board designed for interfacing with consoles. The hardware is in the form of "wings" (or "shields") that can be attached depending on the situation. There is currently hardware for NES/SNES and the N64. - -# How to use TASLink: - -## Downloads ---- -* [Lsnes](http://tasvideos.org/Lsnes.html) -* [Python](https://www.python.org) -* [papillio pro bitfile uploader]() -* [(more)]() ---- - -## Dump Latches - -Download TAS movie from [TASVideos.org](http://tasvideos.org) - -Download lsnes emulator and install, make sure you download a version that supports on_latch() - -Load lua script from [scripts](/scripts/emulator/SNES) - -Type in the messages window: -##### L start_dump ("filename") - -and press 'Execute' - -Start playback - -when finished type in the messages window: - -##### L end_dump () - -and press 'Execute' - -## Install VHDL - -limited information avalible - -Run ? - -select [TASLink.bit](/HDL/TASLink) bit file - -Press (Upload/Burn/???) - -## Run TasLink Software - -limited information avalible - -Run Python - -Run TASLink.py \ - -for a new Run. Type: - -##### new - -and follow the instructions on screen - -save your run. Type: - -##### save - -and follow the instructions on screen - -run your TAS. Type: - -##### load - -and follow the instructions on screen - -restart your console if your console doesnt restart allready. - -if anything went wrong. Type: - -##### restart - ---- +# About TasLink + +TasLink Is used to replay [TASVideos](http://tasvideos.org/WelcomeToTASVideos.html) +TAS Videos tool-assisted superplay/speedruns are recorded movies to replay Button inputs with Frame perfect timings. + +## Install TasLink +--- + +1. [Download](#downloads) +2. [Dump latches](#dump-latches) +3. [Install VHDL](#install-vhdl) +4. [Run TasLink Software](#run-taslink-software) + +--- +## What is TasLink? + +TASLink is a series of hardware and supporting software built around the Papilio Pro FPGA development board designed for interfacing with consoles. The hardware is in the form of "wings" (or "shields") that can be attached depending on the situation. There is currently hardware for NES/SNES and the N64. + +# How to use TASLink: + +## Downloads +--- +* [Lsnes](http://tasvideos.org/Lsnes.html) +* [Python](https://www.python.org) +* Papilio Loader [Windows](http://forum.gadgetfactory.net/index.php?/files/file/10-papilio-loader-gui/) + [Linux](https://github.com/GadgetFactory/Papilio-Loader/) +* [(more)]() + +--- +## Dump Latches + +* Download TAS movie from [TASVideos.org](http://tasvideos.org) +* Download lsnes emulator and install, make sure you download a version that supports on_latch() +* Load lua script from [scripts](/scripts/emulator/SNES) +* Type in the messages window: `L start_dump("filename")` and press 'Execute' +* Start playback +* When finished type in the messages window: `L end_dump()` and press 'Execute' + +## Install VHDL + +limited information avalible + +* Run Papilio Loader +* Select [TASLink.bit](/HDL/TASLink/TasLink.bit) bit file +* Press Run + +## Run TasLink Software + +### Windows + +* Shift right click on empty space your [TasLink.py](/TASLink/scripts/streaming) is located +* Click open Powershell/Commandline here +* type `TASLink.py ` and press enter + ++ To Determine the number of the COM port the Papilio is using. + * Right click on “My Computer” and select “Manage”. + * Click on “Device Manager” + * Expand “Ports” + * Observe the “Papilio Serial Port” (usually the higest) + +--- +### Linux + +no information avalible + +--- + +### Running a TAS + +For a new Run. Type: `new` and follow the instructions on screen. +Save your run. Type: `save` and follow the instructions on screen. +Run your TAS. Type: `load` and follow the instructions on screen. +To restart the run. Type: `restart` +