VOGONS

Common searches


Search results

Display options

Re: Emulating Area5150

What I eventually found worked best for emulating the composite colour waveforms and multiplexer was to set up a table of samples indexed by current RGBI colour (4 bits), previous RGBI colour (4 bits) and phase (2 bits) for a total of 1024 entries. The I signal doesn't go through the multiplexer so …

Re: 8088 Interrupt delay timing

Yes, I think you're right about the it being more complicated than "queue_len == 3". The logic I have for it is https://github.com/reenigne/reenigne/blob/master/8088/xtce/xtce_microcode.h#LL3185 - that doesn't take into account whether the last queue operation was a read or a write (directly) but …

Re: 8088 Interrupt delay timing

Yes, the last bus transfer type does seem to be related - at least that's my best guess. But there must be some bit of state (a flip-flop somewhere) which keeps track of whether to do that extra cycle of delay during the HLT, as its output is used long after that bus transfer is complete. It being …

Re: 8088 Interrupt delay timing

I no longer think it's checking every other cycle. Here's the logic I use in my microcode-based emulator: https://github.com/reenigne/reenigne/blob/master/8088/xtce/xtce_microcode.h#LL2522 . This seems to work in my tests, but the cause is very mysterious! I asked Ken about it and he couldn't see …

Re: IBM VGA BIOS initialization

But wasn't the vertical retrace start put out-of-range for almost all but the last scanline to archieve correct vertical retrace if I remember correctly (to prevent vertical retrace from occurring each 2 scanlines)? That was what I was referring to. Although it's been a while since I was messing …

Re: IBM VGA BIOS initialization

You can even prevent blank/retrace from occurring by placing it past/at the total register. 8088MPH did this if I remember correctly, for odd/even double scanline rendering tricks? No, 8088MPH used a different trick. The 1K colour mode consists of lots of very short CRTC frames, with 1 scanline per …

Re: REP + String instructions behavior

The microcode actually pushes "IP-2" as the internal IP points to the instruction after the currently running one (hence the encoding of relative jumps). But yes, the 8088/8086 microcode can't handle multiple prefixes in this situation. Later CPUs fixed this problem. You can't use "REP CS: MOVSW" …

Re: FastDoom. A new Doom port for DOS, optimized to be as fast as possible for 386/486 personal computers!

I wonder if it would be possible to speed things up by implementing a kind of ordered dither... like have a pre-defined static pattern of 8x2 chars. Or flick between two patterns at 60hz. I think part of area 5150 does something like that? Yes, some of the effects in Area 5150 treat the screen as …

Re: FastDoom. A new Doom port for DOS, optimized to be as fast as possible for 386/486 personal computers!

Just for fun, here's what DOOM looks like through reenigne's cgaart program in ANSI from hell mode : https://www.youtube.com/watch?v=l485yX41z24 (Even on a modern PC it's extremely non-realtime... likely optimizable/threadable though) That's awesome! Yeah, CGAArt only uses one thread for matching …

Re: Area 5150: New IBM PC+CGA demo

If the CGA Redux uses essentially the same circuit as the IBM CGA (particularly in regards to wait states) and has an MC6845 then the reason it fails to show the wibble and lake effects at the end is bound to be due to the motherboard - the timing needed to get all the CRTC writes in the right place …

Re: Area 5150: New IBM PC+CGA demo

I'm not saying I'm going to do it. But if I did I'd probably just tell the Doom engine that the screen resolution is 80x100 and have a lookup table from colour index to character/attribute combination. That would be very fast, and I don't think the palette changes very often so the slowness of …

Re: INT 8 (IRQ 0) - what is correct frequency?

While it doesn't really matter for practical purposes due to the tolerance of the crystal, there is actually an exact nominal answer here based on the derivation of the frequencies in the NTSC color TV standard: it's 13.125MHz/11 = 1193181.818... Hz. Although the exact value doesn't make much …

Page 1 of 29