* m68kmmu: PMMU improvements (nw)
- handle RW bit in ATC cache properly
- add page table walk that result in BUSERROR to ATC
- fix ptest instruction
- trap if PLOAD is called with MMU disabled on MC68851
- don't skip descriptor status update for page descriptors
- set address in ptest to last descriptor address
- add function code page table lookup
- fix ptest level report in MMU SR
- fix TT register matching (test RW bit, fix masking of bits)
- decode fc field for pload instruction
- fix decoding of pload instruction
* m68kmmu: remove unused variable (nw)
* m68kmmu: abort table search when WP is encountered
* m68kmmu: various improvements
* hp9k_3xx: call MMU buserror handler
* m68kmmu: set M bit if root descriptor is of page type
It seems like at least the 68030 sets the M bit in the MMU SR
if the root descriptor is of PAGE type, so do a logical and
between RW and the root type.
* m68kmmu: fix comment
* m68kmmu: rename descriptor types to more useful names
* m68kmmu: set type for 8 byte table descriptors
* m68kmmu: use iterative approach for table walking
* style (nw)
* fix ptest argument (nw)
* hp9k_3xx: ignore buserror if it's caused by a page table walk (nw)
* m68kmmu: initialize addr_out to 0 (nw)
Otherwise we might return an arbitrary value if ptest can't
find an entry. Shouldn't matter for the OS, but that
change makes at least the compiler happy.
- add virtual methods opcode_cpuid opcode_rdmsr opcode_wrmsr
- default implementations in class i386_device log an error message
- derive Pentium MMX, Pentium II, Pentium III classes from
pentium_pro_device
- remove pentium_msr_* p6_msr_* piv_msr_* MSR_READ MSR_WRITE routines
and call virtual methods instead
- the routine pentium_rdmsr modifies the registers only if the msr is
valid
Previous order of code triggered a state change after
the disconnect, which confused the NETBSD installer. With this
fixed, writing a disklabel to a netbsd chd works.
* ignore unaligned palette select bits in bpp modes > 4
* map some inputs in rad_ping (nw)
* fairly sure these don't use Y index (used in ttv_mx road calcs, although still not correct) (nw)
* dma IRQ allows ttv_lotr and drgqst to run further (nw)
* name fix (nw)
* change irq handling a little (nw)
* timer notes (nw)
* (nw)
* m52 - use multiple palettes and regions instead of kludging into one (nw)
* split alpha1v into different class etc.
* with named regions these comments are redundant (nw)
* (nw)
* duplicated line by mistake (nw)
* this seems plausible (nw)
* fix sprite colours, looks like mpatrol could potentially support 3bpp anyway and the existing kludigng of the sprite clut prom was to save memory
* mark it as working, I'm pretty sure 99% of the badness now is just the game
* TODO note (nw)
This makes Pascal 3.25 boot/run from SCSI on hp9k_3xx. Pascal
is now a fully running OS like BASIC on these machines. While
at it also clean up a few style issues.
Most hardware is in place now, initial diagnostics pass and it's possible to enter both the boot monitor and load/run the sash (stand-alone shell) from disk. The keyboard no longer works in sash, possibly because it's expecting a MIPS-specific keyboard to be connected. RISC/os loads apparently successfully but dies shortly after, probably due to lack of TLB in r3000.cpp.
An attempt to add the NEC V50 to the existing V53/V53A devices. Also overhauled for devcb3, and made some required changes to the peripherals. Because this is a pretty wide-ranging change, I thought I'd solicit feedback before merging it.
* v53: refactor and add v50, devcb3, use templates and other general cleanup
* am9517a: add 16 bit transfer support to v5x_dmau variant
* i8251: minor tidy on v5x_scu variant
* hng64: update to match v53 changes
* mpc3000: update to match v53 changes