Marius Posted January 2, 2014 Share Posted January 2, 2014 Hi, On this page: http://www.atarimax.com/freenet/freenet_material/5.8-BitComputersSupportArea/7.TechnicalResourceCenter/showarticle.php?68 I read I need to use the Command #$4E ... but I'm not sure that is supported by a stock 1050. What I'm also curious about is: when I would use command #$4E, where are these 12 bytes control-data located? In the in the IOCB block specified buffer? Thanks P. Quote Link to comment Share on other sites More sharing options...
Marius Posted January 2, 2014 Author Share Posted January 2, 2014 Oh wait, I read that command #$53 will return 4 bytes, in which bit 7 of byte #$00 is used to determine enhanced (medium) density or not. But, that leaves my other question: where are these 4 bytes stored? In the specified buffer? Thanks P. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 2, 2014 Share Posted January 2, 2014 Stock 1050 doesn't support extra commands like GET PERCOM BLOCK. Only the basic SIO commands Get/Write/Put/Format (2 types)/Status and Diag (thread elsewhere, I played about with that years ago). For Status command, IIRC the 4 bytes are returned in the buffer address you specified. When doing disk operations direct thru the OS you can either use the disk handler ($E453) or SIO directly ($E459). The resident disk handler helps you out to an extent in that it sets some of the control block variables that you otherwise need to set yourself if calling SIO direct. If you want to send commands not supported by OS/standard peripherals then using SIOV is the way to do it. You have to setup more stuff in the DCB though like the flags to tell whether it's an input or output command, buffer length and unit number. The OS manual should cover what you need to know there. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 2, 2014 Share Posted January 2, 2014 But, that leaves my other question: where are these 4 bytes stored? In the specified buffer? The four bytes returned by SIO status are stored at DVSTAT ($2EA-2ED). AFAIK, status always returns the four bytes at DVSTAT regardless of the buffer address stored in DBUFLO/HI (this is certainly the case with SIO drivers I've dealt with). However, you should set DBYTLO/HI to $0004 prior to the call. Quote Link to comment Share on other sites More sharing options...
Marius Posted January 2, 2014 Author Share Posted January 2, 2014 Thanks for all information rybags and fjc! I tried it, and setting DCOMND and DUNIT and a JSR to DSKINV was enough to get the status I needed in $02EA. I am now wondering: what will the 1050 do with commans that it does not recognize (like that Percom block related command ). Does it ignore it, or will it lead to unforeseen problems? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 2, 2014 Share Posted January 2, 2014 Standard practice would be to return NAK (Not Acknowledged - $8B) in Y and DSTATS ($303) for an unrecognized command. Quote Link to comment Share on other sites More sharing options...
Rybags Posted January 2, 2014 Share Posted January 2, 2014 Illegal commands will simply return an error 139 dec. No problems, AFAIK there is no nasty bug or anything you can do in software that will cause a 1050 to have problems. Other than the diag command where you can move the head by half-tracks. 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.