Re: S/F motor off
> I've written a text about it and attached to this mail, Great! > Greetz, > jon > > ps. the new IDE interface is almost finished Great! > pps. I'll continue my work on Compass 2.0 (I will do my best to have a > beta ready at Bussum fair) Great! ~Grauw -- >< email me: [EMAIL PROTECTED] or ICQ: 10196372 visit the Datax homepage at http://datax.cjb.net/ MSX fair Bussum / MSX Marathon homepage: http://msxfair.cjb.net/ >< MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
Hi all, when cleaning up my email, I came across the following: Maarten ter Huurne wrote: > > At 01:20 AM 07/25/99 +0200, you wrote: > > >] By the way, do you know a way to find the DiskROM slot ID for a drive under > >] DOS2? Under DOS1 you can use the #FB21 table, but I doubt that will work > >] under DOS2, which supports re-arragning drive letters, gaps in drive > >] letters (A,B,H) etc. > > > >I think that the FB21 table is the only viable method. Though, it will > indeed > >only give a mapping of the physical drive to the interface. Not of the > >logical drive to the interface. Stupid DOS2... > > Anyone knows of a mapping from logical drive to physical drive? > > Bye, > Maarten > I've written a text about it and attached to this mail, Greetz, jon ps. the new IDE interface is almost finished pps. I'll continue my work on Compass 2.0 (I will do my best to have a beta ready at Bussum fair) File: DRIVENUM.TXT - 22/08/1999 Subject: Informative text about drivenumbers in the MSX system By: [EMAIL PROTECTED] / Compjoetania TNG There are 3 different kinds of 'driveletters' or 'drivenumbers': 1. the local drivenumber 2. the physical drivenumber 3. the logical drivenumber Storage media are connected to the MSX by means of a diskinterface in a system slot. The software in such an interface is called a 'diskrom'. There can be a maximum of 4 diskinterfaces connected to one MSX. Each diskinterface can be used to control more than one drive. Example 1: in most MSX2 models there is already an internal diskrom present to control two floppydrives. Example 2: the partitions on a harddisk are treated as separate drives connected to one (hard)diskinterface The drives connected to each diskinterface are identified with their 'local drivenumber'. This is a number counting from 0 without any 'gaps'. If there are 5 drives connected to a diskinterface, their local drivenumbers *must* be 0, 1, 2, 3 and 4. When using the standard diskrom routines like DISKIO (#4010), the local drivenumber is passed in the A register. When the MSX computer is turned on, all diskinterfaces install themselves into the system. There is an 8-byte table at address #FB21: #FB21: number of drives connected to the 1st interface #FB22: slotcode of the 1st interface #FB23: number of drives connected to the 2nd interface #FB24: slotcode of the 2nd interface #FB25: number of drives connected to the 3rd interface #FB26: slotcode of the 3rd interface #FB27: number of drives connected to the 4th interface #FB28: slotcode of the 4th interface Each drive is given a physical drivenumber starting from the first interface. Example: if there are 3 drives connected to the first interface and two drives connected to the second and none to the other interfaces, then the situation is as follows: local drive 0 on the 1st interface = physical drive 1 local drive 1 on the 1st interface = physical drive 2 local drive 2 on the 1st interface = physical drive 3 local drive 0 on the 2nd interface = physical drive 4 local drive 1 on the 2nd interface = physical drive 5 The number of physical drives is limited to 8. (When a diskrom installs itself, it should check that no more than 8 physical drives are created.) Driveletters (e.g. A: B: ...) used in programs represent *always* logical drivenumbers. (There is one exception, see below) A: =always logical drive 1 B: =always logical drive 2 C: =always logical drive 3 ... H: =always logical drive 8 In DOS1 environment there is no difference between the logical and the physical drivenumber. So logical drive 1 corresponds with physical drive 1, etc. (Also in the case of 1 floppydrive with logical drives A: and B:, there are two physical drives 1 and 2.) In native DOS2 environment there can be difference between the logical and the physical drivenumber. This is achieved by using the command ASSIGN or by the DOS function call #6A. With ASSIGN you can remap a logical drive to another physical drive. Example: ASSIGN C: A: This will redirect all access to logical drive C: to the first physical drive. Note that in this case 'A:' represent the first *physical* drive. This is the only exception, in all other cases 'X:' represent a logical drive. When you want to access a drive directly, this is by using the standard diskromroutines like DISKIO (#4010), you need two things: the slotcode of the diskrom the drive is connected to and the local drivenumber of the drive you want to access. The following code can be used to do this: ;input: (drive) contains logical drivenumber (A:=1 B:=2 ...) ;output: (drive) contains physical drivenumber (A:=1 B:=2 ...) ;No Carry=diskrom found ;(local) contains local drivenumber on the interface ;(slot) contains slotcode of corresponding diskrom ;Carry=error diskrom not found LD C,#6F ;get DOS kernel version CALL BDOS LD A,B CP 2 JR C,DOS1 ;in DOS1 physical=log
Re: S/F motor off
At 01:20 AM 07/25/99 +0200, you wrote: >] By the way, do you know a way to find the DiskROM slot ID for a drive under >] DOS2? Under DOS1 you can use the #FB21 table, but I doubt that will work >] under DOS2, which supports re-arragning drive letters, gaps in drive >] letters (A,B,H) etc. > >I think that the FB21 table is the only viable method. Though, it will indeed >only give a mapping of the physical drive to the interface. Not of the >logical drive to the interface. Stupid DOS2... Anyone knows of a mapping from logical drive to physical drive? Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
] By the way, do you know a way to find the DiskROM slot ID for a drive under ] DOS2? Under DOS1 you can use the #FB21 table, but I doubt that will work ] under DOS2, which supports re-arragning drive letters, gaps in drive ] letters (A,B,H) etc. I think that the FB21 table is the only viable method. Though, it will indeed only give a mapping of the physical drive to the interface. Not of the logical drive to the interface. Stupid DOS2... Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
Maarten, > >] #401F: Stop drive served by this DiskROM. > Does it stop _all_ drives server by that DiskROM or does it take some kind > of parameter? I disassembled many DiskROMs I have, and all of them disables ALL drives served by that DiskROM. No parameter is required. So, I concluded that I can't stop a given drive by myself, right? I mean, if I started spinning drives A, B and C and I want to stop only drive B, I can't do it by calling diskROM, right? The only way is using direct access, right? Adriano Camargo Rodrigues da Cunha ([EMAIL PROTECTED]) Engenharia de Computacao - UNICAMP http://www.adrpage.cjb.net MSX-TR:I have one.And you? * Computers can never replace human stupidity. * MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
> An old, but effective trick is the following: > LD B, 255 > Loop: CALL$FD9F > DJNZLoop Better put CALL 0FD9Fh between a PUSH BC/POP BC pair. I had problems without this, 'cause FD9Fh destroys register B contents. Adriano Camargo Rodrigues da Cunha ([EMAIL PROTECTED]) Engenharia de Computacao - UNICAMP http://www.adrpage.cjb.net MSX-TR:I have one.And you? * The only thing worse than X Windows: (X Windows) - X * MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: Target: slowflop F700 (was Re: S/F motor off)
> Calling 256 times #FD9F still sounds a bit "tricky-wicky" to me. Moreover, > the F700 patch turns #FD9F intro a simple RET, leaving the motor spinning > forever. Calling FD9F 256 times is one thing: compatible. And you can use the other way of 'patching' the F700 which was suggested; disable the VDP interrupts while loading from or saving to disk. I remember some clubs could build other DiskROMs in Sony-computers... A lot of people have 'patched' their computer that way... Then the drive will be fast for ALL programs, not only the F700-patched programs (I don't think I will add a 'F700-patch' to my game either). ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
Roberto Pinna wrote: >Indeed... if you use B or BC you should push it, but what if you don't?? >(grin!) > >As far as I know $FD9F (H.TIMI), 'corrupts' not only BC, but as far as I >know all registers, except IX, IY, and the shadow registers. If you >really need them afterwards.. push everything on the stack. It's not a question of using B afterwards, B is the loop counter! MkII wrote: >Killing interrupts or RETing #FD9F (at least someone who also uses # >instead of h!) causes spinning-forever drive motor 8:( I suggested killing interrupts during disk loading, not full-time. And about RETting #FD9F, it's very easy to solve: simply copy the 5 bytes of the hook entry to some memory location and then call that 256 times after you're done loading. But #401F is a nicer way, although it's more difficult. A warning in advance: DOS2's disk change feature won't function well if the interrupt routine is not called. Usually, it counts the time after a disk access. Since it is physically impossible to swap a disk in less than about a second, it's safe to assume the disk isn't changed if the last access is more recent. But if you stop calling #FD9F, time will be "frozen" for DOS2 and it won't detect disk changes at all. Ofcourse, for ESE-RAM this is not a problem, but for floppy it is. To solve it, invalidate the DOS2 disk buffers (sector cache) using the BDOS call for that purpose. >Also, I'm planning to play background music while loading, so I need >standard interrupts enabled. Good luck! Playing music while loading is very difficult... The reason: almost all DiskROMs turn off the interrupt for long periods during loading. So unless you're willing to write custom FDC drivers (and mail them to the UZIX team ;), you'll have to cope with long intervals between interrupts. You could make special music that still sounds nice when played while loading. NOP played some kind of "music" while loading in Unknown Reality. And for Almost Real we had a part planned where MSX-AUDIO ADPCM samples were played while loading, using NOP's SampBox format. This "required" 256K of sample RAM: the 32K version was very boring. This part didn't make it into the released version, because it took too much disk space, required non-standard hardware (256K sample RAM) and it needed debugging. >>That's because the SONY DiskROM has a different "algorithm" for the drive >>LED: it only turns on when that drive is selected. This is not connected to >>the slowdown. > >I see. The light is unlit after loading but the motor is still spinning. The motor does stop spinning automatically (by hardware), but not at the same time as the LED goes out. >Yeah. Now I'd like to know the actual causes of the slowdown. What does the >interrupt do in a F700 to slow it down 400%?!?!?!?!? Just an idea: maybe it's only a bit too slow. If it is called inbetween sectors and doesn't return in time, the next sector will have passed the head and the DiskROM will have to wait nearly a full rotation. If this is true, an interleaved-formatted disk would be about equally fast on a F700 and on for example a 8250. Or maybe the F700 DiskROM turns on interrupts more frequently than other models? You could measure this by installing a counter on #FD9F or #FD9A and see how much counts it gets while loading a fixed amount of data on a F700 and on a 8250 (take the average over a few runs). Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
At 10:35 PM 7/11/99 +0200, you wrote: >] #401F: Stop drive served by this DiskROM. >] I'm not sure whether this stops a specific drive or all drives connected >] to >] the called DiskROM. On the 8250, it stops all drives. On some machines, >] where the motors stops automatically, #401F is simply a "RET". >It only stops the drives served by the diskrom. I prefer to use this >function. Yes, but what I don't know is: Does it stop _all_ drives server by that DiskROM or does it take some kind of parameter? It could be that the 8250 DiskROM does more than it should do. I have no documentation for this call, what I know is from disassembling. One document even describes #401F as "nothing (RET)". This was probably someone disassembling as well, but on a Sony instead of a Philips. >] #4029: Stop all drives. >] Be careful using this, it may stop drives you don't want to stop. See >] other mail. >This function does not work properly on the MSX turbo R under DOS2. The DOS2 >of the MSX turbo R contains a small bug in the call to the CPU switching >routine. So, please don't use this function at all. Thanks for the warning. By the way, do you know a way to find the DiskROM slot ID for a drive under DOS2? Under DOS1 you can use the #FB21 table, but I doubt that will work under DOS2, which supports re-arragning drive letters, gaps in drive letters (A,B,H) etc. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
RE: S/F motor off
> >This method worked perfectly on the Philips MSX computers. The Turbo-R > >on the other hand doesn't need such a routine, since the spindle motor > >is switched off automatically after a certain time. > How? Does it have dedicated hardware? I don't know, but I do know the Sony F700 works the same. The drive always stops, as it is not controlled by counting down through fd9f. How it IS controlled, I don't know...Maybe a simple one-shot, triggered by drive-access? If it is a Philips, you could POKE the counter to 1 so it will take only 1 interrupt to stop. But this would not be 100% compatible I guess. Greetz, Patrick MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Target: slowflop F700 (was Re: S/F motor off)
>] Generally, calling #FD9F 256 times works very well. >] >] If for some reason you want to stop drives directly, use these DiskROM >] routines: >] >] #401F: Stop drive served by this DiskROM. >] I'm not sure whether this stops a specific drive or all drives connected to >] the called DiskROM. On the 8250, it stops all drives. On some machines, >] where the motors stops automatically, #401F is simply a "RET". >It only stops the drives served by the diskrom. I prefer to use this function. I'll try this one. Thanks you all for the info. Calling 256 times #FD9F still sounds a bit "tricky-wicky" to me. Moreover, the F700 patch turns #FD9F intro a simple RET, leaving the motor spinning forever. Does the F700 slowdown apply only at file level or also at sector level? Is it usual on the "F700 world" to have installed that speedup patch? Or F700 users are just that patient!!!??? Mk2 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
>> Gee... as long as YOU PUSH BC INTO THE STACK BEFORE CALLING #FD9F!!! >> >> Hard to believe perhaps, but #FD9F trashes B in my NMS 8250 + ESE-RAM. > >Jeez, you don't have to shout I guess the corrupted B register jammed the CAPS flag.!.2!?@#! 8:? >Indeed... if you use B or BC you should push it, but what if you don't?? >(grin!) [DEAD BLACK SCREEN] Grin indeed. >About your next message (about the Turbo-R). I cannot find the schematic >right now (I have it. somewhere), but it has indeed some hardware to >turn off the motor. Eventually building such a circuit is quite easy. >If no data is read/written within a certain time, just change the state >of the line which controls the spindle motor. Just interesting. I want one. Kisses. Mk2 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
] At 05:13 AM 7/10/99 +0200, you wrote: ] ] >What's the best system-friendly way to stop floppy disk (or whatever ] >spinning device) motor before taking over system? ] ] Generally, calling #FD9F 256 times works very well. ] ] If for some reason you want to stop drives directly, use these DiskROM ] routines: ] ] #401F: Stop drive served by this DiskROM. ] I'm not sure whether this stops a specific drive or all drives connected to ] the called DiskROM. On the 8250, it stops all drives. On some machines, ] where the motors stops automatically, #401F is simply a "RET". It only stops the drives served by the diskrom. I prefer to use this function. ] ] #4029: Stop all drives. ] Be careful using this, it may stop drives you don't want to stop. See other ] mail. This function does not work properly on the MSX turbo R under DOS2. The DOS2 of the MSX turbo R contains a small bug in the call to the CPU switching routine. So, please don't use this function at all. Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
] As far as I know $FD9F (H.TIMI), 'corrupts' not only BC, but as far as I ] know all registers, except IX, IY, and the shadow registers. If you ] really need them afterwards.. push everything on the stack. Since FD9F is a hook, which can point to any kind of routine, it can change all registers. Even IX, IY and the shadow registers. When you call FD9F to stop the drive, you can be sure that all registers WILL be destroyed. Because you are sure that it contains an interslotcall instruction to the diskrom. The interslotcall routine uses IX, IY and the shadowregisters as working registers during the slotswitch. And the normal registers will be used by the routine that you called... Kind regards, Alex Wulms -- Alex Wulms/XelaSoft - MSX of anders NIX - Linux 4 ever See my homepage for info on the *** XSA *** format http://www.inter.nl.net/users/A.P.Wulms MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
> Gee... as long as YOU PUSH BC INTO THE STACK BEFORE CALLING #FD9F!!! > > Hard to believe perhaps, but #FD9F trashes B in my NMS 8250 + ESE-RAM. Jeez, you don't have to shout Indeed... if you use B or BC you should push it, but what if you don't?? (grin!) As far as I know $FD9F (H.TIMI), 'corrupts' not only BC, but as far as I know all registers, except IX, IY, and the shadow registers. If you really need them afterwards.. push everything on the stack. About your next message (about the Turbo-R). I cannot find the schematic right now (I have it. somewhere), but it has indeed some hardware to turn off the motor. Eventually building such a circuit is quite easy. If no data is read/written within a certain time, just change the state of the line which controls the spindle motor. GreeTz, Roberto MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
>This method worked perfectly on the Philips MSX computers. The Turbo-R >on the other hand doesn't need such a routine, since the spindle motor >is switched off automatically after a certain time. How? Does it have dedicated hardware? MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
>> well.. >> >> LD B, 255 >> Loop: CALL$FD9F >> DJNZLoop >> >> does the trick, Gee... as long as YOU PUSH BC INTO THE STACK BEFORE CALLING #FD9F!!! Hard to believe perhaps, but #FD9F trashes B in my NMS 8250 + ESE-RAM. Mk2 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
At 05:13 AM 7/10/99 +0200, you wrote: >What's the best system-friendly way to stop floppy disk (or whatever >spinning device) motor before taking over system? Generally, calling #FD9F 256 times works very well. If for some reason you want to stop drives directly, use these DiskROM routines: #401F: Stop drive served by this DiskROM. I'm not sure whether this stops a specific drive or all drives connected to the called DiskROM. On the 8250, it stops all drives. On some machines, where the motors stops automatically, #401F is simply a "RET". #4029: Stop all drives. Be careful using this, it may stop drives you don't want to stop. See other mail. You might wonder: How do you know which drive corresponds to which DiskROM? There is a table for that: at #FB21 there are 4 entries of 2 bytes each. The first byte is the number of drives connected to a DiskROM, the second byte is the slot ID of the DiskROM. The DiskROMs are ordered in the same order as the drive letters. On DOS1 anyway, I don't know how DOS2's "ASSIGN" is implemented. >Bearing in mind that data may have been loaded from another device (HD, >ZIP, CD-ROM, RAMDISK...) which may or may not need to stop its motor when >not in use for a long time. The safest is to check the Drive Parameter Block before stopping a drive's motor. Floppy media ID is #F8 or #F9 (others as well, but those are not used on MSX), HD is #F0. >Once more, Lady System Killer strikes back. I bet the Beatles would have called you Lady System Destroyer... ;) >A dishwasher has no BDOS nor GUI &'s also a home appliance 8;9 Not yet... Using Back Orifice 2010, hackers will be able to remotely turn on and off your dishwasher. Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
At 07:27 AM 7/10/99 -0400, you wrote: >xor a >ld ($f1c1),a This will turn off the floppy drive on a standard system, but I'm not sure it will work on any system. The address #F1C1 is in a data structure that doesn't have a fixed address, although it seems to be assigned the same address on many machines. I once wrote a routine to turn off any drive. It ended up stopping the motor of Henrik Gilvad's hard disk. The problem is that the interface didn't turn the motor back on so it crashed. Only after a reboot everything worked again. The strange thing is that I actually tested the routine on Yobi's harddisk, which didn't stop. But the interfaces were probably different, Yobi had a BERT and Henrik probably a Novaxis. >Every time a disk-operation is done, the address $f1c1 is filled with >255 because of the fact if it's not done, and e.g. the end of a file >is not reached, the drive keeps spinning, so when there is read again >the drive doesn't have to search the right sector again.. When this >address is 0 the disk-drive light is turned off when the next interrupt >occurs.. I thought "0" means that the drive was already turned off and "1" means it will be turned off next interrupt (when the counter reaches zero). Bye, Maarten MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
> well.. > > LD B, 255 > Loop: CALL$FD9F > DJNZLoop > > does the trick, Perfect. You don't need speed that much after loading from disk so this little delay to stop the drive doesn't matter. > but this is much faster: > > xor a > ld ($f1c1),a No!!! I know that it works, but the adress is not fixed!!! That means that in a future update of Dos this adress might change, resulting in all programs using this trick corrupting data it shouldn't. So please... don't. ~Grauw MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
[EMAIL PROTECTED] wrote: > > heya... > > well.. > > LD B, 255 > Loop: CALL$FD9F > DJNZLoop > > does the trick, but this is much faster: > > xor a > ld ($f1c1),a Ooooh no!!! that will only work if the internal floppydrive is the only diskrom present in your system. In that case the area from #F1C1..#F1C8 is used for it. With other (harddisk)interfaces in the system, this area is located somewhere else. In that case writing to #F1C1 can cause nothing but trouble! Therefore the best method is to call the fd9f hook 255 times. Works for all configurations. > mzl. > d-fader^TwZ > > Yep, I still have a lot to learn!..> indeed ;) Greetz, jon MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
heya... well.. LD B, 255 Loop: CALL$FD9F DJNZLoop does the trick, but this is much faster: xor a ld ($f1c1),a It's like this.. Every time a disk-operation is done, the address $f1c1 is filled with 255 because of the fact if it's not done, and e.g. the end of a file is not reached, the drive keeps spinning, so when there is read again the drive doesn't have to search the right sector again.. When this address is 0 the disk-drive light is turned off when the next interrupt occurs.. mzl. d-fader^TwZ --- Get free personalized email at http://www.iname.com MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
Re: S/F motor off
> What's the best system-friendly way to stop floppy disk (or whatever > spinning device) motor before taking over system? Hello, An old, but effective trick is the following: LD B, 255 Loop: CALL$FD9F DJNZLoop This method worked perfectly on the Philips MSX computers. The Turbo-R on the other hand doesn't need such a routine, since the spindle motor is switched off automatically after a certain time. GreeTz, Roberto MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
S/F motor off
Talking about flashing drive LEDs... What's the best system-friendly way to stop floppy disk (or whatever spinning device) motor before taking over system? Bearing in mind that data may have been loaded from another device (HD, ZIP, CD-ROM, RAMDISK...) which may or may not need to stop its motor when not in use for a long time. Once more, Lady System Killer strikes back. A dishwasher has no BDOS nor GUI &'s also a home appliance 8;9 Kisses. Mk2 MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)