Posted By
Litwr on 2007-11-13 02:55:19
| Errors in 1551/1541 User Manuals?
1) I can't use full form of DOS commands BUFFER-POINTER, BLOCK-ALLOCATE, ... with Yape true 1551 emulation and plus4emu. Is it error in the manual?
2) The 1551 manual describes '%' command to change drive number. It can't work with Yape and plus4emu. I wrote OPEN15,8,15 PRINT#15,"%" DLOAD"MYFILE",U9 but got error message. BTW the mentioned manual also describes "%R" command to change unit number which also sets number of retries during disk read... Is it possible to change drive number? What purpose of C1551 DOS "%R" command?
Do these commands work at real iron?
And another DOS oddness. There is a BASIC commands sequence DLOAD"PROGRAM",U9 OPEN8,8,8,"MISSSEDFILE,S,R" ?DS$ 00, OK, 00, 00 The MISSEDFILE is absent at the disk so DS$ shows Unit 9 state. IMHO 'U#' addition to BASIC 3.5 DOS commands changes default device for DS$. Is there a simple way to set default device for DS$?
|
|
Posted By
JamesC on 2007-11-13 07:50:28
| Re: Errors in 1551/1541 User Manuals?
a) You haven't closed the channel to the 1551: OPEN 15,8,15 PRINT#15,"%" : REM Toggles between 8 and 9 - use PRINT#15,"%8" or PRINT#15,"%9" to force a specific drive number CLOSE 15 DLOAD"MYFILE",U9
b) DS$ reports the status of the disk drive last accessed. There is no 'default drive' for DS$ -- it is up to the programmer to check the disk status after each disk access.
c) %R sets the number of retries to read a 'bad' sector: OPEN 15,8,15 : PRINT#15,"%R"+CHR$(1) : CLOSE 15 would set the drive to only try twice -- the original attempt plus one retry. Allowable values are 1 to 255 (if you're desperate to recover a damaged disk, maybe 255 retries is acceptable?!).
|
|
Posted By
JamesC on 2007-11-13 07:57:02
| Re: Errors in 1551/1541 User Manuals?
d) For direct access DOS commands, be sure that you are using "drive 0" in the command, not the "unit number" of 8 or 9. Yes, these command should work. Only "M-R" and "M-W" cannot be spelled out in full.
|
|
Posted By
Litwr on 2007-11-14 02:49:17
| Re: Errors in 1551/1541 User Manuals?
Thank you very much for this information! However try to test the DS$ example - it shows some kind of fixation for drive number for DS$....
|
|
Posted By
SVS on 2007-11-14 08:17:56
| Re: Errors in 1551/1541 User Manuals?
I'm quite sure that: a) DLOAD and DS$ always get from device #8; then DLOAD "FILE",u9 cannot work b) Command % does not work without parameter (manual has a mistake) c) Command %R *should* set the sector interleave value (8 for 1551, 10 for 1541)
Waitin' for confirmations...
|
|
Posted By
JamesC on 2007-11-14 20:55:27
| Re: Errors in 1551/1541 User Manuals?
SVS -- a) works for me under YAPE 0.70 as expected. DLOAD"filename",U9 works, and I get a proper DS$.
However I am testing in direct mode, not in program mode. I do not remember a DLOAD from Units other than 8 being a bug.
Maybe you are thinking of dL"* (Shift-Run/Stop) always loading from device 8?
b) I did not test. My manual is the all-grey US/UK 1551 manual.
c) %R is retry -- %S is sector interleave value, per my manual.
|
|
Posted By
Litwr on 2007-11-16 04:06:11
| Re: Errors in 1551/1541 User Manuals?
plz look at my example again
DLOAD"PROGRAM",U9 rem PROGRAM is at diskdrive 9 and successfully loaded - THIS SETS DS$!!!
OPEN8,8,8,"MISSSEDFILE,S,R" rem MISSEDFILE is absent at diskdrive 8 and can't be loaded
?DS$ rem ds$ shows results for the FIRST operation!!!
|
|
Posted By
siz on 2007-11-16 11:29:57
| Re: Errors in 1551/1541 User Manuals?
I think that DS$ is only refreshed after executing dedicated disk commands. Operations on OPENed file channels don't touch DS$.
|
|
Posted By
Litwr on 2007-11-20 00:56:25
| Re: Errors in 1551/1541 User Manuals?
LOAD command doesn't set DS$ for proper diskdrive too.
|
|
Posted By
siz on 2007-11-20 09:13:14
| Re: Errors in 1551/1541 User Manuals?
Yeah, I meant DLOAD, DSAVE, DIRECTORY, SCRATCH, HEADER (and I don't remember if there were more) commands on dedicated disk commands.
|
|
Posted By
Litwr on 2007-11-21 06:53:27
| Re: Errors in 1551/1541 User Manuals?
I think there must be some POKE address which can allow to change DS$ fixation.
|
|
|