Документация про дисковод Gotek на Орион-128, пишем на флэшку

Как использовать флэшки в качестве НГМД, работа в CP/M-80 и в DS DOS

Продаю платы и наборы микросхем, куплю микросхемы Заказать запчасти на ПК Орион-128

11/12/2021, наконец методом "научного тыка" разобрались с Готеком.

Прошивка "Готека", как прошивать "Готек", установка энкодера и LED индикатора

 Инверсия дисковода Gotek в Орионе  Эмулятор дисковода Gotek в Орионе

Распиновка разьемов 34 пин на дисководах

Готек прекрасно влился в Орион-128 и Орион Про, без него работа была бы кошмарной. Все хранится на флэшке. Одних дисководов 3,5 и 5,25 для работы с дисками недостаточно!!

Для комфортной работы 2ва устройства (либо 2 готека, либо готек + любой дисковод)

Готек купленый на Али, требует перепрошивки и некоторых модификаций. У одного и того же продавца с разницей год пришли разные готеки (разные платы и чипы)

И так приступаем, но поясняю, документация не проверенная взятая с инета:

Обновление прошивки

Звук дисководов на Готеке

Hardware Mods

Interface Mode

General Notes

Error Messages

 

Обновление прошивки:

Если вы предварительно запрограммировали полную прошивку, вы можете делать будущие обновления через USB-накопитель.

 Когда вам будет предложено нажать обе кнопки, нажмите Prev и Next. В качестве альтернативы вы можете нажать «Выбрать» или «Вращающийся кодер», если они у вас есть.

  • Удалите все старые файлы * .upd из корня USB-накопителя.
  • Скопируйте файл * .upd из корня архива выпуска в корень USB-накопителя.
  • Вставьте USB-накопитель в Gotek и включите его при нажатии обеих кнопок.
  • Теперь вы должны быть в загрузчике («UPD»). Отпустите обе кнопки.
  • Последняя прошивка будет запрограммирована, и Gotek перезагрузится.
  • Успех!

На светодиодном дисплее отображаются ошибки во время обновления:

  • E01 Файл с исправлением не найден
  • E02 Найдено несколько файлов обновлений
  • Недопустимый файл обновления E03 (плохая подпись или размер)
  • Файл обновления E04 поврежден (плохой CRC)
  • E05 Ошибка программирования Flash
  • Ошибка Fxx FatFS (возможно, плохой USB-накопитель или файловая система)

Обновление загрузчика

Основной загрузчик также может быть обновлен USB-накопителем. Обратите внимание, что для успешной операции важно, иначе Gotek потребует полного повторения . Поэтому убедитесь, что у Gotek есть стабильный источник питания и известный USB-накопитель.

Новые функции и исправления редко встречаются. В общем случае вам не нужно обновлять загрузчик и пропустить эти шаги.

Повторяю: не следуйте этим шагам, если вы не уверены в том, что делаете.

Когда вам будет предложено нажать обе кнопки, нажмите Prev и Next. В качестве альтернативы вы можете нажать «Выбрать» или «Вращающийся кодер», если они у вас есть.

  • Запрограммируйте «Reloader»
    • Удалите все старые файлы * .upd и * .rld с USB-накопителя.
    • Скопируйте содержимое перегружателя / папки выпуска в корень USB-накопителя.
    • Вставьте USB-накопитель в Gotek и включите его при помощи обеих кнопок.
    • Теперь вы должны быть в загрузчике («UPD»). Отпустите обе кнопки.
    • «Перегрузчик» будет запрограммирован, и Gotek перезагрузится.
  • Запрограммируйте последний загрузчик
    • Теперь вы должны быть в перезагрузке («RLD»). Нажмите и отпустите обе кнопки.
    • Будет запрограммирован последний загрузчик. Затем Gotek перезагрузится.
  • Запрограммируйте последнюю главную прошивку
    • Вы снова находитесь в перезагрузке. Выключение.
    • Удалите файлы * .upd и * .rld с USB-накопителя.
    • Скопируйте файл * .upd из корня архива выпуска на USB-накопитель.
    • Вставьте USB-накопитель в Gotek и включите его при помощи обеих кнопок.
    • Теперь вы должны быть в загрузчике («UPD»). Отпустите обе кнопки.
    • Последняя прошивка будет запрограммирована, и Gotek перезагрузится.
  • Успех!

Помимо этого: что делают эти шаги

