tnt23: (amiga)
[personal profile] tnt23
Итак, Roland D-20. Осциллоскопирование показало, что на флоп пишутся данные в виде импульсов длительностью около 2мкс и периодом следования, тоже кратным 2мкс. Параллельно флопу был подключен эмулятор - от синтезатора брались только сигналы выборки дисковода и собственно поток бит на запись. Таким образом удалось получить слепок данных, посылаемых синтезатором в дисковод при форматировании дорожки.



На картинке невооруженным глазом можно видеть области, примерно напоминающие секторные структуры с заголовками идентификатора сектора и собственно области данных. Также отчетливо заметна последовательность (11 11 11...), предположительно символизирующая начало дорожки.

Колупание и так и эдак области ID address mark ничего напоминающего описание стандартных форматов дорожки IBM или ISO для гибких магнитных дисков не дало. Тогда из синтезатора был извлечен и считан 27C512 с прошивкой. Так как сервисный мануал не делал тайны из принципиальной схемы, то полученной информации хватило для отыскания кода, ответственного за форматирование дорожки.

ROM:6DE3             ; =============== S U B R O U T I N E =======================================
ROM:6DE3
ROM:6DE3             ; possibly track format code
ROM:6DE3
ROM:6DE3             _sub_6DE3:                              
ROM:6DE3                                                     
ROM:6DE3 C5                          push    bc
ROM:6DE4 D9                          exx
ROM:6DE5 0E E0                       ld      c, 0E0h 
ROM:6DE7 21 DB 98                    ld      hl, byte_98DB
ROM:6DEA D9                          exx
ROM:6DEB
ROM:6DEB 16 AA                       ld      d, 0AAh
ROM:6DED CD F0 71                    call    _set_bits_and_send_d
ROM:6DF0
ROM:6DF0 16 AA                       ld      d, 0AAh
ROM:6DF2 06 30                       ld      b, 48
ROM:6DF4 CD 2B 72                    call    while_b_send_d
ROM:6DF7
ROM:6DF7 06 0C                       ld      b, 12           ; sectors?
ROM:6DF9
ROM:6DF9             loc_6DF9:                               
ROM:6DF9 C5                          push    bc
ROM:6DFA 21 36 6E                    ld      hl, _data_pattern
ROM:6DFD 06 08                       ld      b, 8
ROM:6DFF CD 21 72                    call    _while_b_send_from_hl
ROM:6E02
ROM:6E02 21 19 97                    ld      hl, _word_9719  ; track no?
ROM:6E05 06 02                       ld      b, 2
ROM:6E07 CD 21 72                    call    _while_b_send_from_hl
ROM:6E0A
ROM:6E0A D9                          exx
ROM:6E0B 06 02                       ld      b, 2
ROM:6E0D CD 21 72                    call    _while_b_send_from_hl
ROM:6E10
ROM:6E10 D9                          exx
ROM:6E11 21 3E 6E                    ld      hl, _data_6E3E
ROM:6E14 06 13                       ld      b, 19
ROM:6E16 CD 21 72                    call    _while_b_send_from_hl
ROM:6E19
ROM:6E19 06 AA                       ld      b, 0AAh
ROM:6E1B 11 9E 01                    ld      de, 414
ROM:6E1E CD 35 72                    call    _while_de_send_b
ROM:6E21
ROM:6E21 06 0D                       ld      b, 13
ROM:6E23 CD 21 72                    call    _while_b_send_from_hl
ROM:6E26 D9                          exx
ROM:6E27
ROM:6E27 43                          ld      b, e
ROM:6E28 16 AA                       ld      d, 0AAh
ROM:6E2A CD 2B 72                    call    while_b_send_d
ROM:6E2D
ROM:6E2D D9                          exx
ROM:6E2E C1                          pop     bc
ROM:6E2F 10 C8                       djnz    loc_6DF9
ROM:6E31
ROM:6E31 CD 0A 72                    call    _clear_bits_3_0
ROM:6E34 C1                          pop     bc
ROM:6E35 C9                          ret
ROM:6E35             ; End of function _sub_6DE3
ROM:6E35
ROM:6E35             ; ---------------------------------------------------------------------------
ROM:6E36 BF          _data_pattern:  db 0BFh
ROM:6E37 FF                          db 0FFh
ROM:6E38 FF                          db 0FFh
ROM:6E39 FF                          db 0FFh
ROM:6E3A FF                          db 0FFh
ROM:6E3B FF                          db 0FFh
ROM:6E3C FE                          db 0FEh 
ROM:6E3D AB                          db 0ABh 
ROM:6E3E DD          _data_6E3E:     db 0DDh      
ROM:6E3F AA                          db 0AAh 
ROM:6E40 AA                          db 0AAh 
ROM:6E41 AA                          db 0AAh 
ROM:6E42 AA                          db 0AAh 
ROM:6E43 AA                          db 0AAh 
ROM:6E44 AA                          db 0AAh 
ROM:6E45 AA                          db 0AAh 
ROM:6E46 AA                          db 0AAh 
ROM:6E47 AA                          db 0AAh 
ROM:6E48 AA                          db 0AAh 
ROM:6E49 BF                          db 0BFh 
ROM:6E4A FF                          db 0FFh
ROM:6E4B FF                          db 0FFh
ROM:6E4C FF                          db 0FFh
ROM:6E4D FF                          db 0FFh
ROM:6E4E FF                          db 0FFh
ROM:6E4F FE                          db 0FEh 
ROM:6E50 ED                          db 0EDh 
ROM:6E51 AD                          db 0ADh 
ROM:6E52 EE                          db 0EEh 
ROM:6E53 F5                          db 0F5h 
ROM:6E54 DD                          db 0DDh 
ROM:6E55 DD                          db 0DDh 
ROM:6E56 DD                          db 0DDh 
ROM:6E57 DD                          db 0DDh 
ROM:6E58 DD                          db 0DDh 
ROM:6E59 DD                          db 0DDh 
ROM:6E5A DD                          db 0DDh 
ROM:6E5B DD                          db 0DDh 
ROM:6E5C DD                          db 0DDh 
ROM:6E5D DD                          db 0DDh 




(продолжение следоваит)
This account has disabled anonymous posting.
If you don't have an account you can create one now.
HTML doesn't work in the subject.
More info about formatting

Profile

tnt23: (Default)
tnt23

May 2019

S M T W T F S
   1234
567891011
121314151617 18
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Apr. 4th, 2026 05:38 pm
Powered by Dreamwidth Studios