Author Topic: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers  (Read 25112 times)

Offline Knezzen

  • Platinum Member
  • *****
  • Posts: 723
  • Pro Tools addict!
    • Macintosh Garden
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #150 on: June 14, 2017, 11:44:35 PM »
This is a bit off topic to the thread, but near the mods of the ROM to get the Xserve booting without the hacking.

I would love to see the "OS9 Helper" patches applied as well, so Old World machines could benefit of the universal Mac OS 9.2.2 install.
This would make it truly universal. I'm going through the 9.1 to 9.2.1 to 9.2.2 upgrade procedure myself right now and would love to have something on hand that just works on my PowerBook G3 Kanga and PowerMac 9500 (with a Sonnet G3 upgrade).

Offline MacOS Plus

  • Gold Member
  • *****
  • Posts: 306
  • The 9serve Lives!
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #151 on: June 15, 2017, 09:24:10 AM »
  One thing I was never certain of - are the modifications applied by OS9 Helper specific to the particular target machine?  I thought that was why you had to process the changes to the Mac OS updaters locally on the target machine.  Also, do these modifications then break compatibility with other machine versions?

  Also mildly off-topic but potentially somewhat related to your request, I wonder if any of the extensive notes on the following webpage would be of use in creating as stable and widely compatible a system as possible?

http://www.sunrisepage.com/computers/macclassic/macos9.htm

  Even the "hybrid" section might yield some useful information.  (I'm not suggesting we automatically take big steps backwards, just consider what works best and avoids file corruption.)

Offline DieHard

  • Administrator
  • Platinum Member
  • *****
  • Posts: 1281
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #152 on: June 15, 2017, 09:36:08 AM »
 
  Also mildly off-topic but potentially somewhat related to your request, I wonder if any of the extensive notes on the following webpage would be of use in creating as stable and widely compatible a system as possible?

http://www.sunrisepage.com/computers/macclassic/macos9.htm


We have gone over that paper many times... most of it is not applicable, some of it is flawed, however, increasing the memory of the finder is a great suggestion... I thing we have some old threads breaking it down

Offline Knezzen

  • Platinum Member
  • *****
  • Posts: 723
  • Pro Tools addict!
    • Macintosh Garden
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #153 on: June 15, 2017, 09:56:34 AM »
One thing I was never certain of - are the modifications applied by OS9 Helper specific to the particular target machine?  I thought that was why you had to process the changes to the Mac OS updaters locally on the target machine.  Also, do these modifications then break compatibility with other machine versions?

I'm pretty sure it's not machine specific more than that there are different "patches" for NuBus and PCI Old World machines.
When you run OS9 Helper you get to choose if you're installing on a NuBus or PCI PowerMac, so I think they somehow needs to be patched differently. I don't have anything that boots 9.2.2 that isn't the last OS9 capable machine (needing special versions, like the MDD), or unsupported and needs OS9 helper (like the Kanga and 9500). So if anyone has an early TiBook or Pismo that can boot with the original 9.2.2 ROM, I can post the pached files on my Kanga so you can see if it works. If is does, we should incorporate the (PCI) patches to the "universal" Mac OS 9.2.2. I don't think there's any need to incorporate the NuBus patches and I think they are incompatible with the PCI paches since you choose what kind of machine you have (see screenshot).

I think this would be a great addition if any Mac with a PowerPC processor and PCI slots could boot the universal 9.2.2.

About OS9 Helper from the Readme file:
Quote
On the day that Apple released the 9.2.1 update, I posted a messaged to a Macfixit Forum thread asking for anybody who was willing to help work on a crack for this. Scott emailed me back and we stayed up most of the night hacking away with ResEdit and MacsBug. After exchanging 15 or so emails, we had it mostly narrowed down to 3 resources that needed to be added/modified for 9.2.1 to work. Scott nailed the breakthough the next morning, and we were finally able to get 9.2.1 to boot on our Powersurge machines. Hastily, we posted the patch with little testing. It soon became apparent that more work was needed, as drag and drop support was not enabled. A few days later Scott and I narrowed it down to an obscure line of hex that was in a diffent physical address location than it was in 9.1, and the problem was solved. Soon thereafter I returned to college, and Scott faded away as well. But faithful forum posters kby, kenny, and the Toz took up the slack and began making more and more improvements to the patch. They have pretty much done the bulk of the patch work since 9.2.2 was released, and an excellent job they have done. After a while, I got sick of the patch method and decided to make this a little bit more commercially viable and easier to understand. Thus OS9 Helper was born. Over the next year or so I hope to evolve the utility to have more and more functionality.


Offline MacOS Plus

  • Gold Member
  • *****
  • Posts: 306
  • The 9serve Lives!
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #154 on: June 15, 2017, 10:05:58 AM »
  Okay, cool.  I'd read that many years ago but it only came to mind now because it came up coincidently from a web search I was doing related to OS9 Helper.  I figured some of it was a bit nuts.  Glad to hear it's been read over by the members though for any useful tidbits.  I agree increasing the default memory allocation to the Finder is a good idea, although the same could be said for many of the third-party apps too.  Most users intending to carry on with OS 9 today likely have plenty of RAM available, certainly considering our recent 'gain'. ;)

