English Amiga Board


Go Back   English Amiga Board > Support > support.Other

 
 
Thread Tools
Old 10 July 2021, 11:42   #1
Lisko
Registered User
 
Join Date: Mar 2021
Location: Avellino, Italy
Posts: 170
Use MMU for creating fake slow-fast memory

Hi like the title says, would it be possible to remap 0x00c00000 to fast memory using the mmu? The new aca1234 by icomp has this memory as selling point and I was wondering if with an mmu we can achieve the same thing on a blizzard 1230. If possible would be amazing to integrate it in a custom 1.3 kickstart, maybe with a blizkick module, that when booting it will automatically make this memory available.
Lisko is offline  
Old 10 July 2021, 12:31   #2
jotd
This cat is no more
 
jotd's Avatar
 
Join Date: Dec 2004
Location: FRANCE
Age: 52
Posts: 8,160
Sure it should be possible but I don't see the point. Which app needs 0xC00000 in fastmem?

only games can do this, and in that case, use whdload which remaps this slow mem to real fast when possible (sometimes it can fail to use real 32 bit mem because of wrong programming, but that is really a rare case)
jotd is offline  
Old 10 July 2021, 12:37   #3
Lisko
Registered User
 
Join Date: Mar 2021
Location: Avellino, Italy
Posts: 170
Quote:
Originally Posted by jotd View Post
Sure it should be possible but I don't see the point. Which app needs 0xC00000 in fastmem?

only games can do this, and in that case, use whdload which remaps this slow mem to real fast when possible (sometimes it can fail to use real 32 bit mem because of wrong programming, but that is really a rare case)
I know but someone could prefer to use floppies for nostalgic or trainers purposes.
Lisko is offline  
Old 10 July 2021, 14:32   #4
Thomas Richter
Registered User
 
Join Date: Jan 2019
Location: Germany
Posts: 3,214
Quote:
Originally Posted by Lisko View Post
Hi like the title says, would it be possible to remap 0x00c00000 to fast memory using the mmu?
Yes. See MuManual.lha on Aminet. It also contains sources of some of the MuTools which show how to do that.
Thomas Richter is offline  
Old 10 July 2021, 14:35   #5
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
This is my code from ~25 years ago written for myself (probably not even BlizKick existed yet).
I haven't checked the code and it's probably rough and doesn't have any kind of refinement, but it sure worked because I remember running disks that only went on KS1.3/A500_512chip+512fake@$c00000 on my Blizzard 1230.
Take it as it is, I don't know if I want to make a more functional or complete version

EDIT:
I hadn't seen Thomas's message yet.
His is certainly a better and generalized solution, therefore absolutely recommended.
Attached Files
File Type: s A500MMU.s (2.4 KB, 93 views)

Last edited by ross; 10 July 2021 at 14:44.
ross is offline  
Old 11 July 2021, 10:40   #6
Lisko
Registered User
 
Join Date: Mar 2021
Location: Avellino, Italy
Posts: 170
Quote:
Originally Posted by ross View Post
This is my code from ~25 years ago written for myself (probably not even BlizKick existed yet).
I haven't checked the code and it's probably rough and doesn't have any kind of refinement, but it sure worked because I remember running disks that only went on KS1.3/A500_512chip+512fake@$c00000 on my Blizzard 1230.
Take it as it is, I don't know if I want to make a more functional or complete version

EDIT:
I hadn't seen Thomas's message yet.
His is certainly a better and generalized solution, therefore absolutely recommended.
Hi thank you very much. Do you think could work also with relokick's modded kickstart which lets you disable the caches? Also I don't have any assembler on my miggy yet, which one to install? Do I need also the ndk?
Thanks to you both
Lisko is offline  
Old 11 July 2021, 14:19   #7
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Quote:
Originally Posted by Lisko View Post
Hi thank you very much. Do you think could work also with relokick's modded kickstart which lets you disable the caches? Also I don't have any assembler on my miggy yet, which one to install? Do I need also the ndk?
Thanks to you both
No need for a modded kickstart, in my code there is a line that disable the cache (I should look at what it actually changes, but it sure worked ).
Yes, you need the NDK, but the source can be easily modified so as not to require it (a few EQUs are enough).

