Commit Graph

42 Commits

Author SHA1 Message Date
gbeauche
c71bc8cc4c avoid unaligned memory accessed when patching the ROM (IRIX/mips) 2005-12-12 20:46:31 +00:00
gbeauche
fb42e00b8d Don't require an instruction skipper to fake SCSI globals 2005-03-05 15:44:03 +00:00
gbeauche
df0d5d2a41 Happy New Year 2005! 2005-01-30 21:48:22 +00:00
gbeauche
83f594ec16 patch the right branch instruction, it seems it doesn't much matter whether
we return success (0) or error (-1) in the previous casse.
2004-12-16 23:14:25 +00:00
gbeauche
dfa16d9686 disable power management for now (opcode fe0f) 2004-12-16 22:59:38 +00:00
gbeauche
873377726b fix regression introduced in the load of OldWorld ROMs when Direct Addressing
mode was impemented
2004-12-12 18:45:44 +00:00
gbeauche
3ace37f4eb Implement Direct Addressing mode similarly to Basilisk II. This is to get
SheepShaver working on OSes that don't support maipping of Low Memory globals
at 0x00000000, e.g. Windows.
2004-11-13 14:09:16 +00:00
gbeauche
a83dfd52d0 fix gc_mask2 patch for gossamer 2004-07-14 08:24:07 +00:00
gbeauche
9545f93d3d More accurate Gestalt 'cput' values (G4, 750FX) 2004-07-03 17:48:44 +00:00
gbeauche
32a6ac321c Try to recognize and handle PowerPC 970 (G5). Untested as I don't have such
platforms handy.
2004-07-01 22:55:02 +00:00
gbeauche
41035e5064 Fix Gestalt for PowerPC 745x processors. 2004-06-30 08:17:12 +00:00
gbeauche
eb9961585b Handle 750FX, 7450, 7455, 7457. 2004-06-29 20:25:55 +00:00
gbeauche
e0a76f9e38 Don't handle XLM_IRQ_NEST atomically in emulated mode. That's useless since
this variable is modified only within a single thread and interrupts are
not handled asynchronously.
2004-06-22 17:10:08 +00:00
gbeauche
7bc86b27ee Enable Apple DR emulator from NewWorld ROMs only. 2004-05-31 09:04:44 +00:00
gbeauche
28eb840182 "idlewait" support for Linux and NewWorld ROMs 2004-05-15 16:36:44 +00:00
gbeauche
ae93ea2f16 Make SheepShaver work with OS 8.6 out-of-the-box with no extra patch for
the time being. i.e. ignore writes to the zero page when faking SCSIGlobals
2004-02-24 11:12:54 +00:00
gbeauche
546f65a365 Now that we have AltiVec emulation, we can pretend for a G4 processor
Also make sure to actually fix PVR code for 7400
2004-02-15 17:20:36 +00:00
gbeauche
8d4108dd3a Recognize 7400 & 7410 cpus 2004-01-31 11:10:49 +00:00
cebix
2d5de1af9d Happy New Year! :) 2004-01-12 15:37:24 +00:00
gbeauche
f5aed53e3c clean-ups, going to beat myself tonight 2003-12-15 15:27:01 +00:00
gbeauche
c3a706d354 There may be extra instructions before moving stuff to SCC registers. 2003-12-15 15:25:38 +00:00
gbeauche
24c4ae354c Fix SCC initialization code detection. Move up AddrMap patch space since
we clobber 40 bytes below it and it may intersect with GetScrap patch space.
2003-12-15 15:23:59 +00:00
gbeauche
ae8c08b260 Generic ROM patches from ROMTYPE_PARCELS experiments, no apparent
regession. There is no improvement either.
2003-12-14 14:23:46 +00:00
gbeauche
e517594a51 Fake reading from [HpChk]+4 (FIXME: the callchain reports some function
from DriverServicesLib). Also make fake SCSIGlobals map to zero page.
2003-12-05 12:37:14 +00:00
gbeauche
328bb9f239 Add new thunking system for 64-bit fixes. 2003-12-04 17:26:38 +00:00
gbeauche
be50ff1b42 Adapt ROM patches space to Gossamer ROMs layout. Weird that it passed the
other day.
2003-10-07 19:28:09 +00:00
gbeauche
ad0aea0403 fix parcels decoder 2003-10-06 21:23:53 +00:00
gbeauche
0cb51c42dd cleanups :-) 2003-10-06 21:01:22 +00:00
gbeauche
974ebd5d91 - Add checks against ROM patches space
- Make sure to also load the floppy disk driver with Gossamer ROMs so
  that exfs feature can work too
2003-10-06 21:00:48 +00:00
gbeauche
c9b8dd6628 tm_task is actually correct for both nw & gossamer ROMs 2003-10-05 23:49:19 +00:00
gbeauche
84ce1f2b0d fix tm_task patch for Gossamer ROMs 2003-10-05 23:38:07 +00:00
gbeauche
3768573d35 Add support for Gossamer ROMs (DTG3) 2003-10-05 23:05:05 +00:00
gbeauche
663b536257 Little endian fixes to Serial trampolines. 2003-09-29 22:49:23 +00:00
gbeauche
3d4ed54488 first round of little endian fixes 2003-09-29 20:30:21 +00:00
gbeauche
3851071ecd Try to handle XLM_IRQ_NEST atomically in emulated PPC views. Fix placement
of fake SCSIGlobals (disabled for now). Switch back to mono core emulation
until things are debugged enough. Implement get_resource() et al.
2003-09-28 21:27:34 +00:00
gbeauche
cb1dd6dac5 - Integrate new NativeOp instructions to be used as trampolines to call
native functions from ppc code.
- Little endian fixes in emul_op.cpp
- Add new 'gpch' 750 patch to workaround crash with MacOS 8.6
- Don't crash in Process Manager on reset/shutdown with MacOS 8.6
- We also have an experimental interrupt thread in emulation mode
2003-09-07 14:33:54 +00:00
gbeauche
d29a00c17f Don't call FE0A opcode in Shutdown Manager: handle better NewWorld ROMs.
i.e. don't force a "bra" if there was no "beq" beforehand.
2003-05-21 19:31:57 +00:00
gbeauche
f47379e887 Force installation of floppy driver with NewWorld ROMs otherwise we fail
to open it and further install ExtFS & NQD acceleration.
2003-05-21 18:57:17 +00:00
gbeauche
5843470f9f Finally enable boot on MacOS 8.6 Update CD from iMac DV
- Don't read PVR at ROM_BASE + 0x314600
- Generated code for FC1E and FE0A don't really match comments
- Move FC1E routine base to ROM_BASE + 0x36fb00
- Recognize iMacUpdate 1.1 ROM (nwrom v1.2.1)
2003-05-17 08:42:34 +00:00
gbeauche
0e223c55a3 Correctly print offset to current parcel, not next 2003-05-14 22:11:59 +00:00
gbeauche
665c64b4aa Add support to decode parcels-based ROMs
- include/rom_patches.h (DecodeROM): Declare.
- rom_patches.cpp (DecodeROM): Define.
- Unix/main_unix.cpp, BeOS/main_beos.cpp (decode_lzss): Move to...
- rom_patches.cpp (decode_lzss): ... here.
- Unix/main_unix.cpp (main): Call DecodeROM().
- BeOS/main_beos.cpp (SheepShaver::load_rom): Call DecodeROM().
2002-04-21 15:07:09 +00:00
cebix
8e4d5e5f40 Imported sources 2002-02-04 16:58:13 +00:00