minor changes

This commit is contained in:
copy 2013-12-20 22:05:49 +01:00
parent e73c75b8ee
commit d7d8c2d2ff
6 changed files with 35 additions and 11 deletions

View file

@ -650,6 +650,7 @@ function div32(source_operand)
if(result >= 0x100000000 || source_operand === 0)
{
dbg_log("div32 #DE: " + h(dest_operand_high, 8) + ":" + h(dest_operand_low, 8) + " div " + h(source_operand, 8));
trigger_de();
}
else

View file

@ -52,7 +52,7 @@ var
///** @const */ LOG_LEVEL = LOG_FPU | LOG_OTHER;
///** @const */ LOG_LEVEL = LOG_DMA | LOG_DISK | LOG_IO | LOG_PCI;
//** @const */ LOG_LEVEL = LOG_DMA | LOG_DISK | LOG_PCI | LOG_CD | LOG_BIOS;
/** @const */ LOG_LEVEL = LOG_ALL & ~LOG_DMA & ~LOG_PS2 & ~LOG_DISK & ~LOG_CD & ~LOG_BIOS;
/** @const */ LOG_LEVEL = LOG_ALL & ~LOG_DMA & ~LOG_PS2 & ~LOG_PIT;
///** @const */ LOG_LEVEL = LOG_SERIAL | LOG_IO;
///** @const */ LOG_LEVEL = LOG_PIT | LOG_RTC;
///** @const */ LOG_LEVEL = 0;
@ -171,4 +171,15 @@ PSE_ENABLED = 128,
/** @const */ TIME_PER_FRAME = 33;
var
/**
* The minimum number of bytes that can be memory-mapped
* by one device.
*
* @const
*/
MMAP_BLOCK_BITS = 14,
/** @const */
MMAP_BLOCK_SIZE = 1 << MMAP_BLOCK_BITS;

View file

@ -138,8 +138,8 @@ function dump_regs_short()
line2 += r32_names[i+4] + "=" + h(reg32[r32[r32_names[i+4]]], 8) + " ";
}
line1 += " eip=" + h(get_real_ip(), 8);
line2 += " flg=" + h(get_flags());
line1 += " eip=" + h(get_real_ip() >>> 0, 8);
line2 += " flg=" + h(get_flags(), 8);
line1 += " ds=" + h(sreg[reg_ds], 4) + " es=" + h(sreg[reg_es], 4) + " fs=" + h(sreg[reg_fs], 4);
line2 += " gs=" + h(sreg[reg_gs], 4) + " cs=" + h(sreg[reg_cs], 4) + " ss=" + h(sreg[reg_ss], 4);
@ -165,7 +165,7 @@ function dump_regs()
{
if(opcodes[i])
{
out += h(opcodes[i], 6) + ": " +
out += h(opcodes[i], 8) + ": " +
String.pads(opcodes[i + 1], 20) + h(opcodes[i + 2], 2) + "\n";
}
}
@ -180,7 +180,7 @@ function dump_regs()
{
dbg_log(i + " = 0x" + h(reg32[r32[i]], 8));
}
dbg_log("eip = 0x" + h(get_real_ip(), 8));
dbg_log("eip = 0x" + h(get_real_ip() >>> 0, 8));
for(i in s)
{

View file

@ -1,7 +1,7 @@
"use strict";
/** @const */
var FPU_LOG_OP = true;
var FPU_LOG_OP = false;
/**
@ -739,12 +739,12 @@ function FPU(io)
if(imm8 >= 0xC0)
{
dbg_log(h(op, 2) + " " + h(imm8, 2) + "/" + (imm8 >> 3 & 7) + "/" + (imm8 & 7) +
" @" + h(instruction_pointer, 8) + " sp=" + stack_ptr + " st=" + h(stack_empty, 2), LOG_FPU);
" @" + h(instruction_pointer >>> 0, 8) + " sp=" + stack_ptr + " st=" + h(stack_empty, 2), LOG_FPU);
}
else
{
dbg_log(h(op, 2) + " /" + (imm8 >> 3 & 7) +
" @" + h(instruction_pointer, 8) + " sp=" + stack_ptr + " st=" + h(stack_empty, 2), LOG_FPU);
" @" + h(instruction_pointer >>> 0, 8) + " sp=" + stack_ptr + " st=" + h(stack_empty, 2), LOG_FPU);
}
}
@ -1177,8 +1177,14 @@ function FPU(io)
// fdisi
// also treat as nop
}
else if(imm8 === 0xE2)
{
// fclex
status_word = 0;
}
else
{
dbg_log(h(imm8));
fpu_unimpl();
}
break;

View file

@ -236,7 +236,7 @@ function PIC(dev, call_interrupt_vector, handle_irqs, master)
{
// ocw1
irq_mask = ~data_byte;
//dbg_log("interrupt mask: " + (irq_mask & 0xFFFF).toString(2) + " / map " + h(irq_map), LOG_PIC);
//dbg_log("interrupt mask: " + (irq_mask & 0xFF).toString(2), LOG_PIC);
}
}
else if(state === 1)
@ -257,8 +257,8 @@ function PIC(dev, call_interrupt_vector, handle_irqs, master)
function port21_read()
{
//dbg_log("21h read (" + h(irq_map) + ")", LOG_PIC);
return ~irq_mask;
//dbg_log("21h read " + h(~irq_mask & 0xff), LOG_PIC);
return ~irq_mask & 0xFF;
};
if(is_master)

View file

@ -23,4 +23,10 @@ function UART(dev)
line += String.fromCharCode(out_byte);
}
});
io.register_read(0x3FD, function(out_byte)
{
// TODO
return 0xFF;
});
}