2103 Commits

Author SHA1 Message Date
dingusdev
a6483fa895
Merge pull request #133 from mihaip/upstream-max-scsi-size
scsi: Check for maximum transfer size
2025-01-08 07:35:07 -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
a5ba986666 debugger: set maximal 68k instruction length to 12. 2025-01-06 14:30:13 +01: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
e63f928a3c ppcexec: Simplify ppc_exec_inner.
One while loop instead of two.
One call to ppc_read_instruction instead of four.
2024-12-17 19:01:34 -07:00
joevt
7b1ea17fb8 ppcmmu: Fix compiler warning. 2024-12-17 18:46:53 -07:00
dingusdev
240ec95a74 bench1: Set power_off_reason. 2024-12-17 18:46:20 -07: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
joevt
30582cfb05 main: Make realtime and debugger flags exclusive.
Put them in a separate option group named "execution mode" and specify that only one of them can be selected.
CLI11 will handle the error message if the user attempts to set both options.
2024-12-16 07:12:26 -07:00
joevt
355738d42b machinefactory: ROM identification changes.
Read ROM file once.
Identify 68K and New World ROMs.
Improve identification of Old World ROMs.
Perform checksum checks.
Identify the ROM even if the user specifies a machine option.
2024-12-15 18:53:48 -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
e4d9cb95b4 ppcexec: Make ppc_exec template functions. 2024-12-14 06:32:07 -07:00
joevt
98c7e224fe ppcmacros: Make rot_sh unsigned. 2024-12-14 06:31:59 -07:00
joevt
ac0faf78fd poweropcodes: Fix more compiler warnings. 2024-12-14 06:31:51 -07:00
dingusdev
f08554758b Fixed working directory code
Should work on both Windows and Unix systems
2024-12-13 18:32:52 -07:00
dingusdev
b302014ee1 Revert "main: Add a working directory option."
This reverts commit 210199db1ce4760b57e6d7f297a5514042f43617.
2024-12-13 08:11:12 -07:00
joevt
210199db1c main: Add a working directory option.
This is an alternative method for specifying the working directory.
Normally, the user would change the directory before executing dingusppc to set the working directory.
The working directory is the default location for files and sockets used by dingusppc (the bootrom file, symbols file, nvram, pram, serial port sockets, logs, etc.)
2024-12-13 08:06:23 -07:00
joevt
d48eefceb0 poweropcodes: Remove undefined behavior.
Shift 32 is undefined.
-2^31 - 1 is undefined.
2024-12-12 08:03:47 -07:00
joevt
394fdd00f0 machinegazelle: Support 160 MB RAM. 2024-12-10 18:22:02 -07:00
joevt
78f62c8db8 ppcfpopcodes: Use macros for ppcstate.
Helps with abstraction.
2024-12-10 18:18:32 -07:00
joevt
a64b000459 ppcfpopcodes: Remove extra space. 2024-12-10 18:18:23 -07:00
joevt
1da7cb1c2f ppcmacros: Remove semicolon from one line macros. 2024-12-10 18:18:12 -07:00
joevt
49b8c4c39f ppcfpopcodes: Fix Revert Tweak.
Fixes lfsu, lfsux, lfdu, lfdux so they correctly update rA as before.
2024-12-11 00:19:06 +01:00
joevt
bf4ee72c0f machinetnt: Chaos is optional.
It's not used for Power Mac 9500/9600.
2024-12-08 12:39:07 -07:00
joevt
3124b10eaa Implement DIMM properties. 2024-12-08 12:26:14 -07:00
dingusdev
47969d9d50 Reverting tweak
Restoring Virtus Player back to 'normal'
2024-12-07 20:49:00 -07:00
dingusdev
c0a06a88c7
Merge pull request #132 from mihaip/upstream-volatile
Suppress Clang warnings about `volatile` being deprecated
2024-12-07 16:40:57 -07:00
Mihai Parparita
ab5f7071ce Suppress Clang warnings about volatile being deprecated 2024-12-07 15:30:24 -08: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
cea889bde5 ppcopcodes: Cleanup lzu lzux lhau lhaux. 2024-12-07 06:34:00 -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
d22f926a8a Tweak s*u(x) and l*u(x) instructions for 601
These are what the instructions are supposed to do according the 601 manual.
2024-12-06 07:07:36 -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