Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ED64InvalidSector: Track #3 does not contain 40 sectors. #4

Open
mrgw454 opened this issue Jan 25, 2024 · 6 comments
Open

ED64InvalidSector: Track #3 does not contain 40 sectors. #4

mrgw454 opened this issue Jan 25, 2024 · 6 comments

Comments

@mrgw454
Copy link

mrgw454 commented Jan 25, 2024

Hello!

Trying to build GeoUTools on my Debian 12 system and I'm getting the following error:

Cloning into 'GeoUTools'...
remote: Enumerating objects: 820, done.
remote: Counting objects: 100% (227/227), done.
remote: Compressing objects: 100% (174/174), done.
remote: Total 820 (delta 138), reused 140 (delta 53), pack-reused 593
Receiving objects: 100% (820/820), 20.35 MiB | 8.00 MiB/s, done.
Resolving deltas: 100% (557/557), done.
16
cl65 -t geos-cbm  -Os -I include -C geoumount_cc65config.cfg -m geoumount.map -o geoumount.bin geoumount.grc src/mount.c src/interface.c src/mount_common.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_dos_lib.c src/geoumountHdr.s
cl65 -t geos-cbm  -Os -I include -C geoutime_cc65config.cfg -m geoutime.map -o geoutime.bin geoutime.grc src/time_synch.c src/time_common.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_time_lib.c src/ultimate_network_lib.c src/geoutimeHdr.s
cl65 -t geos-cbm  -Os -I include -C geouconfig_cc65config.cfg -m geouconfig.map -o geouconfig.bin geouconfig.grc src/config.c src/mount_common.c src/time_common.c src/interface.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_dos_lib.c src/geouconfigHdr.s
rm -f geoutools.d81 2>/dev/null
/usr/local/bin/GEOSBuild geoumountd81.gbuild
GEOS Build.

Processing:  geoumountd81.gbuild
Opening existing disk image: GeoUTools.d81
Opened info/header file: geoumountHdr.bin
Info/header file size: 256
Using destination file name: GeoUMount
Allocated info/header sector.
Scratching existing file.
Allocated file data fork of size: 15887 (63 blocks)
Allocated file entry.
Wrote disk image.
Done.
/usr/local/bin/GEOSBuild geoutimed81.gbuild
GEOS Build.Cloning into 'GeoUTools'...
remote: Enumerating objects: 820, done.
remote: Counting objects: 100% (227/227), done.
remote: Compressing objects: 100% (174/174), done.
remote: Total 820 (delta 138), reused 140 (delta 53), pack-reused 593
Receiving objects: 100% (820/820), 20.35 MiB | 8.00 MiB/s, done.
Resolving deltas: 100% (557/557), done.
16
cl65 -t geos-cbm  -Os -I include -C geoumount_cc65config.cfg -m geoumount.map -o geoumount.bin geoumount.grc src/mount.c src/interface.c src/mount_common.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_dos_lib.c src/geoumountHdr.s
cl65 -t geos-cbm  -Os -I include -C geoutime_cc65config.cfg -m geoutime.map -o geoutime.bin geoutime.grc src/time_synch.c src/time_common.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_time_lib.c src/ultimate_network_lib.c src/geoutimeHdr.s
cl65 -t geos-cbm  -Os -I include -C geouconfig_cc65config.cfg -m geouconfig.map -o geouconfig.bin geouconfig.grc src/config.c src/mount_common.c src/time_common.c src/interface.c src/uultimate_geosassembly.s src/ultimate_common_lib.c src/ultimate_dos_lib.c src/geouconfigHdr.s
rm -f geoutools.d81 2>/dev/null
/usr/local/bin/GEOSBuild geoumountd81.gbuild
GEOS Build.

Processing:  geoumountd81.gbuild
Opening existing disk image: GeoUTools.d81
Opened info/header file: geoumountHdr.bin
Info/header file size: 256
Using destination file name: GeoUMount
Allocated info/header sector.
Scratching existing file.
Allocated file data fork of size: 15887 (63 blocks)
Allocated file entry.
Wrote disk image.
Done.
/usr/local/bin/GEOSBuild geoutimed81.gbuild
GEOS Build.

Processing:  geoutimed81.gbuild
Opening existing disk image: GeoUTools.d81
Opened info/header file: geoutimeHdr.bin
Info/header file size: 256
Using destination file name: GeoUTime
Allocated info/header sector.
Scratching existing file.
Exception at 00000000004884D7: ED64InvalidSector:
Track #3 does not contain 40 sectors.
make: *** [Makefile:121: geoutools.d81] Error 252


