The 5170 AT hard disk controller is limping along now, so I'm getting ready for a 1.15.4 release
Some other interesting bugs were fixed along the way: the Video component incorrectly assumed that masking a negative number with 0x80000000 would yield 0x80000000 (it actually yields -0x80000000, thank you JavaScript); the ChipSet component provides a new addCMOSMemory() interface that RAM objects can use to bump the CMOS total to match the actual total; the CPU properly implements INSW and OUTSW instructions now (kind of important for the AT hard disk controller)
This commit is contained in:
parent
4ff357669d
commit
0f06c3f039
115 changed files with 2803 additions and 1902 deletions
|
|
@ -123,9 +123,15 @@ X86Seg.loadProt = function loadProt(sel, fSuppress)
|
|||
*/
|
||||
this.cpu.nStepCycles -= 15;
|
||||
|
||||
/*
|
||||
* TODO: Use (direct) Bus memory interfaces instead of (indirect) CPU memory interfaces here?
|
||||
*/
|
||||
var limit = this.cpu.getWord(offDT + X86.DESC.LIMIT.OFFSET);
|
||||
var acc = this.cpu.getWord(offDT + X86.DESC.ACC.OFFSET);
|
||||
var base = this.cpu.getWord(offDT + X86.DESC.BASE.OFFSET) | ((acc & X86.DESC.ACC.BASE1623) << 16);
|
||||
|
||||
Component.assert(this.cpu.getWord(offDT + 0x06) == 0);
|
||||
|
||||
/*
|
||||
* For LSL (which uses fSuppress), we must support X86.DESC.ACC.TYPE.SEG as well as TSS and LDT.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Reference in a new issue