VOGONS

Common searches


Search results

Display options

Re: Emulator vs SDL_APP_LOWMEMORY?

Like I said, if I store that data(up to 100MB+) in files and free the memory. Then if I reallocate the memory using malloc during SDL_APP_DIDENTERFOREGROUND, will the reallocation(up to ~100MB+ previously freed) always succeed? Is it possible for the malloc(reallocating those buffers) to fail? If it …

Re: Emulator vs SDL_APP_LOWMEMORY?

IF I modify it to dump all dynamically allocated data to disk, can a foreground event(SDL_APP_SIDENTERFOREGROUND) be assured to reallocate all those? So up to 64MB(autodetected using malloc, I usually limit it to 4MB) RAM buffer as well as 1MB video memory, VGA VRAM(256k) and various hardware …

Re: Emulator vs SDL_APP_LOWMEMORY?

So what CAN I do without losing any emulation data? Everything that's allocated is mostly RAM blocks containing emulation states(VGA VRAM, video rendering helper data allocated through SDL2, precalculation tables used for various hardware and emulated RAM memory containing all emulated stuff(so …

Emulator vs SDL_APP_LOWMEMORY?

Do emulators have to do something when SDL_APP_LOWMEMORY is received? Since all allocations are used all the time? Flush all memory allocated to disk and reallocate on becoming active again(standby mode), otherwise terminate?

Re: Common log format

f000:0000909e E8 EF 00 call 00009190 Physical(r):000F9190=33(3); Paged(r):000F9190=33(3); Physical(r):000F9191=DB(Û); Paged(r):000F9191=DB(Û); Physical(r):000F9192=8A(Š); Paged(r):000F9192=8A(Š); Physical(r):000F9193=5E(^); Paged(r):000F9193=5E(^) Questions: 1) Does (r) mean a byte read? Yes. …

Re: x86 software vs hardware clocks

I've read that before, it's the basic principle I've implemented my emulator's core loop is based around(with clipping in case of it being too slow): OPTINLINE byte coreHandler() { uint_32 MHZ14passed; //14 MHZ clock passed? byte BIOSMenuAllowed = 1; //Are we allowed to open the BIOS menu? //CPU …

Re: x86 software vs hardware clocks

Just looked at it(rotating the images 180 degrees to read the crystal values easier). The 25MHz crystals both say 25.175MHz. The 28MHz crystal seems odd indeed: VGA=28.3210MHz, PS/2=28.3220MHz Note that it reads 25.175000 and 28.322000, which do indicate it's designed for that (within tolerance) …

Re: x86 software vs hardware clocks

Just looked at it(rotating the images 180 degrees to read the crystal values easier). The 25MHz crystals both say 25.175MHz. The 28MHz crystal seems odd indeed: VGA=28.3210MHz, PS/2=28.3220MHz(So it's about 0.0010MHz off? So 1000PPM off? If it's limit is 30 or 50PPM, that's not supposed to work with …

Re: x86 software vs hardware clocks

Then what about the VGA 25/28MHz clock? And the ET3K/ET4K clocks? Btw, anyone knows the exact EGA and MDA clocks? As well as the ET3/4K clocks? All I can find are rounded numbers, not exact values(e.g. like the VGA clocks already present in UniPCemu(25.2*1.001 and 28.35*1.001)?) EGA currently runs …

Re: x86 software vs hardware clocks

But the problem is that ticking a clock of 315MHz will pretty much hang every usual CPU(at least 4.0GHz i7 CPUs)? There's also all strange stuff used by various sound cards and graphics cards(MDA,CGA,EGA,VGA,ET3000,ET4000), whic vary from 14.31818MHz all the way up to about 60-70MHz(ET4000)?

Re: x86 software vs hardware clocks

I've just adjusted UniPCemu's hardware clocking(all but video card cores) to tick at 14.31818MHz pace. That will make them run faster(in realtime speed) when running CPU speeds past 8088 4.77MHz equivalent. Although stuff like Sound Blaster is a bit less accurate(1MHz clock not directly used, …

x86 software vs hardware clocks

Currently UniPCemu uses double percision floating point numbers to handle most hardware timings(and sound sample generation). That does take up a lot of clock cycles on a real CPU, because floating point numbers are harder to process than simple integer values. How much of the IBM PC gaming MS-DOS …

Re: UniPCemu emulator releases

My latest UniPCemu build: UniPCemu_20171123_1912.zip Android builds are now available at itch.io ! Changelog: - Fixed EGA clocking to use the correct frequency instead of VGA clocking rates. - Implemented port 3C8 data read that's apparently read on the EGA. - Improved 80386 Bit Test instructions to …

Re: Common log format

One little thing to note: the memory accesses are logged as a tab after the executing cycle: this can be either between instructions(in the common log format) as well as after the instruction line itself(following the instruction disassembly(e.g. "call 00009190 memoryaccess")). For example(from the …

Re: test386.asm CPU tester

I've just modified the instructions to match peterferrie's first comment at https://github.com/barotto/test386.asm/issues/1 . Now the entire testsuite(including undefined flags part) succeeds 100% without errors :D It's running the current testsuite(The test386.asm commit of Sunday, 11/19/2017 18:45 …

Re: test386.asm CPU tester

I've adjusted the 8-bit functionality, but it still crashes(with results 0x800 in resulting flags instead of 0x1 after 8-bit rcr)? debugger_UniPCemu_20171122_2219.zip 8-bit: byte op_grp2_8(byte cnt, byte varshift) { //word d, INLINEREGISTER word s, shift, tempCF, msb; INLINEREGISTER byte numcnt, …

Re: Finding bugs in 8086-80386 emulation core?

I've just taken a look and backtraced it to the source of the seemingly invalid value: Error location: f000:0000ed6f Source: 08h needing to be 04h, which is SHL 1 to obtain the correct DMA mode register write. At SS:BP+01 BP=7EB8 7EB9=04h instead of 02h(required for correct FDC read instruction). …

Re: Finding bugs in 8086-80386 emulation core?

I've made a little log of the BIOS trying to boot the floppy disk(which also should program the DMA controller incorrectly, due to the index being incorrect): https://www.dropbox.com/s/ylom43hnhqpy3oe/debugger_UniPCemu_20171122_1427.7z?dl=0 Can you see what's going wrong? Why is the DMA controller …

Re: Compaq Deskpro 386 keeps complaining about CMOS?

I've just tried the Supersoft/Landmark AT ROM from mimuszerodegrees again. It detects faults in CGA Memory(should work fine, though, using VGA emulation modes transparently with some extra CGA/MDA wrapping?), CMOS RAM(odd, since it's a simple RAM array being accessed?) and keyboard errors? It …

Page 174 of 275