03 May 2013, 22:12 | #1 |
Moderator
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? |
04 May 2013, 10:15 | #2 |
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) |
04 May 2013, 14:11 | #3 |
Moderator
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? |
08 May 2013, 17:55 | #4 |
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.. |
08 May 2013, 19:56 | #5 |
Longplayer
|
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. |
10 May 2013, 17:50 | #6 | ||
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Quote:
Awesome!! (Why is 2M chip required, by the way?) Quote:
|
||
10 May 2013, 19:18 | #7 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
|
|
10 May 2013, 23:02 | #8 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Um, good job quoting and not reading... will test it for you asap.
|
11 May 2013, 16:15 | #9 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
|
|
11 May 2013, 21:35 | #10 |
Global Moderator
Join Date: Aug 2008
Location: Sidcup, England
Posts: 10,300
|
Psst... Toni, I think Photon is berating himself with that reply, not you.
|
11 May 2013, 21:56 | #11 |
Moderator
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. |
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 |
|
|