General Category > Building LOS From Source

I've successfully built LOS from source!

<< < (5/12) > >>

AlexTheCat123:
Thank you all!


--- Quote from: sigma7 on June 23, 2025, 04:48:21 pm ---I suggest we add a new board/area for this topic eg. "LOS Source" or "Building LOS from Source" or something else suitable of your choice.

--- End quote ---

Good idea, I like "Building LOS From Source" but anything to that effect would be great!


--- Quote from: danm on June 23, 2025, 04:52:23 pm ---Does Al Kossow know about your (amazing, inspiring) work? I know at one point he was complaining that he did a ton of work to get the Lisa OS source released, and then it seemed like no one did anything with it. I think he would be very happy to hear that situation has been rectified!

--- End quote ---

No idea if he does or not, but he is a member on this forum, so he's almost certain to find out eventually. Al, if you're reading this, then I'd love to hear your thoughts!


--- Quote from: stepleton on June 23, 2025, 07:13:17 pm ---Congratulations again --- I wish the video had been twice the length! You really had to figure out puzzle after puzzle to get this thing to build. I'd love to hear more about some of the fixes mentioned in the talk, particularly the Y1.995K problem fix, but this can all come in good time.

--- End quote ---

Yeah, I wish we had more time for the presentation; fitting it all into an hour and a half was a massive challenge. It was indeed puzzle after puzzle, and I omitted many of the finer details and smaller problems I encountered for the sake of time.

The good news is that I was capturing video from the Lisa throughout the entire process using an RGBtoHDMI and narrating things as I went, so I'm hoping to edit down the over 1000 hours of footage into a series of YouTube videos that document the process as it occurred in real time. Hopefully it's not too boring given that it would include every single little thing that I did along the way, but at least everything would be fully and thoroughly documented!

Al Kossow:
i'm searching for packseg right now.

---

well, after several hours I realized it is a tool in the workshop, and the workshop wasn't included in the binder with the source disks
and I suspect all of the copies of workshop that have been found were from the Mac dev environment which didn't include it :-(

the right version of the workshop pre Mac used for building Lisa is incredibly difficult to find.

AlexTheCat123:

--- Quote from: Al Kossow on June 24, 2025, 02:51:22 am ---i'm searching for packseg right now.

---

well, after several hours I realized it is a tool in the workshop, and the workshop wasn't included in the binder with the source disks
and I suspect all of the copies of workshop that have been found were from the Mac dev environment which didn't include it :-(

the right version of the workshop pre Mac used for building Lisa is incredibly difficult to find.



--- End quote ---

Thanks for searching, hopefully you eventually run across a copy! It's a shame that the pre-Mac version of the Workshop is so hard to find. But I take this to mean that you do actually have the source code to some version of the Workshop at the very least?

stepleton:

--- Quote from: AlexTheCat123 on June 24, 2025, 11:19:04 am ---Thanks for searching, hopefully you eventually run across a copy! It's a shame that the pre-Mac version of the Workshop is so hard to find. But I take this to mean that you do actually have the source code to some version of the Workshop at the very least?

--- End quote ---

I interpreted it as: the binary workshop distribution used to compile the Office System is hard to find or to recreate.

This said, I had a look at LISA_OS/OS/source-UNPACK.TEXT.unix.txt, and while it has a lot of buffer juggling going on (and although I'm not certain that this is the correct file), the algorithm there does not strike me as being very complicated. I think it works something like this:


--- Code: ---Loop until finished:
   Load a "flag byte" from the compressed input
   For each bit in the flag byte:
      If the bit is empty:
         Copy two bytes from the compressed input to the decompressed output
      If the bit is set:
         Load one byte from the compressed input
         Use that byte as an index into a table of "common" two-byte words
         Copy the word at that index to the decompressed output

--- End code ---

There is some accommodation for if the decompressed data is not made of an even number of bytes, plus the buffer juggling I mentioned. I'm probably missing things. Still, I think it might be possible to write a PACKSEG of our own. Note that PACKSEG will probably need to have access to (or will need to create) a file holding the "common word" table; the scripts in the source code appear to call this file packtable.lib.

AlexTheCat123:

--- Quote from: stepleton on June 24, 2025, 02:14:39 pm ---I interpreted it as: the binary workshop distribution used to compile the Office System is hard to find or to recreate.

--- End quote ---

I think you're right; I just interpreted it wrong.


--- Quote from: stepleton on June 24, 2025, 02:14:39 pm ---This said, I had a look at LISA_OS/OS/source-UNPACK.TEXT.unix.txt, and while it has a lot of buffer juggling going on (and although I'm not certain that this is the correct file), the algorithm there does not strike me as being very complicated. I think it works something like this:


--- Code: ---Loop until finished:
   Load a "flag byte" from the compressed input
   For each bit in the flag byte:
      If the bit is empty:
         Copy two bytes from the compressed input to the decompressed output
      If the bit is set:
         Load one byte from the compressed input
         Use that byte as an index into a table of "common" two-byte words
         Copy the word at that index to the decompressed output

--- End code ---

There is some accommodation for if the decompressed data is not made of an even number of bytes, plus the buffer juggling I mentioned. I'm probably missing things. Still, I think it might be possible to write a PACKSEG of our own. Note that PACKSEG will probably need to have access to (or will need to create) a file holding the "common word" table; the scripts in the source code appear to call this file packtable.lib.

--- End quote ---

I thought about doing this, I just decided against it for the time being since I was already in a massive time crunch to get things done in time for VCF anyway. But you're right, that's a pretty simple algorithm to implement!

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version