Skip to content

Commit cc0a1e4

Browse files
Updated to 1.44
1 parent 502b64f commit cc0a1e4

47 files changed

Lines changed: 3035 additions & 1663 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Documentation/Changes.txt

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -884,6 +884,43 @@ Bug fixes
884884
* A failed delete, or the user clicking on 'No' to confirm a deletion, would leave the confirmation window open until it was a successful delete, or the user clicked 'Yes'.
885885
* The configuration option to compress UEF images did not get saved to the registry.
886886

887+
1.44 - 18th December 2022
888+
-------------------------
889+
New or improved features
890+
* Added a new class for accessing the registry.
891+
* Added an option, when creating ADFS hard drive images, to add the 512-byte 'emulator header'.
892+
* Changed some of the internal procedures so that they return a Boolean, instead of a structure, to make it easier to add multi-partition support.
893+
* MMFS support has been temporarily removed.
894+
* Added an option, when creating ADFS hard drive images, whether it will be an IDE drive or not. This fixes an issue where the resultant drive could not be read by RISC OS 3.11 in Arculator.
895+
* ADFS Directories which have not been read in for reasons other than the flag not being set, are now reported as broken.
896+
* ADFS broken directory error codes have been expanded. Now checks for non-sector aligned directories, invalid Start or End names (i.e. not 'Hugo' or 'Nick'), and any other reason it is found to be broken.
897+
* When adding multiple files to an image, no format checking is done and the files are just added.
898+
* When adding directories to an image, the progress indicator is shown.
899+
* When IDing DFS images, any image over 400KB (200KB double sided) is rejected.
900+
* Added the address of the file to the CSV output.
901+
* Extra range checking when updating ADFS New Map fragments, and if any part fails, the original is restored from the backup.
902+
* Moved the 'Waiting' and 'Progress Update' labels on the Progress dialogue window.
903+
* Performed some code optimisation on ADFS New Map.
904+
* Writing objects to ADFS New Map will now create, or re-use, shared fragments.
905+
* When outputting a CSV file of the contents, a dialogue box is now presented to select which columns, with some options, are to be included.
906+
* CSV output now prefixes all hex numbers with '0x' for easier importing into Excel/Numbers/etc.
907+
* Added 'Show Report' button and window.
908+
* Image report can also be included in the CSV output.
909+
* ADFS Hardware information is now saved into hard drive images (ADFS New Map).
910+
911+
Bug fixes
912+
* In ADFS and Acorn FS, if a file had the same sector as the root then the filename would be blank. This would usually happen with New Map ADFS (usually an 'E' floppy) where the root was addressed directly, but the files were addressed indirectly.
913+
* Changing time/date on a file now updates the 'unsaved' icon in the status bar.
914+
* Some ADFS New Map fragment IDs were being used more than once, so the checking on unique IDs has been tightened up.
915+
* The ADFS disc size was being read in as the root size.
916+
* The heads and sectors per track fields were not being read in with ADFS New Map.
917+
* Sometimes the root on ADFS New Map was not being found, so this has been improved.
918+
* Renaming a directory in ADFS caused issues when then adding files to it as it kept it's old name.
919+
* Sometimes when writing a file on ADFS New Map, two (or more) files would have the same indirect address (fragment ID).
920+
* When writing a file to ADFS New Map, the end of free space marker on a zone would be beyond the zone and trample the following zone. When subsequent files where then written, this would continue into the following zone(s).
921+
* On ADFS New Map, the free space would sometimes be incorrectly reported meaning that some files were stored where there was not enough space to store the file.
922+
* On ADFS New Map, the smallest possible space to contain a fragment ID and the stop bit was not taken into consideration, meaning that a file stored could then not be retrieved.
923+
* Some ADFS New and Big directory object's attributes, that only had a single attribute, where having '00' appended to the end.
887924

888925
Platform History
889926
----------------
17.3 KB
Binary file not shown.
-25.7 KB
Binary file not shown.
248 KB
Binary file not shown.

Documentation/ToDo.txt

Lines changed: 18 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -4,44 +4,36 @@ In no particular order
44

55
Bugs
66
* Scaling - there is a report that icons 'grow' on scaled screens. I have been unable to reproduce this.
7-
+ This appears to happen on Windows (and probably Linux), with single screen only (dual or more it does not do this), resolution of 1400 by anything (or more), and scaled to more than 100%. The icons in the Directory Listing grow as the mouse moves. - TO BE TESTED
7+
+ This appears to happen on Windows (and probably Linux), with single screen only (dual or more it does not do this), resolution of 1400 by anything (or more), and scaled to more than 100%. The icons in the Directory Listing grow as the mouse moves. - UNABLE TO REPLICATE. This may have been fixed by the upgrade to Lazarus 2.2.0.
88
* 'Bad FS Map' from BeebEm when loading an ADFS/AFS hybrid image after making a change to the ADFS partition. - UNABLE TO REPLICATE
9-
* Some SS DFS images are IDed as DS images when 'Allow zero sectors' is selected in the preferences.
9+
* Some SS DFS images are IDed as DS images when 'Allow zero sectors' is selected in the preferences. - UNABLE TO REPLICATE
1010
* Access violation has been reported when creating an ADFS HDD image (default options) on Windows. - UNABLE TO REPLICATE
1111
* Does not work on Windows 11. - UNABLE TO REPLICATE
12-
* Changing time/date on a file does not update the 'unsaved' icon in the status bar.
1312

