IDEDOS 0.91 beta project page

Welcome to the home of the IDE Disk Operating System 0.91 for the IDE64 cartridge!

The next version of IDEDOS is comming, but it needs some more time to be finished. But this does not mean that there are no interesting features which can be tried out until it's fully finished. Also I'd like to know if the finished parts work as expected, or if there are some old features which do not work anymore. But as always:

This IDEDOS 0.91 beta release is not very well tested and could destroy your data!

Which is of course not the intention, but having good backups is a very good idea if there's something important stored on the disks. The point of the release is to get more testing on diverse hardware and to get feedback.

IDEDOS changes since 0.90 20091029, which are done:

OFS 0.02 support removed
The old filesystem used by IDEDOS 0.89x is not supported anymore, as this is only taking up space and probably everyone has converted by now.
Protected BASIC, serial and PCLink routines.
There was an incompatibility with interrupt routines located in the ROM banking area when the BASIC extension, serial and PCLink routines were running, which caused crashes for some software. This should be no problem anymore on C64. (but this problem still exists on SuperCPU due to hardware limitation)
F-keys work with interrupts
Setting up a custom interrupt routine automatically disabled the hotkey support. This should not happen anymore, as this was a workaround.
Read ($DEF4) works under I/O
This allows faster disk operations in the monitor when loading under the I/O area, but can be used by user software as well. Probably some of the picture plugins will be updated to use this.
Autostart works from IEC devices now
This was an annoying incompatibility, which required the use of the KILL command before loading an autostarting program from floppy. Loading below $334 is still disabled for IDEDOS drives, to prevent accidental system lockup due to memory corruption.
PCLink load below I/O works now
Loading huge programs over PCLink should be no problem now. This was already a standard feature for IEC and normal IDEDOS drives.
SilverSurfer PCLink support, PCLink optional
In theory this should be possible now, but it was not tested on real hardware yet. Also now it's possible to completly disable PCLink support.
FAT filesystem read ($DEF4) and load
Now copying is much faster from a FAT volume, and loading files also works now. Probably this will increase the confusion of new people who forget to format a drive to native CFS and want to write to it, as everything seems to work except writing.
Combined CFS and FAT partitions, per partition filesystem support
Now if there are FAT partitions on a disk which has a CFS partition table then the FAT partitions are not hidden anymore, but are filling up the unused CFS partition entries in the CFS partition table as foreign partitions. To make this useful the limit of one filesystem type per drive is removed now and the filesystem type belongs to the partitions, like it should be normally. FAT partitions take up twice the space so there can be at most 8 if there are no CFS partitions.
Partition list for FAT and ISO9660
The partition list is automatically generated for FAT and ISO9660 volumes, so it's not an error anymore when there's no CFS partition table on disk.
Dynamic drive ennumeration, PCLink detection
The drive numbers are not hardcoded now (e.g. drive 1→primary slave), but are assigned in the order of detection. Also PCLink drives disappear when there's no hardware connected (e.g. no network card connected, but support is compiled in). 5 drives are supported, but only 4 of them can be a normal drive, the 5th can only be PCLink.
Read ($DEF4) and write ($DEF1) support on modifiable files
IDEDOS 0.90 only allowed character I/O on modifiable files, but this limitation was fixed now. This opens up posibilities to create high performance database softwares, read/write image file support (D64) or IFFL system with fast read/write support.
Timestamp update only if modified
The timestamp is only updated if the modifiable file was really modified, a simple open and reading is no reason for a timestamp update.
Seeking, modifiable and appendable files on PCLink
The PCLink drive gained standard features of normal IDEDOS drives. So now it should be possible to enter D64 files on PCLink too, or play Maniac Mansion over the network.
PCLink protocol changes
This was necessary due to seeking, and performance reasons. With the new protocol USB PCLink is ~40 KB/s for both read and write, and the ethernet PCLink is at ~60 KB/s in both directions (with SuperCPU it's 200 KB/s!). Unfortunately an updated ideserv is necessary, but Rush can be played over EPCLink now with proper frame rate.
Drive types
The internal architecture was reworked to understand drive types beyond ATA and ATAPI, for example PCLink is one of the new drive types now. This is an important change, but I guess it's not very interesting for users yet.
PCLink activity LED
The extra LED on the V4.1 cartridge is now used as PCLink activity LED. Before it was the error led, but it had a lot of quirks. (there was no way to tell which device was in fault, and if more than one was in fault, then sometimes it was not shown)
Additional editor function keys
In 0.90 the only function key was CONTOR+D. Now there are some more to move the cursor around, clear parts of line or toggle repeat/insert mode.
Floppy speeder cleanup
Now 1581 has fastsave support, and 1571 native mode is supported as well. Also fastsave is not limited to the manager anymore, it's also used by the SAVE kernal call.

IDEDOS changes since 0.90 20090702, which are to do:

Relative files
Due to internal changes the relative file support is broken temporary.
Executable flag on files
It's ignored for now due to internal changes, future is uncertain.
SuperCPU support
Could be broken at some places, as not much testing was done yet.
Regressions
Some things could be broken, which already worked on IDEDOS 0.90 and are not on this list. Please help to find them.

Contact:

Please send your experiences to the IDE64 mailing list, which is now at: http://groups.google.com/group/ide64

Changelog:

22.36.58
Initial upload
22.37.00
PCLink could delay the boot quite a lot in some cases, fixed now.
22.37.01
PC64 frame error fixes, and PCLink+CRC compile failure fix.
22.37.02
All PCLinks except ethernet corrupted a byte in RAM around ~$b300 during read because of a typing mistake.
22.37.03
If only write were used with special size to write a file then it could happen that the file was not marked as modified which prevented proper close.
22.37.04
The SuperCPU version does not crash on boot anymore and is now testable.
22.37.05
Error LED on V4.1 is now PCLink LED.
22.37.06
Kernal file table emulation
22.37.07
Kernal file table use for normal operation. No double channel use anymore, 10 open files only, but ACE works now ;)
22.37.08
Load allows to load to $2a7-$2ff now from IDEDOS devices.
22.37.09
Directory load below I/O is supported now, verify failing works over pclink.
22.37.10
Wrong data was written if the buffer had to be flushed first in blockwrite.
22.37.11
Blockread after last byte of sector position increment bug
22.37.12
Load hang/load error on directory load with JD support but without JD kernal
22.37.13
Only allow floppy autostart for BASIC load
22.37.14
Dual ROM support for IDE64 V4.1 (Automatically boot C64 or SuperCPU version based on hardware configuration)
22.37.15
Do full reboot after SuperCPU/C64 mode switch to prevent possible corruption.
22.37.16
Fix ETH64 compile problem
22.37.17
Vector table restore hack added, RR freeze hack added, CR corruption and bypass fix, multiple readers for the same file allowed, DolphinDOS fixes, 1541/1571 fastload freeze fix
22.37.18
Transfer test fixes (hwerror)
22.37.19
SCPU compile fix, device not present hang fixes for "@" and monitor
22.37.20
Manager updates (mkdir, pattern selection) Device number change with @# in monitor. Chkin/out y fix.
22.37.21
Extended editor keystrokes, insert mode
2010-07-11 13.14.50
Link handling works again, more function keys
13.14.51
Experimental IEEE488 support for modified CBM adapter.
13.14.53
Function key fixes, monitor function keys
13.14.54
Function key fixes, manager input function keys
13.14.55
Broken file hole handling fixed, recursive link copy fixed, monitor supports decimal, binary and octal numbers, pattern fill for monitor
13.14.56
Broken verify fixed, kernal v2 setup fix, insert mode and line skip in monitor, insert mode in manager
2010-08-05 21.39.41
Virtual drive read and write, scratch speedup
2010-08-09 22.33.03
Virtual drive interface update, pclink fixes
22.33.04
SCPU chkout hang and load under I/O crash fix
22.33.05
jiffydos/dolphindos tksa bugfix, c128keyb ddr fix
2010-09-06 18.55.34
Move in manager, virtual filesystem update for close, write fixes
2010-09-20 09.08.51
1581 fastsave, fastsave on floppy for SAVE (before it was only for manager), 1571 native mode fastsave fixed, manager 1571/1581 native mode fixes, dolphindos verify crash fix, 1571 device not present bug on open
2010-09-21 09.43.27
Less seeking when fast saving to 1581, ident string fix for hardware error, more hwtest update
2010-09-22 21.25.19
CHANGE device not present error fix, CHANGE now works on 1570/1571/1581, only use special commands if supported (otherwise some drives hang for a while at boot)
2010-09-25 10.48.18
1581 fastload can be stopped now properly, 1581 fastsave fixes, slight load/save speedup
2010-09-28 09.51.33
PCLink blockwrite/read fix
2010-09-29 09.16.31
Load error handling fix
2010-10-04 09.33.04
Blockread end bugfix, parititon end bugfix. Big floppy speeder update (not disabled so often)
2010-10-06 10.01.15
DolphinDOS write speedup, eth64 allocation fix
2010-10-06 18.29.22
Put back accidentaly removed virtual filesystem read/write
2010-10-11 09.38.25
CP0 and CD/ compatibility fixes, faster save on 1541/71 JD drives, file size estimate when copying in manager from CMD devices was wrong, problem to stop loading on 1541/71 fastload fixed, floppy blockread size bug fixed, hang when copying to CMD HD fixed.
2010-10-11 22.46.43
Floppy speeder init more reliable now, SCPU load/write fixes.
2010-10-14 14.47.58
Validate rename window input
2010-10-15 08.37.15
Land in same directory as other panel, when same drive is selected
2010-10-16 10.39.35
Quick moving now works in manager, handle deletion while moving inteligently without questions.
2010-10-23 19.42.20
Odd frame ignore bug fixed with ETH64.
2010-10-23 21.33.38
PC64 pclink bug fixed, anything older than 20101023 is broken now ;(
2010-10-24 10.02.56
Drive not ready if no cable is connected on EPCLink and UPCLink
2010-10-28 08.36.59
Use of uninitialized pointer fixed in chrin/chrout. Update recommended.
2010-12-28 20.33.19
Restore vectors in case of hardware failure on boot, allow the use of commas as parameter separator in the monitor
2011-02-16 08.01.57
del function key added, display only end of path in manager, fix second sid handling in manager it at $d600, monitor sid muting fix, fix broken <- in monitor, serial bus timing tolerance improved for 1541/71
2011-03-05 11.50.40
Fixed cursor beyond filelist bug and memory corruption in manager, monitor accepts indirect addresses as numeric parameters and accepts comma as a separator in a few more commands
2011-03-19 16.57.59
Workaround for 1541U unsupported illegal opcodes in floppy speeder
2011-03-25 16.47.01
Some fixes for operating without kernal
2011-06-28 15.41.28
Close hang fix, fat files seekable now (suboptimal but works)
2011-06-28 18.43.09
Fix floppy speeder problems with virtual filesystems in manager
2011-08-05 00.21.07
Smarter handling of invalid geometry in boot sector
2011-11-04 10.45.12
Support for burst modification (CIA2), clrchn untalk/unlisten loop fix, detection fixes (incompatible with old VICE for second bus as the emulation was wrong), do not unnecessarily spin up harddisk for standby timeout change, reset drive on interrupted transfer, compile fix for certain configurations.
2011-11-06 10.50.25
The basic IRQ protection had a hole, this is fixed now.
2011-12-28 23.37.25
Reuse command channel if reopened.
2012-01-30 15.14.33
Manager workaround for command channel reuse. Really I should get rid of the separate buffer soon...
2012-02-03 07.08.33
No more command channel buffer allocation, DOS wedge does not disturb open files on floppy. Remove some JD workarounds, it's not needed anymore. Invalid serial bus access sometimes when using virtual drive in manager fixed now.
2012-02-19 02.56.40
Less seeking when copying on same partition in manager. Wrong progress bar length in long directories fixed. Update ideserv to 0.27b 20120218, earlier versions couldn't parse cd:←, and the manager is using it now instead of cd←.
2012-02-21 02.41.38
Compile fixes
2012-03-04 12.25.06
Silly eof bug in manager for short files.
2012-03-14 23.42.10
Fix for SCPU crash on chrin
2013-12-18 19.02.13
Fix for the NTSC JiffyDOS timing
2013-12-23 18.40.24
Add ShortBus I/O 2 enable/disable option
2014-07-24 07:42:28
More conservative JD timing
2014-09-18 00:01:13
Fix SCPU pattern match in manager
2014-12-28 10:01:06
More compatible JD f-key init
2015-01-29 16:00:37
Support V4.2 cartridge
2015-10-12 13:15:10
Dos wedge can load autostarting programs from floppy now
2016-04-15 07:35:27
Fix "man!" config reload
2017-02-16 12:27:54
Use actual drive on active panel when entering manager
2017-02-24 22:51:50
Restore last device after reset. Use/change last device in monitor.

Files:

Custom IDEDOS 0.91 beta download web page (2017.Feb.24)
Custom download page for all cases, use this!
Sample ide.hdd for VICE (2010.Dec.31)
Can be used to test IDEDOS 0.91 beta on VICE
IDEserv 0.29f beta for pclink (source+win32 binary, 2016.Aug.6)
IDEserv 0.28 beta for pclink (source+win32 binary, 2014.Oct.10)
XPCLink, PPCLink, SPCLink, EPCLink, UPCLink server. Work in progress version, protocol not set in stone yet, so this is exactly for IDEDOS 0.91 beta 20120314. It supports the perom programmer, but not IDEDOS 0.90. (only from beta 724)

Documents:

IDE64 interface cartridge user's guide beta (pdf, 2016.Apr.3, ca. 1 MB, A5 paper)
Work in progress user's guide for IDEDOS 0.91 beta.
– Soci/Singular –