9

My AmigaOS should have more Chip RAM available to use than it reports (only 800 kB). Is there a way to find what is sitting in Chip RAM and how to move it to Fast RAM instead?

4
  • 1
    I was going to ask about your configuration, but I think a general answer is more useful.
    – pipe
    May 29 at 15:37
  • 1
    Have you browsed through the SysInfo screen?
    – Brian H
    May 29 at 19:56
  • 1
    chipram is explicitly required for peripherals like disk drives for instance (buffers). Disconnecting an external floppy drive can save chipmem. By default, programs allocate in non-chip (aka fastmem). Broken programs could allocate chipmem when fastmem would do, but very unlikely in your boot. I suggest that you post your OS version, your startup sequence, and also which periperals are connected. Plus why do you need that chipram for? games? May 30 at 7:02
  • Although I couldn't find such a option on them (but not searched very hard) I'd suggest Scout and Executive to find more on what's running on the OS. Scout is pretty straight forward - depends on MUI; Executive needs to start its own server first, then its utils can run, among them a top app (like UNIX top), commander and many others.
    – Krackout
    May 30 at 9:15
6

Well written programs aren't going to use chip memory instead of other (fast) memory.

I know about CD32 games that allocate a big block of chipmem so they can stuff all audio/copper data and other data in one single hunk but workbench programs don't do that, so I'd drop the "move chip ram to fast ram" idea completely.

However, it's possible to prevent too much chipmem to be allocated in the first place

  • Floppy drives and peripherals that have DMA access in general use chip memory. If you have more than 1 floppy drive connected, disconnect them.
  • Bitplanes are costly: reduce the number of colors of your workbench
  • Analyse your startup sequence for "exotic" programs that could be badly written and allocate chipmem where fastmem would be okay, and disable them if not needed. See what happens.

Or: boot with a minimal/conditional startup (for instance detect a mouse button pressed and proceed to a minimal startup sequence if you can't/don't want to use "boot without startup"). Then you can use a few hacks to save a few kilobytes, like "add21k", "add36k" commands. The add21k command frees workbench bitplanes. it's a hack, though

However, I suspect that you need a lot of chipmem to run games that require a lot of chipmem, so there's a killer way to "move chipmem to fastmem": it's whdload (JST, which I have written, is an alternative for kickstart 1.3).

whdload can boot a game that requires a lot of chipmem on a system that uses already too much chipmem to boot that game. It does that by killing the system (but saving its memory in fastmem), running the game with full chipmem available (1MB in your case) and restores the system memory on exit.

Of course the particular game & version needs to be supported by a whdload "slave". But there's a lot of them already done. Besides, whdload is able to install a virtual system (kickstart 1.3 and 3.1) so games using the operating system, and which required booting without startup sequence to maximize chipmem can run from workbench. You just need a good amount of fast memory to run them (4MB is good, 8MB is optimal for most games).

2
  • A huge round of applause for the fantastic work on WHDLoad, it makes life so much easier. The problem I have is that I can't play Time Gal. Now a thought came to my mind, when I was setting up Python 2.4 I had to experiment with stack size and set it to 65536. Is that the missing memory? May 30 at 22:27
  • 1
    no stack size would not use chipmem. May 31 at 17:28

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.