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
eb1d5d0a6d
atimach64gx: Make sure refresh rate is reasonable.
2024-03-11 20:27:00 -07:00
joevt
a190d5cbd9
atimach64gx: Handle all pixel formats.
2024-03-11 20:26:07 -07:00
joevt
ab647ec0eb
atimach64gx: Move pixel clock calculation.
2024-03-11 20:25:32 -07:00
joevt
bcd057d45b
atimach64gx: Don't recalculate if nothing changed.
2024-03-11 19:25:42 -07:00
joevt
0a63e2946d
atimach64gx: Init some fields.
2024-03-11 19:25:18 -07:00
joevt
ee2ec7fe54
atimach64gx: Update VGA unsupported mode message.
2024-03-11 08:00:48 -07:00
joevt
1f63342c96
atimach64gx: Handle disabled display.
2024-03-11 08:00:38 -07:00
joevt
6e094a8edb
atirage: Remove crtc_enable.
2024-03-11 07:55:15 -07:00
joevt
a0ce1efabe
display_sdl: Add Mouse Grabbed to window title.
...
Necessary when the window is created after a restart while mouse is grabbed.
2024-03-11 07:10:26 -07:00
joevt
babefd09f3
atimach64gx: Rename enable_crtc_internal.
2024-03-10 17:02:38 -07:00
joevt
578e5dc063
atimach64gx: Remove disable_crtc_internal.
2024-03-10 17:02:29 -07:00
joevt
2a290ff9c1
atimach64gx: Remove crtc_enable.
2024-03-10 17:02:18 -07:00
joevt
bfd60155b6
atimach64gx: Fix DAC_CNTL for non-byte access.
...
If offset is 2, a size of 2 will also overwrite byte 3.
2024-03-10 17:00:47 -07:00
joevt
df09a1e3bf
atimach64gx: Register cleanup.
...
- Use register number instead of offset.
- Have one exit path from the read_reg and write_reg methods.
2024-03-10 16:59:11 -07:00
joevt
3cced5e29b
atimach64gx: Use register field names.
2024-03-10 16:58:36 -07:00
joevt
bd5ecf8cbb
atimach64gx: Init CRTC_DISPLAY_DIS.
2024-03-10 16:54:48 -07:00
joevt
3e6f7ef541
atimach64gx: Init FIFO_CNT.
2024-03-10 16:54:31 -07:00
joevt
ac5b434641
atimach64gx: Add verbose_pixel_format.
...
It is used to log the pixel format/depth.
2024-03-09 17:57:27 -07:00
joevt
00f917f52e
atimach64gx: Add io_access_allowed.
...
This method is used by both pci_io_read and pci_io_write to determine if ISA type I/O access is allowed.
The SPARSE_IO_BASE I/O address is defined. This I/O range is not defined by an I/O BAR.
2024-03-09 17:54:05 -07:00
joevt
6f231f3367
grandcentral: IOBus changes.
...
- Add IOBusDevice (nvram_addr_hi_dev) for NVRAM addr hi.
- Add IOBusDevice (nvram_dev) for NVRAM data.
- Make all IOBusDevices use the same code.
- Log error if 4 least significant bits of offset are not zero.
- Correctly byte swap the value before passing it to the IOBusDevice.
- When reading, duplicate the bytes in a word or dword like a real Power Mac does.
2024-03-09 06:02:23 -07:00
joevt
97f08f21b7
appleramdac: Add get_clut_entry_cb.
2024-03-08 21:02:41 -07:00
joevt
5d9194d03d
atimach64gx: Add config read/write stub.
2024-03-08 08:00:21 -07:00
Mihai Parparita
7226fe5303
Ensure that video controller refresh task timer is stopped when the object is destroyed.
2024-03-07 23:31:56 -08:00
joevt
7b4d513e22
videoctrl: Add change resolution support.
...
PDM defaults to 640x480.
If you set --mon_id to MacRGB12in then it would draw 512x384 inside a 640x480 window.
If you set --mon_id to Multiscan20in then it would try to draw 832x624 inside a 640x480 window and crash.
If you set the Monitors control panel to switch multiscan display from 640x480 to 832x624 and restart then it would crash.
Now it will correctly change the window size every time the mode changes.
2024-03-06 21:44:10 -07:00
joevt
5b51cd06c0
atimach64gx: Add register names.
...
For logging.
2024-03-06 21:20:23 -07:00
joevt
691fcfb657
atimach64gx: PCI BAR changes.
...
Support changing BAR address.
2024-03-06 18:58:15 -07:00
joevt
49f7da4402
atimach64gx: Remove second column.
...
It incorrectly implies a relationship between items on the same row.
2024-03-06 18:57:52 -07:00
joevt
6c0ca42fff
atimach64defs: Add more registers and bit fields.
2024-03-06 18:57:30 -07:00
joevt
5a049642ea
atirage: Add VBL callback.
2024-03-06 07:50:03 -07:00
joevt
b168459007
atirage: Calculate vert_blank.
2024-03-06 07:42:51 -07:00
joevt
d5c7b5f537
atirage: Add write CRTC_INT_CNTL.
2024-03-06 07:41:12 -07:00
joevt
506ed000a0
atirage: Add write CONFIG_STAT0.
2024-03-06 07:04:59 -07:00
joevt
b92e9216f4
atirage: Add write CRTC_VLINE_CRNT_VLINE.
...
For VLINE interrupt (but Mac OS X doesn't use enable VLINE interrupt).
2024-03-06 07:04:40 -07:00
joevt
6ff5079df8
atirage: Init CRTC_DISPLAY_DIS.
2024-03-06 07:04:25 -07:00
joevt
d686fc04f4
atirage: Fix crtc_update.
...
Add pixel format and pixel clock to the list of fields that will initiate a recalculation.
If frame rate is less than 24 or greater than 120 then assume 60Hz.
2024-03-05 08:02:50 -07:00
joevt
9aef78be4f
atirage: Modify write CLOCK_CNTL.
...
Consider write-only bits: ATI_CLOCK_STROBE can't be read so clear it.
8 bits at Offset 2 is PLL_DATA. If we don't modify PLL_DATA, then insert the current value of PLL_DATA into the value that will be read from ATI_CLOCK_CNTL.
2024-03-05 08:02:20 -07:00
joevt
f6b1c080ad
atirage: Init FIFO_CNT of GUI_STAT.
2024-03-05 07:54:19 -07:00
joevt
d4fa85688d
atirage: Check both offset and size.
...
When checking if a particular byte of a register is accessed, check both the starting position (offset) and ending position (offset + size) of the bytes being access.
2024-03-05 07:52:12 -07:00
joevt
eef6d267c3
atirage: PCI BAR changes.
...
- Add BAR 2 decode. This BAR isn't actually used by Mac OS X, but decode it anyway just in case.
- Support updating of BARs (using change_one_bar method).
2024-03-04 21:13:07 -07:00
joevt
9c48c296c8
atirage: Register cleanup.
...
- Use register number instead of offset.
- Have one exit path from the read_reg and write_reg methods.
2024-03-04 21:11:56 -07:00