Replies: 1 comment 1 reply
-
Two problems. First the drive select jumper at gotek rear connects physically to one mcu pin. So a new board would be required that connects the floppy-header select pins to distinct mcu pins. Second the concept of multiple logical drives is a big change to flashfloppy core and a burden on the UI. Not insurmountable though perhaps. Also the drive select logic has to be fast as hosts can expect response to drive select changes within a microsecond. This is tight timing for a low end mcu. Adding extra drive select lines makes the timing harder. |
Beta Was this translation helpful? Give feedback.
1 reply
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I have an idea, but do not know how to see if it can be implemented, so I will start by explaining the difference between standard Shugart and standard IBM floppy cables to make my goal clear.
In computers that use the standard Shugart pin configuration pins 10, 12, 14, and 32 are drive selects while pin 16 is for all motors on all drives. However IBM and compatibles chose to slightly less compatible to the original Shugart standard. IBM's put a twist in the cable that swaps pins 10 thru 16 for pins 16 thru 10. By doing so this makes pin 10 *drive select 0" of the one drive is pin 16 "motor select" of the other and pin 12 "drive select 1" is pin 14 "drive select 2" of the other drive. Therefore all drives in a PC are set to "drive 1", and drive pin 10 "drive 0 select" and "drive 2 select" are never connected to a drive as the twist in the cable reorders the motor and drive select lines. This in turn leaves pins unconnected in one drive but connected in the other. The PC must then use a different select activate the floppy motor differently for both drives.That being said this was a way to prevent motors on both drives from being active.
However, the original Shugart standard allowed for 4 single sided floppies to connect to a single controller and we have only talked about "drive 0 select", "drive 1 select", and "drive 2 select". The first floppy drives used by basically every computer system with floppies during that time used Shugart floppy drives. IBM used standard Shugart floppies, but the drive can not see that the cable has a twist and function without alteration as long as both are set to be drive 1. Later when double-sided floppy drives were created the standard reassigned the pin 32 "drive 3 select" as the "side select" also known as the "head select". IBM computers followed this new standard of using pin 32 as a "side select". However, since some computer systems could used this pin either way, as either a drive select for 4 "single-sided" drives, or as a side select or systems with as many as three "double-sided" drives. (Note: On non IBM compatibles all 4 drives connected to one cable. IBM compatibles were limited to 2 drives no matter if single-sided or double-sided were in use, unless they were connected to a second ribbon cable.)
Some computer systems used both sides of a double-sided floppy as a single logical drive (as well as a single physical drive). However not all computers did this, some instead used each side of a "double-sided" floppy as different logical drive even though they are a single physical drive. This saved time in programing because all that needed to be changed was how the drives were selected. Often this was simple because it was software variables that made this change and therefore not even hardware needed to be modified or changed to implement the use of double-sided drives. That being said, I am unsure if the newer or older version of the Goteks can see and interpret the side select as well as multiple drive selects. My idea and subsequent quest is this. Can FlashFloppy be used to make the Gotek be used as two logical drives by using the side select to the drive in use. If so can is be set as drive 0, 1 or 2, with the side select making single drive into say drive 0a and 0b, or drive 1a or 1b or dive 2a and 2b?
The numbering system I used was intended to be generic. In my computer, which is a Tandy Color Computer 3 I have had three 5.25 double-sided drives all in a single housing. The power supply and case were all custom builds, however the drives were not, they were three generic floppies, they were set as drives 0, 1, and 2. However since the computer saw them as 6 logical drives, drive 0 was seen as drive 0 and 1, Drive 1 was seen as drive 2 and 3, and the final drive was seen as drive 4 and 5. Recently I rebuilding a recently acquired Color Computer 3 and was also able to acquire a 1.2Meg 5.25 inch floppy and a 1.44Meg 3.5 inch floppy, I want to add a Gotek with FlashFloppy. I would love be able to use all three so I can take all my old floppies and copy them to the Gotek. Since I can still get Floppies I also want to store everything on to newer floppies before they disappear all together. Besides I want the system as complete as possible with all working hardware. Can we make a Gotek do sides, and do so as an option to do 2 logical drives. If so I suggest the following also as an option if the Gotek can do this. Add the rotary encoder, use it to scan up and down through the DSK/JVC or other formatted disk images. Use the two buttons on the front panel to select the two logical drives, and display on the LCD / LED which logical drive is being displayed on the screen.
I do not know anything about the MPUs used in the Goteks, I do not know if there are enough input into the MPU so the Gotek can implement these functions. If they can, that would be nice. I configuration file on the Gotek could also allow ALL drive selects 0, 1 2, 3 and "motor" select to be connected, and the configuration would tell the Gotek what their function is. For example are pin2 10 thru 16 used for motor selects or drive selects. No twists needed for a retro PC if a cable with a twist can not be found, just reprogram the Gotek. Also a drive can be single or double-sided and the Gotek can still simulate two drives, which can be needed for some software.
Does anyone have further ideas about this? Please contribute. Also to the developer, I would love to have move information, is there anything I could help with? Not knowledgeable on the processor used in the Gotek. I do know something about the Color Computer, but am no expert.
Beta Was this translation helpful? Give feedback.
All reactions