VOGONS

Common searches


Search results

Display options

Re: TSR to mute PC Speaker

"Intercepting" is the tricky bit. Port 0x61 is an IO port, not a piece of code that gets called, and the 8086/8088/80286 don't have any mechanism for intercepting and redirecting IO port writes. The 80386 and later do, but it's easier said than done - you have to put the CPU in protected mode, …

Re: MartyPC

I guess then I'm curious if you just want to stop DRAM refresh, why not set a mode and let it sit there waiting for reload? Yes, I think that would work too. I guess when writing this code it either just didn't occur to me to do a partial initialisation, or I thought there was a possibility of some …

Re: MartyPC

Actually, I believe the reason for setting the counter to 1 is to be able to trigger a new counter value 'immediately'. Yes, exactly - this is just how I turn DRAM refresh off. Timer 1 is also set to mode 0 at the same time. The fast refresh rate to ensure all the DRAM is refreshed before and after …

Re: 8088 Interrupt delay timing

The _extraHaltDelay is still a mystery, though. Perhaps an hidden RNI of sorts? I wondered that too, but it doesn't seem to fit what I'm seeing. It does seem to depend on whether the previous IO was a code fetch or not for one thing. I suppose it's possible that it depends on the microcode of the …

Re: 8088 Interrupt delay timing

Well, if you're talking about the "3 bytes in queue" delay, I thought I had it figured out with Ken's blog post. But I'd be very interested to hear if you've figured out something I haven't! The _extraHaltDelay is still a mystery, though.

Re: CGA MC6845 phantom Half vsync?

My write-up is coming! But yes, we'll publish the write-ups in concert with the final version. Anybody who wants to is welcome to write about Lake and Wibble. My write-up about these effects will tell a story that nobody else can tell - about how they were developed. A GloriousCow write-up with cool …

Re: Ultima 6 Bug/Crash

Sounds like a bad dump problem to me. I don't think U6 needs/uses high/extended memory - and I think you'd get an error message rather than a crash if there was insufficient conventional memory. All the save files are in the "SAVEGAME" directory so you can just delete this directory on a fresh …

Re: 286 Microcode decoding?

I don't think it would be possible to extract the microcode from that die shot at any resolution - I think the metal layer is intact. The lower layers need to be photographed to extract the ROM data. This was the situation with the 8086 too for a long time until Ken Shirriff published his die shots. …

Re: 640x200 4c on regular CGA board possible?

I think what makes the (2D) WHT handy is that, much like with the DCT, you basically get the spectrum of the input data, but kind of the square wave version, which looks better-suited to bi-level input data. If you use a JPEG-like zig-zag reordering of the 2D coefficient matrix, quantize the WHT …

Re: 640x200 4c on regular CGA board possible?

That would indeed be a very nice and simple mod! Bit 4 or 5 of the palette register would be a good one to choose as it otherwise has no effect in text modes. Since only half of the bit patterns are needed (you can get the others by swapping the foreground and background colours) you could use half …

Re: Software for the IBM PC Light Pen?

Bringing this back around to the topic, the light pen does introduce a situation where the exact timing matters because the system as a whole (emulator and the software running on it) will have to compensate for the delay in the system from the CRTC's idea of what the position is, through the CGA …

Re: 640x200 4c on regular CGA board possible?

The memory layout would depend on how you connected the extra memory to the CRTC. The easiest way would be to connect your new A14 to RA1 in +GRPH mode the same way that A13 is currently connected to RA0. Then the memory layout would be interlaced with 4 lines instead of 2 like Hercules. Other …

Re: Software for the IBM PC Light Pen?

So the fetching actually starts on character clock #0 with the output for character clock #0 (1 clock late) starting at character clock #1? So it's basically an extra overscan character clock before active display starts? And all horizontal active display timings should be shifted late by 1 clock ( …

Re: Software for the IBM PC Light Pen?

So those 16 clocks fetching the character and attribute (and first byte of rendered graphics modes) are fetched before horizontal total? Horizontal total isn't relevant to the sequence I mentioned above (except in so far as the memory addresses will be non-sequential). Horizontal total is a concept …

Re: Software for the IBM PC Light Pen?

How does that combine with horizontal setup timings? UniPCemu shifts out every 1 (80 text or 640 graphics) or 2 cycles (depending on double width setting (80 vs 40 mode) that's set for the mode. What about the first byte fetched from RAM? That's all a matter of the display enable and horizontal …

Re: Software for the IBM PC Light Pen?

I'm not actually sure if the CGA loads the character or attribute first, now you mention it. I had been assuming character, but it's not actually very easy to tell from the schematic (and not observable from software either - at least not easily). I've now determined that it's not observable from …

Re: Software for the IBM PC Light Pen?

I'm not actually sure if the CGA loads the character or attribute first, now you mention it. I had been assuming character, but it's not actually very easy to tell from the schematic (and not observable from software either - at least not easily). After looking at the schematics and the timing …

Page 1 of 31