Join GitHub today
GitHub is home to over 31 million developers working together to host and review code, manage projects, and build software together.Sign up
GEOS IDE64 driver coprehensive
The technical description below contains comprehensive informations in more details than you essentially need for running the GEOS with IDE64. Hopefuly it can help for the troubleshooting for anybody, who want to experiment.
- Hard Disk Drive size The minimum usable device size is 32MiB. 32MB disks have not enough sectors (there are only 1000^2 bytes, it means only 62500 sectors). One GEOS partition need 65280 sectors.
The maximum effective disk size is up to 137GB (128 GiB - 28bit LBA or CHS). It means 268435455 sectors => in theory 4112 partitions.
You can check the available number of disk sectors by multiplying cylinders * sectors * heads
Hard Disk installation The device need to be master. It is possible to install the device in first (CF) or second (IDE) slot. Only ATA compatible hard disk drive devices are supported. It means CompactFlash cards and PATA hard disk drives. Or the SD cards or SATA hard disk drives using the extra interfaces. CD-ROM, LS-120 or usual ATAPI ZIP drives will not work, but there exist a rare ATA ZIP drive model. You should set this device as system drive in Setup, to be sure that the proper device is selected before booting the GEOS or use @#device_number. But it will only work for the master drives (not the slaves). In two ATA disk drive setup, be careful specially during the disk formatting, you can easily (by mistake) destroy the data on an other IDE disk device if that was active before GEOS boot.
IDE64 Interface Use propper boot disk according your IDE64 version. Currently there exists two versions. IDE64 prior V4.x and IDE64 V4.x The IDE64 need to be flashed with Idedos, the GEOS driver does not use the firmware, but identifies presence of the card by checking addresses $de60-$de62 for "IDE" string.
Number of partitions GEOS partiton uses 256 bytes in one sector. One GEOS partition need 65280 sectors ($ff00). For example "There are 2 partitions available" or "Total: 2" It means there are two partitions: partition 0 and partition 1 available. Minimum number of usable patition is 1. Maximum number of sectors (for 137GB) ($fffffff total sectors) is theoretically 4112 GEOS partitions.
For most cases, please confirm the autodetected geometry values without change. If you like to experiment with a large drive which does not autodetect in full size or you like to limit the total number of GEOS partition for some reason. You can change the geometry of the drive. Larger disk drives may limit CHS autodetected parametters for compatibility reason.
For the maximum disk size. You have to set, number od sectors: 255 number of heads: 16 number of cylinders: 65535 (it should be 65536, but do not try it!)
So the real maximum number of the usable GEOS partitions is 4095.
To keep the formatting process quick, we recommend for a large drives to set the geometry to limit the number of GEOS partitions in reasonable amount. Formatting a hundred of partitions takes about two minutes.
After the format, there is 16192 Kbytes free, it means 64768 sectors available for user data.
ide-hdd.tas HDD_MAXBLK_FREE = 254*256-256
- IDE64 External RAM
The driver uses IDE64 built-in external RAM. Clears whole area $1000-$7fff
If you want to format the hard disk, which was already GOES formated. Use the tool hd-mon21.prg and clear the first sector. After that, the tool hddtool 64 can be used interactively again.
The boot disk drive need to be #8, otherwise the IDE64 drive B "DD DISK" will not be visible.
Running GEOS with HDD Tool 64 installed without IDE64 interface - crashes, because the driver tries to clear external RAM before identifies the presence of the IDE64 card.
Boot GEOS with HDD Tool installed with IDE64 without CF - ends up with empty screen...
Disk drive #9 makes HDD partition invisible @@@@ - need to be proved.
The hard disk device which does not have enough sectors crashes the system while formatting. "There are 0 partitions available" - this means unsufficient size of the disk (or wrong geometry detected?). Fixed with 68cd20c
Crashes on BRK (in the routine setdevice), when the HDD Tool is called interactively and it was autostarted before with GEOS formated hard disk drive.
With REU, GEOS does not even boot. It finishes with empty screen (crash near $0006)
Hddswitch - I was unable to make it work.
In VICE version 2.4 and 3.1 the driver tested successfully.