Maxim Poliakovski
bf278af950
scsidevice: add get_more_data() method.
...
It is required for supporting large data transfers split
into multiple chunks.
2023-12-10 00:19:44 +01:00
Maxim Poliakovski
65a343ce5c
Clean up names for SCSI devices.
2023-12-04 22:41:01 +01:00
Maxim Poliakovski
8841c3e7f9
scsihd: more commands.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
1e4579a076
Improve SCSI state machine.
2023-12-04 21:41:55 +01:00
Maxim Poliakovski
94872b3ebb
Store SCSI bus object pointer during registration.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
457accf329
scsi: define READ_BUFFER and WRITE_BUFFER commands.
2023-11-24 19:48:07 +01:00
Maxim Poliakovski
7a8b534c07
More SCSI commands and error codes.
2023-06-18 23:04:02 +02:00
Maxim Poliakovski
ee7b2838bc
One more attempt to fix GCC build.
2023-05-30 19:55:46 +02:00
Maxim Poliakovski
f809124a2e
Improve SCSI bus registration.
2023-05-30 19:46:27 +02:00
Maxim Poliakovski
e36150a5ca
Add ATAPI commands, clean up formatting.
2023-05-15 17:57:20 +02:00
Maxim Poliakovski
cf0d361918
Merge 'hard-disks' branch.
2023-04-17 01:20:38 +02:00
Maxim Poliakovski
6b6e92d3d9
scsi: change positions of SEL, BSY and RST bits.
...
New positions match better MESH internal bits.
2023-01-25 20:53:34 +01:00
joevt
0bd9d0e973
Fix HWComponent name initialization.
...
First, remove name override for subclasses of HWComponent (Chaos and ScsiBus) because HWComponent has its own name field.
HWComponent name should be set as early as possible in the constructor so it can be used in log messages.
PCIDevice should set name of HWComponent (through MMIODevice) in its constructor, using the name that is given to its constructor.
For Bandit and Grackle, they don't need to set the HWComponent name since its PCIDevice constructor will now do it.
Chaos is not a PCIDevice so it should set the MMIODevice name itself.
Why does PCIDevice have a name that is separate from the HWComponent name?
2023-01-11 00:05:23 -08:00
Maxim Poliakovski
5f0358a347
Implement basic SCSI CD-ROM emulation.
2022-11-14 00:55:05 +01:00
Maxim Poliakovski
b2ef809de1
scsi_hd: fix write command.
2022-11-07 22:04:02 +01:00
Maxim Poliakovski
40a02cc0f7
scsidevice: refactor states.
2022-11-07 12:24:02 +01:00
Maxim Poliakovski
0c74ebbc45
scsi_bus: support status and message in.
2022-11-02 21:27:18 +01:00
Maxim Poliakovski
fbfae98d6d
scsi_bus: packet data transfers.
2022-10-31 23:21:35 +01:00
dingusdev
b480903c7a
Slight code clean-up
...
Prevents crashing
2022-10-30 15:38:09 -07:00
Maxim Poliakovski
a58c9b1a62
ScsiDevice: fix process_command() signature.
2022-10-27 14:07:20 +02:00
Maxim Poliakovski
f3cd5b8b36
sc53c94: fix sending commands to SCSI devices.
2022-10-27 13:49:41 +02:00
dingusdev
f792b38ea3
Started SCSI command reading
2022-10-26 09:18:32 -07:00
Maxim Poliakovski
c51ea575ca
scsi_bus: various fixes and improvements.
2022-10-25 03:03:15 +02:00
Maxim Poliakovski
eeb576a927
Improve ScsiDevice class.
2022-10-25 02:53:21 +02:00
dingusdev
aa1d23e08b
Fixed hard disk support
...
Compiles, still unfinished
2022-10-22 11:41:52 -07:00
dingusdev
ee9573327c
Reorganized hard disk code
...
Not compiling yet.
2022-10-08 16:51:54 -07:00
dingusdev
a61dd5701a
Initial prototyping for hard disks
2022-09-01 22:10:52 -07:00
Maxim Poliakovski
00093bdc95
sc53c94: support interrupts.
2022-02-06 01:50:54 +01:00
Maxim Poliakovski
b5f70feb28
Initial SCSI bus emulation.
2022-02-06 01:50:54 +01:00