Re: [hatari-devel] Preparing release 2.3 / Slow IDE boot for Falcon

[ Thread Index | Date Index | More lists.tuxfamily.org/hatari-devel Archives ]


Hi,

Slowdown is very large also with EmuTOS, so
it would be better if there would be (also)
a TOS version agnostic solution.

Maybe "--fast-boot" option should disable
IDE for Falcon when there's no IDE drive?


	- Eero

On 10/12/20 11:16 PM, Nicolas Pomarède wrote:
Le 12/10/2020 à 21:18, Anders Eriksson a écrit :
On 2020-10-12 19:44, Nicolas Pomarède wrote:
Le 12/10/2020 à 18:24, Anders Eriksson a écrit :

Back in the day, Green Tommy (greenious) solved this by making a floppy bootsector that got rid of the IDE wait (and memory test) to speed up booting on IDE-less machines a great deal.

If it's of any use, here's a link to the software which writes the bootsector:

http://files.dhs.nu/files_util/fastbt04.zip

Thanks for the hint. I will try to have a look at it tonigh to see if this can be converted into a tos patch (I guess it should be possible it the code fit on a boot sector :) )

I was just sent a newer version of fastboot:

http://files.dhs.nu/files_util/fboot10b.zip


Here's the main code from the boot sector. It basicaly checks for the TOS version at e00002 (must be tos 4.xx) then it pushes 2 functions on the stack that will be called on the next RTS.

$00040068 : 0c39 0004 00e0 0002                cmpi.b    #4,$e00002
$00040070 : 6668                               bne.s     $400da
$00040072 : 31fc 0001 0840                     move.w    #1,$0840.w
$00040078 : 0c79 0404 00e0 0002                cmpi.w    #$404,$e00002
$00040080 : 660e                               bne.s     $40090
$00040082 : 2ebc 00e0 0b28                     move.l    #$e00b28,(sp)
$00040088 : 2f7c 00e0 0794 0004                move.l    #$e00794,4(sp)
$00040090 : 0c79 0402 00e0 0002                cmpi.w    #$402,$e00002
$00040098 : 660e                               bne.s     $400a8
$0004009a : 2ebc 00e0 0aea                     move.l    #$e00aea,(sp)
$000400a0 : 2f7c 00e0 078a 0004                move.l    #$e0078a,4(sp)
$000400a8 : 0c79 0401 00e0 0002                cmpi.w    #$401,$e00002
$000400b0 : 660e                               bne.s     $400c0
$000400b2 : 2ebc 00e0 0aea                     move.l    #$e00aea,(sp)
$000400b8 : 2f7c 00e0 078a 0004                move.l    #$e0078a,4(sp)
$000400c0 : 0c79 0400 00e0 0002                cmpi.w    #$400,$e00002
$000400c8 : 660e                               bne.s     $400d8
$000400ca : 2ebc 00e0 0acc                     move.l    #$e00acc,(sp)
$000400d0 : 2f7c 00e0 076a 0004                move.l    #$e0076a,4(sp)
$000400d8 : 4e75                               rts

So, in case of TOS 4.04 for example it will call e00b28 then e00794.

Does anyone with TOS knowldege see what these 2 calls are doing and if they can be safely converted to a patch ?

Nicolas





Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/