Offline DieHard

  • Administrator
  • Platinum Member
  • *****
  • Posts: 1281
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #155 on: June 15, 2017, 12:07:17 PM »
  I agree increasing the default memory allocation to the Finder is a good idea, although the same could be said for many of the third-party apps too.  Most users intending to carry on with OS 9 today likely have plenty of RAM available, certainly considering our recent 'gain'. ;)

Yes, but the difference being that you cannot simply "CMD-I" and change the memory, you need to resedit the finder, maybe mactron, can attach a modified one for newbies

Offline Daniel

  • Consistant Contributor
  • ***
  • Posts: 85
  • new to the forums
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #156 on: June 15, 2017, 01:29:58 PM »
The OS9 Helper patches probably are for the System Suitcase rather than the Mac OS ROM file. As far as I know, there are no projects that have reverse-engineered the System Suitcase anywhere near as much as the Mac OS ROM file is disassembled (if there are any projects to understand the Suitcase at all). Sometime after we get the full 2 GB working without side effects we should create a CDG5 for the System Suitcase.

Offline MacTron

  • Global Moderator
  • Platinum Member
  • *****
  • Posts: 1942
  • keep it simple
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #157 on: June 15, 2017, 01:43:49 PM »
The OS9 Helper patches probably are for the System Suitcase rather than the Mac OS ROM file.
That's true. The OS9 Helper basically restore some drivers and resources from 9.1, that were deliberately removed from Mac Os 9.2 to disable the 9.2 boot into OldWorld macs.

... maybe mactron, can attach a modified one for newbies

I can attach a couple of resources that should be pasted with ResEdit into System and Finder files... that's all :)

But both topics should be splitted from this thread. IMHO  :)
Please don't PM about things that are not private.

Offline macStuff

  • Silver Member
  • ****
  • Posts: 243
  • New Member
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #158 on: August 07, 2017, 02:07:39 PM »
  On a related note, have you seen how freaking dirt-cheap PC133 512MB DIMMs are on eBay now?!?  I just bought 16 of them for USD $3.49 a piece and free shipping direct from China. 

wow that is news to me! that is almost free! can you share the sellers name?? :)

is there anyway of benchmarking specific ram chips ?
i mean to literally test the ram? not just if it works correctly,
but also to test the speed? i know theres different nanosecond times associated with ram?
ie: you could have a few peices of the same rating/size (pc133, 512mb for example)
but some from a specific manufacturer or even a specific batch of chips may perform better? is there anyway to benchmark specific peices of ram?

Offline MacOS Plus

  • Gold Member
  • *****
  • Posts: 306
  • The 9serve Lives!
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #159 on: August 09, 2017, 02:21:03 PM »
  On a related note, have you seen how freaking dirt-cheap PC133 512MB DIMMs are on eBay now?!?  I just bought 16 of them for USD $3.49 a piece and free shipping direct from China. 

