📂 Документ: orion128-gotek01_clean.html


 

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

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

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. В качестве альтернативы вы можете нажать «Выбрать» или «Вращающийся кодер», если они у вас есть.

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

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

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

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

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

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

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

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

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:

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

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

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:

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:

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:

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*

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

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

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

·         write-protect = yes | no*

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

·         track-change = instant* | realtime

·         index-suppression = yes* | no

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

Startup & Initialisation:

·         ejected-on-startup = yes | no*

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

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

Image Navigation:

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

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

·         nav-mode = native | indexed | default*

·         nav-loop = yes* | no

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

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

Display:

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

·         oled-font = 6x13* | 8x16

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

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

·         display-on-activity = yes* | no

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

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

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

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

Miscellaneous:

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

·         da-report-version = quoted-string

·         extend-image = yes* | no

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

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:

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_clean.html). 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:

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:

However, there are a couple of cases where this default behaviour may not suffice:

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:

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:

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:

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:

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.

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

   

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

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

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

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