Некоторые люди путаются с приведенной выше последовательностью шагов, и это может помочь дать им ментальную модель того, что происходит. Во-первых, убедитесь, что флэш-память содержит две программы: загрузчик и главную прошивку . Единственная цель Bootloader - разрешить обновление основной прошивки. Конечно, основная прошивка запускает эмуляцию флоппи-дисковода и не знает, как обновлять что-либо. Фокус в обновлении загрузчика заключается в замене основной прошивки на альтернативную программу ( Reloader ), единственной целью которой является обновление загрузчика.

Основная последовательность шагов по обновлению загрузчика:

  • Старый загрузчик перезаписывает старую основную прошивку с помощью Reloader
  • Reloader перезаписывает старый загрузчик с новым загрузчиком
  • Новый загрузчик перезаписывает перезагрузку с помощью новой главной прошивки

*********************

Звук дисководов на Готеке

Звук в Готеке подключаем пищалку, имитация звуков дисковода в Орионе

Звук в Готеке подключаем пищалку, имитация звука дисковода в Орионе, все видно из схемы, транзистор кт3102, резистор 1ком.

Но у меня пищалка подключена напрямую. Кроме того в файле конфигурации FF.CFG на флэшке можно менять громкость звука.

И так о самом готеке, информация на английском, кто захочет переведет

Hardware Mods

 

Hardware Mods · keirf/FlashFloppy Wiki · GitHub   последние доработки https://github.com/keirf/FlashFloppy/wiki/Hardware-Mods

Board Layout

Most modifications simply involve plugging new hardware add-ons into pin headers on the Gotek PCB. The PCB layout is summarised below. We will refer to this diagram for each hardware mod.

Готек плата и конфигурация

Speaker

A speaker can be attached to the Gotek to sound whenever the drive heads move. The simplest method is to connect a piezo sounder directly to the JB header pins.

Готек плата и конфигурация

There is also a step-by-step video describing this mod:

Готек плата и конфигурация

If you want to connect a magnetic speaker instead, you must buffer via an NPN transistor. If you don't know what this means just be sure to use a piezo sounder, easily found on Ebay, and connect it directly as shown above.

Eject/Select Button

FlashFloppy supports a third button in addition to the basic up/down controls. This should be a standard momentary microswitch, connected to the header pins JA.

The button's effect depends on the current state of operation:

  • When an image is loaded, the button will immediately eject it
  • When selecting an image, the button will immediately confirm the currently-selected image

LCD Display

As an alternative to the Gotek 7-segment display, FlashFloppy supports the ubiquitous 1602 LCD with I2C backpack board. These are available from many Ebay sellers.

You can locate the required connections on your Gotek PCB as below. These connect to the corresponding header pins on your LCD I2C backpack module.

Готек плата и конфигурация

The SCL and SDA lines must be connected to VCC ("pulled up" to VCC) via 4.7k resistors. Note that many I2C boards have the pullup resistors on board and in this case you do not need to attach your own external pullups. You can confirm this by checking the resistance between SDA/SCL and VCC. If it is less than 10k you do not need to add pullups.

If you do require the pullup resistors, these can be soldered to the backside of the Gotek PCB between VCC and each of SDA and SCL. Alternatively the resistors can be soldered to the back of the I2C module header.

Готек плата и конфигурация

OLED Display

Another alternative to the Gotek 7-segment display is a 0.91" 128x32 display, as sold for Arduino projects by many Ebay sellers. You will require a display with I2C interface: you should see it has a 4-pin header marked GND, VCC, SCL, SDA.

Готек плата и конфигурация

These displays can simply connect to the 7-segment display's header, reusing the existing jumper wires.

Готек плата и конфигурация

Rotary Encoder

As an alternative to using the up/down buttons you can instead connect a rotary encoder. The pictures below show how to connect it, either directly or via a PCB module (eg KY040).

When connecting via a PCB module, you may need to connect to 3.3v if the board has pull-up resistors mounted.

Готек плата и конфигурация

If connecting directly note that by convention GND is always the middle pin in the row of three. If there is a further row of two pins then these are connected to an internal push switch: you can wire these pins to jumper JA to use the switch as an eject/select button.  Ссылка https://github.com/keirf/FlashFloppy/wiki/Hardware-Mods#ejectselect-button

Готек плата и конфигурация

Rotating the dial should now have the same effect as pushing the buttons: anti-clockwise for down, and clockwise for up.

Troubleshooting:

  • Directional controls are inverted: swap the A and B (aka CLK, DT) wires.
  • Four clicks are required to move a single step: specify rotary=gray in FF.CFG
  • PCB modules only: Both directions move up (or down):
    • Connect + to 3.3V (marked in picture above); or
    • Remove pull-up resistors from the back of the PCB; or
    • Remove the encoder from the PCB and solder wires directly.

