{"id":17113,"date":"2026-07-12T08:55:55","date_gmt":"2026-07-12T08:55:55","guid":{"rendered":"https:\/\/8657085.xyz\/?p=17113"},"modified":"2026-07-12T08:55:55","modified_gmt":"2026-07-12T08:55:55","slug":"super-mario-64-has-arrived-on-playstation-1-but-it-took-thousands-of-builds-to-get-there","status":"publish","type":"post","link":"https:\/\/8657085.xyz\/?p=17113","title":{"rendered":"Super Mario 64 Has Arrived on PlayStation 1, But It Took Thousands of Builds to Get There"},"content":{"rendered":"<p> <div style=\"display: grid; grid-template-columns: 300px 160px; gap: 2px; width: 460px; background: #eee; padding: 2px;\">\r\n\r\n  <!-- \u6574\u884c\u5bbd\u5e7f\u544a -->\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876674\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"grid-column: 1\/-1; width: 460px; height: 90px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876676\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u7ad6\u6392 -->\r\n  <div style=\"height: 250px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876672\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  <div style=\"height: 500px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876680\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u6469\u5929\u697c\uff08\u548c\u5de6\u4fa7\u5b8c\u5168\u5bf9\u9f50\uff09 -->\r\n  <div style=\"grid-row: 3\/5; height: 750px; background: #ccc; display: grid; place-items: center;\">\r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e2\" data-zoneid=\"5876678\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n  <\/div>\r\n  \r\n  <script async type=\"application\/javascript\" src=\"https:\/\/a.magsrv.com\/ad-provider.js\"><\/script> \r\n <ins class=\"eas6a97888e6\" data-zoneid=\"5876682\"><\/ins> \r\n <script>(AdProvider = window.AdProvider || []).push({\"serve\": {}});<\/script>\r\n<\/div><br \/>\n<\/p>\n<div>\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/07\/12004621\/super-mario-64-playstation-1-port-demake.jpg\" alt=\"Super Mario 64 PlayStation 1 Port Demake\" width=\"1280\" height=\"853\"\/><br \/>Off a CRT television, the footage captures Mario mid-jump in Bob-omb Battlefield. The camera follows him across familiar terrain. No emulator sits between the console and the screen. This moment marks real hardware execution after roughly 3000 separate builds and months of relentless iteration by one dedicated developer. The project began as a fork of earlier work by malucard, who first adapted the open-source Super Mario 64 decompilation for PlayStation 1 targets. <\/p>\n<p><span id=\"more-249977\"\/><br \/><iframe title=\"Mario 64 on PS1 after 3000 builds (offscreen CRT recording)\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/I2Omh33UUJA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><noscript><iframe title=\"Mario 64 on PS1 after 3000 builds (offscreen CRT recording)\" width=\"640\" height=\"360\" src=\"https:\/\/www.youtube.com\/embed\/I2Omh33UUJA?feature=oembed\" frameborder=\"0\" allow=\"accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share\" referrerpolicy=\"strict-origin-when-cross-origin\" allowfullscreen><\/iframe><\/noscript><br \/>Early versions showed some promise, but they were rough around the edges, with trees floating around, animations stalling or breaking, and the camera refusing to act properly. In several instances, performance was sluggish. Still, these early builds demonstrated that the concept could be made to work, even if it wasn\u2019t remotely playable on a console; however, that\u2019s where Eyepatch Entertainment stepped in, and they decided to take on the challenge of getting it stable and running smoothly on a PlayStation\u2019s far-from-generous 2MB of RAM.<\/p>\n<div class=\"aawp\">\n<div class=\"aawp-product aawp-product--horizontal\" data-aawp-product-asin=\"B0GZ5DFHC5\" data-aawp-product-id=\"247082\" data-aawp-tracking-id=\"tec02e-20\" data-aawp-product-title=\"Nintendo Switch 2  Choose Your Game Bundle\">\n<div class=\"aawp-product__thumb\">\n<p>            <img decoding=\"async\" class=\"aawp-product__image\" src=\"https:\/\/m.media-amazon.com\/images\/I\/41TMLjVS53L._SL160_.jpg\" alt=\"Nintendo Switch 2: Choose Your Game Bundle\"\/><\/p><\/div>\n<div class=\"aawp-product__content\">\n<p>            Nintendo Switch 2: Choose Your Game Bundle        <\/p>\n<div class=\"aawp-product__description\">\n<ul>\n<li>Kick off the fun with a Nintendo Switch 2 system, your choice of a select digital game, and a savings* of up to $29.99!<\/li>\n<li>Includes choice of either the Mario Kart World, Donkey Kong Bananza, or Pok\u00e9mon Pokopia digital game download<\/li>\n<li>One system, three play modes: TV, Tabletop, and Handheld<\/li>\n<\/ul><\/div>\n<\/p><\/div>\n<\/div>\n<\/div>\n<p>\nSuper Mario 64, of course, was initially intended for the Nintendo 64, which had more memory and rasterization processors. In contrast, the PlayStation ran a different CPU, had a simpler graphics system, and used a disc rather than a cartridge. Every image, procedure, and byte of data had to be rethought to function inside the PlayStation\u2019s limited memory space to prevent the game from crashing all the time.<\/p>\n<p><img decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/07\/12004554\/super-mario-64-playstation-1-port-demake-1.jpg\" alt=\"Super Mario 64 PlayStation 1 Port Demake\" width=\"1280\" height=\"720\"\/><br \/>The first round of work was focused on getting the game to boot properly and not run out of memory. That\u2019s a significant issue, and levels like Bob-omb Battlefield were practically impossible to work on owing to allocation concerns. The game occasionally crashed, and when it did, it was limited to a few frames per second. You have to fix the CD image handling to remedy the sector alignment and controller mode issues that were causing texture corruption. It was difficult to debug at first, simply comparing screenshots to what we expected to happen, but after he got GDB and backtracing using the PCSX-Redux emulator, things improved significantly.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/07\/12004602\/super-mario-64-playstation-1-port-demake-2.jpg\" alt=\"Super Mario 64 PlayStation 1 Port Demake\" width=\"1280\" height=\"720\"\/><br \/>Then, in a big breakthrough, he successfully got the game to run on an actual PlayStation. Now, I understand that sounds simple, but getting it to do anything close to what we saw in the emulator was a huge feat. Of course, it wasn\u2019t all smooth sailing; a few additional concerns surfaced. For example, because of the way the framebuffer was flipped, Mario\u2019s model was allowing in light from behind, causing the game to drop frames and freeze. So he fixed that and a few other bugs, and the game began to take shape. He changed the topography to just build the necessary level detail and simplified elements of the 3D models, such as Mario\u2019s legs. This made a big impact in memory and performance.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/07\/12004609\/super-mario-64-playstation-1-port-demake-3.jpg\" alt=\"Super Mario 64 PlayStation 1 Port Demake\" width=\"1280\" height=\"720\"\/><br \/>Audio, oh boy, was a whole other ballgame. On an actual PlayStation, he would occasionally hear stillness or a lot of crackling. The music was encoded as 8-bit ADPCM, which worked flawlessly on the emulator, however the real device required 4-bit XA-ADPCM. We had to re-encode the entire audio. We changed the sector interleaving so that the PlayStation could read it properly, and we even included additional automated checks to ensure that the same issue did not occur again.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/images.techeblog.com\/wp-content\/uploads\/2026\/07\/12004616\/super-mario-64-playstation-1-port-demake-4.jpg\" alt=\"Super Mario 64 PlayStation 1 Port Demake\" width=\"1280\" height=\"720\"\/><br \/>The good news is that the most recent builds are beginning to resemble what he envisioned. The skybox, with its flowing clouds and ocean backdrop, is operating perfectly. The Peach sequence is playing out exactly how he had imagined. After very rigorous tuning, Bob-omb Battlefield now runs at a consistent 20 to 28 frames per second. The Chain Chomp is loading properly, animating correctly, and even demolishing its gate on time. Even the door and painting transitions function without crashing the game, and the castle interior runs nicely once we set the frame rate to 30 FPS to avoid timing difficulties.<\/p>\n<\/p><\/div>\n<p><!-- \u603b\u5bb9\u5668\uff1a\u6700\u5927\u5bbd908px Grid\u7d27\u51d1\u5e03\u5c40 -->\r\n<div style=\"display: grid; grid-template-columns: 728px 160px; gap:2px; width:908px; background:#eee; padding:2px;\">\r\n\r\n  <!-- \u901a\u680f\u9876\u90e8\uff1a\u6700\u5927\u6a2a\u5e45 908x258 \u8de8\u6574\u884c -->\r\n  <div style=\"grid-column:1\/-1; height:258px; background:#ff6b6b; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114307\" data-width=\"908\" data-height=\"258\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114307});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u7b2c\u4e8c\u901a\u680f\uff1a728\u00d790 \u901a\u680f -->\r\n  <div style=\"grid-column:1\/-1; height:90px; background:#4ecdc4; display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114300\" data-width=\"728\" data-height=\"90\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114300});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n  <!-- \u5de6\u4fa7\u4e3b\u680f\uff1a\u591a\u5e7f\u544a\u5806\u53e0 -->\r\n  <div style=\"display:grid; gap:2px;\">\r\n    <div style=\"height:60px; background:#45b7d1; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114308\" data-width=\"468\" data-height=\"60\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114308});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ffe066; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114299\" data-width=\"300\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114299});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:250px; background:#ff9ecd; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114305\" data-width=\"250\" data-height=\"250\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114305});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:139px; background:#c792ea; display:grid; place-items:center;\">\r\n\t<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114302\" data-width=\"133\" data-height=\"139\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114302});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n    <div style=\"height:125px; background:#91e7ac; display:grid; place-items:center;\">\r\n\t\r\n<!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114303\" data-width=\"125\" data-height=\"125\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114303});<\/script>\r\n<!--JuicyAds END-->\r\n\t<\/div>\r\n  <\/div>\r\n\r\n  <!-- \u53f3\u4fa7\u7ad6\u680f\uff1a160\u00d7600 \u6574\u5217\u9ad8\u5e7f\u544a -->\r\n  <div style=\"grid-row:3\/8; height:600px;  display:grid; place-items:center;\">\r\n    <!-- JuicyAds v3.0 -->\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async src=\"https:\/\/poweredby.jads.co\/js\/jads.js\"><\/script>\r\n<ins id=\"1114301\" data-width=\"160\" data-height=\"600\"><\/ins>\r\n<script type=\"text\/javascript\" data-cfasync=\"false\" async>(adsbyjuicy = window.adsbyjuicy || []).push({'adzone':1114301});<\/script>\r\n<!--JuicyAds END-->\r\n  <\/div>\r\n\r\n<\/div><br \/>\n<br \/> Super Mario 64 Has Arrived on PlayStation 1, But It Took Thousands of Builds to Get There<br \/>\n<br \/>#Super #Mario #Arrived #PlayStation #Thousands #Builds<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Off a CRT television, the footage captures Mario mid-jump in Bob-omb Battlefield. The camera follows&#8230;<\/p>\n","protected":false},"author":1,"featured_media":17114,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[8],"tags":[9079,1849,2998,3021,1436,670],"class_list":["post-17113","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tech","tag-arrived","tag-builds","tag-mario","tag-playstation","tag-super","tag-thousands"],"featured_image_urls":{"full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake.jpg",1280,853,false],"thumbnail":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-150x150.jpg",150,150,true],"medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-300x200.jpg",300,200,true],"medium_large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-768x512.jpg",640,427,true],"large":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-1024x682.jpg",640,426,true],"1536x1536":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake.jpg",1280,853,false],"2048x2048":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake.jpg",1280,853,false],"covernews-slider-full":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-1115x715.jpg",1115,715,true],"covernews-slider-center":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-800x500.jpg",800,500,true],"covernews-featured":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-1024x682.jpg",1024,682,true],"covernews-medium":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-540x340.jpg",540,340,true],"covernews-medium-square":["https:\/\/8657085.xyz\/wp-content\/uploads\/2026\/07\/super-mario-64-playstation-1-port-demake-400x250.jpg",400,250,true]},"author_info":{"display_name":"admin","author_link":"https:\/\/8657085.xyz\/?author=1"},"category_info":"<a href=\"https:\/\/8657085.xyz\/?cat=8\" rel=\"category\">Tech<\/a>","tag_info":"Tech","comment_count":"0","_links":{"self":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/17113","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=17113"}],"version-history":[{"count":0,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/posts\/17113\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=\/wp\/v2\/media\/17114"}],"wp:attachment":[{"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=17113"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=17113"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/8657085.xyz\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=17113"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}