[Coco] MultiBoot - multiple boot files on one disk (can someone dis-asm this for me?)
L. Curtis Boyle
curtisboyle at sasktel.net
Mon Mar 3 21:40:23 EST 2025
We have a similar utility in EOU (SwapBoot), but it is more for hard drive systems. It lets one specify boot “sets”, so that each boot has it’s own 1) OS9Boot, 2) SYS/env.file, 3) startup file. That way you can easily set up color themes, or monitor types, or whatever else (the env.file has a lot of extra things added to it as well, and EOU’s SysGo parses a lot more of these).
I use KUTIL (Bruce Isted, I believe) to swap kernel tracks if needed.
> On Mar 3, 2025, at 5:27 PM, Allen Huffman via Coco <coco at maltedmedia.com> wrote:
>
> One of out utilities I was most proud of was MultiBoot. “Back in the day” when you had different boot floppies (for the BBS with those drives, for the hard drive, for the Sierra games, etc.) Terry and I came up with an idea of swapping the os9boot file out dynamically. MultiBoot was the result. Type “DOS” and a menu comes up showing the boot files on the disk. Select one and go. One disk, multiple boot files (up to 16, space permitting, if I recall).
>
> Terry wrote the RS-DOS portion that lives on the “DOS” track, and the code it ran from there, and I wrote the OS-9 frontend. You’d point it to a disk with multiple os9boot files and add the ones you wanted.
>
> Unfortunately, I do not have Terry’s assembly source — but I do have the data that made it up:
>
> char mb_sec34_1[] = { /* Terry's RS-DOS DOS startup code... 50 bytes */
> 79,83,134,13,151,211,204,56,0,221,209,12,211,142,0,234,204,2,0,237,132,
> 134,33,214,211,237,2,220,209,237,4,173,159,192,4,109,6,38,8,76,129,61,37,
> 221,126,57,0,126,215,9
> };
>
> char mb_sec33_15[] = { /* Terry's RS-DOS MultiBoot code V1.12... 512 Bytes */
> 142,56,0,16,142,38,0,236,129,237,161,140,57,0,37,247,23,1,152,23,1,171,
> 32,32,32,32,32,32,32,32,77,117,108,116,105,66,111,111,116,32,86,49,46,49,
> 50,13,32,98,121,32,84,101,114,114,121,32,84,111,100,100,32,38,32,65,108,
> 108,101,110,32,72,117,102,102,109,97,110,13,32,32,32,32,32,67,111,112,121,
> 114,105,103,104,116,32,40,67,41,32,49,57,57,51,32,98,121,13,32,32,32,32,
> 32,32,32,83,117,98,45,69,116,104,97,32,83,111,102,116,119,97,114,101,13,
> 0,16,142,5,192,16,159,136,23,1,53,32,32,32,32,32,85,115,101,32,85,80,47,
> 68,79,87,78,32,116,111,32,115,99,114,111,108,108,13,91,69,78,84,69,82,93,
> 32,83,101,108,101,99,116,115,32,32,32,91,66,82,69,65,75,93,32,81,117,105,
> 116,115,0,246,58,235,23,1,16,206,4,164,246,58,255,16,39,0,209,240,58,235,
> 193,8,37,2,198,8,52,20,223,136,189,58,208,53,20,48,136,32,51,200,32,90,
> 38,238,182,58,234,176,58,235,198,32,61,195,4,163,31,1,134,106,167,132,16,
> 190,58,253,49,63,38,5,50,98,22,0,151,173,159,160,0,39,241,198,96,231,132,
> 198,255,129,94,39,17,129,10,39,36,129,13,39,62,129,3,38,197,15,113,126,
> 140,27,182,58,234,39,187,247,1,85,74,183,58,234,177,58,235,36,3,122,58,
> 235,22,255,126,182,58,234,76,177,58,255,36,160,247,1,86,183,58,234,182,
> 58,235,139,7,177,58,234,36,228,124,58,235,32,223,246,58,234,92,141,112,
> 48,27,52,16,142,0,234,204,2,0,237,132,204,0,1,237,2,204,1,218,237,4,173,
> 159,192,4,109,6,38,79,16,174,4,49,168,21,53,64,198,5,166,192,167,160,90,
> 38,249,134,3,167,132,173,159,192,4,109,6,38,50,126,38,2,134,87,183,149,
> 201,134,16,183,255,34,204,63,0,253,255,188,189,246,82,126,169,40,174,228,
> 166,128,39,6,173,159,160,2,32,246,175,228,57,166,128,39,251,173,159,160,
> 2,32,246,126,215,9,142,59,0,93,39,236,48,136,32,90,38,250,57,0,0,0,0,0,
> 0,0,0,0,0,0,0,0,0,0,0,0,0,0,66,66,0
> };
>
> Is there anyone out there who might do me a favor of turning this back into the assembly? I’d like to include it with the GitHub repo I am putting together of all the Sub-Etha Software stuff.
>
> --
> Allen Huffman - PO Box 7634 - Urbandale IA 50323 - 515-999-0227 (vmail/TXT only)
> http://www.subethasoftware.com - https://www.facebook.com/subethasoftware
>
>
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>
More information about the Coco
mailing list