!!!!!!!!!!!                 Troubleshooting:

  • SFRC922AT3: This PCB is missing the CLK/DT header. Instead the CLK/DT wires can be connected to pins PA13 (SWDIO) and PA14 (SWCLK) on the programming port. Ссылка https://raw.githubusercontent.com/wiki/keirf/FlashFloppy/assets/pheader.jpg
  • SFRKC30.AT2,AT3,AT4: These models have an alternative header for connecting the rotary encoder. See below. Ссылка https://github.com/keirf/FlashFloppy/wiki/Hardware-Mods#kc30-rotary-header
  • Directional controls are inverted: swap the A and B (aka CLK, DT) wires.
  • Four clicks are required to move a single step: specify rotary=gray in FF.CFG - ссылка https://github.com/keirf/FlashFloppy/wiki/FF.CFG-Configuration-File
  • PCB modules only: Both directions move up (or down):
    • Connect + to 3.3V (marked in picture above); or
    • Remove pull-up resistors from the back of the PCB; or
    • Remove the encoder from the PCB and solder wires directly.

Enhanced Gotek

Gotek clone designers can choose to add various enhancements to the standard Gotek, all supported by the FlashFloppy firmware. Note that these instructions are intended for PCB designers and cannot be retrofitted to a standard Gotek without fine soldering skills. Regular Gotek users should therefore skip this section.

Summary

  • PC12-15: Board Identifier
  • PA3: Second Drive Select
  • PA15: Motor-On Signal
  • PA4-5: USB Power Switch

Board Identifier

Pins PC12-15 are used to identify an enhanced Gotek. On a standard Gotek board these pins are disconnected and floating. On an enhanced Gotek they should all be connected to VSS (GND).

On an enhanced Gotek PC12-15 are selectively connected to VSS (GND). The four inputs PC[15:12] form a four-bit board identifier:

  • 0000: Enhanced Gotek, no SD card connector
  • 0001: Enhanced Gotek, with SD card connector
  • 1111: Standard Gotek (no enhancements)

Second Drive Select

FlashFloppy may in future emulate two drives in a single Gotek. To support this pin PA3 may be connected to a second drive-select line and pulled up by 1K to VCC (5v). If second-drive select is not supported then the pull-up is still required, to avoid PA3 floating.

Motor-On Signal

FlashFloppy may in future use the motor-on signal to improve emulation accuracy. To support this pin PA15 may be connected to the motor-on line (eg floppy pin 16) and pulled up by 1K to VCC (5v). If the motor-on signal is not supported then the pull-up is still required, to avoid PA15 floating.

USB Power Switch

A power switch with active-low enable and open-drain fault output may be connected as follows:

  • PA4: active-low enable (output to USB power switch)
  • PA5: open-drain active-low fault signal (input from USB power switch)

These connections are optional and either pin may instead be left disconnected and floating (the STM32 will pull them to a defined level).

A suitable power switch is STMicroelectronics STMPS2141.

SD Card Connector (от прошивки v.015)

An SD card connector may be connected as follows:

  • PB12: SPI_CS (Chip Select)
  • PB13: SPI_CK (Clock)
  • PB14: SPI_MISO
  • PB15: SPI_MOSI
  • PC9: Card Detect

Card Detect should float when a card is inserted, and be driven low when no card is present. For simplest connection, this will require a card-detection switch which is open when a card is inserted, and closed when ejected. A switch with the opposite sense will require extra circuitry (eg. pull-up resistor and an open-drain MOSFET to invert the switch signal).

*******************

Interface Mode

By default FlashFloppy will emulate the Shugart floppy interface. This is compatible with a broad range of systems including Amiga, Atari ST, Amstrad CPC, and many other devices. Shugart-compatible systems will typically expect the Gotek to respond as 'unit 0'. Therefore place the selection jumper at location S0 at the rear of the Gotek.

IBM PC compatibles use a slightly modified interface which places the disk-changed signal on a different pin. To select this interface mode place a jumper at location JC at the rear of the Gotek. The host system may expect the Gotek to respond as 'unit 1': in this case place the selection jumper at location S1 at the rear of the Gotek.

An alternative method to specify the interface mode (Shugart or PC) is via the FF.CFG file, described below.

FF.CFG Configuration File

FlashFloppy has many configurable settings which can be specified in an INI-style configuration file called FF.CFG, placed in the root folder or FF/ subfolder of your USB drive. An example is provided in the examples/ subfolder of the FlashFloppy distribution.

Defaults

Out of the box, FlashFloppy loads the default values described in the Options list, below. When these are modified by values in FF.CFG they are recorded into the Gotek's Flash memory and become the new default values when the drive is next powered on.

