Commit Graph

1526 Commits

Author SHA1 Message Date
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
a11770961e Add pci_find_device for pci type 0 requests. 2024-03-09 17:49:51 -07:00
joevt
b0d33a5385 Add pmg3twr machine description. 2024-03-09 17:48:04 -07:00
joevt
2d8f2422b3 dbmda: Fix dma output res_count update.
Use this->res_count to track amount of data transferred.
2024-03-09 06:47:48 -07:00
joevt
0166059d1b dbdma: Add set_stat method.
A hardware device may have status flags connected to 8 status bits of the DBDMA engine.
2024-03-09 06:45:06 -07:00
joevt
50fcb45b88 awacs: Add dma input stub. 2024-03-09 06:20:24 -07:00
joevt
29d13aef09 dma: Add is_active method for input channels.
Since DBDMA contains an input and output channel, rename the existing is_active method to is_out_active.
2024-03-09 06:20:13 -07:00
joevt
31036b8dee grandcentral: Add sound in DMA. 2024-03-09 06:03:33 -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
9a26016ed4 memctrlbase: Clear RAM to zero. 2024-03-08 20:58:41 -07:00
joevt
f541613c6b mpc106: Fix RAM allocation.
Fix bank_end calculation (left shift 28 instead of 30).
Handle unorderred and discontinous ranges.
2024-03-08 20:58:04 -07:00
joevt
6931b2944b mpc106: Allow multiple of the same PCI device.
Grackle allows attaching different PCI devices. This change allows attach multiple of the same PCI device. To make the name unique in the machine map, the name of the PCI slot is appended to the device name.
2024-03-08 20:57:47 -07:00
dingusdev
3b3634bf5f Continued cleanup for bcl 2024-03-08 19:28:51 -07:00
joevt
0af9d0c972 chario: Cleanup. 2024-03-08 19:27:42 -07:00
dingusdev
daeecbe99e Clean-up bc and bcl
Using templating to make the code a touch more readable
2024-03-08 19:22:25 -07:00
joevt
5d9194d03d atimach64gx: Add config read/write stub. 2024-03-08 08:00:21 -07:00
Maxim Poliakovski
3c7ce3de8b
Merge pull request #62 from mihaip/upstream-cuda-restart
Add support for the CUDA_RESTART_SYSTEM command
2024-03-08 15:25:02 +01:00
dingusdev
e56d4e63f4
Merge pull request #76 from mihaip/upstream-mouse-grab2
Add a basic mouse grab mode
2024-03-08 07:10:10 -07:00
Mihai Parparita
57e6e90002 Add support for the CUDA_RESTART_SYSTEM command
There are cases where when it's necessary (e.g. given uninitialized NVRAM,
the Beige G3 with the 10.2 install CD inserted will update the boot
device and restart to boot from it).

Restart support was done by wrapping the ppc_exec function in a loop and
checking for a restart power off reason. We also need to disconnect all
event listeners, since they will be recreated when the machine is
re-initialized.
2024-03-07 23:32:23 -08:00
Mihai Parparita
c7d2eb87ac Initialize MMU recently used regions in ppc_mmu_init
More encapsulated and allows re-initialization.
2024-03-07 23:31:56 -08: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
Mihai Parparita
10af336cd1 Ensure that VIA timers are stopped when the object is destroyed. 2024-03-07 23:31:56 -08:00
Mihai Parparita
f218a38294 Ensure that AMIC pseudo-VBL timer is stopped when the object is destroyed. 2024-03-07 23:31:44 -08:00
dingusdev
2f326a8199 Compile fix for CharIO in VS2022
For some reason, it wouldn't define the symbol when trying to compile with Clang.
2024-03-07 20:57:40 -07:00
dingusdev
eb07a3c2f1 Templating bclr to match with bcctr 2024-03-07 20:44:36 -07:00
joevt
04526012f9 grandcentral: Add Ethernet ROM. 2024-03-07 07:59:13 -07:00
joevt
b5bb214920 ohare: Interrupt fixes.
Based on work done for grandcentral.
2024-03-07 07:58:54 -07:00
joevt
1e587b0848 chario: Move static variable to class. 2024-03-07 07:48:11 -07:00
joevt
97727e0d1e escc: Return NULL if nothing to read. 2024-03-07 07:47:41 -07:00
joevt
723eab59d6 escc: Include port name in log messages. 2024-03-07 07:40:30 -07:00
joevt
1421ccc81e escc: Add dma stub. 2024-03-07 07:30:06 -07:00
joevt
e1d43b8eb2 ppcopcodes: Cleanup branch instructions. 2024-03-07 06:56:37 -07:00
joevt
67bd47f11f ppcopcodes: Fixes for bcctr(l)?.
Add MPC601 variants. Variants that decrement and test the ctr are invalid bon't don't appear to trigger an exception. The manual says MPC601 can decrement the counter. Other CPUs do not decrement the counter but will branch based on the value.
2024-03-07 06:55:54 -07:00
joevt
e44676e491 ppcfpopcodes: Template mffs variants. 2024-03-07 06:45:46 -07: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
052a47734f macio: Add DMA interrupts. 2024-03-06 21:19:04 -07:00
joevt
54767bf97d More interrupts.
- Add all the interrupts including DMA.
- Modify the Interrupt to IRQ_ID translation so the interrupts belonging to the first set of 32 interrupts don't need to be shifted.
2024-03-06 19:17:16 -07:00
joevt
e5bace03f7 Abort if register_dma_int.
Make register_dma_int cause Abort for heathrow and ohare like it does for amic.
2024-03-06 19:17:03 -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
Maxim Poliakovski
30c6cbefbd ppcexec: fix indentation, break long lines. 2024-03-06 23:28:40 +01:00
joevt
5a049642ea atirage: Add VBL callback. 2024-03-06 07:50:03 -07:00