keirf / flashfloppy

Floppy drive emulator for Gotek hardware
Other
1.33k stars 193 forks source link

PC Not Recognizing Floppy #923

Closed lechuck333 closed 3 weeks ago

lechuck333 commented 4 weeks ago

I have a Windows 98 PC. I've flashed my Gotek with FlashFloppy, and it appears to have have worked. However, the PC doesn't recognize the drive.

The PC has a Pentium 2 CPU, Voodoo 3 GPU, Sound Blaster Live! sound card, a CF card adapter for a HDD. When I boot the PC, it shows the CF card as Master and the DVD drive as a slave, but it does not show any other devices (Gotek is set to slave). I even tried reversing the ribbon cable in the Gotek (the OLED screen said the cable was reversed, showing that there is a connection here). I set the interface to IBMPC in the config file. Not entirely sure where to go from here.

Any help would be appreciated :)

keirf commented 4 weeks ago

All you should need is a jumper at S1 and a jumper at JC. Place the drive after the twist in the floppy drive cable to make it drive A. No config needed.

lechuck333 commented 4 weeks ago

All you should need is a jumper at S1 and a jumper at JC. Place the drive after the twist in the floppy drive cable to make it drive A. No config needed.

I have those jumpers set. But still the PC doesn't detect the drive.

keirf commented 4 weeks ago

Is floppy drive enabled in bios.

lechuck333 commented 4 weeks ago

Yes, it is enabled.

keirf commented 3 weeks ago

Attach your FF.CFG here. You shouldn't even need one, actually.

S1 + JC should suffice, and then stick 1.44M/720M disk IMG files on your USB drive. Done.

Beyond that, not much help I can give. I would check your cable and also wonder about your floppy interface on the mobo.

keirf commented 3 weeks ago

If you do delete your FF.CFG, then you need to reset any of it that is cached inside your Gotek. To do this, press both buttons while no USB drive is inserted, until the display changes (says 'RST' or 'Reset Flash Config'). A few seconds later your Gotek will reset and be factory fresh.

lechuck333 commented 3 weeks ago

FF.CFG: Example FlashFloppy Configuration File

Place in the root folder or FF/ subfolder of your USB drive.

NOTE: If FF/ exists, IMG.CFG must reside there, not the root folder.

Uncommented lines below are the default settings.

Uncommented options cannot be overridden by settings in other config files.

DRIVE EMULATION

Floppy-drive interface mode (interface pins 2 and 34)

jc: Specified by jumper JC (open: shugart, closed: ibmpc)

shugart: P2=DSKCHG, P34=RDY (Amiga, Atari ST, many others)

ibmpc: P2=unused, P34=DSKCHG (IBM PC interface)

ibmpc-hdout: P2=HD_OUT, P34=DSKCHG (not generally needed: prefer 'ibmpc')

jppc: P2=unused, P34=RDY (Japanese PC standard)

jppc-hdout: P2=HD_OUT, P34=RDY (Japanese PC alternate: prefer 'jppc')

akai-s950: Legacy alias of 'jppc-hdout', previously used for Akai S950

amiga: P2=DSKCHG, P34=DRIVE_ID (not generally needed: prefer 'shugart')

interface = ibmpc

Host platform: Improves image-format detection for generic types such as IMG

acorn: Acorn ADFS

akai: Akai (S01, S20, S950), Korg, SC Prophet 3000

casio: Casio (FZ-1)

dec: DEC (RX33, RX50)

ensoniq: Ensoniq (ASR, TS, etc)

fluke: Fluke 9100

gem: General Music (S2, S3)

ibm-3174: IBM 3174 Establishment Controller

memotech: Memotech

msx: MSX

nascom: Nascom

pc98: NEC PC-98

pc-dos: PC DOS Format (geometry determined from Bios Parameter Block)

tandy-coco: Tandy Color Computer (CoCo)

ti99: TI-99/4A

uknc: UKNC / DVK Soviet PDP-11

unspecified: Common default geometries (including IBM PC)

host = unspecified

Pins 2 & 34 output (drive->host) manual configuration

auto: Auto-configure from interface= setting

nc: Unused/No Connection [eg. if pin is an input (host->drive) on your host]

low: Always 0 volts (0v)

high: Always 5 volts (5v)

rdy: Drive ready (Ready = 0v)

nrdy: Logical complement of above

dens: Density mode (High Density = 0v)