14-
General
13+
General - Ideas, currently unlikely to be added
1514
* Drag and Drop facilities out of the application...currently looking unlikely for cross platform. This will need to be done using 'code-per-platform' directives.
1615
* Extend drag and drop copy/move to multiple selection.
1716
* Application to application communications.
1817
* Copy entire files onto clipboard? And then paste from clipboard? - as Drag and Drop, this will need to be done using 'code-per-platform' directives.
18+
19+
General - Ideas which are maybe possible
1920
* Ask to force overwrite if many files are getting written.
2021
* Export the contents of an open image to another image, or set of images if the selected format is too small or are more directory entries than the format allows.
2122
* Cancel button for progress display?
2223
* Open multiple images at the same time and allow interaction between them (e.g. copying files from one to another).
2324
* For macOS, change the settings being saved to the registry to being saved in a plist file, or within the application directory itself.
2425
* Ablity to add/remove/delete partitions using the command line.
2526
* Allow for multiple (>2) partitions - i.e. two or more DOS partitions on an ADFS structure, or ADFS/AFS/DOS hybrid.
26-
27-
DFS
28-
29-
ADFS
30-
* Import an existing AFS or DOS image into ADFS as a new partition (importing DOS image as parition is as easy as just adding a DOS Image file).
31-
32-
AFS
33-
* AFS0 images do not get created correctly (in particular the free space allocation maps) - AWAITING MORE INFO ON AFS FORMATS.
34-
* Add option to new Level 3 images for pre-1988 or post-1988 format - AWAITING MORE INFO ON AFS FORMATS.
35-
* When extracting the AFS partition, remove the ADFS partition and re-address all the objects, instead of just blanking out the ADFS part - IN PROGRESS.
36-
37-
Amiga
38-
39-
Spectrum/Amstrad
40-
* Write entire module - REQUIRE MORE INFO ON SPECTRUM FORMAT.
41-
42-
MMFS
43-
* Rewrite/rethink entire MMFS idea. Possibly remove from Disc Image Manager.
44-
45-
SparkFS
46-
47-
DOS Plus
27+
* ADFS: When a DOS image file is added to an ADFS image (and the "Open DOS Partition" setting is set), automatically open as the second partition (if there isn't one already).
28+
* AFS: AFS0 images do not get created correctly (in particular the free space allocation maps) - AWAITING MORE INFO ON AFS FORMATS.
29+
* AFS: Add option to new Level 3 images for pre-1988 or post-1988 format - AWAITING MORE INFO ON AFS FORMATS.
30+
* AFS: When extracting the AFS partition, remove the ADFS partition and re-address all the objects, instead of just blanking out the ADFS part - IN PROGRESS.
31+
* Amiga: Add in support for Rigid Disks (multi-partition hard discs) - NEED TO IMPLEMENT MULTI-PARTITION SUPPORT FIRST.
32+
* Amiga: Add in support for Professional File System - AWAITING FORMAT DETAILS AND SAMPLE(S).
33+
* Amiga: Add in support for Smart File System - AWAITING SAMPLE(S).
34+
* Spectrum/Amstrad: Write entire module - REQUIRE MORE INFO ON SPECTRUM FORMAT.
35+
* MMFS: Rewrite/rethink entire MMFS idea - might be more viable once multi-partitions are implemented.
36+
* DOS: Add in support for partitioned hard drive images - NEED TO IMPLEMENT MULTI_PARTITION SUPPORT FIRST.
37+
* Have different TImageList components for each format.
38+
* File Viewer: ability to export contents in a different format (e.g. BASIC -> Text, or Sprite -> PNG).
39+
* Function to check every file and directory on a volume and produce a report detailing number of files with error (CRC32) and number of broken directories (ADFS), and list them, with option to save to a text file.
3.66 KB
Loading

Graphics/Misc/Marble_Tile.png

98.9 KB
Loading

LazarusSource/.DS_Store

6 KB
Binary file not shown.

LazarusSource/AboutUnit.lfm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ object AboutForm: TAboutForm
7676
Align = alTop
7777
Alignment = taCenter
7878
BorderSpacing.Bottom = 4
79-
Caption = 'http://www.geraldholdsworth.co.uk'
79+
Caption = 'https://www.geraldholdsworth.co.uk'
8080
Font.Color = clNavy
8181
Font.Height = -16
8282
Font.Name = 'Tahoma'

LazarusSource/CSVPrefUnit.lfm

Lines changed: 171 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,171 @@
1+
object CSVPrefForm: TCSVPrefForm
2+
Left = 632
3+
Height = 309
4+
Top = 378
5+
Width = 225
6+
BorderIcons = []
7+
BorderStyle = bsDialog
8+
Caption = 'CSV Preferences'
9+
ClientHeight = 309
10+
ClientWidth = 225
11+
OnPaint = FormPaint
12+
Position = poMainFormCenter
13+
LCLVersion = '2.2.0.4'
14+
object cb_IncDir: TCheckBox
15+
Left = 40
16+
Height = 18
17+
Top = 32
18+
Width = 129
19+
Caption = 'Include Directories'
20+
TabOrder = 0
21+
end
22+
object cb_Parent: TCheckBox
23+
Left = 40
24+
Height = 18
25+
Top = 112
26+
Width = 59
27+
Caption = 'Parent'
28+
Checked = True
29+
State = cbChecked
30+
TabOrder = 3
31+
end
32+
object Label1: TLabel
33+
Left = 32
34+
Height = 16
35+
Top = 88
36+
Width = 53
37+
Caption = 'Columns'
38+
end
39+
object cb_Filename: TCheckBox
40+
Left = 40
41+
Height = 18
42+
Top = 130
43+
Width = 73
44+
Caption = 'Filename'
45+
Checked = True
46+
State = cbChecked
47+
TabOrder = 4
48+
end
49+
object cb_LoadAddr: TCheckBox
50+
Left = 40
51+
Height = 18
52+
Top = 148
53+
Width = 100
54+
Caption = 'Load Address'
55+
Checked = True
56+
State = cbChecked
57+
TabOrder = 5
58+
end
59+
object cb_ExecAddr: TCheckBox
60+
Left = 40
61+
Height = 18
62+
Top = 166
63+
Width = 127
64+
Caption = 'Execution Address'
65+
Checked = True
66+
State = cbChecked
67+
TabOrder = 6
68+
end
69+
object cb_Length: TCheckBox
70+
Left = 40
71+
Height = 18
72+
Top = 184
73+
Width = 62
74+
Caption = 'Length'
75+
Checked = True
76+
State = cbChecked
77+
TabOrder = 7
78+
end
79+
object cb_Attributes: TCheckBox
80+
Left = 40
81+
Height = 18
82+
Top = 202
83+
Width = 78
84+
Caption = 'Attributes'
85+
Checked = True
86+
State = cbChecked
87+
TabOrder = 8
88+
end
89+
object cb_Address: TCheckBox
90+
Left = 40
91+
Height = 18
92+
Top = 220
93+
Width = 69
94+
Caption = 'Address'
95+
TabOrder = 9
96+
end
97+
object cb_CRC32: TCheckBox
98+
Left = 40
99+
Height = 18
100+
Top = 238
101+
Width = 62
102+
Caption = 'CRC32'
103+
Checked = True
104+
State = cbChecked
105+
TabOrder = 10
106+
end
107+
object Label2: TLabel
108+
Left = 32
109+
Height = 16
110+
Top = 8
111+
Width = 47
112+
Caption = 'Options'
113+
end
114+
object CancelButton: TBitBtn
115+
Left = 8
116+
Height = 30
117+
Top = 272
118+
Width = 100
119+
Cancel = True
120+
Caption = 'Cancel'
121+
Color = 15527148
122+
ModalResult = 2
123+
TabOrder = 11
124+
end
125+
object OKBtnBack: TPanel
126+
Left = 112
127+
Height = 30
128+
Top = 272
129+
Width = 100
130+
BevelColor = clYellow
131+
BevelInner = bvLowered
132+
BevelOuter = bvLowered
133+
BevelWidth = 4
134+
ClientHeight = 30
135+
ClientWidth = 100
136+
Color = clYellow
137+
ParentColor = False
138+
TabOrder = 12
139+
object OKButton: TBitBtn
140+
Left = 0
141+
Height = 30
142+
Top = 0
143+
Width = 100
144+
Caption = '&OK'
145+
Color = 15527148
146+
Default = True
147+
ModalResult = 1
148+
TabOrder = 0
149+
end
150+
end
151+
object cb_IncFilename: TCheckBox
152+
Left = 40
153+
Height = 18
154+
Top = 50
155+
Width = 118
156+
Caption = 'Include Filename'
157+
Checked = True
158+
State = cbChecked
159+
TabOrder = 1
160+
end
161+
object cb_IncReport: TCheckBox
162+
Left = 40
163+
Height = 18
164+
Top = 68
165+
Width = 143
166+
Caption = 'Include Image Report'
167+
Checked = True
168+
State = cbChecked
169+
TabOrder = 2
170+
end
171+
end

0 commit comments

Comments
 (0)