VOGONS

Common searches


Search results

Display options

Re: CGA pseudo-graphic modes

I think you'll find that it's slightly more complicated to do it that way, but you can certainly do so. You know how long the horizontal blanking is so you can adjust a single IRQ0 to add in that offset. You can make the period 77. So I will move to the right and find the beginning of the …

Re: CGA pseudo-graphic modes

Suppose you use the simple method to get an IRQ shortly after the start for display enable. You can then "step it backwards" until you find the point where you're just before the display is enabled. This will put me at the end of the horizontal blanking. Maybe it would be better to get to the …

Re: CGA pseudo-graphic modes

Suppose you use the simple method to get an IRQ shortly after the start for display enable. You can then "step it backwards" until you find the point where you're just before the display is enabled. The total line time is 76 PIT cycles so if you set the PIT channel 0 period to 75 then each IRQ0 …

Re: CGA pseudo-graphic modes

reenigne wrote on 2025-06-11, 09:12: Synchronizing the timer with the CRTC should be as simple as: wait for vsync, wait for display enable, program PIT mode and count. There is another way if you need more accuracy but that's more complicated. Could you please elaborate on a more precise and more …

Re: CGA pseudo-graphic modes

Yeah, sorry. That CPU is 14 years old. Modern phones are faster. I know upgrading your computer is not a luxury everyone has. But there's only so much I can do. I will continue to try to optimize things, but I don't expect any miracles. I will still use MartyPC in cases where speed is not required.

Re: CGA pseudo-graphic modes

That does sound like an interesting project! You can update the system time by keeping your own count of how many 1.193MHz PIT cycles have passed, and when that (as a 16-bit number) wraps (i.e. JC/JNC) do a jump back to the system interrupt 8 handler (make sure that you don't execute the EOI …

Re: CGA pseudo-graphic modes

I can't find much online about this card (except for https://www.vogons.org/viewtopic.php?t=61070 ), but between the 32kB of RAM, the onboard ROM, the lack of a 6845 and the 18.981MHz crystal it doesn't seem very CGA-ish apart from the connectors (which were also used for EGA). On the other hand, …

Re: CGA pseudo-graphic modes

The clock used by the CGA card is the one on the motherboard, so you'd have to overclock the entire system (or make more extensive hardware modifications). It will work as long as every part of the system can cope with the higher clock rate. In an IBM PC 5150 or 5160, for example, the CPU is …

Re: CGA pseudo-graphic modes

Ok, on my CGA card with Motorola MC6845, then R4=0x7f, R6=0 and R9=0 seems to give 128 active scanlines. However, R7 has got to be set to something and whatever it is set to then at least one of the active scanlines will be blanked due to the vsync pulse from the CRTC. So you can't actually get …

Re: CGA pseudo-graphic modes

Is there a particular reason you want to use R6=0? It'd probably be better to avoid it if you can (unless you want to try every variant that's ever been seen on a CGA card). Thank you very much for your answer! I want to make a 256x128 16-color mode (with R9 = 0), which would work both on real CGA …

Re: CGA pseudo-graphic modes

Synchronizing the timer with the CRTC should be as simple as: wait for vsync, wait for display enable, program PIT mode and count. There is another way if you need more accuracy but that's more complicated. I'd like to suggest not being afraid of non-regular IRQ0s - it's quite simple, all you need …

Re: CGA pseudo-graphic modes

You can change R9 at any point and it will take effect the next time that current row address equals R9 (probably at some specific point on the scanline - I'm not sure which one offhand). So you don't need a full CRTC restart like you do if you're making more than 128 rows or want to change the …

Re: CGA pseudo-graphic modes

The clock used by the CGA card is the one on the motherboard, so you'd have to overclock the entire system (or make more extensive hardware modifications). It will work as long as every part of the system can cope with the higher clock rate. In an IBM PC 5150 or 5160, for example, the CPU is …

Re: CGA pseudo-graphic modes

You can change R9 at any point and it will take effect the next time that current row address equals R9 (probably at some specific point on the scanline - I'm not sure which one offhand). So you don't need a full CRTC restart like you do if you're making more than 128 rows or want to change the …

Re: CGA pseudo-graphic modes

I have known this myself for a while, but haven't used it in a demo effect yet. I did put it into my CGAArt matcher (as "attribute clash" mode). And if I want to do it on CGA like this: --------------------- 1 character line - 8 scan lines (R9 = 7); 64 character lines - 3 scan lines (R9 = 2); 1 …

Re: CGA pseudo-graphic modes

Yes, looks like the right one to me. Got it, thanks for watching. I found an amazing thing on CGA. It is quite possible that this has been known for a long time. It turns out that using the first line of the first 128 characters and their inversions (when the colors of the character and background …

Re: CGA pseudo-graphic modes

Tell me please, does this font (possibly) from the CGA character generator match the original? If not, can anyone share the original? https://drive.google.com/file/d/1eAzU72lrBKE1 … iew?usp=sharing

Page 1 of 8