11 September 2021, 21:42 | #1 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Does WinUAE clear [Chip]RAM from Ctrl-Amiga-Amiga?
It certainly doesn't on a real A500 and it's in the way of testing right now, so is there a way to turn it off?
If it doesn't, please say so and I can error search elsewhere. |
11 September 2021, 21:56 | #2 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
Quote:
With soft reset (CTRL-A-A or via software), it doesn't clear the memory. With the GUI and Reset button it clear the memory. |
|
11 September 2021, 22:01 | #3 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
I tested it and Ctrl-Amiga-Amiga definitely clears e.g. $30000, $50000, $7e000, and $c40000. Same with softreset in code. 2.0+ is fine.
I've looked but found no setting for it. I fear this might be a compatibility fix(?) but I've definitely rescued sources and data under 1.3 and this is no longer possible in WinUAE 4.4.0. |
11 September 2021, 22:01 | #4 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,517
|
KS 1.3 clears Chip RAM if Chip RAM size is larger than 512k (KS bug)
setpatch -r should fix it. (and not enough information) |
11 September 2021, 22:08 | #5 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
|
11 September 2021, 22:13 | #6 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
Quote:
You can also solve the problem of KS1.x and 1MB chip-ram |
|
11 September 2021, 22:20 | #7 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Ross: Come on, I don't know every bug of every configuration. I leave that to those who have to deal with it like a pro (Toni and you ) Just trying to write correct code here. Sometimes it can't be done it seems!
Tested: Yes, data at $7e000 stays from Ctrl-Amiga-Amiga and code softreset, if <=512KB Chip RAM. So. Old code is solid for 1.3. Can't do anything about the clear bug. (Side note: Would be kinda handy to trigger it for a hardreset on 2.0+ tho, since ColdReboot() doesn't ) Anyway thx again for info Toni |
11 September 2021, 22:27 | #8 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
This is the relevant code.
I skip all the code that setup ColdCapture vector and check for KS1.x. Code:
ColdCapture_code ;fix 1MB chip on Ks1.3 bchg #1,$bfe001 ;cosmetic movea.l $3e(a6),a3 ;read MaxLocMem jmp $1aa-$184(a5) ;and use it No idea what setpatch -r does, but this tricky code works (I simply dissected the KS to see what the problem was) |
11 September 2021, 22:53 | #9 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Cool, is this your fix for 1.3, or what ColdCapture does on 2.0+?
|
11 September 2021, 22:56 | #10 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
|
11 September 2021, 23:00 | #11 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
OK, just what I was looking for. "We're gonna need a bigger Boot" (c) ...
What is a3/a5/a6 (mostly a5 if a6 is execbase)? |
11 September 2021, 23:08 | #12 |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
Example code to use it:
Code:
moveq #0,d2 cmpi.w #KS13,lib_Version(a6) bne.b .skip move.l #ColdCapture_code,ColdCapture(a6) move.w d2,LowMemChkSum(a6) lea SoftVer(a6),a0 moveq #$18,d0 .loop add.w (a0)+,d2 dbf d0,.loop not.w d2 move.w d2,LowMemChkSum(a6) ;checksum Actually if I remember correctly the KS1.2 also suffers from the exact same bug, but Amigas with 1MB of chips-RAM and KS1.2 never existed... |
11 September 2021, 23:14 | #13 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
Quote:
a3= right top of chip-ram (and not the wrong $80000 hardcoded one) a5= return code in ROM (the two offset define the faulty code to skip, and I re-enter with a correct a3). Yes, is a dirty trick |
|
11 September 2021, 23:16 | #14 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,604
|
Ah. I thought the first few lines (and even the bchg can be removed) was the fix.
Too experimental for a correct bootblock I feel. If there's no other way, 1.3 users with >512KB chip must accept the KS bug. And sorry for posting in this forum. I just switched kickstart to test software and got the bug, and knew 1.3 didn't on my real Amiga. Emulator is correct. |
11 September 2021, 23:27 | #15 | |
Defendit numerus
Join Date: Mar 2017
Location: Crossing the Rubicon
Age: 53
Posts: 4,475
|
Quote:
Maybe it will use a lot of overbloated checks but I don't think there are many ways to fix a similar bug that happens in the very initial stages of the kickstart startup. |
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Amiga 2000 No Chip Ram Detected | stephenfalken | support.Hardware | 0 | 26 March 2019 09:12 |
Amiga 500 and 1 MB on chip RAM | caiusfabricius | Hardware mods | 41 | 11 April 2018 01:16 |
Amiga A600 - 20K of chip RAM | Toryglen-boy | support.Hardware | 49 | 09 June 2017 11:03 |
Amiga 1000 Chip RAM | dansalvato | support.Hardware | 3 | 27 April 2010 07:43 |
[WANTED] 1 MB Chip Ram for Amiga 3000 | 666pinhead | MarketPlace | 8 | 11 December 2006 12:40 |
|
|