wow that is news to me! that is almost free! can you share the sellers name?? :)

is there anyway of benchmarking specific ram chips ?
i mean to literally test the ram? not just if it works correctly,
but also to test the speed? i know theres different nanosecond times associated with ram?
ie: you could have a few peices of the same rating/size (pc133, 512mb for example)
but some from a specific manufacturer or even a specific batch of chips may perform better? is there anyway to benchmark specific peices of ram?

  There are many different eBay sellers with this RAM at very low cost.  (The seller's name was "access-market".)  I should note that I never received my shipment because the package got destroyed in transit due to a vehicle accident.  I was fully refunded however.  I did get a different shipment of DDR RAM though.  It was almost as cheap.  That seller's name was "ssffkeep".  As expected, the super-picky G4 MDDs and Xserves rejected some of the sticks even though they were all identical - 5 out of 20 sticks.  It cost so little, I hardly care.  The others will go in my 'not-picky' PC motherboards.

  I too would like to know of a decent RAM testing app for Mac PowerPC, OS 9 or OS X.  It would be nice to have a utility that can read the timing chips on the sticks, like is available on PC.  I'm concerned much less about performance than I am about the sticks not causing weird system behavior.  I've been able to determine that RAM was responsible for random finder crashes and system freezes on one machine even though the system never explicitly complained about problem RAM.

Offline IIO

  • Platinum Member
  • *****
  • Posts: 1582
  • new to the forums
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #160 on: August 09, 2017, 07:14:00 PM »
That's true. The OS9 Helper basically restore some drivers and resources from 9.1, that were deliberately removed from Mac Os 9.2 to disable the 9.2 boot into OldWorld macs.

shouldnt that be in our next update for the 922 universal install?
"It is true that the "pre-emptive multitasking" advantage present in OS X can be illustrated by downloading CD-ROM ISOs and rendering chaos theory formulas while simultaneously instant messaging and posting on FaceBook what you ate... but in reality, what did you create?"
- DieHard, random forum troll at macos9lives.com

Offline OS923

  • Silver Member
  • ****
  • Posts: 197
    • OS 9.2.3
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #161 on: November 17, 2017, 04:26:40 AM »
In 32-bit Windows there's a similar problem. The "lost" memory is called Invisible Memory, Hidden Memory or Unmanaged Memory. There are several programs for Windows which can use this lost memory as a disk cache or RAM disk. This is probably also possible in OS 9 (as a device driver and there's an open source example from Apple). Normal programs would not be able to access this memory. www.romexsoftware.com has a programming interface for this lost memory. All programs which use this programming interface may be running at the same time. That's how we would best organize this if we get it to work.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 664
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #162 on: November 17, 2017, 06:47:17 AM »
In 32-bit Windows there's a similar problem. The "lost" memory is called Invisible Memory, Hidden Memory or Unmanaged Memory. There are several programs for Windows which can use this lost memory as a disk cache or RAM disk. This is probably also possible in OS 9 (as a device driver and there's an open source example from Apple). Normal programs would not be able to access this memory. www.romexsoftware.com has a programming interface for this lost memory. All programs which use this programming interface may be running at the same time. That's how we would best organize this if we get it to work.


From all the work we have done so far, these solutions won't work.
Kernel and Trampoline first have to be patched.  The trampoline has to tell the kernel that it can use 2 GB of RAM, but it has to lock the space used by the emulator.  The kernel will have to be modified to map the physical RAM to virtual RAM addresses.  There are system calls to ask to get into a mode where you can use the physical address, which is used by hardware drivers.  Virtual memory address still has to exist though so that the call can ask for the physical address of a specific virtual address.  There is no virtual address for the missing RAM.
It is possible to bypass the memory manager and use any memory you want as long as it has a virtual address.