Processing:  geoutimed81.gbuild
Opening existing disk image: GeoUTools.d81
Opened info/header file: geoutimeHdr.bin
Info/header file size: 256
Using destination file name: GeoUTime
Allocated info/header sector.
Scratching existing file.
Exception at 00000000004884D7: ED64InvalidSector:
Track #3 does not contain 40 sectors.
make: *** [Makefile:121: geoutools.d81] Error 252

I've attached the .d81 and .d64 images.

Thanks for any help you can provide!
diskimages.zip

-Ron

@xahmol
Copy link
Owner

xahmol commented Jan 26, 2024

Yeah, there is a bug in the GEOSbuild tool that apparently never has been fixed by its creator (not me).

See, M3wP/GEOSBuild#2

In that thread there is also the solution on getting it to work.

Alternatively you could of course also download my latest zip with working images 😉could also send you a working GEOSbuild compile if you want.

Thanks for the interest!
Xander

@xahmol
Copy link
Owner

xahmol commented Jan 26, 2024

Appears alas that that GEOSbuild tool became abandoned ware. Pity as it works great, and the fix for this problem is so easy: the correct module is already in his other project.

@mrgw454
Copy link
Author

mrgw454 commented Jan 26, 2024

I went ahead and replace those 2 modules - GEOSBuild compiled fine. I proceeded to rebuild GeoUtools, but getting the following new error:

Processing:  geouconfigd81.gbuild
Opening existing disk image: GeoUTools.d81
Opened info/header file: geouconfigHdr.bin
Info/header file size: 256
Using destination file name: GeoUConfig
Allocated info/header sector.
Allocated file data fork of size: 13736 (55 blocks)
Allocated file entry.
Wrote disk image.
Done.
c1541 -attach geoutools.d81 -geoswrite "gEOutOOLS dOCuk.cvt"
Error - Cannot open file `/home/ron/source/GeoUTools/geoutools.d81'.
cannot open file `/home/ron/source/GeoUTools/geoutools.d81'
Segmentation fault
make: *** [Makefile:123: geoutools.d81] Error 139

The issue is case sensitivity of the disk image file. I have the following disk 2 image files created in my working folder:

GeoUTools.d64
GeoUTools.d81

The step at the bottom of the error is looking for geoutools.d81 in all lowercase.

Strange as the Makefile uses this:

        c1541 -attach $(SUITE).d81 -geoswrite "gEOutOOLS dOCuk.cvt"
        c1541 -attach $(SUITE).d81 -geoswrite "gEOutOOLS dOKde.cvt"

... and $(SUITE) is defined as:

SUITE = geoutools
It should be OK.

I'm sure there is something easy I'm missing. I wish to compile your program as there are times I do things on my Raspberry Pi and there's not always ARM binary builds available.

I do enjoy this project (and some of your others). Your help is appreciated!

Thank you!

-Ron

@mrgw454
Copy link
Author

mrgw454 commented Jan 26, 2024

I "fixed" the case issue for the disk images by redefining the SUITE variable.

I did find one more case issue:

make: *** No rule to make target 'readme.pdf', needed by 'GeoUTools-v11-20240126-0649.zip'.  Stop.

Makefile:ZIPLIST = $(SUITE).d64 $(SUITE).d81 readme.pdf readme_de.pdf

ron@x570:~/source/GeoUTools$ ls -l *.pdf
-rw-r--r-- 1 ron ron 1149219 Jan 26 06:46 README_de.pdf
-rw-r--r-- 1 ron ron 1006256 Jan 26 06:46 README.pdf

I can resolve this one, too. Perhaps you build in a Windows environment where case is not as issue? :)

-Ron

@xahmol
Copy link
Owner

xahmol commented Jan 27, 2024

I build using Ubuntu under Windows Subsystem for Linux 2, but the source is on an NTFS formatted drive. Maybe that is the issue?

Probably should only use lowercase to avoid issues like this.

@xahmol
Copy link
Owner

xahmol commented Jan 27, 2024

See the issue. Indeed the Makefile uses lowercase only names, the GEOSBuild files (the .gbuild files) use mixed case.
Think I need to change the .gbuild files to use lowercase as well, spares a lot of possible issues.
Of course, changing the Make variables to mixed case also works.

That I never had an issue must be because my NTFS drive formatting where the source resides.

By the way, the strange case for the .cvt files is caused by the disk image using PETSCII with GEOS itself using ASCII. So lower case and uppercase get mixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants