English Amiga Board


Go Back   English Amiga Board > Coders > Coders. Asm / Hardware

 
 
Thread Tools
Old 12 January 2024, 16:19   #1
Brick Nash
Prototron
 
Brick Nash's Avatar
 
Join Date: Mar 2015
Location: Glasgow, Scotland
Posts: 411
Question about Slow Mem

I noticed today that I had 512KB of SlowMem set in WinUAE. Don't know why I missed it, but there it is. My real Amiga doesn't have any SlowMem, but I noticed that when I removed it in WinUAE I also lose about 200KB of Graphics Mem.

Just Wondering what's happening there?

I'm wondering if the SlowMem is being used by the OS which is freeing up ChipMem when it's available?

Thanks.
Brick Nash is offline  
Old 12 January 2024, 16:32   #2
Ernst Blofeld
<optimized out>
 
Ernst Blofeld's Avatar
 
Join Date: Sep 2020
Location: <optimized out>
Posts: 321
The OS will generally only use chip memory for stuff that the custom chips need to access. If fast memory is available it will prefer that, as it's, well, faster, but if no fast memory is available, then it will use slow memory. If no fast or slow memory is used, it will use chip memory. Remember that fast memory is faster because it's only accessed by the CPU, chip memory can be accessed by the CPU and the custom chips, and slow memory shares the same set up as chip memory, which is why it can become chip memory if you have the right versions of the custom chips.

Maybe someone can explain it simpler than that, but it shouldn't be more complex.

Edit: Unless you're using an OS version that doesn't know the difference between slow and fast memory? Is there such a thing?
Ernst Blofeld is offline  
Old 12 January 2024, 16:43   #3
Brick Nash
Prototron
 
Brick Nash's Avatar
 
Join Date: Mar 2015
Location: Glasgow, Scotland
Posts: 411
Thanks for the reply. That clears it up.

There's no fast memory available, so it probably just uses the slow when it's there. Bit of a bastard, because as I said my real Amiga 600 doesn't have any Fast or Slow, so I lost 200K of Chipmem that I thought I had.

Will just need to learn to trash the OS I guess.
Brick Nash is offline  
Old 12 January 2024, 17:07   #4
thomas
Registered User
 
thomas's Avatar
 
Join Date: Jan 2002
Location: Germany
Posts: 7,001
The OS does not distinct Fast RAM and Slow RAM. It assigns certain attributes to memory areas and Slow is not one of them.

During allocation you can specify which attributes you need. For example Chip RAM or DMA cappable. The most common allocation uses "just any". In this case the OS chooses by priority. The highest priority memory is used first.

Chip and Slow RAM are recognised by the OS and the priorities it assigns are known. Real Fast RAM needs to be added by the expansion's firmware. As Chip and Slow priorities are known, the expansion usually chooses a higher priority so that Fast RAM is preferred.

In the age of Kick 1.2 there were utilities called FastMemFirst or SlowMemLast. You can guess what they did: they changed the priorities and thus the order in which the OS chooses memory during an allocation.
thomas is offline  
Old 12 January 2024, 17:10   #5
derSammler
Senior Member
 
Join Date: Jun 2001
Location: Germany
Posts: 1,648
Isn't "slow ram" a term made up by people anyway? Pretty sure "Ranger memory" was the correct term.
derSammler is offline  
Old 12 January 2024, 17:17   #6
Ernst Blofeld
<optimized out>
 
Ernst Blofeld's Avatar
 
Join Date: Sep 2020
Location: <optimized out>
Posts: 321
Quote:
Originally Posted by thomas View Post
The OS does not distinct Fast RAM and Slow RAM. It assigns certain attributes to memory areas and Slow is not one of them.

During allocation you can specify which attributes you need. For example Chip RAM or DMA cappable. The most common allocation uses "just any". In this case the OS chooses by priority. The highest priority memory is used first.

Chip and Slow RAM are recognised by the OS and the priorities it assigns are known. Real Fast RAM needs to be added by the expansion's firmware. As Chip and Slow priorities are known, the expansion usually chooses a higher priority so that Fast RAM is preferred.

In the age of Kick 1.2 there were utilities called FastMemFirst or SlowMemLast. You can guess what they did: they changed the priorities and thus the order in which the OS chooses memory during an allocation.
Words.

The OS priorities which memory to use first.

Older OS versions were less good at this.

There.

We all have bike sheds to paint.
Ernst Blofeld is offline  
Old 12 January 2024, 18:00   #7
Brick Nash
Prototron
 
Brick Nash's Avatar
 
Join Date: Mar 2015
Location: Glasgow, Scotland
Posts: 411
Ok, thanks for the replies.

Just wanted to know where that Graphics mem vanished to.

