{"id":841,"date":"2024-03-26T12:57:33","date_gmt":"2024-03-26T12:57:33","guid":{"rendered":"http:\/\/capitoline.twocatsblack.com\/?page_id=841"},"modified":"2024-04-29T14:55:40","modified_gmt":"2024-04-29T13:55:40","slug":"1-3-boot-logo","status":"publish","type":"page","link":"http:\/\/capitoline.twocatsblack.com\/index.php\/1-3-boot-logo\/","title":{"rendered":"1.3 Boot Logo"},"content":{"rendered":"\n<p>The 1.3 boot logo is stored in the strap module and consists of three parts, the colours, the draw\/fill and the bitmaps, you can change these, although none of the vectors or bitmaps use any kind of standard, so either you&#8217;ll need to laboriously work with some grid paper or write some software to do the hard work for you.<\/p>\n\n\n\n<p>This example uses the A500 version of the kickstart 1.3 ROM &#8211; you can (probably) use any v1\/1.1\/1.2\/1.2.1\/1.3 ROM, but you&#8217;ll have to find the right positions to patch.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Colours<\/h3>\n\n\n\n<p>The four colours available are stored in 8 bytes (4&#215;2 bytes) at 0x2872A<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Addresses below are for the A500 v1.3 ROM\n0xFE872A 0FFF # White\n0xFE872C 0000 # Black\n0xFE872E 077C # Blue\n0xFE8730 0BBB # Grey<\/code><\/pre>\n\n\n\n<pre class=\"wp-block-code\"><code># So, to patch (and just change the blue to red)\nCapCLI&gt; <strong>patch 0x2872A 0x0FFF00000F440BBB<\/strong><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Vector (Draw)<\/h3>\n\n\n\n<p>The first section consists of draw and fill commands, this starts at position 0x289D0<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># A draw command starts with 0xFF, followed by the colour you want to use and the initial drawing position\nFF02802 - start drawing with colour two from position x=28, y=2\n# The next two bytes are the \"draw to\" position and repeats until the next 0xFF byte (either another command or the end)\n9791 - draw to x=97, y=91, you can have as many as you like in the list\n\nNote, the origin 0,0 position is actually screen position 80,48, with all coordinates offset from there (I guess as otherwise you would have an issue at X position 256, I'm guessing at 48 being the Y offset, I'm not sure if there's PAL\/NTSC differences either);<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Vector (Fill)<\/h3>\n\n\n\n<p>The fill commands are used in the same section as the draw commands and can appear anywhere before\/after any draw commands, they are done in order so make sure you create the lines to fill first!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># A fill command starts with 0xFE, followed by the colour and then the position you want to start the fill\nFE026A0C - fill with colour two at position x=6a, y=c\n# If you want multiple fills, you need to repeat the 0xFE and colour\nFE026A0CFE023F0D<\/code><\/pre>\n\n\n\n<p>The end of the Draw\/Fill commands is marked with 0xFFFF &#8211; don&#8217;t forget this or it might make a mess!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># This patch will replace the \"hand\" logo with \"Boing Ball\" logo (note, it's all one line)\n<strong>patch 0x289D0 0xFF02802979166D0A5B0244624F63555B5E4C65376821670F620453004A084118392C374238554462355B264E1F39FF0220267F3D76505E4C37421F3920252913331468218029803DFF024006590B73137825763A6D4E5F5C46582D50283D292732143F06FF02274E2D50365CFF027650675D56624B635F5D695CFF026A0873137815FF02291338054A01520041063906FE023F04FE025506FE026A0CFE023F0DFE026116FE02791DFE02291DFE024A25FE026C2CFE023034FE02563DFE027544FE022544FE02404EFE026152FE023557FE024B5CFE02605EFFFF<\/strong><\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\">Bitmaps<\/h3>\n\n\n\n<p>The final section is the bitmaps (each one is a single colour, so a single bitplane really), as with the draw and fill above, the bitplane origin position is also offset by 80,48<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># This example is the V 1.3 bitmap at position 0xFE8C58\n# Each bitplane has a six byte header\nFE8C58 00\n       01 Colour (00\/01\/02\/03)\n       03 Horizontal size, in words, so 3x16 pixels = 48 pixels wide\n       0A Vertical size, height= 10 pixels\n       5C X position = 92\n       64 Y position = 100\n# Followed by the data\nFE8C5E 0F 9F C1 C0 0F C0\n       07 07 03 C0 1F E0\n       07 0E 07 C0 3C F0 \n       07 1C 01 C0 00 E0 \n       07 38 01 C0 03 C0 \n       07 70 01 C0 03 C0 \n       07 E0 01 C0 00 E0 \n       07 C0 01 C0 3C F0 \n       07 80 07 F3 1F E0 \n       07 00 07 F3 0F C0\n# After all the bitplanes\n       FF FF\n<\/code><\/pre>\n\n\n\n<p>Note, as these are bitplanes you will &#8220;or&#8221; the colour value at a particular position, if you overlap your bitplanes then the colours will change, putting a blue pixel (02) on top of a black pixel (01) will result in a grey pixel (03) &#8211; this is either rally useful, or really annoying!<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># This patch replaces the Amiga\/Work bench\/V1.3 bitmaps with a simple \"Amiga 1.3\" bitmap (two bitplanes)\n<strong>patch 0x28B6C 0x00020508266E00282021C16000A000000048104206920120000000880090212002200000010809640A0004202012020808A042080820000004080908122410200002080A084891112020008020000A0204418008019200010508266E00383E3FFF7F00E0000000781E7E1EF301E0000000F81EFC39E103E0000001B83FFC3BC006E0301E03386FB873CF8CE0301207F8CF3873E71FE010060C3B8E78F1F730E011923E7FEEFFFC7FF9F8399EFFFF<\/strong><\/code><\/pre>\n\n\n\n<p>Again, the end of the bitplanes is marked with 0xFFFF &#8211; don&#8217;t forget this or it might try and draw the rest of memory!<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">In summary<\/h3>\n\n\n\n<p>Putting it all together, the three patches above result in this boot screen, hey! I&#8217;m a techie, not an artist, I&#8217;m sure I could do better, but it&#8217;s tedious to design!<br>This example uses less data than the original hand logo, so the patch is nice and safe (don&#8217;t forget to checksum the ROM after patching) &#8211; be warned that you might run out of space very quickly if you get too elaborate, also the two sections (draw\/fill and bitplanes) are in a fixed place and have a fixed size &#8211; you could patch the pointer to the bitplanes section if you wanted to use the space more efficiently (e.g. allow more\/less space for each section).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"568\" src=\"http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/03\/003.png\" alt=\"\" class=\"wp-image-842\" srcset=\"http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/03\/003.png 720w, http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/03\/003-300x237.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\">Umbrella Corp. boot screen<\/h3>\n\n\n\n<pre class=\"wp-block-code\"><code># Kickstart 1.3 patch to change the boot logo\n# Change the colours to Black\/White\/Red\/Dark Grey\npatch 0x2872A 0x00000fff09000222\n# Create Umbrella Logo\npatch 0x289D0 0xFF023C0B520E640C503C3C0CFE02501EFF01680D741D8429533D670DFE016B26FF025341852D834085545542FE027340FF0168757465845753446875FE016758FF0250453B77517365775046FE025061FF0138754D431C572B633874FE013A54FF024C411B541E411B2D4B41FE023041FF01390D2E1A1C294D3E390EFE013728FF033B0A510D650B503D3B0AFF03670B731B8529523F670CFF035241862D844086555241FF0368767466855752436876FF034F433A78517466784F44FF0338764E421B572A633876FF034D411A551D411A2C4D40FF03390C2E191B294E3F390CFFFF\n# Create the \"Umbrella Corp.\" text\npatch 0x28B6C 0x0001060C208466633E3E3CC30780F0F1F1F06663333330C30CC1999999986677333330C30CC1999999986677333330C30CC1819999986677333330C30CC181999998667F3E3E3CC30FC18199F198667F333E30C30CC18199F1F0666B333330C30CC181999980666B333330C30CC181999980666B333330C30CC1999999807E6B333330C30CC19999998C3C633E333CF3CCC0F0F1998CFFFF<\/code><\/pre>\n\n\n\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"720\" height=\"568\" src=\"http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/04\/004.png\" alt=\"\" class=\"wp-image-851\" srcset=\"http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/04\/004.png 720w, http:\/\/capitoline.twocatsblack.com\/wp-content\/uploads\/2024\/04\/004-300x237.png 300w\" sizes=\"auto, (max-width: 720px) 100vw, 720px\" \/><\/figure>\n","protected":false},"excerpt":{"rendered":"<p>The 1.3 boot logo is stored in the strap module and consists of three parts, the colours, the draw\/fill and the bitmaps, you can change these, although none of the vectors or bitmaps use any kind of standard, so either you&#8217;ll need to laboriously work with some grid paper or write some software to do &hellip;<\/p>\n<p class=\"read-more\"> <a class=\"\" href=\"http:\/\/capitoline.twocatsblack.com\/index.php\/1-3-boot-logo\/\"> <span class=\"screen-reader-text\">1.3 Boot Logo<\/span> Read More &raquo;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"site-sidebar-layout":"default","site-content-layout":"default","ast-global-header-display":"","ast-main-header-display":"","ast-hfb-above-header-display":"","ast-hfb-below-header-display":"","ast-hfb-mobile-header-display":"","site-post-title":"","ast-breadcrumbs-content":"","ast-featured-img":"","footer-sml-layout":"","theme-transparent-header-meta":"","adv-header-id-meta":"","stick-header-meta":"","header-above-stick-meta":"","header-main-stick-meta":"","header-below-stick-meta":"","footnotes":""},"class_list":["post-841","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/pages\/841","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/comments?post=841"}],"version-history":[{"count":4,"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/pages\/841\/revisions"}],"predecessor-version":[{"id":852,"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/pages\/841\/revisions\/852"}],"wp:attachment":[{"href":"http:\/\/capitoline.twocatsblack.com\/index.php\/wp-json\/wp\/v2\/media?parent=841"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}