Jump to content
 







Main menu
   


Navigation  



Main page
Contents
Current events
Random article
About Wikipedia
Contact us
Donate
 




Contribute  



Help
Learn to edit
Community portal
Recent changes
Upload file
 








Search  

































Create account

Log in
 









Create account
 Log in
 




Pages for logged out editors learn more  



Contributions
Talk
 



















Contents

   



(Top)
 


1 Architecture  





2 Short history  





3 IDEDOS 0.898b  



3.1  Device support  





3.2  Filesystem  





3.3  Fastload  





3.4  PCLink  





3.5  Setup screen  





3.6  BASIC extensions  





3.7  File manager  





3.8  Monitor  





3.9  Miscellaneous features  







4 IDEDOS 0.90  



4.1  Device support  





4.2  Filesystem  





4.3  Fastload  





4.4  PCLink  





4.5  Setup screen  





4.6  DOS wedge  





4.7  BASIC extensions  





4.8  File manager  





4.9  Monitor  





4.10  Miscellaneous features  







5 IDEDOS 0.91 beta  





6 References  





7 External links  














IDEDOS






Magyar
 

Edit links
 









Article
Talk
 

















Read
Edit
View history
 








Tools
   


Actions  



Read
Edit
View history
 




General  



What links here
Related changes
Upload file
Special pages
Permanent link
Page information
Cite this page
Get shortened URL
Download QR code
Wikidata item
 




Print/export  



Download as PDF
Printable version
 
















Appearance
   

 






From Wikipedia, the free encyclopedia
 


IDEDOS
DeveloperJosef Souček, Tomáš Přibyl, Jan Vorlíček, Jan Hlaváček, Kajtár Zsolt
Written in6502/65816 assembly language
Initial release1996; 28 years ago (1996)
Latest release0.90
Latest preview0.91 beta
Available inEnglish
PlatformsCommodore 64, 128 and SuperCPU
Default
user interface
Command-line interface
LicenseGPLv2
Official websiteidedos.ide64.org

IDEDOS is a ROM-based disk operating system written in 6502/65816 assembly language for the Commodore 64, 128 and SuperCPU. Its main purpose is to control ATA(PI) devices connected to an IDE64 cartridge and present them like normal Commodore drives. Additionally it supports networked drives (PCLink) and has a built-in machine code monitor and file manager.

Architecture

[edit]

The C64 KERNAL uses a vector table at page 3 to allow redirection of common kernal file handling and basic functions. This feature is used by IDEDOS to hook into the C64 kernal.

The operating system itself is divided into four pages of 16 KiB which are mapped in when required. The mapping is temporarily switched off while interrupts are running for increased compatibility, however this causes a ≈40 μs latency.

Additional RAM for buffers and internal data are also mapped in from either the IDE64 cartridge (28 KiB) or the additional RAM of the SuperCPU is used. The standard kernal memory locations at page zero and page two are handled in a kernal-compatible way; temporarily used memory is restored after the routines are finished.

Beyond the kernal table IDEDOS has two new calls for bulk data handling (read/write) which allows much faster data transfer rates than the character-based I/O.

The native file system is non-CBM style at the low level to allow partitions greater than 16 MiB. High-level features like the 16-character filenames or filetypes are retained. Due to complexity and memory requirements, the filesystem creation and consistency check is not part of the operating system, unlike CBM DOS or CMD DOS.

Additional filesystems like ISO 9660orFAT are abstracted internally and mostly use the same routines for handling, thereby little difference is noticeable to user programs, except if some features are not fully implemented.

The device handling is done by additional device numbers assigned to the new devices. The device numbers for IDEDOS devices are configurable and is normally in the range of 10–14. Over the years many programs assumed that there is only device 8 and do not allow selecting anything else; this can be worked around by temporary changing the used IDEDOS device number to 8.

For standard devices, the original kernal routines are used, while IDEDOS devices use custom routines which closely imitate the results and behavior of kernal calls for floppy devices. Kernal calls not going through the vector table (most notably IEC bus-specific calls) present an incompatibility with those programs using them.

Special features (like CD-ROM audio handling) are implemented by new channel 15 commands, while features not found on floppy drives follow the CMD style commands to allow programs to easily support a wider range of devices.

