{"id":25202133,"url":"https://github.com/mstasak/patinybasicnet","last_synced_at":"2025-04-04T21:41:32.465Z","repository":{"id":222295651,"uuid":"756829350","full_name":"mstasak/PATinyBasicNet","owner":"mstasak","description":"Porting Palo Alto Tiny Basic to C#/Console/Windows","archived":false,"fork":false,"pushed_at":"2024-02-28T23:49:15.000Z","size":6981,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-02-10T06:17:21.786Z","etag":null,"topics":["console-application","dotnet","interpreter","tiny-basic"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mstasak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2024-02-13T11:46:35.000Z","updated_at":"2024-02-17T02:22:00.000Z","dependencies_parsed_at":"2024-02-29T00:34:19.871Z","dependency_job_id":"4dff8da9-75c5-4b9f-8f68-75f2729187ac","html_url":"https://github.com/mstasak/PATinyBasicNet","commit_stats":null,"previous_names":["mstasak/patinybasicnet"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mstasak%2FPATinyBasicNet","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mstasak%2FPATinyBasicNet/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mstasak%2FPATinyBasicNet/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mstasak%2FPATinyBasicNet/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mstasak","download_url":"https://codeload.github.com/mstasak/PATinyBasicNet/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247255721,"owners_count":20909234,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["console-application","dotnet","interpreter","tiny-basic"],"created_at":"2025-02-10T06:17:24.022Z","updated_at":"2025-04-04T21:41:32.438Z","avatar_url":"https://github.com/mstasak.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Palo Alto Tiny Basic for .Net/Windows\n\"Copyleft, all wrongs reserved\"\n\nReimplementing the famous Dr. Wang's Palo Alto tiny basic, a 2K interpreter for the 8080A microcomputer, in a Windows .Net console project.\n\n## Status\n~ 90% done with initial coding, Let (assignment), Print, For-Next, Goto, Gosub, Rem, Return, If, Wait, Stop statements, work, along with the line editor.  Input statement ready to work.\nCode cleanup, documentation and testing not started.\n\n## Plans\nBeef it up with several features:\n\n(likely)\n- long variable names\n- while loops\n- if-else statement, or maybe something more normal like if cond then ... elseif cond2 then ... else ... endif?\n- thunderstrike audio effect whenever a GOTO is executed. (just kidding!)\n\n(possible)\n- String, Int32, and Double data types (maybe bool, byte, int64 as well)\n- full expression operators list (add bitwise, logical, exponentiation, maybe short-circuiting, null-coalesce, assignment ops)\n- Mac and Linux (incl Pi) ports or build configurations (should be pretty easy at present)\n- a string manipulation library\n- a file access library\n- a graphics window\n- a graphics drawing library (2D)\n- maybe a turtlegraphics lib\n- a settings library\n- some form of variable scoping - perhaps with SCOPE \"NAME\"/ENDSCOPE \"NAME\" statements, and out-of-scope references via scopename.variablename syntax.  Maybe also [global/nearest].variablename syntax.  Hmm...\n\n(doubtful - much work just to make an inferior version of vb6/vb.net)\n- a GUI editor\n- sound creation\n- a database access library\n- network access? net service access? JSON lib?\n- some debugging tools (trace, dump, watch, maybe line debugging)\n- Subs and Functions with passed arguments and independent variable scopes\n- built-in list and dictionary objects. Maybe queue, stack, set, tree, bytearray,\n- some kind of error handling\n- constants\n- importable modules with private details/limited public visibility\n- extensibility system to define new statements and libraries accessed via DLL calls\n- compatibility modes, to enforce strict original version or allow enhancements (maybe fork enhancements instead)\n- possibly some gaming support, including DirectX input?\n- Idea: User-defined statements\n- Mouse input (not sure if this is practical without some sort of event system)\n- classes/structs/records/etc. Some custom data structure, preferably with OOP capabilities.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmstasak%2Fpatinybasicnet","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmstasak%2Fpatinybasicnet","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmstasak%2Fpatinybasicnet/lists"}