parent
e39cb1274c
commit
d28e4e9f70
|
@ -34,7 +34,12 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
||||||
public class C64Settings
|
public class C64Settings
|
||||||
{
|
{
|
||||||
[DisplayName("Border type")]
|
[DisplayName("Border type")]
|
||||||
[Description("Select how to show the border area")]
|
[Description("Select how to show the border area\n" +
|
||||||
|
"NORMAL:\t Horizontal and Vertical border both set to 32 pixels (although horizontal will appear narrower due to pixel density)\n" +
|
||||||
|
"SMALL PROPORTIONAL:\t Horizontal and Vertical border both set to 16 pixels (although horizontal will appear narrower due to pixel density)\n" +
|
||||||
|
"SMALL FIXED:\t Horizontal border is set to 16 pixels and vertical is made slightly smaller so as to appear horizontal and vertical are the same after pixel density has been applied\n" +
|
||||||
|
"NONE:\t Only the pixel buffer is rendered"
|
||||||
|
)]
|
||||||
[DefaultValue(BorderType.SmallProportional)]
|
[DefaultValue(BorderType.SmallProportional)]
|
||||||
public BorderType BorderType { get; set; }
|
public BorderType BorderType { get; set; }
|
||||||
|
|
||||||
|
@ -104,7 +109,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64
|
||||||
|
|
||||||
public enum BorderType
|
public enum BorderType
|
||||||
{
|
{
|
||||||
SmallProportional, SmallFixed, Normal, Full
|
None, SmallProportional, SmallFixed, Normal
|
||||||
}
|
}
|
||||||
|
|
||||||
public enum SidType
|
public enum SidType
|
||||||
|
|
|
@ -97,6 +97,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
||||||
|
|
||||||
switch (borderType)
|
switch (borderType)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
case C64.BorderType.Full:
|
case C64.BorderType.Full:
|
||||||
newHblankStart = -1;
|
newHblankStart = -1;
|
||||||
newHblankEnd = -1;
|
newHblankEnd = -1;
|
||||||
|
@ -105,6 +106,7 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
||||||
newVblankEnd = -1;
|
newVblankEnd = -1;
|
||||||
_vblank = false;
|
_vblank = false;
|
||||||
break;
|
break;
|
||||||
|
*/
|
||||||
case C64.BorderType.Normal:
|
case C64.BorderType.Normal:
|
||||||
newHblankStart = hblankStart;
|
newHblankStart = hblankStart;
|
||||||
newHblankEnd = hblankEnd;
|
newHblankEnd = hblankEnd;
|
||||||
|
@ -129,13 +131,27 @@ namespace BizHawk.Emulation.Cores.Computers.Commodore64.MOS
|
||||||
newVblankStart = 0xFA + hBorderSize;
|
newVblankStart = 0xFA + hBorderSize;
|
||||||
newVblankEnd = 0x32 - hBorderSize;
|
newVblankEnd = 0x32 - hBorderSize;
|
||||||
break;
|
break;
|
||||||
|
case C64.BorderType.None:
|
||||||
|
newHblankStart = 0x158 + PixBufferSize;
|
||||||
|
newHblankEnd = 0x018 + PixBufferSize;
|
||||||
|
newVblankStart = 0xFA;
|
||||||
|
newVblankEnd = 0x32;
|
||||||
|
_vblank = true;
|
||||||
|
_hblank = true;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
// wrap values
|
// wrap values
|
||||||
|
if (_hblank)
|
||||||
|
{
|
||||||
newHblankStart = WrapValue(0, maxWidth, newHblankStart);
|
newHblankStart = WrapValue(0, maxWidth, newHblankStart);
|
||||||
newHblankEnd = WrapValue(0, maxWidth, newHblankEnd);
|
newHblankEnd = WrapValue(0, maxWidth, newHblankEnd);
|
||||||
|
}
|
||||||
|
if (_vblank)
|
||||||
|
{
|
||||||
newVblankStart = WrapValue(0, lines, newVblankStart);
|
newVblankStart = WrapValue(0, lines, newVblankStart);
|
||||||
newVblankEnd = WrapValue(0, lines, newVblankEnd);
|
newVblankEnd = WrapValue(0, lines, newVblankEnd);
|
||||||
|
}
|
||||||
|
|
||||||
// calculate output dimensions
|
// calculate output dimensions
|
||||||
_hblankStartCheckXRaster = newHblankStart & 0xFFC;
|
_hblankStartCheckXRaster = newHblankStart & 0xFFC;
|
||||||
|
|
Loading…
Reference in New Issue