Skip to content

Commit 8c1a4a8

Browse files
Updated to 1.47
1 parent b8fb2d2 commit 8c1a4a8

5 files changed

Lines changed: 98 additions & 90 deletions

File tree

LazarusSource/DiscImage.pas

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -494,6 +494,8 @@ TFragment = record //For retrieving the ADFS E/F fragment informati
494494
function ExtractADFSPartition(side: Cardinal): TDIByteArray;
495495
function GetADFSMaxLength(lastentry:Boolean): Cardinal;
496496
function ADFSReport(CSV: Boolean): TStringList;
497+
procedure ADFSUpdateMasterSequence(dir: Cardinal);
498+
procedure ADFSUpdateFileSequence(dir,entry: Cardinal);
497499
//Acorn FileStore Routines
498500
function ID_AFS: Boolean;
499501
procedure ReadAFSPartition;

LazarusSource/DiscImageManager.lps

Lines changed: 64 additions & 87 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@
22
<CONFIG>
33
<ProjectSession>
44
<Version Value="12"/>
5-
<ManyBuildModesSelection Value="&quot;Release macOS 64 bit&quot;,&quot;Release macOS ARM&quot;,&quot;Release Windows 64 bit&quot;,&quot;Release Windows 32 bit&quot;,&quot;Release Linux 64 bit&quot;,&quot;Release Linux 32 bit&quot;,&quot;Release Linux ARM 32 bit&quot;,&quot;Release Linux ARM 64 bit&quot;"/>
5+
<ManyBuildModesSelection Value="&quot;Release macOS 64 bit&quot;,&quot;Release macOS 32 bit&quot;,&quot;Release macOS ARM&quot;,&quot;Release Windows 64 bit&quot;,&quot;Release Windows 32 bit&quot;,&quot;Release Linux 64 bit&quot;,&quot;Release Linux 32 bit&quot;,&quot;Release Linux ARM 32 bit&quot;,&quot;Release Linux ARM 64 bit&quot;"/>
66
<BuildModes Active="Native Debugger"/>
7-
<Units Count="48">
7+
<Units Count="46">
88
<Unit0>
99
<Filename Value="DiscImageManager.lpr"/>
1010
<IsPartOfProject Value="True"/>
@@ -19,19 +19,16 @@
1919
<HasResources Value="True"/>
2020
<ResourceBaseClass Value="Form"/>
2121
<EditorIndex Value="2"/>
22-
<TopLine Value="3264"/>
23-
<CursorPos X="40" Y="3294"/>
22+
<TopLine Value="561"/>
23+
<CursorPos X="30" Y="581"/>
2424
<UsageCount Value="200"/>
2525
<Loaded Value="True"/>
2626
<LoadedDesigner Value="True"/>
2727
</Unit1>
2828
<Unit2>
2929
<Filename Value="DiscImage.pas"/>
3030
<IsPartOfProject Value="True"/>
31-
<IsVisibleTab Value="True"/>
3231
<EditorIndex Value="15"/>
33-
<TopLine Value="536"/>
34-
<CursorPos X="12" Y="561"/>
3532
<UsageCount Value="200"/>
3633
<Loaded Value="True"/>
3734
</Unit2>
@@ -305,16 +302,16 @@
305302
<Unit26>
306303
<Filename Value="DiscImage_ADFS.pas"/>
307304
<EditorIndex Value="21"/>
308-
<TopLine Value="482"/>
309-
<CursorPos X="2" Y="1949"/>
305+
<TopLine Value="2793"/>
306+
<CursorPos X="3" Y="2793"/>
310307
<UsageCount Value="102"/>
311308
<Loaded Value="True"/>
312309
</Unit26>
313310
<Unit27>
314311
<Filename Value="DiscImage_DFS.pas"/>
315312
<EditorIndex Value="26"/>
316-
<TopLine Value="1059"/>
317-
<CursorPos X="2" Y="1066"/>
313+
<TopLine Value="1067"/>
314+
<CursorPos X="62" Y="1113"/>
318315
<UsageCount Value="102"/>
319316
<Loaded Value="True"/>
320317
</Unit27>
@@ -382,9 +379,10 @@
382379
</Unit35>
383380
<Unit36>
384381
<Filename Value="DiscImage_DOSPlus.pas"/>
382+
<IsVisibleTab Value="True"/>
385383
<EditorIndex Value="22"/>
386-
<TopLine Value="2167"/>
387-
<CursorPos X="5" Y="2192"/>
384+
<TopLine Value="1225"/>
385+
<CursorPos X="2" Y="1242"/>
388386
<UsageCount Value="120"/>
389387
<Loaded Value="True"/>
390388
</Unit36>
@@ -437,160 +435,145 @@
437435
<Loaded Value="True"/>
438436
</Unit42>
439437
<Unit43>
440-
<Filename Value="/usr/local/share/fpcsrc/rtl/objpas/classes/classesh.inc"/>
438+
<Filename Value="../../../../../../fpcupdeluxe/lazarus/components/lazutils/translations.pas"/>
439+
<UnitName Value="Translations"/>
441440
<EditorIndex Value="-1"/>
442-
<TopLine Value="997"/>
443-
<CursorPos X="14" Y="1020"/>
441+
<TopLine Value="229"/>
442+
<CursorPos X="13" Y="252"/>
444443
<UsageCount Value="3"/>
445444
</Unit43>
446445
<Unit44>
447-
<Filename Value="/usr/local/share/fpcsrc/rtl/objpas/classes/streams.inc"/>
446+
<Filename Value="../../../../../../Downloads/Decimal to BCD.pas"/>
448447
<EditorIndex Value="-1"/>
449-
<TopLine Value="507"/>
450-
<CursorPos X="3" Y="510"/>
451-
<UsageCount Value="3"/>
448+
<UsageCount Value="4"/>
452449
</Unit44>
453450
<Unit45>
454-
<Filename Value="/usr/local/share/fpcsrc/rtl/objpas/sysutils/filutilh.inc"/>
451+
<Filename Value="../GJHCustomConponents/MainUnit.pas"/>
455452
<EditorIndex Value="-1"/>
456-
<TopLine Value="126"/>
457-
<CursorPos X="3" Y="150"/>
458-
<UsageCount Value="2"/>
453+
<TopLine Value="26"/>
454+
<UsageCount Value="10"/>
459455
</Unit45>
460-
<Unit46>
461-
<Filename Value="../../../../../../fpcupdeluxe/lazarus/components/lazutils/translations.pas"/>
462-
<UnitName Value="Translations"/>
463-
<EditorIndex Value="-1"/>
464-
<TopLine Value="229"/>
465-
<CursorPos X="13" Y="252"/>
466-
<UsageCount Value="7"/>
467-
</Unit46>
468-
<Unit47>
469-
<Filename Value="../../../../../../Downloads/Decimal to BCD.pas"/>
470-
<EditorIndex Value="-1"/>
471-
<UsageCount Value="8"/>
472-
</Unit47>
473456
</Units>
474457
<JumpHistory Count="30" HistoryIndex="29">
475458
<Position1>
476-
<Filename Value="DiscImage.pas"/>
477-
<Caret Line="543" Column="12" TopLine="527"/>
459+
<Filename Value="DiscImage_DFS.pas"/>
460+
<Caret Line="568" Column="49" TopLine="565"/>
478461
</Position1>
479462
<Position2>
480463
<Filename Value="DiscImage_DFS.pas"/>
481-
<Caret Line="450" Column="2" TopLine="499"/>
464+
<Caret Line="1106" Column="54" TopLine="1065"/>
482465
</Position2>
483466
<Position3>
484467
<Filename Value="DiscImage.pas"/>
485-
<Caret Line="545" Column="13" TopLine="519"/>
468+
<Caret Line="562" Column="46" TopLine="562"/>
486469
</Position3>
487470
<Position4>
488471
<Filename Value="DiscImage_DFS.pas"/>
489-
<Caret Line="577" Column="62" TopLine="530"/>
472+
<Caret Line="1110" Column="2" TopLine="1065"/>
490473
</Position4>
491474
<Position5>
492475
<Filename Value="DiscImage_DFS.pas"/>
493-
<Caret Line="1101" Column="40" TopLine="1067"/>
476+
<Caret Line="575" Column="25" TopLine="551"/>
494477
</Position5>
495478
<Position6>
496479
<Filename Value="DiscImage.pas"/>
497-
<Caret Line="562" Column="13" TopLine="537"/>
480+
<Caret Line="543" Column="12" TopLine="521"/>
498481
</Position6>
499482
<Position7>
500-
<Filename Value="DiscImage_DFS.pas"/>
501-
<Caret Line="1108" Column="39" TopLine="1067"/>
483+
<Filename Value="DiscImage.pas"/>
484+
<Caret Line="547" Column="12" TopLine="519"/>
502485
</Position7>
503486
<Position8>
504-
<Filename Value="DiscImage.pas"/>
505-
<Caret Line="545" Column="13" TopLine="533"/>
487+
<Filename Value="DiscImage_DFS.pas"/>
488+
<Caret Line="643" Column="2" TopLine="636"/>
506489
</Position8>
507490
<Position9>
508-
<Filename Value="DiscImage_DFS.pas"/>
509-
<Caret Line="575" Column="20" TopLine="565"/>
491+
<Filename Value="DiscImage.pas"/>
492+
<Caret Line="548" Column="12" TopLine="523"/>
510493
</Position9>
511494
<Position10>
512495
<Filename Value="DiscImage_DFS.pas"/>
513-
<Caret Line="568" Column="49" TopLine="565"/>
496+
<Caret Line="675" Column="2" TopLine="667"/>
514497
</Position10>
515498
<Position11>
516-
<Filename Value="DiscImage_DFS.pas"/>
517-
<Caret Line="1106" Column="54" TopLine="1065"/>
499+
<Filename Value="DiscImage.pas"/>
500+
<Caret Line="549" Column="12" TopLine="524"/>
518501
</Position11>
519502
<Position12>
520-
<Filename Value="DiscImage.pas"/>
521-
<Caret Line="562" Column="46" TopLine="562"/>
503+
<Filename Value="DiscImage_DFS.pas"/>
504+
<Caret Line="703" Column="2" TopLine="695"/>
522505
</Position12>
523506
<Position13>
524-
<Filename Value="DiscImage_DFS.pas"/>
525-
<Caret Line="1110" Column="2" TopLine="1065"/>
507+
<Filename Value="DiscImage.pas"/>
508+
<Caret Line="551" Column="12" TopLine="525"/>
526509
</Position13>
527510
<Position14>
528511
<Filename Value="DiscImage_DFS.pas"/>
529-
<Caret Line="575" Column="25" TopLine="551"/>
512+
<Caret Line="846" Column="26" TopLine="800"/>
530513
</Position14>
531514
<Position15>
532515
<Filename Value="DiscImage.pas"/>
533-
<Caret Line="543" Column="12" TopLine="521"/>
516+
<Caret Line="554" Column="12" TopLine="528"/>
534517
</Position15>
535518
<Position16>
536519
<Filename Value="DiscImage_DFS.pas"/>
537-
<Caret Line="450" Column="2" TopLine="496"/>
520+
<Caret Line="885" Column="2" TopLine="876"/>
538521
</Position16>
539522
<Position17>
540523
<Filename Value="DiscImage.pas"/>
541-
<Caret Line="547" Column="12" TopLine="519"/>
524+
<Caret Line="560" Column="12" TopLine="530"/>
542525
</Position17>
543526
<Position18>
544527
<Filename Value="DiscImage_DFS.pas"/>
545-
<Caret Line="643" Column="2" TopLine="636"/>
528+
<Caret Line="1066" Column="2" TopLine="1059"/>
546529
</Position18>
547530
<Position19>
548531
<Filename Value="DiscImage.pas"/>
549-
<Caret Line="548" Column="12" TopLine="523"/>
532+
<Caret Line="560" Column="12" TopLine="536"/>
550533
</Position19>
551534
<Position20>
552535
<Filename Value="DiscImage_DFS.pas"/>
553-
<Caret Line="675" Column="2" TopLine="667"/>
536+
<Caret Line="1066" Column="2" TopLine="1059"/>
554537
</Position20>
555538
<Position21>
556539
<Filename Value="DiscImage.pas"/>
557-
<Caret Line="549" Column="12" TopLine="524"/>
540+
<Caret Line="496" Column="3" TopLine="459"/>
558541
</Position21>
559542
<Position22>
560-
<Filename Value="DiscImage_DFS.pas"/>
561-
<Caret Line="703" Column="2" TopLine="695"/>
543+
<Filename Value="DiscImage_ADFS.pas"/>
544+
<Caret Line="4825" Column="22" TopLine="4787"/>
562545
</Position22>
563546
<Position23>
564547
<Filename Value="DiscImage.pas"/>
565-
<Caret Line="551" Column="12" TopLine="525"/>
548+
<Caret Line="490" Column="16" TopLine="474"/>
566549
</Position23>
567550
<Position24>
568-
<Filename Value="DiscImage_DFS.pas"/>
569-
<Caret Line="846" Column="26" TopLine="800"/>
551+
<Filename Value="DiscImage_ADFS.pas"/>
552+
<Caret Line="4303" Column="2" TopLine="4294"/>
570553
</Position24>
571554
<Position25>
572555
<Filename Value="DiscImage.pas"/>
573-
<Caret Line="554" Column="12" TopLine="528"/>
556+
<Caret Line="466" Column="14" TopLine="460"/>
574557
</Position25>
575558
<Position26>
576-
<Filename Value="DiscImage_DFS.pas"/>
577-
<Caret Line="885" Column="2" TopLine="876"/>
559+
<Filename Value="DiscImage_DOSPlus.pas"/>
560+
<Caret Line="2192" Column="5" TopLine="2144"/>
578561
</Position26>
579562
<Position27>
580563
<Filename Value="DiscImage.pas"/>
581-
<Caret Line="560" Column="12" TopLine="530"/>
564+
<Caret Line="727" Column="16" TopLine="722"/>
582565
</Position27>
583566
<Position28>
584-
<Filename Value="DiscImage_DFS.pas"/>
585-
<Caret Line="1066" Column="2" TopLine="1059"/>
567+
<Filename Value="DiscImage_DOSPlus.pas"/>
568+
<Caret Line="1416" Column="6" TopLine="1398"/>
586569
</Position28>
587570
<Position29>
588571
<Filename Value="DiscImage.pas"/>
589-
<Caret Line="560" Column="12" TopLine="536"/>
572+
<Caret Line="723" Column="14" TopLine="706"/>
590573
</Position29>
591574
<Position30>
592-
<Filename Value="DiscImage_DFS.pas"/>
593-
<Caret Line="1066" Column="2" TopLine="1059"/>
575+
<Filename Value="MainUnit.pas"/>
576+
<Caret Line="3294" Column="40" TopLine="3264"/>
594577
</Position30>
595578
</JumpHistory>
596579
<RunParams>
@@ -608,14 +591,8 @@
608591
<Debugging>
609592
<Watches>
610593
<Item>
611-
<Expression Value="Result"/>
612-
</Item>
613-
<Item>
614-
<Expression Value="Fcreatedsc"/>
615-
</Item>
616-
<Item>
617-
<Expression Value="FFormat"/>
618-
<DisplayStyle Value="wdfHex"/>
594+
<Expression Value="fragments"/>
595+
<DisplayStyle Value="wdfStructure"/>
619596
</Item>
620597
</Watches>
621598
</Debugging>