I had 1972864 Graphics Mem +318992 Other with 512KB SlowMem enabled in WinUae, but 1760208 Graphics Mem and 0 Other with it removed.
Brick Nash is offline  
Old 12 January 2024, 19:32   #8
Galahad/FLT
Going nowhere
 
Galahad/FLT's Avatar
 
Join Date: Oct 2001
Location: United Kingdom
Age: 50
Posts: 8,994
Quote:
Originally Posted by Brick Nash View Post
Ok, thanks for the replies.

Just wanted to know where that Graphics mem vanished to.

I had 1972864 Graphics Mem +318992 Other with 512KB SlowMem enabled in WinUae, but 1760208 Graphics Mem and 0 Other with it removed.
If slow/fast is available, AmigaDOS will use it for execbase pointer structure, libraries, and anything else that doesn't specifically need chip ram to run.

So of course if you don't have any slow/fast ram, all those AmigaDOS elements and libraries and memory lists must now be stored in chip ram.
Galahad/FLT is offline  
Old 12 January 2024, 20:52   #9
Brick Nash
Prototron
 
Brick Nash's Avatar
 
Join Date: Mar 2015
Location: Glasgow, Scotland
Posts: 411
Quote:
Originally Posted by Galahad/FLT View Post
If slow/fast is available, AmigaDOS will use it for execbase pointer structure, libraries, and anything else that doesn't specifically need chip ram to run.

So of course if you don't have any slow/fast ram, all those AmigaDOS elements and libraries and memory lists must now be stored in chip ram.
That's what I thought. Thanks for the clarification.

So it looks like I'll need to ditch using the OS to get some memory back. I'll likely need to start another thread on just how to do that, as I've no idea how.

I only use it to allocate memory and load from disk, so maybe it won't be too bad.
Brick Nash is offline  
Old 12 January 2024, 21:52   #10
redblade
Zone Friend
 
redblade's Avatar
 
Join Date: Mar 2004
Location: Middle Earth
Age: 40
Posts: 2,127
Do all the Graphics, Sound Data take up more than 1MB CHIP on your 2MB A600 when loaded?
redblade is offline  
Old 12 January 2024, 22:01   #11
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Slowmem is a term that got adopted for the internal memory expansion in the A500 specifically. It's as fast as chipmem, which on a 7MHz 68000 is 30-33% slower than (sidecar expansion) memory for large memory operations.

Like Galahad says, for any Kickstart some memory is needed for OS memory structures. All Amigas feel better with some fastmem, even in the form of slowmem, because these structures can end up there instead of ending up in the precious chipmem, which really only should have structures the chipset needs to access with DMA.

If this is for a floppy executable file release, you could try Ross's bootblock or Space Boot to maximize chipmem left at prompt. If it fits then, you won't have to recode.
Photon is offline  
Old 13 January 2024, 08:30   #12
Brick Nash
Prototron
 
Brick Nash's Avatar
 
Join Date: Mar 2015
Location: Glasgow, Scotland
Posts: 411
Quote:
Originally Posted by redblade View Post
Do all the Graphics, Sound Data take up more than 1MB CHIP on your 2MB A600 when loaded?
Yes. The assets are sizeable as is (even split into horizontal strips), but they also need flipped versions and masks. There's music and sound FX too.

Quote:
Originally Posted by Photon View Post
Slowmem is a term that got adopted for the internal memory expansion in the A500 specifically. It's as fast as chipmem, which on a 7MHz 68000 is 30-33% slower than (sidecar expansion) memory for large memory operations.

Like Galahad says, for any Kickstart some memory is needed for OS memory structures. All Amigas feel better with some fastmem, even in the form of slowmem, because these structures can end up there instead of ending up in the precious chipmem, which really only should have structures the chipset needs to access with DMA.

If this is for a floppy executable file release, you could try Ross's bootblock or Space Boot to maximize chipmem left at prompt. If it fits then, you won't have to recode.
It's for a game. Runs from floppies/adfs at the moment.

Not having to recode would be a blessing. I don't even think I'd need the full 200K back. Just a bit.
Brick Nash is offline  
 


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

Similar Threads
Thread Thread Starter Forum Replies Last Post
OS 1.3 ignore slow mem for OS libraries pipper support.AmigaOS 2 15 January 2023 00:33
Question about slow RAM TEG Nostalgia & memories 8 19 April 2022 09:28
BlenkVectors by "Photon of Phenomena" and slow mem requirement Jami support.Demos 0 14 October 2021 14:02
Is slow mem needed for A500 1MB emulation? rsn8887 support.WinUAE 12 09 November 2020 01:51
Question A1200 (Rev B2) PCMCIA mem-speed "slow" issue SortedGeeza support.Hardware 0 23 January 2016 16:53

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT +2. The time now is 06:09.

Top

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2024, vBulletin Solutions Inc.
Page generated in 0.09278 seconds with 13 queries