Yep, I did that.
I was bored, plus I randomly came across Wojbie mentioning the idea while searching for TLCO stuff in the Discord.
Yep, I did that.
I was bored, plus I randomly came across Wojbie mentioning the idea while searching for TLCO stuff in the Discord.
# MDFPWM encoder | |
# Uses ffmpeg to encode a WAV file as dfpwm | |
# Assumes ffmpeg is on PATH | |
# CC0, whatever | |
# credit [email protected] for the format | |
import subprocess, tempfile, os, os.path, struct, json | |
def I(n): | |
return struct.pack("<I",n) |
// base64 in MiniScript | |
// by minerobber | |
// Mini Micro-exclusive (uses RawData) | |
// use base64.encode/decode for standard base64 | |
// also supports variants (use .encode/decode on variants): | |
// - standard (A-Za-z0-9+/; base64.standard) | |
// - URL (A-Za-z0-9-_; base64.url) | |
// - B64 (crypt/GEDCOM; ./0-9A-Za-z; base64.b64/crypt/gedcom) | |
// - bcrypt (./A-Za-z0-9; base64.bcrypt) | |
// - bash base64 literals (0-9A-Za-z@_; base64.bash) |
local functions = {} | |
for v in ("ABS ATN COS EXP INT LOG RND SIN SQR TAN "):gmatch("(.-) ") do | |
functions[v]=true | |
end | |
for c in ("ABCDEFGHIJKLMNOPQRSTUVWXYZ"):gmatch("(.)") do | |
functions["FN"..c]=true | |
end | |
local statements = {} | |
for v in ("LET PRINT END READ DATA GOTO IF FOR NEXT GOSUB RETURN DEF DIM REM STOP INPUT "):gmatch("(.-) ") do | |
statements[v]=true |
local _nil = setmetatable({},{__newindex=function() end}) -- sentinel | |
local function switch(val) | |
if val==nil then val=_nil end | |
return function(cases) | |
return (cases[val] or cases.default or function() end)() | |
end | |
end | |
return setmetatable({["_nil"]=_nil,switch=switch},{__call=function(t,...) return switch(...) end}) |
"""TIC-80 graphics converter. Requires pillow. | |
usage: tic80gfx.py [-b BACKGROUND_COLOR] [-c COMMENT] [-p PALETTE] image index output | |
positional arguments: | |
image The image to convert. | |
index The index number for the top-left sprite. | |
output Where the converted image data will be saved. | |
options: |
-- Floppy Rocker | |
-- by MineRobber___T | |
-- Requires aukit and an attached speaker | |
if not package.path:find("lib/?") then package.path=package.path..";lib/?;lib/?.lua;lib/?/init.lua" end | |
if not pcall(require,"aukit") then error"Requires aukit" end | |
local aukit=package.loaded.aukit | |
local fs=fs |
-- TOML parser | |
-- by MineRobber___T/khuxkm | |
-- no guarantee it'll pass every test but it should absolutely be capable | |
-- of reading valid TOML passed to it | |
-- | |
-- returns a parse function; TOML goes in, table comes out | |
-- | |
-- MIT licensed | |
local function lookupify(a,b) |
--[[-- | |
LibDeflate 1.0.2-release <br> | |
Pure Lua compressor and decompressor with high compression ratio using | |
DEFLATE/zlib format. | |
Based on the original by Haoqian He, pared down for ComputerCraft usage | |
by Robert "khuxkm/minerobber" Miles | |
]] --[[ | |
zlib License |