VOGONS

Common searches


Search results

Display options

Re: Is the 8088/86 pipelined?

This is what I get after adjusting the MMUR cycles to 5 each access(on top of the 10 or 8 cycles already mentioned, so 10+5/10 and 8+5/10 cycles). 8088MPH_RasterBars_5cyclesPerMemory.zip Edit: Reducing the 10 and 8 cycles with 5(which is included in the cycle count) improves performance again, with …

Re: 80286 CPU testing program?

The hard disk BIOS starts at that segment: The VGA BIOS is 24kB large, so 6000h bytes. Divided by 16 this results in 600h segements, thus with a base of C0000 this results in it ending at C5FFF, thus the hard disk BIOS starts at C6000(aligned to 2kB(800h).

Writing AVI files with audio in pure C?

I'm considering adding support for AVI file (video+audio at the specified aspect ratio currently used, after scaling to get a fixed resolution(800x600 for VGA, custom for CGA, 768p, 1080p; depending on the current aspect ratio. Of course screen changes will add increasing numbers to the new …

Re: Is the 8088/86 pipelined?

Reenigne, your last post makes me remember something: I currently have the IN and OUT instructions to use 10(opcodes E4/E5/E6/E7) and 8(opcodes EC/ED/EE/EF) cycles. Does that include the cycles spent on the bus(I/O operation itself)? So do I still need to add 4 or 8 memory(actually I/O) cycles …

Re: Finding bugs in the 80(1/2)86 emulator core?

I've implemented the logging of bogus memory (triggered by 5 ADD '0000h' instructions in currently executing memory(non-prefetched) at CS:(E)IP). Trying to run the SETTUP.COM from the AT Diagnotics Disk from MS-DOS 5.0a only logs the following information(I'm using revision 3 of the AT BIOS): …

Finding bugs in the 80(1/2)86 emulator core?

I've noticed that, when enabling the "Quit on #UD(undefined) instruction" and running various software on my 80286 core, I get #UD exceptions(actual 80286 opcodes that are officially(and unofficially too afaik, like the GRP5 /7 opcode) invalid). This seems to be because it's executing code in bogus …

Re: Implementing 80286 cycle timings in UniPCemu?

The current emulation emulates a pretty cycle-accurate 80286 at 8MHz(tested using the first revision 3 BIOS from minuszerodegrees). It uses 3 cycles each bus cycle. The BIOS seems to work without many problems(other than hardware problems being reported due to inaccurate hardware itself, such as …

Re: IBM PC AT emulation crashing?

Well, the 80(1/2)86 core shouldn't be the problem, as it doesn't contains any new opcodes that deal with IP(There is one overwritten 8086 instruction (instruction 8E), but that disables the writes to CS(and thus the new IP that's set with CS too) and redirects those to a #UD exception). So the …

Re: IBM PC AT emulation crashing?

The RTC is connected to IRQ8, which usually maps to interrupt 50h, if I'm not mistaken? It gives a lot of strange errors during the XT (on a XT with 80286 connected). Most of the display is corrupted after the first 5-10 tests. (it gives the same as the 31_ROMPOSTDIAGNOSTICS2.png given earlier). It …

Re: IBM PC AT emulation crashing?

I've just modified the BIOS to be able to use practically any ROM size with it's seperated ROMs. I've started the ROM from minuszerodegrees for diagnostics (http://www.minuszerodegrees.net/supersoft_landmark/Supersoft%20Landmark%20ROM.htm). I'm using the 5170 version: 30_ROMPOSTDIAGNOSTICS1.png 31_ …

Re: IBM PC AT emulation crashing?

I've tried executing that part of the software again, but with full debugger logging enabled(always log setting) and #UD triggering the emulator(and logging) to terminate itself. Debugger log of Day of The Tentacle from the point of starting the game(choosing the start option in the DOTT.EXE menu): …

Re: IBM PC AT emulation crashing?

Just tried running DOTT(Day of the Tentacle) on my 80286-8(with IBM AT BIOS revision 3) emulation once again (with the entrie emulator being changed from bitfields to use byte/word/dword logic with bitwise operations instead). It eventually crashes at 0020:1D13 with an #UD:(all values below are in …

Re: IBM PC AT emulation crashing?

So now the only part of the emulator that still needs adjusting it's bitfields to become byte calculations are the VGA(not SVGA/CGA/MDA) registers. Although most are probably only used in the precalculations part of the emulator, since it gathers all register data for rendering etc.

Re: IBM PC AT emulation crashing?

I've now replaced the all CPU routines to use bitmasks, shifts and ORs to apply all bits that need to be applied. Now the only places still using those bitflags are: - All (S)VGA registers (vga.h and almost all VGA-related rendering functionality). Those are all places that still need to be changed …

80286 CPU testing program?

I know that my emulator seems to have a CPU bug (jumping to the wrong address for some reason) on my 80286+ CPU emulation(80(1)8X emulation doesn't seem to have that bug). Is there a simple program (or set of tools) I can use to find that wrongly-implemented instruction? I've diagnosed that problem …

Re: Why is the PG bit of CR0 of the 80386 at bit 31?

By the way, is it possible to use the paging unit from 16bit protected mode (on 386) ? Please excuse my ignorance. I know, this is probably a silly question, but I never thought about this. I would be interesting to know, though. Imagine a 16bit operating system, like OS/2 1.x, had the ability to …

Re: IBM PC AT emulation crashing?

So I would need to change ALL bitfields used in my emulator to bytes/words/dwords/uint_64 and use a support #define getbits(field,shift,mask) ((field>>shift)&mask) #define setbits(field,shift,mask,value) field=((field&(~(mask<

Page 220 of 275