English Amiga Board    


Go Back   English Amiga Board > » Coders > Coders. Asm / Hardware

Reply
 
Thread Tools
Old 18 September 2012, 21:30   #1
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 132
Kickstart ROM's chipram test

I'm currently working on porting the Minimig FPGA core to new hardware and have come up against some "interesting" issues. I currently have the core working well enough to run Spaceballs 9 fingers and a few games - but when it first starts up the Kickstart ROM detects some kind of issue with chipram and gives me a green screen with blinking power LED for a few moments before eventually giving me the "Insert Disk" screen.

Does anyone know precisely how the Kickstart ROM tests the chipram? Knowing that will make it much easier to track down where my design's failing.
__________________
~ Amiga 4000/030 ~ Amiga 1200 030/50MHz ~ Turbo Chameleon 64 ~ Altera DE1 with Minimig core ~
http://retroramblings.net
robinsonb5 is offline   Reply With Quote
Old 19 September 2012, 10:38   #2
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 38
Posts: 11,944
Test is simple write/read test, my crystal ball says problem is in ROM overlay which is not getting disabled.
Toni Wilen is online now   Reply With Quote
Old 19 September 2012, 12:41   #3
Leffmann
Leffmann with two n's
 
Leffmann's Avatar
 
Join Date: Jul 2008
Location: Sweden
Posts: 1,190
The memory test writes a longword 0 to address 0, then tests the memory in blocks by writing some random-looking longword marker just past the end of the current block, and if it can read back this marker, and read 0 from address 0, and is not past the predetermined range to test, then it will continue with the next block.

The mechanism it relies on has to be that a write past the mapped chip memory will either end up at 0, or can not be read back correctly.

KS 1 tests the memory in blocks of 4K, and KS 2 and 3 tests in blocks of 16K, I don't know how these sizes are determined but I guess it's simply a tradeoff between performance and thoroughness.
Leffmann is offline   Reply With Quote
Old 19 September 2012, 14:08   #4
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 132
Quote:
Originally Posted by Toni Wilen View Post
Test is simple write/read test, my crystal ball says problem is in ROM overlay which is not getting disabled.
Thanks for that - I have checked the OVL signal from the CIA, and it seems to be dropping, next I'll double-check that its state is actually being acted upon by the address decoding logic. Does the overlay map the entire ROM into chipram, though, or just enough to get the program counter jumping into the real ROM space?

Quote:
Originally Posted by Leffman
The memory test writes a longword 0 to address 0, then tests the memory in blocks by writing some random-looking longword marker just past the end of the current block, and if it can read back this marker, and read 0 from address 0, and is not past the predetermined range to test, then it will continue with the next block.

The mechanism it relies on has to be that a write past the mapped chip memory will either end up at 0, or can not be read back correctly.

KS 1 tests the memory in blocks of 4K, and KS 2 and 3 tests in blocks of 16K, I don't know how these sizes are determined but I guess it's simply a tradeoff between performance and thoroughness.
Many thanks for the detailed explanation - that'll be a great help in narrowing it down
__________________
~ Amiga 4000/030 ~ Amiga 1200 030/50MHz ~ Turbo Chameleon 64 ~ Altera DE1 with Minimig core ~
http://retroramblings.net
robinsonb5 is offline   Reply With Quote
Old 19 September 2012, 14:26   #5
Toni Wilen
WinUAE developer
 
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 38
Posts: 11,944
I forgot some important details..

After ROM checksum check and overlay being disabled (and before actual chip ram check) exec writes early exception vectors from address zero to about 0x100 and then does second pass and compares them. If any value is wrong -> green screen.

Main chip ram test also checks for aliasing (for example if 512k chip, first address after 512k is same as address zero)

Entire ROM is mapped if overlay is enabled.
Toni Wilen is online now   Reply With Quote
Old 19 September 2012, 15:50   #6
hooverphonique
Registered User
 
Join Date: Jun 2012
Location: Fyn / Denmark
Posts: 216
Quote:
Originally Posted by Toni Wilen View Post
Entire ROM is mapped if overlay is enabled.
is it not only the lower 512k that is mapped? I didn't think the upper 512k @ $E00000 was (on amigas with 1M rom support).
hooverphonique is offline   Reply With Quote
Old 19 September 2012, 20:28   #7
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 132
Quote:
Originally Posted by Toni Wilen View Post
I forgot some important details..

After ROM checksum check and overlay being disabled (and before actual chip ram check) exec writes early exception vectors from address zero to about 0x100 and then does second pass and compares them. If any value is wrong -> green screen.
Oh! Many thanks for that - that could well be related. I've already had to deal with a spurious interrupt from the Action Replay component, which has its own overlay, so that could have something to do with it.
__________________
~ Amiga 4000/030 ~ Amiga 1200 030/50MHz ~ Turbo Chameleon 64 ~ Altera DE1 with Minimig core ~
http://retroramblings.net
robinsonb5 is offline   Reply With Quote
Old 20 September 2012, 02:03   #8
robinsonb5
Registered User
 
Join Date: Mar 2012
Location: Norfolk, UK
Posts: 132
Thanks for the input, everyone. It turns out the problem was indeed interference from the Action Replay component. I'll figure out at some point why it was being activated without being asked, but for now just removing that module fixes the green screen issue
__________________
~ Amiga 4000/030 ~ Amiga 1200 030/50MHz ~ Turbo Chameleon 64 ~ Altera DE1 with Minimig core ~
http://retroramblings.net
robinsonb5 is offline   Reply With Quote
Reply


Currently Active Users Viewing This Thread: 1 (0 members and 1 guests)
 
Thread Tools

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

Similar Threads
Thread Thread Starter Forum Replies Last Post
kickstart 1.3 rom Paul_s MarketPlace 0 08 April 2007 22:51
CD32 kickstart rom & extended rom ben111g Amiga scene 1 24 February 2007 13:56
Kickstart 2.04 ROM crs MarketPlace 19 19 December 2006 12:44
KickStart Rom Hammie New to Emulation or Amiga scene 1 29 June 2003 08:04
Kickstart ROM Toxic support.WinUAE 7 08 November 2001 21:53


All times are GMT +2. The time now is 08:50.

-->

Powered by vBulletin® Version 3.7.0
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.
Page generated in 0.16562 seconds with 11 queries