16 August 2013, 17:37 | #341 | |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
Thank you Toni. I noticed that with 0000 memory can be detected but for some reason can't be autoconfigured. If I use settings in register to add for example 32MB everything works fine.Lets look that part of the code now.
Quote:
Like I said don't work with 2 autoconfig boards added(with different serial number!). Another thing since ZorroIII can be configured in ZorroII configuration space this is not the potential problem. Maybe problem can be related somehow to registers 44 or 48 only that was left to investigate. |
|
16 August 2013, 19:37 | #342 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
In the process of solving problem I had to play a little
[ Show youtube player ] |
16 August 2013, 19:48 | #343 | |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
Quote:
What exactly happens? Does Workbench show the right amount of memory? Does SysInfo detect the "board", and show the right amount of memory? Does the system crash when you try and use the memory? I wonder if there's still a problem with the address decoding, or maybe even the SDRAM controller? |
|
16 August 2013, 19:51 | #344 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,504
|
Include full output of tools/showconfig
|
16 August 2013, 19:52 | #345 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
My English sucks
1. Workbench show 64MB 2. Sysinfo detects board but with 0K of memory 3. System crashes when I want to do something since there is no memory there Yes I m confused too |
16 August 2013, 19:55 | #346 |
Registered User
Join Date: Oct 2012
Location: Surrey
Posts: 390
|
http://youtu.be/ZB0lB_br6xI
Cool. Faster than ACA620 but not yet ACA630/30. Project progressing very nicely. Well done! |
16 August 2013, 20:33 | #347 |
Registered User
Join Date: Sep 2006
Location: Thunder Bay, Canada
Posts: 4,323
|
|
17 August 2013, 00:26 | #348 |
Registered User
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
|
majsta, in your code I don't see lower half of ER_FLAGS register being set:
Code:
CASE cpu_addr(6 downto 1) IS WHEN "000000" => autoconfig_data2 <= "1010"; -- Zorro-III card, add mem, no ROM WHEN "000001" => autoconfig_data2 <= "0010"; -- 128KB (extended to 64MB in reg 08) WHEN "000100" => autoconfig_data2 <= "0000"; -- Logical size matches physical size Code:
WHEN "000101" => autoconfig_data2 <= "0000"; Note the data for ER_TYPE must not be inverted. Code:
case ({autocfg_reg, 2'b00}) 9'h000: rdata = ER_TYPE [7:4]; 9'h100: rdata = ER_TYPE [3:0]; 9'h004: rdata = ~(ER_PRODUCT [7:4]); 9'h104: rdata = ~(ER_PRODUCT [3:0]); 9'h008: rdata = ~(ER_FLAGS [7:4]); 9'h108: rdata = ~(ER_FLAGS [3:0]); |
17 August 2013, 01:26 | #349 | |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
Quote:
Code:
if sel_autoconfig2 = '1' then autoconfig_data2 <= "1111"; CASE cpu_addr(6 downto 1) IS ... |
|
17 August 2013, 08:20 | #350 | |
Registered User
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
|
Quote:
|
|
17 August 2013, 08:51 | #351 | |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,504
|
Quote:
|
|
17 August 2013, 10:29 | #352 | |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
Quote:
I've been playing with one of Majsta's Vampire 500 prototypes and a spare A500 motherboard for a few weeks now - but because it only has kickstart 1.3 I can only test Zorro II autoconfig on that particular machine. I think it's time to dismantle my A500+! |
|
17 August 2013, 11:50 | #353 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
@Toni Wilen Few days ago I have noticed that something is strange with that bit 6 and I agree with you. It seems when system crash and reboot board is not detected and for shore bit 6 needs to be set there. I m talking about bit 6 in 08 register.
@tnt23 yes I was also playing with 000101 and that should be 0A but I didn't find solution. Maybe I m completely wrong but I assumed that register 08 needs to handle bits 7-4 and 0A 3-0. So for 08 we would have bit 7 set to indicate that there is ZorroIII memory device, bit 6 set to indicate that board can't be shut up by software, bit 5 set to indicate new memory size, and bit 4 set to indicate that there is Zorro III card in the system. So something like this, maybe. 08 1111 0A 0000 |
17 August 2013, 14:03 | #354 |
Registered User
Join Date: Feb 2008
Location: Saint-Petersburg / Russia
Posts: 324
|
Stupid question it may be, but do you have registers 44 and 48 keeping high and low base address implemented? I mean, when the OS autoconfigures the card it first reads its config ROM, fills the ConfigDev structure and links that info into devices list. Then the card is assigned some address to which the card should respond from now on.
Could it be that the OS is able to read the ConfigDev structure and interpret card's flags like memory size etc, but unable to test and link the actual memory either because of 44/48 regs or other addressing issue? Last edited by tnt23; 17 August 2013 at 14:08. |
17 August 2013, 14:48 | #355 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
I have 44 register on writing so all of this is strange.
|
17 August 2013, 15:08 | #356 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,504
|
I repeat: attach tools/showconfig board output. We need facts, not guesses.
|
17 August 2013, 18:27 | #357 | |
Registered User
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 1,153
|
Quote:
Anyhow, here's the output of ShowConfig, using the following ZIII Autoconfig code: Code:
process(sysclk) begin -- Zorro III RAM (Up to 8 meg at 0x200000) autoconfig_data <= "1111"; CASE cpu_addr(6 downto 1) IS WHEN "000000" => autoconfig_data <= "1010"; --Zorro-III card, add mem, no ROM WHEN "000001" => autoconfig_data <= "0010"; --64meg (with extension bit) WHEN "000100" => autoconfig_data <= "0000"; -- Extended WHEN "001000" => autoconfig_data <= "1110"; -- 5016=Majsta WHEN "001001" => autoconfig_data <= "1100"; WHEN "001010" => autoconfig_data <= "0110"; WHEN "001011" => autoconfig_data <= "0111"; WHEN "010011" => autoconfig_data <= "1110"; --serial=1 WHEN OTHERS => null; END CASE; end process; So that all looks good. SysInfo does indeed report the board size as 0: So then I ran a memory check, and got some failures: Interestingly, I get a different failing address on the first run, then it's absolutely consistent thereafter. This behaviour is also absolutely consistent from cold-boot-to-cold-boot - which makes me think this is either a RAM Aliasing issue or a problem with the cache. The cache is a very likely culprit, actually, because this is using my Two-way cache from the Chameleon Minimig port, and that's only been tested to date with SDRAM chips up to 32 meg in size. Interesting times! |
|
17 August 2013, 18:40 | #358 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
I don't know. It is most strange to me that everything is working when I add 64MB of ram. I didn't noticed any problems except sysinfo don't detect those memory. Games working etc...
Here are the pictures of showconfig for 32MB and for 64MB and sysinfo detecting 64MB. hahah it seems that we posted in same time But I will compile it without the cache now and see what happens. So we are on track it seems because we had the same result. @robinsonb5 this has nothing to do with cache. I have just run compilation prepared without cache and the same situation. As I recall cache we are using is never tested with so much memory but in documentation says that can support up to 64MB. Last edited by majsta; 17 August 2013 at 18:52. |
17 August 2013, 18:44 | #359 |
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,504
|
Sysinfo simply don't support too large memory sizes. (You can see exact same in emulation. Sysinfo shouldn't be used, at least without double-checking with some other program)
Showconfig output says autoconfig is fine and memory region is properly added to memory list. |
17 August 2013, 18:48 | #360 |
www.majsta.com
Join Date: Jun 2010
Location: Banjaluka/Republic of Srpska
Age: 43
Posts: 448
|
Do you want to say that everything is fine and that is somehow connected to my problems running sysinfo on WinUAE where sysifo crashes when I add more FastRam?
|
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Vampire 600 and floppy issues | Firestone | support.Hardware | 15 | 22 March 2017 18:11 |
Vampire 600 more cores.. | Turran | support.Hardware | 48 | 14 January 2015 17:39 |
Vampire 600 wierd issues | Retro | support.Other | 4 | 05 September 2014 22:36 |
Vampire 600 troubles | Viserion | support.Hardware | 21 | 10 December 2013 20:28 |
WTB: Amiga 600 Accelerator | Gordon | MarketPlace | 4 | 21 February 2009 16:06 |
|
|