Skip to content

Commit d356874

Browse files
committed
Bug in org of the .nex file
1 parent 415e193 commit d356874

1 file changed

Lines changed: 12 additions & 7 deletions

File tree

ZXBStudio/BuildSystem/ZXProjectBuilder.cs

Lines changed: 12 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -153,18 +153,23 @@ private static bool BuildNexFile(byte[] binary, ZXBuildSettings settings, ZXProj
153153
sb.AppendLine("!MMU./sysvars.inc,10,$1C00");
154154
}
155155
// Origin
156-
{
157-
int org = settings.Origin == null ? 32768 : settings.Origin.Value;
158-
sb.AppendLine(string.Format("!PCSP${0:X2},${1:X2}", org, org - 2));
159-
}
156+
int org = settings.Origin == null ? 32768 : settings.Origin.Value;
157+
sb.AppendLine(string.Format("!PCSP${0:X2},${1:X2}", org, org - 2));
160158
// Main file
161159
{
162-
var bank = 5;
163-
var address = 0x2000;
160+
int[] nextBank16K = { 255, 5, 2, 0 };
161+
int bank = org/16384;
162+
int offset = org-(bank * 16384);
163+
if(bank<0 || bank > 3)
164+
{
165+
outputLogWritter.WriteLine("Error: Invalid ORG direction, must be >0 and <65535");
166+
return false;
167+
}
168+
bank = nextBank16K[bank];
164169
sb.AppendLine(string.Format(".\\{0},{1},${2:X2}",
165170
Path.Combine(Path.GetFileNameWithoutExtension(settings.MainFile) + ".bin"),
166171
bank,
167-
address));
172+
offset));
168173
}
169174
// Save nex.cfg file
170175
{

0 commit comments

Comments
 (0)