ndens: Logical complement of above

chg: Disk changed (Changed = 0v)

nchg: Logical complement of above

Values: auto, nc, low, high, rdy, nrdy, dens, ndens, chg, nchg

pin02 = auto pin34 = auto

Forcibly write-protect images, or respect the FAT read-only attribute?

Values: yes | no

write-protect = no

Maximum cylinder that can be stepped to (255 is required for access to

Direct Access mode as used by image-selector utilities and Autoswap games).

Values: 0 <= N <= 255

max-cyl = 255

Filter glitches in the SIDE-select signal shorter than N microseconds

Values: 0 <= N <= 255

side-select-glitch-filter = 0

Rotational offset of disk after a track change

instant: No rotation during track change

realtime: Emulate rotation of disk while track is changing

Values: instant | realtime

track-change = instant

Rotational offset of disk after draining a write to Flash

instant: No rotation

realtime: Disk rotates in real time during drain

eot: Disk rotates to (near) end of track

Values: instant | realtime | eot

write-drain = instant

Index pulses suppressed when RDATA and WDATA inactive?

Values: yes | no

index-suppression = yes

Milliseconds from head-step start to RDATA active.

Values: 0 <= N <= 255

head-settle-ms = 12

Milliseconds delay from motor-on to drive ready.

On a standard unmodified Gotek the motor signal is not connected and a

non-default value here will have no effect. Most systems and software do

not care about correct motor behaviour, and default (ignore) works fine.

Values: ignore | 0 <= N <= 1000

motor-delay = ignore

What causes the disk-change (chg) signal to reset after disk insertion?

step: Step command received

pa14: CHGRST (pin 1 on old Sony drives), connected to PA14 (JTCK/SWCLK)

delay-N: Automatically after N*0.5sec (0 <= N <= 15)

chgrst = step

STARTUP / INITIALISATION

Disk image loaded or ejected at startup?

Values: yes | no

ejected-on-startup = yes

Which image (or folder) is selected at startup?

last: Last-selected item at power-off (recorded in IMAGE_A.CFG)

static: Static path specified in INIT_A.CFG

init: First item in root folder

Values: last | static | init

image-on-startup = last

Time in milliseconds to attempt to probe attached display.

You may set this to 0 if you have a 2-digit LED display attached.

Values: 0 <= N <= 65535

display-probe-ms = 3000

IMAGE NAVIGATION

Auto-select the current file after N seconds

N=0: disable auto-select

Values: 0 <= N <= 255

autoselect-file-secs = 0

Auto-select the current folder after N seconds

N=0: disable auto-select

Values: 0 <= N <= 255

autoselect-folder-secs = 0

Sorting of folder entries in native navigation mode.

always: Always sort folder entries. Large folders may be truncated.

never: Never sort folder entries, instead presenting them in FAT order.

small: Only sort folders which are small enough to sort in full.

Values: always | never | small

folder-sort = always

Priority of files vs subfolders when sorting folder entries:

folders: Folders listed before files

files: Files listed before folders

none: Files and folders are not differentiated

Values: folders | files | none

sort-priority = folders

Navigation mode for selecting images/slots

native: Navigate through all valid images/dirs

indexed: Navigate through DSKA0000, DSKA0001, ...

default: native unless overridden by HxC-compat-mode config

nav-mode = default

When navigating slots or folder, loop at min/max?

Values: yes | no

nav-loop = yes

Actions of first two buttons.

B1 | B2 | Both

zero: Prev | Next | Slot 0

eject: Prev | Next | Eject/Insert

htu: +10 | +1 | +100

rotary: Up-dir | Select/Eject/Insert | -

rotary-fast: Prev | Next | Up-dir [Prev/Next are accelerated]

reverse: Reverse sense of B1 and B2

Multiple values can be separated by commas, eg twobutton-action=eject,reverse

twobutton-action = zero

Input sensor type at the rotary-encoder inputs (pins PC10 and PC11):

[full | half | quarter]:

Rotary encoder, identified by fraction of a Gray-code cycle performed

per detent/click. If default value ('full') requires multiple

clicks/detents to move position then change to 'half' (if 2 clicks

per move) or 'quarter' (if 4 clicks).

[trackball]:

Blackberry-style trackball (eg. using Hall-effect sensors).

[buttons]:

Push-to-ground Prev/Next buttons.

[reverse]:

If the input is working in reverse, use this option to swap directions.

[v2]:

Use the rotary encoder logic from FlashFloppy v2.x. Use this if the

v3 logic is too strict and results in no, or missing, movements.

Multiple values can be separated by commas, eg rotary=quarter,reverse

Values: none | quarter | half | full | trackball | buttons | reverse | v2

rotary = full

Prefix for image names in indexed navigation mode. String can be empty ("").

indexed-prefix = "DSKA"

DISPLAY

Display Type.

auto: Auto-detect (7-seg LED, LCD, OLED)

lcd-CCxRR: CCxRR backlit LCD with I2C backpack (16<=CC<=40, 02<=RR<=04)

oled-128xNN: 128xNN I2C OLED (NN = 32 | 64)

-rotate: OLED view is rotated 180 degrees

-hflip: OLED view is flipped horizontally

-narrow[er]: OLED view is restricted to Gotek display cutout

(-narrow: 18 chars; -narrower: 16 chars)

-inverse: Inverse/reverse video (black text on white background)

-ztech: ZHONGJY_TECH 2.23" 128x32 SSD1305 OLED display

-slow: Run I2C bus slower (use this if OLED regularly blanks/corrupts)

Values: auto | lcd-CCxRR | oled-128xNN[-rotate][-narrow[er]]...

display-type = oled-128x64-rotate

OLED Font. Narrow and wide options.

Narrower 6x13 font permits:

- More characters per row

- Use of Gotek display cutout (eg. "display-type=oled-128x32-narrow")

Values: 6x13 | 8x16

oled-font = 6x13

OLED contrast/brightness.

Values: 0 <= N <= 255

oled-contrast = 143

Text height and arrangement on LCD/OLED and on OSD, respectively.

'default', or a comma-separated list (one entry per LCD/OLED row, top down).

Each list item is a digit plus optional height specifier: [d]

content-row: '0-3' = specified content row, '7' = blank

0: Current image name

1: Status

2: Image/Volume info

3: Current subfolder name

height specifier: 'd' = double height (32px, OLED only; ignored for LCD)

'default' depends on display, eg.: oled-128x32='0,1' ; oled-128x64='3,0d,1'

Values: [0-7][d] | default

display-order = default osd-display-order = default

OSD text columns. This is currently respected only when no LCD/OLED is found.

Values: 16 <= N <= 40

osd-columns = 40

Turn an LCD or OLED display off after N seconds of inactivity

N=0: always off; N=255: always on

Values: 0 <= N <= 255

display-off-secs = 20

Switch on LCD/OLED display when there is drive activity?

yes: Trigger on track changes and disk writes

sel: Trigger on drive select

no: No automatic trigger

Values: yes | sel | no

display-on-activity = yes

LCD/OLED long filename scroll rate in milliseconds per update

Values: 100 <= N <= 65535

display-scroll-rate = 200

LCD/OLED pause time at start/end of scroll, in milliseconds

Zero means endless scroll

Values: 0 <= N <= 65535

display-scroll-pause = 2000

LCD/OLED long filename scroll rate during navigation (ms per update)

Values: 0 <= N <= 65535

nav-scroll-rate = 80

LCD/OLED long filename pause before scroll, during navigation (milliseconds)

Values: 0 <= N <= 65535

nav-scroll-pause = 300

MISCELLANEOUS

Speaker volume for head STEP

Values: 0 <= N <= 20

step-volume = 10

Speaker volume for insert, eject, and slot-number notifications.

Slot number is indicated by a sequence of beeps when an image is mounted

iff "slotnr" is specified. The slot number is then notified by a sequence of

long beeps (each counting +5), followed by a sequence of short beeps

(each counting +1).

Values: N[,slotnr] (0 <= N <= 15)

notify-volume = 0

Report the specified version number to host software

Values: ("" means report real version)

eg. da-report-version = "v3.0.0.0"

da-report-version = ""

Automatically extend certain types of truncated image file (SSD,DSD,TRD)?

Values: yes | no

extend-image = yes

lechuck333 commented 3 weeks ago

Also did a factory reset. No difference unfortunately. Unless you see something in the config, I'll have to dig up a new floppy cable.

keirf commented 3 weeks ago

I don't see anything wrong in the config.

keirf commented 3 weeks ago

Closing as not a bug. You can get further tech support advice on forums, Facebook, or Discussions tab here in GitHub.