399 Commits

Author SHA1 Message Date
588508bcb1 Update README
Correct the hardware implementation details
2025-10-19 09:35:34 +13:00
Chris Hooper
d13d1db81a Add lidetool decode of ATA Identify Device command 2025-10-18 17:05:59 +13:00
d774d359fe Use liv2/amiga-gcc container for release / coverity
This is to ensure we stick with GCC 6.5
2025-08-27 20:48:04 +12:00
1dd3002526 Merge branch 'Dev-40.10' Release-40.10 2025-08-21 22:33:32 +12:00
865c42737e Update devcontainer.json 2025-08-21 10:31:43 +00:00
f04b45659b lideflash: Display an alert if running kickstart 1.2 2025-08-16 07:49:20 +00:00
b45e0ffed0 Fixup Github Actions workflow 2025-08-06 21:18:25 +12:00
eb8364fdbb Re-organize and tidy up
No functional changes

* Move + Rename scsi command emulation out of idetask to scsi.c
* Move ATAPI SCSI command handling out of idetask to atapi.c
* Rename idetask to iotask
2025-08-03 09:37:29 +00:00
89e3b82f6c Store mounter in-tree
Mounter repo: https://github.com/A4091/mounter
Mounter commit: a0d87fe11a2113afa2bc4aec970fd9963f062846
2025-08-01 21:56:47 +12:00
8f3e51db7a Remove mounter submodule 2025-08-01 21:55:21 +12:00
9acc2025c3 Update mounter 2025-07-29 07:18:47 +00:00
c3a7d12653 lideflash: print old/new version info 2025-07-29 07:18:35 +00:00
6f1d844802 lideflash: when erasing the prompt will now ask if the user wants to Erase the flash, not Update 2025-07-29 07:08:43 +00:00
19307ccdac reloc: store ReadHandle and pHunks pointers in frame pointer 2025-07-17 11:03:52 +00:00
1cf84db951 Fixup for mode pages & read_capacity PMI bit 2025-07-15 12:27:15 +00:00
244e137d68 Compact Unit struct some more 2025-07-05 04:26:38 +00:00
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
Sjaak
5a1ea60828
use firebutton to boot different partition (#20) 2025-04-22 19:40:40 +12: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
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
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