If you wish to return to 'factory defaults', press the Prev and Next buttons (or Select, or the rotary encoder, if you have them) for three seconds with no USB stick inserted. The display will show "RST" or "Reset Flash Configuration", and FlashFloppy will return to factory defaults when the buttons are released.

Options

Default values are marked by asterisk.

Drive Emulation:

·         interface = shugart | ibmpc | ibmpc-hdout | akai-s950 | amiga | jc*

    • Pin assignments of the floppy-drive interface
    • shugart: Shugart interface (Amiga, Atari ST, many others)
    • ibmpc: IBM PC interface, no connection on pin 2
    • ibmpc-hdout: IBM PC, high-density-select output (Gotek->host) on pin 2
      • Do not select this option unless explicitly required for your system!
      • It is not required for IBM PC compatibles. Use ibmpc instead.
    • akai-s950: Akai S950
    • amiga: Drive ID hack on pin 34. Use shugart instead when possible.
      • See Amiga-specific for advice on this setting.
    • jc: Specified by jumper JC (closed = IBM PC, open = Shugart)

·         host = unspecified* | acorn | akai | ...

    • Host platform: Improves image-format detection for generic types such as IMG and DSK
    • acorn: Acorn ADFS
    • akai: Akai synths (S01, S20, S950)
    • dec: DEC (RX33, RX50)
    • ensoniq: Ensoniq synths (ASR/TS series, and others)
    • fluke: Fluke (9100)
    • gem: General Music (S2, S3, S2R)
    • kaypro: Kaypro
    • memotech: Memotech
    • msx: MSX
    • nascom: Nascom (1, 2)
    • 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: Detection based on image-name suffix only

·         pin02 = auto* | nc | low | high | rdy | nrdy | dens | ndens | chg | nchg

    • Manually assign an output signal (Gotek->host) to floppy interface pin 2
    • auto: Automatically determined from interface = setting
    • nc: Unused / No Connection
    • lowhigh: Constant low (0v) or high (5v) voltage
    • rdynrdy: Drive ready, or logical complement
    • densndens: Density mode (HD = 0v), or logical complement
    • chgnchg: Disk changed, or logical complement

·         pin34 = auto* | nc | low | high | rdy | nrdy | dens | ndens | chg | nchg

    • Manually assign an output signal (Gotek->host) to floppy interface pin 34

·         write-protect = yes | no*

    • Are images write protected when initially mounted?
      • Protection can be toggled by holding eject for 2 seconds
    • yes: Forcibly write-protect images
    • no: Respect the FAT read-only attribute

·         side-select-glitch-filter = 0-255 (0*)

    • Filter glitches in the SIDE-select signal shorter than N microseconds
    • Useful on some old hardware (eg. CP/M systems)

·         track-change = instant* | realtime

    • Rotational offset of data after a track change
    • instant: No rotation during track change
    • realtime: Emulate rotation of disk while track is changing

·         index-suppression = yes* | no

    • Are index pulses suppressed when RDATA and WDATA inactive?
    • Older systems may depend on constant index pulses (eg. BBC Micro)

·         head-settle-ms = 0-255 (12*)

    • Milliseconds from head-step start to RDATA active

Startup & Initialisation:

·         ejected-on-startup = yes | no*

    • Disk image loaded or ejected at power on

·         image-on-startup = last* | static | init

    • Which image (or folder) is selected at startup
    • last: Last-selected item at power off (recorded in IMAGE_A.CFG)
    • static: Static pathname specified in IMAGE_A.CFG
    • init: First item in root folder

·         display-probe-ms = 0-65535 (2000*)

    • Time in milliseconds to attempt to probe an attached display
    • If you have a 2-digit LED display, or no display: Set to 0 for faster startup

Image Navigation:

·         autoselect-file-secs = 0-255 (2*)

    • Auto-select the current file/slot after N seconds
    • N=0: disable auto-select

·         autoselect-folder-secs = 0-255 (2*)

    • Auto-select the current folder after N seconds
    • N=0: disable auto-select

·         nav-mode = native | indexed | default*

    • Navigation mode for selecting images or slots
    • native: Navigate through all valid images and folders
    • indexed: Navigate through DSKA0000, DSKA0001, ...
    • default: As native unless overridden by HxC-compat-mode config

·         nav-loop = yes* | no

    • When navigating slots or a folder, loop at start/end of the list

·         twobutton-action = zero* | eject | rotary | rotary-fast | reverse

    • Actions of first two buttons
    • Multiple values can be specified, separated by commas (eg. rotary,reverse)
    • zero: 1: Prev, 2: Next, Both: Slot 0
    • eject: 1: Prev, 2: Next, Both: Eject/Insert
    • rotary: 1: Up-dir, 2: Select/Eject/Insert, Both: -
    • rotary-fast: 1: Prev (accelerated), 2: Next (accelerated), Both: Up-dir
    • reverse: Reverse operation of the buttons (useful if installed upside down)

