Skip to content

Commit dbc767f

Browse files
committed
Added basic loader for RAMDisk blocks
1 parent 3abcfd3 commit dbc767f

4 files changed

Lines changed: 11 additions & 13 deletions

File tree

ZXBStudio/DocumentEditors/ZXTapeBuilder/Classes/ZXTapeBuilderFile.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@ public class ZXTapeBuilderFile
2323
public ZXTapeBuilderDataBlock[]? DataBlocks { get; set; }
2424
public bool IncludeRAMDisk { get; set; }
2525
public ZXRAMDiskOrder RAMDiskOrder { get; set; }
26+
public bool BasicLoadRAMDisk { get; set; } = true;
2627
}
2728

2829
public enum ZXRAMDiskOrder

ZXBStudio/DocumentEditors/ZXTapeBuilder/Controls/ZXTapeBuilderEditor.axaml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -129,14 +129,16 @@
129129
</Border>
130130
<TextBlock Grid.Row="2" Margin="15,0,0,0" Padding="5" Background="#202020" HorizontalAlignment="Left" VerticalAlignment="Top">Data blocks</TextBlock>
131131
<Border Grid.Row="3" Margin="5,14,5,5" BorderBrush="White" BorderThickness="1" CornerRadius="5">
132-
<Grid ColumnDefinitions="140,32,100,150,*">
132+
<Grid ColumnDefinitions="140,32,100,150,100,32,*">
133133
<TextBlock VerticalAlignment="Center" Margin="15,0,0,0" HorizontalAlignment="Right">Include RAM disk blocks:</TextBlock>
134134
<CheckBox Name="ckRAMDisk" Grid.Column="1" VerticalAlignment="Center" Margin="5" HorizontalAlignment="Left"></CheckBox>
135135
<TextBlock Grid.Column="2" VerticalAlignment="Center" Margin="15,0,0,0" HorizontalAlignment="Right">Inclusion order:</TextBlock>
136136
<ComboBox Grid.Column="3" Classes="dialog" SelectedIndex="0" Margin="5,0,0,0" Name="cbRAMDiskOrder">
137137
<ComboBoxItem>Before data blocks</ComboBoxItem>
138138
<ComboBoxItem>After data blocks</ComboBoxItem>
139139
</ComboBox>
140+
<TextBlock Grid.Column="4" VerticalAlignment="Center" Margin="15,0,0,0" HorizontalAlignment="Right">Basic loader:</TextBlock>
141+
<CheckBox Name="ckBasicRAMDisk" Grid.Column="5" VerticalAlignment="Center" Margin="5" HorizontalAlignment="Left"></CheckBox>
140142
</Grid>
141143
</Border>
142144
<TextBlock Grid.Row="3" Margin="15,0,0,0" Padding="5" Background="#202020" HorizontalAlignment="Left" VerticalAlignment="Top">RAM disk</TextBlock>

ZXBStudio/DocumentEditors/ZXTapeBuilder/Controls/ZXTapeBuilderEditor.axaml.cs

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,6 +84,7 @@ public ZXTapeBuilderEditor(string DocumentPath)
8484
txtScreenFile.TextChanged += DocumentChanged;
8585
ckRAMDisk.IsCheckedChanged += DocumentChanged;
8686
cbRAMDiskOrder.SelectionChanged += DocumentChanged;
87+
ckBasicRAMDisk.IsCheckedChanged += DocumentChanged;
8788

8889
btnSelectScreen.Click += BtnSelectScreen_Click;
8990
btnSelectBlock.Click += BtnSelectBlock_Click;
@@ -311,6 +312,8 @@ bool UpdateFileName(string NewPath)
311312

312313
//RAM disk
313314
ckRAMDisk.IsChecked = fileContent.IncludeRAMDisk;
315+
ckBasicRAMDisk.IsChecked = fileContent.BasicLoadRAMDisk;
316+
314317
if (fileContent.RAMDiskOrder == ZXRAMDiskOrder.Before)
315318
cbRAMDiskOrder.SelectedIndex = 0;
316319
else
@@ -424,7 +427,8 @@ public override bool SaveDocument(TextWriter OutputLog)
424427
ScreenName = txtScreenName.Text,
425428
DataBlocks = _blocks.ToArray(),
426429
IncludeRAMDisk = ckRAMDisk.IsChecked ?? false,
427-
RAMDiskOrder = cbRAMDiskOrder.SelectedIndex == 0 ? ZXRAMDiskOrder.Before : ZXRAMDiskOrder.After
430+
RAMDiskOrder = cbRAMDiskOrder.SelectedIndex == 0 ? ZXRAMDiskOrder.Before : ZXRAMDiskOrder.After,
431+
BasicLoadRAMDisk = ckBasicRAMDisk.IsChecked ?? false
428432
};
429433

430434
string content = JsonConvert.SerializeObject(fileContent, Formatting.Indented);

ZXBStudio/IntegratedDocumentTypes/TapeDocuments/ZXTapeBuilder/ZXTapeBuilderBuilder.cs

Lines changed: 2 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ public bool Build(string BuildPath, ZXBuildStage Stage, ZXBuildType BuildType, Z
102102

103103
line.AddTokens(I.LOAD, "\"\"", I.CODE, CompiledProgram.Org);
104104

105-
if (buildFile.IncludeRAMDisk && buildFile.RAMDiskOrder == ZXRAMDiskOrder.Before)
105+
if (buildFile.IncludeRAMDisk && buildFile.BasicLoadRAMDisk && buildFile.RAMDiskOrder == ZXRAMDiskOrder.Before)
106106
{
107107
foreach (var bank in CompiledProgram.Banks)
108108
{
@@ -121,7 +121,7 @@ public bool Build(string BuildPath, ZXBuildStage Stage, ZXBuildType BuildType, Z
121121
line.AddTokens(I.LOAD, "\"\"", I.CODE, block.BlockAddress);
122122
}
123123

124-
if (buildFile.IncludeRAMDisk && buildFile.RAMDiskOrder == ZXRAMDiskOrder.After)
124+
if (buildFile.IncludeRAMDisk && buildFile.BasicLoadRAMDisk && buildFile.RAMDiskOrder == ZXRAMDiskOrder.After)
125125
{
126126
foreach (var bank in CompiledProgram.Banks)
127127
{
@@ -134,15 +134,6 @@ public bool Build(string BuildPath, ZXBuildStage Stage, ZXBuildType BuildType, Z
134134
line.AddTokens(I.OUT, 32765, ",", 16);
135135
}
136136

137-
138-
139-
140-
141-
142-
143-
144-
145-
146137
if (buildFile.HideHeaders)
147138
line.AddTokens(I.POKE, 23739, ",", 244);
148139

0 commit comments

Comments
 (0)