1203 Commits

Author SHA1 Message Date
joevt
744c0d39b5 amic: Make interrupt flags atomic. 2025-02-23 15:35:29 -07:00
joevt
b75dd075bc scsibus: Report error without aborting.
Also, use bus name in log messages.
2025-02-23 10:11:54 -07:00
joevt
1b48983bf6 atapicdrom: Rename descriptors. 2025-02-23 09:58:27 -07:00
joevt
9fbb705595 ohare: Restore NVRAM to subdevices.
It was accidentally removed in previous conflict resolution.
2025-02-17 06:03:57 -07:00
joevt
063a9a6859 machinegazelle: Update ohare to heathrow standard.
Add feature_control.
Add Ide0.
Remove Ide1.
Add Mesh.
Remove built-in Ethernet.
Add Swim3.
Implement device and DMA interrupts.
Fill in dma read and write methods.
Add ESCC compatible addressing.
2025-02-16 10:11:42 -07:00
joevt
434ceab25a Use explicit typecast of float to int. 2025-02-16 07:00:15 -07:00
joevt
101bb826f1 Make irq_id 64 bits.
- So that DMA and other interrupts can fit without overlap.
- To simplify conversion to interrupt mask.
- To reduce variables, defines, and code.
2025-02-10 06:49:39 -07:00
Rairii
662166d7c6 heathrow: Add Media Bay ID accessor.
So that a machine can override the mb_id.
2025-02-09 16:51:42 -07:00
joevt
7e9bf45f3d scsihd: Fix data_buf size.
This fix will be replaced by having ScsiHardDisk use BlockStorageDevice.
2025-02-08 12:33:47 -07:00
joevt
2f30395d00 Break long lines.
Make them 130 characters or less.
2025-01-30 06:30:51 -07:00
Mihai Parparita
40617692b8 scsi: Check for maximum transfer size
Better to fail immediately than to have a buffer overflow.
2025-01-07 22:52:00 -08:00
Maxim Poliakovski
497ab52ff0 nubusutils.cpp: break long lines. 2025-01-04 23:00:11 +01:00
joevt
24baf77dba nubusutils: rom_size fixes.
Support 64-bit file size.
Abort if file size > 16 MiB.
Calculate lane expanded memory size using integer arithmetic only.
Allocated memory is rounded to 4096 bytes. This can be adjusted. The lowest rounding of 4 would be "+ 3) / 4 * 4" instead of "+ 4095) / 4096 * 4096".
Abort if ROM size after lane expansion is > 16 MiB.
Expand lanes starting with the last byte instead of the first since the last byte must align with the last used lane of the memory range.
Include ROM image name in exceptions.
2025-01-04 12:27:46 -07:00
Maxim Poliakovski
ce245f8885 Move SAA7187 emulator to devices/video 2025-01-03 18:11:57 +01:00
Maxim Poliakovski
e508031c98 Move Athens emulator to devices/common/clockgen 2025-01-03 17:47:04 +01:00
Maxim Poliakovski
4ed13cdd04 control: break long lines. 2025-01-02 23:27:23 +01:00
Maxim Poliakovski
f31f13f77b Add nubusutils for handling DeclROMs for Nubus/PDS/VDS cards. 2024-12-30 13:04:47 +01:00
joevt
ee45291533 superdrive: Make sure track remains in range. 2024-12-17 07:16:13 -07:00
joevt
f813aed1ce superdrive: One exit path for status. 2024-12-17 07:11:01 -07:00
joevt
a62954d1a7 superdrive: Separate function for set_motor_stat. 2024-12-17 07:10:22 -07:00
Maxim Poliakovski
749e296796 scsihd: use legacy vendor name
supported by legacy low-level disk initialization SW.
2024-12-14 22:33:22 +01:00
joevt
394fdd00f0 machinegazelle: Support 160 MB RAM. 2024-12-10 18:22:02 -07:00
joevt
3124b10eaa Implement DIMM properties. 2024-12-08 12:26:14 -07:00
joevt
f42b239713 heathrow: Use mask, not minus, for address decode. 2024-12-07 10:12:01 -07:00
joevt
bfc51b8967 heathrow: Add missing this. 2024-12-07 10:04:15 -07:00
joevt
9c66a56a65 heathrow: Replace res with value. 2024-12-07 09:58:55 -07:00
joevt
78696aa822 chario: Use "this" for class fields. 2024-12-06 07:25:14 -07:00
joevt
1f8a76e534 escc: Remove unused variable. 2024-12-06 07:22:04 -07:00
dingusdev
1c95619aa4 Assign ESCC B RCV DMA 2024-12-06 05:47:06 -07:00
dingusdev
81ebc40158 Add ESCC B RCV DMA
Diagnosing issues in booting up Mac OS 9.0.4 for Beige G3
2024-12-04 21:11:47 -07:00
joevt
1bf4073fa7 macio: Range check scc compatible register index.
Also, non-compatible registers don't begin until 0x60 for SCC compatible addressing.
2024-12-04 21:03:09 -07:00
joevt
ab59a34604 bandit: Modify address ranges.
- Increase I/O space from 22 bits (4 MB) to 23 bits (8 MB).
- Add Special Cycles and Interrupt Acknowledge Cycles at 14 MB offset.
- Pass Through range at 16 MB offset is 16 MB size. VGA and 24 bit physical addresses can go here.
- Bandit is 32 MB except for pci1 which has GrandCentral at Bandit's 16 MB offset.
2024-12-04 20:47:22 -07:00
dingusdev
31323e7bf1 Fix compiling errors for MON_ID_SENSE (platinum) 2024-12-04 07:48:38 -07:00
joevt
05658ad5c5 platinum: Fix MON_ID_SENSE read/write. 2024-12-04 07:38:53 -07:00
joevt
a593a4a73e platinum: Implement VRAM_REFRESH read. 2024-12-04 07:36:59 -07:00
joevt
99972307dc platinum: Implement FB_TEST read/write. 2024-12-04 07:36:48 -07:00
joevt
d7fb49166f platinum: Add comments and enums for registers. 2024-12-04 07:16:47 -07:00
joevt
0bca7bc743 platinum: Make some FB_CONFIG_1 bits read only. 2024-12-04 07:16:45 -07:00
dingusdev
10a3fa5984 Tweak logging for main branch 2024-12-04 07:11:43 -07:00
joevt
d98929f24c platinum: Registers affect display immediately. 2024-12-04 07:11:07 -07:00
joevt
2ab6a94795 Ignore zero sized DIMM. 2024-12-04 07:10:40 -07:00
joevt
818f982c75 swim3: Create separate reset method.
And set defaults for some class fields.
2024-12-03 18:20:13 -07:00
joevt
e72b571069 swim3: Add enums and use them. 2024-12-03 18:19:23 -07:00
dingusdev
2a92ce78f5 Removed unneeded test code
Was trying to see what was causing Mac OS X's menu bar to sag 96 pixels
2024-12-03 07:46:13 -07:00
Maxim Poliakovski
85d5b10f61 sc53c94: switch to the new DMA API. 2024-12-03 11:37:18 +01:00
Maxim Poliakovski
5057792d4d dbdma: implement xfer_to_device method. 2024-12-03 11:37:18 +01:00
Mihai Parparita
4479387580 Remove using namespace std from remaining header files
It's somewhat of an anti-pattern, and can lead to conflicts with
other symbols (e.g. the Windows build failure in https://github.com/dingusdev/dingusppc/actions/runs/11762906342/job/32766290288,
I removed `using namespace std` from timermanager.h to fix that one).
2024-11-30 20:01:09 -08:00
Maxim Poliakovski
04899d6528 dbdma: prevent STOP from updating xferStatus. 2024-11-30 12:12:32 +01:00
Maxim Poliakovski
bd7c424989 dmacore: add xfer_to method. 2024-11-30 11:55:16 +01:00
Maxim Poliakovski
6d2872a07f superdrive: add missing break. 2024-11-30 11:55:16 +01:00