I usually keep all my carts in a specific folder in Picotron, but it's annoying having to cd into that folder every time I want to load a cart, or type the whole path out. I'd rather just be able to load carts from that folder from anywhere in the filesystem.
So, I made loadcart
. It's like load
(and even uses load
to do the actual loading), but you can run it from anywhere and it'll always load from a folder you specify. (It will default to /desktop
if you don't set a folder.)
Let's say /desktop/carts
is where you store all your carts. You'd run loadcart -d /desktop/carts
at some point to set loadcart's saved folder. Now, from that points on, from anywhere in your filesystem, you can type loadcart mycart
and it would be the same as running load /desktop/carts/mycart.p64
.
Here's the contents of the .lua
file. Just save it to /appdata/system/util/loadcart.lua
. When you run it with the -d
switch, the saved folder will be set in /appdata/loadcart.pod
.
--[[ For loading carts from a specific saved folder. ]] function print_usage() print("\f6usage:\t\tloadcart filename\n\t\t\t\tcan be file or directory\n") print("\f6\t\t\tloadcart -d directory_name\n\t\t\t\tsets carts directory (defaults to \"/desktop\")\n") if (fstat("/appdata/loadcart.pod")) then local meta = fetch_metadata("/appdata/loadcart.pod") if (fstat(meta.dir) == "folder") then print("\f6current: "..meta.dir) else print("\f6current: /desktop") end else print("\f6current: /desktop") end end --show help local e = env() local argv = e.argv if (#argv < 1 or #argv > 2) then print_usage() exit(1) end --load cart based on settings or default to /desktop if (#argv == 1) then if (argv[1] == "-d") print_usage() exit(1) local dir = "/desktop" if (fstat("/appdata/loadcart.pod") == "file") then local meta = fetch_metadata("/appdata/loadcart.pod") if (meta.dir and fstat(meta.dir) == "folder") then dir = meta.dir else print("\f6invalid directory setting, defaulting to /desktop") end end cd(dir) create_process("/system/util/load.lua", { print_to_proc_id = e.print_to_proc_id, argv = {fullpath(argv[1])} } ) exit(0) elseif (#argv == 2) then cd(e.path) if (argv[1] == "-d") then local directory = fullpath(argv[2]) if (fstat(directory) == "folder") then store("/appdata/loadcart.pod","",{title="loadcart utility settings",dir=directory}) print("\f6loadcart set to: "..directory) exit(0) else print("invalid directory") exit(1) end else print_usage() exit(1) end end |
[Please log in to post a comment]