Unlike intelligent external devices which have a separate processor (like 1541 with CBMDOS), IDEDOS runs on the host computer, thereby all disk routines block until finished. This rules out the use of "IRQ loaders" which are commonly used to speed up operation of serial bus peripherals.

Interrupts are generally allowed while IDEDOS is running (they are disabled on rare time-critical operations), however the system was written to be non-reentrant, just like the original kernal.

Short history

[edit]

In 1996 IDEDOS was born, as there was a need for a system to run the IDE64 1.1 card. It was created by Josef Souček (main code) and Tomáš Přibyl (File manager, Final cartridge monitor adaptation). Additional code came by Jan Vorlíček (BASIC extension), Jan Hlaváček (Duart PCLink).

In 2000 Kajtár Zsolt added CDROM support, new setup code and lot of fixes. Due to limitations of the design the development of a completely rewritten version (0.90) was started by Kajtár Zsolt, which was not ready for general use before 2005. Meanwhile, the old version reached 0.898b in June 2004.

In 2009 the 64 KiB limit for the system started to get tight, and the IDEDOS 0.91 beta was started to refactor the code to gain more space and internal flexibility.

IDEDOS 0.898b

[edit]

This was the last version of the old IDEDOS series.

Device support

[edit]

Filesystem

[edit]

Fastload

[edit]

Built in fast loader supported devices:

Fast load can be switched off in setup in case of incompatibility (non-1541 as device 8). Minimum interleave is 7, fast saver is only supported in manager, and uses an interleave of 8. PAL/NTSC compatible timing.

[edit]

Custom protocol, sequential access only. Supported devices:

Setup screen

[edit]

Includes clock with calendar, ability to set drive numbers, screen colours, auto boot, floppy fast loader, basic clock (TI$), power management, write retry, read-ahead and write cache drive settings, CDROM slow down option.

BASIC extensions

[edit]

The BASIC extension includes disk handling commands (limited to IDEDOS devices), and adds some new error messages. Commands:

File manager

[edit]

It can be used to navigate around directories, start programs, copy/rename/delete files, create directories, and execute plugins to operate on files. Recursive file copy was only added in 0.898b, and in rare cases it does not work.

Monitor

[edit]

The monitor is almost exactly the Final cartridge monitor in IDEDOS 0.89. Only standard 6502 opcodes are available. The commands are:

Miscellaneous features

[edit]

IDEDOS 0.90

[edit]

This is the current stable, the latest version is 20100509 (patch 45). Most notable differences to 0.89 are:

Device support

[edit]

Filesystem

[edit]

Fastload

[edit]

Supported devices:

Device support is automatically detected, but can be disabled manually if needed. PAL/NTSC compatible timing. Fast saver only in the file manager.

[edit]

Custom protocol, sequential access only. Supported devices:

Setup screen

[edit]

DOS wedge

[edit]

Mostly the well known standard DOS wedge commands.

BASIC extensions

[edit]

The BASIC extension adds disk handling commands, which can be used with any device because they use CMD style commands.

File manager

[edit]

The file managers inspiration comes from 0.89, though it was rewritten from scratch. The goal was to have a file manager which not only supports IDEDOS devices, but also works well with CMD and other drives.

Monitor

[edit]

The monitor was rewritten from scratch, the main inspiration was the CCS64 emulator's monitor, but some command ideas came from FC3/AR7/Vice monitors. The goal was to have freezer style (all registers including I/O editable) and fast machine code monitor which supports illegal 6502 and SuperCPU emulation mode opcodes.

Commands:

Miscellaneous features

[edit]

IDEDOS 0.91 beta

[edit]

This is still in development. Most notable differences to 0.90 are:

References

[edit]
  1. ^ "IDEDOS 0.91 beta project page".
[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=IDEDOS&oldid=1194047537"

Categories: 
Disk operating systems
Commodore 64 software
Hidden categories: 
Articles with short description
Short description with empty Wikidata description
 



This page was last edited on 6 January 2024, at 23:17 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License 4.0; additional terms may apply. By using this site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia Foundation, Inc., a non-profit organization.



Privacy policy

About Wikipedia

Disclaimers

Contact Wikipedia

Code of Conduct

Developers

Statistics

Cookie statement

Mobile view



Wikimedia Foundation
Powered by MediaWiki