·         rotary = none | quarter | half | full* | reverse

    • Type of rotary encoder connected to pins PC10 and PC11
    • Multiple values can be specified, separated by commas (eg. half,reverse)
    • none: No rotary encoder is connected
    • quarterhalffull: Fraction of a Gray-code cycle performed per detent/click
      • Select half if default value (full) requires 2 clicks per move
      • Select quarter if default value (full) requires 4 clicks per move
    • reverse: Reverse direction of the knob (useful if wired backwards!)

Display:

·         display-type = auto* | lcd-NNx02 | oled[-128xNN][-rotate][-narrow][-sh1106]

    • auto: Auto-detect (7-seg LED, LCD, OLED)
    • lcd-NNx02: NNx2 backlit LCD with I2C backpack (16 <= NN <= 40)
    • oled-128xNN: 128xNN I2C OLED (NN = 32 | 64)
      • -rotate: OLED view is rotated 180 degrees
      • -narrow: OLED view is restricted to Gotek display cutout
      • -sh1106: SH1106 controller (default is SSD1306)

·         oled-font = 6x13* | 8x16

    • Select 6px- or 8px-wide OLED display font
    • 6x13 font permits:
      • More characters per row
      • Use of Gotek display cutout (with display-type=oled-128x32-narrow)

·         oled-contrast = 0-255 (143*)

    • OLED contrast/brightness

·         display-off-secs = 0-255 (60*)

    • Turn LCD/OLED display off after N seconds of inactivity
    • N=0: always off
    • N=255: always on

·         display-on-activity = yes* | no

    • Automatically switch LCD/OLED display on when there is drive activity

·         display-scroll-rate = 100-65535 (200*)

    • LCD/OLED long filename scroll rate (ms per update)
    • Larger value means slower scroll

·         display-scroll-pause = 0-65535 (2000*)

    • LCD/OLED long filename scroll start/end pause (ms)
    • N=0: Endless looping scroll

·         nav-scroll-rate = 0-65535 (80*)

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

·         nav-scroll-pause = 0-65535 (300*)

    • LCD/OLED long filename pause before scroll starts during navigation (ms)

Miscellaneous:

·         step-volume = 0-20 (10*)

    • Speaker volume (connected at jumper JB) when drive heads are moved

·         da-report-version = quoted-string

    • Report the specified version number to host software
    • Empty string ("") means report the firmware version number
    • For example: da-report-version = "v3.0.0.0"

·         extend-image = yes* | no

    • Automatically extend a truncated image file at mount/insert time
      • Applies to SSD, DSD, TRD images only

 **************************

General Notes

Most systems require Shugart interface (the default) and select line 0 (jumper on S0). Such systems will work out of the box with a factory-fresh Gotek programmed with FlashFloppy firmware, requiring only a physical jumper at the rear to be moved from S1 to S0.

If this does not work then also try the following:

  • Jumper at S1 only
  • Jumpers at JC and S0
  • Jumpers at JC and S1
If the system still does not work and the Gotek green LED is permanently lit then you may need to try connecting the ribbon cable 'upside down'.

This gives a total of eight possible jumper/ribbon configurations to try, and there are further instructions for certain specific systems listed below.

A final note: In most cases FlashFloppy requires a straight floppy cable with no 'twist' between the connectors. If you do use a twisted cable, you should jumper MO instead of S0. The exception is the one case that the twist was designed for: connecting FlashFloppy as Drive B to a PC-compatible floppy header.

Acorn Archimedes

Some later models, A5000 onward, use index pulses to determine whether a disk is inserted in the drive. If you are seeing spurious "drive empty" messages then add the following to FF.CFG:

index-suppression = no

To use ADFS D/E/F sector images, which usually have suffix ADF, you must explicitly configure the host type in FF.CFG as Amiga sector images share the same suffix:

host = acorn

Some ADF images may not be exactly the correct size (usually 800kB or 1.6MB) and thus not be detected as valid by FlashFloppy. These can be modified to the exact correct size using the ddutility on Mac or Linux. For example, for an 800kB image:

# dd if=/dev/zero of=fixed.adf bs=5120 count=160

# dd if=bad.adf of=fixed.adf bs=5120 count=160 conv=notrunc

Acorn BBC Micro

