383 Commits

Author SHA1 Message Date
6696cadfd2 Remove unused/unneeded parts of IDEUnit struct 2025-07-05 04:23:44 +00:00
657151b6e8 Mounter: Switch out mounter code with the mounter code upstream from A4091.device
This will make it easier to share improvements to the mounter code
2025-07-05 03:49:46 +00:00
e1fa8190d4 Remove function attributes (used/saveds)
lide doesn't use fbaserel and the used attribute is not needed
2025-07-05 03:28:11 +00:00
af8d03e0b9 Move BOOTXX boot priority adjustment from mounter to device.c
I am preparing to rebase mounter on shared codebase with a4091.device
2025-07-01 07:06:50 +00:00
972c6f2c11 Whitespace fixes 2025-07-01 07:06:14 +00:00
5fcf7bfc37 lideflash: add types for the ideBoard function pointers Dev-40.10-090625 2025-05-27 09:21:01 +00:00
7b23810bd2 Add "ata_xfer_func" type for the ATA transfer function pointers 2025-05-14 08:40:44 +00:00
efd84f9bc0 Fix dumb spelling mistake 2025-05-09 08:44:37 +00:00
f017c45677 scsi_mode_sense_ata: Fixup mode page lengths 2025-05-09 04:29:00 +00:00
c866b3d4be ATAPI mode sense/select translation
* Ensure data is not too short and not too long
* Ensure memory is freed on error paths
* Copy required mode header fields into the correct locations
2025-04-26 08:03:03 +00:00
39ed36fc26 Add CMD_PAUSE/CMD_RESUME commands to pause IO task during flash programming. 2025-04-19 21:58:00 +00:00
164bcec38f Mounter: Issue a CMD_START and TD_CHANGESTATE to the unit
This ensures that a CD drive is ready before we try to boot from it
2025-04-19 07:45:26 +00:00
4b92fa8865 Add support for CMD_START and CMD_STOP for ATAPI devices, add some retries to atapi_get_geometry and atapi_autosense 2025-04-19 06:29:17 +00:00
4c0d9884a7 Lideflash: Forbid() while issuing flash commands to ensure the commands are not interrupted 2025-04-17 04:34:31 +00:00
e83026bcfc Tweak diskchange
Previously it would wait and keep retrying `TEST UNIT READY` if the drive reported that the media was becoming ready.
This would cause the io task to be blocked for a long time for no good reason

Also remove the atapi change state from device open
2025-04-15 10:27:54 +00:00
1eefe05361 ATAPI: supply sense data on device time out 2025-04-15 05:10:16 +00:00
30e614e78d ATAPI: variable BSY delay
Some commands need up to 30 mins to complete, but having such a timeout for all commands would not be ideal

Depending on the command, set a timeout of 40 seconds, 2 minutes or 30 minutes
2025-04-14 08:41:58 +00:00
ed6b21619d Mounter: CheckPVD should only check sector 16 for the PVD
Ths ISO Specification mandates that the PVD be in this block
2025-04-12 03:30:23 +00:00
e339756102 Mounter: Check if CD is a Data CD
Some drives really don't like it if you try to read blocks from Audio/Blank CDs
2025-04-12 00:11:01 +00:00
5e15b8b7e9 Move autosense call into atapi_packet()
This will allow autosense to be used by driver functions calling packet
2025-04-10 09:23:14 +00:00
856dc5a37c atapi_test_unit_ready: initialize sense data 2025-04-10 09:10:38 +00:00
79d45f6358 ATAPI: Replace timer with simple delay based off cia timer read timing
The previous timer based approach was not fast enough

Also fixup the timeout for atapi_wait_drq_not_bsy - it should be the DRQ timeout
2025-04-10 08:52:58 +00:00
c7dc07bbd4 Bootrom: fix some potential issues for er_InitDiagVec comparisons 2025-03-29 04:17:32 +00:00
1981d255db Merge diskchange polling into idetask 2025-03-11 10:43:22 +00:00
f924dc8ccc Mounter: fix CheckPVD string comparison 2025-03-10 22:50:36 +00:00
82d9e9931f Mounter: Fixup FSHDProcess fsr traversal
The previous code technically worked fine, but I feel like this makes it cleaner
2025-02-27 08:10:41 +00:00
660db82279 Don't clear CDF_CONFIGME or set cd_Driver unless some drives are detected 2025-02-23 09:10:00 +00:00
7ebee9f2ea Rename wait() and wait_us() to sleep_s() and sleep_us() 2025-01-29 08:11:14 +00:00
f5072bc308 lideflash: fix compiler warning 2025-01-29 08:03:30 +00:00
6af64da212 device.c: Tidy up some minor things 2025-01-29 08:01:53 +00:00
bca771074c Fix some more potential memory leaks 2025-01-29 08:01:00 +00:00
f077aa3933 device.c don't use ASM for romtag struct 2025-01-29 07:59:54 +00:00
7468dc0129 Add debug for Alloc/FreeMem 2025-01-26 12:35:04 +00:00
061bc22c04 Fix a couple of memory leaks 2025-01-26 12:33:30 +00:00
Sjaak
5a1ea60828
use firebutton to boot different partition (#20) 2025-04-22 19:40:40 +12:00
Sjaak
63ce30d862
KS dependent priorities of partitions (#19)
* KS dependent priorities of partitions

---------

Co-authored-by: Matt Harlum <matt@harlum.net>
2025-03-28 22:42:55 +13:00
Matt Harlum
41bfdf35c6
Fix some typos 2025-01-29 06:11:23 +13:00
00cad237e1
README: fix link 2025-01-29 05:31:20 +13:00
Stefan
bea98ca93c Fixed typos 2025-01-29 05:25:35 +13:00
70a7c6f98a ata.c: Fix memory leak in ata_autoselect_xfer Release-40.9 2025-01-27 00:15:36 +13:00
3116ed0251 Merge branch 'dev' 2025-01-26 12:40:01 +13:00
cd842ada0e Tweak Makefile 2025-01-25 23:38:03 +00:00
fd97d49bbe Fix Kick version checks
SysBase->SoftVer contains the revision, not the major version.
2025-01-18 21:26:34 +13:00
329e3baa8d Fixup aide-boot makefile
Older versions of dd don't support oseek
2025-01-08 21:32:53 +00:00
4329264bff Strip lideflash/lidetool and add version strings Dev-40.9-090125 2025-01-07 11:11:48 +00:00
1304cfaa97 Makefile: fixup debug builds 2025-01-07 01:16:29 +00:00
a140763cd1 ata: more read/write optimization 2025-01-07 01:08:30 +00:00
af771f9534 ata: read/write optimization - hardcode blocksize in transfer routines
It will always be 512 anyway, no need to hit memory for every loop iteration
2025-01-07 00:47:07 +00:00
4185bc5b8e ata: optimize read/write functions
Pass the src/dest pointers via registers rather than the stack
2025-01-07 00:44:41 +00:00
2c61c52e28 aide-boot: change bootPri of bootdisk to -127 2025-01-05 10:38:05 +00:00