GitHub PullRequestReviewCommentEvent at 2014-01-18 23:09:44
Repository: tip-toi-reveng
Actor: nomeata
Payload: {"comment":{"url":"https://api.github.com/repos/entropia/tip-toi-reveng/pulls/comments/8989988","id":8989988,"diff_hunk":"@@ -53,35 +54,38 @@ A script line has the format  `aa00  conditionals... bb00  actions... cc00 media\n  * `c` is the number of media table indices\n    - The media table indices are 16-bit numbers.\n \n-The conditionals are:\n- * `00 rr00 F9FF01 mmmm` (written `$r==m?` in decode's output): Only continue with this line if register `$r` has value `m`.\n- * `00 rr00 FBFF01 mmmm` (written `$r<m?` in decode's output): Only continue with this line if register `$r` has a value lower than `m`.\n- * `00 rr00 FDFF01 mmmm` (written `$r>=m?` in decode's output): Only continue with this line if register `$r` has a value greater or equal `m`.\n- * `00 rr00 FFFF01 mmmm` (written `$r!=m?` in decode's output): Only continue with this line if register `$r` has not value `m`.\n+The conditionals are of the format `t1 aaaa cccc t2 bbbb`\n+ * `t1` & `t2` (uint8) type of `a` and `b` resp. (0 == register, 1 == value)\n+ * `a` & `b` (uint16) value or id of register\n+ * `c` (uint16) is the compare operator\n \n-The actions are:\n- * `rr00 F9FF01 mmmm` (written `$r:=m`): Set register `$r` to `m`\n- * `rr00 F0FF01 mmmm` (written `$r+=m`): Increment register `$r` by `m`\n- * `rr00 E8FF01 mmmm` (written `P(m)`): Play audio referenced by the `m`th entry in the indices list.\n- * `rr00 00FC01 aabb` (written `P(b-a)`): Play a random sample from that inclusive range.\n- * `rr00 00FD01 nn00` (written `G(n)`): Begin game `n`.\n- * `rr00 FFFA01 FFFF` (written `C`): Cancel game mode.\n+Known Compare Operators are:\n+ * `FFF9`  equal == (written `$r==m?` in decode's output): Only continue with this line if register `$r` has value `m`.\n+ * `FFFB`  lesser < (written `$r<m?` in decode's output): Only continue with this line if register `$r` has a value lower than `m`.\n+ * `FFFD`  greater or equal >= (written `$r>=m?` in decode's output): Only continue with this line if register `$r` has a value greater or equal `m`.\n+ * `FFFF` not equal !=  (written `$r!=m?` in decode's output): Only continue with this line if register `$r` has not value `m`.\n \n-The commands `P`, `G` and `C` seem to ignore their registers, `C` also its parameter (which always is `FFFF`)\n+Currently unknown Compare Operators are `FFFA` & `FFFE`.\n \n-There are probably 256 registers. A register can hold 16bit values.\n+The actions are of the format `rrrr cccc tt mmmm`\n+ * `r` (uint16) id of register\n+ * `c` (uint16) is the command\n+ * `t` (uint8) type of `m` (0 == register, 1 == value)\n+ * `m` (uint16) value or id of register\n \n-Other commands and conditionals (or variants of existing ones) that have been seen (rarely) in the wild but have not been analyzed yet:\n+Known Commands are:\n+ * `FFF9` (written `$r:=m`): Set register `$r` to `m` or value of `$m`\n+ * `FFF0` (written `$r+=m`): Increment register `$r` by `m` or value of `$m`\n+ * `FFE8` (written `P(m)`): Play audio referenced by the `m`th entry in the indices list.\n+ * `FC00` (written `P(b-a)`): Play a random sample from that inclusive range. `a` := lowbyte(`m`), `b` := highbyte(`m`)\n+ * `FD00` (written `G(n)`): Begin game `n`. `n` := highbyte(`m`.","path":"README.md","position":61,"original_position":61,"commit_id":"ce6aee736e9e2474dc899bb69bd32a9302bba60d","original_commit_id":"ce6aee736e9e2474dc899bb69bd32a9302bba60d","user":{"login":"nomeata","id":148037,"avatar_url":"https://gravatar.com/avatar/5823d09208b1e4b63bbfcd189492032c?d=https%3A%2F%2Fidenticons.github.com%2Fb615e08f7de1c81cb486cb2073f2c0d2.png&r=x","gravatar_id":"5823d09208b1e4b63bbfcd189492032c","url":"https://api.github.com/users/nomeata","html_url":"https://github.com/nomeata","followers_url":"https://api.github.com/users/nomeata/followers","following_url":"https://api.github.com/users/nomeata/following{/other_user}","gists_url":"https://api.github.com/users/nomeata/gists{/gist_id}","starred_url":"https://api.github.com/users/nomeata/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nomeata/subscriptions","organizations_url":"https://api.github.com/users/nomeata/orgs","repos_url":"https://api.github.com/users/nomeata/repos","events_url":"https://api.github.com/users/nomeata/events{/privacy}","received_events_url":"https://api.github.com/users/nomeata/received_events","type":"User","site_admin":false},"body":"You don’t have to do a new pull request, just push to the `patch-1` branch of your repository and it will update this pullrequest. (Usually you would work on your master branch continuously, and create pull requests from there, instead of creating new branches every time.)","created_at":"2014-01-18T23:09:44Z","updated_at":"2014-01-18T23:09:44Z","html_url":"https://github.com/entropia/tip-toi-reveng/pull/35#discussion_r8989988","pull_request_url":"https://api.github.com/repos/entropia/tip-toi-reveng/pulls/35","_links":{"self":{"href":"https://api.github.com/repos/entropia/tip-toi-reveng/pulls/comments/8989988"},"html":{"href":"https://github.com/entropia/tip-toi-reveng/pull/35#discussion_r8989988"},"pull_request":{"href":"https://api.github.com/repos/entropia/tip-toi-reveng/pulls/35"}}}}