Maxim Poliakovski
a892842b8f
Refactor ATA/IDE classes.
2022-12-07 22:36:25 +01:00
dingusdev
58908621e6
IDE refinements
2022-12-05 08:42:51 -07:00
dingusdev
311538b81d
Fix IDE functionality
2022-11-26 21:34:54 -07:00
Maxim Poliakovski
13684f7c0b
scsicdrom: implement READ_CAPACITY_10 command.
2022-11-14 02:08:05 +01:00
Maxim Poliakovski
5f0358a347
Implement basic SCSI CD-ROM emulation.
2022-11-14 00:55:05 +01:00
Maxim Poliakovski
db17e19699
scsi_hd: cosmetic improvements.
2022-11-10 18:22:44 +01:00
Maxim Poliakovski
3de89eaaf7
Silence SCSI logging messages.
2022-11-08 00:33:38 +01:00
Maxim Poliakovski
d50152dd1a
scsi_hd: clean up TEST UNIT READY command.
2022-11-08 00:32:45 +01:00
Maxim Poliakovski
2f02ea4276
sc53c94: release ATN line after MESSAGE_OUT.
2022-11-08 00:30:19 +01:00
Maxim Poliakovski
b2ef809de1
scsi_hd: fix write command.
2022-11-07 22:04:02 +01:00
Maxim Poliakovski
a00b87790b
sc3c94: implement real DMA.
2022-11-07 12:34:55 +01:00
Maxim Poliakovski
ca5f81417f
sc53c94: refactor state machine.
2022-11-07 12:34:42 +01:00
Maxim Poliakovski
40a02cc0f7
scsidevice: refactor states.
2022-11-07 12:24:02 +01:00
Maxim Poliakovski
49331635b2
scsi_hd: determine image file size with stat().
2022-11-07 12:15:08 +01:00
Maxim Poliakovski
0c4da80c93
sc53c94: small cosmetic fixes.
2022-11-02 23:23:37 +01:00
Maxim Poliakovski
7bc4b8840a
scsi_bus: fix device selection bug.
2022-11-02 23:21:46 +01:00
Maxim Poliakovski
5a59b97257
Sc53C94: implement cycle completion commands.
2022-11-02 22:28:43 +01:00
Maxim Poliakovski
5a33fba75e
ScsiDevice: command completion states.
2022-11-02 21:28:30 +01:00
Maxim Poliakovski
0c74ebbc45
scsi_bus: support status and message in.
2022-11-02 21:27:18 +01:00
Maxim Poliakovski
2865a611e7
Sc53C94: implement reading the FIFO register.
2022-11-02 21:19:31 +01:00
Maxim Poliakovski
f2be286515
scsi_bus: fix asserting control lines.
2022-11-01 02:52:30 +01:00
Maxim Poliakovski
2c3a5c3b8f
Sc53C94: reading current transfer count.
2022-11-01 02:12:09 +01:00
Maxim Poliakovski
c54c1cdb65
Sc53C94: improve status register.
2022-11-01 02:11:06 +01:00
Maxim Poliakovski
8abefb8f8d
machinepdm: properly insert SCSI hard disk image.
...
Skip SCSI hard disk registration if no disk image was given.
2022-11-01 01:17:50 +01:00
Maxim Poliakovski
6ffe28a8a4
Implement SCSI Pseudo-DMA register on PDM.
2022-11-01 01:17:50 +01:00
Maxim Poliakovski
7ab44886c4
Sc53C94: implement information transfer command.
2022-11-01 01:17:50 +01:00
Maxim Poliakovski
fbfae98d6d
scsi_bus: packet data transfers.
2022-10-31 23:21:35 +01:00
Maxim Poliakovski
c7ceb9d6b9
sc53c94: fix setting internal transfer counter.
2022-10-31 23:21:35 +01:00
Maxim Poliakovski
c28fd138c2
nvram: fix initialization bug.
2022-10-31 01:01:46 +01:00
dingusdev
b480903c7a
Slight code clean-up
...
Prevents crashing
2022-10-30 15:38:09 -07:00
Maxim Poliakovski
46a0e82258
scsi_hd: some fixes and improvements.
2022-10-27 14:19:58 +02: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
2065f3588b
Inquiry cmd fixed
2022-10-26 09:30:05 -07:00
dingusdev
f792b38ea3
Started SCSI command reading
2022-10-26 09:18:32 -07:00
Maxim Poliakovski
4f6bd16f3a
sc53c94: support selection and command transfer.
2022-10-25 03:03:15 +02:00
Maxim Poliakovski
c51ea575ca
scsi_bus: various fixes and improvements.
2022-10-25 03:03:15 +02:00
Maxim Poliakovski
9efac80271
scsi_hd: fix notify() method.
2022-10-25 03:03:15 +02:00
Maxim Poliakovski
eeb576a927
Improve ScsiDevice class.
2022-10-25 02:53:21 +02:00
dingusdev
3af9729e5b
Modest refactoring for SCSI HDs
2022-10-23 16:45:58 -07:00
Maxim Poliakovski
c2abc89a3b
Fix SCSI HD interface so it can be added to a bus.
2022-10-22 23:41:19 +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
5b08f283e5
Hacks for debugging HW interrupts.
2022-08-27 17:38:53 +02:00
joevt
e41b196977
Fix return value for bad pci config address
...
PCI config read fails should return all 1 bits.
All unused registers in an existing PCI device should return 0.
Because that's what my Power Mac 8600 returns when I run my Open Firmware lspci command.
Any bus/device/function that doesn't exist returns FF and won't be listed by lspci.
Any registers that are unused will show as 00 in the lspci output.
Make grackle log bus:device.function @register.size in all cases.
2022-08-24 07:58:12 -07:00
Maxim Poliakovski
994f8d7155
viacuda: fix interrupts.
2022-08-24 14:15:48 +02:00
joevt
1ccc8d1a25
Fix setenv and printenv
...
- Allow changing integer variables. Previously they could not be changed.
- Allow changing string variables. Previously they could only be changed if their length increased.
- printenv had a bug with strings longer than 32 characters.
- printenv now translates carriage return (used in nvramrc) as endl (which should perform carriage return and linefeed)
- For integers, setenv assumes decimal number input but if that fails it will try hex conversion. 0x prefix for hex numbers is optional unless the number only has digits 0 - 9.
- setenv converts linefeed to carriage return for string variables. nvramrc requires this for proper editing in Open Firmware.
- Added Open Firmware 2.4 nvram field names to OfNvramHdr comments.
2022-08-22 17:20:04 -07:00
joevt
3ee2ea1871
Fix read/write argument names
...
base class uses reg_start so derived classes should do the same.
Some derived class already uses reg_start for read method.
2022-08-22 17:16:22 -07:00
joevt
3b4f40635a
Register offsets should be logged as hex
...
- decimal values are confusing (can't tell if 12 means 12 or 18)
- most specs show hex values for register offsets.
2022-08-22 17:16:22 -07:00