One thing to keep in mind.  Apple shipped computers that officially support 2 GB of RAM that were released before OS X was available.
Now because X was just around the corner you could argue that they didn't put any effort into fixing it.  8.6 shipped with the G4 AGP.  That supported 2 GB.   OS X didn't become available until about 2 years later. So OS 9 came next.  Problem still not resolved.  It was probably a significant undertaking so they waited for OS X (stupid fucking idea if you ask me). Did people ever complain about being limited by this barrier?  I would think that Apple would have tried to resolve this so that the customer wouldn't get incredibly pissed off. I would think that they would at least make some level of effort to make the full RAM available. But it's Apple, they make a lot of completely bat shit crazy ideas (well I think they do).

Not sure where that was going.  Point being, it's possible to get it back.  How is the first question. Stability is the next.  We still don't know how much we would have to patch yet to make everything stable, even if using it as a RAM disk.  Kernel, Memory Manager, Process Manager and Trampoline are all going to need some level of patching to make this work before we can even tackle the stability issue.
An extension/driver will not solve this.  If you think it will, you're more than welcome to write one.

If it ain't broke, don't fix it, or break it so you can fix it!

Offline OS923

  • Silver Member
  • ****
  • Posts: 197
    • OS 9.2.3
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #163 on: November 24, 2017, 05:57:01 AM »
It wouldn't require patching all these difficult things like Kernel, Memory Manager, Process Manager and Trampoline. Therefore, it has most chance of success. If they solved it this way on Windows, then I presume that patches were too difficult to get it right under all circumstances. A RAM-disk or cache is then better than nothing.

Offline Daniel

  • Consistant Contributor
  • ***
  • Posts: 85
  • new to the forums
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #164 on: November 24, 2017, 08:22:34 AM »
We would need to be able to patch the Process Manager and be able to mess with the data structures of the Memory Manager. The method I consider most likely to work is to use NanoKernel calls to map in the unused memory in one contiguous area somewhere. If we just want a ram disk, we are pretty much done here. If we want it to be usable memory, we have a much harder time. We could try to extend to Process Manager's heap out to the new memory, but there is a bunch of other stuff in between them that we can't move. We would have to patch the process manager so that it doesn't use the big hole in the middle of its heap. If we want a single application to use all the memory, as MacTron wants, we additionally have to stick a non-relocatable block in the application heap that goes around the memory hole. That way, the memory manager doesn't try to use the part of the application heap that isn't actually part of the application heap.

The good news is that the process manager is one of the last things to start up in the boot process and it is loaded from a resource. It is definitely possible to make an extension that does some NK calls and overrides a resource. That doesn't mean it will be easy, but it can be done.

Offline nanopico

  • Moderator
  • Platinum Member
  • *****
  • Posts: 664
Re: Mac OS 9.2.2 Memory Limit of 1.5 GB... Some Answers
« Reply #165 on: November 29, 2017, 01:42:45 PM »
We would need to be able to patch the Process Manager and be able to mess with the data structures of the Memory Manager. The method I consider most likely to work is to use NanoKernel calls to map in the unused memory in one contiguous area somewhere. If we just want a ram disk, we are pretty much done here. If we want it to be usable memory, we have a much harder time. We could try to extend to Process Manager's heap out to the new memory, but there is a bunch of other stuff in between them that we can't move. We would have to patch the process manager so that it doesn't use the big hole in the middle of its heap. If we want a single application to use all the memory, as MacTron wants, we additionally have to stick a non-relocatable block in the application heap that goes around the memory hole. That way, the memory manager doesn't try to use the part of the application heap that isn't actually part of the application heap.

The good news is that the process manager is one of the last things to start up in the boot process and it is loaded from a resource. It is definitely possible to make an extension that does some NK calls and overrides a resource. That doesn't mean it will be easy, but it can be done.

Moving the Process Manager heap and informing of a non-relocatable block is one idea I had a while back.  Not sure if it was discussed here or not. The memory manager works so tightly with the Process Manager that there is likely a patch to that as well.  An extension will be the best bet as you are correct that the Process Manager is one of the last things started prior to the finder.  From everything I have read, the Memory Manager is what starts the Process Manager.  This is the reason I say the Memory Manager would need patching.  It would have to know to load the Process Manager heap higher and set the block it can't use.

If it ain't broke, don't fix it, or break it so you can fix it!