{"id":34666706,"url":"https://github.com/nohuto/bitmask-calc","last_synced_at":"2026-05-18T03:10:38.747Z","repository":{"id":314663742,"uuid":"1056338157","full_name":"nohuto/bitmask-calc","owner":"nohuto","description":"Bitmask calculator uses official NVIDIA definitions to edit and apply registry values with bitfield mapping.","archived":false,"fork":false,"pushed_at":"2026-04-24T19:40:18.000Z","size":14153,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-04-24T21:32:59.975Z","etag":null,"topics":["bitfield","bitmask","display","gpu","nvidia","powershell","resource-manager","winforms"],"latest_commit_sha":null,"homepage":"https://noverse.dev","language":"PowerShell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nohuto.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-09-13T21:54:17.000Z","updated_at":"2026-04-24T19:40:22.000Z","dependencies_parsed_at":"2025-10-23T17:30:18.914Z","dependency_job_id":"08a7bcb8-f787-4e53-bb99-ad9b9c24a5f4","html_url":"https://github.com/nohuto/bitmask-calc","commit_stats":null,"previous_names":["5noxi/nvidia-bitmask-calc","5noxi/bitmask-calc","nohuto/bitmask-calc"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/nohuto/bitmask-calc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohuto%2Fbitmask-calc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohuto%2Fbitmask-calc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohuto%2Fbitmask-calc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohuto%2Fbitmask-calc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nohuto","download_url":"https://codeload.github.com/nohuto/bitmask-calc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nohuto%2Fbitmask-calc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33163436,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-17T22:39:12.733Z","status":"online","status_checked_at":"2026-05-18T02:00:06.436Z","response_time":71,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":["bitfield","bitmask","display","gpu","nvidia","powershell","resource-manager","winforms"],"created_at":"2025-12-24T19:00:57.154Z","updated_at":"2026-05-18T03:10:38.736Z","avatar_url":"https://github.com/nohuto.png","language":"PowerShell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Bitmask Calculator - NVIDIA Values\n\nThis was meant to be a normal bitmask calculator, but I decided to add features to it that made it possible to directly configure and apply NVIDIA values. You may have seen people sharing NVIDIA values with uncommon looking data, e.g.:\n```bat\nreg add \"HKLM\\SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}\\0001\" /v RMElcg /t REG_DWORD /d 1431655765 /f\n```\nThe tool loads all value names including their bit definitions, making it easy for you to understand what the data of `1431655765` truely does. After selecting an option, it updates the `dec`, `hex`, `bin` data and displays the bit positions. If you want to use the value, you can add it with the `Reg Add` button, which searches for the correct key.\n\nIt adds all values to the [`Display`](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/system-defined-device-setup-classes-available-to-vendors#device-categories-and-class-values) class key. There are values with the same names in the [`nvlddmkm\\*`](https://github.com/nohuto/wpr-reg-records/blob/main/records/nvlddmkm.txt) key, but those won't get added via the tool. I may add a second section for `nvlddmkm` key values.\n```\n\\Registry\\Machine\\SYSTEM\\ControlSet001\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}\\0000 : RmProfilingAdminOnly\n\\Registry\\Machine\\SYSTEM\\ControlSet001\\Services\\nvlddmkm\\Global\\NVTweak : RmProfilingAdminOnly\n```\n\n\u003e [!NOTE]\n\u003e The calculator uses an converted `.json` version of the official NVIDIA resource manager definitions. I've built the converter myself, and it should be `100%` accurate. However, if you notice any obvious errors, please report them.\n\nPreview:\n\nhttps://github.com/user-attachments/assets/91b241ef-5e8e-4859-8957-d3b54dc52b0e\n\nThe tool currently has a selection of `967` values ([`nvvalues.txt`](https://github.com/nohuto/bitmask-calc/blob/main/nvvalues.txt)). It works with my own `.json` converted bitfield definitions. This doesn't mean that all of them are configurable or used by your system. See [list of values](https://github.com/nohuto/wpr-reg-records/blob/main/records/NVIDIA-DispGUID.txt, which got read on my system while boot.\n\n## GUI Buttons\n\n| Button | Description |\n| --- | --- |\n| `Reg Add` | Adds the currently selected value to the key |\n| `Reg Del` | Removes the currently selected value from the key |\n| `Disable All` | Enables all `DISABLE*` / `OFF` / `FALSE` bits (fallback to `DEFAULT`) |\n| `Enable All` | Enables all `ENABLE*` / `ON` / `TRUE` bits (fallback to `DEFAULT`) |\n| `Open Key` | Opens the registry key within the display class GUID [`4d36e968-e325-11ce-bfc1-08002be10318`](https://learn.microsoft.com/en-us/windows-hardware/drivers/install/system-defined-device-setup-classes-available-to-vendors#device-categories-and-class-values)\u003cbr\u003e which includes a value named `DriverDesc` with data of `*NVIDIA*` |\n| `Auto Config` | Sets preconfigured **experimental** values, these aren't recommendations, only possible presumptions (grayed out, if there's no `Configured` value in the `.json` config) |\n| `Clear` | Reverts bit states to `*DEFAULT*` (first fallback to `EMPTY (0)`, second to any `0` value) |\n\n## Bitmask Calculation\n\nGet the lower bit range (`25:24` -\u003e `24`), shift the dec or hex x times to the left (`-shl`). Combine all results with `-bor`, and done.\n\nExample using `RMGC6Parameters` (disabling all):\n```json\n\"Name\":  \"RMGC6Parameters\",\n\"Elements\": [\n  {\n      \"Field\":  \"SLEEP_AWARE_CALLBACK\",\n      \"Bits\":  \"1:0\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLED\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLED\", \"Value\":  \"3\" }\n                  ]\n  },\n  {\n      \"Field\":  \"DEFERRED_PMU_CALLBACK\",\n      \"Bits\":  \"3:2\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLED\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLED\", \"Value\":  \"3\" }\n                  ]\n  },\n  {\n      \"Field\":  \"PMU_HANDLE_MODESET\",\n      \"Bits\":  \"5:4\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLED\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLED\", \"Value\":  \"3\" }\n                  ]\n  },\n  {\n      \"Field\":  \"BSOD_MODESET\",\n      \"Bits\":  \"7:6\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLED\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLED\", \"Value\":  \"3\" }\n                  ]\n  }\n]\n```\n1. [`-shl`](https://discord.com/channels/836870260715028511/1361665557581140100/1362011539787481302) using the lower bit range value\n```ps\n0x00000001 -shl 0\n0x00000001 -shl 2\n0x00000001 -shl 4\n0x00000001 -shl 6\n```\nwould result in `1`, `4`, `16`, `64`\n\n2. Combine them with [`-bor`](https://discord.com/channels/836870260715028511/1361665557581140100/1362011218151215196)\n```ps\n1 -bor 4 -bor 16 -bor 64\n```\nOutput of `85`, which is the result.\n\nDifferent common scenario would be `DisableDynamicPstate`:\n```json\n\"Name\":  \"DisableDynamicPstate\",\n\"Comment\":  [\n     \"1 = Disable dynamic P-State/adaptive clocking\",\n     \"0 = Do not disable dynamic P-State/adaptive clocking (default)\",\n ],\n\"Elements\":  [\n      { \"Name\":  \"DISABLE\", \"Value\":  \"0\" },\n      { \"Name\":  \"ENABLE\", \"Value\":  \"1\" }\n  ]\n```\nThe comment shows `1` = `Enabled`, `0` = `Disabled`, means bit 0 gets switched here.\n\nTest yourself with the following example:\n```json\n\"Name\":  \"RMClkSlowDown\",\n\"Elements\":  [\n  {\n      \"Field\":  \"NV\",\n      \"Bits\":  \"23:22\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLE\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLE\", \"Value\":  \"3\" }\n                  ]\n  },\n  {\n      \"Field\":  \"HOST\",\n      \"Bits\":  \"25:24\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLE\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLE\", \"Value\":  \"3\" }\n                  ]\n  },\n  {\n      \"Field\":  \"IDLE_PSTATE\",\n      \"Bits\":  \"27:26\",\n      \"Options\":  [\n                      { \"Name\":  \"DEFAULT\", \"Value\":  \"0\" },\n                      { \"Name\":  \"DISABLE\", \"Value\":  \"1\" },\n                      { \"Name\":  \"ENABLE\", \"Value\":  \"3\" }\n                  ]\n  }\n]\n```\nTry to disable all of them.\n\nSolution:\nDec: `88080384`  \nHex: `0x05400000`  \nBin: `00000101010000000000000000000000`  \n\n```ps\n0x00000001 -shl 22\n0x00000001 -shl 24\n0x00000001 -shl 26\n```\n```ps\n4194304 -bor 16777216 -bor 67108864\n-\u003e 88080384\n```\nMore info about `-shl` \u0026 `-bor` can be found in [bitwise-operators.md](https://github.com/nohuto/bitmask-calc/blob/main/bitwise-operators/bitwise-operators.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohuto%2Fbitmask-calc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnohuto%2Fbitmask-calc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnohuto%2Fbitmask-calc/lists"}