{"_id":"@8bitscript/examples","_rev":"15-57d9af728e7e107d15d1bdf4d914ba5e","name":"@8bitscript/examples","dist-tags":{"latest":"0.7.0"},"versions":{"0.2.0":{"name":"@8bitscript/examples","version":"0.2.0","license":"MIT","_id":"@8bitscript/examples@0.2.0","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"homepage":"https://github.com/8BitScript/8bitscript#readme","bugs":{"url":"https://github.com/8BitScript/8bitscript/issues"},"dist":{"shasum":"07573838044fc25e240e3be28f9b2638de385bbe","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.0.tgz","fileCount":10,"integrity":"sha512-0GGCANOfg6Ag6RLJgp24vQeQSFN9l6a28YykMmiv+92oGLnDs4fgS28QLXqq9bAJKP/a4Eu7hPM6k3UgJ31aWQ==","signatures":[{"sig":"MEQCIHpyki6Mq7TPnWqKSABBhxgBwf42k4+6iUqe3xxTWaMTAiBvz18mBHboRKDgmq/sBGbqbOQGMwffCj4ZZqUcB0aoYg==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"unpackedSize":18376},"type":"module","gitHead":"d34ab51d208a8cf09e9b4bd05eb229ac04490961","scripts":{"test":"node --test"},"_npmUser":{"name":"muncherelli","email":"james.muncherelli@gmail.com"},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"git+https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"_npmVersion":"11.19.0","description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"_nodeVersion":"26.8.1","dependencies":{"@8bitscript/pet":"workspace:*","@8bitscript/web":"workspace:*","@8bitscript/text":"workspace:*","@8bitscript/screen":"workspace:*"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.0_1789067319921_0.01975712096699933","host":"s3://npm-registry-packages-npm-production"}},"0.2.1":{"name":"@8bitscript/examples","version":"0.2.1","license":"MIT","_id":"@8bitscript/examples@0.2.1","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"0127c3c5582c8e449838f0a79df3360229c96a76","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.1.tgz","fileCount":5,"integrity":"sha512-VSWm6DghuCSYO/oxS2YyRn+9SlNWWAGn/LH0C9v4SYSd1cpmS1PtE0YDwCPxJqs2LUwSbL6kh1OsU/NZANa0uw==","signatures":[{"sig":"MEUCIQCnOfRcP7Gyls8JZGkDsllFXCA3ZFpr8M2JZm/G7BaafQIgUl4yVcsJHWQf1wSDE938nSDyFSlpauXuas7y5CZjtGM=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQClMqUSFwikIPBQ6mtEkj/2CTVbBkA+76jDx8JVSbHLrQIhAIogp33zPor6+iKa+isQsP2NSSJu8xOXTSce5GlgpntC","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.1","@8bitscript/web":"0.2.1","@8bitscript/text":"0.2.1","@8bitscript/screen":"0.2.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.1_1789081664607_0.21601015488807263","host":"s3://npm-registry-packages-npm-production"}},"0.2.2":{"name":"@8bitscript/examples","version":"0.2.2","license":"MIT","_id":"@8bitscript/examples@0.2.2","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"e059e8e1b2d71eb8fff573d20d8e07ee7333c68b","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.2.tgz","fileCount":5,"integrity":"sha512-vLojM58b4OR1Yk8j3dsPGeN1UdQRtnmeN4YraZfkeyInsdd2GzNHlB7Lsv1pER2ECHb7PrHxPeD2ufxomVxJwA==","signatures":[{"sig":"MEUCIQCkSLenKcVZ0rcs/4mRXW5iBqkJhCMMirY0YC+WvbF2qwIgPA2kr+ecgNG8yPeMQ7wO7RhZjwT/8T0HQoFGWDDZ0FE=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIEKnPuz6VmhrMMCBK6Vd/LkxRrKJkrUEDQqa8GZQwFImAiEAhn5u41mazeMmCDuxmJ6a5aZ9krnFQh3QSwq8OhVNR48=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.2","@8bitscript/web":"0.2.2","@8bitscript/text":"0.2.2","@8bitscript/screen":"0.2.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.2_1789092872692_0.8443085805253292","host":"s3://npm-registry-packages-npm-production"}},"0.2.3":{"name":"@8bitscript/examples","version":"0.2.3","license":"MIT","_id":"@8bitscript/examples@0.2.3","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"1ebe492afd703ca177b7b8b7f780f81c1a8cc348","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.3.tgz","fileCount":5,"integrity":"sha512-326CaL5SCVE661rRC7wOAzYUdfJYF4VyhaMiNbSCDXlPQmQtMVOC/zz7N7G+uVFHSLgL5Iqcet5k9Mk49HwDwA==","signatures":[{"sig":"MEUCIQDXr5qRibeJ0nQpOf0igL+kWcYmAJFZU9ku38kH/j8tiQIgP9m8k7X4VZjEREJco+e8qeOFey0jCrBQ5En1lalQo3A=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIGG6IirQUc9l7IdGLvT1MQKKudkCqfutrI7y8YJlvLUkAiEAiyT7+RjJndA9mnnv1y+H+4n7Xk8bi+7KrfesEFac+3U=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.3","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.3","@8bitscript/web":"0.2.3","@8bitscript/text":"0.2.3","@8bitscript/screen":"0.2.3"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.3_1789102092216_0.06073534759854371","host":"s3://npm-registry-packages-npm-production"}},"0.2.4":{"name":"@8bitscript/examples","version":"0.2.4","license":"MIT","_id":"@8bitscript/examples@0.2.4","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"d5ede5026c3af2b1b8e4a65d1f0e2701327e7440","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.4.tgz","fileCount":5,"integrity":"sha512-mEUbvqphiGqhmDAWsTu7VF7onUPA9UFt79VbsDoVTmmywTt9KDFCOkaQWy2u6ckJ2FwA5toS/06pnAStMHmH3A==","signatures":[{"sig":"MEUCIQCLULFNWhmdc1UdvUADfRD66SqYnGOXqa9zxLOmYDy07QIgM80Ykd9j1l3QMDN+3hds+WO22oCC2PXadUKSjucPB8k=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCbD0scW5cAfVSTjZ6seHEt4JsZd56W9ncWEWIB6WuV8gIhAOqYGoaPPUNevRdyd6qMz2gqoDXvW6iZ8P+bf7mOcxJD","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.4","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.4","@8bitscript/web":"0.2.4","@8bitscript/text":"0.2.4","@8bitscript/screen":"0.2.4"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.4_1789130883132_0.9621895769974511","host":"s3://npm-registry-packages-npm-production"}},"0.2.5":{"name":"@8bitscript/examples","version":"0.2.5","license":"MIT","_id":"@8bitscript/examples@0.2.5","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"4474b22a7c954868228d9eeac9670fc4475bf2c0","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.5.tgz","fileCount":5,"integrity":"sha512-Q51Y/5jcbDm1GTXCzN0siX3McBgreDa4DfBlC7s6OSN7UGEURk6EBPFcA3FrNhW1JuNQtkIFILzl1HklKKTQlA==","signatures":[{"sig":"MEUCIAyDNyFOo59uPAhHA+qTwKKwMUmBO1tbecyCUL0kSSpbAiEA5a8ycRZ8aivGRoYwXmSQ3a/Q+girP+VBptSGAcrK5vc=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIQDS5lkdhjqLTelCZP+y8l/AK+x+uQUgRFCe5jjBnxDT1AIgPmvt0NRCE4FHFDR6gYhnqWgW6FyjTqf2L5rJmG5tDJs=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.5","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.5","@8bitscript/web":"0.2.5","@8bitscript/text":"0.2.5","@8bitscript/screen":"0.2.5"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.5_1789132219664_0.057467387796180436","host":"s3://npm-registry-packages-npm-production"}},"0.2.6":{"name":"@8bitscript/examples","version":"0.2.6","license":"MIT","_id":"@8bitscript/examples@0.2.6","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"ea70d3709676bdb07f89919759b87c8c854a76b8","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.2.6.tgz","fileCount":5,"integrity":"sha512-SQPxkxEdl5itL5blu4qhKfysWVDsHqFq9E2cGHK+i2Loe/y7L+4NNiajPhTqdzM4H16OyQym0JInpgjRCsXBJg==","signatures":[{"sig":"MEUCIEUyE8QRJ/KA7x+PL8PaWvkh3WUQkcoJ16h/zlHZ8nuLAiEArRWcxCRFE4GNXStLznPruupcLjqVYo/DGL1pJVUWO+I=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDW5R5vmk+UwLCvmLJBfHs+c7dwVH/MrCpDuf8ANxcOngIhAMnNTKUQmfu2nq68upkypMGxNzut43jvjfzgY4crbvi6","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.2.6","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.2.6","@8bitscript/web":"0.2.6","@8bitscript/text":"0.2.6","@8bitscript/screen":"0.2.6"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.2.6_1789138675569_0.5009429324997094","host":"s3://npm-registry-packages-npm-production"}},"0.3.0":{"name":"@8bitscript/examples","version":"0.3.0","license":"MIT","_id":"@8bitscript/examples@0.3.0","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"26b38c615ce43adceeee1eea7b0176e7b9c17983","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.3.0.tgz","fileCount":5,"integrity":"sha512-lwuuLQyEfXpqPpHGcn2nxik+9A2coBfBIjgwbjKv0c/QlO8Q9dyEKQITtf9shJ/f14Hh9gmKUtrdufx1Kc/i0Q==","signatures":[{"sig":"MEYCIQD+sHRY3tGRo8oohJtczwBlZ0N9n5OKK+SuT7tLRypOfAIhANEFKmSE6dM09MxAnMHPYytctA6bgI10G1S39975R+ep","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIAzlIS8Bn8rdRXQCttKlE7AbJHiSXXuIFQ8dt7zvZUmMAiEA1E+WRHHV39twEDH16IdhBtjM7wfMLcvfPJkUpT2YNjI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.3.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4500},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.3.0","@8bitscript/web":"0.3.0","@8bitscript/text":"0.3.0","@8bitscript/screen":"0.3.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.3.0_1789153541762_0.04483605002278468","host":"s3://npm-registry-packages-npm-production"}},"0.4.0":{"name":"@8bitscript/examples","version":"0.4.0","license":"MIT","_id":"@8bitscript/examples@0.4.0","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"6fabb3f5f6526f42c38ba2886b1986e47dcdf538","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.4.0.tgz","fileCount":5,"integrity":"sha512-M80cL/8MtXFNBLj8sWNznaD+ri4blllueFQ+neoHGj7DeWUAtWYTHXlWutwTvdbL068nrEYRcyXo5oA4kzZDfw==","signatures":[{"sig":"MEUCIQDYQ2hQDobxWSPZ+oc2FEm0lSnQcrAqSYMZjxiTXi6bSQIgGKPDLd6avxxts+2Qtjh+Qd5YIy+KyZsmIwP5wMTQylk=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCWjrcHEeEWPj8IOKKmV6oKbB2lEQ1/mpWZeLp9G/JbfQIhAMzQs95TkUJxT0VM8ZYVnJxxZOSmIRuojDddSKPTvUPq","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.4.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4507},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.4.0","@8bitscript/web":"0.4.0","@8bitscript/text":"0.4.0","@8bitscript/screen":"0.4.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.4.0_1789163075015_0.6030056747226049","host":"s3://npm-registry-packages-npm-production"}},"0.4.1":{"name":"@8bitscript/examples","version":"0.4.1","license":"MIT","_id":"@8bitscript/examples@0.4.1","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"97b4166dc35c45d6849c16039216cafc3ca4e73f","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.4.1.tgz","fileCount":5,"integrity":"sha512-6Suw1DYhKBm8zC/OSDOoE4QSiQ+6AQibr4tqsMGm1zRyJKZLSgz4WU/bAgjOe7X1t+rg9WA0BUKY5lp55dMOOg==","signatures":[{"sig":"MEUCIQDJjGpxkBursW+EhZdf7o8vlgm2PJLRPjK+c4ZI4XXiGQIgPXMj4G7JYSARGAW/YnIg/6/72VBNSCTKlZqU1KkpSi0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQDkTTbgtlCHCUdvU+GlXkP6A1NC3DG9fK4jqysxjdwL+QIhAL/3+o8IMse1Ijiz19flmRjCA8glVgeX9aAmZWyhWJxW","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.4.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":4507},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.4.1","@8bitscript/web":"0.4.1","@8bitscript/text":"0.4.1","@8bitscript/screen":"0.4.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.4.1_1789165357580_0.8003441816717436","host":"s3://npm-registry-packages-npm-production"}},"0.5.0":{"name":"@8bitscript/examples","version":"0.5.0","license":"MIT","_id":"@8bitscript/examples@0.5.0","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"4917650ac9f1abf7be7120baa38dace839eba1ee","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.5.0.tgz","fileCount":5,"integrity":"sha512-kLi3EC6x5i7FjCR8HFsnFeeLP8iNq5X6h7zzdCQ8JyNcpOYqOUo4WGjefABTPwXq8k8xmS11L4qV/UiDLix5Lw==","signatures":[{"sig":"MEUCIBVvq4TbNbi+T0fCbNBiRxOUaHgTCxCxXvjcW+KJpYSQAiEAkdar6qldNIBYRSaIhuqoWHQrpH1kwuWh128r7TY19lw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCPRl1PJQtUHNeCoEFLFmJRif0W/ItBFGvKi831bcwW9AIhAI5kmOJkM9z5kGAaChcX96n/zEOgd+mNMQ3Wv26a9f+M","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.5.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":5698},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.5.0","@8bitscript/web":"0.5.0","@8bitscript/text":"0.5.0","@8bitscript/screen":"0.5.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.5.0_1789177721139_0.11942859305005249","host":"s3://npm-registry-packages-npm-production"}},"0.6.0":{"name":"@8bitscript/examples","version":"0.6.0","license":"MIT","_id":"@8bitscript/examples@0.6.0","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"faf67121c6e279173db18473c8bf4169ad8ec806","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.6.0.tgz","fileCount":7,"integrity":"sha512-+03B7wfxY7s0DKX08Zs1Ok9CKWHuAhSKtXPVKyaKXFqKCNyuWtqYlvUAviquKeLZnGeyoyy2KAY+8ge/UIqpwQ==","signatures":[{"sig":"MEUCIQCzkeoY2w1mhsKxxRN5YZrzVG61QN79mu5LkNm/wrhhYQIgOsh+l5osVKQVv03fRpBxC9DAfrPuGIzudWd3E2c+jiI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCICRwLcrRmR1oeRAcRG7fUgCh9YDKcPGQ3nuvdt+U222sAiEAlrkfljUSHOh0WHH7jOqY22cEZXtX7+vB0an+d3aUdnw=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.6.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31422},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"joystick":{"dir":"./joystick","title":"Joystick","description":"The controller test app: a labelled map of everything @8bitscript/input exposes — UP, DOWN, LEFT, RIGHT, CONFIRM, CANCEL — with a lamp on each that flashes when that control is pressed, a running count of every press seen, and a frame counter that says the loop is live. Run it first on a machine whose input layer is new or suspect."},"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, and joystick, the controller test app — listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.6.0","@8bitscript/web":"0.6.0","@8bitscript/text":"0.6.0","@8bitscript/input":"0.6.0","@8bitscript/screen":"0.6.0","@8bitscript/system":"0.6.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.6.0_1789261116928_0.35574802939558303","host":"s3://npm-registry-packages-npm-production"}},"0.6.1":{"name":"@8bitscript/examples","version":"0.6.1","license":"MIT","_id":"@8bitscript/examples@0.6.1","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"252ec01cab0dc86ba93a2fbeafbfeaf2385eb7b4","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.6.1.tgz","fileCount":7,"integrity":"sha512-Ob2oyCNFqndy1pJVsFjcFXR2QRsgIJ10VxAk8LGrwVpzbGgP1tuCBE08S82dYc4gwDxOsppb9sJYgbHwwzC8pQ==","signatures":[{"sig":"MEUCIDyDB4vCy8VfWzTEa/8eBsa8ENMs98XRwUE9d4l1XmY7AiEA2ez2ne2fO18FOkbuQVPSU+rhp8QwYaDvHlm0VaVfKD0=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEYCIQCkByIORU9hglOx39ZCpxjWKAmnbSRGQw8FYAFB2UfDrQIhAOVbg7qIWv7hPFmkJ5ySDVwkhr6SKzSMLAsrWFNRQlbw","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.6.1","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31422},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"joystick":{"dir":"./joystick","title":"Joystick","description":"The controller test app: a labelled map of everything @8bitscript/input exposes — UP, DOWN, LEFT, RIGHT, CONFIRM, CANCEL — with a lamp on each that flashes when that control is pressed, a running count of every press seen, and a frame counter that says the loop is live. Run it first on a machine whose input layer is new or suspect."},"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, and joystick, the controller test app — listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.6.1","@8bitscript/web":"0.6.1","@8bitscript/text":"0.6.1","@8bitscript/input":"0.6.1","@8bitscript/screen":"0.6.1","@8bitscript/system":"0.6.1"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.6.1_1789262141717_0.6447962807440764","host":"s3://npm-registry-packages-npm-production"}},"0.6.2":{"name":"@8bitscript/examples","version":"0.6.2","license":"MIT","_id":"@8bitscript/examples@0.6.2","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dist":{"shasum":"939d8adee0f7d64ad8129e9ed367e376a7c5ea88","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.6.2.tgz","fileCount":7,"integrity":"sha512-ZzKKeHdjjmJYBTpG0EkdyecS1yPyCyLw05trhWCdSWzRXEmEQWBrelVE3PAnwSsIPZHmLBaIM2r8M00kJu5ZcA==","signatures":[{"sig":"MEQCIGYGFPBgCigAMt/rixllWTtlepA9t9OKGV/v2TtW4Ya3AiAhaixQ71oEfDEAz2SzEL9PXxcZ4NTNMw7eBss9wTbwNw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"sig":"MEUCIB6xwmlR0nQPpsqNJnn3WcuhdhqT+BNxscdYIewJPkK8AiEAgXuoQuFuqtVm85GzUJBz04CSwjof3BQSPDSyeos7AsI=","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.6.2","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31422},"type":"module","scripts":{"test":"node --test"},"_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"joystick":{"dir":"./joystick","title":"Joystick","description":"The controller test app: a labelled map of everything @8bitscript/input exposes — UP, DOWN, LEFT, RIGHT, CONFIRM, CANCEL — with a lamp on each that flashes when that control is pressed, a running count of every press seen, and a frame counter that says the loop is live. Run it first on a machine whose input layer is new or suspect."},"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, and joystick, the controller test app — listed in the editor's launcher beside your own projects.","directories":{},"dependencies":{"@8bitscript/pet":"0.6.2","@8bitscript/web":"0.6.2","@8bitscript/text":"0.6.2","@8bitscript/input":"0.6.2","@8bitscript/screen":"0.6.2","@8bitscript/system":"0.6.2"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"tmp":"tmp/examples_0.6.2_1789307773837_0.8707883880390008","host":"s3://npm-registry-packages-npm-production"}},"0.7.0":{"_id":"@8bitscript/examples@0.7.0","dist":{"shasum":"1cb1daa99f2bb9a8654609dbd60fd5b506a7fba9","tarball":"https://registry.npmjs.org/@8bitscript/examples/-/examples-0.7.0.tgz","fileCount":7,"integrity":"sha512-YidmgA6Bn328/FGWD5a62MU8ZxSY1Sk4URzpD0hfSoN6WtFtDvYN20a/BVbuopGhBDk0dmWIpFmXPFq+/AiXww==","signatures":[{"sig":"MEQCICLPtzHaYCEnE9o3EVe2OBHCb0pfded5Y4S7Y2A8qXzNAiBQch/S6fX0hpz01t19IUNuwy6Km17jQgt3r7a1BsqpCw==","keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U"},{"keyid":"SHA256:DhQ8wR5APBvFHLF/+Tc+AYvPOdTpcIDqOhxsBHRwC7U","sig":"MEUCIQDx6vcM7xpjR8d1IpQQpA884cAZZM4heaEm9Vq9VevCcQIgNGXYClVTfTAEGvMo0hhEkJXiaxtJOx6BFo2lBAWAo+c="}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/@8bitscript%2fexamples@0.7.0","provenance":{"predicateType":"https://slsa.dev/provenance/v1"}},"unpackedSize":31422},"name":"@8bitscript/examples","type":"module","license":"MIT","scripts":{"test":"node --test"},"version":"0.7.0","_npmUser":{"name":"GitHub Actions","email":"npm-oidc-no-reply@github.com","trustedPublisher":{"id":"github","oidcConfigId":"oidc:6a2b2656-f0fd-44bc-90eb-806072dbe949"}},"8bitscript":{"examples":{"joystick":{"dir":"./joystick","title":"Joystick","description":"The controller test app: a labelled map of everything @8bitscript/input exposes — UP, DOWN, LEFT, RIGHT, CONFIRM, CANCEL — with a lamp on each that flashes when that control is pressed, a running count of every press seen, and a frame counter that says the loop is live. Run it first on a machine whose input layer is new or suspect."},"hello-world":{"dir":"./hello-world","title":"Hello, World","description":"screen.blank() then text.print(0, \"Hello World!\") through the portable screen and text packages. The 0.2.0 goal program, and the one this toolchain is built to run first — on the PET and in the browser."}}},"repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, and joystick, the controller test app — listed in the editor's launcher beside your own projects.","directories":{},"maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"dependencies":{"@8bitscript/pet":"0.7.0","@8bitscript/web":"0.7.0","@8bitscript/text":"0.7.0","@8bitscript/input":"0.7.0","@8bitscript/screen":"0.7.0","@8bitscript/system":"0.7.0"},"publishConfig":{"access":"public"},"_hasShrinkwrap":false,"_npmOperationalInternal":{"host":"s3://npm-registry-packages-npm-production","tmp":"tmp/examples_0.7.0_1789333820925_0.8326146328494801"}}},"time":{"created":"2026-09-10T19:08:39.732Z","modified":"2026-09-13T21:10:21.343Z","0.2.0":"2026-09-10T19:08:40.062Z","0.2.1":"2026-09-10T23:07:44.700Z","0.2.2":"2026-09-11T02:14:32.779Z","0.2.3":"2026-09-11T04:48:12.317Z","0.2.4":"2026-09-11T12:48:03.222Z","0.2.5":"2026-09-11T13:10:19.770Z","0.2.6":"2026-09-11T14:57:55.658Z","0.3.0":"2026-09-11T19:05:41.856Z","0.4.0":"2026-09-11T21:44:35.097Z","0.4.1":"2026-09-11T22:22:37.651Z","0.5.0":"2026-09-12T01:48:41.284Z","0.6.0":"2026-09-13T00:58:37.009Z","0.6.1":"2026-09-13T01:15:41.800Z","0.6.2":"2026-09-13T13:56:13.926Z","0.7.0":"2026-09-13T21:10:21.000Z"},"license":"MIT","repository":{"url":"https://github.com/8BitScript/8bitscript.git","type":"git","directory":"packages/examples"},"description":"The example programs that ship with the toolchain: hello-world, the 0.2.0 goal program, and joystick, the controller test app — listed in the editor's launcher beside your own projects.","maintainers":[{"name":"muncherelli","email":"james.muncherelli@gmail.com"}],"readme":"# @8bitscript/examples\n\nThe example programs that ship with the toolchain. `@8bitscript/cli`\ndepends on this package, so installing the CLI installs the examples, and\nthe VS Code extension lists them in its launcher beside your own projects\nand beside Studio. Each example is an ordinary project: a directory with an\n`8bitscript.config.ts` and a `src/main.8bs`, run with `8bs run <target>` from\ninside it.\n\nThe manifest is the `\"8bitscript\".examples` field of `package.json`: one\nentry per example, with a title, a directory, and a sentence about it.\nThe launcher reads that field and nothing else, so adding an example is a\ndirectory and an entry.\n\n| Example | What it is | Targets |\n| ------- | ---------- | ------- |\n| `hello-world` | `screen.blank()` then `text.print(0, \"Hello World!\")` through the portable screen and text packages — the same few lines build for every machine. | all nine |\n| `joystick` | The controller test app: a labelled map of everything `@8bitscript/input` exposes, with a lamp on each control that flashes when it is pressed. | all nine |\n\n## hello-world\n\nFrom inside `hello-world/`:\n\n```\n8bs run pet              # the default 2001, in VICE\n8bs run pet --profile 8032   # 80 columns, mixed case\n8bs run web              # the browser\n```\n\nThe program prints and returns, landing back at the BASIC `READY.` prompt\nthe way any program that falls off its own end does. On a PET that boots\ninto the upper-case/graphics character set — every model but the 8032 —\nthe greeting draws in capitals, because that set holds one case of the\nalphabet; the 8032 shows real mixed case. See `@8bitscript/pet`'s own\nnotes for why nothing switches between them.\n\n## joystick\n\nThe program to run first on a machine whose input layer is new or\nsuspect. From inside `joystick/`:\n\n```\n8bs run c64              # push a stick in port 2, or the cursor keys\n8bs run nes              # a pad in port 1\n8bs run pet              # the cursor keys, with SHIFT for left and up\n```\n\nIt draws the six controls the portable surface exposes — `up`, `down`,\n`left`, `right`, `confirm`, `cancel` — and flashes a reverse-video bar on\neach one as it is pressed. Under them:\n\n- **SEEN** — every press the program has ever been handed, never decaying.\n  On a machine nobody is touching this must stay `00000`; a count that\n  climbs on its own is a layer reporting presses that did not happen.\n- **FRAME** — one per trip round the loop, so a frozen program and an idle\n  one look different.\n- **KEY / JOY / PAD** — what the *machine* declares it has\n  (`#fact(input.keyboard)`, `#fact(input.joysticks)`, `#fact(input.pads)`),\n  so a dark map can be read as \"nothing was pressed\" or as \"this layer\n  does not read what this machine has\" rather than being ambiguous\n  between them.\n\n**A lamp is a press that was seen, not a control that is held.**\n`@8bitscript/input` is edge-triggered by design and has no level query for\ndirections or buttons, so this app latches each edge for about a quarter\nof a second and says so on screen. Holding a direction down flashes the\nlamp once.\n\nTwo things follow from the state of the layers rather than from this\nprogram, and are expected:\n\n- On the **Commander X16** nothing will ever light. `@8bitscript/cx16/input`\n  answers false to every direction, confirm and cancel — its SNES pads and\n  its keyboard are not read yet — and its own header says so.\n- On the **MEGA65** `SEEN` reads `00001` from the moment the program\n  starts, and the press is `confirm`. Measured, not guessed: a scratch\n  build read CIA1 itself on the first frame and found RETURN down and the\n  stick clear, where the same probe on a C64 and a C128 found both clear.\n  Every layer begins its edge detector with an empty previous-frame\n  snapshot, so anything already held at the first `poll()` — the\n  emulator's own autostart RETURN here, a player holding fire as the\n  program loads on real hardware — reads as a press that just began.\n\n## What this app wanted and the portable surface could not give it\n\nBuilding it is the cheapest way to find the edges of `@8bitscript/input`,\nso they are written down here rather than lost:\n\n- **No level query.** `up()`…`cancel()` are all edge-triggered; `pointer()`\n  is the only level-triggered call on the surface. A controller map cannot\n  show a control as *held*, which is the thing a controller map is for.\n  `held()` alongside the existing calls, not a redesign, is the ask.\n- **`confirm()` is an OR the app cannot take apart.** On the NES it is A\n  *or* START; on the C64, C128 and MEGA65 it is RETURN *or* joystick fire.\n  So this app cannot tell a human \"A works, START does not\" or \"your fire\n  button works, RETURN does not\" — the single most useful sentence a\n  controller test could say. Two lamps is the ceiling on a machine with\n  four physical buttons, and `SELECT` on the NES is not reachable at all.\n- **No way to name where a direction came from.** The C64 ORs its cursor\n  keys, joystick 2 and a 1351. A dark `LEFT` cannot separate \"the stick is\n  unplugged\" from \"the keyboard scan is broken\".\n- **No second port.** `#fact(input.joysticks)` is 2 on the C64, C128,\n  MEGA65 and Atari 8-bit; every layer reads one of them. Port 1 cannot be\n  tested at all through this surface.\n\nBuilt and screenshotted on all nine targets plus the PET 8032's 80-column\nprofile. `--screenshot` cannot press anything, so a headless capture only ever shows\nthe idle screen. Live input still needs a human with a controller.\n\nThe test in `test/` checks that the manifest names a real project and that\neach program links clean for every one of its targets.\n","readmeFilename":""}