{"id":4793,"date":"2022-02-02T12:58:48","date_gmt":"2022-02-02T20:58:48","guid":{"rendered":"https:\/\/www.flamingspork.com\/blog\/?p=4793"},"modified":"2022-02-02T12:59:40","modified_gmt":"2022-02-02T20:59:40","slug":"adventures-in-the-apple-partition-map-part-2-of-the-continuing-adventures-with-the-apple-power-macintosh-7200-120-pc-compatible","status":"publish","type":"post","link":"https:\/\/www.flamingspork.com\/blog\/2022\/02\/02\/adventures-in-the-apple-partition-map-part-2-of-the-continuing-adventures-with-the-apple-power-macintosh-7200-120-pc-compatible\/","title":{"rendered":"Adventures in the Apple Partition Map (Part 2 of the continuing adventures with the Apple Power Macintosh 7200\/120 PC Compatible)"},"content":{"rendered":"\n<p>I &#8220;recently&#8221; wrote about obtaining a new (to me, actually quite old) computer over in <a href=\"https:\/\/www.flamingspork.com\/blog\/2021\/03\/20\/the-apple-power-macintosh-7200-120-pc-compatible-part-1\/\">The Apple Power Macintosh 7200\/120 PC Compatible (Part 1)<\/a>. This post is a bit of a detour, but may help others understand why some images they download from the internet don&#8217;t work.<\/p>\n\n\n\n<p><a href=\"https:\/\/en.wikipedia.org\/wiki\/Disk_partitioning\">Disk partitioning<\/a> is (of course) a way to divide up a single disk into multiple volumes (partitions) for different uses. While the idea is similar, computer platforms over the ages have done this in a variety of different ways, with varying formats on disk, and varying limitations. The ones that you&#8217;re most likely to be familiar with are the MBR partitioning scheme (from the IBM PC), and the GPT partitioning scheme (common for UEFI systems such as the modern PC and Mac). One you&#8217;re less likely to be familiar with is the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apple_Partition_Map\">Apple Partition Map<\/a> scheme.<\/p>\n\n\n\n<p>The way all IBM PCs and compatibles worked from the introduction of MS-DOS 2.0 in 1983 until some time after 2005 was the <a href=\"https:\/\/en.wikipedia.org\/wiki\/Master_boot_record\">Master Boot Record<\/a> partitioning scheme. It was outrageously simple: of the first 512 byte sector of a disk, the first 446 bytes was for the bootstrapping code (the &#8220;boot sector&#8221;), the last 2 bytes were for the magic two bytes telling the BIOS this disk was bootable, and the other 64 bytes were four entries of 16 bytes, each describing a disk partition. The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Master_boot_record\">Wikipedia page<\/a> is a good overview of what it all looks like. Since &#8220;four partitions should be enough for anybody&#8221; wasn&#8217;t going to last, DOS 3.2 introduced &#8220;extended partitions&#8221; which was just using one of those 4 partitions as another similar data structure that could point to more partitions.<\/p>\n\n\n\n<p>In the 1980s (similar to today), the Macintosh was, of course, different. The <a href=\"https:\/\/en.wikipedia.org\/wiki\/Apple_Partition_Map\">Apple Partition Map<\/a> is significantly more flexible than the MBR on PCs. For a start, you could have more than four partitions! You could actually have a <strong>lot<\/strong> more than four partitions, as the Apple Partition Map is a single 512-byte sector for each partition, and the partition map is itself a partition. Instead of being block 0 (like the MBR is), it actually starts at block 1, and is contiguous (The Driver Descriptor Record is what&#8217;s at block 0). So, once created, it&#8217;s hard to extend. Typically it&#8217;d be created as 64&#215;512-byte entries, for 32kb&#8230; which turns out is actually about enough for anyone.<\/p>\n\n\n\n<p>The Inside Macintosh reference on the <a href=\"http:\/\/mirror.informatimago.com\/next\/developer.apple.com\/documentation\/mac\/pdf\/Devices\/SCSI_Manager.pdf\">SCSI Manager<\/a> goes through more detail as to these structures. If you&#8217;re wondering what language all the coding examples are in, it&#8217;s Pascal &#8211; which was fairly popular for writing Macintosh applications in back in the day.<\/p>\n\n\n\n<p>But the actual partition map isn&#8217;t the <strong>&#8220;interesting&#8221;<\/strong> part of all this (and yes, the quotation marks are significant here), because Macs are pretty darn finicky about what disks to boot off, which gets to be interesting if you&#8217;re trying to find a CD-ROM image on the internet from which to boot, and then use to install an Operating System from.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>I &#8220;recently&#8221; wrote about obtaining a new (to me, actually quite old) computer over in The Apple Power Macintosh 7200\/120 PC Compatible (Part 1). This post is a bit of a detour, but may help others understand why some images &hellip; <a href=\"https:\/\/www.flamingspork.com\/blog\/2022\/02\/02\/adventures-in-the-apple-partition-map-part-2-of-the-continuing-adventures-with-the-apple-power-macintosh-7200-120-pc-compatible\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[1],"tags":[],"class_list":["post-4793","post","type-post","status-publish","format-standard","hentry","category-general"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p5a6n8-1fj","jetpack-related-posts":[{"id":4780,"url":"https:\/\/www.flamingspork.com\/blog\/2021\/03\/20\/the-apple-power-macintosh-7200-120-pc-compatible-part-1\/","url_meta":{"origin":4793,"position":0},"title":"The Apple Power Macintosh 7200\/120 PC Compatible (Part 1)","author":"Stewart Smith","date":"2021-03-20","format":false,"excerpt":"So, I learned something recently: if you pick up your iPhone with eBay open on an auction bid screen in just the right way, you may accidentally click the bid button and end up buying an old computer. Totally not the worst thing ever, and certainly a creative way to\u2026","rel":"","context":"In &quot;powerpc&quot;","block_context":{"text":"powerpc","link":"https:\/\/www.flamingspork.com\/blog\/category\/powerpc\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=700%2C400 2x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=1050%2C600 3x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2021\/03\/IMG_2035-scaled.jpg?resize=1400%2C800 4x"},"classes":[]},{"id":3298,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/04\/19\/detecting-if-a-mysql-server-supports-partitioning\/","url_meta":{"origin":4793,"position":1},"title":"Detecting if a MySQL server supports partitioning","author":"Stewart Smith","date":"2013-04-19","format":false,"excerpt":"This morning, this Percona XtraBackup bug came to my attention:\u00c2\u00a0https:\/\/bugs.launchpad.net\/bugs\/1170340\u00c2\u00a0- basically, it's now really quite tricky to determine if a MySQL server you're connected to supports partitioning or not. If you're connected to anything less than MySQL 5.6, you can use have_partitioning variable. But since that's gone in 5.6, you're\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4592,"url":"https:\/\/www.flamingspork.com\/blog\/2020\/05\/22\/refurbishing-my-macintosh-plus\/","url_meta":{"origin":4793,"position":2},"title":"Refurbishing my Macintosh Plus","author":"Stewart Smith","date":"2020-05-22","format":false,"excerpt":"Somewhere in the mid to late 1990s I picked myself up a Macintosh Plus for the sum of $60AUD. At that time there were still computer Swap Meets where old and interesting equipment was around, so I headed over to one at some point (at the St Kilda Town Hall\u2026","rel":"","context":"In &quot;cool gadgets&quot;","block_context":{"text":"cool gadgets","link":"https:\/\/www.flamingspork.com\/blog\/category\/cool-gadgets\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=350%2C200 1x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=700%2C400 2x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=1050%2C600 3x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2020\/05\/IMG_5260-scaled.jpg?resize=1400%2C800 4x"},"classes":[]},{"id":632,"url":"https:\/\/www.flamingspork.com\/blog\/2006\/04\/01\/getting-rid-of-duplicate-emails-elegantly\/","url_meta":{"origin":4793,"position":3},"title":"getting rid of duplicate emails, elegantly","author":"Stewart Smith","date":"2006-04-01","format":false,"excerpt":"I like duplicate emails in the way that everybody is thinking. This is different. Due to a bug in offlineimap i hit a little while ago, it's managed to make copies (sometimes even two copies) of each email in certain folders. Now, this isn't so bad as a) email didn't\u2026","rel":"","context":"In &quot;mysql&quot;","block_context":{"text":"mysql","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/mysql\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":3295,"url":"https:\/\/www.flamingspork.com\/blog\/2013\/04\/19\/the-merge-storage-engine-not-dead-just-resting-or-forgotten\/","url_meta":{"origin":4793,"position":4},"title":"The MERGE storage engine: not dead, just resting&#8230;. or forgotten.","author":"Stewart Smith","date":"2013-04-19","format":false,"excerpt":"Following on from my fun post on Where are they now: MySQL Storage Engines, I thought I'd cover the few storage engines that are really just interfaces to a collection of things. In this post, I'm talking about MERGE. The MERGE engine was basically a multiplexer down to a number\u2026","rel":"","context":"In &quot;drizzle&quot;","block_context":{"text":"drizzle","link":"https:\/\/www.flamingspork.com\/blog\/category\/work-et-al\/drizzle-work-et-al\/"},"img":{"alt_text":"","src":"","width":0,"height":0},"classes":[]},{"id":4210,"url":"https:\/\/www.flamingspork.com\/blog\/2016\/10\/30\/failed-retro-emulation-attempts\/","url_meta":{"origin":4793,"position":5},"title":"Failed Retro emulation attempts","author":"Stewart Smith","date":"2016-10-30","format":false,"excerpt":"For reasons that should escape everybody, I went back and looked at some old Operating Systems a little while ago: OS\/2 Warp, Windows 3.11 and Microsoft Chicago. So, I went on a little adventure this weekend, largely in failure though. Windows NT 3.51 This was the first version (err... no,\u2026","rel":"","context":"In &quot;General&quot;","block_context":{"text":"General","link":"https:\/\/www.flamingspork.com\/blog\/category\/general\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2016\/10\/Screenshot_rhapsodyDR2_2016-10-29_172143.png?resize=350%2C200&ssl=1","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2016\/10\/Screenshot_rhapsodyDR2_2016-10-29_172143.png?resize=350%2C200&ssl=1 1x, https:\/\/i0.wp.com\/www.flamingspork.com\/blog\/wp-content\/uploads\/2016\/10\/Screenshot_rhapsodyDR2_2016-10-29_172143.png?resize=525%2C300&ssl=1 1.5x"},"classes":[]}],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4793","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/comments?post=4793"}],"version-history":[{"count":1,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4793\/revisions"}],"predecessor-version":[{"id":4831,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/posts\/4793\/revisions\/4831"}],"wp:attachment":[{"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/media?parent=4793"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/categories?post=4793"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.flamingspork.com\/blog\/wp-json\/wp\/v2\/tags?post=4793"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}