Maxim Poliakovski
a9cb0cfb2a
atahd: report correct CHS parameters & capacity.
...
This is required for Open Firmware 2.x to boot Mac OS X
and OpenDarwin.
2024-03-20 12:16:10 +01:00
Mihai Parparita
fc6a4872d6
Ensure that NVRAM is persisted when exiting the debugger after an abort
...
The SIGABRT handler is not invoked by the abort() call in the loguru
fatal handler, but either way it's not necessary (it does its own abort).
Switch to explicitly cleaning up the machine object, which as a side
effect in the destructor chain will persist the NVRAM.
2024-03-20 12:16:10 +01:00
dingusdev
284f58dec4
Continued build fixing
2024-03-16 19:24:40 -07:00
joevt
e51bc0cea5
scsihd: Reorder switch statement.
...
Order by case value to match scsicdrom.
2024-03-16 17:44:09 -07:00
dingusdev
da9770c99b
Attempted build fix
2024-03-16 13:45:28 -07:00
joevt
266d45e13a
timermanager: Make immediate timer more immediate.
2024-03-16 11:46:40 -07:00
joevt
703662cb5b
timermanager: Add some thread safety.
2024-03-16 11:46:30 -07:00
joevt
833f74dce6
timemanager: Remove unnecessary parameter.
2024-03-16 11:36:41 -07:00
joevt
014aa90462
timemanager: Remove timer minimum timeout.
2024-03-16 11:36:25 -07:00
joevt
f5dcaebbf8
timemanager: 0 is also < a positive integer.
2024-03-16 11:36:10 -07:00
dingusdev
02a9e8d886
Partial fix for writing qwords
2024-03-15 22:00:54 -07:00
joevt
4fe8cf76bb
control: Fix framebuffer start for OF and macOS.
2024-03-15 10:27:48 -07:00
joevt
d4ee43179c
control: 15bpp mode is big endian.
2024-03-15 10:27:33 -07:00
joevt
5afe1f1a25
control: MISC_ENABLES is a 12 bit register.
2024-03-15 10:27:24 -07:00
joevt
7eb9a66837
atimach64gx: Calculate vert_blank.
...
So it's not always zero.
2024-03-15 10:16:44 -07:00
joevt
aa33a1644c
control: Support unaligned read and size != 4.
2024-03-15 09:29:36 -07:00
joevt
c42e1f28d6
atimach64gx: Fix fb_pitch calculation.
...
Also, move the calculation to crtc_update where we calculate everything else (including bits per pixel which is needed for the fb_pitch calculation.
2024-03-15 09:20:06 -07:00
joevt
fe21108f08
atimach64gx: Implement hardware cursor.
2024-03-15 08:50:34 -07:00
joevt
81f3b95914
atimach64gx: Add write CRTC_INT_CNTL.
...
Required for interrupt handling.
2024-03-15 07:57:47 -07:00
joevt
2daad2d223
atimach64gx: Add write ATI_CRTC_VLINE_CRNT_VLINE.
...
Maybe for interrupts.
2024-03-15 07:03:57 -07:00
joevt
09becbfb04
atimach64gx: Add write ATI_CRTC_H_TOTAL_DISP.
...
For debugging.
2024-03-15 07:03:46 -07:00
joevt
1f9f2d2cf1
sixty6: Add support for sixty6 video output.
2024-03-14 20:06:55 -07:00
joevt
939d6d42bb
machineproperties: More binary property values.
2024-03-14 19:16:54 -07:00
joevt
45a9d45e3f
Add SCSI devices.
...
scsibus has a new method attach_scsi_devices which is used by all machines to populate a SCSI bus with one or more hard drives or CD-ROM drives.
HDDs are specified by the hdd_img property.
CDs are specified by the cdr_img property.
Multiple images are delimited by a colon :
attach_scsi_devices is called by the scsi controller after the scsi controller has attached itself to the scsi bus.
The bus suffix is applied to the property name.
Curio has no suffix so it will use hdd_img and cdr_img properties.
Mesh is expected to have a suffix of 2 so it will use hdd_img2 and cdr_img2 properties.
HDDs will skip SCSI ID 3 unless 7 HDDs are added, in which case, the seventh HDD will use ID 3.
CDs will start at SCSI ID 3, go to 7, then down to 0.
SCSI IDs are skipped if a device is already using that SCSI ID.
ScsiCdrom and ScsiHD no longer use REGISTER_DEVICE or DeviceDescription or PropMap which is normal for devices that can have multiple instances.
2024-03-14 19:12:11 -07:00
Mihai Parparita
cfca42e577
Add basic support for multiple hard disks in the 6100
...
We treat the hdd_img parameter as a colon-separated list of disk
images and create additional SCSI HD devices as needed.
2024-03-14 19:11:54 -07:00
joevt
4c9b125cc8
amic: Add modem port transmit DMA.
2024-03-14 08:05:42 -07:00
joevt
e1e00c951b
sc53c94: Split real_dma_xfer.
...
Create real_dma_xfer_out and real_dma_xfer_in methods.
2024-03-14 08:01:07 -07:00
joevt
bc5153dd4a
ppcmmu: Make sure dummy page is 8 byte aligned.
2024-03-13 21:45:56 -07:00
joevt
aed74479fd
ppcmmu: Handle undefined mmu mode.
2024-03-13 21:38:26 -07:00
joevt
c14974d167
sc53c94: Init class fields.
2024-03-13 21:37:08 -07:00
joevt
f07de5401d
sc53c94: Add registers and comments.
2024-03-13 21:25:28 -07:00
dingusdev
faf066f2b9
Fixed building
2024-03-13 21:17:04 -07:00
joevt
06640844e9
scsihd: Allow read and write > 4 GB.
2024-03-13 21:09:55 -07:00
joevt
bfc703a556
scsihd: Add sector_size.
...
Replace HDD_SECTOR_SIZE with class field sector_size.
2024-03-13 21:06:18 -07:00
joevt
ec01993d84
scsihd: Make seek and rewind illegal.
2024-03-13 18:42:25 -07:00
joevt
5a54b6a761
scsicdrom: Rename read_capacity_10.
...
Like scsihd.
2024-03-13 07:50:32 -07:00
joevt
a605c435b6
scsicdrom: Move test_unit_ready.
...
Make it a separate method like scsihd.
2024-03-13 07:50:20 -07:00
joevt
05da1708eb
scsihd: Remove unused cur_buf_cnt.
2024-03-13 07:46:12 -07:00
joevt
3f826b8971
scsi: Add illegal_command method.
...
- scsicdrom now logs unsupported commands instead of abort.
2024-03-13 07:45:50 -07:00
joevt
de8388f9a7
scsihd: Rename img_buffer to data_buf.
...
To match scsicdrom.
2024-03-13 07:44:52 -07:00
joevt
569f782a60
scsihd: Rename hdd_img to disk_img.
2024-03-13 07:44:43 -07:00
dingusdev
96b9b6a375
Fixed building
2024-03-12 21:30:38 -07:00
dingusdev
410502fa7e
Merge branch 'master' of https://github.com/dingusdev/dingusppc
2024-03-12 21:15:49 -07:00
Maxim Poliakovski
a8cd73cc69
hammerhead: remove MACH_TYPE_CATALYST definition.
...
Catalyst uses another memory controller (Platinum)
that significantly differs from Hammerhead.
Low-level board constants don't match too.
2024-03-12 17:41:12 +01:00
Maxim Poliakovski
54ce23d0a8
platinum: cleanup non-DWORD register reads.
2024-03-12 17:29:19 +01:00
Maxim Poliakovski
2d68b72dbd
platinum: use meaningful name for 'register _4B'.
2024-03-12 17:05:47 +01:00
joevt
091cf4337c
scsidevice: Remember SELECT_WITH_ATN message.
...
It might be an IDENTIFY message which contains a LUN number.
2024-03-12 08:01:52 -07:00
joevt
ff9b8a59e2
scsibus: Change control lines for MESSAGE_IN.
2024-03-12 07:49:43 -07:00
joevt
6e4544450e
platinum: Add register _4B.
2024-03-12 07:07:43 -07:00
joevt
d4922beefe
platinum: Don't ignore read/write of size != 4.
...
For reading, we'll return values such that dumping bytes or words or longs in Open Firmware will produce the same info in all cases.
2024-03-12 07:07:36 -07:00