flashjazzcat Posted January 24, 2016 Share Posted January 24, 2016 Since Phaeron added Corvus emulation to Altirra, and considering the excitement which sometimes surrounds these rare vintage HDD controllers, here's an XL/XE Corvus APT driver for SpartaDOS X: corvus_apt_driver_v.0.1.zip This works exactly like the SIDE, MYIDE and Colleen drivers which are already in wide use. Fire up Altirra, add a Corvus via System->Devices..., boot SDX, run CORVUS.SYS and then run the APT partition editor (FDISK) in the usual fashion. Be sure to select XL/XE compatibility (ports 1+2). Volume size is very limited at the moment since only a 6MB HDD is emulated, but it's fun nonetheless. Note: this driver uses the APT partition format, so if you happen to prep a disk (real or emulated), all your old Corvus partitions will be gone. Not sure where this is going, if anywhere, but the next task is to tighten up the driver and make transfers a bit faster (it's very slow at the moment since modularity has resulted in a lot of subroutine calls for every byte transferred). Error checking is non-existent and I have absolutely no idea how this will fare on real hardware. The firmware tracks should be safe since the driver only does block transfers in the user area of the drive. FDISK works transparently with the Corvus with the exception that the Firmware description string spills out of the APT device properties dialog, so I'll fix that eventually. All the APT tools I've tested work with it (APTDISK, APTDEV, etc), and you can explore the disk at the physical or logical level with KMK's excellent EDDY editor. You can even leave your Ultimate/SIDE HDD active and run it alongside the Corvus. Both devices show up in the partition editor. Speaking of Ultimate: if you're using the new BIOS, disable joystick input in the setup menu otherwise the Corvus will move the highlight cursor for you. The driver will eventually sense if it's working on an 800 and configure itself for PORTB, and avail itself of the extra joystick ports Incognito provides in XL/XE mode. Right now, it's XL/XE only. 6 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 24, 2016 Share Posted January 24, 2016 I have been testing this all day, and so far it has performed flawlessly. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 24, 2016 Author Share Posted January 24, 2016 Thanks again for all your help. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted January 25, 2016 Share Posted January 25, 2016 I'm glad I was able to provide a little help. I was planning on providing more help, but I'm not a speed-coder. I was still puzzling over that pdf when you discovered that error status byte thing. I'm just happy that we now have a driver. Really, I think this enhances SDX nicely. We can use the newest hardware, and now, some of the oldest. 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted April 9, 2017 Share Posted April 9, 2017 Bump! Jon, Any progress on this? I want to send it to someone who has a real Corvus for testing. 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 9, 2017 Author Share Posted April 9, 2017 I forgot what was to-do on this and haven't touched it since. Was it 800 compatibility? 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted April 9, 2017 Share Posted April 9, 2017 The main thing is that it hangs if no Corvus is present. It would be nice if it could gracefully exit so it could be included in the default config.sys. I don't remember if it auto detects ports (1-2) or (3-4) or not... 1 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 9, 2017 Author Share Posted April 9, 2017 Ah right... got you. I'll have to dig into it since there's no "detection" code at all: it just assumes the interface is present. I notice several of the status routines (adapted from the Corvus bumph we were originally working from) just loop ad infinitum waiting for bits to change, so a few timers on those should facilitate a way to get out if there's no response. 4 Quote Link to comment Share on other sites More sharing options...
_The Doctor__ Posted April 10, 2017 Share Posted April 10, 2017 in true corvus form, it should only exit after 30 seconds to a minute of no response, as it can take that long on real hardware if the corvus and the Atari power up at the same time.. correct? 2 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted March 31, 2018 Share Posted March 31, 2018 Bump! Quote Link to comment Share on other sites More sharing options...
fibrewire Posted June 8, 2018 Share Posted June 8, 2018 Ah right... got you. I'll have to dig into it since there's no "detection" code at all: it just assumes the interface is present. I notice several of the status routines (adapted from the Corvus bumph we were originally working from) just loop ad infinitum waiting for bits to change, so a few timers on those should facilitate a way to get out if there's no response. if I can recall, the interface just polls the drive and after a set time limit, in true "corvus network" fashon it would say something like "network offline" - I think you can see it flash for a moment in one of those videos I posted. Before I figured out how to write the firmware to a drive to fix it after a low level format I would see that message all the time. Thanks to everyone who made it possible for me to enjoy a fantastic piece of computing history, and to all you guys keeping it alive for the foreseeable future. And thank you FJC! 2 Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.