SUNRISE IDE (BETA) DRIVER 0.1.5 --- Note from Konamiman This text refers to an IDEBETA5.DAT file that is actually the Nextor kernel for Sunrise IDE ROM file. This file, along with the IDEFL128, IDETB128 and CIDEB128 tools, is available at Konamiman's MSX page: http://www.konamiman.com#nextor --- End of note My first contact with Nextor was with MegaFlashROMSCC+SD and it works great. Built in FDISK and FAT16 support are killer features. And there is a lot of additional stuff (like RALLOC). When I saw the IDE version to download I managed to change the CIEL upgrade utility to flash Nextor on my CIEL interfaces and... it still works great! But I had some problems, after asking Konamiman about my issues with IDE actual driver he gives to me the IDE driver assembler source code, so I could fix the issues myself. Some time later the code was made available at Nextor homepage. Finally I had time to study the source code, IDE specs, another IDE drivers and fix some of the issues that I had with the original driver. That modified driver is the one that is in this package. It works good to me and I hope can works great to you. Only remember, this is a BETA product and can have some rough edges to fix. What's new ---------- - This driver now doesn't hangs when the IDE have no devices connected (the actual timeout is 30 seconds, but you can hit while probing to skip device detection). - We probe for SLAVE devices. The old Nextor driver didn't - There is some timers and timeouts added to improve stability - Now the driver waits the IDE to be ready before send commands. - A new device probing routine, we can detect more devices. - Source code compiles with sjasmplus Known bugs ---------- - We didn't support ATAPI devices - Sometimes all DEVINFO strings came empty - If you have two Nextor interfaces and the first one is an IDE, the initialization process will run twice (WHY?!??!) Future plans ------------ - Maybe reset the BUS if BSY/RDY got stuck - Support ATAPI devices - Try to give generic names (CDROM, HD, CF, etc...) to devices that doesn't have an identification string Installing Nextor (BETA) driver ------------------------------- Each interface needs a special utility to "flash" a new ROM. We included in three of those programs in this package: - IDEFL128.COM -> Sunrise IDE - IDETB128.COM -> Tecnobytes IDE - CIDEB128.BAS/CIDEB128.BIN -> ACVS/CIEL IDE The ROM file is: IDEBETA5.DAT You need to put the correct utility for your interface and the ROM file in a media that you can access without the IDE (floppy disk, MegaFlashROMSCC+SD, another IDE interface, etc). If you have Sunrise or Tecnobytes IDE, remember to put MSXDOS/MSXDOS2/NEXTOR files together with the utility and the ROM file. The Sunrise/Tecnobytes utilities needs MSXDOS to work. 1. ACVS/CIEL IDE Boot your MSX with the interface disabled (press the small button on cartridge while booting). At BASIC prompt run: RUN"CIDEB128.BAS Select your interface slot, confirm (S) and wait. WARNING: IDEBETA5.DAT needs to be the *only* file that matches IDE?????.DAT name pattern. 2. Sunrise/Tecnobytes IDE Boot your MSX with the interface disabled (press DEL while booting). At MSXDOS prompt run: IDEXX128 IDEBETA5.DAT XX is TB for Tecnobytes and FL for Sunrise. Select your interface slot using the arrow keys, hit enter and wait. If all goes OK you're now using the IDEBETA5 driver! Congratulations! What to test? ------------- If you want to help and have access to different hardwares, please test: 1. In a faster machine: Turbo-R, Expert3 Turbo, any machine at 7.xxMHz 2. Using a Sunrise interface, I only have access to CIEL/ACVS and Tecnobytes 3. Using different HDs, CF-IDE adapters, CF Cards, etc. Main focus here is to find devices that old Nextor IDE driver works and have problems with this one and vice-versa, devices that didn't work at old Nextor IDE and now works. I test the driver before release to public, but the only thing that I can say about my tests is "Works for me". The driver is first developed using OpenMSX and after some iterations I "flash" it to physical devices. My testing environment to this release: Computers - Panasonic A1WX - Sony HB-T9 IDE Interfaces - 2x ACVS/CIEL CF-IDE - Tecnobytes ATA-IDE Devices - 2x Sandisk Compact Flash 1GB - 1x Sandisk Compact Flash 256MB - CF-IDE generic adapter model "A" - CF-IDE generic adapter model "B" Diagnostics ----------- IDE probing is a complex process. To give a clue about what's happening while the machine is booting the IDE driver prints dots. "Searching" - dots at regular interval are the sign that IDE is waiting for device. If there is no devices connected you will see around 30 dots. - one dot for MASTER lazy probe - one dot for SLAVE lazy probe - one dot for BUS reset Usually in a good boot you will see only three dots "Master device"/"Slave device" - First dot: device pass the lazy probe - Second dot: device selected - Third dot: send IDENTIFY command to device - Fourth dot: lot of tests to identify ATA/ATAPI - Fifth dot: select device (again) An absent device is usually detected before the first dot. It's not unusual to spend a lot waiting the third dot. ATAPI devices are discarded before fourth dot. If you hit ESC before the first dot, the device will be skipped. Thanks ------ - Nestor Soriano, the writer of Nextor and the original driver - FRS, gives a great help to me with sjasmplus and general assembler questions - Hale Landis, provides good sample ATA drivers with C source code in public domain Contact ------- If you want to talk to me: piterpunk(AT)unitednerds(DOT)org