VOGONS

Common searches


Search results

Display options

Re: CGA on VGA emulation in x86EMU?

superfury wrote: Trying to run the 1501512 BIOS (first revision of the IBM XT BIOS) makes the emulator end up in a HLT instruction somehow? Maybe something is wrong/inaccurate enough in my emulator making it detect wrong/invalid hardware? Probably! What is the address it halts at?

Re: CGA on VGA emulation in x86EMU?

Reenigne? Scali? Do you know anything about these (current) problems? Yes, as previously mentioned: 1. The 1K images are flashing (seemingly reduced to small, vertically centered beams of about 16 pixels during at least some of those periods). 4. The faces won't be centered vertically for some …

Re: CGA on VGA emulation in x86EMU?

Also, here is the RGBI output of the 256 color plasma (16/256 color part of the demo): Snap 2016-04-12 at 23.02.24.png That looks like it's using 8 scanlines per character row. The effect programs the CRTC for 6 scanlines (r9=5). That could account for the lines. If your PIT clock is correct then …

Re: CGA on VGA emulation in x86EMU?

I've uploaded a video on Youtube with the current build running 8088 MPH better than before: https://www.youtube.com/watch?v=mSsGUugmRmM Getting there! The palette change on the intro screen (as it rolls down over the comparison text) is supposed to be synchronized with the rolldown (so the text is …

Re: CGA on VGA emulation in x86EMU?

Now most of the demo shows up without many errors (the faces still being horizontally displaced, but they're vertically whole again. Also the flower girl has flashes in the middle of the screen (I think the image is reduced to about 20 pixels high in the center of the screen about one frame per …

Re: CGA on VGA emulation in x86EMU?

Also one little thing: do MAP13, MAP14 and/or Address Wrap affect the memory addressed by the CPU itself on a VGA? To imitate the effect the CGA and MDA have with their repeating 16K and 4K VRAM window? I think they just affect the CRTC/RAM relationship - IIUC the CPU/RAM relationship on VGA is …

Re: CGA on VGA emulation in x86EMU?

It just occurred to me: my CGA-on-VGA applies the start address by simply multiplying the CGA start address by 2(SHL 1) to obtain the VGA Start Address. This might be the cause? Only multiply by 2 when in word mode(not mode 6h)? If it's monochrome(byte) mode, the start address is to be used …

Re: CGA on VGA emulation in x86EMU?

About the half screen being blanked, I notice during the flower girl image that it fades in with only the top half of the screen, but when it fades out suddenly the whole display becomes visible during the "drip" effect used for fading out the image to continue the next part of the demo. This might …

Re: CGA on VGA emulation in x86EMU?

In 2bpp mode the pixels are single. They're not doubled horizontally nor vertically. But if I enable pixel doubling there, won't that render the whole NTSC conversion useless? Why would it? The NTSC conversion requires pixels at 14.318MHz. In 2bpp mode, the pixel rate (i.e. 1/320 of the normal …

Re: CGA on VGA emulation in x86EMU?

The empty text still happens during the credits. What do the contents of CGA RAM look like at this point? If you set the start address such that it wraps around before the end of the screen, what address in CGA RAM does it read from after the wrap? The bits of the input status register #1 are …

Re: CGA on VGA emulation in x86EMU?

The problem with the heads is still present. I've also changed the VGA calcultions to ignore offset register updates during CGA/MDA compatibility mode(preventing the offset register from overwriting the CGA horizontal display's value used instead). I don't think there's any code in 8088MPH that …

Re: CGA on VGA emulation in x86EMU?

So the only problems that are currently left are the "dots are my favour's, unless they're saviours" part showing stripes(is this supposed to be horizontal stripes(though more oval, being 8 pixels in length and 1 pixel in height)) instead of round dots. Also it's in color instead of b/w. It's …

Re: CGA on VGA emulation in x86EMU?

Ah, that makes sense. Remember that when you're using byte mode you have to double the values in the VGA's horizontal registers CRTC registers (this is why, e.g. Horizontal Display Enable End is 0x4f for mode 6 and 0x27 for mode 4). This brings up something that you might have trouble with emulating …

Re: CGA on VGA emulation in x86EMU?

How does this screen look if you don't force CGA but instead let your emulator emulate a VGA card (which itself is emulating CGA as a normal VGA would)? If it looks right in that configuration, you know it's a problem with how you're emulating CGA. If it looks the same, you know it's a problem with …

Re: CGA on VGA emulation in x86EMU?

The model identification screen looks ok on the RGBI output, so the composite colour issue you're having is probably due to a horizontal pixel offset (the colour carrier phase repeats every 4 hdots so if your horizontal positioning is off by 1, 2 or 3 hdots the colours will be wrong). There is …

Re: CGA on VGA emulation in x86EMU?

About those 'black lines' appearing in the images, dumping the vertical timinig (horizontal timing seems fine) gave me this: 0:00:37:49.3.0579: Row #0=+VRETRACEEND+VBLANKEND+VACTIVEDISPLAY 0:00:37:49.3.0857: Row #1=+VACTIVEDISPLAY 0:00:37:49.3.0861: Row #2=+OVERSCAN 0:00:37:49.3.0869: Row #3=+ …

Re: CGA on VGA emulation in x86EMU?

I think 8088 MPH might actually be doing this, or trying to do it in time(assuming 100% accurate timing(or close) on the 8088 is implemented)? Yes, if the timing is correct the palette register will be changed at exactly the same position on each scanline, and (in the final version) the place it …

Re: CGA on VGA emulation in x86EMU?

improved clocks to full accuracy(using divisions instead of numbers, the only one missing is the VGA 28MHz clock, which is still the old number(probably rounded)) I think the exact values for 14.318MHz, 25.175MHz and 28.322MHz are 15.75/1.1, 25.2/1.001 and 28.35/1.001 respectively (the VGA pixel …

Re: CGA on VGA emulation in x86EMU?

Edit: It seems to have something to do with the 640x200 color composite mode? Is the VRAM interpreted differently in that mode? Composite isn't a mode, it's an output. The CGA card will display on both the composite and RGBI outputs at the same time. The +BW mode bit (bit 2 of port 0x3d8) disables …

Re: CGA on VGA emulation in x86EMU?

The CRTC interlace mode register (R8) has no equivalent in VGA because the VGA CRTC does not support interlaced sync. The effect of mode 1 is to add an extra scanline every other field, and to start/end the CRTC vsync pulse half a scanline later every other field (though the CGA delays the vsync …

Page 21 of 31