Re: dd miniroot.fs into CF card from non-amiga NetBSD box
Rin Okuyama <[email protected]>
| Newsgroups | gmane.os.netbsd.ports.amiga |
|---|---|
| Message-ID | <[email protected]> |
On 2017/02/24 0:14, Michael van Elst wrote:
>> By changing CPU board from 68060 to 68030, errors for wdc0 disappeared.
>
> Looks like the calibration of 'delay()' doesn't work for your board.
> Maybe you can catch the dmesg output, a 50MHz 68060 shows here:
>
> Calibrating delay loop... 21/1024 us
Hmm, how can I calibrate it?
(1) decrease the initial value of delaydivisor
amiga/amiga_init.c:
932 if (machineid & AMIGA_68060)
933 delaydivisor = (1024 * 1) / 80; /* 80 MHz 68060 w. BTC */
935 else if (machineid & AMIGA_68040)
936 delaydivisor = (1024 * 3) / 40; /* 40 MHz 68040 */
--->
933 delaydivisor = (1024 / 2) / 80; /* 80 MHz 68060 w. BTC */
for example.
or
(2) increase the argument of delay() in calibrate_delay()
dev/clock.c:
328 static void
329 calibrate_delay(device_t self)
330 {
331 unsigned long t1, t2;
332 extern u_int32_t delaydivisor;
333 /* XXX this should be defined elsewhere */
334
335 if (self)
336 printf("Calibrating delay loop... ");
337
338 do {
339 t1 = clk_gettick();
340 delay(1024);
341 t2 = clk_gettick();
342 } while (t2 <= t1);
343 t2 = ((t2 - t1) * 1000000) / (amiga_clk_interval * hz);
344 delaydivisor = (delaydivisor * t2 + 1023) >> 10;
--->
338 do {
339 t1 = clk_gettick();
340 delay(4096);
341 t2 = clk_gettick();
342 } while (t2 <= t1);
343 t2 = ((t2 - t1) * 1000000) / (amiga_clk_interval * hz);
344 delaydivisor = (delaydivisor * t2 + 4095) >> 12;
or both?
>> Timeout errors for ne0 also disappeared. However, unfortunately, ne0
>> still cannot be usable. If I switch on my A1200 with ne0 inserted, the
>> machine does not boot. I guess this is a compatibility issue. I ordered
>> an "easynet pcmcia network card". I hope it will work...
>
> I remember the A1200 "PCMCIA" slot had several issues.
I ordered a known to work (at least on AmigaOS) card. I will test it. If
it fails, I will try the hardware fix suggested by John.
Thanks,
rin