AMIGASYSTEM ha scritto:Ciao kalu666 e benvenuto su amiganews
Probabilmente hai sbagliato qualcosa, i KickStart funzionano allo stesso modo sia su macchina Reale che Emulata, detto questo se non funziona in Emulazione non funzionerà mai su macchina Reale.
Hai ragione, sono scemo :) usavo il file gpatch errato... Per chi fosse interessato ho aggiunto anche questa modifica al kickstart per renderlo compatibile anche con a500 base (sull'emulatore non noto differenze):
Better late than never:
Just solved this (the original problem, that is), but please donate the bounty to some charity
Since I am running mkl's ram68k+ide68k on a machine similar to an A500 (to be exact: A1000 with Phoenix board from 1990), I used the A600 version of KS 3.1, which is running scsi.device 40.5.
I assume (but haven't tested this) that the same issue exists with the 1200's kickstarts.
1) Follow the instructions in kick1.3scsipatch
2) Before swapping bytes for programming:
a) open the new kickstart file a hex editor
b) look for the Romtag structure at the beginning of the file. It starts at around $50 and reads
4AFC 00F8 XXXX 00FB FFE8 0128 030A 00F8 XXXX 00F8 YYYY
Write down the values YYYY (should be something like 009x, but depend on the scsi.device version you are using)
c) search for the end of the scsi.device code. At around $2900 the data becomes all FFFFFFFF. Overwrite the first FFFFFFFFs with the following hex data:
48E78080 41F900DE 100010BC 00011010 10101010 10101010 10101010 10104CDF 01014EF9 00F8YYYY
where YYYY is what you wrote down in step b)
d) Note the location of the data you just entered. It should be around $2990 from the start. You need to note the EXACT offset from the start of the file to the first byte (48) from the data above.
d) go back to the romtag structure and replace YYYY with the offset you just noted.
Background:
What is actually missing from the combination of KS 1.3 and scsi.device from some later KS is some Gayle-initialization:
lea.l $de1000,a0
move.b #$0,(a0)
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
move.b (a0),d0
That's it. This code must be executed before scsi.device initializes. It somehow "enables" Gayle. Without it, scsi.device does not recognize Gayle and ... does nothing.
The procedure above adds this code at the end of the scsi.device hunk and changes the init-ptr of the romtag structure to run this code, which in turn jumps back to the original init routine.
Edit: Please be aware that this is a q&d solution. The correct procedure involves a check for mirrored dff000 custom chip registers at de1000. Please use this only in machines that actually have a Gayle or compatible device.
Post originale:
http://eab.abime.net/showthread.php?t=77782&page=3