LazarusSource/DiscImage_ADFS.pas

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4804,3 +4804,32 @@ function TDiscImage.ADFSReport(CSV: Boolean): TStringList;
48044804
end;
48054805
end;
48064806
end;
4807+
4808+
{-------------------------------------------------------------------------------
4809+
Update the master sequence number
4810+
-------------------------------------------------------------------------------}
4811+
procedure TDiscImage.ADFSUpdateMasterSequence(dir: Cardinal);
4812+
var
4813+
t: Byte;
4814+
begin
4815+
if dir<Length(FDisc) then
4816+
begin
4817+
t:=BCDToDec(FDisc[dir].Sequence)mod 100;
4818+
FDisc[dir].Sequence:=DecToBCD((t+1)mod 100);
4819+
end;
4820+
end;
4821+
4822+
{-------------------------------------------------------------------------------
4823+
Update a file sequence number
4824+
-------------------------------------------------------------------------------}
4825+
procedure TDiscImage.ADFSUpdateFileSequence(dir,entry: Cardinal);
4826+
var
4827+
t: Byte;
4828+
begin
4829+
if dir<Length(FDisc) then
4830+
if entry<Length(FDisc[dir].Entries) then
4831+
begin
4832+
t:=BCDToDec(FDisc[dir].Entries[entry].Sequence)mod 100;
4833+
FDisc[dir].Entries[entry].Sequence:=DecToBCD((t+1)mod 100);
4834+
end;
4835+
end;

LazarusSource/DiscImage_DOSPlus.pas

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1235,11 +1235,11 @@ procedure TDiscImage.AllocateDOSClusters(len: Cardinal;
12351235
//Copy the fragment across
12361236
original[index]:=fragments[index];
12371237
end;
1238+
//Go through each cluster
1239+
index:=1;
12381240
//If still have some data left to allocate, then allocate some clusters
12391241
while lenctr>0 do
12401242
begin
1241-
//Go through each cluster
1242-
index:=1;
12431243
found:=False;
12441244
while(index<=DOSBlocks div dosalloc)and(not found)do
12451245
begin

LazarusSource/MainUnit.pas

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ TMainForm = class(TForm)
578578
DesignedDPI = 96;
579579
//Application Title
580580
ApplicationTitle = 'Disc Image Manager';
581-
ApplicationVersion = '1.46.7';
581+
ApplicationVersion = '1.47';
582582
//Current platform and architecture (compile time directive)
583583
TargetOS = {$I %FPCTARGETOS%};
584584
TargetCPU = {$I %FPCTARGETCPU%};

0 commit comments

Comments
 (0)