Correct, the original DK had a 7:8 aspect ratio with a resolution of 224x256. My game is being drawn internally on a surface of 448x512 which is the same aspect ratio. If you play in Windowed mode, you are seeing the surface drawn unaltered. If you are playing it in fullscreen, the software stretches the surface to fill the screen while maintaining the aspect ratio.
Ok, thanks for the explanation. That does explain what's happening.
So if your screen's resolution is set to anything but 448x512, it has to stretch or shrink the image to fill the screen. If the Stretch option is selected, it will fill the entire screen which would change the aspect ratio. If your computer is set to a low resolution, you will notice more stretching artifacts like the example you provided.
I understand.
So, in order to get the best picture in full screen, it's better to choose a much larger resolution than what you selected. Basically the resolution you're choosing is much too small. Pick the largest one possible. I would say minimum 1024x768 is large enough to not notice the stretching artifacts, but try for a res even higher than that if you can.
The problem is, I'm using a low resolution 15khz CRT arcade monitor. I can run it as high as 640x480 which improves the artifacting, but this is an interlaced mode. This means flicker, and basically defeats the point of using a low res arcade monitor...
Would it be possible for you to implement an extra option, for 'manual scale factor'? Basically what I'd like to do is specify a resolution as I am (256x240), but scale the surface (448x512) by 0.5 to achieve 224x256. The scale factor (if specifed) could override the 'stretch' option. (Edit: the scaled surface would need to be centred in the overall screen)
If it seems like I'm the only one wanting this, I'm pretty sure it will be useful for many others - ie those that have 256x240 mode available, but not 256x224 (due to hardware/driver restrictions). Anyone using ArcadeVGA, Soft15khz and possibly CRT Emu_Driver (depending on hardware) will have the same problem.
The heart can only be picked up once per level. If you already got it, it won't appear if you die and start the level again. If you're saying you started the level and it wasn't there at all, then there's a bug. Let me know which you mean.
That's what I thought. In that case I think there's a bug. I played one game and got the heart on level one, and got to level 2 or 3. Died (all lives). Started a new game, and the heart wasn't there. I took a pic if it helps (only got 900 pts so you can see I haven't already got the heart):