View Single Post
Old 04 March 2015, 20:21   #3
mark_k
Registered User
 
Join Date: Aug 2004
Location:
Posts: 3,343
I think the reason for Kickstart checking whether it's running from address $F00000 is in part due to Commodore's build process.

The memory at $F00000 was originally designed/intended for ROM cartridges. That's why Kickstart checks for a signature word at $F00000 ($1111) and jumps to $F00002 if found: it's calling the ROM cartridge code.

Commodore did provide builds of Kickstart assembled for address $F00000 to developers. With those, having code to check whether it's running at $F00000 makes sense; you can't call ROM cartridge code then. The check code was left in place for Kickstarts built for other addresses, though it isn't needed then.

[Probably various RAM boards for the A1000 and possibly also the 512KB CPU-slot RAM board in German-designed A2000s can be configured to appear at $F00000.]
mark_k is offline  
 
Page generated in 0.04175 seconds with 11 queries