{"id":70,"date":"2012-05-19T11:01:30","date_gmt":"2012-05-19T11:01:30","guid":{"rendered":"http:\/\/retroramblings.net\/?p=70"},"modified":"2012-05-19T11:01:30","modified_gmt":"2012-05-19T11:01:30","slug":"pong-revisited","status":"publish","type":"post","link":"https:\/\/retroramblings.net\/?p=70","title":{"rendered":"Pong revisited"},"content":{"rendered":"<p>Creating a Pong-style game seems to be a &#8220;Hello World&#8221; style project for FPGA developers, and was one of the first projects I attempted when I started experimenting with VHDL.<\/p>\n<p>The platform for this project is the truly brilliant <a title=\"The Syntiac TC64 page\" href=\"http:\/\/www.syntiac.com\/chameleon.html\" target=\"_blank\">Turbo Chameleon 64 cartridge<\/a>.\u00a0 For anyone who&#8217;s not familiar with this piece of kit, it&#8217;s an FPGA device that can be used either as a standalone miniature computer, or as a cartridge attached to a Commodore 64!<\/p>\n<p>Originally designed to provide a VGA output for a Commodore 64, the project&#8217;s grown and while it performs that initial task admirably, it has a near flawless emulation of the *entire* C64, provides SD card emulation of disk drives, REU emulation and even freezer cartridge emulation!<\/p>\n<p>It can also run other cores, and has suffiicent flash onboard to store 16 of them.\u00a0 So far, cores are available to emulate the C64, 48K Spectrum, Amiga (Minimig), and also a neat Game of Life core which makes use of the parallel nature of FPGAs to calculate an entire row of cells at a time.<\/p>\n<p>There&#8217;s also a hardware test core, which I used as a starting point for this project.\u00a0 To try it out, just use the Chameleon&#8217;s Chaco program to upload the .rbf file into a free slot, then launch the core from the Chameleon&#8217;s own menu.<\/p>\n<p><a href=\"http:\/\/retroramblings.net\/wp-content\/uploads\/2012\/05\/Pong.jpg\"><img loading=\"lazy\" decoding=\"async\" title=\"Pong\" src=\"http:\/\/retroramblings.net\/wp-content\/uploads\/2012\/05\/Pong.jpg\" alt=\"\" width=\"600\" height=\"356\" \/><\/a><\/p>\n<p>When it starts up, it will launch into a game between two computer-controlled players.\u00a0 To take over from one of the players, just click the left mouse button on an attached PS\/2 mouse.\u00a0 A second player can use a mouse attached to the keyboard socket.<\/p>\n<p>The reset button resets the scores, and the menu button exits the Pong core and returns to the Chameleon C64 core.<\/p>\n<p><a title=\"Pong for Chameleon 64\" href=\"http:\/\/retroramblings.net\/downloads\/Chameleon_Pong_003.zip\">Click here to download full source and binary.<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Creating a Pong-style game seems to be a &#8220;Hello World&#8221; style project for FPGA developers, and was one of the first projects I attempted when I started experimenting with VHDL. The platform for this project is the truly brilliant Turbo &hellip; <a href=\"https:\/\/retroramblings.net\/?p=70\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-70","post","type-post","status-publish","format-standard","hentry","category-fpga"],"_links":{"self":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/70","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=70"}],"version-history":[{"count":6,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions"}],"predecessor-version":[{"id":77,"href":"https:\/\/retroramblings.net\/index.php?rest_route=\/wp\/v2\/posts\/70\/revisions\/77"}],"wp:attachment":[{"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=70"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=70"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/retroramblings.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=70"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}