English Amiga Board


Go Back   English Amiga Board > Coders > Coders. System

 
 
Thread Tools
Old 03 May 2013, 22:12   #1
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Autovector remap top chip as fast on A600?

Just wondering since I made two utilities to "sort of" make the A600 a little more like an A500 with regards to amount of low chipmem occupied at boot to CLI. Maybe with some more work, it could become a machine compatible with both A500 and ECS platforms?

If it were possible put a program in the startup-sequence that installs a vector and resets (as for softkicking, fastram mapping on certain accelerators etc) that is able to cheat the OS into marking up top 1MB chip as fastram before the OS loads buffers and kickstart data into RAM, the A600 wouldn't need PCMCIA SRAM cards.

This would possibly free the slot up for other uses, or at the very least you wouldn't have to buy an upgrade that cost more than the machine

Is it possible (f.ex. on kick 3.1), and what would it involve?
Photon is offline  
Old 04 May 2013, 10:15   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Chip RAM (and slow ram) detection is really early in boot process, before any resident modules are scanned or processed. Patch is not possible without ROM modification or complex hacks. (coldcapture + copying part of rom code to ram + patch it and run it)

ROM patch would be quite simple, limit chip ram detection size to 1M and replace slow ram detection address ($c00000) with top 1M of chip ($100000). Chip/slow detection code is near the beginning of ROM (first 4k or so)
Toni Wilen is online now  
Old 04 May 2013, 14:11   #3
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
I suspected that. So no other way than a modified softkick? The advantage is it'd be available before boot, so trackloaders would find it.

Users might have softkick or coldcapture used by other expansions/software (although an accelerator would be turned off if you need "fast" memory for compatibility!) - is there a recommended way to daisy-chain your own snippet?
Photon is offline  
Old 08 May 2013, 17:55   #4
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
I had funny idea and decided to implement it
Technically attached executable does what you want...

Run it, reboot, check available memory. (2M chip required for it to work)

Note that it is done very quickly and coded quite badly. Will be improved if it actually works..
Attached Files
File Type: zip fakechipfast.zip (361 Bytes, 168 views)
Toni Wilen is online now  
Old 08 May 2013, 19:56   #5
Mad-Matt
Longplayer
 
Mad-Matt's Avatar
 
Join Date: Jan 2005
Location: Lincoln / UK
Age: 44
Posts: 1,849
Send a message via ICQ to Mad-Matt Send a message via MSN to Mad-Matt
Is this the same as the old 'Fakemem' tool that splits available memory between 512k chip rest=slowmem? Was a useful tool on the A600 to get some of the older cracks and demos running.

I think what would have been handy would to be have that function combined with relokick/skick for as near A500 configuration as possible.
Mad-Matt is offline  
Old 10 May 2013, 17:50   #6
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Quote:
Originally Posted by Toni Wilen View Post
I had funny idea and decided to implement it
Technically attached executable does what you want...

Run it, reboot, check available memory. (2M chip required for it to work)

Note that it is done very quickly and coded quite badly. Will be improved if it actually works..


Awesome!! (Why is 2M chip required, by the way?)

Quote:
Originally Posted by Mad-Matt View Post
Is this the same as the old 'Fakemem' tool that splits available memory between 512k chip rest=slowmem? Was a useful tool on the A600 to get some of the older cracks and demos running.

I think what would have been handy would to be have that function combined with relokick/skick for as near A500 configuration as possible.
Didn't know about this. Yes, relokick would be good but I think ECS-incompatible copperlists present the larger percentage. Maybe there's a command for that too? (It'd have to be a command and not a WB tool since loading WB will affect the amount of free low chipmem negatively.)
Photon is offline  
Old 10 May 2013, 19:18   #7
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by Photon View Post

Awesome!! (Why is 2M chip required, by the way?)
Because:

Quote:
Note that it is done very quickly and coded quite badly. Will be improved if it actually works..
Toni Wilen is online now  
Old 10 May 2013, 23:02   #8
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Um, good job quoting and not reading... will test it for you asap.
Photon is offline  
Old 11 May 2013, 16:15   #9
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
Quote:
Originally Posted by Photon View Post
Um, good job quoting and not reading... will test it for you asap.
I read it and answer is still 100% valid. You wanted top 1M to become fast ram, so config obviously have to have >1M chip! (= It does what you suggested, nothing else, nothing more)
Toni Wilen is online now  
Old 11 May 2013, 21:35   #10
prowler
Global Moderator
 
prowler's Avatar
 
Join Date: Aug 2008
Location: Sidcup, England
Posts: 10,300
Psst... Toni, I think Photon is berating himself with that reply, not you.
prowler is offline  
Old 11 May 2013, 21:56   #11
Photon
Moderator
 
Photon's Avatar
 
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
Works fine on my A600/kick 3.1 with or without SRAM fastmem inserted

If I have SRAM inserted, nothing happens when I run the command. Good.

When I have no fastmem and run it, it remaps on next boot and OS is loaded into it, and it has the desired effect: preventing allocation of low chipmem. Chipmap says $113e8 and up is free, which is almost identical to my A500.

If I run it again and reboot, it doesn't turn it off (also tried 'fakechipfast off'). As it should be I guess, but the only way to get full chipmem back is power off.

I get exactly 900000 bytes fastmem and correspondingly a little over 1MB chipmem left, I assume that's intended.

1MB was suggested in case you had to think about autoconfig of 1MB expansion so that the boundary had to be there. But I guess not, so I would recommend 0.5MB. An A500 demo/game wouldn't require more.

Tried it in my skinny ClassicWB and was surprised to find that it uses 254KB fast and a few KB chip - and that opening a Shell eats 95KB fastmem (and fragments low chipmem to where demos may fail).

Here's where I discovered that Avail shows correct amount of chipmem available (also correct in menu bar), but still has Maximum at 2MB and deducts the amount from that to show a very high In-Use amount (the real amount + 900KB). I guess it reads Maximum from some autoconfig table elsewhere.

Either way, it already works fine for demos and games but maybe a parameter would be good, you never know what it'll be used for. If you know your startup-sequence you could even set it to a minimum amount to leave a little more chipmem left. Or to use it on 1MB A600s.

p.s. I was accusing myself of not having read your quote properly... (Edit: well ok Prowler beat me to it )

Last edited by Photon; 11 May 2013 at 22:02.
Photon 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
SECTION statement and the CHIP/FAST attribute Apollo Coders. Asm / Hardware 3 15 June 2013 18:18
A600 w/ 1MB Chip + 4MB Fast Ram = WHDLoad success rate? Kenan support.Hardware 7 08 May 2013 18:14
A500 - 6A, 1MB chip + some fast Chain support.Hardware 97 06 November 2012 13:41
2Mb Chip Or 4Mb Fast? Reptile support.Hardware 16 22 December 2010 22:31
Allocating Fast RAM as Chip? Fingerlickin_B support.Hardware 22 20 November 2008 22:15

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 21:40.

Top

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