However it would be interesting to make a slightly more complete version of it to also support KS1.2, a toggle for enabling icache, support for NTSC and 1MB of chip-ram..
I don't really know how useful an application of this kind actually would be, I think about it and see if I feel like it
ross is offline  
Old 11 July 2021, 14:59   #8
Lisko
Registered User
 
Join Date: Mar 2021
Location: Avellino, Italy
Posts: 170
Quote:
Originally Posted by ross View Post
No need for a modded kickstart, in my code there is a line that disable the cache (I should look at what it actually changes, but it sure worked ).
Yes, you need the NDK, but the source can be easily modified so as not to require it (a few EQUs are enough).

However it would be interesting to make a slightly more complete version of it to also support KS1.2, a toggle for enabling icache, support for NTSC and 1MB of chip-ram..
I don't really know how useful an application of this kind actually would be, I think about it and see if I feel like it
I tried with asm one 1.48 but I get a comma expected error on line 43 (there is a lea instruction there). Also what I don't understand is if your code actually performs the softkicking itself or if it only modifies a kickstart which needs to be softkicked by other means. I would like if it's the latter so we can use the maprom function of the accelerators.
Lisko is offline  
Old 11 July 2021, 15:35   #9
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Quote:
Originally Posted by Lisko View Post
I tried with asm one 1.48 but I get a comma expected error on line 43 (there is a lea instruction there). Also what I don't understand is if your code actually performs the softkicking itself or if it only modifies a kickstart which needs to be softkicked by other means. I would like if it's the latter so we can use the maprom function of the accelerators.
Well, the source codes are provided for just that: to tailor them to your needs .
My code softkick by itself, but of course it could be modified to use the blizzard maprom function.
The MMU table is very optimized for the 030 (er.., it only works with it..) and is created to handle 24bit memory in 512KB chunk as you like.
The ATC is so tiny that fully fit in the MMU cache and the performance impact is negligible.

The asm-one error at line 43 is probably due to the
crp
label that the assembler simply confuses with the register, change it to something different at both line 43 and line 61 (crp->
crpm
)
ross is offline  
Old 11 July 2021, 15:45   #10
Lisko
Registered User
 
Join Date: Mar 2021
Location: Avellino, Italy
Posts: 170
Quote:
Originally Posted by ross View Post
Well, the source codes are provided for just that: to tailor them to your needs .
My code softkick by itself, but of course it could be modified to use the blizzard maprom function.
The MMU table is very optimized for the 030 (er.., it only works with it..) and is created to handle 24bit memory in 512KB chunk as you like.
The ATC is so tiny that fully fit in the MMU cache and the performance impact is negligible.

The asm-one error at line 43 is probably due to the
crp
label that the assembler simply confuses with the register, change it to something different at both line 43 and line 61 (crp->
crpm
)
Thanks very useful. After changing crp to crpm I get an illegal operator at line 44 pmove.d (a0), crpm
Lisko is offline  
Old 11 July 2021, 16:02   #11
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Quote:
Originally Posted by Lisko View Post
Thanks very useful. After changing crp to crpm I get an illegal operator at line 44 pmove.d (a0), crpm
I never said to change line 44
ross is offline  
Old 11 July 2021, 18:46   #12
a/b
Registered User
 
Join Date: Jun 2016
Location: europe
Posts: 1,039
crp/drp/srp is fine, you have to change pmove.d to pmove.q if you are using asm-one&family.
a/b is offline  
Old 11 July 2021, 19:48   #13
ross
Defendit numerus
 
ross's Avatar
 
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,468
Quote:
Originally Posted by a/b View Post
crp/drp/srp is fine, you have to change pmove.d to pmove.q if you are using asm-one&family.
I just checked with
vasm
and it also accepts
.q

But it also works without specifying any size, like
pmove
solo or whatever you want (.b, .w, .l, .d, .q ..)
It's probably the right choice because
crp
is 64-bit anyway
ross 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
Slow/Fast RAM difference Galaxy support.Hardware 4 15 December 2017 21:21
WinUAE 3.2.1. memory dump for fake fast memory areas broken StingRay support.WinUAE 1 14 December 2015 20:39
Kickstart to fast RAM (MC68000 w/o MMU) ShK support.Apps 16 26 September 2014 08:48
MMU and memory test demolition support.Hardware 8 27 August 2013 13:52
Use of 4MB PCMCIA Fast Flash Memory as Fast RAM in A1200 nkarytia support.Hardware 10 16 September 2011 13:37

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 14:30.

Top

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