VOGONS

Common searches


Search results

Display options

Re: Raster bar implementation on Amstrad PC1512

in Milliways
This is really cool! I didn't know that the display enable bit was replaced with a toggle in the PC1512. I was surprised by this at first but it actually makes sense. The purpose of the display enable bit was to avoid snow, and the PC1512's display adapter doesn't suffer from snow. So you want to be …

Re: EGA/VGA half clock vs character width?

I don't think that's supposed to be happening? Do you know anything about the timings of the 800x600 32K/64K modes? I don't know the precise timings, but such a wide overscan seems wrong to me. I'd expect the ratio of active area to overscan to be similar to 640x480 mode. And the overscan size …

Re: EGA/VGA half clock vs character width?

DCR is the easy one because everything else is derived from this dot clock. So when it is set to 1, everything on the screen is stretched by a factor of two horizontally. This is used for 40-column text mode and 320x200x16 mode. A character in these modes is still 8/9 dots, but the dots are twice as …

Re: EGA/VGA half clock vs character width?

I'm not quite as familiar with the internal workings of VGA as I am with CGA, so I might be saying something completely stupid here... but is it possible that you're on completely the wrong track with the "4 dot clocks" thing? I'm not sure that a 4 dot clock is used in any significant way inside the …

Re: CGA Graphics library

in Milliways
It looks like each iteration of the two inner loops separates fairly nicely into an "xdelta live" section and a "ydelta live" section, except for the fact that in the first loop you need to compare xdelta against ydelta. I wonder if you can get away with just comparing the most significant words of …

Re: CGA Graphics library

in Milliways
I thought about the ellipse code to see if it is possible to do a version of that for any size ellipse which uses only registers and only (short) conditional jumps in the main loops. But so far I have not come up with a way to do it, at least not in a meaningful way. There just aren't enough …

Re: CGA Graphics library

in Milliways
Sure, which is why it totally shouldn't be used to describe mov mem/reg, mem/reg. It had me believing that reg would be on the left if the direction flag was 0 and on the right if 1. But that is not what they mean at all. There is a bit in the instruction encoding itself that they are calling the …

Re: CGA Graphics library

in Milliways
I really don't have any explanation for it. Nothing makes sense, because one sees the output on the screen, so it isn't as if I could be running the wrong executable. It's the first time I had it working at all, so I don't see how it could have been the wrong code. It's mystifying. Maybe the random …

Re: CGA Graphics library

in Milliways
Something weird is going on. The timing that was 17.3s last night is 19.7s this morning. I do have a dodgy trimpot in my PC, and my understanding is it changes the clock frequency slightly, to alter the colours in NTSC output. But I don't know whether it could make that much difference. I'm quite …

Re: CGA Graphics library

in Milliways
Unfortunately this doesn't quite work. The address stosb writes to isn't correct if you do this. if you replace stosb with an explicit move you add 3 bytes (the direction flag must be set and cleared for a move in that direction). There's also an additional two cycles for effective address …

Re: CGA Graphics library

in Milliways
Technically I think I could have two versions, one starting on an odd line and another starting on an even line so that the 8192 updates can be hard coded, instead of using the xor trick. Yes, I think this is worth doing. I don't see any sensible way of handling x-increments without breaking up …

Re: CGA Graphics library

in Milliways
xor'ing or and'ing or or'ing the lines brings the time down to 18.7s overall, or about 70 cycles per pixel. Obviously if and and or are used to draw lines of colour 0 and 3 respectively, general random colour lines average out at 75 cycles per pixel. Very nice indeed! I think that must be very …

Re: CGA Graphics library

in Milliways
I just tried that second option in the "slow" code, actually. This allows me to save one mov to ds because I can use dx instead, which allows me to modify dh and dl separately without first moving to ax. But there's no change in timing, which is surprising. I assumed this was due to unaligned loop …

Page 2 of 27