{"id":13783078,"url":"https://github.com/verysimplyms/3dJS","last_synced_at":"2025-05-11T17:30:56.629Z","repository":{"id":93718105,"uuid":"129421182","full_name":"verysimplyms/3dJS","owner":"verysimplyms","description":"JS interpreter for 3DS, using duktape engine. Ready to homebrew just using JS?","archived":false,"fork":false,"pushed_at":"2018-04-08T14:15:53.000Z","size":21213,"stargazers_count":2,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-08-03T18:18:14.005Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":false,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/verysimplyms.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2018-04-13T15:30:31.000Z","updated_at":"2024-08-03T18:18:14.006Z","dependencies_parsed_at":"2023-10-02T10:15:31.840Z","dependency_job_id":null,"html_url":"https://github.com/verysimplyms/3dJS","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verysimplyms%2F3dJS","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verysimplyms%2F3dJS/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verysimplyms%2F3dJS/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/verysimplyms%2F3dJS/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/verysimplyms","download_url":"https://codeload.github.com/verysimplyms/3dJS/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253604469,"owners_count":21934866,"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":[],"created_at":"2024-08-03T18:01:52.515Z","updated_at":"2025-05-11T17:30:53.551Z","avatar_url":"https://github.com/verysimplyms.png","language":"C","funding_links":[],"categories":["C"],"sub_categories":[],"readme":"# 3dJS\n- JS interpreter for 3DS, using duktape engine.\n- You can load plain JS here, and you can use the elements below to access 3DS system's functions.\n\n# Special variables and functions\n- Modules / element collections:  \n  - System (manages common system operarions):  \n  `system.exitApp()` -\u003e Closes 3dJS app, not just the code. This will return to Home menu or HBW launcher.  \n  `system.isNew3DS()` -\u003e Returns true if current console is a New 3DS model, otherwise false.  \n  `system.getTime()` -\u003e Returns a collection with time elements: `getTime().Hour`, `getTime().Minutes`, `getTime().Seconds`, `getTime().DayName`, `getTime().DayNumber`, `getTime().MonthName`, `getTime().MonthNumber` and `getTime().Year`.  \n  `system.reboot()` -\u003e Reboots the console.  \n  `system.powerOff()` -\u003e Turns the console off.  \n  `system.getBattery()` -\u003e Returns the aproximate battery level (0, 20, 40, 60, 80 or 100)  \n  `system.isCharging()` -\u003e Returns true if the console is being charged, otherwise false.  \n  `system.launchApplet(Applet)` -\u003e Opens an applet and waits till it is closed.\n  - Console (manages printing to console in both screens):  \n  `console.log(...)` -\u003e Prints every argument to the console and then ends it with a line.  \n  `console.read()` -\u003e Opens the console keyboard and returns its text.  \n  `console.setScreen(Screen)` -\u003e Sets the screen where `console.log()` will print data.  \n  `console.clear()` -\u003e Clears the text at the selected screen.  \n  - Screen (contains two variables refering to top and bottom screen):  \n  `screen.Top` -\u003e Represents the top screen.  \n  `screen.Bottom` -\u003e Represents the bottom screen.  \n  - Input (manages reading and handling common input, like buttons or touch):  \n  `input.None` -\u003e No input is pressed.  \n  `input.A` -\u003e A button.  \n  `input.B` -\u003e B button.  \n  `input.Select` -\u003e Select button.  \n  `input.Start` -\u003e Start button.  \n  `input.DRight` -\u003e D-pad, right part.  \n  `input.DLeft` -\u003e D-pad, left part.  \n  `input.DUp` -\u003e D-pad, up part.  \n  `input.DDown` -\u003e D-pad, down part.  \n  `input.R` -\u003e R button.  \n  `input.L` -\u003e L button.  \n  `input.X` -\u003e X button.  \n  `input.Y` -\u003e Y button.  \n  `input.ZL` -\u003e ZL button.  \n  `input.ZR` -\u003e ZR button.  \n  `input.Touch` -\u003e Screen touched.  \n  `input.CSRight` -\u003e C-stick right part.  \n  `input.CSLeft` -\u003e C-stick left part.  \n  `input.CSUp` -\u003e C-stick up part.  \n  `input.CSDown` -\u003e C-stick down part.  \n  `input.CPRight` -\u003e Circle pad right part.  \n  `input.CPLeft` -\u003e Circle pad left part.  \n  `input.CPUp` -\u003e Circle pad up part.  \n  `input.CPDown` -\u003e Circle pad down part.  \n  `input.checkUp()` -\u003e Returns the input when it's pressed.  \n  `input.checkDown()` -\u003e Returns the input when it's released.  \n  `input.checkHeld()` -\u003e Returns which input is constantly pressed.  \n  `input.isPressed()` -\u003e Returns true if there's any input pressed.  \n  `input.getTouch()` -\u003e Returns the touch coords of the screen is touched: `getTouch().X`, `getTouch().Y`.  \n  - Applet (contains some IDs of system applets as variables):  \n  `applet.HomeMenu` -\u003e Home menu applet.  \n\t`applet.AlternateMenu` -\u003e Alternate home menu?  \n\t`applet.Camera` -\u003e Camera applet.  \n\t`applet.FriendsList` -\u003e Friends list applet.  \n\t`applet.GameNotes` -\u003e Game notes applet.  \n\t`applet.WebBrowser` -\u003e Internet Browser applet.  \n\t`applet.InstructionManual` -\u003e Current app's manual?  \n\t`applet.Notifications` -\u003e Notifications' applet.  \n\t`applet.Miiverse` -\u003e Miiverse applet.  \n\t`applet.MiiversePosting` -\u003e Miiverse applet, posting part.  \n\t`applet.AmiiboSettings` -\u003e Ammibo settings' applet.  \n\t`applet.Application` -\u003e Application?  \n\t`applet.eShop` -\u003e eShop common applet.  \n\t`applet.SoftwareKeyboard` -\u003e Internal keyboard applet.  \n\t`applet.MiiSelector` -\u003e Mii selector applet.  \n\t`applet.PhotoSelector` -\u003e Photo selector applet.  \n\t`applet.SoundSelector` -\u003e Sound selector applet.  \n\t`applet.ErrorDisplay` -\u003e Error display's applet.  \n\t`applet.eShopMint` -\u003e eShop (MINT, downloader?) applet.  \n\t`applet.CirclePadCalibrator` -\u003e CirclePad pro calibrator applet.  \n\t`applet.Notepad` -\u003e Notepad applet.   \n- You can use all of these constants and functions in JS code processd by 3dJS.\n- IMPORTANT! Any issues you find, please tell me about them. Enjoy your scripting!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverysimplyms%2F3dJS","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fverysimplyms%2F3dJS","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fverysimplyms%2F3dJS/lists"}