{"action":"opened","issue":{"url":"https://api.github.com/repos/JohnEarnest/Octo/issues/36","repository_url":"https://api.github.com/repos/JohnEarnest/Octo","labels_url":"https://api.github.com/repos/JohnEarnest/Octo/issues/36/labels{/name}","comments_url":"https://api.github.com/repos/JohnEarnest/Octo/issues/36/comments","events_url":"https://api.github.com/repos/JohnEarnest/Octo/issues/36/events","html_url":"https://github.com/JohnEarnest/Octo/issues/36","id":172286951,"number":36,"title":"Undefined can be loaded into registers via XO chip high memory access.","user":{"login":"Chromatophore","id":9021062,"avatar_url":"https://avatars.githubusercontent.com/u/9021062?v=3","gravatar_id":"","url":"https://api.github.com/users/Chromatophore","html_url":"https://github.com/Chromatophore","followers_url":"https://api.github.com/users/Chromatophore/followers","following_url":"https://api.github.com/users/Chromatophore/following{/other_user}","gists_url":"https://api.github.com/users/Chromatophore/gists{/gist_id}","starred_url":"https://api.github.com/users/Chromatophore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Chromatophore/subscriptions","organizations_url":"https://api.github.com/users/Chromatophore/orgs","repos_url":"https://api.github.com/users/Chromatophore/repos","events_url":"https://api.github.com/users/Chromatophore/events{/privacy}","received_events_url":"https://api.github.com/users/Chromatophore/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":0,"created_at":"2016-08-20T19:32:07Z","updated_at":"2016-08-20T19:32:07Z","closed_at":null,"body":"0 Initialisation of the memory array, emulator.m, appears to be reliant on the rom the user provides, combined with how javascript is feeling that day. For a standard rom this seems to usually be 8k (emulator.m.length). However, XO chip allows addressing up to 64k - memory will be allocated to cover the rom and some additional as per JS's whim, so normal programs will not have problems. It is however possible to then manually address into this unallocated memory. A subsequent load will load 'undefined' into octo's emulator.v array, rather than 0, which will cause js errors when attempting to eg print these in the debugger, and perhaps cause other issues further down.\r\n\r\nAn example rom that will demonstrate this issue can be found here:\r\n\r\nhttp://johnearnest.github.io/Octo/index.html?gist=44eb5e7c3c482581c445b58c6fc6094e\r\n\r\nA check in the emulator's handling of the 0x65 command, such that it loads 0 instead of undefined into the registers, seems like it would maintain expected behaviour."}}
{"actor":{"display_login":"Chromatophore"}}