{ "cells": [ { "cell_type": "markdown", "id": "0297426f", "metadata": {}, "source": [ "# TV Mode Implementation for KidLisp\n", "\n", "This notebook demonstrates how to add `&tv=true` parameter support to disable touch/keyboard input for FF-X1 TV display integration.\n" ] }, { "cell_type": "code", "execution_count": null, "id": "5526158d", "metadata": {}, "outputs": [], "source": [ "%%ac 320 240\n", "# Example iframe URL for FF-X1 TV mode:\n", "# https://prompt.ac/purple§line§scroll?nolabel=true&nogap=true&tv=true\n", "\n", "purple\n", "line \n", "scroll" ] }, { "cell_type": "code", "execution_count": null, "id": "e3b0f2e8", "metadata": {}, "outputs": [ { "ename": "", "evalue": "", "output_type": "error", "traceback": [ "\u001b[1;31mRunning cells with 'Python 3.11.13' requires the ipykernel package.\n", "\u001b[1;31mCreate a Python Environment with the required packages.\n", "\u001b[1;31mOr install 'ipykernel' using the command: '/bin/python3.11 -m pip install ipykernel -U --user --force-reinstall'" ] } ], "source": [ "%%ac 320 240 tv_mode=True\n", "# Testing TV mode - should disable touch/keyboard input\n", "red\n", "box width/2 height/2 100 100 *center" ] }, { "cell_type": "code", "execution_count": null, "id": "d3c7b5b2", "metadata": {}, "outputs": [], "source": [ "%%ac 128 128\n", "(ink rainbow)\n", "(line)\n", "; (wipe)\n", "(melody \"cdefgabagfed\" 320)\n", "; todo: make it so the iframe in aesthetic.py dosn't have to be reloaded\n", "; when the melody changes\n" ] }, { "cell_type": "code", "execution_count": 3, "id": "97707d56", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%%ac 512 512\n", "(fps 24)\n", "(0.25s (wipe (... red yellow blue)))\n", "(ink green)\n", "(line 0 height/2 width height/2)\n", "(ink red)\n", "(line width/2 0 width/2 height)\n", "(scroll frame frame)" ] }, { "cell_type": "code", "execution_count": null, "id": "56ff3985", "metadata": {}, "outputs": [], "source": [ "%%ac 512 512\n", "; Mark the center point for reference\n", "(ink green)\n", "; (box (- width/2 2) (- height/2 2) 4 4)\n", "(stamp \"@jeffrey/2025.6.24.01.45.17.910\" width/2 height/2 0.5)" ] }, { "cell_type": "code", "execution_count": null, "id": "9825df68", "metadata": {}, "outputs": [], "source": [ "%%ac 192\n", "clock +ceg e.b..c..d..e.. ++a...babababgfgfgfededefga" ] }, { "cell_type": "code", "execution_count": null, "id": "26a375dc", "metadata": {}, "outputs": [], "source": [ "%%ac 256 256\n", "; Blue background with red X\n", "(wipe \"blue\")\n", "(ink \"red\")\n", "(line 0 0 width height)\n", "(line width 0 0 height)" ] }, { "cell_type": "code", "execution_count": null, "id": "36b2ed58", "metadata": {}, "outputs": [], "source": [ "%%ac 256 256\n", "; Comprehensive scroll test\n", "(wipe black)\n", "(ink white)\n", "(write \"Original\" 10 10)\n", "(ink red)\n", "(box 50 50 50 50)\n", "; Test different scroll amounts\n", "(0.1s (scroll 1 0)) ; Small scroll\n", "(0.2s (scroll 10 0)) ; Medium scroll \n", "(0.3s (scroll 0 10)) ; Vertical scroll\n", "(0.4s (scroll -5 -5)) ; Negative scroll" ] }, { "cell_type": "code", "execution_count": null, "id": "746709d9", "metadata": {}, "outputs": [], "source": [ "%%ac 256 256\n", "; Test potential scroll issues\n", "; (wipe blue)\n", "; (0.5s (wipe blue))\n", "(line)\n", "(scroll 1)\n" ] }, { "cell_type": "code", "execution_count": 4, "id": "d066b694", "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "
\n", " \n", "
\n", " " ], "text/plain": [ "" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "%ac 192 clock {saw}^--ceg ^e.b..c..d..e.. {square}^-a...babababgfgfgfededefga" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.13" }, "polyglot_notebook": { "kernelInfo": { "defaultKernelName": "csharp", "items": [ { "aliases": [], "name": "csharp" } ] } } }, "nbformat": 4, "nbformat_minor": 5 }