BBC Micro systems using the original single-density 8271 controller require regular index pulses to avoid disk-not-ready errors (described here  ссылка http://www.sprow.co.uk/bbc/floppydrives.htm). These errors are reported on the video screen as Drive fault 10 at xx/xx.

This issue is solved by specifying the following FF.CFG option:

index-suppression = no

Akai Synthesisers

Akai systems require explicit configuration in FF.CFG to recognise IMG files correctly:

host = akai

The correct jumper selection is usually S0, with the following interface selections in FF.CFG, depending on model:

interface = ibmpc-hdout # S3000

interface = akai-s950   # S950, S2800

interface = shugart     # SO1

Akai S1100 sends a signal to the floppy drive on pin 2, hence this pin must be configured nc:

pin02 = nc              # S1100

pin34 = rdy             # S1100

Amstrad CPC

FlashFloppy works with a wide range of CPC DSK images, however compatibility is not perfect with copy-protected images. If you have an original image which does not work, this is often due to 'GAPS protection' where extra data is stored in the gaps between sectors. These images can sometimes be fixed to work with FlashFloppy by running a script included in the FlashFloppy distribution, for example:

# python scripts/edsk_fix_gaps.py crazy_cars.dsk crazy_cars_fixed.dsk

Physical Connection of a Standard Gotek

See here (ссылка http://www.cpcwiki.eu/index.php/DIY:Floppy_Drives) for guidance on connecting the CPC's 26-pin cable to the Gotek 34-pin header. Also note that the CPC's power cable has +5v and +12v reversed: you must use an adapter or otherwise somehow insert the power connector backwards. If you do not, you will damage your Gotek and destroy any USB stick that you insert!

Note that Gotek clones designed specifically for CPC (or Spectrum +3) will use the data and power connectors as-is, and the above should be ignored.

Amstrad PCW

PCW uses a non-standard 26-pin header as described here (CPCWiki)  (ссылка http://www.cpcwiki.eu/forum/amstrad-cpc-hardware/gotek-(flashfloppy)-wiring-for-a-pcw9512), requiring an adapter to connect to the Gotek 34-pin header. Please note that this is NOT the same as the CPC 26-pin header, and if you use a CPC-compatible adapter or cable you may damage your Gotek or your PCW!

Fixing Boot-Time Hangs

Later versions of LocoScript and CP/M require Drive A to correctly respond to the Motor signal (Gotek pin 16), by deasserting Ready (Gotek pin 34) when the motor is off. Unfortunately the Gotek usually ignores Motor, and the PCW will hang during boot waiting for the drive to respond correctly. This page (ссылка https://fabriziodivittorio.blogspot.com/2018/05/installazione-gotek-su-amstrad-pcw-9512.html) (in Italian, so use Google Translate) explains how to modify the Gotek to fix this problem. Section 8.3 of this document (ссылка https://www.seasip.info/Unix/Joyce/hardware.pdf) gives more technical information on the floppy-drive probe logic which causes this issue.

Atari ST

No special configuration is required. Interface is Shugart (the default) and drive-select jumper should typically be at position S0.

Commodore Amiga

Internal Drive (DF0)

To replace an existing Amiga internal drive usually requires a jumper on S0 only. One exception are Escom A1200 boards, which are modded to use PC drives: if you have one of these then you require a jumper on JC (or interface = ibmpc in FF.CFG). For improved compatibility you can undo the Escom mod as described by RetroGameModz. (ссылка https://www.youtube.com/watch?v=G6fYOjTYvXM)

External Drive (DF1-DF3)

Replacing an external drive depends on the enclosure or cable being used. Amiga external drive enclosures usually include the circuitry to allow the Amiga to identify the presence of the drive. In this case the Gotek with S0 jumper is usually a straight swap for the old floppy drive. If using a passive cable such as this Ebay item  (ссылка https://www.ebay.co.uk/itm/272363110859) then be aware that this identification circuitry is missing, but for arcane reasons identification will typically happen to work as long as the Gotek has an image mounted when the Amiga boots. If you are having problems with your drive being identified, see Forcing Drive  (ссылка https://github.com/keirf/FlashFloppy/wiki/Host-Platforms#forcing-drive-identification) Identification below.

High-Density Disks

Amiga Kickstart versions 2.05 and later support high-density disks with 1760kB formatted capacity. This enhancement required a customised (and nowadays expensive!) HD drive modified to rotate at half speed and emit a special ID sequence to the Amiga when an HD disk is inserted.

FlashFloppy supports this enhancement for 1760kB ADF images, but the high-density ID sequence must be explicitly enabled in FF.CFG.  (ссылка  https://github.com/keirf/FlashFloppy/wiki/Host-Platforms#forcing-drive-identification)

If using an Amiga external drive enclosure, please bear in mind that the enclosure's interface board usually emits a fixed double-density ID sequence which will make HD images unreadable. In this case you must disconnect the enclosure's ID circuitry on its interface PCB:

  • Cut the PCB connection to external connector, pin 1.
  • Connect a jumper wire between internal connector pin 34 and external connector, pin 1.

Forcing Drive Identification

Amiga hosts expect a drive ID sequence from external and Amiga-high-density drives on pin 34 of the floppy interface when the drive motor is disabled (pin 34 carries the Ready/RDY signal when the drive motor is enabled). In contrast, FlashFloppy's default interface mode (interface = shugart) permanently attaches RDY to pin 34, regardless of motor.

This default behaviour usually works fine:

  • Drive ID signalling is not a strict requirement for DF0
  • External drive enclosures often implement the drive-ID circuitry
  • A mounted disk image asserts RDY which happens to match the Amiga ID sequence for a DD drive anyway
However, there are a couple of cases where this default behaviour may not suffice:

  • Using high-density disk images (1760kB formatted capacity)
  • Using as an external drive with a passive interface cable, if FlashFloppy does not assert RDY during boot (eg. eject-at-power-on, no USB stick, or too slow to initialise)
In these cases FlashFloppy can be forced to emit the drive ID on pin 34 at all times, replacing RDY, by adding interface = amiga to FF.CFG.

When HD images are not being used, and when FlashFloppy is being used as DF0 or without problems as DF1-DF3, then it is best to use the default interface type (interface = shugart) as this gives more accurate behaviour on pin 34 in normal use while the drive motor is enabled. Exact emulation of pin 34 behaviour is not possible on unmodified Gotek hardware as the motor signal is not connected to Gotek's microcontroller. More accurate support, for modified or enhanced Gotek setups, may be implemented in future.

DEC

DEC systems require host = dec in FF.CFG for correct IMG layout detection. The RX33 and RX50 formats are supported.

Dragon

No special configuration is required in order to use Dragon VDK disk images.

If you wish to use DSK images for Tandy Coco, with appropriate ROM and disk controller, then you will need host = tandy-coco in FF.CFG.

E-mu ESI-32

Requires jumpers at S0 and JC. Works with 1.44MB (HD) IMG files.

Ensoniq

Ensoniq systems use custom 800kB and 1600kB disk formats which are supported as IMG files if the host-type is configured in FF.CFG:

host = ensoniq

The common EDE/EDA/EDS/EDT/EDV image formats are not directly supported by FlashFloppy. These can be converted to HFE or IMG format using HxC software. Notes:

  • host = ensoniq is required in FF.CFG for IMG-format support
  • IMG format is not supported for Mirage or SQ-80 (ie. 880kB) formats
  • IMG format is especially preferred for 1600kB HD disks
Some Ensoniq series (notably the ASR and TS series) require an IBM-PC interface with density-select output. These require a jumper on S0 only, and the following additional line in FF.CFG:

interface = ibmpc-hdout

Ensoniq EPS series typically requires a jumper on S0 only, and the following additional lines in FF.CFG:

interface = shugart

pin02 = auto

However there is one isolated user report of pin 2 being inverted, so if there are disk-change problems then you might try changing the second line to pin02 = nchg. Revert back to auto if this doesn't help.

General Music (GEM) Synthesisers

GEM systems using the 1.6MB high-density disk format require explicit configuration in FF.CFG to recognise IMG files correctly:

host = gem

IBM PC

IBM PC compatibles have a non-Shugart interface which must be explicitly configured in FlashFloppy:

  • IBM-PC interface mode must be configured
    • Strap jumper JC at the rear of the Gotek; or
    • Specify via FF.CFG: interface = ibmpc
  • Strap select-line jumper S1 at the rear of the Gotek
    • S0, S2, MO should all be left open
Please note that some IBM PC clones, although software compatible, use the Shugart interface for their floppy drives. These typically require a jumper at S0 only. Known models this affects include:

  • Amstrad PPC512, PPC640

Korg

Korg synths require host = akai in FF.CFG for correct IMG layout detection.

Memotech

Memotech systems require the following options in FF.CFG:

host = memotech         # auto-detect IMG layout

index-suppression = no  # SDX/FDX require regular index pulses

MSX

MSX systems require host = msx in FF.CFG for correct IMG layout detection.

NEC PC-98

PC-98 FDI and HDM disk images are supported directly. For raw IMG files (rare), host = pc98 needs to be set in FF.CFG.

For most machines the default Shugart interface is correct (jumper only at position S0 at rear of Gotek). Internal pinout varies between PC-98 machines but many use a 26-pin laptop floppy drive connector. Appropriate adapters can be sourced from eBay or wired directly as follows:

(26-pin) -> (34-pin + power)

1 -> 5V

2 -> 8

4 -> 10

6 -> 2

7 -> 12

8 -> 34

10 -> 16

12 -> 18

14 -> 20

15 -> GND

16 -> 22

18 -> 24

20 -> 26

22 -> 28

24 -> 30

26 -> 32

Roland

Roland synths typically work out of the box with no special configuration required in FF.CFG.

Sequential Circuits Prophet 3000

Requires host = akai in FF.CFG for correct IMG layout detection.

Spectrum

FlashFloppy boasts 100% compatibility with the TOSEC collection of DSK images, however some are missing 'weak sector' information and must be fixed up before use. If you find a game title fails to boot then you can fix the image in two ways.

  1. Using Simon Owen's SAMdisk  (ссылка http://simonowen.com/samdisk)
# SAMdisk robocop.dsk robocop_fixed.dsk --fix

  1. Using the Python script included in the FlashFloppy distribution
# python scripts/edsk_fix_speedlock.py robocop.dsk robocop_fixed.dsk

Spectrum +3: Physical Connection of a Standard Gotek

See here   (ссылка http://www.cpcwiki.eu/index.php/DIY:Floppy_Drives)  for guidance on connecting the Spectrum +3's 26-pin cable to the Gotek 34-pin header. Also note that the +3's power cable has +5v and +12v reversed: you must use an adapter or otherwise somehow insert the power connector backwards. If you do not, you will damage your Gotek and destroy any USB stick that you insert!

Note that Gotek clones designed specifically for CPC and Spectrum +3 will use the data and power connectors as-is, and the above should be ignored.

Tandy Color Computer

Requires host = tandy-coco in FF.CFG to indentify DSK images as JVC format.

TI-99/4A

Requires host = ti99 in FF.CFG to identify DSK images as V9T9 format.

UKNC, DVK

These Soviet PDP-11 clones have a modified IBM track format which must be explicitly configured via host = uknc in FF.CFG.

 ****************************

Error Messages

When an unrecoverable error occurs a message will be displayed on the LED, LCD, or OLED screen.

F-F / FlashFloppy vx.y

This is not explicitly an error code or condition, but the default display if a valid USB stick is not inserted. Make sure your USB stick is properly inserted, legacy partitioned (MBR rather than GPT) and FAT32 formatted.

Fnn / *FAT*nn* / *FATFS* nn

A 2-digit error code defined by the FatFS library.

In HxC Compatibility mode this probably means you have stale slot assignments in HXCSDFE.CFG. You should copy a fresh version of HXCSDFE.CFG to your USB stick and reassign slots using the Autoboot file selector.

In other cases this error usually indicates bad physical media or a bad filesystem. Try formatting or replacing your USB drive.

Enn / *ERR*nn* / *ERROR* nn

A 2-digit error code defined by the FlashFloppy firmware:

  • 30 Disk Full: Some writes were lost. Delete some files or use a larger USB drive.
  • 31 Bad Image File: The selected image is invalid or unsupported.
  • 32 Bad HXCSDFE.CFG: The config file is invalid or unsupported. Copy a fresh version to the USB drive.
  • 33 Bad IMAGE_A.CFG: The last-image file has become corrupted. Delete it from the USB drive and it will be automatically recreated.
  • 34 No entries to navigate:
    • Direct Navigation mode found no valid directories or image files to display. Add some valid image files to the USB drive. Subfolders are accessible only when using an LCD/OLED display.
    • Indexed mode found no valid DSKA*.* image names. Add some valid image files to the USB drive.
  • 35 Path too deep: Folders are nested too deeply to navigate.
RIB / Ribbon Cable May Be Upside Down?

Floppy ribbon cable is inserted upside down. Power off and re-insert the ribbon connector the other way up.

More rarely, this can occur when the Gotek is powered separately from, and earlier than, the host machine. In this case the error will clear automatically when the host machine is powered on. It is recommended to avoid powering on the Gotek after the host machine.

USB / USB Power Fault

Over-current condition on the USB port. The port is powered down until a button is pressed.

 ******************************

   

Документация про "Готек" предоставленная Владимиром из  Сергиева Посада

Подключение "Готека"

Купить платы, наборы микросхем на Орион-128 серии 555, кр1533, м533, м531, м530 в дипе, КР565РУ5В, КР565ру7В, к565ру5г AU, к565ру7г Au в позолоте, куплю микросхемы

Полезные и интересные статьи

На предыдущую страницу  На главную страницу  На следующую страницу