|
From: Christian Z. <cz...@gm...> - 2025-10-14 06:15:04
|
Skip Tavakkolian schrieb: > I am using v2.6.1 on Linux, built from sources.I've tried ST and MEGA > ST 4 emulations, both with 4MB, 68000 and Prefetch and Cycle-exact > emulation turned on (checked), as well as turned off. The behavior is > the same when it comes to dealing with ACSI. > > I've made the Idris-ST repo public. It is here: > https://github.com/9nut/IDRIS-OS-for-Atari-ST > In order to run Idris effectively in Hatari, especially if trying X > Windows, an ACSI hard disk is a must. I assume your report is about the "SCSI - interrupt scanner timeout" messages that appear, e.g., when one runs the "show0" command as instructed by the manual? See attached screenshot. I made a brief assessment with the Hatari debugger. IDRIS indeed uses MFP interrupts for disk transfers. That is quite uncommon; most disk drivers just poll the respective MFP line directly. Imho the issue is that Hatari is too fast for IDRIS. As one can see in my debug out below, IDRIS clears any pending interrupts and then unmasks the disk interrupt, but only *after* sending the command to the disk. This might work with actual hardware (particularly of the "spinning rust" type), since that will need some time to complete a command. However, with Hatari the ACSI commands complete instantly. The interrupt arrives while still masked and is therefore missed by IDRIS. I leave it to the Hatari developers to decide how they want to proceed further. I, for one, would not like ACSI being artificially slowed down by default. Regards Christian CPU=$d234, VBL=98329, FrameCycles=31398, HBL=140, LineCycles=38, DSP=N/A 0000D234 2287 move.l d7,(a1) > n fdc write 8604 data=0x0 VBL=98329 video_cyc=31398 38@140 pc=d234 fdc write 8604 hdc command addr=2 command=0x0 VBL=98329 video_cyc=31398 38@140 pc=d234 HDC: WRITE SECTOR (ACSI, t=0, lun=0, cdb=0a:00:7a:14:01:00) with LBA 0x7a14 -> OK (0) fdc set irq 0x0 source 0x8 VBL=98329 HBL=140 fdc write 8606 ctrl=0x100 VBL=98329 video_cyc=31398 38@140 pc=d234 fdc write dma address new=0x28800 VBL=98329 video_cyc=31398 38@140 pc=d234 fdc set irq, irq 0x8 already set VBL=98329 HBL=140 CPU=$d236, VBL=98329, FrameCycles=31420, HBL=140, LineCycles=60, DSP=N/A 0000D236 4AAE 0038 tst.l ($0038,a6) > n CPU=$d23a, VBL=98329, FrameCycles=31436, HBL=140, LineCycles=76, DSP=N/A 0000D23A 671E beq.b #$1E > n CPU=$d23c, VBL=98329, FrameCycles=31444, HBL=140, LineCycles=84, DSP=N/A 0000D23C 43F8 FA0D lea.l $FFFFFA0D.w,a1 > n CPU=$d240, VBL=98329, FrameCycles=31452, HBL=140, LineCycles=92, DSP=N/A 0000D240 0891 0007 bclr.b #$0007,(a1) > n CPU=$d244, VBL=98329, FrameCycles=31476, HBL=140, LineCycles=116, DSP=N/A 0000D244 43F8 FA11 lea.l $FFFFFA11.w,a1 > n CPU=$d248, VBL=98329, FrameCycles=31484, HBL=140, LineCycles=124, DSP=N/A 0000D248 0891 0007 bclr.b #$0007,(a1) > n CPU=$d24c, VBL=98329, FrameCycles=31508, HBL=140, LineCycles=148, DSP=N/A 0000D24C 43F8 FA09 lea.l $FFFFFA09.w,a1 > n CPU=$d250, VBL=98329, FrameCycles=31516, HBL=140, LineCycles=156, DSP=N/A 0000D250 08D1 0007 bset.b #$0007,(a1) -- Christian Zietz - CHZ-Soft - cz...@gm... WWW: https://www.chzsoft.de/ New GnuPG-Key-ID: 0x8708B34C827B159E |