{"id":14,"date":"2010-03-11T18:05:00","date_gmt":"2010-03-11T17:05:00","guid":{"rendered":"http:\/\/blog.japanese-cake.io\/index.php\/2010\/03\/11\/small-update-for-gdi-explorer-gdi2cue-and-lets-talk-about-dc-reset-call\/"},"modified":"2020-04-18T12:47:17","modified_gmt":"2020-04-18T10:47:17","slug":"small-update-for-gdi-explorer-gdi2cue-and-lets-talk-about-dc-reset-call","status":"publish","type":"post","link":"https:\/\/blog.japanese-cake.io\/index.php\/2010\/03\/11\/small-update-for-gdi-explorer-gdi2cue-and-lets-talk-about-dc-reset-call\/","title":{"rendered":"Small update for GDI Explorer\/GDI2CUE&#8230; And let&#8217;s talk about dc-reset-call"},"content":{"rendered":"<p>Someone has reminded me that with GDI Explorer it wasn&#8217;t possible to extract boot file. So I&#8217;ve added this feature. Below, you can download a newer version.<\/p>\n<p>Readme:<\/p>\n<p>v1.1 fixed to v1.1.2 (2010\/03\/11) :<\/p>\n<ul>\n<li>Added: IP.BIN &amp; IP0000.BIN extraction<\/li>\n<li>Added: Messagebox after extracting boot file or sorttxt.txt file.<\/li>\n<li>Added: newer version of GDI2CUE Converter (v1.3.0.1)<\/li>\n<\/ul>\n<p>Note: I&#8217;ve included a newer version of gdi2cue converter (nothing amazing however)<\/p>\n<p>Download link : <a href=\"http:\/\/www.mediafire.com\/file\/0twyxlyjydt\/jc-gdiexplorer-v1.1.2.7z\" target=\"_blank\" rel=\"noopener noreferrer\">here !<\/a><\/p>\n\n\n<p>By the way, I&#8217;ve promised you to talk a little more about dreamcast &#8220;soft-reset&#8221; in order to boot retail games from you own program. Here is an extract of it :<\/p>\n\n\n\n<pre class=\"wp-block-preformatted\">\u00a0\u00a0<strong>_reset_call:<\/strong>\n    stc\u00a0\u00a0\u00a0 sr,r0\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_sr_data,r1\n\u00a0\u00a0\u00a0 and\u00a0\u00a0\u00a0 r1,r0\n\u00a0\u00a0\u00a0 ldc\u00a0\u00a0\u00a0 r0,sr\u00a0\u00a0\u00a0 \u00a0\u00a0\u00a0 ! 0xdfffffff mask\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r0\n\u00a0\u00a0\u00a0 lds\u00a0\u00a0\u00a0 r0,mach\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_other_data,r0\u00a0\u00a0\u00a0 ! 0x28 ?? why sould we put this value ??\n\u00a0\u00a0\u00a0 lds\u00a0\u00a0\u00a0 r0,macl\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r0\n\u00a0\u00a0\u00a0 lds\u00a0\u00a0\u00a0 r0,pr\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_vbr_data,r0\u00a0\u00a0\u00a0 ! 0x8c00f400 exception handler\n\u00a0\u00a0\u00a0 ldc\u00a0\u00a0\u00a0 r0,vbr\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_gbr_data,r0\u00a0\u00a0\u00a0 ! 0x8c000000 base address\n\u00a0\u00a0\u00a0 ldc\u00a0\u00a0\u00a0 r0,gbr\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_spc_data,r0\u00a0\u00a0\u00a0 ! 0xac010000 exec address\n\u00a0\u00a0\u00a0 ldc\u00a0\u00a0\u00a0 r0,spc\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_ssr_data,r0\u00a0\u00a0\u00a0 ! 0x700000f0\n\u00a0\u00a0\u00a0 ldc\u00a0\u00a0\u00a0 r0,ssr\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 gdGdcReset,r0\u00a0\u00a0\u00a0 ! 0x8c0100a0 = gdGdcReset vector ? maybe :)\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_sct_data,r1\u00a0\u00a0\u00a0 ! 0x800\u00a0\u00a0\u00a0 = 2048 sector mode\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_sct_data,r2\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r3\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r4\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r5\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r6\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r7\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r8\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r9\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r10\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r11\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r12\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r13\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_zero_data,r14\n\u00a0\u00a0\u00a0 mov.l\u00a0\u00a0\u00a0 dc_vbr_data,r15\u00a0\u00a0\u00a0 ! 0x8c00f400 copy of exception handler vector\n\u00a0\u00a0\u00a0 rte\n\u00a0\u00a0\u00a0 nop<\/pre>\n\n\n\n<p>Download <a href=\"http:\/\/www.mediafire.com\/file\/utuitquokjm\/reset_call.tar.gz\" target=\"_blank\" rel=\"noreferrer noopener\"><strong>reset_call !<\/strong><\/a> Prior to calling reset_call(), and so executing an other program without reseting the system, you have to load the binary file in memory&#8230; just try it \ud83d\ude42<\/p>\n\n\n\n<p>So by now (I mean after my exams) I&#8217;ll focus on my gdlan boot loader&#8230;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Someone has reminded me that with GDI Explorer it wasn&#8217;t possible to extract boot file. So I&#8217;ve added this feature. Below, you can download a newer version. Readme: v1.1 fixed to v1.1.2 (2010\/03\/11) : Added: IP.BIN &amp; IP0000.BIN extraction Added: Messagebox after extracting boot file or sorttxt.txt file. Added: newer version of GDI2CUE Converter (v1.3.0.1)&hellip;<a href=\"https:\/\/blog.japanese-cake.io\/index.php\/2010\/03\/11\/small-update-for-gdi-explorer-gdi2cue-and-lets-talk-about-dc-reset-call\/\" class=\"more-link\"><span>Continue reading<\/span><span class=\"screen-reader-text\">Small update for GDI Explorer\/GDI2CUE&#8230; And let&#8217;s talk about dc-reset-call<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,53],"tags":[11,14,5,3,12],"class_list":["post-14","post","type-post","status-publish","format-standard","hentry","category-all-posts","category-pc-apps","tag-boot","tag-dcdev","tag-dreamcast","tag-hack","tag-syscall"],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/posts\/14","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/comments?post=14"}],"version-history":[{"count":3,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions"}],"predecessor-version":[{"id":463,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/posts\/14\/revisions\/463"}],"wp:attachment":[{"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/media?parent=14"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/categories?post=14"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.japanese-cake.io\/index.php\/wp-json\/wp\/v2\/tags?post=14"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}