{"id":16548,"date":"2020-07-20T13:07:14","date_gmt":"2020-07-20T11:07:14","guid":{"rendered":"http:\/\/cornay.co.za\/wp\/?p=16548"},"modified":"2020-07-20T13:07:14","modified_gmt":"2020-07-20T11:07:14","slug":"grok-the-z80-with-this-simulator","status":"publish","type":"post","link":"http:\/\/cornay.co.za\/wp\/2020\/07\/20\/grok-the-z80-with-this-simulator\/","title":{"rendered":"Grok The Z80 With This Simulator"},"content":{"rendered":"<p>Many of us will have at some point encountered a Z80 microprocessor, whether we&#8217;ve bare-metal programmed for it, or simply had a go at blasting some invaders on a game system using one. Like all the processors of its era, it&#8217;s got a relatively simple and accessible internal block diagram, so there&#8217;s a good chance that readers well even know how it works, too. But do any of know how it <em>really<\/em> works, down to the gate, transistor, and net level? [Goran] does, because he&#8217;s written a <a href=\"https:\/\/baltazarstudios.com\/z80explorer\/\" target=\"_blank\" rel=\"noopener noreferrer\">Z80 netlist simulator<\/a> that allows the running of code alongside the examination of the chip and its signals. It&#8217;s not particularly fast, achieving a modest 2.3kHz clock speed when run of a fairly high-end PC, but we&#8217;re guessing readers needing to run Z80 code for anything other than learning would use the real thing anyway.<\/p>\n<p>There&#8217;s a video of the software in operation which we&#8217;ve placed below the break, and we can see it will be a fascinating tool even to people who aren&#8217;t dedicated reverse engineers. To be able to bring up a logic analyzer view of the internals of a processor while it is in operation is truly astounding if you are used to it as a black box, and to have logic diagrams at your fingertips rather than puzzling out individual transistors really gives a window into what is going on.<\/p>\n<p>This isn&#8217;t the only such simulator out there, in the past we&#8217;ve mentioned <a href=\"http:\/\/visual6502.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">Visual6502<\/a>, when we covered <a href=\"https:\/\/hackaday.com\/2016\/05\/16\/a-dis-integrated-6502\/\">the Monster 6502<\/a>.<\/p>\n<p><span id=\"more-422105\"><\/span><\/p>\n<p><iframe class='youtube-player lazyload' width='800' height='480' data-src='https:\/\/www.youtube.com\/embed\/_dyngzTEnvw?version=3&#038;rel=1&#038;fs=1&#038;autohide=2&#038;showsearch=0&#038;showinfo=1&#038;iv_load_policy=1&#038;wmode=transparent' allowfullscreen='true' style='border:0;' src='about:blank' data-load-mode='0'><\/iframe><\/p>\n<p>source <a href=\"https:\/\/hackaday.com\/2020\/07\/20\/grok-the-z80-with-this-simulator\/\">https:\/\/hackaday.com\/2020\/07\/20\/grok-the-z80-with-this-simulator\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Many of us will have at some point encountered a Z80 microprocessor, whether we&#8217;ve bare-metal programmed for it, or simply had a go at blasting some invaders on a game system using one. Like all the processors of its era,<span class=\"ellipsis\">&hellip;<\/span><\/p>\n<div class=\"read-more\"><a href=\"http:\/\/cornay.co.za\/wp\/2020\/07\/20\/grok-the-z80-with-this-simulator\/\">Read more <span class=\"screen-reader-text\">Grok The Z80 With This Simulator<\/span><span class=\"meta-nav\"> &#8250;<\/span><\/a><\/div>\n<p><!-- end of .read-more --><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[66],"tags":[],"class_list":["post-16548","post","type-post","status-publish","format-standard","hentry","category-news-2"],"_links":{"self":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/16548","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/comments?post=16548"}],"version-history":[{"count":1,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/16548\/revisions"}],"predecessor-version":[{"id":16549,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/posts\/16548\/revisions\/16549"}],"wp:attachment":[{"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/media?parent=16548"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/categories?post=16548"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/cornay.co.za\/wp\/wp-json\/wp\/v2\/tags?post=16548"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}