{"action":"created","issue":{"url":"https://api.github.com/repos/openMSX/openMSX/issues/285","labels_url":"https://api.github.com/repos/openMSX/openMSX/issues/285/labels{/name}","comments_url":"https://api.github.com/repos/openMSX/openMSX/issues/285/comments","events_url":"https://api.github.com/repos/openMSX/openMSX/issues/285/events","html_url":"https://github.com/openMSX/openMSX/issues/285","id":85910844,"number":285,"title":"[Feature] Set vdpiotiming=off feature [sf#251]","user":{"login":"andete","id":689017,"avatar_url":"https://avatars.githubusercontent.com/u/689017?v=3","gravatar_id":"","url":"https://api.github.com/users/andete","html_url":"https://github.com/andete","followers_url":"https://api.github.com/users/andete/followers","following_url":"https://api.github.com/users/andete/following{/other_user}","gists_url":"https://api.github.com/users/andete/gists{/gist_id}","starred_url":"https://api.github.com/users/andete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andete/subscriptions","organizations_url":"https://api.github.com/users/andete/orgs","repos_url":"https://api.github.com/users/andete/repos","events_url":"https://api.github.com/users/andete/events{/privacy}","received_events_url":"https://api.github.com/users/andete/received_events","type":"User","site_admin":false},"labels":[],"state":"closed","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/openMSX/openMSX/milestones/3","html_url":"https://github.com/openMSX/openMSX/milestones/Next_Release","labels_url":"https://api.github.com/repos/openMSX/openMSX/milestones/3/labels","id":1153296,"number":3,"title":"Next_Release","description":"Next Release","creator":{"login":"andete","id":689017,"avatar_url":"https://avatars.githubusercontent.com/u/689017?v=3","gravatar_id":"","url":"https://api.github.com/users/andete","html_url":"https://github.com/andete","followers_url":"https://api.github.com/users/andete/followers","following_url":"https://api.github.com/users/andete/following{/other_user}","gists_url":"https://api.github.com/users/andete/gists{/gist_id}","starred_url":"https://api.github.com/users/andete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andete/subscriptions","organizations_url":"https://api.github.com/users/andete/orgs","repos_url":"https://api.github.com/users/andete/repos","events_url":"https://api.github.com/users/andete/events{/privacy}","received_events_url":"https://api.github.com/users/andete/received_events","type":"User","site_admin":false},"open_issues":28,"closed_issues":29,"state":"closed","created_at":"2015-06-07T09:09:35Z","updated_at":"2015-06-07T16:14:20Z","due_on":null,"closed_at":"2015-06-07T09:09:35Z"},"comments":1,"created_at":"2015-06-07T15:18:34Z","updated_at":"2015-06-07T16:14:26Z","closed_at":"2015-06-07T16:14:20Z","body":"**Reported by sd-snatcher on 2013-07-11 20:58 UTC**\nopenMSX daily builds started emulating the timing of the VDP I/O ports. This is very nice as it brings openMSX emulation closer to the real hardware, but unfortunately it rendered the set z80_freq/z80_fre_locked almost useless, since all data sent to the VDP gets corrupted when these commands are used for clocks higher than 3.57MHz.\r\n\r\nThose two commands, alongside cmdtiming=broken, was my primary way of developing safe turbofixes, since I could unleash the MSX speed to as fast as possible to do the debugging.\r\n\r\nPlease add an option, similar to the cmdtiming, to allow the access time of the VDP I/O ports to be ignored. Something like \"set vdpiotiming=off\".\r\n\r\nTested on openMSX-0.9.1-506-g6cc03ba, o windows-7.\r\n\r\n"},"comment":{"url":"https://api.github.com/repos/openMSX/openMSX/issues/comments/109767439","html_url":"https://github.com/openMSX/openMSX/issues/285#issuecomment-109767439","issue_url":"https://api.github.com/repos/openMSX/openMSX/issues/285","id":109767439,"user":{"login":"andete","id":689017,"avatar_url":"https://avatars.githubusercontent.com/u/689017?v=3","gravatar_id":"","url":"https://api.github.com/users/andete","html_url":"https://github.com/andete","followers_url":"https://api.github.com/users/andete/followers","following_url":"https://api.github.com/users/andete/following{/other_user}","gists_url":"https://api.github.com/users/andete/gists{/gist_id}","starred_url":"https://api.github.com/users/andete/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andete/subscriptions","organizations_url":"https://api.github.com/users/andete/orgs","repos_url":"https://api.github.com/users/andete/repos","events_url":"https://api.github.com/users/andete/events{/privacy}","received_events_url":"https://api.github.com/users/andete/received_events","type":"User","site_admin":false},"created_at":"2015-06-07T16:14:26Z","updated_at":"2015-06-07T16:14:26Z","body":"**Commented by m9710797 on 2013-07-12 18:43 UTC**\nThis seems like a useful request, however it's not very easy to implement:\r\nBecause we now emulate the VDP-VRAM access at a more low level, it's not so easy anymore to arbitrarily perform extra VRAM accesses. So we can't (easily) perform more VRAM accesses compared to the real VDP. Possibly you didn't notice it yet, but this also means that the cmdtiming=broken functionality now no longer works.\r\n\r\nYour concern about higher than 3.5MHz clocks is certainly valid. E.g. 7MHz extensions on real HW perform I/O operations still at a clock-freq of 3.5MHz. Maybe we should now emulate this aspect as well?\r\n\r\nCan you describe your use-case of turbo-fixes in more detail? I'd like to understand it better so that maybe we can suggest alternative workarounds.\r\n\r\nI'll also consider re-enabling cmdtiming=broken and adding vdpiotiming=broken, but I'll have to see how easy it is to fit that in the new VRAM handling. I prefer not to complicate the VRAM access related code for an 'unrealistic' emulation-only feature."}}